UNPKG

console-feed-modern

Version:

A React component that displays console logs from the current page, an iframe or transported across a server

33 lines 2.93 kB
import * as React from 'react'; import * as Linkify from 'linkifyjs/react'; function splitMessage(message) { const breakIndex = message.indexOf('\n'); // consider that there can be line without a break if (breakIndex === -1) { return message; } return message.substr(0, breakIndex); } class ErrorPanel extends React.PureComponent { render() { const { log } = this.props; /* This checks for error logTypes and shortens the message in the console by wrapping it a <details /> tag and putting the first line in a <summary /> tag and the other lines follow after that. This creates a nice collapsible error message */ let otherErrorLines; const msgLine = log.data.join(' '); const firstLine = splitMessage(msgLine); const msgArray = msgLine.split('\n'); if (msgArray.length > 1) { otherErrorLines = msgArray.slice(1); } if (!otherErrorLines) { return React.createElement(Linkify, null, log.data.join(' ')); } return (React.createElement("details", null, React.createElement("summary", { style: { outline: 'none', cursor: 'pointer' } }, firstLine), React.createElement(Linkify, null, otherErrorLines.join('\n\r')))); } } export default ErrorPanel; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQ29tcG9uZW50L21lc3NhZ2UtcGFyc2Vycy9FcnJvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFFOUIsT0FBTyxLQUFLLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQTtBQU0xQyxTQUFTLFlBQVksQ0FBQyxPQUFlO0lBQ25DLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEMsa0RBQWtEO0lBQ2xELElBQUksVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sT0FBTyxDQUFBO0tBQ2Y7SUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVcsU0FBUSxLQUFLLENBQUMsYUFBeUI7SUFDdEQsTUFBTTtRQUNKLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzFCOzsyRUFFbUU7UUFDbkUsSUFBSSxlQUFlLENBQUE7UUFDbkIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbEMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixlQUFlLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNwQztRQUVELElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTyxvQkFBQyxPQUFPLFFBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQVcsQ0FBQTtTQUMvQztRQUVELE9BQU8sQ0FDTDtZQUNFLGlDQUFTLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUNuRCxTQUFTLENBQ0Y7WUFDVixvQkFBQyxPQUFPLFFBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBVyxDQUN6QyxDQUNYLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxlQUFlLFVBQVUsQ0FBQSJ9