devbug/app/assets/dash_v1.js

42 lines
1.4 KiB
JavaScript

function output(inp) {
document.body.appendChild(document.createElement('pre')).innerHTML = inp;
}
function syntaxHighlight(json) {
console.log(json)
json = JSON.stringify(JSON.parse(json.replace(/"/g, '"')), undefined, 4)
json = json.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\p{C}+/g, '?'); // replace all non-printable characters
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
var cls = 'number';
if (/^"/.test(match)) {
if (/:$/.test(match)) {
cls = 'key';
} else {
cls = 'string';
}
} else if (/true|false/.test(match)) {
cls = 'boolean';
} else if (/null/.test(match)) {
cls = 'null';
}
return '<span class="' + cls + '">' + match + '</span>';
});
}
function from_server(json_string){
console.log(json_string)
json_string = JSON.parse(json_string.replace(/&quot;/g, '"').replace(/\p{C}+/g, '?'))
window.devbug = json_string
}
const navbar = document.getElementById('navbar')
const sticky = navbar.offsetTop;
window.onscroll = () => {
if ( window.pageYOffset >= sticky ) {
navbar.classList.add('sticky')
}
else {
navbar.classList.remove('sticky')
}
}