react-logger-js
Version:
A ReactJS library to log the data.
351 lines (338 loc) • 42.6 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var rxjs = require('rxjs');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
const input = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
function idGenerator(length) {
let result = "";
for (let i = length; i > 0; i -= 1) {
result += input[Math.floor(Math.random() * input.length)];
}
return result;
}
function RenderLogs(data, isChild) {
const arr = Object.keys(data).map((key) => {
if (data[key] && typeof data[key] === "object") {
const id = idGenerator(10);
return (React__default["default"].createElement("div", { key: key, style: {
margin: isChild ? "10px 0px" : "10px 0px 0px 0px",
display: "flex",
flexDirection: "column",
} },
React__default["default"].createElement("div", { style: { color: "#ddddff" } },
React__default["default"].createElement("span", { onClick: () => {
if (document.getElementById(`parent-${id}`).innerText === "▲") {
document.getElementById(`parent-${id}`).innerText = "▼";
document.getElementById(`child-${id}`).style.display =
"block";
}
else {
document.getElementById(`parent-${id}`).innerText = "▲";
document.getElementById(`child-${id}`).style.display = "none";
}
}, style: { cursor: "pointer" } },
React__default["default"].createElement("span", { id: `parent-${id}` }, "\u25B2"),
" ",
React__default["default"].createElement("span", { style: { color: "#817cff" } }, key))),
React__default["default"].createElement("div", { id: `child-${id}`, style: {
display: "none",
margin: "0px 0px 0px 20px",
color: "#eaeaff",
} }, RenderLogs(data[key], true))));
}
else {
return (React__default["default"].createElement("div", { key: key, style: { marginTop: "10px" } }, key !== "logger_flagr" && (React__default["default"].createElement("div", { style: { display: "flex" } },
React__default["default"].createElement("div", { style: { color: "#bdbcff" } },
key,
": "),
React__default["default"].createElement("div", { title: data[key] ? data[key].toString() : "null", style: {
color: "#ddddff",
whiteSpace: "nowrap",
overflow: "hidden",
textOverflow: "ellipsis",
marginLeft: "8px",
cursor: "pointer",
} }, data[key] ? data[key].toString() : "null")))));
}
});
return arr;
}
const logSubject = new rxjs.BehaviorSubject([]);
const logObservable = logSubject.asObservable();
const devSubject = new rxjs.BehaviorSubject([]);
var version = "2.0.0";
const RenderDebuggerPanel = (bottom) => {
const [filter, setFilter] = React.useState({ flagr: "", index: null, log: [] });
const [logger, setLogger] = React.useState(logSubject.getValue());
const [isTree, setIsTree] = React.useState(false);
const inputRef = React.useRef(null);
React.useEffect(() => {
logObservable.subscribe((logs) => {
if (inputRef.current.value === "") {
setLogger(logs);
}
else {
const getLogs = logs.filter((item) => item.logger_flagr.toLowerCase().includes(inputRef.current.value.toLowerCase()));
setLogger(getLogs);
}
});
}, []);
return (React__default["default"].createElement("div", { style: {
position: "fixed",
width: "100%",
height: "75%",
bottom: !bottom ? "-100%" : 0,
left: 0,
backgroundColor: "#081328",
borderTopLeftRadius: "30px",
borderTopRightRadius: "30px",
transition: "bottom 0.3s",
display: "flex",
overflowX: "auto",
zIndex: 9998,
overflowY: "hidden",
} },
React__default["default"].createElement("div", { style: {
width: "40%",
minWidth: "500px",
height: "100%",
borderRight: "2px solid #242D38",
borderTopLeftRadius: "30px",
} },
React__default["default"].createElement("div", { style: {
display: "flex",
flexWrap: "wrap",
justifyContent: "space-between",
alignItems: "center",
borderTopLeftRadius: "30px",
padding: "0px 20px",
minHeight: "60px",
maxHeight: "40px",
backgroundColor: "#091a35",
} },
React__default["default"].createElement("span", { style: {
color: "#eaeaff",
fontSize: "20px",
fontWeight: "600",
} },
"React Logger",
" ",
React__default["default"].createElement("span", { style: { fontSize: "10px" } },
"(v",
version,
")")),
React__default["default"].createElement("div", { style: {
display: "flex",
justifyContent: "space-between",
alignItems: "center",
} },
React__default["default"].createElement("div", { style: {
padding: "10px 20px",
backgroundColor: "#4E4990",
borderRadius: "4px",
fontWeight: 600,
fontSize: "16px",
cursor: "pointer",
color: "#eaeaff",
}, onClick: () => {
logSubject.next([]);
setFilter(Object.assign(Object.assign({}, filter), { flagr: "", index: null, log: [] }));
setLogger(logSubject.getValue());
inputRef.current.value = "";
} }, "reset"))),
React__default["default"].createElement("div", { style: {
display: "flex",
flexWrap: "wrap",
justifyContent: "space-between",
alignItems: "center",
padding: "0px 20px",
minHeight: "60px",
maxHeight: "40px",
backgroundColor: "#0a1f3d",
} },
React__default["default"].createElement("span", { style: {
color: "#eaeaff",
fontSize: "18px",
fontWeight: "600",
} },
"Logs(",
logger ? logger.length : 0,
")"),
React__default["default"].createElement("div", { style: {
display: "flex",
justifyContent: "space-between",
alignItems: "center",
} },
React__default["default"].createElement("input", { style: {
height: "100%",
backgroundColor: "#FFFFFF00",
color: "#FFFFFF",
border: "none",
textAlign: "right",
fontSize: "18px",
outline: "none",
}, ref: inputRef, placeholder: "filter logs...", onChange: (event) => {
if (event.target.value.trim() === "") {
setFilter(Object.assign(Object.assign({}, filter), { flagr: "", index: null, log: [] }));
setLogger(logSubject.getValue());
inputRef.current.value = "";
}
else {
setFilter(Object.assign(Object.assign({}, filter), { flagr: event.target.value, index: null, log: [] }));
const logs = logSubject
.getValue()
.filter((item) => item.logger_flagr
.toLowerCase()
.includes(event.target.value.toLowerCase()));
setLogger(logs);
}
} }))),
React__default["default"].createElement("div", { style: { height: "calc(100% - 120px)", overflowY: "auto" } }, logger.length > 0 &&
logger.map((item, index) => (React__default["default"].createElement("div", { key: `logger-${index}`, style: {
display: "flex",
alignItems: "center",
borderBottom: "1px solid #242D38",
width: "100%",
height: "60px",
color: "#eaeaff",
fontSize: "16px",
fontWeight: 600,
cursor: "pointer",
}, onClick: () => {
setFilter({
flagr: item.logger_flagr,
index: index,
log: [Object.assign({}, item)],
});
} },
React__default["default"].createElement("div", { style: {
display: "flex",
alignItems: "center",
justifyContent: "center",
backgroundColor: "#9B8CCE",
minWidth: "60px",
maxWidth: "60px",
maxHeight: "100%",
padding: "21px 0px",
color: "#071428",
transition: "backgroundColor 0.3s",
} }, index),
React__default["default"].createElement("div", { style: { marginLeft: "20px" } }, item.logger_flagr)))))),
React__default["default"].createElement("div", { style: {
width: "60%",
minWidth: "500px",
maxHeight: "100%",
borderTopRightRadius: "30px",
overflowY: "hidden",
} },
React__default["default"].createElement("div", { style: {
display: "flex",
justifyContent: "space-between",
alignItems: "center",
backgroundColor: "#091a35",
padding: "0px 20px",
minHeight: "60px",
maxHeight: "40px",
borderTopRightRadius: "30px",
} },
React__default["default"].createElement("span", { style: {
color: "#eaeaff",
fontSize: "20px",
} }, "Data Explorer")),
React__default["default"].createElement("div", { style: { display: "flex" } },
React__default["default"].createElement("div", { style: {
width: "100px",
padding: "20px 20px",
fontWeight: 600,
fontSize: "16px",
cursor: "pointer",
color: "#eaeaff",
borderBottom: isTree ? "1px solid #4E4990" : "1px solid #142335",
textAlign: "center",
backgroundColor: isTree ? "rgb(155, 140, 206, 0.15)" : "",
}, onClick: () => {
setIsTree(true);
} }, "tree"),
React__default["default"].createElement("div", { style: {
width: "100px",
padding: "20px 20px",
fontWeight: 600,
fontSize: "16px",
cursor: "pointer",
color: "#eaeaff",
borderBottom: !isTree ? "1px solid #4E4990" : "1px solid #142335",
textAlign: "center",
backgroundColor: !isTree ? "rgb(155, 140, 206, 0.15)" : "",
}, onClick: () => {
setIsTree(false);
} }, "raw")),
React__default["default"].createElement("div", { style: {
maxHeight: "calc(100% - 120px)",
textAlign: "left",
marginBottom: "100px",
overflowY: "auto",
} }, filter.index !== null ? (isTree ? (React__default["default"].createElement("div", { style: {
display: "flex",
flexDirection: "column",
margin: "20px",
} },
React__default["default"].createElement("div", { style: { color: "#ddddff" } },
React__default["default"].createElement("span", { onClick: () => {
if (document.getElementById("parent").innerText === "▲") {
document.getElementById("parent").innerText = "▼";
document.getElementById("child").style.display =
"block";
}
else {
document.getElementById("parent").innerText = "▲";
document.getElementById("child").style.display = "none";
}
}, style: { cursor: "pointer" } },
React__default["default"].createElement("span", { id: "parent" }, "\u25B2"),
" ",
React__default["default"].createElement("span", { style: { color: "#817cff" } },
filter.flagr,
" (",
filter.index,
")"))),
React__default["default"].createElement("div", { id: "child", style: {
display: "none",
color: "#eaeaff",
marginLeft: "20px",
} }, RenderLogs(filter.log, false)))) : (React__default["default"].createElement("pre", { style: { color: "#ddddff", marginLeft: "20px" } },
React__default["default"].createElement("code", { style: { wordBreak: "break-all" } }, JSON.stringify(filter.log[0].data, undefined, 2))))) : (React__default["default"].createElement("p", { style: {
margin: "20px",
color: "#7a7ca0",
fontSize: "18px",
} }, "Click on logs to explore"))))));
};
const logo = "data:image/png;base64,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";
const LogProvider = ({ devURL, x, y }) => {
const [bottom, setBottom] = React.useState(false);
React.useEffect(() => {
devSubject.next(devURL);
}, []);
return (devURL.includes(window.location.host) && (React__default["default"].createElement(React__default["default"].Fragment, null,
RenderDebuggerPanel(bottom),
React__default["default"].createElement("div", { onClick: () => setBottom(!bottom), style: {
position: "fixed",
bottom: y === 1 ? 20 : "calc(100% - 60px)",
right: x === 0 ? "calc(100% - 60px)" : 20,
cursor: "pointer",
zIndex: 9999,
} },
React__default["default"].createElement("img", { src: logo, alt: "logo", width: "40" })))));
};
const makeLogs = (flagr, log) => {
if (devSubject.getValue().includes(window.location.host)) {
const addLog = {
logger_flagr: flagr ? flagr : "unknown",
data: log,
};
logSubject.next([...logSubject.getValue(), addLog]);
}
};
exports.LogProvider = LogProvider;
exports.makeLogs = makeLogs;
//# sourceMappingURL=index.js.map