diff --git a/README.md b/README.md
index 11c49cca..ef688fae 100755
--- a/README.md
+++ b/README.md
@@ -2,15 +2,15 @@
JsonTree.js
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=JsonTree.js%2C%20a%20free%20JavaScript%json%20treeview&url=https://github.com/williamtroup/JsonTree.js&hashtags=javascript,treeview,json)
-[![npm](https://img.shields.io/badge/npmjs-v4.0.0-blue)](https://www.npmjs.com/package/jjsontree.js)
-[![nuget](https://img.shields.io/badge/nuget-v4.0.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
+[![npm](https://img.shields.io/badge/npmjs-v4.1.0-blue)](https://www.npmjs.com/package/jjsontree.js)
+[![nuget](https://img.shields.io/badge/nuget-v4.1.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/JsonTree.js/blob/main/LICENSE.txt)
[![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/JsonTree.js/discussions)
[![coded by William Troup](https://img.shields.io/badge/coded_by-William_Troup-yellow)](https://william-troup.com/)
>
🔗 A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
->
v4.0.0
+>
v4.1.0
![JsonTree.js](docs/images/main.png)
@@ -28,12 +28,13 @@ JsonTree.js
- 🔍 22 types supported by default (such as Object, Array, primitive types, and even Sets, Maps, and HTML DOM elements).
- 🔣 Support to show the data types, array/object sizes, comas, and opening/closing symbols!
- ☑️ Fully configurable per DOM element!
-- 📂 Close and open all objects, arrays, sets, and maps.
+- 📂 Close and open all objects, arrays, sets, maps, and HTML objects.
- 🚀 Clickable values via custom triggers!
- ⭐ Custom value rendering.
- 📃 Array paging, with configurable column count support (show array objects on different pages)!
+- 💥 Compare the property name and index values in multiple page columns!
- 💧 Drag & Drop JSON files support!
-- 📋 Copy to clipboard (all JSON, or just the current page).
+- 📋 Copy to clipboard (all JSON, a specific page, a specific JSON value, or selected JSON values).
- ✏️ Full editing support (double click a value, property, index, or anywhere for everything).
- 🔠 Keyboard navigation keys support!
- 🎥 Toggle between regular and full-screen views.
@@ -171,8 +172,8 @@ Or, you can download the latest zipped up version [here](https://www.william-tro
Or, you can also use the following CDN links:
```markdown
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.0.0/dist/jsontree.min.js
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.0.0/dist/jsontree.js.min.css
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.1.0/dist/jsontree.min.js
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.1.0/dist/jsontree.js.min.css
```
diff --git a/README_NUGET.md b/README_NUGET.md
index b1c42242..cc2f7a6b 100755
--- a/README_NUGET.md
+++ b/README_NUGET.md
@@ -1,8 +1,8 @@
-# JsonTree.js v4.0.0
+# JsonTree.js v4.1.0
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=JsonTree.js%2C%20a%20free%20JavaScript%json%20treeview&url=https://github.com/williamtroup/JsonTree.js&hashtags=javascript,treeview,json)
-[![npm](https://img.shields.io/badge/npmjs-v4.0.0-blue)](https://www.npmjs.com/package/jjsontree.js)
-[![nuget](https://img.shields.io/badge/nuget-v4.0.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
+[![npm](https://img.shields.io/badge/npmjs-v4.1.0-blue)](https://www.npmjs.com/package/jjsontree.js)
+[![nuget](https://img.shields.io/badge/nuget-v4.1.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/JsonTree.js/blob/main/LICENSE.txt)
[![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/JsonTree.js/discussions)
[![coded by William Troup](https://img.shields.io/badge/coded_by-William_Troup-yellow)](https://william-troup.com/)
@@ -21,12 +21,13 @@
- 🔍 22 types supported by default (such as Object, Array, primitive types, and even Sets, Maps, and HTML DOM elements).
- 🔣 Support to show the data types, array/object sizes, comas, and opening/closing symbols!
- ☑️ Fully configurable per DOM element!
-- 📂 Close and open all objects, arrays, sets, and maps.
+- 📂 Close and open all objects, arrays, sets, maps, and HTML objects.
- 🚀 Clickable values via custom triggers!
- ⭐ Custom value rendering.
- 📃 Array paging, with configurable column count support (show array objects on different pages)!
+- 💥 Compare the property name and index values in multiple page columns!
- 💧 Drag & Drop JSON files support!
-- 📋 Copy to clipboard (all JSON, or just the current page).
+- 📋 Copy to clipboard (all JSON, a specific page, a specific JSON value, or selected JSON values).
- ✏️ Full editing support (double click a value, property, index, or anywhere for everything).
- 🔠 Keyboard navigation keys support!
- 🎥 Toggle between regular and full-screen views.
@@ -150,8 +151,8 @@ Or, you can download the latest zipped up version [here](https://www.william-tro
Or, you can also use the following CDN links:
```markdown
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.0.0/dist/jsontree.min.js
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.0.0/dist/jsontree.js.min.css
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.1.0/dist/jsontree.min.js
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@4.1.0/dist/jsontree.js.min.css
```
diff --git a/dist/jsontree.esm.js b/dist/jsontree.esm.js
index f9b91988..b6d9c301 100644
--- a/dist/jsontree.esm.js
+++ b/dist/jsontree.esm.js
@@ -66,6 +66,10 @@ var Is;
return t;
}
e.bigInt = i;
+ function s(e) {
+ return e.startsWith("Symbol(") && e.endsWith(")");
+ }
+ e.symbol = s;
})(t = e.String || (e.String = {}));
function n(e) {
return e !== null && e !== void 0 && e.toString() !== "";
@@ -87,14 +91,14 @@ var Is;
return n(e) && typeof e === "function";
}
e.definedFunction = i;
- function a(e) {
+ function s(e) {
return n(e) && typeof e === "number";
}
- e.definedNumber = a;
- function s(e) {
+ e.definedNumber = s;
+ function a(e) {
return n(e) && typeof e === "bigint";
}
- e.definedBigInt = s;
+ e.definedBigInt = a;
function u(e) {
return e !== null && e !== void 0 && e instanceof Array;
}
@@ -123,14 +127,14 @@ var Is;
return n(e) && (e instanceof Set || e instanceof WeakSet);
}
e.definedSet = p;
- function T(e) {
+ function x(e) {
return n(e) && e instanceof Image;
}
- e.definedImage = T;
- function x(e) {
+ e.definedImage = x;
+ function T(e) {
return n(e) && e instanceof HTMLElement;
}
- e.definedHtml = x;
+ e.definedHtml = T;
function b(e) {
let t;
try {
@@ -155,25 +159,62 @@ var Is;
var Convert2;
(Convert => {
- function stringifyJson(e, t, n) {
- if (Is.definedBigInt(t)) {
- t = t.toString();
- } else if (Is.definedSymbol(t)) {
- t = symbolToString(t);
- } else if (Is.definedFunction(t)) {
- t = Default.getFunctionName(t, n).name;
- } else if (Is.definedMap(t)) {
- t = mapToObject(t);
- } else if (Is.definedSet(t)) {
- t = setToArray(t);
- } else if (Is.definedRegExp(t)) {
- t = t.source;
- } else if (Is.definedImage(t)) {
- t = t.src;
+ function toJsonStringifyClone(e, t, n) {
+ let o = null;
+ if (!Is.defined(e)) {
+ o = null;
+ } else if (Is.definedDate(e)) {
+ if (!n.includeTimeZoneInDates) {
+ o = JSON.stringify(e).replace(/['"]+/g, "");
+ } else {
+ o = e.toString();
+ }
+ } else if (Is.definedSymbol(e)) {
+ o = symbolToString(e);
+ } else if (Is.definedBigInt(e)) {
+ o = e.toString();
+ } else if (Is.definedFunction(e)) {
+ o = Default.getFunctionName(e, t).name;
+ } else if (Is.definedRegExp(e)) {
+ o = e.source;
+ } else if (Is.definedImage(e)) {
+ o = e.src;
+ } else if (Is.definedHtml(e)) {
+ o = htmlToObject(e, n.showCssStylesForHtmlObjects);
+ } else if (Is.definedArray(e)) {
+ o = [];
+ const l = e.length;
+ for (let r = 0; r < l; r++) {
+ o.push(toJsonStringifyClone(e[r], t, n));
+ }
+ } else if (Is.definedSet(e)) {
+ o = [];
+ const l = setToArray(e);
+ const r = l.length;
+ for (let e = 0; e < r; e++) {
+ o.push(toJsonStringifyClone(l[e], t, n));
+ }
+ } else if (Is.definedMap(e)) {
+ o = {};
+ const l = mapToObject(e);
+ for (const e in l) {
+ if (l.hasOwnProperty(e)) {
+ o[e] = toJsonStringifyClone(l[e], t, n);
+ }
+ }
+ } else if (Is.definedObject(e)) {
+ o = {};
+ for (const l in e) {
+ if (e.hasOwnProperty(l)) {
+ o[l] = toJsonStringifyClone(e[l], t, n);
+ }
+ }
+ } else {
+ o = e;
}
- return t;
+ return o;
}
- Convert.stringifyJson = stringifyJson;
+ Convert.toJsonStringifyClone = toJsonStringifyClone;
function stringToDataTypeValue(e, t) {
let n = null;
try {
@@ -213,16 +254,16 @@ var Convert2;
const l = e.children.length;
const r = "&children";
const i = "#text";
- const a = e.cloneNode(true);
- let s = a.children.length;
- while (s > 0) {
- if (a.children[0].nodeType !== Node.TEXT_NODE) {
- a.removeChild(a.children[0]);
+ const s = e.cloneNode(true);
+ let a = s.children.length;
+ while (a > 0) {
+ if (s.children[0].nodeType !== Node.TEXT_NODE) {
+ s.removeChild(s.children[0]);
}
- s--;
+ a--;
}
n[r] = [];
- n[i] = a.innerText;
+ n[i] = s.innerText;
for (let t = 0; t < o; t++) {
const o = e.attributes[t];
if (Is.definedString(o.nodeName)) {
@@ -270,7 +311,7 @@ var Convert2;
if (Is.definedString(objectString)) {
result.object = JSON.parse(objectString);
}
- } catch (e1) {
+ } catch (exception1) {
try {
result.object = eval(`(${objectString})`);
if (Is.definedFunction(result.object)) {
@@ -278,7 +319,7 @@ var Convert2;
}
} catch (e) {
if (!configuration.safeMode) {
- console.error(configuration.text.objectErrorText.replace("{{error_1}}", e1.message).replace("{{error_2}}", e.message));
+ console.error(configuration.text.objectErrorText.replace("{{error_1}}", exception1.message).replace("{{error_2}}", e.message));
result.parsed = false;
}
result.object = null;
@@ -329,14 +370,14 @@ var Default;
return Is.definedArray(e) ? e : t;
}
e.getArray = i;
- function a(e, t) {
+ function s(e, t) {
return Is.definedObject(e) ? e : t;
}
- e.getObject = a;
- function s(e, t, n) {
+ e.getObject = s;
+ function a(e, t, n) {
return Is.definedNumber(e) ? e >= n ? e : n : t;
}
- e.getNumberMinimum = s;
+ e.getNumberMinimum = a;
function u(e, t, n) {
return Is.definedNumber(e) ? e > n ? n : e : t;
}
@@ -412,7 +453,7 @@ var DomElement;
function n(e, t, n = "", o = null) {
const l = t.toLowerCase();
const r = l === "text";
- let i = r ? document.createTextNode("") : document.createElement(l);
+ const i = r ? document.createTextNode("") : document.createElement(l);
if (Is.defined(n)) {
i.className = n;
}
@@ -435,7 +476,7 @@ var DomElement;
function l(e) {
const t = e.toLowerCase();
const n = t === "text";
- let o = n ? document.createTextNode("") : document.createElement(t);
+ const o = n ? document.createTextNode("") : document.createElement(t);
return o;
}
e.createWithNoContainer = l;
@@ -453,7 +494,7 @@ var DomElement;
return t;
}
e.getScrollPosition = i;
- function a(e, t, n) {
+ function s(e, t, n) {
let o = e.pageX;
let l = e.pageY;
const r = i();
@@ -479,18 +520,18 @@ var DomElement;
t.style.left = `${o}px`;
t.style.top = `${l}px`;
}
- e.showElementAtMousePosition = a;
- function s(e) {
+ e.showElementAtMousePosition = s;
+ function a(e) {
const t = document.createRange();
t.selectNodeContents(e);
const n = window.getSelection();
n.removeAllRanges();
n.addRange(t);
}
- e.selectAllText = s;
- function u(e, t, l, r, i, a) {
- const s = n(e, "div", "checkbox");
- const u = n(s, "label", "checkbox");
+ e.selectAllText = a;
+ function u(e, t, l, r, i, s) {
+ const a = n(e, "div", "checkbox");
+ const u = n(a, "label", "checkbox");
const c = n(u, "input");
c.type = "checkbox";
c.name = l;
@@ -498,12 +539,24 @@ var DomElement;
c.autocomplete = "off";
n(u, "span", "check-mark");
o(u, "span", `text ${i}`, t);
- if (Is.definedString(a)) {
- o(u, "span", `additional-text`, a);
+ if (Is.definedString(s)) {
+ o(u, "span", `additional-text`, s);
}
return c;
}
e.createCheckBox = u;
+ function c(e) {
+ const t = {};
+ t.left = 0;
+ t.top = 0;
+ while (e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop)) {
+ t.left += e.offsetLeft - e.scrollLeft;
+ t.top += e.offsetTop - e.scrollTop;
+ e = e.offsetParent;
+ }
+ return t;
+ }
+ e.getOffset = c;
})(DomElement || (DomElement = {}));
var Str;
@@ -592,7 +645,7 @@ var Binding;
const l = o.allowEditing;
o._currentView = {};
o._currentView.element = n;
- o._currentView.dataArrayCurrentIndex = (o.paging.startPage - 1) * o.paging.columnsPerPage;
+ o._currentView.currentDataArrayPageIndex = (o.paging.startPage - 1) * o.paging.columnsPerPage;
o._currentView.titleBarButtons = null;
o._currentView.valueClickTimerId = 0;
o._currentView.editMode = false;
@@ -609,7 +662,7 @@ var Binding;
o._currentView.fullScreenOn = false;
o._currentView.dragAndDropBackground = null;
o._currentView.initialized = false;
- o._currentView.contentColumns = [];
+ o._currentView.currentContentColumns = [];
o._currentView.footer = null;
o._currentView.footerStatusText = null;
o._currentView.footerDataTypeText = null;
@@ -620,9 +673,11 @@ var Binding;
o._currentView.columnDragging = false;
o._currentView.columnDraggingDataIndex = 0;
o._currentView.dataTypeCounts = {};
- o._currentView.contentControlButtons = [];
- if (o.paging.enabled && Is.definedArray(o.data) && o.data.length > 1 && o._currentView.dataArrayCurrentIndex > o.data.length - 1) {
- o._currentView.dataArrayCurrentIndex = 0;
+ o._currentView.contextMenu = null;
+ o._currentView.currentColumnBuildingIndex = 0;
+ o._currentView.selectedValues = [];
+ if (o.paging.enabled && Is.definedArray(o.data) && o.data.length > 1 && o._currentView.currentDataArrayPageIndex > o.data.length - 1) {
+ o._currentView.currentDataArrayPageIndex = 0;
}
for (const e in l) {
if (!l[e]) {
@@ -634,7 +689,7 @@ var Binding;
}
t.getForNewInstance = n;
function o(e) {
- let t = Default.getObject(e, {});
+ const t = Default.getObject(e, {});
t.showObjectSizes = Default.getBoolean(t.showObjectSizes, true);
t.useZeroIndexingForArrays = Default.getBoolean(t.useZeroIndexingForArrays, true);
t.dateTimeFormat = Default.getString(t.dateTimeFormat, "{dd}{o} {mmmm} {yyyy} {hh}:{MM}:{ss}");
@@ -654,7 +709,7 @@ var Binding;
t.showArrayIndexBrackets = Default.getBoolean(t.showArrayIndexBrackets, true);
t.showOpeningClosingCurlyBraces = Default.getBoolean(t.showOpeningClosingCurlyBraces, false);
t.showOpeningClosingSquaredBrackets = Default.getBoolean(t.showOpeningClosingSquaredBrackets, false);
- t.includeTimeZoneInDateTimeEditing = Default.getBoolean(t.includeTimeZoneInDateTimeEditing, true);
+ t.includeTimeZoneInDates = Default.getBoolean(t.includeTimeZoneInDates, true);
t.shortcutKeysEnabled = Default.getBoolean(t.shortcutKeysEnabled, true);
t.openInFullScreenMode = Default.getBoolean(t.openInFullScreenMode, false);
t.valueToolTips = Default.getObject(t.valueToolTips, null);
@@ -675,17 +730,21 @@ var Binding;
t.jsonPathAny = Default.getString(t.jsonPathAny, "..");
t.jsonPathSeparator = Default.getString(t.jsonPathSeparator, "\\");
t.showChildIndexes = Default.getBoolean(t.showChildIndexes, true);
- t = l(t);
- t = r(t);
- t = i(t);
- t = a(t);
- t = s(t);
- t = u(t);
- t = c(t);
- t = d(t);
- t = f(t);
- t = g(t);
- t = m(t);
+ t.showClosedArraySquaredBrackets = Default.getBoolean(t.showClosedArraySquaredBrackets, true);
+ t.showClosedObjectCurlyBraces = Default.getBoolean(t.showClosedObjectCurlyBraces, true);
+ t.convertClickedValuesToString = Default.getBoolean(t.convertClickedValuesToString, false);
+ t.paging = l(t);
+ t.title = r(t);
+ t.footer = i(t);
+ t.controlPanel = s(t);
+ t.lineNumbers = a(t);
+ t.ignore = u(t);
+ t.tooltip = c(t);
+ t.parse = d(t);
+ t.allowEditing = f(t);
+ t.sideMenu = g(t);
+ t.autoClose = m(t);
+ t.events = p(t);
return t;
}
t.get = o;
@@ -696,7 +755,8 @@ var Binding;
e.paging.startPage = Default.getNumberMinimum(e.paging.startPage, 1, 1);
e.paging.synchronizeScrolling = Default.getBoolean(e.paging.synchronizeScrolling, false);
e.paging.allowColumnReordering = Default.getBoolean(e.paging.allowColumnReordering, true);
- return e;
+ e.paging.allowComparisons = Default.getBoolean(e.paging.allowComparisons, false);
+ return e.paging;
}
function r(e) {
e.title = Default.getObject(e.title, {});
@@ -705,7 +765,7 @@ var Binding;
e.title.showCopyButton = Default.getBoolean(e.title.showCopyButton, true);
e.title.enableFullScreenToggling = Default.getBoolean(e.title.enableFullScreenToggling, true);
e.title.showFullScreenButton = Default.getBoolean(e.title.showFullScreenButton, true);
- return e;
+ return e.title;
}
function i(e) {
e.footer = Default.getObject(e.footer, {});
@@ -715,9 +775,9 @@ var Binding;
e.footer.showSizes = Default.getBoolean(e.footer.showSizes, true);
e.footer.showPageOf = Default.getBoolean(e.footer.showPageOf, true);
e.footer.statusResetDelay = Default.getNumber(e.footer.statusResetDelay, 5e3);
- return e;
+ return e.footer;
}
- function a(e) {
+ function s(e) {
e.controlPanel = Default.getObject(e.controlPanel, {});
e.controlPanel.enabled = Default.getBoolean(e.controlPanel.enabled, true);
e.controlPanel.showCopyButton = Default.getBoolean(e.controlPanel.showCopyButton, true);
@@ -726,9 +786,16 @@ var Binding;
e.controlPanel.showEditButton = Default.getBoolean(e.controlPanel.showEditButton, true);
e.controlPanel.showCloseOpenAllButtons = Default.getBoolean(e.controlPanel.showCloseOpenAllButtons, true);
e.controlPanel.showSwitchToPagesButton = Default.getBoolean(e.controlPanel.showSwitchToPagesButton, true);
- return e;
+ return e.controlPanel;
}
- function s(e) {
+ function a(e) {
+ e.lineNumbers = Default.getObject(e.lineNumbers, {});
+ e.lineNumbers.enabled = Default.getBoolean(e.lineNumbers.enabled, true);
+ e.lineNumbers.padNumbers = Default.getBoolean(e.lineNumbers.padNumbers, false);
+ e.lineNumbers.addDots = Default.getBoolean(e.lineNumbers.addDots, true);
+ return e.lineNumbers;
+ }
+ function u(e) {
e.ignore = Default.getObject(e.ignore, {});
e.ignore.nullValues = Default.getBoolean(e.ignore.nullValues, false);
e.ignore.functionValues = Default.getBoolean(e.ignore.functionValues, false);
@@ -754,22 +821,23 @@ var Binding;
e.ignore.emailValues = Default.getBoolean(e.ignore.emailValues, false);
e.ignore.htmlValues = Default.getBoolean(e.ignore.htmlValues, false);
e.ignore.lambdaValues = Default.getBoolean(e.ignore.lambdaValues, false);
- return e;
+ return e.ignore;
}
- function u(e) {
+ function c(e) {
e.tooltip = Default.getObject(e.tooltip, {});
e.tooltip.delay = Default.getNumber(e.tooltip.delay, 750);
e.tooltip.offset = Default.getNumber(e.tooltip.offset, 0);
- return e;
+ return e.tooltip;
}
- function c(e) {
+ function d(e) {
e.parse = Default.getObject(e.parse, {});
e.parse.stringsToDates = Default.getBoolean(e.parse.stringsToDates, false);
e.parse.stringsToBooleans = Default.getBoolean(e.parse.stringsToBooleans, false);
e.parse.stringsToNumbers = Default.getBoolean(e.parse.stringsToNumbers, false);
- return e;
+ e.parse.stringsToSymbols = Default.getBoolean(e.parse.stringsToSymbols, false);
+ return e.parse;
}
- function d(e) {
+ function f(e) {
let t = Default.getBoolean(e.allowEditing, true);
e.allowEditing = Default.getObject(e.allowEditing, {});
e.allowEditing.booleanValues = Default.getBoolean(e.allowEditing.booleanValues, t);
@@ -787,9 +855,16 @@ var Binding;
e.allowEditing.imageValues = Default.getBoolean(e.allowEditing.imageValues, t);
e.allowEditing.propertyNames = Default.getBoolean(e.allowEditing.propertyNames, t);
e.allowEditing.bulk = Default.getBoolean(e.allowEditing.bulk, t);
- return e;
+ const n = e.allowEditing;
+ for (const t in n) {
+ if (n.hasOwnProperty(t) && !n[t]) {
+ e.allowEditing.bulk = false;
+ break;
+ }
+ }
+ return e.allowEditing;
}
- function f(e) {
+ function g(e) {
e.sideMenu = Default.getObject(e.sideMenu, {});
e.sideMenu.enabled = Default.getBoolean(e.sideMenu.enabled, true);
e.sideMenu.showImportButton = Default.getBoolean(e.sideMenu.showImportButton, true);
@@ -797,18 +872,18 @@ var Binding;
e.sideMenu.titleText = Default.getAnyString(e.sideMenu.titleText, e.title.text);
e.sideMenu.showAvailableDataTypeCounts = Default.getBoolean(e.sideMenu.showAvailableDataTypeCounts, true);
e.sideMenu.showOnlyDataTypesAvailable = Default.getBoolean(e.sideMenu.showOnlyDataTypesAvailable, false);
- return e;
+ return e.sideMenu;
}
- function g(e) {
+ function m(e) {
e.autoClose = Default.getObject(e.autoClose, {});
e.autoClose.objectSize = Default.getNumber(e.autoClose.objectSize, 0);
e.autoClose.arraySize = Default.getNumber(e.autoClose.arraySize, 0);
e.autoClose.mapSize = Default.getNumber(e.autoClose.mapSize, 0);
e.autoClose.setSize = Default.getNumber(e.autoClose.setSize, 0);
e.autoClose.htmlSize = Default.getNumber(e.autoClose.htmlSize, 0);
- return e;
+ return e.autoClose;
}
- function m(e) {
+ function p(e) {
e.events = Default.getObject(e.events, {});
e.events.onBeforeRender = Default.getFunction(e.events.onBeforeRender, null);
e.events.onRenderComplete = Default.getFunction(e.events.onRenderComplete, null);
@@ -841,7 +916,7 @@ var Binding;
e.events.onLambdaRender = Default.getFunction(e.events.onLambdaRender, null);
e.events.onCopy = Default.getFunction(e.events.onCopy, null);
e.events.onFullScreenChange = Default.getFunction(e.events.onFullScreenChange, null);
- return e;
+ return e.events;
}
})(t = e.Options || (e.Options = {}));
})(Binding || (Binding = {}));
@@ -852,10 +927,10 @@ var Config;
let t;
(e => {
function t(e = null) {
- let t = Default.getObject(e, {});
+ const t = Default.getObject(e, {});
t.safeMode = Default.getBoolean(t.safeMode, true);
t.domElementTypes = Default.getStringOrArray(t.domElementTypes, [ "*" ]);
- t = n(t);
+ t.text = n(t);
return t;
}
e.get = t;
@@ -945,7 +1020,7 @@ var Config;
if (Is.invalidOptionArray(e.text.monthNamesAbbreviated, 12)) {
e.text.monthNamesAbbreviated = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
}
- return e;
+ return e.text;
}
})(t = e.Options || (e.Options = {}));
})(Config || (Config = {}));
@@ -975,8 +1050,8 @@ var ToolTip;
}
e.renderControl = t;
function n(e, t = true) {
- let n = t ? window.addEventListener : window.removeEventListener;
- let o = t ? document.addEventListener : document.removeEventListener;
+ const n = t ? window.addEventListener : window.removeEventListener;
+ const o = t ? document.addEventListener : document.removeEventListener;
n("mousemove", (() => r(e)));
o("scroll", (() => r(e)));
}
@@ -1053,88 +1128,100 @@ var Arr;
e.splice(n, 0, e.splice(t, 1)[0]);
}
e.moveIndex = l;
+ function r(e) {
+ let t = [];
+ const n = e.length;
+ for (let o = 0; o < n; o++) {
+ const n = e[o];
+ if (Is.defined(n)) {
+ t.push(n);
+ }
+ }
+ return t;
+ }
+ e.removeNullOrUndefinedEntries = r;
})(Arr || (Arr = {}));
var Size;
(e => {
- function t(e) {
- let t = null;
- const n = o(e);
- if (n > 0) {
- const e = Math.floor(Math.log(n) / Math.log(1024));
- return `${Convert2.numberToFloatWithDecimalPlaces(n / Math.pow(1024, e), 2)} ${" KMGTP".charAt(e)}B`;
+ function t(e, t) {
+ let n = null;
+ const l = o(e, t);
+ if (l > 0) {
+ const e = Math.floor(Math.log(l) / Math.log(1024));
+ return `${Convert2.numberToFloatWithDecimalPlaces(l / Math.pow(1024, e), 2)} ${" KMGTP".charAt(e)}B`;
}
- return t;
+ return n;
}
e.of = t;
- function n(t) {
- let n = 0;
- if (Is.defined(t)) {
- if (Is.definedDate(t)) {
- n = t.toString().length;
- } else if (Is.definedImage(t)) {
- n = t.src.length;
- } else if (Is.definedRegExp(t)) {
- n = t.source.length;
- } else if (Is.definedSet(t)) {
- n = e.length(Convert2.setToArray(t));
- } else if (Is.definedMap(t)) {
- n = e.length(Convert2.mapToObject(t));
- } else if (Is.definedHtml(t)) {
- n = e.length(Convert2.htmlToObject(t));
- } else if (Is.definedArray(t)) {
- n = t.length;
- } else if (Is.definedObject(t)) {
- for (const e in t) {
- if (t.hasOwnProperty(e)) {
- n++;
+ function n(e, t) {
+ let o = 0;
+ if (Is.defined(e)) {
+ if (Is.definedDate(e)) {
+ o = e.toString().length;
+ } else if (Is.definedImage(e)) {
+ o = e.src.length;
+ } else if (Is.definedRegExp(e)) {
+ o = e.source.length;
+ } else if (Is.definedSet(e)) {
+ o = n(Convert2.setToArray(e), t);
+ } else if (Is.definedMap(e)) {
+ o = n(Convert2.mapToObject(e), t);
+ } else if (Is.definedHtml(e)) {
+ o = n(Convert2.htmlToObject(e, t), t);
+ } else if (Is.definedArray(e)) {
+ o = e.length;
+ } else if (Is.definedObject(e)) {
+ for (const t in e) {
+ if (e.hasOwnProperty(t)) {
+ o++;
}
}
} else {
- if (!Is.definedFunction(t) && !Is.definedSymbol(t)) {
- n = t.toString().length;
+ if (!Is.definedFunction(e) && !Is.definedSymbol(e)) {
+ o = e.toString().length;
}
}
}
- return n;
+ return o;
}
e.length = n;
- function o(e) {
- let t = 0;
+ function o(e, t) {
+ let n = 0;
if (Is.defined(e)) {
if (Is.definedNumber(e)) {
- t = 8;
+ n = 8;
} else if (Is.definedString(e)) {
- t = e.length * 2;
+ n = e.length * 2;
} else if (Is.definedBoolean(e)) {
- t = 4;
+ n = 4;
} else if (Is.definedBigInt(e)) {
- t = o(e.toString());
+ n = o(e.toString(), t);
} else if (Is.definedRegExp(e)) {
- t = o(e.toString());
+ n = o(e.toString(), t);
} else if (Is.definedDate(e)) {
- t = o(e.toString());
+ n = o(e.toString(), t);
} else if (Is.definedSet(e)) {
- t = o(Convert2.setToArray(e));
+ n = o(Convert2.setToArray(e), t);
} else if (Is.definedMap(e)) {
- t = o(Convert2.mapToObject(e));
+ n = o(Convert2.mapToObject(e), t);
} else if (Is.definedHtml(e)) {
- t = o(Convert2.htmlToObject(e));
+ n = o(Convert2.htmlToObject(e, t), t);
} else if (Is.definedArray(e)) {
- const n = e.length;
- for (let l = 0; l < n; l++) {
- t += o(e[l]);
+ const l = e.length;
+ for (let r = 0; r < l; r++) {
+ n += o(e[r], t);
}
} else if (Is.definedObject(e)) {
- for (const n in e) {
- if (e.hasOwnProperty(n)) {
- t += o(n) + o(e[n]);
+ for (const l in e) {
+ if (e.hasOwnProperty(l)) {
+ n += o(l, t) + o(e[l], t);
}
}
}
}
- return t;
+ return n;
}
})(Size || (Size = {}));
@@ -1161,13 +1248,64 @@ var Obj;
return n;
}
e.getPropertyNames = t;
+ function n(e) {
+ const t = {};
+ t[crypto.randomUUID()] = e;
+ return t;
+ }
+ e.createFromValue = n;
})(Obj || (Obj = {}));
+var ContextMenu;
+
+(e => {
+ function t(e) {
+ if (!Is.defined(e._currentView.contextMenu)) {
+ e._currentView.contextMenu = DomElement.create(document.body, "div", "jsontree-js-context-menu");
+ e._currentView.contextMenu.style.display = "none";
+ n(e);
+ }
+ }
+ e.renderControl = t;
+ function n(e, t = true) {
+ const n = t ? window.addEventListener : window.removeEventListener;
+ const o = t ? document.addEventListener : document.removeEventListener;
+ n("contextmenu", (() => l(e)));
+ n("click", (() => l(e)));
+ o("scroll", (() => l(e)));
+ }
+ e.assignToEvents = n;
+ function o(e, t) {
+ DomElement.cancelBubble(e);
+ DomElement.showElementAtMousePosition(e, t._currentView.contextMenu, 0);
+ }
+ e.show = o;
+ function l(e) {
+ if (Is.defined(e._currentView.contextMenu) && e._currentView.contextMenu.style.display !== "none") {
+ e._currentView.contextMenu.style.display = "none";
+ }
+ }
+ e.hide = l;
+ function r(e) {
+ if (Is.defined(e._currentView.contextMenu)) {
+ e._currentView.contextMenu.parentNode.removeChild(e._currentView.contextMenu);
+ }
+ }
+ e.remove = r;
+ function i(e, t, n) {
+ const o = DomElement.create(e._currentView.contextMenu, "div", "context-menu-item");
+ DomElement.createWithHTML(o, "span", "symbol", t);
+ DomElement.createWithHTML(o, "span", "text", n);
+ return o;
+ }
+ e.addMenuItem = i;
+})(ContextMenu || (ContextMenu = {}));
+
(() => {
let e = {};
let t = {};
let n = 0;
- let o = (t, n) => Convert2.stringifyJson(t, n, e);
+ let o = false;
function l() {
DomElement.find(e.domElementTypes, (t => {
let n = true;
@@ -1196,6 +1334,7 @@ var Obj;
function r(e) {
Trigger.customEvent(e.events.onBeforeRender, e._currentView.element);
ToolTip.renderControl(e);
+ ContextMenu.renderControl(e);
if (!Is.definedString(e._currentView.element.id)) {
e._currentView.element.id = crypto.randomUUID();
e._currentView.idSet = true;
@@ -1211,101 +1350,122 @@ var Obj;
n++;
}
i(e);
- ce(e);
+ we(e);
Trigger.customEvent(e.events.onRenderComplete, e._currentView.element);
}
function i(n, o = false) {
let l = t[n._currentView.element.id].data;
if (Is.definedUrl(l)) {
Default.getObjectFromUrl(l, e, (e => {
- a(n, o, e);
+ s(n, o, e);
}));
} else {
- a(n, o, l);
+ s(n, o, l);
}
}
- function a(e, t, n) {
+ function s(e, t, n) {
const o = c(e);
ToolTip.hide(e);
+ ContextMenu.hide(e);
+ e.data = n;
e._currentView.element.innerHTML = "";
e._currentView.editMode = false;
e._currentView.contentPanelsIndex = 0;
e._currentView.sideMenuChanged = false;
- e._currentView.contentColumns = [];
+ e._currentView.currentContentColumns = [];
e._currentView.dataTypeCounts = {};
- e._currentView.contentControlButtons = [];
- D(e, n);
+ v(e, n);
const l = DomElement.create(e._currentView.element, "div", "contents");
if (t) {
l.classList.add("page-switch");
}
if (e.paging.enabled && Is.definedArray(n)) {
- const t = Is.defined(n[e._currentView.dataArrayCurrentIndex + 1]);
- for (let r = 0; r < e.paging.columnsPerPage; r++) {
- const i = r + e._currentView.dataArrayCurrentIndex;
- const a = n[i];
- e._currentView.contentPanelsIndex = 0;
- e._currentView.contentPanelsDataIndex = i;
- if (Is.defined(a)) {
- s(a, l, e, i, o[r], e.paging.columnsPerPage, t);
+ const t = Is.defined(n[e._currentView.currentDataArrayPageIndex + 1]);
+ const r = Arr.removeNullOrUndefinedEntries(n);
+ e.data = r;
+ for (let n = 0; n < e.paging.columnsPerPage; n++) {
+ const i = n + e._currentView.currentDataArrayPageIndex;
+ if (i <= r.length - 1) {
+ const s = r[i];
+ e._currentView.contentPanelsIndex = 0;
+ e._currentView.contentPanelsDataIndex = i;
+ a(s, l, e, i, o[n], e.paging.columnsPerPage, t);
}
}
} else {
e._currentView.contentPanelsIndex = 0;
e._currentView.contentPanelsDataIndex = 0;
- s(n, l, e, null, o[0], 1, false);
+ a(n, l, e, null, o[0], 1, false);
}
- C(e);
- P(e);
- oe(e);
+ _(e);
+ N(e);
+ fe(e);
e._currentView.initialized = true;
}
- function s(t, n, o, l, r, i, a) {
- const s = DomElement.create(n, "div", i > 1 ? "contents-column-multiple" : "contents-column");
+ function a(t, n, o, l, r, i, s) {
+ const a = DomElement.create(n, "div", i > 1 ? "contents-column-multiple" : "contents-column");
if (!Is.defined(t)) {
- const t = DomElement.create(s, "div", "no-json");
+ const t = DomElement.create(a, "div", "no-json");
DomElement.createWithHTML(t, "span", "no-json-text", e.text.noJsonToViewText);
if (o.sideMenu.showImportButton) {
const n = DomElement.createWithHTML(t, "span", "no-json-import-text", `${e.text.importButtonText}${e.text.ellipsisText}`);
- n.onclick = () => _(o);
+ n.onclick = () => A(o);
}
} else {
- s.onscroll = () => d(s, o, l);
+ a.onscroll = () => d(a, o, l);
if (o.paging.enabled && Is.definedNumber(l)) {
- s.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME, l.toString());
+ a.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME, l.toString());
}
- if (a && o.paging.allowColumnReordering && o.paging.columnsPerPage > 1 && o.allowEditing.bulk) {
- s.setAttribute("draggable", "true");
- s.ondragstart = () => f(s, o, l);
- s.ondragend = () => g(s, o);
- s.ondragover = e => e.preventDefault();
- s.ondrop = () => m(o, l);
+ if (s && o.paging.allowColumnReordering && o.paging.columnsPerPage > 1 && o.allowEditing.bulk) {
+ a.setAttribute("draggable", "true");
+ a.ondragstart = () => f(a, o, l);
+ a.ondragend = () => g(a, o);
+ a.ondragover = e => e.preventDefault();
+ a.ondrop = () => m(o, l);
}
- o._currentView.contentColumns.push(s);
+ let e = a;
+ let n = null;
+ let i = null;
+ if (o.lineNumbers.enabled) {
+ n = DomElement.create(a, "div", "contents-column-line-numbers");
+ i = DomElement.create(a, "div", "contents-column-lines");
+ e = i;
+ }
+ const c = {
+ column: a,
+ lineNumbers: n,
+ lines: i,
+ controlButtons: null
+ };
+ o._currentView.currentContentColumns.push(c);
+ o._currentView.currentColumnBuildingIndex = o._currentView.currentContentColumns.length - 1;
if (Is.definedArray(t)) {
- z(s, o, t, "array");
+ z(e, o, t, "array");
} else if (Is.definedSet(t)) {
- z(s, o, Convert2.setToArray(t), "set");
+ z(e, o, Convert2.setToArray(t), "set");
} else if (Is.definedHtml(t)) {
- $(s, o, Convert2.htmlToObject(t, o.showCssStylesForHtmlObjects), l, "html");
+ J(e, o, Convert2.htmlToObject(t, o.showCssStylesForHtmlObjects), l, "html");
} else if (Is.definedMap(t)) {
- $(s, o, Convert2.mapToObject(t), l, "map");
+ J(e, o, Convert2.mapToObject(t), l, "map");
} else if (Is.definedObject(t)) {
- $(s, o, t, l, "object");
+ J(e, o, t, l, "object");
+ } else {
+ J(e, o, Obj.createFromValue(t), l, "object");
}
- T(o, s, t, l);
+ x(o._currentView.currentColumnBuildingIndex, o);
+ T(o, a, t, l);
if (Is.defined(r)) {
- s.scrollTop = r;
+ a.scrollTop = r;
}
o._currentView.titleBarButtons.style.display = "block";
if (o.allowEditing.bulk) {
- s.ondblclick = e => {
- u(e, o, t, s, l);
+ a.ondblclick = e => {
+ u(e, o, t, a, l);
};
}
}
}
- function u(t, n, l, r, a) {
+ function u(t, n, o, l, r) {
let s = null;
if (Is.defined(t)) {
DomElement.cancelBubble(t);
@@ -1313,43 +1473,43 @@ var Obj;
clearTimeout(n._currentView.valueClickTimerId);
n._currentView.valueClickTimerId = 0;
n._currentView.editMode = true;
- r.classList.add("editable");
- r.setAttribute("contenteditable", "true");
- r.setAttribute("draggable", "false");
- r.innerText = JSON.stringify(l, o, n.jsonIndentSpaces);
- r.focus();
- DomElement.selectAllText(r);
- r.onblur = () => {
+ l.classList.add("editable");
+ l.setAttribute("contenteditable", "true");
+ l.setAttribute("draggable", "false");
+ l.innerText = JSON.stringify(Convert2.toJsonStringifyClone(o, e, n), n.events.onCopyJsonReplacer, n.jsonIndentSpaces);
+ l.focus();
+ DomElement.selectAllText(l);
+ l.onblur = () => {
i(n, false);
if (Is.definedString(s)) {
- W(n, s);
+ $(n, s);
}
};
- r.onkeydown = t => {
+ l.onkeydown = t => {
if (t.code === "Escape") {
t.preventDefault();
- r.setAttribute("contenteditable", "false");
- } else if (fe(t) && t.code === "Enter") {
+ l.setAttribute("contenteditable", "false");
+ } else if (ve(t) && t.code === "Enter") {
t.preventDefault();
- const o = r.innerText;
- const l = Convert2.jsonStringToObject(o, e);
- if (l.parsed) {
+ const o = l.innerText;
+ const i = Convert2.jsonStringToObject(o, e);
+ if (i.parsed) {
s = e.text.jsonUpdatedText;
if (n.paging.enabled) {
- if (Is.defined(l.object)) {
- n.data[a] = l.object;
+ if (Is.defined(i.object)) {
+ n.data[r] = i.object;
} else {
- n.data.splice(a, 1);
+ n.data.splice(r, 1);
s = e.text.arrayJsonItemDeleted;
- if (a === n._currentView.dataArrayCurrentIndex && n._currentView.dataArrayCurrentIndex > 0) {
- n._currentView.dataArrayCurrentIndex -= n.paging.columnsPerPage;
+ if (r === n._currentView.currentDataArrayPageIndex && n._currentView.currentDataArrayPageIndex > 0) {
+ n._currentView.currentDataArrayPageIndex -= n.paging.columnsPerPage;
}
}
} else {
- n.data = l.object;
+ n.data = i.object;
}
}
- r.setAttribute("contenteditable", "false");
+ l.setAttribute("contenteditable", "false");
} else if (t.code === "Enter") {
t.preventDefault();
document.execCommand("insertLineBreak");
@@ -1359,41 +1519,43 @@ var Obj;
function c(e) {
const t = [];
ToolTip.hide(e);
+ ContextMenu.hide(e);
if (e._currentView.editMode || e._currentView.sideMenuChanged) {
- const n = e._currentView.contentColumns.length;
+ const n = e._currentView.currentContentColumns.length;
for (let o = 0; o < n; o++) {
- t.push(e._currentView.contentColumns[o].scrollTop);
+ t.push(e._currentView.currentContentColumns[o].column.scrollTop);
}
}
return t;
}
function d(e, t, n) {
ToolTip.hide(t);
+ ContextMenu.hide(t);
const o = e.scrollTop;
const l = e.scrollLeft;
- const r = t._currentView.contentColumns.length;
+ const r = t._currentView.currentContentColumns.length;
if (t.controlPanel.enabled) {
- const e = t._currentView.contentControlButtons[n];
+ const e = t._currentView.currentContentColumns[n].controlButtons;
if (Is.defined(e)) {
- e.style.top = `${t._currentView.contentColumns[n].scrollTop}px`;
- e.style.right = `-${t._currentView.contentColumns[n].scrollLeft}px`;
+ e.style.top = `${t._currentView.currentContentColumns[n].column.scrollTop}px`;
+ e.style.right = `-${t._currentView.currentContentColumns[n].column.scrollLeft}px`;
}
}
if (t.paging.synchronizeScrolling) {
for (let e = 0; e < r; e++) {
if (n !== e) {
- t._currentView.contentColumns[e].scrollTop = o;
- t._currentView.contentColumns[e].scrollLeft = l;
+ t._currentView.currentContentColumns[e].column.scrollTop = o;
+ t._currentView.currentContentColumns[e].column.scrollLeft = l;
}
}
}
if (t.controlPanel.enabled) {
for (let e = 0; e < r; e++) {
if (n !== e) {
- const n = t._currentView.contentControlButtons[e];
+ const n = t._currentView.currentContentColumns[e].controlButtons;
if (Is.defined(n)) {
- n.style.top = `${t._currentView.contentColumns[e].scrollTop}px`;
- n.style.right = `-${t._currentView.contentColumns[e].scrollLeft}px`;
+ n.style.top = `${t._currentView.currentContentColumns[e].column.scrollTop}px`;
+ n.style.right = `-${t._currentView.currentContentColumns[e].column.scrollLeft}px`;
}
}
}
@@ -1416,25 +1578,64 @@ var Obj;
if (n !== o) {
const l = t.data[o];
const r = t.data[n];
- let a = t._currentView.contentPanelsOpen[o];
- let s = t._currentView.contentPanelsOpen[n];
- if (!Is.defined(a)) {
- a = {};
- }
+ let s = t._currentView.contentPanelsOpen[o];
+ let a = t._currentView.contentPanelsOpen[n];
if (!Is.defined(s)) {
s = {};
}
+ if (!Is.defined(a)) {
+ a = {};
+ }
t.data[o] = r;
t.data[n] = l;
- t._currentView.contentPanelsOpen[o] = s;
- t._currentView.contentPanelsOpen[n] = a;
- if (t._currentView.dataArrayCurrentIndex + (t.paging.columnsPerPage - 1) < o) {
- t._currentView.dataArrayCurrentIndex += t.paging.columnsPerPage;
- } else if (o < t._currentView.dataArrayCurrentIndex) {
- t._currentView.dataArrayCurrentIndex -= t.paging.columnsPerPage;
+ t._currentView.contentPanelsOpen[o] = a;
+ t._currentView.contentPanelsOpen[n] = s;
+ if (t._currentView.currentDataArrayPageIndex + (t.paging.columnsPerPage - 1) < o) {
+ t._currentView.currentDataArrayPageIndex += t.paging.columnsPerPage;
+ } else if (o < t._currentView.currentDataArrayPageIndex) {
+ t._currentView.currentDataArrayPageIndex -= t.paging.columnsPerPage;
}
i(t);
- W(t, e.text.jsonUpdatedText);
+ $(t, e.text.jsonUpdatedText);
+ }
+ }
+ function x(e, t) {
+ const n = t._currentView.currentContentColumns[e];
+ if (t.lineNumbers.enabled) {
+ let e = 1;
+ let o = 0;
+ let l = 0;
+ const r = n.column.querySelectorAll(".object-type-title, .object-type-value-title, .object-type-end");
+ const i = r.length;
+ n.lineNumbers.innerHTML = "";
+ for (let s = 0; s < i; s++) {
+ const a = r[s];
+ if (a.offsetHeight > 0) {
+ let r = DomElement.getOffset(a).top;
+ if (e === 1) {
+ o = r;
+ }
+ r -= o;
+ const s = DomElement.create(n.lineNumbers, "div", "contents-column-line-number");
+ const u = t.lineNumbers.addDots ? "." : "";
+ if (t.lineNumbers.padNumbers) {
+ s.innerHTML = `${Str.padNumber(e, i.toString().length)}${u}`;
+ } else {
+ s.innerHTML = `${e}${u}`;
+ }
+ const c = r + a.offsetHeight / 2 - s.offsetHeight / 2;
+ s.style.top = `${c}px`;
+ l = Math.max(l, s.offsetWidth);
+ }
+ e++;
+ }
+ n.lineNumbers.style.height = `${n.lines.offsetHeight}px`;
+ n.lineNumbers.style.width = `${l}px`;
+ } else {
+ if (Is.defined(n.lineNumbers)) {
+ n.lineNumbers.parentNode.removeChild(n.lineNumbers);
+ n.lineNumbers = null;
+ }
}
}
function T(t, n, o, l) {
@@ -1467,44 +1668,44 @@ var Obj;
}
if (i && t.controlPanel.showCopyButton) {
const n = DomElement.createWithHTML(r, "button", "copy", e.text.copyButtonSymbolText);
- n.onclick = () => h(t, o);
+ n.onclick = () => D(t, o);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.copyButtonText);
}
if (i && t.controlPanel.showCloseOpenAllButtons) {
const n = DomElement.createWithHTML(r, "button", "open-all", e.text.openAllButtonSymbolText);
- n.onclick = () => b(t, l);
+ n.onclick = () => w(t, l);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.openAllButtonText);
const o = DomElement.createWithHTML(r, "button", "close-all", e.text.closeAllButtonSymbolText);
- o.onclick = () => w(t, l);
+ o.onclick = () => y(t, l);
o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.closeAllButtonText);
}
if (t.allowEditing.bulk && t.controlPanel.showRemoveButton) {
const n = DomElement.createWithHTML(r, "button", "remove", e.text.removeSymbolButtonText);
- n.onclick = () => y(t, l);
+ n.onclick = () => h(t, l);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.removeButtonText);
}
if (!t.paging.enabled && Is.definedArray(t.data) && t.data.length > 1 && t.controlPanel.showSwitchToPagesButton) {
const n = DomElement.createWithHTML(r, "button", "switch-to-pages", e.text.switchToPagesSymbolText);
- n.onclick = () => x(t);
+ n.onclick = () => b(t);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.switchToPagesText);
}
if (r.innerHTML !== "") {
- t._currentView.contentControlButtons.push(r);
+ t._currentView.currentContentColumns[t._currentView.currentColumnBuildingIndex].controlButtons = r;
n.style.minHeight = `${r.offsetHeight}px`;
} else {
n.removeChild(r);
}
}
- function x(e) {
+ function b(e) {
e.paging.enabled = true;
i(e);
}
- function b(e, t) {
+ function w(e, t) {
const n = e._currentView.contentPanelsOpen[t];
for (const e in n) {
if (n.hasOwnProperty(e)) {
@@ -1513,7 +1714,7 @@ var Obj;
}
i(e);
}
- function w(e, t) {
+ function y(e, t) {
const n = e._currentView.contentPanelsOpen[t];
for (const e in n) {
if (n.hasOwnProperty(e)) {
@@ -1522,37 +1723,33 @@ var Obj;
}
i(e);
}
- function y(t, n) {
+ function h(t, n) {
if (t.paging.enabled) {
t.data.splice(n, 1);
- if (n === t._currentView.dataArrayCurrentIndex && t._currentView.dataArrayCurrentIndex > 0) {
- t._currentView.dataArrayCurrentIndex -= t.paging.columnsPerPage;
+ if (n === t._currentView.currentDataArrayPageIndex && t._currentView.currentDataArrayPageIndex > 0) {
+ t._currentView.currentDataArrayPageIndex -= t.paging.columnsPerPage;
}
} else {
t.data = null;
}
i(t);
- W(t, e.text.arrayJsonItemDeleted);
- }
- function h(t, n) {
- let l = o;
- if (Is.definedFunction(t.events.onCopyJsonReplacer)) {
- l = t.events.onCopyJsonReplacer;
- }
- let r = JSON.stringify(n, l, t.jsonIndentSpaces);
- navigator.clipboard.writeText(r);
- W(t, e.text.copiedText);
- Trigger.customEvent(t.events.onCopy, t._currentView.element, r);
+ $(t, e.text.arrayJsonItemDeleted);
}
function D(t, n) {
+ const o = JSON.stringify(Convert2.toJsonStringifyClone(n, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
+ navigator.clipboard.writeText(o);
+ $(t, e.text.copiedText);
+ Trigger.customEvent(t.events.onCopy, t._currentView.element, o);
+ }
+ function v(t, n) {
if (Is.definedString(t.title.text) || t.title.showCloseOpenAllButtons || t.title.showCopyButton || t.sideMenu.enabled || t.paging.enabled || t.title.enableFullScreenToggling) {
const o = DomElement.create(t._currentView.element, "div", "title-bar");
if (t.title.enableFullScreenToggling) {
- o.ondblclick = () => v(t);
+ o.ondblclick = () => V(t);
}
if (t.sideMenu.enabled) {
const n = DomElement.createWithHTML(o, "button", "side-menu", e.text.sideMenuButtonSymbolText);
- n.onclick = () => A(t);
+ n.onclick = () => M(t);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.sideMenuButtonText);
}
@@ -1562,13 +1759,13 @@ var Obj;
}
if (t.title.showCopyButton && Is.defined(n)) {
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "copy-all", e.text.copyButtonSymbolText);
- o.onclick = () => V(t, n);
+ o.onclick = () => S(t, n);
o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.copyAllButtonText);
}
if (t.title.showCloseOpenAllButtons && Is.defined(n)) {
const n = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "open-all", e.text.openAllButtonSymbolText);
- n.onclick = () => S(t);
+ n.onclick = () => B(t);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.openAllButtonText);
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "close-all", e.text.closeAllButtonSymbolText);
@@ -1580,15 +1777,15 @@ var Obj;
t._currentView.backButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "back", e.text.backButtonSymbolText);
t._currentView.backButton.ondblclick = DomElement.cancelBubble;
ToolTip.add(t._currentView.backButton, t, e.text.backButtonText);
- if (t._currentView.dataArrayCurrentIndex > 0) {
- t._currentView.backButton.onclick = () => B(t);
+ if (t._currentView.currentDataArrayPageIndex > 0) {
+ t._currentView.backButton.onclick = () => C(t);
} else {
t._currentView.backButton.disabled = true;
}
t._currentView.nextButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "next", e.text.nextButtonSymbolText);
t._currentView.nextButton.ondblclick = DomElement.cancelBubble;
ToolTip.add(t._currentView.nextButton, t, e.text.nextButtonText);
- if (t._currentView.dataArrayCurrentIndex + (t.paging.columnsPerPage - 1) < n.length - 1) {
+ if (t._currentView.currentDataArrayPageIndex + (t.paging.columnsPerPage - 1) < n.length - 1) {
t._currentView.nextButton.onclick = () => I(t);
} else {
t._currentView.nextButton.disabled = true;
@@ -1601,13 +1798,13 @@ var Obj;
if (t.title.enableFullScreenToggling && t.title.showFullScreenButton) {
const n = !t._currentView.fullScreenOn ? e.text.fullScreenOnButtonSymbolText : e.text.fullScreenOffButtonSymbolText;
t._currentView.toggleFullScreenButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "toggle-full-screen", n);
- t._currentView.toggleFullScreenButton.onclick = () => v(t);
+ t._currentView.toggleFullScreenButton.onclick = () => V(t);
t._currentView.toggleFullScreenButton.ondblclick = DomElement.cancelBubble;
ToolTip.add(t._currentView.toggleFullScreenButton, t, e.text.fullScreenButtonText);
}
}
}
- function v(t) {
+ function V(t) {
if (t.title.enableFullScreenToggling) {
if (t._currentView.element.classList.contains("full-screen")) {
t._currentView.element.classList.remove("full-screen");
@@ -1619,21 +1816,18 @@ var Obj;
t._currentView.fullScreenOn = true;
}
ToolTip.hide(t);
- k(t);
+ ContextMenu.hide(t);
+ F(t);
Trigger.customEvent(t.events.onFullScreenChange, t._currentView.element, t._currentView.element.classList.contains("full-screen"));
}
}
- function V(t, n) {
- let l = o;
- if (Is.definedFunction(t.events.onCopyJsonReplacer)) {
- l = t.events.onCopyJsonReplacer;
- }
- let r = JSON.stringify(n, l, t.jsonIndentSpaces);
- navigator.clipboard.writeText(r);
- W(t, e.text.copiedText);
- Trigger.customEvent(t.events.onCopyAll, t._currentView.element, r);
+ function S(t, n) {
+ const o = JSON.stringify(Convert2.toJsonStringifyClone(n, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
+ navigator.clipboard.writeText(o);
+ $(t, e.text.copiedText);
+ Trigger.customEvent(t.events.onCopyAll, t._currentView.element, o);
}
- function S(e) {
+ function B(e) {
e.showAllAsClosed = false;
e._currentView.contentPanelsOpen = {};
i(e);
@@ -1645,21 +1839,21 @@ var Obj;
i(e);
Trigger.customEvent(e.events.onCloseAll, e._currentView.element);
}
- function B(e) {
+ function C(e) {
if (e._currentView.backButton !== null && !e._currentView.backButton.disabled) {
- e._currentView.dataArrayCurrentIndex -= e.paging.columnsPerPage;
+ e._currentView.currentDataArrayPageIndex -= e.paging.columnsPerPage;
i(e, true);
Trigger.customEvent(e.events.onBackPage, e._currentView.element);
}
}
function I(e) {
if (e._currentView.nextButton !== null && !e._currentView.nextButton.disabled) {
- e._currentView.dataArrayCurrentIndex += e.paging.columnsPerPage;
+ e._currentView.currentDataArrayPageIndex += e.paging.columnsPerPage;
i(e, true);
Trigger.customEvent(e.events.onNextPage, e._currentView.element);
}
}
- function C(t) {
+ function _(t) {
if (t.sideMenu.enabled) {
t._currentView.disabledBackground = DomElement.create(t._currentView.element, "div", "side-menu-disabled-background");
t._currentView.disabledBackground.onclick = () => O(t);
@@ -1672,12 +1866,12 @@ var Obj;
const o = DomElement.create(n, "div", "side-menu-title-controls");
if (t.sideMenu.showExportButton && Is.definedObject(t.data)) {
const n = DomElement.createWithHTML(o, "button", "export", e.text.exportButtonSymbolText);
- n.onclick = () => se(t);
+ n.onclick = () => Te(t);
ToolTip.add(n, t, e.text.exportButtonText);
}
if (t.sideMenu.showImportButton) {
const n = DomElement.createWithHTML(o, "button", "import", e.text.importButtonSymbolText);
- n.onclick = () => _(t);
+ n.onclick = () => A(t);
ToolTip.add(n, t, e.text.importButtonText);
}
const l = DomElement.createWithHTML(o, "button", "close", e.text.closeButtonSymbolText);
@@ -1685,63 +1879,68 @@ var Obj;
ToolTip.add(l, t, e.text.closeButtonText);
if (Is.definedObject(t.data)) {
const e = DomElement.create(t._currentView.sideMenu, "div", "side-menu-contents");
- M(e, t);
+ L(e, t);
}
}
}
- function _(e) {
+ function A(e) {
const t = DomElement.createWithNoContainer("input");
t.type = "file";
t.accept = ".json";
t.multiple = true;
O(e);
- t.onchange = () => ie(t.files, e);
+ t.onchange = () => pe(t.files, e);
t.click();
}
- function A(e) {
+ function M(e) {
if (!e._currentView.sideMenu.classList.contains("side-menu-open")) {
e._currentView.sideMenu.classList.add("side-menu-open");
e._currentView.disabledBackground.style.display = "block";
ToolTip.hide(e);
+ ContextMenu.hide(e);
}
}
function O(t) {
+ let n = false;
if (t._currentView.sideMenu.classList.contains("side-menu-open")) {
t._currentView.sideMenu.classList.remove("side-menu-open");
t._currentView.disabledBackground.style.display = "none";
ToolTip.hide(t);
+ ContextMenu.hide(t);
if (t._currentView.sideMenuChanged) {
setTimeout((() => {
i(t);
- W(t, e.text.ignoreDataTypesUpdated);
+ $(t, e.text.ignoreDataTypesUpdated);
}), 500);
}
+ n = true;
}
+ return n;
}
- function M(t, n) {
+ function L(t, n) {
const o = [];
const l = DomElement.create(t, "div", "settings-panel");
const r = DomElement.create(l, "div", "settings-panel-title-bar");
DomElement.createWithHTML(r, "div", "settings-panel-title-text", `${e.text.showDataTypesText}:`);
const i = DomElement.create(r, "div", "settings-panel-control-buttons");
- const a = DomElement.create(i, "div", "settings-panel-control-button settings-panel-fill");
- const s = DomElement.create(i, "div", "settings-panel-control-button");
- a.onclick = () => L(n, o, true);
- s.onclick = () => L(n, o, false);
- ToolTip.add(a, n, e.text.selectAllText);
- ToolTip.add(s, n, e.text.selectNoneText);
+ const s = DomElement.create(i, "div", "settings-panel-control-button settings-panel-fill");
+ const a = DomElement.create(i, "div", "settings-panel-control-button");
+ s.onclick = () => j(n, o, true);
+ a.onclick = () => j(n, o, false);
+ ToolTip.add(s, n, e.text.selectAllText);
+ ToolTip.add(a, n, e.text.selectNoneText);
const u = DomElement.create(l, "div", "settings-panel-contents");
const c = Object.keys(DataType);
const d = n.ignore;
c.sort();
c.forEach(((e, t) => {
- const l = j(u, e, n, !d[`${e}Values`]);
+ const l = P(u, e, n, !d[`${e}Values`]);
if (Is.defined(l)) {
o.push(l);
}
}));
}
- function L(e, t, n) {
+ function j(e, t, n) {
const o = t.length;
const l = e.ignore;
for (let e = 0; e < o; e++) {
@@ -1750,18 +1949,18 @@ var Obj;
}
e._currentView.sideMenuChanged = true;
}
- function j(e, t, n, o) {
+ function P(e, t, n, o) {
let l = null;
const r = n._currentView.dataTypeCounts[t];
if (!n.sideMenu.showOnlyDataTypesAvailable || r > 0) {
let i = Str.capitalizeFirstLetter(t);
- let a = "";
+ let s = "";
if (n.sideMenu.showAvailableDataTypeCounts) {
if (n._currentView.dataTypeCounts.hasOwnProperty(t)) {
- a = `(${r})`;
+ s = `(${r})`;
}
}
- l = DomElement.createCheckBox(e, i, t, o, n.showValueColors ? t : "", a);
+ l = DomElement.createCheckBox(e, i, t, o, n.showValueColors ? t : "", s);
l.onchange = () => {
const e = n.ignore;
e[`${t}Values`] = !l.checked;
@@ -1771,10 +1970,10 @@ var Obj;
}
return l;
}
- function P(t) {
+ function N(t) {
if (t.footer.enabled && Is.defined(t.data)) {
t._currentView.footer = DomElement.create(t._currentView.element, "div", "footer-bar");
- k(t);
+ F(t);
t._currentView.footerStatusText = DomElement.createWithHTML(t._currentView.footer, "div", "status-text", e.text.waitingText);
if (t.footer.showDataTypes) {
t._currentView.footerDataTypeText = DomElement.create(t._currentView.footer, "div", "status-value-data-type");
@@ -1790,13 +1989,13 @@ var Obj;
}
if (t.paging.enabled && Is.definedArray(t.data) && t.data.length > 1 && t.footer.showPageOf) {
t._currentView.footerPageText = DomElement.create(t._currentView.footer, "div", "status-page-index");
- N(t);
+ k(t);
}
}
}
- function N(t) {
+ function k(t) {
if (t.paging.enabled) {
- const n = Math.ceil((t._currentView.dataArrayCurrentIndex + 1) / t.paging.columnsPerPage);
+ const n = Math.ceil((t._currentView.currentDataArrayPageIndex + 1) / t.paging.columnsPerPage);
const o = Math.ceil(t.data.length / t.paging.columnsPerPage);
const l = DomElement.createWithHTML(null, "span", "status-count", n.toFixed()).outerHTML;
const r = DomElement.createWithHTML(null, "span", "status-count", o.toFixed()).outerHTML;
@@ -1804,12 +2003,12 @@ var Obj;
t._currentView.footerPageText.innerHTML = i;
}
}
- function k(e) {
+ function F(e) {
if (Is.defined(e._currentView.footer)) {
e._currentView.footer.style.display = e._currentView.fullScreenOn ? "flex" : "none";
}
}
- function F(t, n, o) {
+ function R(t, n, o) {
if (t.footer.enabled && t.footer.showDataTypes) {
o.addEventListener("mousemove", (() => {
const o = DomElement.createWithHTML(null, "span", "status-count", n).outerHTML;
@@ -1823,9 +2022,9 @@ var Obj;
}));
}
}
- function R(t, n, o) {
+ function H(t, n, o) {
if (t.footer.enabled && t.footer.showLengths) {
- const l = Size.length(n);
+ const l = Size.length(n, t.showCssStylesForHtmlObjects);
if (l > 0) {
o.addEventListener("mousemove", (() => {
const n = DomElement.createWithHTML(null, "span", "status-count", l.toString()).outerHTML;
@@ -1840,9 +2039,9 @@ var Obj;
}
}
}
- function H(t, n, o) {
+ function W(t, n, o) {
if (t.footer.enabled && t.footer.showSizes) {
- const l = Size.of(n);
+ const l = Size.of(n, t.showCssStylesForHtmlObjects);
if (Is.definedString(l)) {
o.addEventListener("mousemove", (() => {
const n = DomElement.createWithHTML(null, "span", "status-count", l.toString()).outerHTML;
@@ -1857,7 +2056,7 @@ var Obj;
}
}
}
- function W(t, n) {
+ function $(t, n) {
if (t.footer.enabled) {
t._currentView.footerStatusText.innerHTML = n;
clearTimeout(t._currentView.footerStatusTextTimerId);
@@ -1866,22 +2065,22 @@ var Obj;
}), t.footer.statusResetDelay);
}
}
- function $(t, n, o, l, r) {
+ function J(t, n, o, l, r) {
const i = Obj.getPropertyNames(o, n);
- const a = i.length;
- if (a !== 0 || !n.ignore.emptyObjects) {
- let s = null;
+ const s = i.length;
+ if (s !== 0 || !n.ignore.emptyObjects) {
+ let a = null;
if (r === "object") {
- s = e.text.objectText;
+ a = e.text.objectText;
} else if (r === "map") {
- s = e.text.mapText;
+ a = e.text.mapText;
} else if (r === "html") {
- s = e.text.htmlText;
+ a = e.text.htmlText;
}
const u = DomElement.create(t, "div", "object-type-title");
const c = DomElement.create(t, "div", "object-type-contents last-item");
const d = n.showArrowToggles ? DomElement.create(u, "div", "down-arrow") : null;
- const f = DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} main-title` : "main-title", s);
+ const f = DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} main-title` : "main-title", a);
let g = null;
let m = null;
G(c, n);
@@ -1893,21 +2092,24 @@ var Obj;
DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} data-array-index` : "data-array-index", t, f);
DomElement.createWithHTML(u, "span", "split", e.text.propertyColonCharacter, f);
}
- if (n.showObjectSizes && a > 0) {
+ if (n.showObjectSizes && s > 0) {
if (r === "html") {
- DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `<${a}>`);
+ DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `<${s}>`);
} else {
- DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `{${a}}`);
+ DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `{${s}}`);
}
}
if (n.showOpeningClosingCurlyBraces) {
g = DomElement.createWithHTML(u, "span", "opening-symbol", "{");
+ }
+ if (n.showClosedObjectCurlyBraces) {
m = DomElement.createWithHTML(u, "span", "closed-symbols", "{ ... }");
}
- J(d, null, c, n, o, i, g, m, false, true, "", r, r !== "object");
- q(n, f, o, r, false);
+ U(d, null, c, n, o, i, g, m, false, true, "", r, r !== "object");
+ te(n, f, o, r, false);
+ W(n, o, f);
H(n, o, f);
- R(n, o, f);
+ ae(n, u, false, o, o, null, false, null);
}
}
function z(t, n, o, l) {
@@ -1918,28 +2120,31 @@ var Obj;
r = e.text.arrayText;
}
const i = DomElement.create(t, "div", "object-type-title");
- const a = DomElement.create(t, "div", "object-type-contents last-item");
- const s = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
+ const s = DomElement.create(t, "div", "object-type-contents last-item");
+ const a = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
const u = DomElement.createWithHTML(i, "span", n.showValueColors ? `${l} main-title` : "main-title", r);
let c = null;
let d = null;
- G(a, n);
+ G(s, n);
if (n.showObjectSizes) {
DomElement.createWithHTML(i, "span", n.showValueColors ? `${l} size` : "size", `[${o.length}]`);
}
- if (n.showOpeningClosingCurlyBraces) {
+ if (n.showOpeningClosingSquaredBrackets) {
c = DomElement.createWithHTML(i, "span", "opening-symbol", "[");
+ }
+ if (n.showClosedArraySquaredBrackets) {
d = DomElement.createWithHTML(i, "span", "closed-symbols", "[ ... ]");
}
- U(s, null, a, n, o, c, d, false, true, "", l, l !== "array");
- q(n, u, o, l, false);
+ q(a, null, s, n, o, c, d, false, true, "", l, l !== "array");
+ te(n, u, o, l, false);
+ W(n, o, u);
H(n, o, u);
- R(n, o, u);
+ ae(n, i, false, o, o, null, false, null);
}
- function J(t, n, o, l, r, i, a, s, u, c, d, f, g) {
+ function U(t, n, o, l, r, i, s, a, u, c, d, f, g) {
let m = true;
const p = i.length;
- const T = d !== "" ? p : 0;
+ const x = d !== "" ? p : 0;
if (p === 0 && !l.ignore.emptyObjects) {
Z(r, o, l, "", e.text.noPropertiesText, true, false, "", f, g);
m = false;
@@ -1956,14 +2161,14 @@ var Obj;
m = false;
} else {
if (l.showOpeningClosingCurlyBraces) {
- ne(l, o, "}", u, c);
+ le(l, o, "}", u, c);
}
}
}
- ee(l, t, n, o, a, s, T, f);
+ ne(l, t, n, o, s, a, x, f);
return m;
}
- function U(t, n, o, l, r, i, a, s, u, c, d, f) {
+ function q(t, n, o, l, r, i, s, a, u, c, d, f) {
let g = true;
const m = r.length;
const p = c !== "" ? m : 0;
@@ -1984,551 +2189,568 @@ var Obj;
Z(r, o, l, "", e.text.noPropertiesText, true, false, "", d, f);
g = false;
} else {
- if (l.showOpeningClosingCurlyBraces) {
- ne(l, o, "]", s, u);
+ if (l.showOpeningClosingSquaredBrackets) {
+ le(l, o, "]", a, u);
}
}
- ee(l, t, n, o, i, a, p, d);
+ ne(l, t, n, o, i, s, p, d);
return g;
}
- function Z(t, n, o, l, r, i, a, s, u, c) {
+ function Z(t, n, o, l, r, i, s, a, u, c) {
const d = DomElement.create(n, "div", "object-type-value");
- const f = o.showArrowToggles ? DomElement.create(d, "div", "no-arrow") : null;
- let g = null;
+ const f = DomElement.create(d, "div", "object-type-value-title");
+ const g = o.showArrowToggles ? DomElement.create(f, "div", "no-arrow") : null;
let m = null;
- let p = false;
+ let p = null;
+ let x = false;
let T = false;
- let x = null;
- let b = DomElement.create(d, "span", "title");
- let w = false;
- let y = null;
- const h = !Is.definedString(l);
- let D = true;
- if (!h) {
- if (a || !o.showPropertyNameQuotes) {
- b.innerHTML = l;
+ let b = null;
+ let w = DomElement.create(f, "span");
+ let y = false;
+ let h = null;
+ const D = !Is.definedString(l);
+ let v = true;
+ let V = null;
+ const S = o._currentView.currentColumnBuildingIndex;
+ if (!D) {
+ if (s || !o.showPropertyNameQuotes) {
+ w.innerHTML = l;
} else {
- b.innerHTML = `"${l}"`;
+ w.innerHTML = `"${l}"`;
}
- if (a && !o.showChildIndexes) {
- b.parentNode.removeChild(b);
- b = null;
+ if (s && !o.showChildIndexes) {
+ w.parentNode.removeChild(w);
+ w = null;
}
} else {
- b.parentNode.removeChild(b);
- b = null;
+ w.parentNode.removeChild(w);
+ w = null;
}
if (i) {
d.classList.add("last-item");
}
- if (o.showDataTypes) {
- y = DomElement.createWithHTML(d, "span", o.showValueColors ? "type-color" : "type", "");
+ if (o.showDataTypes && !D) {
+ h = DomElement.createWithHTML(f, "span", o.showValueColors ? "data-type-color" : "data-type", "");
}
- if (Is.defined(b) && !h && o.showValueColors && o.showPropertyNameAndIndexColors) {
- b.classList.add(u);
+ if (Is.defined(w) && !D && o.showValueColors && o.showPropertyNameAndIndexColors) {
+ w.classList.add(u);
}
- if (Is.defined(b) && !h) {
- DomElement.createWithHTML(d, "span", "split", e.text.propertyColonCharacter);
+ if (Is.defined(w) && !D) {
+ DomElement.createWithHTML(f, "span", "split", e.text.propertyColonCharacter);
if (!c) {
- Q(o, t, l, b, a);
+ Q(o, t, l, w, s);
} else {
- b.ondblclick = DomElement.cancelBubble;
+ w.ondblclick = DomElement.cancelBubble;
}
- if (Is.definedString(s)) {
- d.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_PATH_NAME, s);
+ if (Is.definedString(a)) {
+ f.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_PATH_NAME, a);
}
- if (!a) {
- H(o, l, b);
- R(o, l, b);
+ if (!s) {
+ W(o, l, w);
+ H(o, l, w);
}
+ re(o, f, a, S, r);
}
if (r === null) {
- x = "null";
+ b = "null";
if (!o.ignore.nullValues) {
- g = o.showValueColors ? `${x} value undefined-or-null` : "value undefined-or-null";
- m = DomElement.createWithHTML(d, "span", g, "null");
+ m = o.showValueColors ? `${b} value undefined-or-null` : "value undefined-or-null";
+ p = DomElement.createWithHTML(f, "span", m, "null");
if (Is.definedFunction(o.events.onNullRender)) {
- Trigger.customEvent(o.events.onNullRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onNullRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (r === void 0) {
- x = "undefined";
+ b = "undefined";
if (!o.ignore.undefinedValues) {
- g = o.showValueColors ? `${x} value undefined-or-null` : "value undefined-or-null";
- m = DomElement.createWithHTML(d, "span", g, "undefined");
+ m = o.showValueColors ? `${b} value undefined-or-null` : "value undefined-or-null";
+ p = DomElement.createWithHTML(f, "span", m, "undefined");
if (Is.definedFunction(o.events.onUndefinedRender)) {
- Trigger.customEvent(o.events.onUndefinedRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onUndefinedRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedFunction(r)) {
const t = Default.getFunctionName(r, e);
if (t.isLambda) {
- x = "lambda";
+ b = "lambda";
if (!o.ignore.lambdaValues) {
- g = o.showValueColors ? `${x} value non-value` : "value non-value";
- m = DomElement.createWithHTML(d, "span", g, t.name);
+ m = o.showValueColors ? `${b} value non-value` : "value non-value";
+ p = DomElement.createWithHTML(f, "span", m, t.name);
if (Is.definedFunction(o.events.onLambdaRender)) {
- Trigger.customEvent(o.events.onLambdaRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onLambdaRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else {
- x = "function";
+ b = "function";
if (!o.ignore.functionValues) {
- g = o.showValueColors ? `${x} value non-value` : "value non-value";
- m = DomElement.createWithHTML(d, "span", g, t.name);
+ m = o.showValueColors ? `${b} value non-value` : "value non-value";
+ p = DomElement.createWithHTML(f, "span", m, t.name);
if (Is.definedFunction(o.events.onFunctionRender)) {
- Trigger.customEvent(o.events.onFunctionRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onFunctionRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
}
} else if (Is.definedBoolean(r)) {
- x = "boolean";
+ b = "boolean";
if (!o.ignore.booleanValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.booleanValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.booleanValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onBooleanRender)) {
- Trigger.customEvent(o.events.onBooleanRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onBooleanRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedFloat(r)) {
- x = "float";
+ b = "float";
if (!o.ignore.floatValues) {
const e = Convert2.numberToFloatWithDecimalPlaces(r, o.maximumDecimalPlaces);
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, e);
- w = o.allowEditing.floatValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, e);
+ y = o.allowEditing.floatValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onFloatRender)) {
- Trigger.customEvent(o.events.onFloatRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onFloatRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedNumber(r)) {
- x = "number";
+ b = "number";
if (!o.ignore.numberValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.numberValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.numberValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onNumberRender)) {
- Trigger.customEvent(o.events.onNumberRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onNumberRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedBigInt(r)) {
- x = "bigint";
+ b = "bigint";
if (!o.ignore.bigintValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.bigIntValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.bigIntValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onBigIntRender)) {
- Trigger.customEvent(o.events.onBigIntRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onBigIntRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && Is.String.guid(r)) {
- x = "guid";
+ b = "guid";
if (!o.ignore.guidValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.guidValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.guidValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onGuidRender)) {
- Trigger.customEvent(o.events.onGuidRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onGuidRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && (Is.String.hexColor(r) || Is.String.rgbColor(r))) {
- x = "color";
+ b = "color";
if (!o.ignore.colorValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.colorValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.colorValues && !c;
if (o.showValueColors) {
- m.style.color = r;
+ p.style.color = r;
}
- X(o, t, l, r, m, a, w);
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onColorRender)) {
- Trigger.customEvent(o.events.onColorRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onColorRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && Is.definedUrl(r)) {
- x = "url";
+ b = "url";
if (!o.ignore.urlValues) {
let n = r;
- let s = null;
if (o.maximumUrlLength > 0 && n.length > o.maximumUrlLength) {
n = `${n.substring(0, o.maximumUrlLength)}${" "}${e.text.ellipsisText}${" "}`;
}
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, n);
- w = o.allowEditing.urlValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, n);
+ y = o.allowEditing.urlValues && !c;
if (o.showUrlOpenButtons) {
- s = DomElement.createWithHTML(d, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
- s.onclick = () => window.open(r);
+ V = DomElement.createWithHTML(f, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
+ V.onclick = () => window.open(r);
}
- X(o, t, l, r, m, a, w, s);
+ X(o, t, l, r, p, s, y, V);
if (Is.definedFunction(o.events.onUrlRender)) {
- Trigger.customEvent(o.events.onUrlRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onUrlRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && Is.definedEmail(r)) {
- x = "email";
+ b = "email";
if (!o.ignore.emailValues) {
let n = r;
- let s = null;
if (o.maximumEmailLength > 0 && n.length > o.maximumEmailLength) {
n = `${n.substring(0, o.maximumEmailLength)}${" "}${e.text.ellipsisText}${" "}`;
}
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, n);
- w = o.allowEditing.emailValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, n);
+ y = o.allowEditing.emailValues && !c;
if (o.showEmailOpenButtons) {
- s = DomElement.createWithHTML(d, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
- s.onclick = () => window.open(`mailto:${r}`);
+ V = DomElement.createWithHTML(f, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
+ V.onclick = () => window.open(`mailto:${r}`);
}
- X(o, t, l, r, m, a, w, s);
+ X(o, t, l, r, p, s, y, V);
if (Is.definedFunction(o.events.onEmailRender)) {
- Trigger.customEvent(o.events.onEmailRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onEmailRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r)) {
- x = "string";
- if (!o.ignore.stringValues || h) {
+ b = "string";
+ if (!o.ignore.stringValues || D) {
if (o.parse.stringsToBooleans && Is.String.boolean(r)) {
- Z(t, n, o, l, r.toString().toLowerCase().trim() === "true", i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, r.toString().toLowerCase().trim() === "true", i, s, a, u, c);
+ x = true;
T = true;
} else if (o.parse.stringsToNumbers && Is.String.bigInt(r)) {
- Z(t, n, o, l, Convert2.stringToBigInt(r), i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, Convert2.stringToBigInt(r), i, s, a, u, c);
+ x = true;
T = true;
} else if (o.parse.stringsToNumbers && !isNaN(r)) {
- Z(t, n, o, l, parseFloat(r), i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, parseFloat(r), i, s, a, u, c);
+ x = true;
T = true;
} else if (o.parse.stringsToDates && Is.String.date(r)) {
- Z(t, n, o, l, new Date(r), i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, new Date(r), i, s, a, u, c);
+ x = true;
+ T = true;
+ } else if (o.parse.stringsToSymbols && Is.String.symbol(r)) {
+ Z(t, n, o, l, Symbol(Convert2.symbolToString(r)), i, s, a, u, c);
+ x = true;
T = true;
} else {
let n = r;
- if (!h) {
+ if (!D) {
if (o.maximumStringLength > 0 && n.length > o.maximumStringLength) {
n = `${n.substring(0, o.maximumStringLength)}${" "}${e.text.ellipsisText}${" "}`;
}
n = o.showStringQuotes ? `"${n}"` : n;
- g = o.showValueColors ? `${x} value` : "value";
- w = o.allowEditing.stringValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ y = o.allowEditing.stringValues && !c;
} else {
- g = "no-properties-text";
- w = false;
- D = false;
+ m = "no-properties-text";
+ y = false;
+ v = false;
}
- m = DomElement.createWithHTML(d, "span", g, n);
- if (!h) {
- X(o, t, l, r, m, a, w);
+ p = DomElement.createWithHTML(f, "span", m, n);
+ if (!D) {
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onStringRender)) {
- Trigger.customEvent(o.events.onStringRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onStringRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
}
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedDate(r)) {
- x = "date";
+ b = "date";
if (!o.ignore.dateValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, DateTime.getCustomFormattedDateText(e, r, o.dateTimeFormat));
- w = o.allowEditing.dateValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, DateTime.getCustomFormattedDateText(e, r, o.dateTimeFormat));
+ y = o.allowEditing.dateValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onDateRender)) {
- Trigger.customEvent(o.events.onDateRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onDateRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedSymbol(r)) {
- x = "symbol";
+ b = "symbol";
if (!o.ignore.symbolValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r.toString());
- w = o.allowEditing.symbolValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r.toString());
+ y = o.allowEditing.symbolValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onSymbolRender)) {
- Trigger.customEvent(o.events.onSymbolRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onSymbolRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedRegExp(r)) {
- x = "regexp";
+ b = "regexp";
if (!o.ignore.regexpValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r.source.toString());
- w = o.allowEditing.regExpValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r.source.toString());
+ y = o.allowEditing.regExpValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onRegExpRender)) {
- Trigger.customEvent(o.events.onRegExpRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onRegExpRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedImage(r)) {
- x = "image";
+ b = "image";
if (!o.ignore.imageValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.create(d, "span", g);
- w = o.allowEditing.imageValues && !c;
- X(o, t, l, r, m, a, w);
- const e = DomElement.create(m, "img");
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.create(f, "span", m);
+ y = o.allowEditing.imageValues && !c;
+ X(o, t, l, r, p, s, y);
+ const e = DomElement.create(p, "img");
e.src = r.src;
if (Is.definedFunction(o.events.onImageRender)) {
- Trigger.customEvent(o.events.onImageRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onImageRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedHtml(r)) {
- x = "html";
+ b = "html";
if (!o.ignore.htmlValues) {
const t = Convert2.htmlToObject(r, o.showCssStylesForHtmlObjects);
const n = Obj.getPropertyNames(t, o);
const l = n.length;
if (l === 0 && o.ignore.emptyObjects) {
- p = true;
+ x = true;
} else {
- const r = DomElement.create(d, "span", o.showValueColors ? x : "");
- const a = DomElement.create(d, "div", "object-type-contents");
+ const r = DomElement.create(f, "span", o.showValueColors ? b : "");
+ const s = DomElement.create(d, "div", "object-type-contents");
let u = null;
let c = null;
- G(a, o);
+ G(s, o);
if (i) {
- a.classList.add("last-item");
+ s.classList.add("last-item");
}
- m = DomElement.createWithHTML(r, "span", "main-title", e.text.htmlText);
+ p = DomElement.createWithHTML(r, "span", "main-title", e.text.htmlText);
if (o.showObjectSizes && (l > 0 || !o.ignore.emptyObjects)) {
DomElement.createWithHTML(r, "span", "size", `<${l}>`);
}
if (o.showOpeningClosingCurlyBraces) {
u = DomElement.createWithHTML(r, "span", "opening-symbol", "{");
+ }
+ if (o.showClosedObjectCurlyBraces) {
c = DomElement.createWithHTML(r, "span", "closed-symbols", "{ ... }");
}
- let g = te(o, r, i);
- const p = J(f, g, a, o, t, n, u, c, true, i, s, x, true);
- if (!p && o.showOpeningClosingCurlyBraces) {
+ const m = oe(o, r, i);
+ const x = U(g, m, s, o, t, n, u, c, true, i, a, b, true);
+ if (!x && o.showOpeningClosingCurlyBraces) {
u.parentNode.removeChild(u);
c.parentNode.removeChild(c);
}
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedSet(r)) {
- x = "set";
+ b = "set";
if (!o.ignore.setValues) {
const t = Convert2.setToArray(r);
- const n = DomElement.create(d, "span", o.showValueColors ? x : "");
+ const n = DomElement.create(f, "span", o.showValueColors ? b : "");
const l = DomElement.create(d, "div", "object-type-contents");
- let a = null;
+ let s = null;
let u = null;
G(l, o);
if (i) {
l.classList.add("last-item");
}
- m = DomElement.createWithHTML(n, "span", "main-title", e.text.setText);
+ p = DomElement.createWithHTML(n, "span", "main-title", e.text.setText);
if (o.showObjectSizes) {
DomElement.createWithHTML(n, "span", "size", `[${t.length}]`);
}
- if (o.showOpeningClosingCurlyBraces) {
- a = DomElement.createWithHTML(n, "span", "opening-symbol", "[");
+ if (o.showOpeningClosingSquaredBrackets) {
+ s = DomElement.createWithHTML(n, "span", "opening-symbol", "[");
+ }
+ if (o.showClosedArraySquaredBrackets) {
u = DomElement.createWithHTML(n, "span", "closed-symbols", "[ ... ]");
}
- let c = te(o, n, i);
- const g = U(f, c, l, o, t, a, u, true, i, s, x, true);
- if (!g && o.showOpeningClosingCurlyBraces) {
- a.parentNode.removeChild(a);
+ const c = oe(o, n, i);
+ const m = q(g, c, l, o, t, s, u, true, i, a, b, true);
+ if (!m && o.showOpeningClosingSquaredBrackets) {
+ s.parentNode.removeChild(s);
u.parentNode.removeChild(u);
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedArray(r)) {
- x = "array";
+ b = "array";
if (!o.ignore.arrayValues) {
- const t = DomElement.create(d, "span", o.showValueColors ? x : "");
+ const t = DomElement.create(f, "span", o.showValueColors ? b : "");
const n = DomElement.create(d, "div", "object-type-contents");
let l = null;
- let a = null;
+ let s = null;
G(n, o);
if (i) {
n.classList.add("last-item");
}
- m = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
+ p = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
if (o.showObjectSizes) {
DomElement.createWithHTML(t, "span", "size", `[${r.length}]`);
}
- if (o.showOpeningClosingCurlyBraces) {
+ if (o.showOpeningClosingSquaredBrackets) {
l = DomElement.createWithHTML(t, "span", "opening-symbol", "[");
- a = DomElement.createWithHTML(t, "span", "closed-symbols", "[ ... ]");
}
- let u = te(o, t, i);
- const c = U(f, u, n, o, r, l, a, true, i, s, x, false);
- if (!c && o.showOpeningClosingCurlyBraces) {
+ if (o.showClosedArraySquaredBrackets) {
+ s = DomElement.createWithHTML(t, "span", "closed-symbols", "[ ... ]");
+ }
+ const u = oe(o, t, i);
+ const c = q(g, u, n, o, r, l, s, true, i, a, b, false);
+ if (!c && o.showOpeningClosingSquaredBrackets) {
l.parentNode.removeChild(l);
- a.parentNode.removeChild(a);
+ s.parentNode.removeChild(s);
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedMap(r)) {
- x = "map";
+ b = "map";
if (!o.ignore.mapValues) {
const t = Convert2.mapToObject(r);
const n = Obj.getPropertyNames(t, o);
const l = n.length;
if (l === 0 && o.ignore.emptyObjects) {
- p = true;
+ x = true;
} else {
- const r = DomElement.create(d, "span", o.showValueColors ? x : "");
- const a = DomElement.create(d, "div", "object-type-contents");
+ const r = DomElement.create(f, "span", o.showValueColors ? b : "");
+ const s = DomElement.create(d, "div", "object-type-contents");
let u = null;
let c = null;
- G(a, o);
+ G(s, o);
if (i) {
- a.classList.add("last-item");
+ s.classList.add("last-item");
}
- m = DomElement.createWithHTML(r, "span", "main-title", e.text.mapText);
+ p = DomElement.createWithHTML(r, "span", "main-title", e.text.mapText);
if (o.showObjectSizes && (l > 0 || !o.ignore.emptyObjects)) {
DomElement.createWithHTML(r, "span", "size", `{${l}}`);
}
if (o.showOpeningClosingCurlyBraces) {
u = DomElement.createWithHTML(r, "span", "opening-symbol", "{");
+ }
+ if (o.showClosedObjectCurlyBraces) {
c = DomElement.createWithHTML(r, "span", "closed-symbols", "{ ... }");
}
- let g = te(o, r, i);
- const p = J(f, g, a, o, t, n, u, c, true, i, s, x, true);
- if (!p && o.showOpeningClosingCurlyBraces) {
+ const m = oe(o, r, i);
+ const x = U(g, m, s, o, t, n, u, c, true, i, a, b, true);
+ if (!x && o.showOpeningClosingCurlyBraces) {
u.parentNode.removeChild(u);
c.parentNode.removeChild(c);
}
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedObject(r)) {
- x = "object";
+ b = "object";
if (!o.ignore.objectValues) {
const t = Obj.getPropertyNames(r, o);
const n = t.length;
if (n === 0 && o.ignore.emptyObjects) {
- p = true;
+ x = true;
} else {
- const l = DomElement.create(d, "span", o.showValueColors ? x : "");
- const a = DomElement.create(d, "div", "object-type-contents");
+ const l = DomElement.create(f, "span", o.showValueColors ? b : "");
+ const s = DomElement.create(d, "div", "object-type-contents");
let u = null;
let c = null;
- G(a, o);
+ G(s, o);
if (i) {
- a.classList.add("last-item");
+ s.classList.add("last-item");
}
- m = DomElement.createWithHTML(l, "span", "main-title", e.text.objectText);
+ p = DomElement.createWithHTML(l, "span", "main-title", e.text.objectText);
if (o.showObjectSizes && (n > 0 || !o.ignore.emptyObjects)) {
DomElement.createWithHTML(l, "span", "size", `{${n}}`);
}
if (o.showOpeningClosingCurlyBraces) {
u = DomElement.createWithHTML(l, "span", "opening-symbol", "{");
+ }
+ if (o.showClosedObjectCurlyBraces) {
c = DomElement.createWithHTML(l, "span", "closed-symbols", "{ ... }");
}
- let g = te(o, l, i);
- const p = J(f, g, a, o, r, t, u, c, true, i, s, x, false);
- if (!p && o.showOpeningClosingCurlyBraces) {
+ const m = oe(o, l, i);
+ const x = U(g, m, s, o, r, t, u, c, true, i, a, b, false);
+ if (!x && o.showOpeningClosingCurlyBraces) {
u.parentNode.removeChild(u);
c.parentNode.removeChild(c);
}
}
} else {
- p = true;
+ x = true;
}
} else {
- x = "unknown";
+ b = "unknown";
if (!o.ignore.unknownValues) {
- g = o.showValueColors ? `${x} value non-value` : "value non-value";
- m = DomElement.createWithHTML(d, "span", g, r.toString());
+ m = o.showValueColors ? `${b} value non-value` : "value non-value";
+ p = DomElement.createWithHTML(f, "span", m, r.toString());
if (Is.definedFunction(o.events.onUnknownRender)) {
- Trigger.customEvent(o.events.onUnknownRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onUnknownRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
}
- if (!h && !T) {
- Y(o, x);
+ if (!D && !T) {
+ Y(o, b);
}
- if (p) {
+ if (x) {
n.removeChild(d);
} else {
- if (Is.defined(m)) {
- if (!h) {
- H(o, r, m);
- R(o, r, m);
- F(o, x, m);
- }
- if (Is.defined(y)) {
- if (x !== "null" && x !== "undefined" && x !== "array" && x !== "object" && x !== "map" && x !== "set") {
- y.innerHTML = `(${x})`;
+ if (Is.defined(p)) {
+ if (!D) {
+ W(o, r, p);
+ H(o, r, p);
+ R(o, b, p);
+ ae(o, p, y, t, r, l, s, V);
+ }
+ if (Is.defined(h)) {
+ if (b !== "null" && b !== "undefined" && b !== "array" && b !== "object" && b !== "map" && b !== "set") {
+ h.innerHTML = `(${b})`;
} else {
- y.parentNode.removeChild(y);
- y = null;
+ h.parentNode.removeChild(h);
+ h = null;
}
}
- if (D) {
- K(o, s, b, y, m);
- q(o, m, r, x, w);
+ if (v) {
+ K(o, a, w, h, p);
+ te(o, p, r, b, y);
} else {
- m.ondblclick = DomElement.cancelBubble;
+ p.ondblclick = DomElement.cancelBubble;
}
}
}
@@ -2570,17 +2792,17 @@ var Obj;
}
function Q(t, n, o, l, r) {
if (t.allowEditing.propertyNames) {
- l.ondblclick = a => {
- DomElement.cancelBubble(a);
- let s = 0;
+ l.ondblclick = s => {
+ DomElement.cancelBubble(s);
+ let a = 0;
let u = null;
clearTimeout(t._currentView.valueClickTimerId);
t._currentView.valueClickTimerId = 0;
t._currentView.editMode = true;
l.classList.add("editable-name");
if (r) {
- s = Arr.getIndexFromBrackets(l.innerHTML);
- l.innerHTML = s.toString();
+ a = Arr.getIndexFromBrackets(l.innerHTML);
+ l.innerHTML = a.toString();
} else {
l.innerHTML = l.innerHTML.replace(/['"]+/g, "");
}
@@ -2590,7 +2812,7 @@ var Obj;
l.onblur = () => {
i(t, false);
if (Is.definedString(u)) {
- W(t, u);
+ $(t, u);
}
};
l.onkeydown = i => {
@@ -2599,30 +2821,33 @@ var Obj;
l.setAttribute("contenteditable", "false");
} else if (i.code === "Enter") {
i.preventDefault();
- const a = l.innerText;
+ const s = l.innerText;
if (r) {
- if (!isNaN(+a)) {
- let o = +a;
+ if (Is.definedString(s) && !isNaN(+s)) {
+ let o = +s;
if (!t.useZeroIndexingForArrays) {
o--;
}
- if (s !== o) {
+ if (a !== o) {
u = e.text.indexUpdatedText;
- Arr.moveIndex(n, s, o);
+ Arr.moveIndex(n, a, o);
Trigger.customEvent(t.events.onJsonEdit, t._currentView.element);
}
+ } else {
+ n.splice(Arr.getIndexFromBrackets(o), 1);
+ u = e.text.itemDeletedText;
}
} else {
- if (a !== o) {
- if (a.trim() === "") {
+ if (s !== o) {
+ if (s.trim() === "") {
u = e.text.itemDeletedText;
delete n[o];
} else {
- if (!n.hasOwnProperty(a)) {
+ if (!n.hasOwnProperty(s)) {
u = e.text.nameUpdatedText;
const t = n[o];
delete n[o];
- n[a] = t;
+ n[s] = t;
}
}
Trigger.customEvent(t.events.onJsonEdit, t._currentView.element);
@@ -2634,175 +2859,322 @@ var Obj;
};
}
}
- function X(t, n, o, l, r, a, s, u = null) {
- if (s) {
- r.ondblclick = s => {
- let c = null;
- DomElement.cancelBubble(s);
- clearTimeout(t._currentView.valueClickTimerId);
- t._currentView.valueClickTimerId = 0;
- t._currentView.editMode = true;
- r.classList.add("editable");
- r.setAttribute("contenteditable", "true");
- if (Is.definedDate(l) && !t.includeTimeZoneInDateTimeEditing) {
- r.innerText = JSON.stringify(l).replace(/['"]+/g, "");
- } else if (Is.definedRegExp(l)) {
- r.innerText = l.source;
- } else if (Is.definedSymbol(l)) {
- r.innerText = Convert2.symbolToString(l);
- } else if (Is.definedImage(l)) {
- r.innerText = l.src;
- } else {
- r.innerText = l.toString();
- }
- r.focus();
- DomElement.selectAllText(r);
- if (Is.defined(u)) {
- u.parentNode.removeChild(u);
- }
- r.onblur = () => {
- i(t, false);
- if (Is.definedString(c)) {
- W(t, c);
+ function X(e, t, n, o, l, r, i, s = null) {
+ if (i) {
+ l.ondblclick = i => {
+ ee(i, e, t, n, o, l, r, s);
+ };
+ }
+ }
+ function ee(t, n, o, l, r, s, a, u = null) {
+ let c = null;
+ DomElement.cancelBubble(t);
+ clearTimeout(n._currentView.valueClickTimerId);
+ n._currentView.valueClickTimerId = 0;
+ n._currentView.editMode = true;
+ s.classList.add("editable");
+ s.setAttribute("contenteditable", "true");
+ if (Is.definedDate(r) && !n.includeTimeZoneInDates) {
+ s.innerText = JSON.stringify(r).replace(/['"]+/g, "");
+ } else if (Is.definedRegExp(r)) {
+ s.innerText = r.source;
+ } else if (Is.definedSymbol(r)) {
+ s.innerText = Convert2.symbolToString(r);
+ } else if (Is.definedImage(r)) {
+ s.innerText = r.src;
+ } else {
+ s.innerText = r.toString();
+ }
+ s.focus();
+ DomElement.selectAllText(s);
+ if (Is.defined(u)) {
+ u.parentNode.removeChild(u);
+ }
+ s.onblur = () => {
+ i(n, false);
+ if (Is.definedString(c)) {
+ $(n, c);
+ }
+ };
+ s.onkeydown = t => {
+ if (t.code === "Escape") {
+ t.preventDefault();
+ s.setAttribute("contenteditable", "false");
+ } else if (t.code === "Enter") {
+ t.preventDefault();
+ const i = s.innerText;
+ if (i.trim() === "") {
+ if (a) {
+ o.splice(Arr.getIndexFromBrackets(l), 1);
+ } else {
+ delete o[l];
}
- };
- r.onkeydown = i => {
- if (i.code === "Escape") {
- i.preventDefault();
- r.setAttribute("contenteditable", "false");
- } else if (i.code === "Enter") {
- i.preventDefault();
- const s = r.innerText;
- if (s.trim() === "") {
- if (a) {
- n.splice(Arr.getIndexFromBrackets(o), 1);
- } else {
- delete n[o];
- }
- c = e.text.itemDeletedText;
+ c = e.text.itemDeletedText;
+ } else {
+ let t = Convert2.stringToDataTypeValue(r, i);
+ if (t !== null) {
+ if (a) {
+ o[Arr.getIndexFromBrackets(l)] = t;
} else {
- let r = Convert2.stringToDataTypeValue(l, s);
- if (r !== null) {
- if (a) {
- n[Arr.getIndexFromBrackets(o)] = r;
- } else {
- n[o] = r;
- }
- c = e.text.valueUpdatedText;
- Trigger.customEvent(t.events.onJsonEdit, t._currentView.element);
- }
+ o[l] = t;
}
- r.setAttribute("contenteditable", "false");
+ c = e.text.valueUpdatedText;
+ Trigger.customEvent(n.events.onJsonEdit, n._currentView.element);
}
- };
- };
- }
+ }
+ s.setAttribute("contenteditable", "false");
+ }
+ };
}
- function q(e, t, n, o, l) {
- if (Is.definedFunction(e.events.onValueClick)) {
- t.onclick = () => {
- if (l) {
- e._currentView.valueClickTimerId = setTimeout((() => {
- if (!e._currentView.editMode) {
- Trigger.customEvent(e.events.onValueClick, e._currentView.element, n, o);
+ function te(t, n, o, l, r) {
+ if (Is.definedFunction(t.events.onValueClick)) {
+ n.onclick = () => {
+ let i = o;
+ if (t.convertClickedValuesToString) {
+ i = JSON.stringify(Convert2.toJsonStringifyClone(o, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
+ }
+ if (r) {
+ t._currentView.valueClickTimerId = setTimeout((() => {
+ if (!t._currentView.editMode) {
+ Trigger.customEvent(t.events.onValueClick, t._currentView.element, i, l);
}
- }), e.editingValueClickDelay);
+ }), t.editingValueClickDelay);
} else {
- t.ondblclick = DomElement.cancelBubble;
- Trigger.customEvent(e.events.onValueClick, e._currentView.element, n, o);
+ n.ondblclick = DomElement.cancelBubble;
+ Trigger.customEvent(t.events.onValueClick, t._currentView.element, i, l);
}
};
} else {
- t.classList.add("no-hover");
+ n.classList.add("no-hover");
}
}
- function ee(e, t, n, o, l, r, i, a) {
- const s = e._currentView.contentPanelsIndex;
- const u = e._currentView.contentPanelsDataIndex;
- if (!e._currentView.contentPanelsOpen.hasOwnProperty(u)) {
- e._currentView.contentPanelsOpen[u] = {};
+ function ne(e, t, n, l, r, i, s, a) {
+ const u = e._currentView.contentPanelsIndex;
+ const c = e._currentView.contentPanelsDataIndex;
+ const d = e._currentView.currentColumnBuildingIndex;
+ const f = e._currentView.currentContentColumns[d];
+ if (!e._currentView.contentPanelsOpen.hasOwnProperty(c)) {
+ e._currentView.contentPanelsOpen[c] = {};
}
- const c = () => {
- o.style.display = "none";
- e._currentView.contentPanelsOpen[u][s] = true;
+ const g = (o = true) => {
+ l.style.display = "none";
+ e._currentView.contentPanelsOpen[c][u] = true;
if (Is.defined(t)) {
t.className = "right-arrow";
}
- if (Is.defined(l)) {
- l.style.display = "none";
- }
if (Is.defined(r)) {
- r.style.display = "inline-block";
+ r.style.display = "none";
+ }
+ if (Is.defined(i)) {
+ i.style.display = "inline-block";
}
if (Is.defined(n)) {
n.style.display = "inline-block";
}
+ if (o) {
+ x(d, e);
+ }
};
- const d = () => {
- o.style.display = "block";
- e._currentView.contentPanelsOpen[u][s] = false;
+ const m = (s, a = true) => {
+ if (Is.defined(s)) {
+ DomElement.cancelBubble(s);
+ if (!o) {
+ ie(e);
+ }
+ }
+ l.style.display = "block";
+ e._currentView.contentPanelsOpen[c][u] = false;
if (Is.defined(t)) {
t.className = "down-arrow";
}
- if (Is.defined(l)) {
- l.style.display = "inline-block";
- }
if (Is.defined(r)) {
- r.style.display = "none";
+ r.style.display = "inline-block";
+ }
+ if (Is.defined(i)) {
+ i.style.display = "none";
}
if (Is.defined(n)) {
n.style.display = "none";
}
+ if (a) {
+ x(d, e);
+ }
};
- const f = e => {
- if (e) {
- c();
+ const p = (t, n) => {
+ if (Is.defined(t)) {
+ DomElement.cancelBubble(t);
+ if (!o) {
+ ie(e);
+ }
+ }
+ if (n) {
+ g();
} else {
- d();
+ m(null);
}
};
- let g = e.showAllAsClosed;
- if (e._currentView.contentPanelsOpen[u].hasOwnProperty(s)) {
- g = e._currentView.contentPanelsOpen[u][s];
+ let T = e.showAllAsClosed;
+ if (e._currentView.contentPanelsOpen[c].hasOwnProperty(u)) {
+ T = e._currentView.contentPanelsOpen[c][u];
} else {
if (!e._currentView.initialized) {
- if (a === "object" && e.autoClose.objectSize > 0 && i >= e.autoClose.objectSize) {
- g = true;
- } else if (a === "array" && e.autoClose.arraySize > 0 && i >= e.autoClose.arraySize) {
- g = true;
- } else if (a === "map" && e.autoClose.mapSize > 0 && i >= e.autoClose.mapSize) {
- g = true;
- } else if (a === "set" && e.autoClose.setSize > 0 && i >= e.autoClose.setSize) {
- g = true;
- } else if (a === "html" && e.autoClose.htmlSize > 0 && i >= e.autoClose.htmlSize) {
- g = true;
+ if (a === "object" && e.autoClose.objectSize > 0 && s >= e.autoClose.objectSize) {
+ T = true;
+ } else if (a === "array" && e.autoClose.arraySize > 0 && s >= e.autoClose.arraySize) {
+ T = true;
+ } else if (a === "map" && e.autoClose.mapSize > 0 && s >= e.autoClose.mapSize) {
+ T = true;
+ } else if (a === "set" && e.autoClose.setSize > 0 && s >= e.autoClose.setSize) {
+ T = true;
+ } else if (a === "html" && e.autoClose.htmlSize > 0 && s >= e.autoClose.htmlSize) {
+ T = true;
}
}
- e._currentView.contentPanelsOpen[u][s] = g;
+ e._currentView.contentPanelsOpen[c][u] = T;
}
if (Is.defined(t)) {
- t.onclick = () => f(t.className === "down-arrow");
+ t.onclick = e => p(e, t.className === "down-arrow");
t.ondblclick = DomElement.cancelBubble;
}
- f(g);
+ if (Is.defined(i)) {
+ i.onclick = e => m(e);
+ i.ondblclick = DomElement.cancelBubble;
+ }
+ p(null, T, false);
e._currentView.contentPanelsIndex++;
}
- function te(e, t, n) {
+ function oe(e, t, n) {
let o = null;
if (e.showCommas && !n) {
o = DomElement.createWithHTML(t, "span", "comma", ",");
}
return o;
}
- function ne(e, t, n, o, l) {
- let r = DomElement.create(t, "div", "closing-symbol");
+ function le(e, t, n, o, l) {
+ const r = DomElement.create(t, "div", "closing-symbol");
if (o && e.showArrowToggles || e.showOpenedObjectArrayBorders) {
DomElement.create(r, "div", "no-arrow");
}
DomElement.createWithHTML(r, "div", "object-type-end", n);
- te(e, r, l);
+ oe(e, r, l);
+ }
+ function re(e, t, n, l, r) {
+ t.onclick = i => {
+ DomElement.cancelBubble(i);
+ const s = t.classList.contains("highlight-selected") && o;
+ const a = e._currentView.currentContentColumns;
+ const u = e._currentView.currentContentColumns.length;
+ let c = false;
+ if (!o) {
+ e._currentView.selectedValues = [];
+ }
+ for (let t = 0; t < u; t++) {
+ const r = a[t].column.querySelectorAll(".object-type-value-title");
+ const i = r.length;
+ for (let a = 0; a < i; a++) {
+ const i = r[a];
+ if (!o) {
+ i.classList.remove("highlight-selected");
+ i.classList.remove("highlight-compare");
+ }
+ if (se(e) && t !== l) {
+ const e = i.getAttribute(Constants.JSONTREE_JS_ATTRIBUTE_PATH_NAME);
+ if (Is.definedString(e) && e === n) {
+ if (!s) {
+ i.classList.add("highlight-compare");
+ } else {
+ i.classList.remove("highlight-compare");
+ }
+ c = true;
+ }
+ }
+ }
+ if (c) {
+ x(t, e);
+ }
+ }
+ if (!s) {
+ t.classList.add("highlight-selected");
+ e._currentView.selectedValues.push(r);
+ } else {
+ t.classList.remove("highlight-selected");
+ e._currentView.selectedValues.splice(e._currentView.selectedValues.indexOf(r), 1);
+ }
+ x(l, e);
+ };
}
- function oe(t) {
+ function ie(e) {
+ if (e._currentView.selectedValues.length > 0) {
+ const t = e._currentView.currentContentColumns;
+ const n = e._currentView.currentContentColumns.length;
+ e._currentView.selectedValues = [];
+ for (let o = 0; o < n; o++) {
+ let n = false;
+ const l = t[o].column.querySelectorAll(".object-type-value-title");
+ const r = l.length;
+ for (let t = 0; t < r; t++) {
+ const o = l[t];
+ if (o.classList.contains("highlight-selected")) {
+ o.classList.remove("highlight-selected");
+ n = true;
+ }
+ if (se(e) && o.classList.contains("highlight-compare")) {
+ o.classList.remove("highlight-compare");
+ n = true;
+ }
+ }
+ if (n) {
+ x(o, e);
+ }
+ }
+ }
+ }
+ function se(e) {
+ return e.paging.enabled && e.paging.columnsPerPage > 1 && e.paging.allowComparisons;
+ }
+ function ae(t, n, o, l, r, i, s, a) {
+ n.oncontextmenu = u => {
+ DomElement.cancelBubble(u);
+ t._currentView.contextMenu.innerHTML = "";
+ if (o && t._currentView.selectedValues.length <= 1) {
+ const o = ContextMenu.addMenuItem(t, e.text.editSymbolButtonText, e.text.editButtonText);
+ o.onclick = e => ue(e, t, n, l, i, r, s, a);
+ }
+ const c = ContextMenu.addMenuItem(t, e.text.copyButtonSymbolText, e.text.copyButtonText);
+ c.onclick = e => ce(e, t, r);
+ if (o && t._currentView.selectedValues.length <= 1) {
+ const n = ContextMenu.addMenuItem(t, e.text.removeSymbolButtonText, e.text.removeButtonText);
+ n.onclick = e => de(e, t, l, i, s);
+ }
+ DomElement.showElementAtMousePosition(u, t._currentView.contextMenu, 0);
+ };
+ }
+ function ue(e, t, n, o, l, r, i, s) {
+ DomElement.cancelBubble(e);
+ ee(e, t, o, l, r, n, i, s);
+ ContextMenu.hide(t);
+ }
+ function ce(e, t, n) {
+ DomElement.cancelBubble(e);
+ let o = n;
+ if (t._currentView.selectedValues.length !== 0) {
+ o = t._currentView.selectedValues;
+ }
+ D(t, o);
+ ContextMenu.hide(t);
+ }
+ function de(t, n, o, l, r) {
+ DomElement.cancelBubble(t);
+ if (r) {
+ o.splice(Arr.getIndexFromBrackets(l), 1);
+ } else {
+ delete o[l];
+ }
+ ContextMenu.hide(n);
+ i(n, false);
+ $(n, e.text.itemDeletedText);
+ }
+ function fe(t) {
if (t.fileDroppingEnabled) {
const n = DomElement.create(t._currentView.element, "div", "drag-and-drop-background");
const o = DomElement.create(n, "div", "notice-text");
@@ -2810,39 +3182,39 @@ var Obj;
DomElement.createWithHTML(o, "p", "notice-text-title", e.text.dragAndDropTitleText);
DomElement.createWithHTML(o, "p", "notice-text-description", e.text.dragAndDropDescriptionText);
t._currentView.dragAndDropBackground = n;
- t._currentView.element.ondragover = () => le(t, n);
- t._currentView.element.ondragenter = () => le(t, n);
+ t._currentView.element.ondragover = () => ge(t, n);
+ t._currentView.element.ondragenter = () => ge(t, n);
n.ondragover = DomElement.cancelBubble;
n.ondragenter = DomElement.cancelBubble;
n.ondragleave = () => n.style.display = "none";
- n.ondrop = e => re(e, t);
+ n.ondrop = e => me(e, t);
}
}
- function le(e, t) {
+ function ge(e, t) {
if (!e._currentView.columnDragging) {
t.style.display = "block";
}
}
- function re(e, t) {
+ function me(e, t) {
DomElement.cancelBubble(e);
t._currentView.dragAndDropBackground.style.display = "none";
if (Is.defined(window.FileReader) && e.dataTransfer.files.length > 0) {
- ie(e.dataTransfer.files, t);
+ pe(e.dataTransfer.files, t);
}
}
- function ie(t, n) {
+ function pe(t, n) {
const o = t.length;
let l = 0;
let r = [];
- const a = t => {
+ const s = t => {
l++;
r.push(t);
if (l === o) {
- n._currentView.dataArrayCurrentIndex = 0;
+ n._currentView.currentDataArrayPageIndex = 0;
n._currentView.contentPanelsOpen = {};
n.data = r.length === 1 ? r[0] : r;
i(n);
- W(n, e.text.importedText.replace("{0}", o.toString()));
+ $(n, e.text.importedText.replace("{0}", o.toString()));
Trigger.customEvent(n.events.onSetJson, n._currentView.element);
}
};
@@ -2850,11 +3222,11 @@ var Obj;
const n = t[e];
const o = n.name.split(".").pop().toLowerCase();
if (o === "json") {
- ae(n, a);
+ xe(n, s);
}
}
}
- function ae(t, n) {
+ function xe(t, n) {
const o = new FileReader;
let l = null;
o.onloadend = () => n(l);
@@ -2866,57 +3238,73 @@ var Obj;
};
o.readAsText(t);
}
- function se(t) {
- let n = JSON.stringify(t.data, o, t.jsonIndentSpaces);
+ function Te(t) {
+ const n = JSON.stringify(Convert2.toJsonStringifyClone(t.data, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
if (Is.definedString(n)) {
const o = DomElement.create(document.body, "a");
o.style.display = "none";
o.setAttribute("target", "_blank");
o.setAttribute("href", `data:application/json;charset=utf-8,${encodeURIComponent(n)}`);
- o.setAttribute("download", ue(t));
+ o.setAttribute("download", be(t));
o.click();
document.body.removeChild(o);
O(t);
- W(t, e.text.exportedText);
+ $(t, e.text.exportedText);
Trigger.customEvent(t.events.onExport, t._currentView.element);
}
}
- function ue(t) {
+ function be(t) {
const n = new Date;
const o = DateTime.getCustomFormattedDateText(e, n, t.exportFilenameFormat);
return o;
}
- function ce(e, t = true) {
+ function we(e, t = true) {
const n = t ? document.addEventListener : document.removeEventListener;
- n("keydown", (t => de(t, e)));
- }
- function de(e, o) {
- if (o.shortcutKeysEnabled && n === 1 && t.hasOwnProperty(o._currentView.element.id) && !o._currentView.editMode) {
- if (fe(e) && e.code === "F11") {
+ const l = t ? window.addEventListener : window.removeEventListener;
+ n("keydown", (t => he(t, e)));
+ n("keyup", (e => De(e)));
+ n("contextmenu", (() => ye(e)));
+ l("click", (() => ye(e)));
+ l("focus", (() => o = false));
+ }
+ function ye(e) {
+ if (!o) {
+ ie(e);
+ }
+ }
+ function he(e, l) {
+ o = ve(e);
+ if (l.shortcutKeysEnabled && n === 1 && t.hasOwnProperty(l._currentView.element.id) && !l._currentView.editMode) {
+ if (ve(e) && e.code === "F11") {
e.preventDefault();
- v(o);
+ V(l);
} else if (e.code === "ArrowLeft") {
e.preventDefault();
- B(o);
+ C(l);
} else if (e.code === "ArrowRight") {
e.preventDefault();
- I(o);
+ I(l);
} else if (e.code === "ArrowUp") {
e.preventDefault();
- E(o);
+ E(l);
} else if (e.code === "ArrowDown") {
e.preventDefault();
- S(o);
+ B(l);
} else if (e.code === "Escape") {
e.preventDefault();
- O(o);
+ if (!O(l) && !o) {
+ ie(l);
+ }
}
}
}
- function fe(e) {
+ function De(e) {
+ o = ve(e);
+ }
+ function ve(e) {
return e.ctrlKey || e.metaKey;
}
- function ge(e) {
+ function Ve(e) {
e._currentView.element.innerHTML = "";
e._currentView.element.classList.remove("json-tree-js");
if (e._currentView.element.className.trim() === "") {
@@ -2925,19 +3313,21 @@ var Obj;
if (e._currentView.idSet) {
e._currentView.element.removeAttribute("id");
}
- ce(e, false);
+ we(e, false);
ToolTip.assignToEvents(e, false);
+ ContextMenu.assignToEvents(e, false);
ToolTip.remove(e);
+ ContextMenu.remove(e);
Trigger.customEvent(e.events.onDestroy, e._currentView.element);
}
- const me = {
+ const Se = {
refresh: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const n = t[e];
i(n);
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
- return me;
+ return Se;
},
refreshAll: function() {
for (const e in t) {
@@ -2947,38 +3337,38 @@ var Obj;
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
}
- return me;
+ return Se;
},
render: function(e, t) {
if (Is.definedObject(e) && Is.definedObject(t)) {
r(Binding.Options.getForNewInstance(t, e));
}
- return me;
+ return Se;
},
renderAll: function() {
l();
- return me;
+ return Se;
},
openAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- S(t[e]);
+ B(t[e]);
}
- return me;
+ return Se;
},
closeAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
E(t[e]);
}
- return me;
+ return Se;
},
backPage: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const n = t[e];
if (n.paging.enabled) {
- B(t[e]);
+ C(t[e]);
}
}
- return me;
+ return Se;
},
nextPage: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
@@ -2987,13 +3377,13 @@ var Obj;
I(t[e]);
}
}
- return me;
+ return Se;
},
getPageNumber: function(e) {
let n = 1;
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const o = t[e];
- n = Math.ceil((o._currentView.dataArrayCurrentIndex + 1) / o.paging.columnsPerPage);
+ n = Math.ceil((o._currentView.currentDataArrayPageIndex + 1) / o.paging.columnsPerPage);
}
return n;
},
@@ -3009,13 +3399,13 @@ var Obj;
l = o;
}
const r = t[n];
- r._currentView.dataArrayCurrentIndex = 0;
+ r._currentView.currentDataArrayPageIndex = 0;
r._currentView.contentPanelsOpen = {};
r.data = l;
i(r);
Trigger.customEvent(r.events.onSetJson, r._currentView.element);
}
- return me;
+ return Se;
},
getJson: function(e) {
let n = null;
@@ -3034,7 +3424,7 @@ var Obj;
t[e]._currentView = r;
i(t[e]);
}
- return me;
+ return Se;
},
getBindingOptions: function(e) {
let n = null;
@@ -3045,21 +3435,21 @@ var Obj;
},
destroy: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- ge(t[e]);
+ Ve(t[e]);
delete t[e];
n--;
}
- return me;
+ return Se;
},
destroyAll: function() {
for (const e in t) {
if (t.hasOwnProperty(e)) {
- ge(t[e]);
+ Ve(t[e]);
}
}
t = {};
n = 0;
- return me;
+ return Se;
},
setConfiguration: function(t) {
if (Is.definedObject(t)) {
@@ -3075,7 +3465,7 @@ var Obj;
e = Config.Options.get(o);
}
}
- return me;
+ return Se;
},
getIds: function() {
const e = [];
@@ -3087,14 +3477,14 @@ var Obj;
return e;
},
getVersion: function() {
- return "4.0.0";
+ return "4.1.0";
}
};
(() => {
e = Config.Options.get();
document.addEventListener("DOMContentLoaded", (() => l()));
if (!Is.defined(window.$jsontree)) {
- window.$jsontree = me;
+ window.$jsontree = Se;
}
})();
})();//# sourceMappingURL=jsontree.esm.js.map
\ No newline at end of file
diff --git a/dist/jsontree.esm.js.map b/dist/jsontree.esm.js.map
index eaf63271..476cd2c6 100644
--- a/dist/jsontree.esm.js.map
+++ b/dist/jsontree.esm.js.map
@@ -1 +1 @@
-{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.esm.js"],"names":["DataType","DataType2","Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","regExp","match","guid","regex","test","bigInt","result2","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","Date","definedFloat","definedSymbol","definedRegExp","RegExp","definedMap","Map","WeakMap","definedSet","Set","WeakSet","definedImage","Image","definedHtml","HTMLElement","definedUrl","data","url","URL","protocol","definedEmail","invalidOptionArray","array","minimumLength","Convert2","Convert","stringifyJson","_","configuration2","symbolToString","Default","getFunctionName","name","mapToObject","setToArray","source","src","stringToDataTypeValue","oldValue","newValue","parseFloat","parseInt","BigInt","Symbol","e","htmlToObject","addCssStyles","attributesLength","attributes","childrenLength","children","childrenKeyName","textKeyName","valueCloned","cloneNode","valueClonedChildrenLength","nodeType","Node","TEXT_NODE","removeChild","innerText","attributeIndex","attribute","nodeName","nodeValue","childIndex","push","computedStyles","getComputedStyle","computedStylesLength","cssComputedStyleIndex","cssComputedStyleName","cssComputedStyleNameStorage","cssComputedValue","getPropertyValue","map","Object","fromEntries","entries","set","from","values","jsonStringToObject","objectString","configuration","result","parsed","JSON","parse","e1","eval","e2","safeMode","console","error","text","objectErrorText","replace","message","numberToFloatWithDecimalPlaces","decimalPlaces","stringToBigInt","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getNumberMinimum","minimum","getNumberMaximum","maximum","getStringOrArray","split","isLambda","valueParts","valueNameParts","functionBrackets","join","functionText","getObjectFromUrl","callback","request","XMLHttpRequest","open","send","onreadystatechange","readyState","status","responseText","dataJson","DomElement","DomElement2","find","tagTypes","func","tagTypesLength","tagTypeIndex","domElements","document","getElementsByTagName","elements","slice","call","elementsLength","elementIndex","create","container","type","className","beforeNode","isText","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","createWithNoContainer","cancelBubble","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","offset","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","createCheckBox","labelText","checked","spanClass","additionalText","lineContainer","label","input","autocomplete","Str","Str2","padNumber","number","paddingCharacter","numberString","numberResult","arrayLength","capitalizeFirstLetter","string","charAt","toUpperCase","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME","JSONTREE_JS_ATTRIBUTE_PATH_NAME","Binding","Binding2","Options","Options2","getForNewInstance","bindingOptions","get","allowEditing","_currentView","dataArrayCurrentIndex","paging","startPage","columnsPerPage","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","contentPanelsDataIndex","backButton","nextButton","disabledBackground","sideMenu","sideMenuChanged","toggleFullScreenButton","fullScreenOn","dragAndDropBackground","initialized","contentColumns","footer","footerStatusText","footerDataTypeText","footerLengthText","footerSizeText","footerPageText","footerStatusTextTimerId","columnDragging","columnDraggingDataIndex","dataTypeCounts","contentControlButtons","enabled","key","bulk","newOptions","options","showObjectSizes","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","fileDroppingEnabled","jsonIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","includeTimeZoneInDateTimeEditing","shortcutKeysEnabled","openInFullScreenMode","valueToolTips","editingValueClickDelay","showDataTypes","logJsonValueToolTipPaths","exportFilenameFormat","showPropertyNameQuotes","showOpenedObjectArrayBorders","showPropertyNameAndIndexColors","showUrlOpenButtons","showEmailOpenButtons","minimumArrayIndexPadding","arrayIndexPaddingCharacter","maximumUrlLength","maximumEmailLength","showCssStylesForHtmlObjects","jsonPathAny","jsonPathSeparator","showChildIndexes","getPaging","getTitle","getFooter","getControlPanel","getIgnore","getToolTip","getParse","getAllowEditing","getSideMenu","getAutoClose","getCustomTriggers","synchronizeScrolling","allowColumnReordering","title","showCloseOpenAllButtons","showCopyButton","enableFullScreenToggling","showFullScreenButton","showLengths","showSizes","showPageOf","statusResetDelay","controlPanel","showMovingButtons","showRemoveButton","showEditButton","showSwitchToPagesButton","ignore","nullValues","functionValues","unknownValues","booleanValues","floatValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigintValues","symbolValues","emptyObjects","undefinedValues","guidValues","colorValues","regexpValues","mapValues","setValues","urlValues","imageValues","emailValues","htmlValues","lambdaValues","tooltip","delay","stringsToDates","stringsToBooleans","stringsToNumbers","defaultFlag","bigIntValues","regExpValues","propertyNames","showImportButton","showExportButton","titleText","showAvailableDataTypeCounts","showOnlyDataTypesAvailable","autoClose","objectSize","arraySize","mapSize","setSize","htmlSize","events","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onFloatRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","onGuidRender","onColorRender","onJsonEdit","onRegExpRender","onExport","onUrlRender","onImageRender","onEmailRender","onLambdaRender","onCopy","onFullScreenChange","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","mapText","setText","htmlText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","sideMenuButtonSymbolText","sideMenuButtonText","closeButtonSymbolText","closeButtonText","showDataTypesText","selectNoneText","importButtonSymbolText","importButtonText","fullScreenOnButtonSymbolText","fullScreenOffButtonSymbolText","fullScreenButtonText","copyButtonText","dragAndDropSymbolText","dragAndDropTitleText","dragAndDropDescriptionText","exportButtonSymbolText","exportButtonText","propertyColonCharacter","noPropertiesText","openText","openSymbolText","waitingText","pageOfText","sizeText","copiedText","exportedText","importedText","ignoreDataTypesUpdated","lengthText","valueUpdatedText","jsonUpdatedText","nameUpdatedText","indexUpdatedText","itemDeletedText","arrayJsonItemDeleted","dataTypeText","editSymbolButtonText","editButtonText","moveRightSymbolButtonText","moveRightButtonText","moveLeftSymbolButtonText","moveLeftButtonText","removeSymbolButtonText","removeButtonText","switchToPagesSymbolText","switchToPagesText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","add","tooltipClass","show","tooltipTimerId","setTimeout","clearTimeout","remove","parentNode","Arr","Arr2","getIndex","index","getIndexName","largestValue","paddingLength","getIndexFromBrackets","propertyName","moveIndex","arrayData","oldIndex","newIndex","splice","Size","Size2","of","bytes","getSize","Math","floor","log","pow","length2","itemKey","hasOwnProperty","arrayIndex","Obj","Obj2","getPropertyNames","properties","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","_configuration","_elements_Data","_elements_Data_Count","_jsonStringifyReplacer","render","hasAttribute","bindingOptionsData","getAttribute","id","crypto","randomUUID","removeAttribute","classList","renderControlContainer","buildDocumentEvents","isForPageSwitch","ajaxData","renderControlContainerForData","scrollTopsForColumns","getContentColumnScrollTops","renderControlTitleBar","contents","pageIndex","actualDataIndex","actualData","renderControlContentsPanel","renderControlSideMenu","renderControlFooterBar","renderControlDragAndDrop","dataIndex","totalColumns","enableColumnOrder","contentsColumn","noJson","importText","onclick","onSideMenuImportClick","onscroll","onContentsColumnScroll","setAttribute","ondragstart","onContentsColumnDragStart","ondragend","onContentsColumnDragEnd","ondragover","ondrop","onContentsColumnDrop","renderArray","renderObject","renderControlContentsControlButtons","ondblclick","enableContentsColumnEditMode","statusBarMessage","stringify","focus","onblur","setFooterStatusText","onkeydown","code","isCommandKey","newData","execCommand","contentColumnsLength","contentColumnIndex","column","columnsLength","controlButtons","right","columnIndex","moveDataArrayIndex","dataArray1","dataArray2","dataPanelsOpen1","dataPanelsOpen2","isPagingEnabled","editButton","moveRightButton","disabled","moveLeftButton","copyButton","openAllButton","onOpenAllForPage","closeAllButton","onCloseAllForPage","removeButton","onRemoveArrayJson","switchToPagesButton","onSwitchToPages","minHeight","panels","panelId","replaceFunction","copyDataJson","navigator","clipboard","writeText","titleBar","onTitleBarDblClick","sideMenuButton","onSideMenuOpen","onTitleBarCopyAllClick","onBackPage","onNextPage","buttonText","contains","updateFooterDisplay","onSideMenuClose","titleBarText","titleBarControls","exportButton","importButton","closeButton","addSideMenuIgnoreTypes","accept","multiple","onchange","importFromFiles","files","click","checkboxes","ignoreTypes","selectAll","selectNone","changeSidePanelCheckboxSelection","ignoreTypesContent","dataTypes","keys","forEach","createSideMenuIgnoreTypeCheckBox","flag","checkboxesLength","checkboxIndex","dataTypeDisplayCount","checkBoxName","checkBoxAdditionalText","getFooterPageText","currentPage","ceil","totalPages","currentReplacement","toFixed","outerHTML","totalReplacement","addFooterDataTypeStatus","dataType","valueElement","replacement","addFooterLengthStatus","addFooterSizeStatus","size","statusText","propertyCount","mainTitle","objectTypeTitle","objectTypeContents","arrow","openingBrace","closedBraces","addObjectContentsBorder","dataArrayIndex","renderObjectValues","addValueClickEvent","openingBracket","closedBrackets","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","jsonPath","parentType","preventEditing","propertiesAdded","propertiesLength","propertiesLengthForAutoClose","renderValue","propertyIndex","newJsonPath","createClosingSymbol","addArrowEvent","dataLength","dataLengthForAutoClose","dataIndex1","actualIndex","dataIndex2","isArrayItem","objectTypeValue","valueClass","ignored","ignoredDataType","nameElement","typeElement","isForEmptyProperties","assignClickEvent","makePropertyNameEditable","createComma","functionName","makePropertyValueEditable","color","newUrlValue","openButton","newEmailValue","newStringValue","image","htmlObject","objectTitle","arrayTypeContents","valueObject","updateDataTypeCount","addValueElementToolTip","objectContents","jsonPathParts","jsonPathPartsLength","jsonPathPartIndex","originalPropertyName","originalArrayIndex","newPropertyName","newArrayIndex","originalValue","originalPropertyValue","propertyValue","newPropertyValue","newDataPropertyValue","openingSymbol","hideFunc","showFunc","conditionFunc","condition","isClosed","symbol","addNoArrow","symbolContainer","dragAndDropText","onDragStart","ondragenter","ondragleave","onDropFiles","FileReader","dataTransfer","filesLength","filesRead","filesData","onFileLoad","onSetJson","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onload","json","target","readAsText","tempLink","encodeURIComponent","getExportFilename","filename","addEvents","documentFunc","onWindowKeyDown","ctrlKey","metaKey","destroyElement","_public","refresh","elementId","refreshAll","renderAll","openAll","closeAll","backPage","nextPage","getPageNumber","setJson","jsonObject","jsonResult","getJson","updateBindingOptions","currentView","getBindingOptions","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
+{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.esm.js"],"names":["DataType","DataType2","Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","regExp","match","guid","regex","test","bigInt","result2","symbol","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","Date","definedFloat","definedSymbol","definedRegExp","RegExp","definedMap","Map","WeakMap","definedSet","Set","WeakSet","definedImage","Image","definedHtml","HTMLElement","definedUrl","data","url","URL","protocol","definedEmail","invalidOptionArray","array","minimumLength","Convert2","Convert","toJsonStringifyClone","configuration2","bindingOptions","includeTimeZoneInDates","JSON","stringify","replace","symbolToString","Default","getFunctionName","name","source","src","htmlToObject","showCssStylesForHtmlObjects","arrayLength","arrayIndex","push","setToArray","obj","mapToObject","key","hasOwnProperty","stringToDataTypeValue","oldValue","newValue","parseFloat","parseInt","BigInt","Symbol","exception","addCssStyles","attributesLength","attributes","childrenLength","children","childrenKeyName","textKeyName","valueCloned","cloneNode","valueClonedChildrenLength","nodeType","Node","TEXT_NODE","removeChild","innerText","attributeIndex","attribute","nodeName","nodeValue","childIndex","computedStyles","getComputedStyle","computedStylesLength","cssComputedStyleIndex","cssComputedStyleName","cssComputedStyleNameStorage","cssComputedValue","getPropertyValue","map","Object","fromEntries","entries","set","from","values","jsonStringToObject","objectString","configuration","result","parsed","parse","exception1","eval","exception2","safeMode","console","error","text","objectErrorText","message","numberToFloatWithDecimalPlaces","decimalPlaces","stringToBigInt","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getNumberMinimum","minimum","getNumberMaximum","maximum","getStringOrArray","split","isLambda","valueParts","valueNameParts","functionBrackets","join","functionText","getObjectFromUrl","callback","request","XMLHttpRequest","open","send","onreadystatechange","readyState","status","responseText","dataJson","DomElement","DomElement2","find","tagTypes","func","tagTypesLength","tagTypeIndex","domElements","document","getElementsByTagName","elements","slice","call","elementsLength","elementIndex","create","container","type","className","beforeNode","isText","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","createWithNoContainer","cancelBubble","ev","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","offset","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","createCheckBox","labelText","checked","spanClass","additionalText","lineContainer","label","input","autocomplete","getOffset","position","offsetLeft","offsetTop","offsetParent","Str","Str2","padNumber","number","paddingCharacter","numberString","numberResult","capitalizeFirstLetter","string","charAt","toUpperCase","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME","JSONTREE_JS_ATTRIBUTE_PATH_NAME","Binding","Binding2","Options","Options2","getForNewInstance","get","allowEditing","_currentView","currentDataArrayPageIndex","paging","startPage","columnsPerPage","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","contentPanelsDataIndex","backButton","nextButton","disabledBackground","sideMenu","sideMenuChanged","toggleFullScreenButton","fullScreenOn","dragAndDropBackground","initialized","currentContentColumns","footer","footerStatusText","footerDataTypeText","footerLengthText","footerSizeText","footerPageText","footerStatusTextTimerId","columnDragging","columnDraggingDataIndex","dataTypeCounts","contextMenu","currentColumnBuildingIndex","selectedValues","enabled","bulk","newOptions","options","showObjectSizes","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","fileDroppingEnabled","jsonIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","shortcutKeysEnabled","openInFullScreenMode","valueToolTips","editingValueClickDelay","showDataTypes","logJsonValueToolTipPaths","exportFilenameFormat","showPropertyNameQuotes","showOpenedObjectArrayBorders","showPropertyNameAndIndexColors","showUrlOpenButtons","showEmailOpenButtons","minimumArrayIndexPadding","arrayIndexPaddingCharacter","maximumUrlLength","maximumEmailLength","jsonPathAny","jsonPathSeparator","showChildIndexes","showClosedArraySquaredBrackets","showClosedObjectCurlyBraces","convertClickedValuesToString","getPaging","title","getTitle","getFooter","controlPanel","getControlPanel","lineNumbers","getLineNumbers","ignore","getIgnore","tooltip","getToolTip","getParse","getAllowEditing","getSideMenu","autoClose","getAutoClose","events","getCustomTriggers","synchronizeScrolling","allowColumnReordering","allowComparisons","showCloseOpenAllButtons","showCopyButton","enableFullScreenToggling","showFullScreenButton","showLengths","showSizes","showPageOf","statusResetDelay","showMovingButtons","showRemoveButton","showEditButton","showSwitchToPagesButton","padNumbers","addDots","nullValues","functionValues","unknownValues","booleanValues","floatValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigintValues","symbolValues","emptyObjects","undefinedValues","guidValues","colorValues","regexpValues","mapValues","setValues","urlValues","imageValues","emailValues","htmlValues","lambdaValues","delay","stringsToDates","stringsToBooleans","stringsToNumbers","stringsToSymbols","defaultFlag","bigIntValues","regExpValues","propertyNames","properties","property","showImportButton","showExportButton","titleText","showAvailableDataTypeCounts","showOnlyDataTypesAvailable","objectSize","arraySize","mapSize","setSize","htmlSize","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onFloatRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","onGuidRender","onColorRender","onJsonEdit","onRegExpRender","onExport","onUrlRender","onImageRender","onEmailRender","onLambdaRender","onCopy","onFullScreenChange","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","mapText","setText","htmlText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","sideMenuButtonSymbolText","sideMenuButtonText","closeButtonSymbolText","closeButtonText","showDataTypesText","selectNoneText","importButtonSymbolText","importButtonText","fullScreenOnButtonSymbolText","fullScreenOffButtonSymbolText","fullScreenButtonText","copyButtonText","dragAndDropSymbolText","dragAndDropTitleText","dragAndDropDescriptionText","exportButtonSymbolText","exportButtonText","propertyColonCharacter","noPropertiesText","openText","openSymbolText","waitingText","pageOfText","sizeText","copiedText","exportedText","importedText","ignoreDataTypesUpdated","lengthText","valueUpdatedText","jsonUpdatedText","nameUpdatedText","indexUpdatedText","itemDeletedText","arrayJsonItemDeleted","dataTypeText","editSymbolButtonText","editButtonText","moveRightSymbolButtonText","moveRightButtonText","moveLeftSymbolButtonText","moveLeftButtonText","removeSymbolButtonText","removeButtonText","switchToPagesSymbolText","switchToPagesText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","add","tooltipClass","show","tooltipTimerId","setTimeout","clearTimeout","remove","parentNode","Arr","Arr2","getIndex","index","getIndexName","largestValue","paddingLength","getIndexFromBrackets","propertyName","moveIndex","arrayData","oldIndex","newIndex","splice","removeNullOrUndefinedEntries","dataLength","dataIndex","Size","Size2","of","bytes","getSize","Math","floor","log","pow","itemKey","Obj","Obj2","getPropertyNames","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","createFromValue","crypto","randomUUID","ContextMenu","ContextMenu2","addMenuItem","symbolText","menuItem","_configuration","_elements_Data","_elements_Data_Count","_key_Control_Pressed","render","hasAttribute","bindingOptionsData","getAttribute","id","removeAttribute","classList","renderControlContainer","buildDocumentEvents","isForPageSwitch","ajaxData","renderControlContainerForData","scrollTopsForColumns","getContentColumnScrollTops","renderControlTitleBar","contents","updatedData","pageIndex","actualDataIndex","actualData","renderControlContentsPanel","renderControlSideMenu","renderControlFooterBar","renderControlDragAndDrop","totalColumns","enableColumnOrder","contentsColumn","noJson","importText","onclick","onSideMenuImportClick","onscroll","onContentsColumnScroll","setAttribute","ondragstart","onContentsColumnDragStart","ondragend","onContentsColumnDragEnd","ondragover","ondrop","onContentsColumnDrop","renderValuesContainer","lines","columnLayout","column","controlButtons","renderArray","renderObject","renderControlColumnLineNumbers","renderControlContentsControlButtons","ondblclick","enableContentsColumnEditMode","statusBarMessage","focus","onblur","setFooterStatusText","onkeydown","ev2","code","isCommandKey","newData","execCommand","contentColumnsLength","contentColumnIndex","columnsLength","right","columnIndex","moveDataArrayIndex","dataArray1","dataArray2","dataPanelsOpen1","dataPanelsOpen2","columnLayoutIndex","lineNumberCount","firstLineTop","largestLineNumberWidth","valueElements","querySelectorAll","valueElementsLength","valueElementIndex","valueElement","elementTop","lineNumber","lineNumberDot","newTop","max","height","width","isPagingEnabled","editButton","moveRightButton","disabled","moveLeftButton","copyButton","openAllButton","onOpenAllForPage","closeAllButton","onCloseAllForPage","removeButton","onRemoveArrayJson","switchToPagesButton","onSwitchToPages","minHeight","panels","panelId","copyDataJson","navigator","clipboard","writeText","titleBar","onTitleBarDblClick","sideMenuButton","onSideMenuOpen","onTitleBarCopyAllClick","onBackPage","onNextPage","buttonText","contains","updateFooterDisplay","onSideMenuClose","titleBarText","titleBarControls","exportButton","importButton","closeButton","addSideMenuIgnoreTypes","accept","multiple","onchange","importFromFiles","files","click","closed","checkboxes","ignoreTypes","selectAll","selectNone","changeSidePanelCheckboxSelection","ignoreTypesContent","dataTypes","keys","forEach","_","createSideMenuIgnoreTypeCheckBox","flag","checkboxesLength","checkboxIndex","dataTypeDisplayCount","checkBoxName","checkBoxAdditionalText","getFooterPageText","currentPage","ceil","totalPages","currentReplacement","toFixed","outerHTML","totalReplacement","addFooterDataTypeStatus","dataType","replacement","addFooterLengthStatus","addFooterSizeStatus","size","statusText","propertyCount","mainTitle","objectTypeTitle","objectTypeContents","arrow","openingBrace","closedBraces","addObjectContentsBorder","dataArrayIndex","renderObjectValues","addValueClickEvent","renderValueContextMenuItems","openingBracket","closedBrackets","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","jsonPath","parentType","preventEditing","propertiesAdded","propertiesLength","propertiesLengthForAutoClose","renderValue","propertyIndex","newJsonPath","createClosingSymbol","addArrowEvent","dataLengthForAutoClose","dataIndex1","actualIndex","dataIndex2","isArrayItem","objectTypeValue","objectTypeValueTitle","valueClass","ignored","ignoredDataType","nameElement","typeElement","isForEmptyProperties","assignClickEvent","openButton","makePropertyNameEditable","selectItemAndCompareProperties","createComma","functionName","makePropertyValueEditable","color","newUrlValue","newEmailValue","newStringValue","image","htmlObject","objectTitle","arrayTypeContents","valueObject","updateDataTypeCount","addValueElementToolTip","objectContents","jsonPathParts","jsonPathPartsLength","jsonPathPartIndex","originalPropertyName","originalArrayIndex","newPropertyName","newArrayIndex","originalValue","originalPropertyValue","propertyValue","enableValueEditingMode","newPropertyValue","newDataPropertyValue","clickValue","openingSymbol","closedSymbols","columnLayoutProcessingIndex","hideFunc","updateLineNumbers","showFunc","removeSelectedItemsAndComparedProperties","conditionFunc","condition","isClosed","addNoArrow","symbolContainer","currentColumnIndex","itemIsSelected","columns","elementsHighlighted","isCompareColumnValuesEnabled","valueJsonPath","indexOf","classesRemoved","oncontextmenu","editMenuItem","onContextMenuItemEdit","copyMenuItem","onContextMenuItemCopy","removeMenuItem","onContextMenuItemRemove","copyValue","dragAndDropText","onDragStart","ondragenter","ondragleave","onDropFiles","FileReader","dataTransfer","filesLength","filesRead","filesData","onFileLoad","onSetJson","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onload","json","target","readAsText","tempLink","encodeURIComponent","getExportFilename","filename","addEvents","documentFunc","windowFunc","onDocumentKeyDown","onDocumentKeyUp","onWindowContextMenuOrClick","ctrlKey","metaKey","destroyElement","_public","refresh","elementId","refreshAll","renderAll","openAll","closeAll","backPage","nextPage","getPageNumber","setJson","jsonObject","jsonResult","getJson","updateBindingOptions","currentView","getBindingOptions","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
diff --git a/dist/jsontree.js b/dist/jsontree.js
index 390ea570..5e91ec65 100644
--- a/dist/jsontree.js
+++ b/dist/jsontree.js
@@ -68,6 +68,10 @@ var Is;
return t;
}
e.bigInt = i;
+ function s(e) {
+ return e.startsWith("Symbol(") && e.endsWith(")");
+ }
+ e.symbol = s;
})(t = e.String || (e.String = {}));
function n(e) {
return e !== null && e !== void 0 && e.toString() !== "";
@@ -89,14 +93,14 @@ var Is;
return n(e) && typeof e === "function";
}
e.definedFunction = i;
- function a(e) {
+ function s(e) {
return n(e) && typeof e === "number";
}
- e.definedNumber = a;
- function s(e) {
+ e.definedNumber = s;
+ function a(e) {
return n(e) && typeof e === "bigint";
}
- e.definedBigInt = s;
+ e.definedBigInt = a;
function u(e) {
return e !== null && e !== void 0 && e instanceof Array;
}
@@ -125,14 +129,14 @@ var Is;
return n(e) && (e instanceof Set || e instanceof WeakSet);
}
e.definedSet = p;
- function T(e) {
+ function x(e) {
return n(e) && e instanceof Image;
}
- e.definedImage = T;
- function x(e) {
+ e.definedImage = x;
+ function T(e) {
return n(e) && e instanceof HTMLElement;
}
- e.definedHtml = x;
+ e.definedHtml = T;
function b(e) {
let t;
try {
@@ -157,25 +161,62 @@ var Is;
var Convert2;
(Convert => {
- function stringifyJson(e, t, n) {
- if (Is.definedBigInt(t)) {
- t = t.toString();
- } else if (Is.definedSymbol(t)) {
- t = symbolToString(t);
- } else if (Is.definedFunction(t)) {
- t = Default.getFunctionName(t, n).name;
- } else if (Is.definedMap(t)) {
- t = mapToObject(t);
- } else if (Is.definedSet(t)) {
- t = setToArray(t);
- } else if (Is.definedRegExp(t)) {
- t = t.source;
- } else if (Is.definedImage(t)) {
- t = t.src;
+ function toJsonStringifyClone(e, t, n) {
+ let o = null;
+ if (!Is.defined(e)) {
+ o = null;
+ } else if (Is.definedDate(e)) {
+ if (!n.includeTimeZoneInDates) {
+ o = JSON.stringify(e).replace(/['"]+/g, "");
+ } else {
+ o = e.toString();
+ }
+ } else if (Is.definedSymbol(e)) {
+ o = symbolToString(e);
+ } else if (Is.definedBigInt(e)) {
+ o = e.toString();
+ } else if (Is.definedFunction(e)) {
+ o = Default.getFunctionName(e, t).name;
+ } else if (Is.definedRegExp(e)) {
+ o = e.source;
+ } else if (Is.definedImage(e)) {
+ o = e.src;
+ } else if (Is.definedHtml(e)) {
+ o = htmlToObject(e, n.showCssStylesForHtmlObjects);
+ } else if (Is.definedArray(e)) {
+ o = [];
+ const l = e.length;
+ for (let r = 0; r < l; r++) {
+ o.push(toJsonStringifyClone(e[r], t, n));
+ }
+ } else if (Is.definedSet(e)) {
+ o = [];
+ const l = setToArray(e);
+ const r = l.length;
+ for (let e = 0; e < r; e++) {
+ o.push(toJsonStringifyClone(l[e], t, n));
+ }
+ } else if (Is.definedMap(e)) {
+ o = {};
+ const l = mapToObject(e);
+ for (const e in l) {
+ if (l.hasOwnProperty(e)) {
+ o[e] = toJsonStringifyClone(l[e], t, n);
+ }
+ }
+ } else if (Is.definedObject(e)) {
+ o = {};
+ for (const l in e) {
+ if (e.hasOwnProperty(l)) {
+ o[l] = toJsonStringifyClone(e[l], t, n);
+ }
+ }
+ } else {
+ o = e;
}
- return t;
+ return o;
}
- Convert.stringifyJson = stringifyJson;
+ Convert.toJsonStringifyClone = toJsonStringifyClone;
function stringToDataTypeValue(e, t) {
let n = null;
try {
@@ -215,16 +256,16 @@ var Convert2;
const l = e.children.length;
const r = "&children";
const i = "#text";
- const a = e.cloneNode(true);
- let s = a.children.length;
- while (s > 0) {
- if (a.children[0].nodeType !== Node.TEXT_NODE) {
- a.removeChild(a.children[0]);
+ const s = e.cloneNode(true);
+ let a = s.children.length;
+ while (a > 0) {
+ if (s.children[0].nodeType !== Node.TEXT_NODE) {
+ s.removeChild(s.children[0]);
}
- s--;
+ a--;
}
n[r] = [];
- n[i] = a.innerText;
+ n[i] = s.innerText;
for (let t = 0; t < o; t++) {
const o = e.attributes[t];
if (Is.definedString(o.nodeName)) {
@@ -272,7 +313,7 @@ var Convert2;
if (Is.definedString(objectString)) {
result.object = JSON.parse(objectString);
}
- } catch (e1) {
+ } catch (exception1) {
try {
result.object = eval(`(${objectString})`);
if (Is.definedFunction(result.object)) {
@@ -280,7 +321,7 @@ var Convert2;
}
} catch (e) {
if (!configuration.safeMode) {
- console.error(configuration.text.objectErrorText.replace("{{error_1}}", e1.message).replace("{{error_2}}", e.message));
+ console.error(configuration.text.objectErrorText.replace("{{error_1}}", exception1.message).replace("{{error_2}}", e.message));
result.parsed = false;
}
result.object = null;
@@ -331,14 +372,14 @@ var Default;
return Is.definedArray(e) ? e : t;
}
e.getArray = i;
- function a(e, t) {
+ function s(e, t) {
return Is.definedObject(e) ? e : t;
}
- e.getObject = a;
- function s(e, t, n) {
+ e.getObject = s;
+ function a(e, t, n) {
return Is.definedNumber(e) ? e >= n ? e : n : t;
}
- e.getNumberMinimum = s;
+ e.getNumberMinimum = a;
function u(e, t, n) {
return Is.definedNumber(e) ? e > n ? n : e : t;
}
@@ -414,7 +455,7 @@ var DomElement;
function n(e, t, n = "", o = null) {
const l = t.toLowerCase();
const r = l === "text";
- let i = r ? document.createTextNode("") : document.createElement(l);
+ const i = r ? document.createTextNode("") : document.createElement(l);
if (Is.defined(n)) {
i.className = n;
}
@@ -437,7 +478,7 @@ var DomElement;
function l(e) {
const t = e.toLowerCase();
const n = t === "text";
- let o = n ? document.createTextNode("") : document.createElement(t);
+ const o = n ? document.createTextNode("") : document.createElement(t);
return o;
}
e.createWithNoContainer = l;
@@ -455,7 +496,7 @@ var DomElement;
return t;
}
e.getScrollPosition = i;
- function a(e, t, n) {
+ function s(e, t, n) {
let o = e.pageX;
let l = e.pageY;
const r = i();
@@ -481,18 +522,18 @@ var DomElement;
t.style.left = `${o}px`;
t.style.top = `${l}px`;
}
- e.showElementAtMousePosition = a;
- function s(e) {
+ e.showElementAtMousePosition = s;
+ function a(e) {
const t = document.createRange();
t.selectNodeContents(e);
const n = window.getSelection();
n.removeAllRanges();
n.addRange(t);
}
- e.selectAllText = s;
- function u(e, t, l, r, i, a) {
- const s = n(e, "div", "checkbox");
- const u = n(s, "label", "checkbox");
+ e.selectAllText = a;
+ function u(e, t, l, r, i, s) {
+ const a = n(e, "div", "checkbox");
+ const u = n(a, "label", "checkbox");
const c = n(u, "input");
c.type = "checkbox";
c.name = l;
@@ -500,12 +541,24 @@ var DomElement;
c.autocomplete = "off";
n(u, "span", "check-mark");
o(u, "span", `text ${i}`, t);
- if (Is.definedString(a)) {
- o(u, "span", `additional-text`, a);
+ if (Is.definedString(s)) {
+ o(u, "span", `additional-text`, s);
}
return c;
}
e.createCheckBox = u;
+ function c(e) {
+ const t = {};
+ t.left = 0;
+ t.top = 0;
+ while (e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop)) {
+ t.left += e.offsetLeft - e.scrollLeft;
+ t.top += e.offsetTop - e.scrollTop;
+ e = e.offsetParent;
+ }
+ return t;
+ }
+ e.getOffset = c;
})(DomElement || (DomElement = {}));
var Str;
@@ -594,7 +647,7 @@ var Binding;
const l = o.allowEditing;
o._currentView = {};
o._currentView.element = n;
- o._currentView.dataArrayCurrentIndex = (o.paging.startPage - 1) * o.paging.columnsPerPage;
+ o._currentView.currentDataArrayPageIndex = (o.paging.startPage - 1) * o.paging.columnsPerPage;
o._currentView.titleBarButtons = null;
o._currentView.valueClickTimerId = 0;
o._currentView.editMode = false;
@@ -611,7 +664,7 @@ var Binding;
o._currentView.fullScreenOn = false;
o._currentView.dragAndDropBackground = null;
o._currentView.initialized = false;
- o._currentView.contentColumns = [];
+ o._currentView.currentContentColumns = [];
o._currentView.footer = null;
o._currentView.footerStatusText = null;
o._currentView.footerDataTypeText = null;
@@ -622,9 +675,11 @@ var Binding;
o._currentView.columnDragging = false;
o._currentView.columnDraggingDataIndex = 0;
o._currentView.dataTypeCounts = {};
- o._currentView.contentControlButtons = [];
- if (o.paging.enabled && Is.definedArray(o.data) && o.data.length > 1 && o._currentView.dataArrayCurrentIndex > o.data.length - 1) {
- o._currentView.dataArrayCurrentIndex = 0;
+ o._currentView.contextMenu = null;
+ o._currentView.currentColumnBuildingIndex = 0;
+ o._currentView.selectedValues = [];
+ if (o.paging.enabled && Is.definedArray(o.data) && o.data.length > 1 && o._currentView.currentDataArrayPageIndex > o.data.length - 1) {
+ o._currentView.currentDataArrayPageIndex = 0;
}
for (const e in l) {
if (!l[e]) {
@@ -636,7 +691,7 @@ var Binding;
}
t.getForNewInstance = n;
function o(e) {
- let t = Default.getObject(e, {});
+ const t = Default.getObject(e, {});
t.showObjectSizes = Default.getBoolean(t.showObjectSizes, true);
t.useZeroIndexingForArrays = Default.getBoolean(t.useZeroIndexingForArrays, true);
t.dateTimeFormat = Default.getString(t.dateTimeFormat, "{dd}{o} {mmmm} {yyyy} {hh}:{MM}:{ss}");
@@ -656,7 +711,7 @@ var Binding;
t.showArrayIndexBrackets = Default.getBoolean(t.showArrayIndexBrackets, true);
t.showOpeningClosingCurlyBraces = Default.getBoolean(t.showOpeningClosingCurlyBraces, false);
t.showOpeningClosingSquaredBrackets = Default.getBoolean(t.showOpeningClosingSquaredBrackets, false);
- t.includeTimeZoneInDateTimeEditing = Default.getBoolean(t.includeTimeZoneInDateTimeEditing, true);
+ t.includeTimeZoneInDates = Default.getBoolean(t.includeTimeZoneInDates, true);
t.shortcutKeysEnabled = Default.getBoolean(t.shortcutKeysEnabled, true);
t.openInFullScreenMode = Default.getBoolean(t.openInFullScreenMode, false);
t.valueToolTips = Default.getObject(t.valueToolTips, null);
@@ -677,17 +732,21 @@ var Binding;
t.jsonPathAny = Default.getString(t.jsonPathAny, "..");
t.jsonPathSeparator = Default.getString(t.jsonPathSeparator, "\\");
t.showChildIndexes = Default.getBoolean(t.showChildIndexes, true);
- t = l(t);
- t = r(t);
- t = i(t);
- t = a(t);
- t = s(t);
- t = u(t);
- t = c(t);
- t = d(t);
- t = f(t);
- t = g(t);
- t = m(t);
+ t.showClosedArraySquaredBrackets = Default.getBoolean(t.showClosedArraySquaredBrackets, true);
+ t.showClosedObjectCurlyBraces = Default.getBoolean(t.showClosedObjectCurlyBraces, true);
+ t.convertClickedValuesToString = Default.getBoolean(t.convertClickedValuesToString, false);
+ t.paging = l(t);
+ t.title = r(t);
+ t.footer = i(t);
+ t.controlPanel = s(t);
+ t.lineNumbers = a(t);
+ t.ignore = u(t);
+ t.tooltip = c(t);
+ t.parse = d(t);
+ t.allowEditing = f(t);
+ t.sideMenu = g(t);
+ t.autoClose = m(t);
+ t.events = p(t);
return t;
}
t.get = o;
@@ -698,7 +757,8 @@ var Binding;
e.paging.startPage = Default.getNumberMinimum(e.paging.startPage, 1, 1);
e.paging.synchronizeScrolling = Default.getBoolean(e.paging.synchronizeScrolling, false);
e.paging.allowColumnReordering = Default.getBoolean(e.paging.allowColumnReordering, true);
- return e;
+ e.paging.allowComparisons = Default.getBoolean(e.paging.allowComparisons, false);
+ return e.paging;
}
function r(e) {
e.title = Default.getObject(e.title, {});
@@ -707,7 +767,7 @@ var Binding;
e.title.showCopyButton = Default.getBoolean(e.title.showCopyButton, true);
e.title.enableFullScreenToggling = Default.getBoolean(e.title.enableFullScreenToggling, true);
e.title.showFullScreenButton = Default.getBoolean(e.title.showFullScreenButton, true);
- return e;
+ return e.title;
}
function i(e) {
e.footer = Default.getObject(e.footer, {});
@@ -717,9 +777,9 @@ var Binding;
e.footer.showSizes = Default.getBoolean(e.footer.showSizes, true);
e.footer.showPageOf = Default.getBoolean(e.footer.showPageOf, true);
e.footer.statusResetDelay = Default.getNumber(e.footer.statusResetDelay, 5e3);
- return e;
+ return e.footer;
}
- function a(e) {
+ function s(e) {
e.controlPanel = Default.getObject(e.controlPanel, {});
e.controlPanel.enabled = Default.getBoolean(e.controlPanel.enabled, true);
e.controlPanel.showCopyButton = Default.getBoolean(e.controlPanel.showCopyButton, true);
@@ -728,9 +788,16 @@ var Binding;
e.controlPanel.showEditButton = Default.getBoolean(e.controlPanel.showEditButton, true);
e.controlPanel.showCloseOpenAllButtons = Default.getBoolean(e.controlPanel.showCloseOpenAllButtons, true);
e.controlPanel.showSwitchToPagesButton = Default.getBoolean(e.controlPanel.showSwitchToPagesButton, true);
- return e;
+ return e.controlPanel;
}
- function s(e) {
+ function a(e) {
+ e.lineNumbers = Default.getObject(e.lineNumbers, {});
+ e.lineNumbers.enabled = Default.getBoolean(e.lineNumbers.enabled, true);
+ e.lineNumbers.padNumbers = Default.getBoolean(e.lineNumbers.padNumbers, false);
+ e.lineNumbers.addDots = Default.getBoolean(e.lineNumbers.addDots, true);
+ return e.lineNumbers;
+ }
+ function u(e) {
e.ignore = Default.getObject(e.ignore, {});
e.ignore.nullValues = Default.getBoolean(e.ignore.nullValues, false);
e.ignore.functionValues = Default.getBoolean(e.ignore.functionValues, false);
@@ -756,22 +823,23 @@ var Binding;
e.ignore.emailValues = Default.getBoolean(e.ignore.emailValues, false);
e.ignore.htmlValues = Default.getBoolean(e.ignore.htmlValues, false);
e.ignore.lambdaValues = Default.getBoolean(e.ignore.lambdaValues, false);
- return e;
+ return e.ignore;
}
- function u(e) {
+ function c(e) {
e.tooltip = Default.getObject(e.tooltip, {});
e.tooltip.delay = Default.getNumber(e.tooltip.delay, 750);
e.tooltip.offset = Default.getNumber(e.tooltip.offset, 0);
- return e;
+ return e.tooltip;
}
- function c(e) {
+ function d(e) {
e.parse = Default.getObject(e.parse, {});
e.parse.stringsToDates = Default.getBoolean(e.parse.stringsToDates, false);
e.parse.stringsToBooleans = Default.getBoolean(e.parse.stringsToBooleans, false);
e.parse.stringsToNumbers = Default.getBoolean(e.parse.stringsToNumbers, false);
- return e;
+ e.parse.stringsToSymbols = Default.getBoolean(e.parse.stringsToSymbols, false);
+ return e.parse;
}
- function d(e) {
+ function f(e) {
let t = Default.getBoolean(e.allowEditing, true);
e.allowEditing = Default.getObject(e.allowEditing, {});
e.allowEditing.booleanValues = Default.getBoolean(e.allowEditing.booleanValues, t);
@@ -789,9 +857,16 @@ var Binding;
e.allowEditing.imageValues = Default.getBoolean(e.allowEditing.imageValues, t);
e.allowEditing.propertyNames = Default.getBoolean(e.allowEditing.propertyNames, t);
e.allowEditing.bulk = Default.getBoolean(e.allowEditing.bulk, t);
- return e;
+ const n = e.allowEditing;
+ for (const t in n) {
+ if (n.hasOwnProperty(t) && !n[t]) {
+ e.allowEditing.bulk = false;
+ break;
+ }
+ }
+ return e.allowEditing;
}
- function f(e) {
+ function g(e) {
e.sideMenu = Default.getObject(e.sideMenu, {});
e.sideMenu.enabled = Default.getBoolean(e.sideMenu.enabled, true);
e.sideMenu.showImportButton = Default.getBoolean(e.sideMenu.showImportButton, true);
@@ -799,18 +874,18 @@ var Binding;
e.sideMenu.titleText = Default.getAnyString(e.sideMenu.titleText, e.title.text);
e.sideMenu.showAvailableDataTypeCounts = Default.getBoolean(e.sideMenu.showAvailableDataTypeCounts, true);
e.sideMenu.showOnlyDataTypesAvailable = Default.getBoolean(e.sideMenu.showOnlyDataTypesAvailable, false);
- return e;
+ return e.sideMenu;
}
- function g(e) {
+ function m(e) {
e.autoClose = Default.getObject(e.autoClose, {});
e.autoClose.objectSize = Default.getNumber(e.autoClose.objectSize, 0);
e.autoClose.arraySize = Default.getNumber(e.autoClose.arraySize, 0);
e.autoClose.mapSize = Default.getNumber(e.autoClose.mapSize, 0);
e.autoClose.setSize = Default.getNumber(e.autoClose.setSize, 0);
e.autoClose.htmlSize = Default.getNumber(e.autoClose.htmlSize, 0);
- return e;
+ return e.autoClose;
}
- function m(e) {
+ function p(e) {
e.events = Default.getObject(e.events, {});
e.events.onBeforeRender = Default.getFunction(e.events.onBeforeRender, null);
e.events.onRenderComplete = Default.getFunction(e.events.onRenderComplete, null);
@@ -843,7 +918,7 @@ var Binding;
e.events.onLambdaRender = Default.getFunction(e.events.onLambdaRender, null);
e.events.onCopy = Default.getFunction(e.events.onCopy, null);
e.events.onFullScreenChange = Default.getFunction(e.events.onFullScreenChange, null);
- return e;
+ return e.events;
}
})(t = e.Options || (e.Options = {}));
})(Binding || (Binding = {}));
@@ -854,10 +929,10 @@ var Config;
let t;
(e => {
function t(e = null) {
- let t = Default.getObject(e, {});
+ const t = Default.getObject(e, {});
t.safeMode = Default.getBoolean(t.safeMode, true);
t.domElementTypes = Default.getStringOrArray(t.domElementTypes, [ "*" ]);
- t = n(t);
+ t.text = n(t);
return t;
}
e.get = t;
@@ -947,7 +1022,7 @@ var Config;
if (Is.invalidOptionArray(e.text.monthNamesAbbreviated, 12)) {
e.text.monthNamesAbbreviated = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
}
- return e;
+ return e.text;
}
})(t = e.Options || (e.Options = {}));
})(Config || (Config = {}));
@@ -977,8 +1052,8 @@ var ToolTip;
}
e.renderControl = t;
function n(e, t = true) {
- let n = t ? window.addEventListener : window.removeEventListener;
- let o = t ? document.addEventListener : document.removeEventListener;
+ const n = t ? window.addEventListener : window.removeEventListener;
+ const o = t ? document.addEventListener : document.removeEventListener;
n("mousemove", (() => r(e)));
o("scroll", (() => r(e)));
}
@@ -1055,88 +1130,100 @@ var Arr;
e.splice(n, 0, e.splice(t, 1)[0]);
}
e.moveIndex = l;
+ function r(e) {
+ let t = [];
+ const n = e.length;
+ for (let o = 0; o < n; o++) {
+ const n = e[o];
+ if (Is.defined(n)) {
+ t.push(n);
+ }
+ }
+ return t;
+ }
+ e.removeNullOrUndefinedEntries = r;
})(Arr || (Arr = {}));
var Size;
(e => {
- function t(e) {
- let t = null;
- const n = o(e);
- if (n > 0) {
- const e = Math.floor(Math.log(n) / Math.log(1024));
- return `${Convert2.numberToFloatWithDecimalPlaces(n / Math.pow(1024, e), 2)} ${" KMGTP".charAt(e)}B`;
+ function t(e, t) {
+ let n = null;
+ const l = o(e, t);
+ if (l > 0) {
+ const e = Math.floor(Math.log(l) / Math.log(1024));
+ return `${Convert2.numberToFloatWithDecimalPlaces(l / Math.pow(1024, e), 2)} ${" KMGTP".charAt(e)}B`;
}
- return t;
+ return n;
}
e.of = t;
- function n(t) {
- let n = 0;
- if (Is.defined(t)) {
- if (Is.definedDate(t)) {
- n = t.toString().length;
- } else if (Is.definedImage(t)) {
- n = t.src.length;
- } else if (Is.definedRegExp(t)) {
- n = t.source.length;
- } else if (Is.definedSet(t)) {
- n = e.length(Convert2.setToArray(t));
- } else if (Is.definedMap(t)) {
- n = e.length(Convert2.mapToObject(t));
- } else if (Is.definedHtml(t)) {
- n = e.length(Convert2.htmlToObject(t));
- } else if (Is.definedArray(t)) {
- n = t.length;
- } else if (Is.definedObject(t)) {
- for (const e in t) {
- if (t.hasOwnProperty(e)) {
- n++;
+ function n(e, t) {
+ let o = 0;
+ if (Is.defined(e)) {
+ if (Is.definedDate(e)) {
+ o = e.toString().length;
+ } else if (Is.definedImage(e)) {
+ o = e.src.length;
+ } else if (Is.definedRegExp(e)) {
+ o = e.source.length;
+ } else if (Is.definedSet(e)) {
+ o = n(Convert2.setToArray(e), t);
+ } else if (Is.definedMap(e)) {
+ o = n(Convert2.mapToObject(e), t);
+ } else if (Is.definedHtml(e)) {
+ o = n(Convert2.htmlToObject(e, t), t);
+ } else if (Is.definedArray(e)) {
+ o = e.length;
+ } else if (Is.definedObject(e)) {
+ for (const t in e) {
+ if (e.hasOwnProperty(t)) {
+ o++;
}
}
} else {
- if (!Is.definedFunction(t) && !Is.definedSymbol(t)) {
- n = t.toString().length;
+ if (!Is.definedFunction(e) && !Is.definedSymbol(e)) {
+ o = e.toString().length;
}
}
}
- return n;
+ return o;
}
e.length = n;
- function o(e) {
- let t = 0;
+ function o(e, t) {
+ let n = 0;
if (Is.defined(e)) {
if (Is.definedNumber(e)) {
- t = 8;
+ n = 8;
} else if (Is.definedString(e)) {
- t = e.length * 2;
+ n = e.length * 2;
} else if (Is.definedBoolean(e)) {
- t = 4;
+ n = 4;
} else if (Is.definedBigInt(e)) {
- t = o(e.toString());
+ n = o(e.toString(), t);
} else if (Is.definedRegExp(e)) {
- t = o(e.toString());
+ n = o(e.toString(), t);
} else if (Is.definedDate(e)) {
- t = o(e.toString());
+ n = o(e.toString(), t);
} else if (Is.definedSet(e)) {
- t = o(Convert2.setToArray(e));
+ n = o(Convert2.setToArray(e), t);
} else if (Is.definedMap(e)) {
- t = o(Convert2.mapToObject(e));
+ n = o(Convert2.mapToObject(e), t);
} else if (Is.definedHtml(e)) {
- t = o(Convert2.htmlToObject(e));
+ n = o(Convert2.htmlToObject(e, t), t);
} else if (Is.definedArray(e)) {
- const n = e.length;
- for (let l = 0; l < n; l++) {
- t += o(e[l]);
+ const l = e.length;
+ for (let r = 0; r < l; r++) {
+ n += o(e[r], t);
}
} else if (Is.definedObject(e)) {
- for (const n in e) {
- if (e.hasOwnProperty(n)) {
- t += o(n) + o(e[n]);
+ for (const l in e) {
+ if (e.hasOwnProperty(l)) {
+ n += o(l, t) + o(e[l], t);
}
}
}
}
- return t;
+ return n;
}
})(Size || (Size = {}));
@@ -1163,13 +1250,64 @@ var Obj;
return n;
}
e.getPropertyNames = t;
+ function n(e) {
+ const t = {};
+ t[crypto.randomUUID()] = e;
+ return t;
+ }
+ e.createFromValue = n;
})(Obj || (Obj = {}));
+var ContextMenu;
+
+(e => {
+ function t(e) {
+ if (!Is.defined(e._currentView.contextMenu)) {
+ e._currentView.contextMenu = DomElement.create(document.body, "div", "jsontree-js-context-menu");
+ e._currentView.contextMenu.style.display = "none";
+ n(e);
+ }
+ }
+ e.renderControl = t;
+ function n(e, t = true) {
+ const n = t ? window.addEventListener : window.removeEventListener;
+ const o = t ? document.addEventListener : document.removeEventListener;
+ n("contextmenu", (() => l(e)));
+ n("click", (() => l(e)));
+ o("scroll", (() => l(e)));
+ }
+ e.assignToEvents = n;
+ function o(e, t) {
+ DomElement.cancelBubble(e);
+ DomElement.showElementAtMousePosition(e, t._currentView.contextMenu, 0);
+ }
+ e.show = o;
+ function l(e) {
+ if (Is.defined(e._currentView.contextMenu) && e._currentView.contextMenu.style.display !== "none") {
+ e._currentView.contextMenu.style.display = "none";
+ }
+ }
+ e.hide = l;
+ function r(e) {
+ if (Is.defined(e._currentView.contextMenu)) {
+ e._currentView.contextMenu.parentNode.removeChild(e._currentView.contextMenu);
+ }
+ }
+ e.remove = r;
+ function i(e, t, n) {
+ const o = DomElement.create(e._currentView.contextMenu, "div", "context-menu-item");
+ DomElement.createWithHTML(o, "span", "symbol", t);
+ DomElement.createWithHTML(o, "span", "text", n);
+ return o;
+ }
+ e.addMenuItem = i;
+})(ContextMenu || (ContextMenu = {}));
+
(() => {
let e = {};
let t = {};
let n = 0;
- let o = (t, n) => Convert2.stringifyJson(t, n, e);
+ let o = false;
function l() {
DomElement.find(e.domElementTypes, (t => {
let n = true;
@@ -1198,6 +1336,7 @@ var Obj;
function r(e) {
Trigger.customEvent(e.events.onBeforeRender, e._currentView.element);
ToolTip.renderControl(e);
+ ContextMenu.renderControl(e);
if (!Is.definedString(e._currentView.element.id)) {
e._currentView.element.id = crypto.randomUUID();
e._currentView.idSet = true;
@@ -1213,101 +1352,122 @@ var Obj;
n++;
}
i(e);
- ce(e);
+ we(e);
Trigger.customEvent(e.events.onRenderComplete, e._currentView.element);
}
function i(n, o = false) {
let l = t[n._currentView.element.id].data;
if (Is.definedUrl(l)) {
Default.getObjectFromUrl(l, e, (e => {
- a(n, o, e);
+ s(n, o, e);
}));
} else {
- a(n, o, l);
+ s(n, o, l);
}
}
- function a(e, t, n) {
+ function s(e, t, n) {
const o = c(e);
ToolTip.hide(e);
+ ContextMenu.hide(e);
+ e.data = n;
e._currentView.element.innerHTML = "";
e._currentView.editMode = false;
e._currentView.contentPanelsIndex = 0;
e._currentView.sideMenuChanged = false;
- e._currentView.contentColumns = [];
+ e._currentView.currentContentColumns = [];
e._currentView.dataTypeCounts = {};
- e._currentView.contentControlButtons = [];
- D(e, n);
+ v(e, n);
const l = DomElement.create(e._currentView.element, "div", "contents");
if (t) {
l.classList.add("page-switch");
}
if (e.paging.enabled && Is.definedArray(n)) {
- const t = Is.defined(n[e._currentView.dataArrayCurrentIndex + 1]);
- for (let r = 0; r < e.paging.columnsPerPage; r++) {
- const i = r + e._currentView.dataArrayCurrentIndex;
- const a = n[i];
- e._currentView.contentPanelsIndex = 0;
- e._currentView.contentPanelsDataIndex = i;
- if (Is.defined(a)) {
- s(a, l, e, i, o[r], e.paging.columnsPerPage, t);
+ const t = Is.defined(n[e._currentView.currentDataArrayPageIndex + 1]);
+ const r = Arr.removeNullOrUndefinedEntries(n);
+ e.data = r;
+ for (let n = 0; n < e.paging.columnsPerPage; n++) {
+ const i = n + e._currentView.currentDataArrayPageIndex;
+ if (i <= r.length - 1) {
+ const s = r[i];
+ e._currentView.contentPanelsIndex = 0;
+ e._currentView.contentPanelsDataIndex = i;
+ a(s, l, e, i, o[n], e.paging.columnsPerPage, t);
}
}
} else {
e._currentView.contentPanelsIndex = 0;
e._currentView.contentPanelsDataIndex = 0;
- s(n, l, e, null, o[0], 1, false);
+ a(n, l, e, null, o[0], 1, false);
}
- C(e);
- P(e);
- oe(e);
+ _(e);
+ N(e);
+ fe(e);
e._currentView.initialized = true;
}
- function s(t, n, o, l, r, i, a) {
- const s = DomElement.create(n, "div", i > 1 ? "contents-column-multiple" : "contents-column");
+ function a(t, n, o, l, r, i, s) {
+ const a = DomElement.create(n, "div", i > 1 ? "contents-column-multiple" : "contents-column");
if (!Is.defined(t)) {
- const t = DomElement.create(s, "div", "no-json");
+ const t = DomElement.create(a, "div", "no-json");
DomElement.createWithHTML(t, "span", "no-json-text", e.text.noJsonToViewText);
if (o.sideMenu.showImportButton) {
const n = DomElement.createWithHTML(t, "span", "no-json-import-text", `${e.text.importButtonText}${e.text.ellipsisText}`);
- n.onclick = () => _(o);
+ n.onclick = () => A(o);
}
} else {
- s.onscroll = () => d(s, o, l);
+ a.onscroll = () => d(a, o, l);
if (o.paging.enabled && Is.definedNumber(l)) {
- s.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME, l.toString());
+ a.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME, l.toString());
}
- if (a && o.paging.allowColumnReordering && o.paging.columnsPerPage > 1 && o.allowEditing.bulk) {
- s.setAttribute("draggable", "true");
- s.ondragstart = () => f(s, o, l);
- s.ondragend = () => g(s, o);
- s.ondragover = e => e.preventDefault();
- s.ondrop = () => m(o, l);
+ if (s && o.paging.allowColumnReordering && o.paging.columnsPerPage > 1 && o.allowEditing.bulk) {
+ a.setAttribute("draggable", "true");
+ a.ondragstart = () => f(a, o, l);
+ a.ondragend = () => g(a, o);
+ a.ondragover = e => e.preventDefault();
+ a.ondrop = () => m(o, l);
}
- o._currentView.contentColumns.push(s);
+ let e = a;
+ let n = null;
+ let i = null;
+ if (o.lineNumbers.enabled) {
+ n = DomElement.create(a, "div", "contents-column-line-numbers");
+ i = DomElement.create(a, "div", "contents-column-lines");
+ e = i;
+ }
+ const c = {
+ column: a,
+ lineNumbers: n,
+ lines: i,
+ controlButtons: null
+ };
+ o._currentView.currentContentColumns.push(c);
+ o._currentView.currentColumnBuildingIndex = o._currentView.currentContentColumns.length - 1;
if (Is.definedArray(t)) {
- z(s, o, t, "array");
+ z(e, o, t, "array");
} else if (Is.definedSet(t)) {
- z(s, o, Convert2.setToArray(t), "set");
+ z(e, o, Convert2.setToArray(t), "set");
} else if (Is.definedHtml(t)) {
- $(s, o, Convert2.htmlToObject(t, o.showCssStylesForHtmlObjects), l, "html");
+ J(e, o, Convert2.htmlToObject(t, o.showCssStylesForHtmlObjects), l, "html");
} else if (Is.definedMap(t)) {
- $(s, o, Convert2.mapToObject(t), l, "map");
+ J(e, o, Convert2.mapToObject(t), l, "map");
} else if (Is.definedObject(t)) {
- $(s, o, t, l, "object");
+ J(e, o, t, l, "object");
+ } else {
+ J(e, o, Obj.createFromValue(t), l, "object");
}
- T(o, s, t, l);
+ x(o._currentView.currentColumnBuildingIndex, o);
+ T(o, a, t, l);
if (Is.defined(r)) {
- s.scrollTop = r;
+ a.scrollTop = r;
}
o._currentView.titleBarButtons.style.display = "block";
if (o.allowEditing.bulk) {
- s.ondblclick = e => {
- u(e, o, t, s, l);
+ a.ondblclick = e => {
+ u(e, o, t, a, l);
};
}
}
}
- function u(t, n, l, r, a) {
+ function u(t, n, o, l, r) {
let s = null;
if (Is.defined(t)) {
DomElement.cancelBubble(t);
@@ -1315,43 +1475,43 @@ var Obj;
clearTimeout(n._currentView.valueClickTimerId);
n._currentView.valueClickTimerId = 0;
n._currentView.editMode = true;
- r.classList.add("editable");
- r.setAttribute("contenteditable", "true");
- r.setAttribute("draggable", "false");
- r.innerText = JSON.stringify(l, o, n.jsonIndentSpaces);
- r.focus();
- DomElement.selectAllText(r);
- r.onblur = () => {
+ l.classList.add("editable");
+ l.setAttribute("contenteditable", "true");
+ l.setAttribute("draggable", "false");
+ l.innerText = JSON.stringify(Convert2.toJsonStringifyClone(o, e, n), n.events.onCopyJsonReplacer, n.jsonIndentSpaces);
+ l.focus();
+ DomElement.selectAllText(l);
+ l.onblur = () => {
i(n, false);
if (Is.definedString(s)) {
- W(n, s);
+ $(n, s);
}
};
- r.onkeydown = t => {
+ l.onkeydown = t => {
if (t.code === "Escape") {
t.preventDefault();
- r.setAttribute("contenteditable", "false");
- } else if (fe(t) && t.code === "Enter") {
+ l.setAttribute("contenteditable", "false");
+ } else if (ve(t) && t.code === "Enter") {
t.preventDefault();
- const o = r.innerText;
- const l = Convert2.jsonStringToObject(o, e);
- if (l.parsed) {
+ const o = l.innerText;
+ const i = Convert2.jsonStringToObject(o, e);
+ if (i.parsed) {
s = e.text.jsonUpdatedText;
if (n.paging.enabled) {
- if (Is.defined(l.object)) {
- n.data[a] = l.object;
+ if (Is.defined(i.object)) {
+ n.data[r] = i.object;
} else {
- n.data.splice(a, 1);
+ n.data.splice(r, 1);
s = e.text.arrayJsonItemDeleted;
- if (a === n._currentView.dataArrayCurrentIndex && n._currentView.dataArrayCurrentIndex > 0) {
- n._currentView.dataArrayCurrentIndex -= n.paging.columnsPerPage;
+ if (r === n._currentView.currentDataArrayPageIndex && n._currentView.currentDataArrayPageIndex > 0) {
+ n._currentView.currentDataArrayPageIndex -= n.paging.columnsPerPage;
}
}
} else {
- n.data = l.object;
+ n.data = i.object;
}
}
- r.setAttribute("contenteditable", "false");
+ l.setAttribute("contenteditable", "false");
} else if (t.code === "Enter") {
t.preventDefault();
document.execCommand("insertLineBreak");
@@ -1361,41 +1521,43 @@ var Obj;
function c(e) {
const t = [];
ToolTip.hide(e);
+ ContextMenu.hide(e);
if (e._currentView.editMode || e._currentView.sideMenuChanged) {
- const n = e._currentView.contentColumns.length;
+ const n = e._currentView.currentContentColumns.length;
for (let o = 0; o < n; o++) {
- t.push(e._currentView.contentColumns[o].scrollTop);
+ t.push(e._currentView.currentContentColumns[o].column.scrollTop);
}
}
return t;
}
function d(e, t, n) {
ToolTip.hide(t);
+ ContextMenu.hide(t);
const o = e.scrollTop;
const l = e.scrollLeft;
- const r = t._currentView.contentColumns.length;
+ const r = t._currentView.currentContentColumns.length;
if (t.controlPanel.enabled) {
- const e = t._currentView.contentControlButtons[n];
+ const e = t._currentView.currentContentColumns[n].controlButtons;
if (Is.defined(e)) {
- e.style.top = `${t._currentView.contentColumns[n].scrollTop}px`;
- e.style.right = `-${t._currentView.contentColumns[n].scrollLeft}px`;
+ e.style.top = `${t._currentView.currentContentColumns[n].column.scrollTop}px`;
+ e.style.right = `-${t._currentView.currentContentColumns[n].column.scrollLeft}px`;
}
}
if (t.paging.synchronizeScrolling) {
for (let e = 0; e < r; e++) {
if (n !== e) {
- t._currentView.contentColumns[e].scrollTop = o;
- t._currentView.contentColumns[e].scrollLeft = l;
+ t._currentView.currentContentColumns[e].column.scrollTop = o;
+ t._currentView.currentContentColumns[e].column.scrollLeft = l;
}
}
}
if (t.controlPanel.enabled) {
for (let e = 0; e < r; e++) {
if (n !== e) {
- const n = t._currentView.contentControlButtons[e];
+ const n = t._currentView.currentContentColumns[e].controlButtons;
if (Is.defined(n)) {
- n.style.top = `${t._currentView.contentColumns[e].scrollTop}px`;
- n.style.right = `-${t._currentView.contentColumns[e].scrollLeft}px`;
+ n.style.top = `${t._currentView.currentContentColumns[e].column.scrollTop}px`;
+ n.style.right = `-${t._currentView.currentContentColumns[e].column.scrollLeft}px`;
}
}
}
@@ -1418,25 +1580,64 @@ var Obj;
if (n !== o) {
const l = t.data[o];
const r = t.data[n];
- let a = t._currentView.contentPanelsOpen[o];
- let s = t._currentView.contentPanelsOpen[n];
- if (!Is.defined(a)) {
- a = {};
- }
+ let s = t._currentView.contentPanelsOpen[o];
+ let a = t._currentView.contentPanelsOpen[n];
if (!Is.defined(s)) {
s = {};
}
+ if (!Is.defined(a)) {
+ a = {};
+ }
t.data[o] = r;
t.data[n] = l;
- t._currentView.contentPanelsOpen[o] = s;
- t._currentView.contentPanelsOpen[n] = a;
- if (t._currentView.dataArrayCurrentIndex + (t.paging.columnsPerPage - 1) < o) {
- t._currentView.dataArrayCurrentIndex += t.paging.columnsPerPage;
- } else if (o < t._currentView.dataArrayCurrentIndex) {
- t._currentView.dataArrayCurrentIndex -= t.paging.columnsPerPage;
+ t._currentView.contentPanelsOpen[o] = a;
+ t._currentView.contentPanelsOpen[n] = s;
+ if (t._currentView.currentDataArrayPageIndex + (t.paging.columnsPerPage - 1) < o) {
+ t._currentView.currentDataArrayPageIndex += t.paging.columnsPerPage;
+ } else if (o < t._currentView.currentDataArrayPageIndex) {
+ t._currentView.currentDataArrayPageIndex -= t.paging.columnsPerPage;
}
i(t);
- W(t, e.text.jsonUpdatedText);
+ $(t, e.text.jsonUpdatedText);
+ }
+ }
+ function x(e, t) {
+ const n = t._currentView.currentContentColumns[e];
+ if (t.lineNumbers.enabled) {
+ let e = 1;
+ let o = 0;
+ let l = 0;
+ const r = n.column.querySelectorAll(".object-type-title, .object-type-value-title, .object-type-end");
+ const i = r.length;
+ n.lineNumbers.innerHTML = "";
+ for (let s = 0; s < i; s++) {
+ const a = r[s];
+ if (a.offsetHeight > 0) {
+ let r = DomElement.getOffset(a).top;
+ if (e === 1) {
+ o = r;
+ }
+ r -= o;
+ const s = DomElement.create(n.lineNumbers, "div", "contents-column-line-number");
+ const u = t.lineNumbers.addDots ? "." : "";
+ if (t.lineNumbers.padNumbers) {
+ s.innerHTML = `${Str.padNumber(e, i.toString().length)}${u}`;
+ } else {
+ s.innerHTML = `${e}${u}`;
+ }
+ const c = r + a.offsetHeight / 2 - s.offsetHeight / 2;
+ s.style.top = `${c}px`;
+ l = Math.max(l, s.offsetWidth);
+ }
+ e++;
+ }
+ n.lineNumbers.style.height = `${n.lines.offsetHeight}px`;
+ n.lineNumbers.style.width = `${l}px`;
+ } else {
+ if (Is.defined(n.lineNumbers)) {
+ n.lineNumbers.parentNode.removeChild(n.lineNumbers);
+ n.lineNumbers = null;
+ }
}
}
function T(t, n, o, l) {
@@ -1469,44 +1670,44 @@ var Obj;
}
if (i && t.controlPanel.showCopyButton) {
const n = DomElement.createWithHTML(r, "button", "copy", e.text.copyButtonSymbolText);
- n.onclick = () => h(t, o);
+ n.onclick = () => D(t, o);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.copyButtonText);
}
if (i && t.controlPanel.showCloseOpenAllButtons) {
const n = DomElement.createWithHTML(r, "button", "open-all", e.text.openAllButtonSymbolText);
- n.onclick = () => b(t, l);
+ n.onclick = () => w(t, l);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.openAllButtonText);
const o = DomElement.createWithHTML(r, "button", "close-all", e.text.closeAllButtonSymbolText);
- o.onclick = () => w(t, l);
+ o.onclick = () => y(t, l);
o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.closeAllButtonText);
}
if (t.allowEditing.bulk && t.controlPanel.showRemoveButton) {
const n = DomElement.createWithHTML(r, "button", "remove", e.text.removeSymbolButtonText);
- n.onclick = () => y(t, l);
+ n.onclick = () => h(t, l);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.removeButtonText);
}
if (!t.paging.enabled && Is.definedArray(t.data) && t.data.length > 1 && t.controlPanel.showSwitchToPagesButton) {
const n = DomElement.createWithHTML(r, "button", "switch-to-pages", e.text.switchToPagesSymbolText);
- n.onclick = () => x(t);
+ n.onclick = () => b(t);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.switchToPagesText);
}
if (r.innerHTML !== "") {
- t._currentView.contentControlButtons.push(r);
+ t._currentView.currentContentColumns[t._currentView.currentColumnBuildingIndex].controlButtons = r;
n.style.minHeight = `${r.offsetHeight}px`;
} else {
n.removeChild(r);
}
}
- function x(e) {
+ function b(e) {
e.paging.enabled = true;
i(e);
}
- function b(e, t) {
+ function w(e, t) {
const n = e._currentView.contentPanelsOpen[t];
for (const e in n) {
if (n.hasOwnProperty(e)) {
@@ -1515,7 +1716,7 @@ var Obj;
}
i(e);
}
- function w(e, t) {
+ function y(e, t) {
const n = e._currentView.contentPanelsOpen[t];
for (const e in n) {
if (n.hasOwnProperty(e)) {
@@ -1524,37 +1725,33 @@ var Obj;
}
i(e);
}
- function y(t, n) {
+ function h(t, n) {
if (t.paging.enabled) {
t.data.splice(n, 1);
- if (n === t._currentView.dataArrayCurrentIndex && t._currentView.dataArrayCurrentIndex > 0) {
- t._currentView.dataArrayCurrentIndex -= t.paging.columnsPerPage;
+ if (n === t._currentView.currentDataArrayPageIndex && t._currentView.currentDataArrayPageIndex > 0) {
+ t._currentView.currentDataArrayPageIndex -= t.paging.columnsPerPage;
}
} else {
t.data = null;
}
i(t);
- W(t, e.text.arrayJsonItemDeleted);
- }
- function h(t, n) {
- let l = o;
- if (Is.definedFunction(t.events.onCopyJsonReplacer)) {
- l = t.events.onCopyJsonReplacer;
- }
- let r = JSON.stringify(n, l, t.jsonIndentSpaces);
- navigator.clipboard.writeText(r);
- W(t, e.text.copiedText);
- Trigger.customEvent(t.events.onCopy, t._currentView.element, r);
+ $(t, e.text.arrayJsonItemDeleted);
}
function D(t, n) {
+ const o = JSON.stringify(Convert2.toJsonStringifyClone(n, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
+ navigator.clipboard.writeText(o);
+ $(t, e.text.copiedText);
+ Trigger.customEvent(t.events.onCopy, t._currentView.element, o);
+ }
+ function v(t, n) {
if (Is.definedString(t.title.text) || t.title.showCloseOpenAllButtons || t.title.showCopyButton || t.sideMenu.enabled || t.paging.enabled || t.title.enableFullScreenToggling) {
const o = DomElement.create(t._currentView.element, "div", "title-bar");
if (t.title.enableFullScreenToggling) {
- o.ondblclick = () => v(t);
+ o.ondblclick = () => V(t);
}
if (t.sideMenu.enabled) {
const n = DomElement.createWithHTML(o, "button", "side-menu", e.text.sideMenuButtonSymbolText);
- n.onclick = () => A(t);
+ n.onclick = () => M(t);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.sideMenuButtonText);
}
@@ -1564,13 +1761,13 @@ var Obj;
}
if (t.title.showCopyButton && Is.defined(n)) {
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "copy-all", e.text.copyButtonSymbolText);
- o.onclick = () => V(t, n);
+ o.onclick = () => S(t, n);
o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.copyAllButtonText);
}
if (t.title.showCloseOpenAllButtons && Is.defined(n)) {
const n = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "open-all", e.text.openAllButtonSymbolText);
- n.onclick = () => S(t);
+ n.onclick = () => B(t);
n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.openAllButtonText);
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "close-all", e.text.closeAllButtonSymbolText);
@@ -1582,15 +1779,15 @@ var Obj;
t._currentView.backButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "back", e.text.backButtonSymbolText);
t._currentView.backButton.ondblclick = DomElement.cancelBubble;
ToolTip.add(t._currentView.backButton, t, e.text.backButtonText);
- if (t._currentView.dataArrayCurrentIndex > 0) {
- t._currentView.backButton.onclick = () => B(t);
+ if (t._currentView.currentDataArrayPageIndex > 0) {
+ t._currentView.backButton.onclick = () => C(t);
} else {
t._currentView.backButton.disabled = true;
}
t._currentView.nextButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "next", e.text.nextButtonSymbolText);
t._currentView.nextButton.ondblclick = DomElement.cancelBubble;
ToolTip.add(t._currentView.nextButton, t, e.text.nextButtonText);
- if (t._currentView.dataArrayCurrentIndex + (t.paging.columnsPerPage - 1) < n.length - 1) {
+ if (t._currentView.currentDataArrayPageIndex + (t.paging.columnsPerPage - 1) < n.length - 1) {
t._currentView.nextButton.onclick = () => I(t);
} else {
t._currentView.nextButton.disabled = true;
@@ -1603,13 +1800,13 @@ var Obj;
if (t.title.enableFullScreenToggling && t.title.showFullScreenButton) {
const n = !t._currentView.fullScreenOn ? e.text.fullScreenOnButtonSymbolText : e.text.fullScreenOffButtonSymbolText;
t._currentView.toggleFullScreenButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "toggle-full-screen", n);
- t._currentView.toggleFullScreenButton.onclick = () => v(t);
+ t._currentView.toggleFullScreenButton.onclick = () => V(t);
t._currentView.toggleFullScreenButton.ondblclick = DomElement.cancelBubble;
ToolTip.add(t._currentView.toggleFullScreenButton, t, e.text.fullScreenButtonText);
}
}
}
- function v(t) {
+ function V(t) {
if (t.title.enableFullScreenToggling) {
if (t._currentView.element.classList.contains("full-screen")) {
t._currentView.element.classList.remove("full-screen");
@@ -1621,21 +1818,18 @@ var Obj;
t._currentView.fullScreenOn = true;
}
ToolTip.hide(t);
- k(t);
+ ContextMenu.hide(t);
+ F(t);
Trigger.customEvent(t.events.onFullScreenChange, t._currentView.element, t._currentView.element.classList.contains("full-screen"));
}
}
- function V(t, n) {
- let l = o;
- if (Is.definedFunction(t.events.onCopyJsonReplacer)) {
- l = t.events.onCopyJsonReplacer;
- }
- let r = JSON.stringify(n, l, t.jsonIndentSpaces);
- navigator.clipboard.writeText(r);
- W(t, e.text.copiedText);
- Trigger.customEvent(t.events.onCopyAll, t._currentView.element, r);
+ function S(t, n) {
+ const o = JSON.stringify(Convert2.toJsonStringifyClone(n, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
+ navigator.clipboard.writeText(o);
+ $(t, e.text.copiedText);
+ Trigger.customEvent(t.events.onCopyAll, t._currentView.element, o);
}
- function S(e) {
+ function B(e) {
e.showAllAsClosed = false;
e._currentView.contentPanelsOpen = {};
i(e);
@@ -1647,21 +1841,21 @@ var Obj;
i(e);
Trigger.customEvent(e.events.onCloseAll, e._currentView.element);
}
- function B(e) {
+ function C(e) {
if (e._currentView.backButton !== null && !e._currentView.backButton.disabled) {
- e._currentView.dataArrayCurrentIndex -= e.paging.columnsPerPage;
+ e._currentView.currentDataArrayPageIndex -= e.paging.columnsPerPage;
i(e, true);
Trigger.customEvent(e.events.onBackPage, e._currentView.element);
}
}
function I(e) {
if (e._currentView.nextButton !== null && !e._currentView.nextButton.disabled) {
- e._currentView.dataArrayCurrentIndex += e.paging.columnsPerPage;
+ e._currentView.currentDataArrayPageIndex += e.paging.columnsPerPage;
i(e, true);
Trigger.customEvent(e.events.onNextPage, e._currentView.element);
}
}
- function C(t) {
+ function _(t) {
if (t.sideMenu.enabled) {
t._currentView.disabledBackground = DomElement.create(t._currentView.element, "div", "side-menu-disabled-background");
t._currentView.disabledBackground.onclick = () => O(t);
@@ -1674,12 +1868,12 @@ var Obj;
const o = DomElement.create(n, "div", "side-menu-title-controls");
if (t.sideMenu.showExportButton && Is.definedObject(t.data)) {
const n = DomElement.createWithHTML(o, "button", "export", e.text.exportButtonSymbolText);
- n.onclick = () => se(t);
+ n.onclick = () => Te(t);
ToolTip.add(n, t, e.text.exportButtonText);
}
if (t.sideMenu.showImportButton) {
const n = DomElement.createWithHTML(o, "button", "import", e.text.importButtonSymbolText);
- n.onclick = () => _(t);
+ n.onclick = () => A(t);
ToolTip.add(n, t, e.text.importButtonText);
}
const l = DomElement.createWithHTML(o, "button", "close", e.text.closeButtonSymbolText);
@@ -1687,63 +1881,68 @@ var Obj;
ToolTip.add(l, t, e.text.closeButtonText);
if (Is.definedObject(t.data)) {
const e = DomElement.create(t._currentView.sideMenu, "div", "side-menu-contents");
- M(e, t);
+ L(e, t);
}
}
}
- function _(e) {
+ function A(e) {
const t = DomElement.createWithNoContainer("input");
t.type = "file";
t.accept = ".json";
t.multiple = true;
O(e);
- t.onchange = () => ie(t.files, e);
+ t.onchange = () => pe(t.files, e);
t.click();
}
- function A(e) {
+ function M(e) {
if (!e._currentView.sideMenu.classList.contains("side-menu-open")) {
e._currentView.sideMenu.classList.add("side-menu-open");
e._currentView.disabledBackground.style.display = "block";
ToolTip.hide(e);
+ ContextMenu.hide(e);
}
}
function O(t) {
+ let n = false;
if (t._currentView.sideMenu.classList.contains("side-menu-open")) {
t._currentView.sideMenu.classList.remove("side-menu-open");
t._currentView.disabledBackground.style.display = "none";
ToolTip.hide(t);
+ ContextMenu.hide(t);
if (t._currentView.sideMenuChanged) {
setTimeout((() => {
i(t);
- W(t, e.text.ignoreDataTypesUpdated);
+ $(t, e.text.ignoreDataTypesUpdated);
}), 500);
}
+ n = true;
}
+ return n;
}
- function M(t, n) {
+ function L(t, n) {
const o = [];
const l = DomElement.create(t, "div", "settings-panel");
const r = DomElement.create(l, "div", "settings-panel-title-bar");
DomElement.createWithHTML(r, "div", "settings-panel-title-text", `${e.text.showDataTypesText}:`);
const i = DomElement.create(r, "div", "settings-panel-control-buttons");
- const a = DomElement.create(i, "div", "settings-panel-control-button settings-panel-fill");
- const s = DomElement.create(i, "div", "settings-panel-control-button");
- a.onclick = () => L(n, o, true);
- s.onclick = () => L(n, o, false);
- ToolTip.add(a, n, e.text.selectAllText);
- ToolTip.add(s, n, e.text.selectNoneText);
+ const s = DomElement.create(i, "div", "settings-panel-control-button settings-panel-fill");
+ const a = DomElement.create(i, "div", "settings-panel-control-button");
+ s.onclick = () => j(n, o, true);
+ a.onclick = () => j(n, o, false);
+ ToolTip.add(s, n, e.text.selectAllText);
+ ToolTip.add(a, n, e.text.selectNoneText);
const u = DomElement.create(l, "div", "settings-panel-contents");
const c = Object.keys(DataType);
const d = n.ignore;
c.sort();
c.forEach(((e, t) => {
- const l = j(u, e, n, !d[`${e}Values`]);
+ const l = P(u, e, n, !d[`${e}Values`]);
if (Is.defined(l)) {
o.push(l);
}
}));
}
- function L(e, t, n) {
+ function j(e, t, n) {
const o = t.length;
const l = e.ignore;
for (let e = 0; e < o; e++) {
@@ -1752,18 +1951,18 @@ var Obj;
}
e._currentView.sideMenuChanged = true;
}
- function j(e, t, n, o) {
+ function P(e, t, n, o) {
let l = null;
const r = n._currentView.dataTypeCounts[t];
if (!n.sideMenu.showOnlyDataTypesAvailable || r > 0) {
let i = Str.capitalizeFirstLetter(t);
- let a = "";
+ let s = "";
if (n.sideMenu.showAvailableDataTypeCounts) {
if (n._currentView.dataTypeCounts.hasOwnProperty(t)) {
- a = `(${r})`;
+ s = `(${r})`;
}
}
- l = DomElement.createCheckBox(e, i, t, o, n.showValueColors ? t : "", a);
+ l = DomElement.createCheckBox(e, i, t, o, n.showValueColors ? t : "", s);
l.onchange = () => {
const e = n.ignore;
e[`${t}Values`] = !l.checked;
@@ -1773,10 +1972,10 @@ var Obj;
}
return l;
}
- function P(t) {
+ function N(t) {
if (t.footer.enabled && Is.defined(t.data)) {
t._currentView.footer = DomElement.create(t._currentView.element, "div", "footer-bar");
- k(t);
+ F(t);
t._currentView.footerStatusText = DomElement.createWithHTML(t._currentView.footer, "div", "status-text", e.text.waitingText);
if (t.footer.showDataTypes) {
t._currentView.footerDataTypeText = DomElement.create(t._currentView.footer, "div", "status-value-data-type");
@@ -1792,13 +1991,13 @@ var Obj;
}
if (t.paging.enabled && Is.definedArray(t.data) && t.data.length > 1 && t.footer.showPageOf) {
t._currentView.footerPageText = DomElement.create(t._currentView.footer, "div", "status-page-index");
- N(t);
+ k(t);
}
}
}
- function N(t) {
+ function k(t) {
if (t.paging.enabled) {
- const n = Math.ceil((t._currentView.dataArrayCurrentIndex + 1) / t.paging.columnsPerPage);
+ const n = Math.ceil((t._currentView.currentDataArrayPageIndex + 1) / t.paging.columnsPerPage);
const o = Math.ceil(t.data.length / t.paging.columnsPerPage);
const l = DomElement.createWithHTML(null, "span", "status-count", n.toFixed()).outerHTML;
const r = DomElement.createWithHTML(null, "span", "status-count", o.toFixed()).outerHTML;
@@ -1806,12 +2005,12 @@ var Obj;
t._currentView.footerPageText.innerHTML = i;
}
}
- function k(e) {
+ function F(e) {
if (Is.defined(e._currentView.footer)) {
e._currentView.footer.style.display = e._currentView.fullScreenOn ? "flex" : "none";
}
}
- function F(t, n, o) {
+ function R(t, n, o) {
if (t.footer.enabled && t.footer.showDataTypes) {
o.addEventListener("mousemove", (() => {
const o = DomElement.createWithHTML(null, "span", "status-count", n).outerHTML;
@@ -1825,9 +2024,9 @@ var Obj;
}));
}
}
- function R(t, n, o) {
+ function H(t, n, o) {
if (t.footer.enabled && t.footer.showLengths) {
- const l = Size.length(n);
+ const l = Size.length(n, t.showCssStylesForHtmlObjects);
if (l > 0) {
o.addEventListener("mousemove", (() => {
const n = DomElement.createWithHTML(null, "span", "status-count", l.toString()).outerHTML;
@@ -1842,9 +2041,9 @@ var Obj;
}
}
}
- function H(t, n, o) {
+ function W(t, n, o) {
if (t.footer.enabled && t.footer.showSizes) {
- const l = Size.of(n);
+ const l = Size.of(n, t.showCssStylesForHtmlObjects);
if (Is.definedString(l)) {
o.addEventListener("mousemove", (() => {
const n = DomElement.createWithHTML(null, "span", "status-count", l.toString()).outerHTML;
@@ -1859,7 +2058,7 @@ var Obj;
}
}
}
- function W(t, n) {
+ function $(t, n) {
if (t.footer.enabled) {
t._currentView.footerStatusText.innerHTML = n;
clearTimeout(t._currentView.footerStatusTextTimerId);
@@ -1868,22 +2067,22 @@ var Obj;
}), t.footer.statusResetDelay);
}
}
- function $(t, n, o, l, r) {
+ function J(t, n, o, l, r) {
const i = Obj.getPropertyNames(o, n);
- const a = i.length;
- if (a !== 0 || !n.ignore.emptyObjects) {
- let s = null;
+ const s = i.length;
+ if (s !== 0 || !n.ignore.emptyObjects) {
+ let a = null;
if (r === "object") {
- s = e.text.objectText;
+ a = e.text.objectText;
} else if (r === "map") {
- s = e.text.mapText;
+ a = e.text.mapText;
} else if (r === "html") {
- s = e.text.htmlText;
+ a = e.text.htmlText;
}
const u = DomElement.create(t, "div", "object-type-title");
const c = DomElement.create(t, "div", "object-type-contents last-item");
const d = n.showArrowToggles ? DomElement.create(u, "div", "down-arrow") : null;
- const f = DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} main-title` : "main-title", s);
+ const f = DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} main-title` : "main-title", a);
let g = null;
let m = null;
G(c, n);
@@ -1895,21 +2094,24 @@ var Obj;
DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} data-array-index` : "data-array-index", t, f);
DomElement.createWithHTML(u, "span", "split", e.text.propertyColonCharacter, f);
}
- if (n.showObjectSizes && a > 0) {
+ if (n.showObjectSizes && s > 0) {
if (r === "html") {
- DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `<${a}>`);
+ DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `<${s}>`);
} else {
- DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `{${a}}`);
+ DomElement.createWithHTML(u, "span", n.showValueColors ? `${r} size` : "size", `{${s}}`);
}
}
if (n.showOpeningClosingCurlyBraces) {
g = DomElement.createWithHTML(u, "span", "opening-symbol", "{");
+ }
+ if (n.showClosedObjectCurlyBraces) {
m = DomElement.createWithHTML(u, "span", "closed-symbols", "{ ... }");
}
- J(d, null, c, n, o, i, g, m, false, true, "", r, r !== "object");
- q(n, f, o, r, false);
+ U(d, null, c, n, o, i, g, m, false, true, "", r, r !== "object");
+ te(n, f, o, r, false);
+ W(n, o, f);
H(n, o, f);
- R(n, o, f);
+ ae(n, u, false, o, o, null, false, null);
}
}
function z(t, n, o, l) {
@@ -1920,28 +2122,31 @@ var Obj;
r = e.text.arrayText;
}
const i = DomElement.create(t, "div", "object-type-title");
- const a = DomElement.create(t, "div", "object-type-contents last-item");
- const s = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
+ const s = DomElement.create(t, "div", "object-type-contents last-item");
+ const a = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
const u = DomElement.createWithHTML(i, "span", n.showValueColors ? `${l} main-title` : "main-title", r);
let c = null;
let d = null;
- G(a, n);
+ G(s, n);
if (n.showObjectSizes) {
DomElement.createWithHTML(i, "span", n.showValueColors ? `${l} size` : "size", `[${o.length}]`);
}
- if (n.showOpeningClosingCurlyBraces) {
+ if (n.showOpeningClosingSquaredBrackets) {
c = DomElement.createWithHTML(i, "span", "opening-symbol", "[");
+ }
+ if (n.showClosedArraySquaredBrackets) {
d = DomElement.createWithHTML(i, "span", "closed-symbols", "[ ... ]");
}
- U(s, null, a, n, o, c, d, false, true, "", l, l !== "array");
- q(n, u, o, l, false);
+ q(a, null, s, n, o, c, d, false, true, "", l, l !== "array");
+ te(n, u, o, l, false);
+ W(n, o, u);
H(n, o, u);
- R(n, o, u);
+ ae(n, i, false, o, o, null, false, null);
}
- function J(t, n, o, l, r, i, a, s, u, c, d, f, g) {
+ function U(t, n, o, l, r, i, s, a, u, c, d, f, g) {
let m = true;
const p = i.length;
- const T = d !== "" ? p : 0;
+ const x = d !== "" ? p : 0;
if (p === 0 && !l.ignore.emptyObjects) {
Z(r, o, l, "", e.text.noPropertiesText, true, false, "", f, g);
m = false;
@@ -1958,14 +2163,14 @@ var Obj;
m = false;
} else {
if (l.showOpeningClosingCurlyBraces) {
- ne(l, o, "}", u, c);
+ le(l, o, "}", u, c);
}
}
}
- ee(l, t, n, o, a, s, T, f);
+ ne(l, t, n, o, s, a, x, f);
return m;
}
- function U(t, n, o, l, r, i, a, s, u, c, d, f) {
+ function q(t, n, o, l, r, i, s, a, u, c, d, f) {
let g = true;
const m = r.length;
const p = c !== "" ? m : 0;
@@ -1986,551 +2191,568 @@ var Obj;
Z(r, o, l, "", e.text.noPropertiesText, true, false, "", d, f);
g = false;
} else {
- if (l.showOpeningClosingCurlyBraces) {
- ne(l, o, "]", s, u);
+ if (l.showOpeningClosingSquaredBrackets) {
+ le(l, o, "]", a, u);
}
}
- ee(l, t, n, o, i, a, p, d);
+ ne(l, t, n, o, i, s, p, d);
return g;
}
- function Z(t, n, o, l, r, i, a, s, u, c) {
+ function Z(t, n, o, l, r, i, s, a, u, c) {
const d = DomElement.create(n, "div", "object-type-value");
- const f = o.showArrowToggles ? DomElement.create(d, "div", "no-arrow") : null;
- let g = null;
+ const f = DomElement.create(d, "div", "object-type-value-title");
+ const g = o.showArrowToggles ? DomElement.create(f, "div", "no-arrow") : null;
let m = null;
- let p = false;
+ let p = null;
+ let x = false;
let T = false;
- let x = null;
- let b = DomElement.create(d, "span", "title");
- let w = false;
- let y = null;
- const h = !Is.definedString(l);
- let D = true;
- if (!h) {
- if (a || !o.showPropertyNameQuotes) {
- b.innerHTML = l;
+ let b = null;
+ let w = DomElement.create(f, "span");
+ let y = false;
+ let h = null;
+ const D = !Is.definedString(l);
+ let v = true;
+ let V = null;
+ const S = o._currentView.currentColumnBuildingIndex;
+ if (!D) {
+ if (s || !o.showPropertyNameQuotes) {
+ w.innerHTML = l;
} else {
- b.innerHTML = `"${l}"`;
+ w.innerHTML = `"${l}"`;
}
- if (a && !o.showChildIndexes) {
- b.parentNode.removeChild(b);
- b = null;
+ if (s && !o.showChildIndexes) {
+ w.parentNode.removeChild(w);
+ w = null;
}
} else {
- b.parentNode.removeChild(b);
- b = null;
+ w.parentNode.removeChild(w);
+ w = null;
}
if (i) {
d.classList.add("last-item");
}
- if (o.showDataTypes) {
- y = DomElement.createWithHTML(d, "span", o.showValueColors ? "type-color" : "type", "");
+ if (o.showDataTypes && !D) {
+ h = DomElement.createWithHTML(f, "span", o.showValueColors ? "data-type-color" : "data-type", "");
}
- if (Is.defined(b) && !h && o.showValueColors && o.showPropertyNameAndIndexColors) {
- b.classList.add(u);
+ if (Is.defined(w) && !D && o.showValueColors && o.showPropertyNameAndIndexColors) {
+ w.classList.add(u);
}
- if (Is.defined(b) && !h) {
- DomElement.createWithHTML(d, "span", "split", e.text.propertyColonCharacter);
+ if (Is.defined(w) && !D) {
+ DomElement.createWithHTML(f, "span", "split", e.text.propertyColonCharacter);
if (!c) {
- Q(o, t, l, b, a);
+ Q(o, t, l, w, s);
} else {
- b.ondblclick = DomElement.cancelBubble;
+ w.ondblclick = DomElement.cancelBubble;
}
- if (Is.definedString(s)) {
- d.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_PATH_NAME, s);
+ if (Is.definedString(a)) {
+ f.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_PATH_NAME, a);
}
- if (!a) {
- H(o, l, b);
- R(o, l, b);
+ if (!s) {
+ W(o, l, w);
+ H(o, l, w);
}
+ re(o, f, a, S, r);
}
if (r === null) {
- x = "null";
+ b = "null";
if (!o.ignore.nullValues) {
- g = o.showValueColors ? `${x} value undefined-or-null` : "value undefined-or-null";
- m = DomElement.createWithHTML(d, "span", g, "null");
+ m = o.showValueColors ? `${b} value undefined-or-null` : "value undefined-or-null";
+ p = DomElement.createWithHTML(f, "span", m, "null");
if (Is.definedFunction(o.events.onNullRender)) {
- Trigger.customEvent(o.events.onNullRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onNullRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (r === void 0) {
- x = "undefined";
+ b = "undefined";
if (!o.ignore.undefinedValues) {
- g = o.showValueColors ? `${x} value undefined-or-null` : "value undefined-or-null";
- m = DomElement.createWithHTML(d, "span", g, "undefined");
+ m = o.showValueColors ? `${b} value undefined-or-null` : "value undefined-or-null";
+ p = DomElement.createWithHTML(f, "span", m, "undefined");
if (Is.definedFunction(o.events.onUndefinedRender)) {
- Trigger.customEvent(o.events.onUndefinedRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onUndefinedRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedFunction(r)) {
const t = Default.getFunctionName(r, e);
if (t.isLambda) {
- x = "lambda";
+ b = "lambda";
if (!o.ignore.lambdaValues) {
- g = o.showValueColors ? `${x} value non-value` : "value non-value";
- m = DomElement.createWithHTML(d, "span", g, t.name);
+ m = o.showValueColors ? `${b} value non-value` : "value non-value";
+ p = DomElement.createWithHTML(f, "span", m, t.name);
if (Is.definedFunction(o.events.onLambdaRender)) {
- Trigger.customEvent(o.events.onLambdaRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onLambdaRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else {
- x = "function";
+ b = "function";
if (!o.ignore.functionValues) {
- g = o.showValueColors ? `${x} value non-value` : "value non-value";
- m = DomElement.createWithHTML(d, "span", g, t.name);
+ m = o.showValueColors ? `${b} value non-value` : "value non-value";
+ p = DomElement.createWithHTML(f, "span", m, t.name);
if (Is.definedFunction(o.events.onFunctionRender)) {
- Trigger.customEvent(o.events.onFunctionRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onFunctionRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
}
} else if (Is.definedBoolean(r)) {
- x = "boolean";
+ b = "boolean";
if (!o.ignore.booleanValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.booleanValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.booleanValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onBooleanRender)) {
- Trigger.customEvent(o.events.onBooleanRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onBooleanRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedFloat(r)) {
- x = "float";
+ b = "float";
if (!o.ignore.floatValues) {
const e = Convert2.numberToFloatWithDecimalPlaces(r, o.maximumDecimalPlaces);
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, e);
- w = o.allowEditing.floatValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, e);
+ y = o.allowEditing.floatValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onFloatRender)) {
- Trigger.customEvent(o.events.onFloatRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onFloatRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedNumber(r)) {
- x = "number";
+ b = "number";
if (!o.ignore.numberValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.numberValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.numberValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onNumberRender)) {
- Trigger.customEvent(o.events.onNumberRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onNumberRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedBigInt(r)) {
- x = "bigint";
+ b = "bigint";
if (!o.ignore.bigintValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.bigIntValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.bigIntValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onBigIntRender)) {
- Trigger.customEvent(o.events.onBigIntRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onBigIntRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && Is.String.guid(r)) {
- x = "guid";
+ b = "guid";
if (!o.ignore.guidValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.guidValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.guidValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onGuidRender)) {
- Trigger.customEvent(o.events.onGuidRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onGuidRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && (Is.String.hexColor(r) || Is.String.rgbColor(r))) {
- x = "color";
+ b = "color";
if (!o.ignore.colorValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r);
- w = o.allowEditing.colorValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r);
+ y = o.allowEditing.colorValues && !c;
if (o.showValueColors) {
- m.style.color = r;
+ p.style.color = r;
}
- X(o, t, l, r, m, a, w);
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onColorRender)) {
- Trigger.customEvent(o.events.onColorRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onColorRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && Is.definedUrl(r)) {
- x = "url";
+ b = "url";
if (!o.ignore.urlValues) {
let n = r;
- let s = null;
if (o.maximumUrlLength > 0 && n.length > o.maximumUrlLength) {
n = `${n.substring(0, o.maximumUrlLength)}${" "}${e.text.ellipsisText}${" "}`;
}
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, n);
- w = o.allowEditing.urlValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, n);
+ y = o.allowEditing.urlValues && !c;
if (o.showUrlOpenButtons) {
- s = DomElement.createWithHTML(d, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
- s.onclick = () => window.open(r);
+ V = DomElement.createWithHTML(f, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
+ V.onclick = () => window.open(r);
}
- X(o, t, l, r, m, a, w, s);
+ X(o, t, l, r, p, s, y, V);
if (Is.definedFunction(o.events.onUrlRender)) {
- Trigger.customEvent(o.events.onUrlRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onUrlRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r) && Is.definedEmail(r)) {
- x = "email";
+ b = "email";
if (!o.ignore.emailValues) {
let n = r;
- let s = null;
if (o.maximumEmailLength > 0 && n.length > o.maximumEmailLength) {
n = `${n.substring(0, o.maximumEmailLength)}${" "}${e.text.ellipsisText}${" "}`;
}
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, n);
- w = o.allowEditing.emailValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, n);
+ y = o.allowEditing.emailValues && !c;
if (o.showEmailOpenButtons) {
- s = DomElement.createWithHTML(d, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
- s.onclick = () => window.open(`mailto:${r}`);
+ V = DomElement.createWithHTML(f, "span", o.showValueColors ? "open-button-color" : "open-button", `${e.text.openText}${" "}${e.text.openSymbolText}`);
+ V.onclick = () => window.open(`mailto:${r}`);
}
- X(o, t, l, r, m, a, w, s);
+ X(o, t, l, r, p, s, y, V);
if (Is.definedFunction(o.events.onEmailRender)) {
- Trigger.customEvent(o.events.onEmailRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onEmailRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedString(r)) {
- x = "string";
- if (!o.ignore.stringValues || h) {
+ b = "string";
+ if (!o.ignore.stringValues || D) {
if (o.parse.stringsToBooleans && Is.String.boolean(r)) {
- Z(t, n, o, l, r.toString().toLowerCase().trim() === "true", i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, r.toString().toLowerCase().trim() === "true", i, s, a, u, c);
+ x = true;
T = true;
} else if (o.parse.stringsToNumbers && Is.String.bigInt(r)) {
- Z(t, n, o, l, Convert2.stringToBigInt(r), i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, Convert2.stringToBigInt(r), i, s, a, u, c);
+ x = true;
T = true;
} else if (o.parse.stringsToNumbers && !isNaN(r)) {
- Z(t, n, o, l, parseFloat(r), i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, parseFloat(r), i, s, a, u, c);
+ x = true;
T = true;
} else if (o.parse.stringsToDates && Is.String.date(r)) {
- Z(t, n, o, l, new Date(r), i, a, s, u, c);
- p = true;
+ Z(t, n, o, l, new Date(r), i, s, a, u, c);
+ x = true;
+ T = true;
+ } else if (o.parse.stringsToSymbols && Is.String.symbol(r)) {
+ Z(t, n, o, l, Symbol(Convert2.symbolToString(r)), i, s, a, u, c);
+ x = true;
T = true;
} else {
let n = r;
- if (!h) {
+ if (!D) {
if (o.maximumStringLength > 0 && n.length > o.maximumStringLength) {
n = `${n.substring(0, o.maximumStringLength)}${" "}${e.text.ellipsisText}${" "}`;
}
n = o.showStringQuotes ? `"${n}"` : n;
- g = o.showValueColors ? `${x} value` : "value";
- w = o.allowEditing.stringValues && !c;
+ m = o.showValueColors ? `${b} value` : "value";
+ y = o.allowEditing.stringValues && !c;
} else {
- g = "no-properties-text";
- w = false;
- D = false;
+ m = "no-properties-text";
+ y = false;
+ v = false;
}
- m = DomElement.createWithHTML(d, "span", g, n);
- if (!h) {
- X(o, t, l, r, m, a, w);
+ p = DomElement.createWithHTML(f, "span", m, n);
+ if (!D) {
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onStringRender)) {
- Trigger.customEvent(o.events.onStringRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onStringRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
}
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedDate(r)) {
- x = "date";
+ b = "date";
if (!o.ignore.dateValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, DateTime.getCustomFormattedDateText(e, r, o.dateTimeFormat));
- w = o.allowEditing.dateValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, DateTime.getCustomFormattedDateText(e, r, o.dateTimeFormat));
+ y = o.allowEditing.dateValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onDateRender)) {
- Trigger.customEvent(o.events.onDateRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onDateRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedSymbol(r)) {
- x = "symbol";
+ b = "symbol";
if (!o.ignore.symbolValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r.toString());
- w = o.allowEditing.symbolValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r.toString());
+ y = o.allowEditing.symbolValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onSymbolRender)) {
- Trigger.customEvent(o.events.onSymbolRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onSymbolRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedRegExp(r)) {
- x = "regexp";
+ b = "regexp";
if (!o.ignore.regexpValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.createWithHTML(d, "span", g, r.source.toString());
- w = o.allowEditing.regExpValues && !c;
- X(o, t, l, r, m, a, w);
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.createWithHTML(f, "span", m, r.source.toString());
+ y = o.allowEditing.regExpValues && !c;
+ X(o, t, l, r, p, s, y);
if (Is.definedFunction(o.events.onRegExpRender)) {
- Trigger.customEvent(o.events.onRegExpRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onRegExpRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedImage(r)) {
- x = "image";
+ b = "image";
if (!o.ignore.imageValues) {
- g = o.showValueColors ? `${x} value` : "value";
- m = DomElement.create(d, "span", g);
- w = o.allowEditing.imageValues && !c;
- X(o, t, l, r, m, a, w);
- const e = DomElement.create(m, "img");
+ m = o.showValueColors ? `${b} value` : "value";
+ p = DomElement.create(f, "span", m);
+ y = o.allowEditing.imageValues && !c;
+ X(o, t, l, r, p, s, y);
+ const e = DomElement.create(p, "img");
e.src = r.src;
if (Is.definedFunction(o.events.onImageRender)) {
- Trigger.customEvent(o.events.onImageRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onImageRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
} else if (Is.definedHtml(r)) {
- x = "html";
+ b = "html";
if (!o.ignore.htmlValues) {
const t = Convert2.htmlToObject(r, o.showCssStylesForHtmlObjects);
const n = Obj.getPropertyNames(t, o);
const l = n.length;
if (l === 0 && o.ignore.emptyObjects) {
- p = true;
+ x = true;
} else {
- const r = DomElement.create(d, "span", o.showValueColors ? x : "");
- const a = DomElement.create(d, "div", "object-type-contents");
+ const r = DomElement.create(f, "span", o.showValueColors ? b : "");
+ const s = DomElement.create(d, "div", "object-type-contents");
let u = null;
let c = null;
- G(a, o);
+ G(s, o);
if (i) {
- a.classList.add("last-item");
+ s.classList.add("last-item");
}
- m = DomElement.createWithHTML(r, "span", "main-title", e.text.htmlText);
+ p = DomElement.createWithHTML(r, "span", "main-title", e.text.htmlText);
if (o.showObjectSizes && (l > 0 || !o.ignore.emptyObjects)) {
DomElement.createWithHTML(r, "span", "size", `<${l}>`);
}
if (o.showOpeningClosingCurlyBraces) {
u = DomElement.createWithHTML(r, "span", "opening-symbol", "{");
+ }
+ if (o.showClosedObjectCurlyBraces) {
c = DomElement.createWithHTML(r, "span", "closed-symbols", "{ ... }");
}
- let g = te(o, r, i);
- const p = J(f, g, a, o, t, n, u, c, true, i, s, x, true);
- if (!p && o.showOpeningClosingCurlyBraces) {
+ const m = oe(o, r, i);
+ const x = U(g, m, s, o, t, n, u, c, true, i, a, b, true);
+ if (!x && o.showOpeningClosingCurlyBraces) {
u.parentNode.removeChild(u);
c.parentNode.removeChild(c);
}
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedSet(r)) {
- x = "set";
+ b = "set";
if (!o.ignore.setValues) {
const t = Convert2.setToArray(r);
- const n = DomElement.create(d, "span", o.showValueColors ? x : "");
+ const n = DomElement.create(f, "span", o.showValueColors ? b : "");
const l = DomElement.create(d, "div", "object-type-contents");
- let a = null;
+ let s = null;
let u = null;
G(l, o);
if (i) {
l.classList.add("last-item");
}
- m = DomElement.createWithHTML(n, "span", "main-title", e.text.setText);
+ p = DomElement.createWithHTML(n, "span", "main-title", e.text.setText);
if (o.showObjectSizes) {
DomElement.createWithHTML(n, "span", "size", `[${t.length}]`);
}
- if (o.showOpeningClosingCurlyBraces) {
- a = DomElement.createWithHTML(n, "span", "opening-symbol", "[");
+ if (o.showOpeningClosingSquaredBrackets) {
+ s = DomElement.createWithHTML(n, "span", "opening-symbol", "[");
+ }
+ if (o.showClosedArraySquaredBrackets) {
u = DomElement.createWithHTML(n, "span", "closed-symbols", "[ ... ]");
}
- let c = te(o, n, i);
- const g = U(f, c, l, o, t, a, u, true, i, s, x, true);
- if (!g && o.showOpeningClosingCurlyBraces) {
- a.parentNode.removeChild(a);
+ const c = oe(o, n, i);
+ const m = q(g, c, l, o, t, s, u, true, i, a, b, true);
+ if (!m && o.showOpeningClosingSquaredBrackets) {
+ s.parentNode.removeChild(s);
u.parentNode.removeChild(u);
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedArray(r)) {
- x = "array";
+ b = "array";
if (!o.ignore.arrayValues) {
- const t = DomElement.create(d, "span", o.showValueColors ? x : "");
+ const t = DomElement.create(f, "span", o.showValueColors ? b : "");
const n = DomElement.create(d, "div", "object-type-contents");
let l = null;
- let a = null;
+ let s = null;
G(n, o);
if (i) {
n.classList.add("last-item");
}
- m = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
+ p = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
if (o.showObjectSizes) {
DomElement.createWithHTML(t, "span", "size", `[${r.length}]`);
}
- if (o.showOpeningClosingCurlyBraces) {
+ if (o.showOpeningClosingSquaredBrackets) {
l = DomElement.createWithHTML(t, "span", "opening-symbol", "[");
- a = DomElement.createWithHTML(t, "span", "closed-symbols", "[ ... ]");
}
- let u = te(o, t, i);
- const c = U(f, u, n, o, r, l, a, true, i, s, x, false);
- if (!c && o.showOpeningClosingCurlyBraces) {
+ if (o.showClosedArraySquaredBrackets) {
+ s = DomElement.createWithHTML(t, "span", "closed-symbols", "[ ... ]");
+ }
+ const u = oe(o, t, i);
+ const c = q(g, u, n, o, r, l, s, true, i, a, b, false);
+ if (!c && o.showOpeningClosingSquaredBrackets) {
l.parentNode.removeChild(l);
- a.parentNode.removeChild(a);
+ s.parentNode.removeChild(s);
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedMap(r)) {
- x = "map";
+ b = "map";
if (!o.ignore.mapValues) {
const t = Convert2.mapToObject(r);
const n = Obj.getPropertyNames(t, o);
const l = n.length;
if (l === 0 && o.ignore.emptyObjects) {
- p = true;
+ x = true;
} else {
- const r = DomElement.create(d, "span", o.showValueColors ? x : "");
- const a = DomElement.create(d, "div", "object-type-contents");
+ const r = DomElement.create(f, "span", o.showValueColors ? b : "");
+ const s = DomElement.create(d, "div", "object-type-contents");
let u = null;
let c = null;
- G(a, o);
+ G(s, o);
if (i) {
- a.classList.add("last-item");
+ s.classList.add("last-item");
}
- m = DomElement.createWithHTML(r, "span", "main-title", e.text.mapText);
+ p = DomElement.createWithHTML(r, "span", "main-title", e.text.mapText);
if (o.showObjectSizes && (l > 0 || !o.ignore.emptyObjects)) {
DomElement.createWithHTML(r, "span", "size", `{${l}}`);
}
if (o.showOpeningClosingCurlyBraces) {
u = DomElement.createWithHTML(r, "span", "opening-symbol", "{");
+ }
+ if (o.showClosedObjectCurlyBraces) {
c = DomElement.createWithHTML(r, "span", "closed-symbols", "{ ... }");
}
- let g = te(o, r, i);
- const p = J(f, g, a, o, t, n, u, c, true, i, s, x, true);
- if (!p && o.showOpeningClosingCurlyBraces) {
+ const m = oe(o, r, i);
+ const x = U(g, m, s, o, t, n, u, c, true, i, a, b, true);
+ if (!x && o.showOpeningClosingCurlyBraces) {
u.parentNode.removeChild(u);
c.parentNode.removeChild(c);
}
}
} else {
- p = true;
+ x = true;
}
} else if (Is.definedObject(r)) {
- x = "object";
+ b = "object";
if (!o.ignore.objectValues) {
const t = Obj.getPropertyNames(r, o);
const n = t.length;
if (n === 0 && o.ignore.emptyObjects) {
- p = true;
+ x = true;
} else {
- const l = DomElement.create(d, "span", o.showValueColors ? x : "");
- const a = DomElement.create(d, "div", "object-type-contents");
+ const l = DomElement.create(f, "span", o.showValueColors ? b : "");
+ const s = DomElement.create(d, "div", "object-type-contents");
let u = null;
let c = null;
- G(a, o);
+ G(s, o);
if (i) {
- a.classList.add("last-item");
+ s.classList.add("last-item");
}
- m = DomElement.createWithHTML(l, "span", "main-title", e.text.objectText);
+ p = DomElement.createWithHTML(l, "span", "main-title", e.text.objectText);
if (o.showObjectSizes && (n > 0 || !o.ignore.emptyObjects)) {
DomElement.createWithHTML(l, "span", "size", `{${n}}`);
}
if (o.showOpeningClosingCurlyBraces) {
u = DomElement.createWithHTML(l, "span", "opening-symbol", "{");
+ }
+ if (o.showClosedObjectCurlyBraces) {
c = DomElement.createWithHTML(l, "span", "closed-symbols", "{ ... }");
}
- let g = te(o, l, i);
- const p = J(f, g, a, o, r, t, u, c, true, i, s, x, false);
- if (!p && o.showOpeningClosingCurlyBraces) {
+ const m = oe(o, l, i);
+ const x = U(g, m, s, o, r, t, u, c, true, i, a, b, false);
+ if (!x && o.showOpeningClosingCurlyBraces) {
u.parentNode.removeChild(u);
c.parentNode.removeChild(c);
}
}
} else {
- p = true;
+ x = true;
}
} else {
- x = "unknown";
+ b = "unknown";
if (!o.ignore.unknownValues) {
- g = o.showValueColors ? `${x} value non-value` : "value non-value";
- m = DomElement.createWithHTML(d, "span", g, r.toString());
+ m = o.showValueColors ? `${b} value non-value` : "value non-value";
+ p = DomElement.createWithHTML(f, "span", m, r.toString());
if (Is.definedFunction(o.events.onUnknownRender)) {
- Trigger.customEvent(o.events.onUnknownRender, o._currentView.element, m);
+ Trigger.customEvent(o.events.onUnknownRender, o._currentView.element, p);
}
- te(o, d, i);
+ oe(o, f, i);
} else {
- p = true;
+ x = true;
}
}
- if (!h && !T) {
- Y(o, x);
+ if (!D && !T) {
+ Y(o, b);
}
- if (p) {
+ if (x) {
n.removeChild(d);
} else {
- if (Is.defined(m)) {
- if (!h) {
- H(o, r, m);
- R(o, r, m);
- F(o, x, m);
- }
- if (Is.defined(y)) {
- if (x !== "null" && x !== "undefined" && x !== "array" && x !== "object" && x !== "map" && x !== "set") {
- y.innerHTML = `(${x})`;
+ if (Is.defined(p)) {
+ if (!D) {
+ W(o, r, p);
+ H(o, r, p);
+ R(o, b, p);
+ ae(o, p, y, t, r, l, s, V);
+ }
+ if (Is.defined(h)) {
+ if (b !== "null" && b !== "undefined" && b !== "array" && b !== "object" && b !== "map" && b !== "set") {
+ h.innerHTML = `(${b})`;
} else {
- y.parentNode.removeChild(y);
- y = null;
+ h.parentNode.removeChild(h);
+ h = null;
}
}
- if (D) {
- K(o, s, b, y, m);
- q(o, m, r, x, w);
+ if (v) {
+ K(o, a, w, h, p);
+ te(o, p, r, b, y);
} else {
- m.ondblclick = DomElement.cancelBubble;
+ p.ondblclick = DomElement.cancelBubble;
}
}
}
@@ -2572,17 +2794,17 @@ var Obj;
}
function Q(t, n, o, l, r) {
if (t.allowEditing.propertyNames) {
- l.ondblclick = a => {
- DomElement.cancelBubble(a);
- let s = 0;
+ l.ondblclick = s => {
+ DomElement.cancelBubble(s);
+ let a = 0;
let u = null;
clearTimeout(t._currentView.valueClickTimerId);
t._currentView.valueClickTimerId = 0;
t._currentView.editMode = true;
l.classList.add("editable-name");
if (r) {
- s = Arr.getIndexFromBrackets(l.innerHTML);
- l.innerHTML = s.toString();
+ a = Arr.getIndexFromBrackets(l.innerHTML);
+ l.innerHTML = a.toString();
} else {
l.innerHTML = l.innerHTML.replace(/['"]+/g, "");
}
@@ -2592,7 +2814,7 @@ var Obj;
l.onblur = () => {
i(t, false);
if (Is.definedString(u)) {
- W(t, u);
+ $(t, u);
}
};
l.onkeydown = i => {
@@ -2601,30 +2823,33 @@ var Obj;
l.setAttribute("contenteditable", "false");
} else if (i.code === "Enter") {
i.preventDefault();
- const a = l.innerText;
+ const s = l.innerText;
if (r) {
- if (!isNaN(+a)) {
- let o = +a;
+ if (Is.definedString(s) && !isNaN(+s)) {
+ let o = +s;
if (!t.useZeroIndexingForArrays) {
o--;
}
- if (s !== o) {
+ if (a !== o) {
u = e.text.indexUpdatedText;
- Arr.moveIndex(n, s, o);
+ Arr.moveIndex(n, a, o);
Trigger.customEvent(t.events.onJsonEdit, t._currentView.element);
}
+ } else {
+ n.splice(Arr.getIndexFromBrackets(o), 1);
+ u = e.text.itemDeletedText;
}
} else {
- if (a !== o) {
- if (a.trim() === "") {
+ if (s !== o) {
+ if (s.trim() === "") {
u = e.text.itemDeletedText;
delete n[o];
} else {
- if (!n.hasOwnProperty(a)) {
+ if (!n.hasOwnProperty(s)) {
u = e.text.nameUpdatedText;
const t = n[o];
delete n[o];
- n[a] = t;
+ n[s] = t;
}
}
Trigger.customEvent(t.events.onJsonEdit, t._currentView.element);
@@ -2636,175 +2861,322 @@ var Obj;
};
}
}
- function X(t, n, o, l, r, a, s, u = null) {
- if (s) {
- r.ondblclick = s => {
- let c = null;
- DomElement.cancelBubble(s);
- clearTimeout(t._currentView.valueClickTimerId);
- t._currentView.valueClickTimerId = 0;
- t._currentView.editMode = true;
- r.classList.add("editable");
- r.setAttribute("contenteditable", "true");
- if (Is.definedDate(l) && !t.includeTimeZoneInDateTimeEditing) {
- r.innerText = JSON.stringify(l).replace(/['"]+/g, "");
- } else if (Is.definedRegExp(l)) {
- r.innerText = l.source;
- } else if (Is.definedSymbol(l)) {
- r.innerText = Convert2.symbolToString(l);
- } else if (Is.definedImage(l)) {
- r.innerText = l.src;
- } else {
- r.innerText = l.toString();
- }
- r.focus();
- DomElement.selectAllText(r);
- if (Is.defined(u)) {
- u.parentNode.removeChild(u);
- }
- r.onblur = () => {
- i(t, false);
- if (Is.definedString(c)) {
- W(t, c);
+ function X(e, t, n, o, l, r, i, s = null) {
+ if (i) {
+ l.ondblclick = i => {
+ ee(i, e, t, n, o, l, r, s);
+ };
+ }
+ }
+ function ee(t, n, o, l, r, s, a, u = null) {
+ let c = null;
+ DomElement.cancelBubble(t);
+ clearTimeout(n._currentView.valueClickTimerId);
+ n._currentView.valueClickTimerId = 0;
+ n._currentView.editMode = true;
+ s.classList.add("editable");
+ s.setAttribute("contenteditable", "true");
+ if (Is.definedDate(r) && !n.includeTimeZoneInDates) {
+ s.innerText = JSON.stringify(r).replace(/['"]+/g, "");
+ } else if (Is.definedRegExp(r)) {
+ s.innerText = r.source;
+ } else if (Is.definedSymbol(r)) {
+ s.innerText = Convert2.symbolToString(r);
+ } else if (Is.definedImage(r)) {
+ s.innerText = r.src;
+ } else {
+ s.innerText = r.toString();
+ }
+ s.focus();
+ DomElement.selectAllText(s);
+ if (Is.defined(u)) {
+ u.parentNode.removeChild(u);
+ }
+ s.onblur = () => {
+ i(n, false);
+ if (Is.definedString(c)) {
+ $(n, c);
+ }
+ };
+ s.onkeydown = t => {
+ if (t.code === "Escape") {
+ t.preventDefault();
+ s.setAttribute("contenteditable", "false");
+ } else if (t.code === "Enter") {
+ t.preventDefault();
+ const i = s.innerText;
+ if (i.trim() === "") {
+ if (a) {
+ o.splice(Arr.getIndexFromBrackets(l), 1);
+ } else {
+ delete o[l];
}
- };
- r.onkeydown = i => {
- if (i.code === "Escape") {
- i.preventDefault();
- r.setAttribute("contenteditable", "false");
- } else if (i.code === "Enter") {
- i.preventDefault();
- const s = r.innerText;
- if (s.trim() === "") {
- if (a) {
- n.splice(Arr.getIndexFromBrackets(o), 1);
- } else {
- delete n[o];
- }
- c = e.text.itemDeletedText;
+ c = e.text.itemDeletedText;
+ } else {
+ let t = Convert2.stringToDataTypeValue(r, i);
+ if (t !== null) {
+ if (a) {
+ o[Arr.getIndexFromBrackets(l)] = t;
} else {
- let r = Convert2.stringToDataTypeValue(l, s);
- if (r !== null) {
- if (a) {
- n[Arr.getIndexFromBrackets(o)] = r;
- } else {
- n[o] = r;
- }
- c = e.text.valueUpdatedText;
- Trigger.customEvent(t.events.onJsonEdit, t._currentView.element);
- }
+ o[l] = t;
}
- r.setAttribute("contenteditable", "false");
+ c = e.text.valueUpdatedText;
+ Trigger.customEvent(n.events.onJsonEdit, n._currentView.element);
}
- };
- };
- }
+ }
+ s.setAttribute("contenteditable", "false");
+ }
+ };
}
- function q(e, t, n, o, l) {
- if (Is.definedFunction(e.events.onValueClick)) {
- t.onclick = () => {
- if (l) {
- e._currentView.valueClickTimerId = setTimeout((() => {
- if (!e._currentView.editMode) {
- Trigger.customEvent(e.events.onValueClick, e._currentView.element, n, o);
+ function te(t, n, o, l, r) {
+ if (Is.definedFunction(t.events.onValueClick)) {
+ n.onclick = () => {
+ let i = o;
+ if (t.convertClickedValuesToString) {
+ i = JSON.stringify(Convert2.toJsonStringifyClone(o, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
+ }
+ if (r) {
+ t._currentView.valueClickTimerId = setTimeout((() => {
+ if (!t._currentView.editMode) {
+ Trigger.customEvent(t.events.onValueClick, t._currentView.element, i, l);
}
- }), e.editingValueClickDelay);
+ }), t.editingValueClickDelay);
} else {
- t.ondblclick = DomElement.cancelBubble;
- Trigger.customEvent(e.events.onValueClick, e._currentView.element, n, o);
+ n.ondblclick = DomElement.cancelBubble;
+ Trigger.customEvent(t.events.onValueClick, t._currentView.element, i, l);
}
};
} else {
- t.classList.add("no-hover");
+ n.classList.add("no-hover");
}
}
- function ee(e, t, n, o, l, r, i, a) {
- const s = e._currentView.contentPanelsIndex;
- const u = e._currentView.contentPanelsDataIndex;
- if (!e._currentView.contentPanelsOpen.hasOwnProperty(u)) {
- e._currentView.contentPanelsOpen[u] = {};
+ function ne(e, t, n, l, r, i, s, a) {
+ const u = e._currentView.contentPanelsIndex;
+ const c = e._currentView.contentPanelsDataIndex;
+ const d = e._currentView.currentColumnBuildingIndex;
+ const f = e._currentView.currentContentColumns[d];
+ if (!e._currentView.contentPanelsOpen.hasOwnProperty(c)) {
+ e._currentView.contentPanelsOpen[c] = {};
}
- const c = () => {
- o.style.display = "none";
- e._currentView.contentPanelsOpen[u][s] = true;
+ const g = (o = true) => {
+ l.style.display = "none";
+ e._currentView.contentPanelsOpen[c][u] = true;
if (Is.defined(t)) {
t.className = "right-arrow";
}
- if (Is.defined(l)) {
- l.style.display = "none";
- }
if (Is.defined(r)) {
- r.style.display = "inline-block";
+ r.style.display = "none";
+ }
+ if (Is.defined(i)) {
+ i.style.display = "inline-block";
}
if (Is.defined(n)) {
n.style.display = "inline-block";
}
+ if (o) {
+ x(d, e);
+ }
};
- const d = () => {
- o.style.display = "block";
- e._currentView.contentPanelsOpen[u][s] = false;
+ const m = (s, a = true) => {
+ if (Is.defined(s)) {
+ DomElement.cancelBubble(s);
+ if (!o) {
+ ie(e);
+ }
+ }
+ l.style.display = "block";
+ e._currentView.contentPanelsOpen[c][u] = false;
if (Is.defined(t)) {
t.className = "down-arrow";
}
- if (Is.defined(l)) {
- l.style.display = "inline-block";
- }
if (Is.defined(r)) {
- r.style.display = "none";
+ r.style.display = "inline-block";
+ }
+ if (Is.defined(i)) {
+ i.style.display = "none";
}
if (Is.defined(n)) {
n.style.display = "none";
}
+ if (a) {
+ x(d, e);
+ }
};
- const f = e => {
- if (e) {
- c();
+ const p = (t, n) => {
+ if (Is.defined(t)) {
+ DomElement.cancelBubble(t);
+ if (!o) {
+ ie(e);
+ }
+ }
+ if (n) {
+ g();
} else {
- d();
+ m(null);
}
};
- let g = e.showAllAsClosed;
- if (e._currentView.contentPanelsOpen[u].hasOwnProperty(s)) {
- g = e._currentView.contentPanelsOpen[u][s];
+ let T = e.showAllAsClosed;
+ if (e._currentView.contentPanelsOpen[c].hasOwnProperty(u)) {
+ T = e._currentView.contentPanelsOpen[c][u];
} else {
if (!e._currentView.initialized) {
- if (a === "object" && e.autoClose.objectSize > 0 && i >= e.autoClose.objectSize) {
- g = true;
- } else if (a === "array" && e.autoClose.arraySize > 0 && i >= e.autoClose.arraySize) {
- g = true;
- } else if (a === "map" && e.autoClose.mapSize > 0 && i >= e.autoClose.mapSize) {
- g = true;
- } else if (a === "set" && e.autoClose.setSize > 0 && i >= e.autoClose.setSize) {
- g = true;
- } else if (a === "html" && e.autoClose.htmlSize > 0 && i >= e.autoClose.htmlSize) {
- g = true;
+ if (a === "object" && e.autoClose.objectSize > 0 && s >= e.autoClose.objectSize) {
+ T = true;
+ } else if (a === "array" && e.autoClose.arraySize > 0 && s >= e.autoClose.arraySize) {
+ T = true;
+ } else if (a === "map" && e.autoClose.mapSize > 0 && s >= e.autoClose.mapSize) {
+ T = true;
+ } else if (a === "set" && e.autoClose.setSize > 0 && s >= e.autoClose.setSize) {
+ T = true;
+ } else if (a === "html" && e.autoClose.htmlSize > 0 && s >= e.autoClose.htmlSize) {
+ T = true;
}
}
- e._currentView.contentPanelsOpen[u][s] = g;
+ e._currentView.contentPanelsOpen[c][u] = T;
}
if (Is.defined(t)) {
- t.onclick = () => f(t.className === "down-arrow");
+ t.onclick = e => p(e, t.className === "down-arrow");
t.ondblclick = DomElement.cancelBubble;
}
- f(g);
+ if (Is.defined(i)) {
+ i.onclick = e => m(e);
+ i.ondblclick = DomElement.cancelBubble;
+ }
+ p(null, T, false);
e._currentView.contentPanelsIndex++;
}
- function te(e, t, n) {
+ function oe(e, t, n) {
let o = null;
if (e.showCommas && !n) {
o = DomElement.createWithHTML(t, "span", "comma", ",");
}
return o;
}
- function ne(e, t, n, o, l) {
- let r = DomElement.create(t, "div", "closing-symbol");
+ function le(e, t, n, o, l) {
+ const r = DomElement.create(t, "div", "closing-symbol");
if (o && e.showArrowToggles || e.showOpenedObjectArrayBorders) {
DomElement.create(r, "div", "no-arrow");
}
DomElement.createWithHTML(r, "div", "object-type-end", n);
- te(e, r, l);
+ oe(e, r, l);
+ }
+ function re(e, t, n, l, r) {
+ t.onclick = i => {
+ DomElement.cancelBubble(i);
+ const s = t.classList.contains("highlight-selected") && o;
+ const a = e._currentView.currentContentColumns;
+ const u = e._currentView.currentContentColumns.length;
+ let c = false;
+ if (!o) {
+ e._currentView.selectedValues = [];
+ }
+ for (let t = 0; t < u; t++) {
+ const r = a[t].column.querySelectorAll(".object-type-value-title");
+ const i = r.length;
+ for (let a = 0; a < i; a++) {
+ const i = r[a];
+ if (!o) {
+ i.classList.remove("highlight-selected");
+ i.classList.remove("highlight-compare");
+ }
+ if (se(e) && t !== l) {
+ const e = i.getAttribute(Constants.JSONTREE_JS_ATTRIBUTE_PATH_NAME);
+ if (Is.definedString(e) && e === n) {
+ if (!s) {
+ i.classList.add("highlight-compare");
+ } else {
+ i.classList.remove("highlight-compare");
+ }
+ c = true;
+ }
+ }
+ }
+ if (c) {
+ x(t, e);
+ }
+ }
+ if (!s) {
+ t.classList.add("highlight-selected");
+ e._currentView.selectedValues.push(r);
+ } else {
+ t.classList.remove("highlight-selected");
+ e._currentView.selectedValues.splice(e._currentView.selectedValues.indexOf(r), 1);
+ }
+ x(l, e);
+ };
}
- function oe(t) {
+ function ie(e) {
+ if (e._currentView.selectedValues.length > 0) {
+ const t = e._currentView.currentContentColumns;
+ const n = e._currentView.currentContentColumns.length;
+ e._currentView.selectedValues = [];
+ for (let o = 0; o < n; o++) {
+ let n = false;
+ const l = t[o].column.querySelectorAll(".object-type-value-title");
+ const r = l.length;
+ for (let t = 0; t < r; t++) {
+ const o = l[t];
+ if (o.classList.contains("highlight-selected")) {
+ o.classList.remove("highlight-selected");
+ n = true;
+ }
+ if (se(e) && o.classList.contains("highlight-compare")) {
+ o.classList.remove("highlight-compare");
+ n = true;
+ }
+ }
+ if (n) {
+ x(o, e);
+ }
+ }
+ }
+ }
+ function se(e) {
+ return e.paging.enabled && e.paging.columnsPerPage > 1 && e.paging.allowComparisons;
+ }
+ function ae(t, n, o, l, r, i, s, a) {
+ n.oncontextmenu = u => {
+ DomElement.cancelBubble(u);
+ t._currentView.contextMenu.innerHTML = "";
+ if (o && t._currentView.selectedValues.length <= 1) {
+ const o = ContextMenu.addMenuItem(t, e.text.editSymbolButtonText, e.text.editButtonText);
+ o.onclick = e => ue(e, t, n, l, i, r, s, a);
+ }
+ const c = ContextMenu.addMenuItem(t, e.text.copyButtonSymbolText, e.text.copyButtonText);
+ c.onclick = e => ce(e, t, r);
+ if (o && t._currentView.selectedValues.length <= 1) {
+ const n = ContextMenu.addMenuItem(t, e.text.removeSymbolButtonText, e.text.removeButtonText);
+ n.onclick = e => de(e, t, l, i, s);
+ }
+ DomElement.showElementAtMousePosition(u, t._currentView.contextMenu, 0);
+ };
+ }
+ function ue(e, t, n, o, l, r, i, s) {
+ DomElement.cancelBubble(e);
+ ee(e, t, o, l, r, n, i, s);
+ ContextMenu.hide(t);
+ }
+ function ce(e, t, n) {
+ DomElement.cancelBubble(e);
+ let o = n;
+ if (t._currentView.selectedValues.length !== 0) {
+ o = t._currentView.selectedValues;
+ }
+ D(t, o);
+ ContextMenu.hide(t);
+ }
+ function de(t, n, o, l, r) {
+ DomElement.cancelBubble(t);
+ if (r) {
+ o.splice(Arr.getIndexFromBrackets(l), 1);
+ } else {
+ delete o[l];
+ }
+ ContextMenu.hide(n);
+ i(n, false);
+ $(n, e.text.itemDeletedText);
+ }
+ function fe(t) {
if (t.fileDroppingEnabled) {
const n = DomElement.create(t._currentView.element, "div", "drag-and-drop-background");
const o = DomElement.create(n, "div", "notice-text");
@@ -2812,39 +3184,39 @@ var Obj;
DomElement.createWithHTML(o, "p", "notice-text-title", e.text.dragAndDropTitleText);
DomElement.createWithHTML(o, "p", "notice-text-description", e.text.dragAndDropDescriptionText);
t._currentView.dragAndDropBackground = n;
- t._currentView.element.ondragover = () => le(t, n);
- t._currentView.element.ondragenter = () => le(t, n);
+ t._currentView.element.ondragover = () => ge(t, n);
+ t._currentView.element.ondragenter = () => ge(t, n);
n.ondragover = DomElement.cancelBubble;
n.ondragenter = DomElement.cancelBubble;
n.ondragleave = () => n.style.display = "none";
- n.ondrop = e => re(e, t);
+ n.ondrop = e => me(e, t);
}
}
- function le(e, t) {
+ function ge(e, t) {
if (!e._currentView.columnDragging) {
t.style.display = "block";
}
}
- function re(e, t) {
+ function me(e, t) {
DomElement.cancelBubble(e);
t._currentView.dragAndDropBackground.style.display = "none";
if (Is.defined(window.FileReader) && e.dataTransfer.files.length > 0) {
- ie(e.dataTransfer.files, t);
+ pe(e.dataTransfer.files, t);
}
}
- function ie(t, n) {
+ function pe(t, n) {
const o = t.length;
let l = 0;
let r = [];
- const a = t => {
+ const s = t => {
l++;
r.push(t);
if (l === o) {
- n._currentView.dataArrayCurrentIndex = 0;
+ n._currentView.currentDataArrayPageIndex = 0;
n._currentView.contentPanelsOpen = {};
n.data = r.length === 1 ? r[0] : r;
i(n);
- W(n, e.text.importedText.replace("{0}", o.toString()));
+ $(n, e.text.importedText.replace("{0}", o.toString()));
Trigger.customEvent(n.events.onSetJson, n._currentView.element);
}
};
@@ -2852,11 +3224,11 @@ var Obj;
const n = t[e];
const o = n.name.split(".").pop().toLowerCase();
if (o === "json") {
- ae(n, a);
+ xe(n, s);
}
}
}
- function ae(t, n) {
+ function xe(t, n) {
const o = new FileReader;
let l = null;
o.onloadend = () => n(l);
@@ -2868,57 +3240,73 @@ var Obj;
};
o.readAsText(t);
}
- function se(t) {
- let n = JSON.stringify(t.data, o, t.jsonIndentSpaces);
+ function Te(t) {
+ const n = JSON.stringify(Convert2.toJsonStringifyClone(t.data, e, t), t.events.onCopyJsonReplacer, t.jsonIndentSpaces);
if (Is.definedString(n)) {
const o = DomElement.create(document.body, "a");
o.style.display = "none";
o.setAttribute("target", "_blank");
o.setAttribute("href", `data:application/json;charset=utf-8,${encodeURIComponent(n)}`);
- o.setAttribute("download", ue(t));
+ o.setAttribute("download", be(t));
o.click();
document.body.removeChild(o);
O(t);
- W(t, e.text.exportedText);
+ $(t, e.text.exportedText);
Trigger.customEvent(t.events.onExport, t._currentView.element);
}
}
- function ue(t) {
+ function be(t) {
const n = new Date;
const o = DateTime.getCustomFormattedDateText(e, n, t.exportFilenameFormat);
return o;
}
- function ce(e, t = true) {
+ function we(e, t = true) {
const n = t ? document.addEventListener : document.removeEventListener;
- n("keydown", (t => de(t, e)));
- }
- function de(e, o) {
- if (o.shortcutKeysEnabled && n === 1 && t.hasOwnProperty(o._currentView.element.id) && !o._currentView.editMode) {
- if (fe(e) && e.code === "F11") {
+ const l = t ? window.addEventListener : window.removeEventListener;
+ n("keydown", (t => he(t, e)));
+ n("keyup", (e => De(e)));
+ n("contextmenu", (() => ye(e)));
+ l("click", (() => ye(e)));
+ l("focus", (() => o = false));
+ }
+ function ye(e) {
+ if (!o) {
+ ie(e);
+ }
+ }
+ function he(e, l) {
+ o = ve(e);
+ if (l.shortcutKeysEnabled && n === 1 && t.hasOwnProperty(l._currentView.element.id) && !l._currentView.editMode) {
+ if (ve(e) && e.code === "F11") {
e.preventDefault();
- v(o);
+ V(l);
} else if (e.code === "ArrowLeft") {
e.preventDefault();
- B(o);
+ C(l);
} else if (e.code === "ArrowRight") {
e.preventDefault();
- I(o);
+ I(l);
} else if (e.code === "ArrowUp") {
e.preventDefault();
- E(o);
+ E(l);
} else if (e.code === "ArrowDown") {
e.preventDefault();
- S(o);
+ B(l);
} else if (e.code === "Escape") {
e.preventDefault();
- O(o);
+ if (!O(l) && !o) {
+ ie(l);
+ }
}
}
}
- function fe(e) {
+ function De(e) {
+ o = ve(e);
+ }
+ function ve(e) {
return e.ctrlKey || e.metaKey;
}
- function ge(e) {
+ function Ve(e) {
e._currentView.element.innerHTML = "";
e._currentView.element.classList.remove("json-tree-js");
if (e._currentView.element.className.trim() === "") {
@@ -2927,19 +3315,21 @@ var Obj;
if (e._currentView.idSet) {
e._currentView.element.removeAttribute("id");
}
- ce(e, false);
+ we(e, false);
ToolTip.assignToEvents(e, false);
+ ContextMenu.assignToEvents(e, false);
ToolTip.remove(e);
+ ContextMenu.remove(e);
Trigger.customEvent(e.events.onDestroy, e._currentView.element);
}
- const me = {
+ const Se = {
refresh: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const n = t[e];
i(n);
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
- return me;
+ return Se;
},
refreshAll: function() {
for (const e in t) {
@@ -2949,38 +3339,38 @@ var Obj;
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
}
- return me;
+ return Se;
},
render: function(e, t) {
if (Is.definedObject(e) && Is.definedObject(t)) {
r(Binding.Options.getForNewInstance(t, e));
}
- return me;
+ return Se;
},
renderAll: function() {
l();
- return me;
+ return Se;
},
openAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- S(t[e]);
+ B(t[e]);
}
- return me;
+ return Se;
},
closeAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
E(t[e]);
}
- return me;
+ return Se;
},
backPage: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const n = t[e];
if (n.paging.enabled) {
- B(t[e]);
+ C(t[e]);
}
}
- return me;
+ return Se;
},
nextPage: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
@@ -2989,13 +3379,13 @@ var Obj;
I(t[e]);
}
}
- return me;
+ return Se;
},
getPageNumber: function(e) {
let n = 1;
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const o = t[e];
- n = Math.ceil((o._currentView.dataArrayCurrentIndex + 1) / o.paging.columnsPerPage);
+ n = Math.ceil((o._currentView.currentDataArrayPageIndex + 1) / o.paging.columnsPerPage);
}
return n;
},
@@ -3011,13 +3401,13 @@ var Obj;
l = o;
}
const r = t[n];
- r._currentView.dataArrayCurrentIndex = 0;
+ r._currentView.currentDataArrayPageIndex = 0;
r._currentView.contentPanelsOpen = {};
r.data = l;
i(r);
Trigger.customEvent(r.events.onSetJson, r._currentView.element);
}
- return me;
+ return Se;
},
getJson: function(e) {
let n = null;
@@ -3036,7 +3426,7 @@ var Obj;
t[e]._currentView = r;
i(t[e]);
}
- return me;
+ return Se;
},
getBindingOptions: function(e) {
let n = null;
@@ -3047,21 +3437,21 @@ var Obj;
},
destroy: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- ge(t[e]);
+ Ve(t[e]);
delete t[e];
n--;
}
- return me;
+ return Se;
},
destroyAll: function() {
for (const e in t) {
if (t.hasOwnProperty(e)) {
- ge(t[e]);
+ Ve(t[e]);
}
}
t = {};
n = 0;
- return me;
+ return Se;
},
setConfiguration: function(t) {
if (Is.definedObject(t)) {
@@ -3077,7 +3467,7 @@ var Obj;
e = Config.Options.get(o);
}
}
- return me;
+ return Se;
},
getIds: function() {
const e = [];
@@ -3089,14 +3479,14 @@ var Obj;
return e;
},
getVersion: function() {
- return "4.0.0";
+ return "4.1.0";
}
};
(() => {
e = Config.Options.get();
document.addEventListener("DOMContentLoaded", (() => l()));
if (!Is.defined(window.$jsontree)) {
- window.$jsontree = me;
+ window.$jsontree = Se;
}
})();
})();//# sourceMappingURL=jsontree.js.map
\ No newline at end of file
diff --git a/dist/jsontree.js.css b/dist/jsontree.js.css
index 594462cb..ea935bf2 100644
--- a/dist/jsontree.js.css
+++ b/dist/jsontree.js.css
@@ -1,5 +1,5 @@
/*
- * JsonTree.js Library v4.0.0
+ * JsonTree.js Library v4.1.0
*
* Copyright 2024 Bunoon
* Released under the MIT License
@@ -52,6 +52,9 @@
--json-tree-js-editable-text-color: var(--json-tree-js-color-snow-white);
--json-tree-js-editable-background-color: #2d333b;
--json-tree-js-editable-border-color: #454c56;
+ --json-tree-js-highlight-selected-color: #353e4b;
+ --json-tree-js-highlight-compare-color: #4a5768;
+ --json-tree-js-highlight-selected-border-color: #97a4b5;
--json-tree-js-tooltip-background-color: var(--json-tree-js-container-background-color);
--json-tree-js-tooltip-border-color: var(--json-tree-js-container-border-color);
--json-tree-js-tooltip-text-color: var(--json-tree-js-color-white);
@@ -69,6 +72,13 @@
--json-tree-js-button-text-color-hover: var(--json-tree-js-color-snow-white);
--json-tree-js-button-background-color-active: #616b79;
--json-tree-js-button-text-color-active: var(--json-tree-js-color-snow-white);
+ --json-tree-js-context-menu-background-color: var(--json-tree-js-container-background-color);
+ --json-tree-js-context-menu-border-color: var(--json-tree-js-container-border-color);
+ --json-tree-js-context-menu-text-color: var(--json-tree-js-color-white);
+ --json-tree-js-context-menu-item-background-color-hover: var(--json-tree-js-container-border-color);
+ --json-tree-js-context-menu-item-text-color-hover: var(--json-tree-js-color-snow-white);
+ --json-tree-js-context-menu-item-background-color-active: var(--json-tree-js-button-background-color-active);
+ --json-tree-js-context-menu-item-text-color-active: var(--json-tree-js-color-snow-white);
--json-tree-js-setting-panel-background-color: var(--json-tree-js-button-background-color);
--json-tree-js-checkbox-background-color-checked: var(--json-tree-js-color-white);
--json-tree-js-checkbox-background-color: var(--json-tree-js-setting-panel-background-color);
@@ -80,6 +90,7 @@
--json-tree-js-spacing: 10px;
--json-tree-js-spacing-font-size: 0.85rem;
--json-tree-js-spacing-arrow-toggle-size: 12px;
+ --json-tree-js-spacing-title-bar: calc( ( var(--json-tree-js-spacing) / 2 ) + 2px );
--json-tree-js-transition: all .3s;
--json-tree-js-animation-length: 0.5s;
}
@@ -206,7 +217,7 @@ div.json-tree-js div.right-arrow {
*/
div.json-tree-js div.title-bar {
display: flex;
- padding: calc(var(--json-tree-js-spacing) / 2);
+ padding: var(--json-tree-js-spacing-title-bar);
background-color: var(--json-tree-js-color-dark-black);
border-radius: var(--json-tree-js-border-radius);
border-bottom: var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);
@@ -222,7 +233,6 @@ div.json-tree-js div.title-bar button {
padding-bottom: 5px;
padding-left: 9px;
padding-right: 9px;
- margin: 3px;
outline: none;
transition: var(--json-tree-js-transition);
}
@@ -262,7 +272,7 @@ div.json-tree-js div.title-bar div.controls {
white-space: nowrap;
}
div.json-tree-js div.title-bar div.controls button {
- margin-left: calc(var(--json-tree-js-spacing) / 2) !important;
+ margin-left: var(--json-tree-js-spacing-title-bar) !important;
}
div.json-tree-js div.title-bar div.controls button.copy-all {
display: none;
@@ -339,7 +349,7 @@ div.json-tree-js div.side-menu {
}
div.json-tree-js div.side-menu div.side-menu-title-bar {
display: flex;
- padding: calc(var(--json-tree-js-spacing) / 2);
+ padding: var(--json-tree-js-spacing-title-bar);
background-color: var(--json-tree-js-color-dark-black);
border-radius: var(--json-tree-js-border-radius);
border-bottom: var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);
@@ -369,7 +379,6 @@ div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-contr
padding-bottom: 5px;
padding-left: 9px;
padding-right: 9px;
- margin: 3px;
outline: none;
transition: var(--json-tree-js-transition);
}
@@ -386,7 +395,7 @@ div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-contr
color: var(--json-tree-js-button-text-color-hover);
}
div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button {
- margin-left: calc(var(--json-tree-js-spacing) / 2) !important;
+ margin-left: var(--json-tree-js-spacing-title-bar) !important;
font-weight: var(--json-tree-js-bold-weight-heavy);
min-width: 30px;
min-height: 30px;
@@ -528,7 +537,7 @@ div.json-tree-js div.editable {
cursor: text !important;
outline: none;
box-shadow: none;
- white-space: pre;
+ white-space: pre !important;
}
div.json-tree-js div.contents {
display: flex;
@@ -547,6 +556,29 @@ div.json-tree-js div.contents div.contents-column-multiple {
overflow: auto;
padding-right: var(--json-tree-js-spacing);
margin-right: var(--json-tree-js-spacing);
+ white-space: nowrap;
+}
+div.json-tree-js div.contents div.contents-column div.contents-column-line-numbers,
+div.json-tree-js div.contents div.contents-column-multiple div.contents-column-line-numbers {
+ position: relative;
+ vertical-align: top;
+ display: inline-block;
+ left: 0;
+}
+div.json-tree-js div.contents div.contents-column div.contents-column-line-numbers div.contents-column-line-number,
+div.json-tree-js div.contents div.contents-column-multiple div.contents-column-line-numbers div.contents-column-line-number {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ left: 0;
+ padding-right: var(--json-tree-js-spacing);
+}
+div.json-tree-js div.contents div.contents-column div.contents-column-lines,
+div.json-tree-js div.contents div.contents-column-multiple div.contents-column-lines {
+ vertical-align: top;
+ display: inline-block;
+ width: fit-content;
+ height: fit-content;
}
div.json-tree-js div.contents div.contents-column div.column-control-buttons,
div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons {
@@ -559,7 +591,7 @@ div.json-tree-js div.contents div.contents-column-multiple div.column-control-bu
border-bottom-left-radius: var(--json-tree-js-border-radius);
border-bottom: var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);
border-left: var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);
- padding: calc(var(--json-tree-js-spacing) / 2);
+ padding: var(--json-tree-js-spacing-title-bar);
z-index: 50;
}
div.json-tree-js div.contents div.contents-column div.column-control-buttons button,
@@ -572,7 +604,6 @@ div.json-tree-js div.contents div.contents-column-multiple div.column-control-bu
padding-bottom: 5px;
padding-left: 9px;
padding-right: 9px;
- margin: 3px;
outline: none;
transition: var(--json-tree-js-transition);
}
@@ -593,12 +624,16 @@ div.json-tree-js div.contents div.contents-column-multiple div.column-control-bu
}
div.json-tree-js div.contents div.contents-column div.column-control-buttons button,
div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button {
- margin-bottom: calc(var(--json-tree-js-spacing) / 2);
+ margin-bottom: var(--json-tree-js-spacing-title-bar);
font-weight: var(--json-tree-js-bold-weight-heavy);
min-width: 30px;
min-height: 30px;
text-align: center;
}
+div.json-tree-js div.contents div.contents-column div.column-control-buttons button:last-child,
+div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:last-child {
+ margin-bottom: 0;
+}
div.json-tree-js div.contents div.contents-column:last-child,
div.json-tree-js div.contents div.contents-column-multiple:last-child {
padding-right: 0;
@@ -774,6 +809,14 @@ div.json-tree-js div.object-type-title span.closed-symbols {
font-weight: var(--json-tree-js-bold-weight-light);
color: var(--json-tree-js-color-snow-white) !important;
}
+div.json-tree-js div.object-type-title span.closed-symbols:hover {
+ transition: var(--json-tree-js-transition);
+ transition-property: opacity;
+}
+div.json-tree-js div.object-type-title span.closed-symbols:hover:not(.no-hover):not(.editable):hover {
+ cursor: pointer;
+ opacity: 0.7;
+}
/*
-------------------------------------------------------------------------
@@ -819,6 +862,14 @@ div.json-tree-js div.object-type-contents span.closed-symbols {
font-weight: var(--json-tree-js-bold-weight-light);
color: var(--json-tree-js-color-snow-white) !important;
}
+div.json-tree-js div.object-type-contents span.closed-symbols {
+ transition: var(--json-tree-js-transition);
+ transition-property: opacity;
+}
+div.json-tree-js div.object-type-contents span.closed-symbols:not(.no-hover):not(.editable):hover {
+ cursor: pointer;
+ opacity: 0.7;
+}
div.json-tree-js div.object-type-contents div.closing-symbol div {
display: inline-block !important;
}
@@ -832,6 +883,9 @@ div.json-tree-js div.object-type-contents div.object-type-value {
margin-bottom: calc(var(--json-tree-js-spacing) / 2);
margin-left: calc(var(--json-tree-js-spacing) * 2);
}
+div.json-tree-js div.object-type-contents div.object-type-value div.object-type-value-title {
+ width: fit-content;
+}
div.json-tree-js div.object-type-contents div.object-type-value img {
vertical-align: middle;
}
@@ -840,13 +894,27 @@ div.json-tree-js div.object-type-contents div.object-type-value span.split {
margin-right: calc(var(--json-tree-js-spacing) / 2);
font-weight: var(--json-tree-js-bold-weight-light);
}
-div.json-tree-js div.object-type-contents div.object-type-value span.type,
-div.json-tree-js div.object-type-contents div.object-type-value span.type-color {
+div.json-tree-js div.object-type-contents div.object-type-value div.highlight-selected,
+div.json-tree-js div.object-type-contents div.object-type-value div.highlight-compare {
+ padding: calc(var(--json-tree-js-spacing) / 2);
+ border-radius: var(--json-tree-js-border-radius);
+ transition: var(--json-tree-js-transition);
+ transition-property: background-color, border, padding;
+}
+div.json-tree-js div.object-type-contents div.object-type-value div.highlight-selected {
+ background-color: var(--json-tree-js-highlight-selected-color);
+ border: var(--json-tree-js-border-size) dashed var(--json-tree-js-highlight-selected-border-color);
+}
+div.json-tree-js div.object-type-contents div.object-type-value div.highlight-compare {
+ background-color: var(--json-tree-js-highlight-compare-color);
+}
+div.json-tree-js div.object-type-contents div.object-type-value span.data-type,
+div.json-tree-js div.object-type-contents div.object-type-value span.data-type-color {
margin-left: calc(var(--json-tree-js-spacing) / 2);
font-style: italic;
font-size: smaller;
}
-div.json-tree-js div.object-type-contents div.object-type-value span.type-color {
+div.json-tree-js div.object-type-contents div.object-type-value span.data-type-color {
color: var(--json-tree-js-color-light-gray);
}
div.json-tree-js div.object-type-contents div.object-type-value span.value,
@@ -978,6 +1046,61 @@ div.json-tree-js div.checkbox label.checkbox span.check-mark::before {
border-width: 0 3px 3px 0;
}
+/*
+ -------------------------------------------------------------------------
+ JsonTree.js - Context Menu
+ -------------------------------------------------------------------------
+*/
+div.jsontree-js-context-menu {
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+ cursor: default;
+ box-sizing: border-box;
+ line-height: normal;
+ font-family: var(--json-tree-js-default-font);
+ animation: fade-in-animation var(--json-tree-js-animation-length);
+ position: absolute;
+ background-color: var(--json-tree-js-context-menu-background-color);
+ border: var(--json-tree-js-border-size) solid var(--json-tree-js-context-menu-border-color);
+ color: var(--json-tree-js-context-menu-text-color);
+ border-radius: var(--json-tree-js-border-radius);
+ z-index: 2000;
+ max-width: 300px;
+ font-size: var(--json-tree-js-spacing-font-size);
+ font-weight: var(--json-tree-js-bold-weight-light);
+ overflow: hidden;
+ display: none;
+}
+div.jsontree-js-context-menu div.context-menu-item {
+ border-bottom: var(--json-tree-js-border-size) dotted var(--json-tree-js-tooltip-border-color);
+ padding: var(--json-tree-js-spacing);
+ transition: var(--json-tree-js-transition);
+ transition-property: background-color, color;
+ padding-right: 40px;
+}
+div.jsontree-js-context-menu div.context-menu-item span.symbol {
+ margin-right: var(--json-tree-js-spacing);
+ font-weight: var(--json-tree-js-bold-weight-heavy);
+}
+div.jsontree-js-context-menu div.context-menu-item span.text {
+ font-weight: var(--json-tree-js-bold-weight-light);
+}
+div.jsontree-js-context-menu div.context-menu-item:active {
+ background: var(--json-tree-js-context-menu-item-background-color-active) !important;
+ color: var(--json-tree-js-context-menu-item-text-color-active) !important;
+}
+div.jsontree-js-context-menu div.context-menu-item:hover {
+ cursor: pointer;
+ background: var(--json-tree-js-context-menu-item-background-color-hover);
+ color: var(--json-tree-js-context-menu-item-text-color-hover);
+}
+div.jsontree-js-context-menu div.context-menu-item:last-child {
+ border-bottom: none;
+}
+
/*
-------------------------------------------------------------------------
JsonTree.js - ToolTip
diff --git a/dist/jsontree.js.css.map b/dist/jsontree.js.css.map
index 3a5f117e..0c82aad6 100644
--- a/dist/jsontree.js.css.map
+++ b/dist/jsontree.js.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../src/jsontree.js.scss","../src/sass/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAcA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EC1HI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;ED6GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EC5IA;EACA;;AD8II;EC/IJ;EACA;;;ADqJJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEI;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AC5OJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;ADuNJ;ECxHJ;EACA;EACA;EACA;;ADyHI;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAEA;EAHJ;IAIQ;;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;AAAA;AAAA;AAAA;EAII;;AAGJ;AAAA;AAAA;EAGI;;AAGJ;EACI;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;ACxXZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;ADmWI;EACI;ECrQhB;EACA;EACA;EACA;;ADyQI;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAKZ;EACI;EACA;EACA;;AC5ZhB;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AD4UY;EACI;;AAOpB;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGI;EACI;EACA;;AAIR;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AC7fZ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAGJ;AAAA;EACI;EACA;;AAGJ;AAAA;EACI;EACA;EACA;;ADweI;AAAA;EACI;EC1YhB;EACA;EACA;EACA;;AD6YQ;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;ACnfR;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;ADoaA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;EAEA;EACA;;AAEA;EACI;EACA;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIR;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAQQ;AAAA;EAEI;EACA;EACA;;AAIA;EACI;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;;AAEA;AAAA;EACI;EACA;;AAIR;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;AAAA;EAEI;;AAEA;AAAA;EACI;EACA;;AAIR;EACI;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;;AAEA;EC11BJ;EACA;EACA;EACA;EACA;EACA;EDu1BQ;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;;AAGJ;EAEI;;AAGJ;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;ECp6BI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;EDw5BA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"jsontree.js.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../src/jsontree.js.scss","../src/sass/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAcA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;ECzII;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;ED4HA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EC3JA;EACA;;AD6JI;EC9JJ;EACA;;;ADoKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEI;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AC3PJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;ADuOJ;ECxIJ;EACA;EACA;EACA;;ADyII;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAEA;EAHJ;IAIQ;;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;AAAA;AAAA;AAAA;EAII;;AAGJ;AAAA;AAAA;EAGI;;AAGJ;EACI;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;ACvYZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;ADmXI;EACI;ECrRhB;EACA;EACA;EACA;;ADyRI;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAKZ;EACI;EACA;EACA;;AC5ahB;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AD4VY;EACI;;AAOpB;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGI;EACI;EACA;;AAIR;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;EACA;EACA;EACA;;AAEA;AAAA;EACI;EACA;EACA;EACA;EACA;;AAIR;AAAA;EACI;EACA;EACA;EACA;;AAGJ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACniBZ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAGJ;AAAA;EACI;EACA;;AAGJ;AAAA;EACI;EACA;EACA;;AD+gBI;AAAA;EACI;ECjbhB;EACA;EACA;EACA;;ADkbgB;AAAA;EACI;;AAKZ;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AC9hBR;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AD+cA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;EAEA;EACA;;AAEA;EACI;EACA;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIR;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAQQ;AAAA;EAEI;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;EACA;;AAKJ;EACI;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;EACA;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;;AAEA;AAAA;EACI;EACA;;AAIR;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;AAAA;EAEI;;AAEA;AAAA;EACI;EACA;;AAIR;EACI;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;;AAEA;EC76BJ;EACA;EACA;EACA;EACA;EACA;ED06BQ;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;;AAGJ;EAEI;;AAGJ;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAMA;ECv/BI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;ED0+BA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;EChjCI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;EDoiCA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"jsontree.js.css"}
\ No newline at end of file
diff --git a/dist/jsontree.js.map b/dist/jsontree.js.map
index 49be9614..bd1b1919 100644
--- a/dist/jsontree.js.map
+++ b/dist/jsontree.js.map
@@ -1 +1 @@
-{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.js"],"names":["DataType","DataType2","Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","regExp","match","guid","regex","test","bigInt","result2","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","Date","definedFloat","definedSymbol","definedRegExp","RegExp","definedMap","Map","WeakMap","definedSet","Set","WeakSet","definedImage","Image","definedHtml","HTMLElement","definedUrl","data","url","URL","protocol","definedEmail","invalidOptionArray","array","minimumLength","Convert2","Convert","stringifyJson","_","configuration2","symbolToString","Default","getFunctionName","name","mapToObject","setToArray","source","src","stringToDataTypeValue","oldValue","newValue","parseFloat","parseInt","BigInt","Symbol","e","htmlToObject","addCssStyles","attributesLength","attributes","childrenLength","children","childrenKeyName","textKeyName","valueCloned","cloneNode","valueClonedChildrenLength","nodeType","Node","TEXT_NODE","removeChild","innerText","attributeIndex","attribute","nodeName","nodeValue","childIndex","push","computedStyles","getComputedStyle","computedStylesLength","cssComputedStyleIndex","cssComputedStyleName","cssComputedStyleNameStorage","cssComputedValue","getPropertyValue","map","Object","fromEntries","entries","set","from","values","jsonStringToObject","objectString","configuration","result","parsed","JSON","parse","e1","eval","e2","safeMode","console","error","text","objectErrorText","replace","message","numberToFloatWithDecimalPlaces","decimalPlaces","stringToBigInt","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getNumberMinimum","minimum","getNumberMaximum","maximum","getStringOrArray","split","isLambda","valueParts","valueNameParts","functionBrackets","join","functionText","getObjectFromUrl","callback","request","XMLHttpRequest","open","send","onreadystatechange","readyState","status","responseText","dataJson","DomElement","DomElement2","find","tagTypes","func","tagTypesLength","tagTypeIndex","domElements","document","getElementsByTagName","elements","slice","call","elementsLength","elementIndex","create","container","type","className","beforeNode","isText","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","createWithNoContainer","cancelBubble","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","offset","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","createCheckBox","labelText","checked","spanClass","additionalText","lineContainer","label","input","autocomplete","Str","Str2","padNumber","number","paddingCharacter","numberString","numberResult","arrayLength","capitalizeFirstLetter","string","charAt","toUpperCase","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME","JSONTREE_JS_ATTRIBUTE_PATH_NAME","Binding","Binding2","Options","Options2","getForNewInstance","bindingOptions","get","allowEditing","_currentView","dataArrayCurrentIndex","paging","startPage","columnsPerPage","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","contentPanelsDataIndex","backButton","nextButton","disabledBackground","sideMenu","sideMenuChanged","toggleFullScreenButton","fullScreenOn","dragAndDropBackground","initialized","contentColumns","footer","footerStatusText","footerDataTypeText","footerLengthText","footerSizeText","footerPageText","footerStatusTextTimerId","columnDragging","columnDraggingDataIndex","dataTypeCounts","contentControlButtons","enabled","key","bulk","newOptions","options","showObjectSizes","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","fileDroppingEnabled","jsonIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","includeTimeZoneInDateTimeEditing","shortcutKeysEnabled","openInFullScreenMode","valueToolTips","editingValueClickDelay","showDataTypes","logJsonValueToolTipPaths","exportFilenameFormat","showPropertyNameQuotes","showOpenedObjectArrayBorders","showPropertyNameAndIndexColors","showUrlOpenButtons","showEmailOpenButtons","minimumArrayIndexPadding","arrayIndexPaddingCharacter","maximumUrlLength","maximumEmailLength","showCssStylesForHtmlObjects","jsonPathAny","jsonPathSeparator","showChildIndexes","getPaging","getTitle","getFooter","getControlPanel","getIgnore","getToolTip","getParse","getAllowEditing","getSideMenu","getAutoClose","getCustomTriggers","synchronizeScrolling","allowColumnReordering","title","showCloseOpenAllButtons","showCopyButton","enableFullScreenToggling","showFullScreenButton","showLengths","showSizes","showPageOf","statusResetDelay","controlPanel","showMovingButtons","showRemoveButton","showEditButton","showSwitchToPagesButton","ignore","nullValues","functionValues","unknownValues","booleanValues","floatValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigintValues","symbolValues","emptyObjects","undefinedValues","guidValues","colorValues","regexpValues","mapValues","setValues","urlValues","imageValues","emailValues","htmlValues","lambdaValues","tooltip","delay","stringsToDates","stringsToBooleans","stringsToNumbers","defaultFlag","bigIntValues","regExpValues","propertyNames","showImportButton","showExportButton","titleText","showAvailableDataTypeCounts","showOnlyDataTypesAvailable","autoClose","objectSize","arraySize","mapSize","setSize","htmlSize","events","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onFloatRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","onGuidRender","onColorRender","onJsonEdit","onRegExpRender","onExport","onUrlRender","onImageRender","onEmailRender","onLambdaRender","onCopy","onFullScreenChange","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","mapText","setText","htmlText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","sideMenuButtonSymbolText","sideMenuButtonText","closeButtonSymbolText","closeButtonText","showDataTypesText","selectNoneText","importButtonSymbolText","importButtonText","fullScreenOnButtonSymbolText","fullScreenOffButtonSymbolText","fullScreenButtonText","copyButtonText","dragAndDropSymbolText","dragAndDropTitleText","dragAndDropDescriptionText","exportButtonSymbolText","exportButtonText","propertyColonCharacter","noPropertiesText","openText","openSymbolText","waitingText","pageOfText","sizeText","copiedText","exportedText","importedText","ignoreDataTypesUpdated","lengthText","valueUpdatedText","jsonUpdatedText","nameUpdatedText","indexUpdatedText","itemDeletedText","arrayJsonItemDeleted","dataTypeText","editSymbolButtonText","editButtonText","moveRightSymbolButtonText","moveRightButtonText","moveLeftSymbolButtonText","moveLeftButtonText","removeSymbolButtonText","removeButtonText","switchToPagesSymbolText","switchToPagesText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","add","tooltipClass","show","tooltipTimerId","setTimeout","clearTimeout","remove","parentNode","Arr","Arr2","getIndex","index","getIndexName","largestValue","paddingLength","getIndexFromBrackets","propertyName","moveIndex","arrayData","oldIndex","newIndex","splice","Size","Size2","of","bytes","getSize","Math","floor","log","pow","length2","itemKey","hasOwnProperty","arrayIndex","Obj","Obj2","getPropertyNames","properties","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","_configuration","_elements_Data","_elements_Data_Count","_jsonStringifyReplacer","render","hasAttribute","bindingOptionsData","getAttribute","id","crypto","randomUUID","removeAttribute","classList","renderControlContainer","buildDocumentEvents","isForPageSwitch","ajaxData","renderControlContainerForData","scrollTopsForColumns","getContentColumnScrollTops","renderControlTitleBar","contents","pageIndex","actualDataIndex","actualData","renderControlContentsPanel","renderControlSideMenu","renderControlFooterBar","renderControlDragAndDrop","dataIndex","totalColumns","enableColumnOrder","contentsColumn","noJson","importText","onclick","onSideMenuImportClick","onscroll","onContentsColumnScroll","setAttribute","ondragstart","onContentsColumnDragStart","ondragend","onContentsColumnDragEnd","ondragover","ondrop","onContentsColumnDrop","renderArray","renderObject","renderControlContentsControlButtons","ondblclick","enableContentsColumnEditMode","statusBarMessage","stringify","focus","onblur","setFooterStatusText","onkeydown","code","isCommandKey","newData","execCommand","contentColumnsLength","contentColumnIndex","column","columnsLength","controlButtons","right","columnIndex","moveDataArrayIndex","dataArray1","dataArray2","dataPanelsOpen1","dataPanelsOpen2","isPagingEnabled","editButton","moveRightButton","disabled","moveLeftButton","copyButton","openAllButton","onOpenAllForPage","closeAllButton","onCloseAllForPage","removeButton","onRemoveArrayJson","switchToPagesButton","onSwitchToPages","minHeight","panels","panelId","replaceFunction","copyDataJson","navigator","clipboard","writeText","titleBar","onTitleBarDblClick","sideMenuButton","onSideMenuOpen","onTitleBarCopyAllClick","onBackPage","onNextPage","buttonText","contains","updateFooterDisplay","onSideMenuClose","titleBarText","titleBarControls","exportButton","importButton","closeButton","addSideMenuIgnoreTypes","accept","multiple","onchange","importFromFiles","files","click","checkboxes","ignoreTypes","selectAll","selectNone","changeSidePanelCheckboxSelection","ignoreTypesContent","dataTypes","keys","forEach","createSideMenuIgnoreTypeCheckBox","flag","checkboxesLength","checkboxIndex","dataTypeDisplayCount","checkBoxName","checkBoxAdditionalText","getFooterPageText","currentPage","ceil","totalPages","currentReplacement","toFixed","outerHTML","totalReplacement","addFooterDataTypeStatus","dataType","valueElement","replacement","addFooterLengthStatus","addFooterSizeStatus","size","statusText","propertyCount","mainTitle","objectTypeTitle","objectTypeContents","arrow","openingBrace","closedBraces","addObjectContentsBorder","dataArrayIndex","renderObjectValues","addValueClickEvent","openingBracket","closedBrackets","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","jsonPath","parentType","preventEditing","propertiesAdded","propertiesLength","propertiesLengthForAutoClose","renderValue","propertyIndex","newJsonPath","createClosingSymbol","addArrowEvent","dataLength","dataLengthForAutoClose","dataIndex1","actualIndex","dataIndex2","isArrayItem","objectTypeValue","valueClass","ignored","ignoredDataType","nameElement","typeElement","isForEmptyProperties","assignClickEvent","makePropertyNameEditable","createComma","functionName","makePropertyValueEditable","color","newUrlValue","openButton","newEmailValue","newStringValue","image","htmlObject","objectTitle","arrayTypeContents","valueObject","updateDataTypeCount","addValueElementToolTip","objectContents","jsonPathParts","jsonPathPartsLength","jsonPathPartIndex","originalPropertyName","originalArrayIndex","newPropertyName","newArrayIndex","originalValue","originalPropertyValue","propertyValue","newPropertyValue","newDataPropertyValue","openingSymbol","hideFunc","showFunc","conditionFunc","condition","isClosed","symbol","addNoArrow","symbolContainer","dragAndDropText","onDragStart","ondragenter","ondragleave","onDropFiles","FileReader","dataTransfer","filesLength","filesRead","filesData","onFileLoad","onSetJson","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onload","json","target","readAsText","tempLink","encodeURIComponent","getExportFilename","filename","addEvents","documentFunc","onWindowKeyDown","ctrlKey","metaKey","destroyElement","_public","refresh","elementId","refreshAll","renderAll","openAll","closeAll","backPage","nextPage","getPageNumber","setJson","jsonObject","jsonResult","getJson","updateBindingOptions","currentView","getBindingOptions","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
+{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.js"],"names":["DataType","DataType2","Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","regExp","match","guid","regex","test","bigInt","result2","symbol","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","Date","definedFloat","definedSymbol","definedRegExp","RegExp","definedMap","Map","WeakMap","definedSet","Set","WeakSet","definedImage","Image","definedHtml","HTMLElement","definedUrl","data","url","URL","protocol","definedEmail","invalidOptionArray","array","minimumLength","Convert2","Convert","toJsonStringifyClone","configuration2","bindingOptions","includeTimeZoneInDates","JSON","stringify","replace","symbolToString","Default","getFunctionName","name","source","src","htmlToObject","showCssStylesForHtmlObjects","arrayLength","arrayIndex","push","setToArray","obj","mapToObject","key","hasOwnProperty","stringToDataTypeValue","oldValue","newValue","parseFloat","parseInt","BigInt","Symbol","exception","addCssStyles","attributesLength","attributes","childrenLength","children","childrenKeyName","textKeyName","valueCloned","cloneNode","valueClonedChildrenLength","nodeType","Node","TEXT_NODE","removeChild","innerText","attributeIndex","attribute","nodeName","nodeValue","childIndex","computedStyles","getComputedStyle","computedStylesLength","cssComputedStyleIndex","cssComputedStyleName","cssComputedStyleNameStorage","cssComputedValue","getPropertyValue","map","Object","fromEntries","entries","set","from","values","jsonStringToObject","objectString","configuration","result","parsed","parse","exception1","eval","exception2","safeMode","console","error","text","objectErrorText","message","numberToFloatWithDecimalPlaces","decimalPlaces","stringToBigInt","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getNumberMinimum","minimum","getNumberMaximum","maximum","getStringOrArray","split","isLambda","valueParts","valueNameParts","functionBrackets","join","functionText","getObjectFromUrl","callback","request","XMLHttpRequest","open","send","onreadystatechange","readyState","status","responseText","dataJson","DomElement","DomElement2","find","tagTypes","func","tagTypesLength","tagTypeIndex","domElements","document","getElementsByTagName","elements","slice","call","elementsLength","elementIndex","create","container","type","className","beforeNode","isText","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","createWithNoContainer","cancelBubble","ev","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","offset","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","createCheckBox","labelText","checked","spanClass","additionalText","lineContainer","label","input","autocomplete","getOffset","position","offsetLeft","offsetTop","offsetParent","Str","Str2","padNumber","number","paddingCharacter","numberString","numberResult","capitalizeFirstLetter","string","charAt","toUpperCase","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME","JSONTREE_JS_ATTRIBUTE_PATH_NAME","Binding","Binding2","Options","Options2","getForNewInstance","get","allowEditing","_currentView","currentDataArrayPageIndex","paging","startPage","columnsPerPage","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","contentPanelsDataIndex","backButton","nextButton","disabledBackground","sideMenu","sideMenuChanged","toggleFullScreenButton","fullScreenOn","dragAndDropBackground","initialized","currentContentColumns","footer","footerStatusText","footerDataTypeText","footerLengthText","footerSizeText","footerPageText","footerStatusTextTimerId","columnDragging","columnDraggingDataIndex","dataTypeCounts","contextMenu","currentColumnBuildingIndex","selectedValues","enabled","bulk","newOptions","options","showObjectSizes","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","fileDroppingEnabled","jsonIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","shortcutKeysEnabled","openInFullScreenMode","valueToolTips","editingValueClickDelay","showDataTypes","logJsonValueToolTipPaths","exportFilenameFormat","showPropertyNameQuotes","showOpenedObjectArrayBorders","showPropertyNameAndIndexColors","showUrlOpenButtons","showEmailOpenButtons","minimumArrayIndexPadding","arrayIndexPaddingCharacter","maximumUrlLength","maximumEmailLength","jsonPathAny","jsonPathSeparator","showChildIndexes","showClosedArraySquaredBrackets","showClosedObjectCurlyBraces","convertClickedValuesToString","getPaging","title","getTitle","getFooter","controlPanel","getControlPanel","lineNumbers","getLineNumbers","ignore","getIgnore","tooltip","getToolTip","getParse","getAllowEditing","getSideMenu","autoClose","getAutoClose","events","getCustomTriggers","synchronizeScrolling","allowColumnReordering","allowComparisons","showCloseOpenAllButtons","showCopyButton","enableFullScreenToggling","showFullScreenButton","showLengths","showSizes","showPageOf","statusResetDelay","showMovingButtons","showRemoveButton","showEditButton","showSwitchToPagesButton","padNumbers","addDots","nullValues","functionValues","unknownValues","booleanValues","floatValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigintValues","symbolValues","emptyObjects","undefinedValues","guidValues","colorValues","regexpValues","mapValues","setValues","urlValues","imageValues","emailValues","htmlValues","lambdaValues","delay","stringsToDates","stringsToBooleans","stringsToNumbers","stringsToSymbols","defaultFlag","bigIntValues","regExpValues","propertyNames","properties","property","showImportButton","showExportButton","titleText","showAvailableDataTypeCounts","showOnlyDataTypesAvailable","objectSize","arraySize","mapSize","setSize","htmlSize","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onFloatRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","onGuidRender","onColorRender","onJsonEdit","onRegExpRender","onExport","onUrlRender","onImageRender","onEmailRender","onLambdaRender","onCopy","onFullScreenChange","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","mapText","setText","htmlText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","sideMenuButtonSymbolText","sideMenuButtonText","closeButtonSymbolText","closeButtonText","showDataTypesText","selectNoneText","importButtonSymbolText","importButtonText","fullScreenOnButtonSymbolText","fullScreenOffButtonSymbolText","fullScreenButtonText","copyButtonText","dragAndDropSymbolText","dragAndDropTitleText","dragAndDropDescriptionText","exportButtonSymbolText","exportButtonText","propertyColonCharacter","noPropertiesText","openText","openSymbolText","waitingText","pageOfText","sizeText","copiedText","exportedText","importedText","ignoreDataTypesUpdated","lengthText","valueUpdatedText","jsonUpdatedText","nameUpdatedText","indexUpdatedText","itemDeletedText","arrayJsonItemDeleted","dataTypeText","editSymbolButtonText","editButtonText","moveRightSymbolButtonText","moveRightButtonText","moveLeftSymbolButtonText","moveLeftButtonText","removeSymbolButtonText","removeButtonText","switchToPagesSymbolText","switchToPagesText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","add","tooltipClass","show","tooltipTimerId","setTimeout","clearTimeout","remove","parentNode","Arr","Arr2","getIndex","index","getIndexName","largestValue","paddingLength","getIndexFromBrackets","propertyName","moveIndex","arrayData","oldIndex","newIndex","splice","removeNullOrUndefinedEntries","dataLength","dataIndex","Size","Size2","of","bytes","getSize","Math","floor","log","pow","itemKey","Obj","Obj2","getPropertyNames","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","createFromValue","crypto","randomUUID","ContextMenu","ContextMenu2","addMenuItem","symbolText","menuItem","_configuration","_elements_Data","_elements_Data_Count","_key_Control_Pressed","render","hasAttribute","bindingOptionsData","getAttribute","id","removeAttribute","classList","renderControlContainer","buildDocumentEvents","isForPageSwitch","ajaxData","renderControlContainerForData","scrollTopsForColumns","getContentColumnScrollTops","renderControlTitleBar","contents","updatedData","pageIndex","actualDataIndex","actualData","renderControlContentsPanel","renderControlSideMenu","renderControlFooterBar","renderControlDragAndDrop","totalColumns","enableColumnOrder","contentsColumn","noJson","importText","onclick","onSideMenuImportClick","onscroll","onContentsColumnScroll","setAttribute","ondragstart","onContentsColumnDragStart","ondragend","onContentsColumnDragEnd","ondragover","ondrop","onContentsColumnDrop","renderValuesContainer","lines","columnLayout","column","controlButtons","renderArray","renderObject","renderControlColumnLineNumbers","renderControlContentsControlButtons","ondblclick","enableContentsColumnEditMode","statusBarMessage","focus","onblur","setFooterStatusText","onkeydown","ev2","code","isCommandKey","newData","execCommand","contentColumnsLength","contentColumnIndex","columnsLength","right","columnIndex","moveDataArrayIndex","dataArray1","dataArray2","dataPanelsOpen1","dataPanelsOpen2","columnLayoutIndex","lineNumberCount","firstLineTop","largestLineNumberWidth","valueElements","querySelectorAll","valueElementsLength","valueElementIndex","valueElement","elementTop","lineNumber","lineNumberDot","newTop","max","height","width","isPagingEnabled","editButton","moveRightButton","disabled","moveLeftButton","copyButton","openAllButton","onOpenAllForPage","closeAllButton","onCloseAllForPage","removeButton","onRemoveArrayJson","switchToPagesButton","onSwitchToPages","minHeight","panels","panelId","copyDataJson","navigator","clipboard","writeText","titleBar","onTitleBarDblClick","sideMenuButton","onSideMenuOpen","onTitleBarCopyAllClick","onBackPage","onNextPage","buttonText","contains","updateFooterDisplay","onSideMenuClose","titleBarText","titleBarControls","exportButton","importButton","closeButton","addSideMenuIgnoreTypes","accept","multiple","onchange","importFromFiles","files","click","closed","checkboxes","ignoreTypes","selectAll","selectNone","changeSidePanelCheckboxSelection","ignoreTypesContent","dataTypes","keys","forEach","_","createSideMenuIgnoreTypeCheckBox","flag","checkboxesLength","checkboxIndex","dataTypeDisplayCount","checkBoxName","checkBoxAdditionalText","getFooterPageText","currentPage","ceil","totalPages","currentReplacement","toFixed","outerHTML","totalReplacement","addFooterDataTypeStatus","dataType","replacement","addFooterLengthStatus","addFooterSizeStatus","size","statusText","propertyCount","mainTitle","objectTypeTitle","objectTypeContents","arrow","openingBrace","closedBraces","addObjectContentsBorder","dataArrayIndex","renderObjectValues","addValueClickEvent","renderValueContextMenuItems","openingBracket","closedBrackets","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","jsonPath","parentType","preventEditing","propertiesAdded","propertiesLength","propertiesLengthForAutoClose","renderValue","propertyIndex","newJsonPath","createClosingSymbol","addArrowEvent","dataLengthForAutoClose","dataIndex1","actualIndex","dataIndex2","isArrayItem","objectTypeValue","objectTypeValueTitle","valueClass","ignored","ignoredDataType","nameElement","typeElement","isForEmptyProperties","assignClickEvent","openButton","makePropertyNameEditable","selectItemAndCompareProperties","createComma","functionName","makePropertyValueEditable","color","newUrlValue","newEmailValue","newStringValue","image","htmlObject","objectTitle","arrayTypeContents","valueObject","updateDataTypeCount","addValueElementToolTip","objectContents","jsonPathParts","jsonPathPartsLength","jsonPathPartIndex","originalPropertyName","originalArrayIndex","newPropertyName","newArrayIndex","originalValue","originalPropertyValue","propertyValue","enableValueEditingMode","newPropertyValue","newDataPropertyValue","clickValue","openingSymbol","closedSymbols","columnLayoutProcessingIndex","hideFunc","updateLineNumbers","showFunc","removeSelectedItemsAndComparedProperties","conditionFunc","condition","isClosed","addNoArrow","symbolContainer","currentColumnIndex","itemIsSelected","columns","elementsHighlighted","isCompareColumnValuesEnabled","valueJsonPath","indexOf","classesRemoved","oncontextmenu","editMenuItem","onContextMenuItemEdit","copyMenuItem","onContextMenuItemCopy","removeMenuItem","onContextMenuItemRemove","copyValue","dragAndDropText","onDragStart","ondragenter","ondragleave","onDropFiles","FileReader","dataTransfer","filesLength","filesRead","filesData","onFileLoad","onSetJson","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onload","json","target","readAsText","tempLink","encodeURIComponent","getExportFilename","filename","addEvents","documentFunc","windowFunc","onDocumentKeyDown","onDocumentKeyUp","onWindowContextMenuOrClick","ctrlKey","metaKey","destroyElement","_public","refresh","elementId","refreshAll","renderAll","openAll","closeAll","backPage","nextPage","getPageNumber","setJson","jsonObject","jsonResult","getJson","updateBindingOptions","currentView","getBindingOptions","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
diff --git a/dist/jsontree.js.min.css b/dist/jsontree.js.min.css
index 150c17cf..d74a8cff 100644
--- a/dist/jsontree.js.min.css
+++ b/dist/jsontree.js.min.css
@@ -1 +1 @@
-:root{--json-tree-js-default-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--json-tree-js-bold-weight-light: 300;--json-tree-js-bold-weight-medium: 600;--json-tree-js-bold-weight-heavy: 900;--json-tree-js-title-bold-weight: var(--json-tree-js-bold-weight-heavy);--json-tree-js-color-dark-black: #1c2128;--json-tree-js-color-black: #3b3a3a;--json-tree-js-color-white: #F5F5F5;--json-tree-js-color-snow-white: #F5F5F5;--json-tree-js-color-light-gray: #BBBBBB;--json-tree-js-color-array: #F28C28;--json-tree-js-color-object: var(--json-tree-js-color-snow-white);--json-tree-js-color-map: #BDB5D5;--json-tree-js-color-set: #FFD700;--json-tree-js-color-boolean: #FF0000;--json-tree-js-color-float: #e3c868;--json-tree-js-color-number: #666bf9;--json-tree-js-color-bigint: #6495ED;--json-tree-js-color-string: #78b13f;--json-tree-js-color-date: #a656f5;--json-tree-js-color-null: var(--json-tree-js-color-light-gray);--json-tree-js-color-undefined: var(--json-tree-js-color-null);--json-tree-js-color-symbol: #DAA06D;--json-tree-js-color-function: var(--json-tree-js-color-null);--json-tree-js-color-lambda: var(--json-tree-js-color-function);--json-tree-js-color-unknown: var(--json-tree-js-color-null);--json-tree-js-color-guid: #c45600;--json-tree-js-color-regexp: #AA336A;--json-tree-js-color-url: #00FFFF;--json-tree-js-color-email: #FA8072;--json-tree-js-color-link: #89CFF0;--json-tree-js-color-html: #FF00FF;--json-tree-js-editable-text-color: var(--json-tree-js-color-snow-white);--json-tree-js-editable-background-color: #2d333b;--json-tree-js-editable-border-color: #454c56;--json-tree-js-tooltip-background-color: var(--json-tree-js-container-background-color);--json-tree-js-tooltip-border-color: var(--json-tree-js-container-border-color);--json-tree-js-tooltip-text-color: var(--json-tree-js-color-white);--json-tree-js-side-menu-width: 320px;--json-tree-js-side-menu-right-border-width: calc( var(--json-tree-js-border-size) * 12 );--json-tree-js-container-background-color: #22272e;--json-tree-js-container-border-color: #454c56;--json-tree-js-container-object-left-border-color: #677180;--json-tree-js-paging-column-background-color: #272e37;--json-tree-js-paging-column-border-color: var(--json-tree-js-container-border-color);--json-tree-js-button-background-color: #2d333b;--json-tree-js-button-border-color: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color: var(--json-tree-js-color-white);--json-tree-js-button-background-color-hover: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color-hover: var(--json-tree-js-color-snow-white);--json-tree-js-button-background-color-active: #616b79;--json-tree-js-button-text-color-active: var(--json-tree-js-color-snow-white);--json-tree-js-setting-panel-background-color: var(--json-tree-js-button-background-color);--json-tree-js-checkbox-background-color-checked: var(--json-tree-js-color-white);--json-tree-js-checkbox-background-color: var(--json-tree-js-setting-panel-background-color);--json-tree-js-checkbox-border-color-checked: var(--json-tree-js-checkbox-background-color-checked);--json-tree-js-checkbox-border-color: var(--json-tree-js-color-white);--json-tree-js-border-radius-editable: 0.25rem;--json-tree-js-border-radius: 0.5rem;--json-tree-js-border-size: 0.5px;--json-tree-js-spacing: 10px;--json-tree-js-spacing-font-size: 0.85rem;--json-tree-js-spacing-arrow-toggle-size: 12px;--json-tree-js-transition: all .3s;--json-tree-js-animation-length: 0.5s}div.json-tree-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font) !important;display:inline-block;position:relative;border-radius:var(--json-tree-js-border-radius);background-color:var(--json-tree-js-container-background-color);color:var(--json-tree-js-color-white);border:var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-bold-weight-light);width:100%;overflow:hidden;margin:0 !important;max-width:500px}div.json-tree-js *.draggable-item{overflow:hidden !important}div.json-tree-js button{font-family:var(--json-tree-js-default-font)}div.json-tree-js div.no-click{pointer-events:none !important}div.json-tree-js div.page-switch{animation:fade-in-animation var(--json-tree-js-animation-length)}div.json-tree-js *{box-sizing:border-box;line-height:normal}div.json-tree-js *::before,div.json-tree-js *::after{box-sizing:border-box;line-height:normal}div.full-screen{position:fixed;display:flex;flex-direction:column;top:0;left:0;height:100%;width:100%;max-width:none;border-radius:0;border:none;z-index:1000}div.full-screen div.title-bar,div.full-screen div.footer-bar{border-radius:0 !important}div.full-screen div.contents{flex-grow:1;position:relative;max-height:none !important;overflow:auto}div.full-screen div.contents div.no-json{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}div.json-tree-js div.no-arrow{display:inline-block;width:var(--json-tree-js-spacing-arrow-toggle-size);height:8px;margin-right:calc(var(--json-tree-js-spacing))}div.json-tree-js div.down-arrow,div.json-tree-js div.right-arrow{display:inline-block;width:0;height:0;margin-right:calc(var(--json-tree-js-spacing));cursor:pointer;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.down-arrow:hover,div.json-tree-js div.right-arrow:hover{opacity:.7}div.json-tree-js div.down-arrow{border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:8px solid var(--json-tree-js-color-white)}div.json-tree-js div.right-arrow{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-left:var(--json-tree-js-spacing-arrow-toggle-size) solid var(--json-tree-js-color-white)}div.json-tree-js div.title-bar{display:flex;padding:calc(var(--json-tree-js-spacing)/2);background-color:var(--json-tree-js-color-dark-black);border-radius:var(--json-tree-js-border-radius);border-bottom:var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);justify-content:left;align-items:center}div.json-tree-js div.title-bar button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;margin:3px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.title-bar button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.title-bar button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.title-bar button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.title-bar button{font-weight:var(--json-tree-js-bold-weight-heavy);min-width:30px;min-height:30px;text-align:center}div.json-tree-js div.title-bar button.side-menu{margin-right:calc(var(--json-tree-js-spacing)/2) !important}div.json-tree-js div.title-bar div.title{text-align:left;width:auto;font-weight:var(--json-tree-js-title-bold-weight);font-size:1.2rem;margin:3px;margin-left:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.title-bar div.controls{margin-left:calc(var(--json-tree-js-spacing)*2);flex-grow:1;text-align:right;white-space:nowrap}div.json-tree-js div.title-bar div.controls button{margin-left:calc(var(--json-tree-js-spacing)/2) !important}div.json-tree-js div.title-bar div.controls button.copy-all{display:none}@media(min-width: 768px){div.json-tree-js div.title-bar div.controls button.copy-all{display:inline-block}}div.json-tree-js div.footer-bar{display:flex;padding:calc(var(--json-tree-js-spacing));background-color:var(--json-tree-js-color-dark-black);border-radius:var(--json-tree-js-border-radius);border-top:var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);justify-content:left;align-items:center}div.json-tree-js div.footer-bar div.status-text{flex-grow:1;text-align:left !important}div.json-tree-js div.footer-bar div.status-value-data-type,div.json-tree-js div.footer-bar div.status-value-length,div.json-tree-js div.footer-bar div.status-value-size,div.json-tree-js div.footer-bar div.status-page-index{margin-left:calc(var(--json-tree-js-spacing)*3)}div.json-tree-js div.footer-bar div.status-value-data-type,div.json-tree-js div.footer-bar div.status-value-length,div.json-tree-js div.footer-bar div.status-value-size{animation:fade-in-animation var(--json-tree-js-animation-length)}div.json-tree-js div.footer-bar span.status-count{font-weight:var(--json-tree-js-bold-weight-heavy)}div.json-tree-js div.side-menu-disabled-background{position:absolute;background-color:rgba(0,0,0,.3);top:0;left:0;height:100%;width:100%;z-index:1000;display:none}div.json-tree-js div.side-menu{display:flex;flex-direction:column;position:absolute;height:100%;top:0;z-index:1500;transition:var(--json-tree-js-transition);background-color:var(--json-tree-js-container-background-color);border-right:var(--json-tree-js-side-menu-right-border-width) solid var(--json-tree-js-color-white);border-radius:var(--json-tree-js-border-radius);width:var(--json-tree-js-side-menu-width);left:calc(0px - (var(--json-tree-js-side-menu-width) + var(--json-tree-js-side-menu-right-border-width)));overflow-x:hidden;overflow-y:auto}div.json-tree-js div.side-menu div.side-menu-title-bar{display:flex;padding:calc(var(--json-tree-js-spacing)/2);background-color:var(--json-tree-js-color-dark-black);border-radius:var(--json-tree-js-border-radius);border-bottom:var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);justify-content:left;align-items:center}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-bar-text{text-align:left;width:auto;font-weight:var(--json-tree-js-title-bold-weight);font-size:1.2rem;margin:3px;margin-left:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls{margin-left:calc(var(--json-tree-js-spacing)*6);flex-grow:1;text-align:right;white-space:nowrap}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;margin:3px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button{margin-left:calc(var(--json-tree-js-spacing)/2) !important;font-weight:var(--json-tree-js-bold-weight-heavy);min-width:30px;min-height:30px;text-align:center}div.json-tree-js div.side-menu div.side-menu-contents{flex-grow:1;overflow-x:hidden;overflow-y:auto;margin:var(--json-tree-js-spacing)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel{padding:var(--json-tree-js-spacing);background-color:var(--json-tree-js-setting-panel-background-color);color:var(--json-tree-js-color-snow-white);border-radius:var(--json-tree-js-border-radius);border:var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar{display:flex;justify-content:left;align-items:center}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-title-text{text-align:left;font-weight:var(--json-tree-js-title-bold-weight);font-size:.9rem;margin:3px;color:var(--json-tree-js-color-white)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons{flex-grow:1;text-align:right}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons div.settings-panel-control-button{margin-left:calc(var(--json-tree-js-spacing)/2);border:4px solid var(--json-tree-js-color-white);height:15px;width:15px;border-radius:var(--json-tree-js-border-radius-editable);display:inline-block;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons div.settings-panel-control-button:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons div.settings-panel-fill{background-color:var(--json-tree-js-color-white)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents{margin-top:var(--json-tree-js-spacing);margin-left:var(--json-tree-js-spacing);text-align:left}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.map{color:var(--json-tree-js-color-map)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.set{color:var(--json-tree-js-color-set)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.boolean{color:var(--json-tree-js-color-boolean)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.float{color:var(--json-tree-js-color-float)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.number{color:var(--json-tree-js-color-number)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.bigint{color:var(--json-tree-js-color-bigint)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.string{color:var(--json-tree-js-color-string)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.date{color:var(--json-tree-js-color-date)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.symbol{color:var(--json-tree-js-color-symbol)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.function{color:var(--json-tree-js-color-function)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.unknown{color:var(--json-tree-js-color-unknown)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.guid{color:var(--json-tree-js-color-guid)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.regexp{color:var(--json-tree-js-color-regexp)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.url{color:var(--json-tree-js-color-url)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.email{color:var(--json-tree-js-color-email)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.html{color:var(--json-tree-js-color-html)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.lambda{color:var(--json-tree-js-color-lambda)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.null,div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.undefined{background-color:var(--json-tree-js-color-null);border-radius:var(--json-tree-js-border-radius-editable);padding-top:2px;padding-bottom:2px;padding-left:4px;padding-right:4px;color:var(--json-tree-js-color-dark-black)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents div.checkbox:last-child{margin-bottom:0}div.json-tree-js div.side-menu-open{left:0 !important;transition:var(--json-tree-js-transition);box-shadow:0 0 10px 10px var(--json-tree-js-color-black)}div.json-tree-js div.editable{cursor:text !important;outline:none;box-shadow:none;white-space:pre}div.json-tree-js div.contents{display:flex;padding:var(--json-tree-js-spacing);margin:0 !important;width:100%}div.json-tree-js div.contents div.contents-column div.column-control-buttons{border-radius:var(--json-tree-js-border-radius);border:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color)}div.json-tree-js div.contents div.contents-column,div.json-tree-js div.contents div.contents-column-multiple{position:relative;flex-basis:100%;overflow:auto;padding-right:var(--json-tree-js-spacing);margin-right:var(--json-tree-js-spacing)}div.json-tree-js div.contents div.contents-column div.column-control-buttons,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons{position:absolute;display:flex;flex-direction:column;top:0;right:0;background-color:var(--json-tree-js-color-dark-black);border-bottom-left-radius:var(--json-tree-js-border-radius);border-bottom:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);border-left:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);padding:calc(var(--json-tree-js-spacing)/2);z-index:50}div.json-tree-js div.contents div.contents-column div.column-control-buttons button,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;margin:3px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.contents div.contents-column div.column-control-buttons button:disabled,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.contents div.contents-column div.column-control-buttons button:not(.active):not(:disabled):active,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.contents div.contents-column div.column-control-buttons button:not(.active):not(:disabled):hover,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.contents div.contents-column div.column-control-buttons button,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button{margin-bottom:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-heavy);min-width:30px;min-height:30px;text-align:center}div.json-tree-js div.contents div.contents-column:last-child,div.json-tree-js div.contents div.contents-column-multiple:last-child{padding-right:0;margin-right:0}div.json-tree-js div.contents div.contents-column-multiple{background-color:var(--json-tree-js-paging-column-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);padding:var(--json-tree-js-spacing);border-radius:var(--json-tree-js-border-radius)}div.json-tree-js div.contents span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.contents span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.contents span.map{color:var(--json-tree-js-color-map)}div.json-tree-js div.contents span.set{color:var(--json-tree-js-color-set)}div.json-tree-js div.contents span.boolean{color:var(--json-tree-js-color-boolean)}div.json-tree-js div.contents span.float{color:var(--json-tree-js-color-float)}div.json-tree-js div.contents span.number{color:var(--json-tree-js-color-number)}div.json-tree-js div.contents span.bigint{color:var(--json-tree-js-color-bigint)}div.json-tree-js div.contents span.string{color:var(--json-tree-js-color-string)}div.json-tree-js div.contents span.date{color:var(--json-tree-js-color-date)}div.json-tree-js div.contents span.symbol{color:var(--json-tree-js-color-symbol)}div.json-tree-js div.contents span.function{color:var(--json-tree-js-color-function)}div.json-tree-js div.contents span.unknown{color:var(--json-tree-js-color-unknown)}div.json-tree-js div.contents span.guid{color:var(--json-tree-js-color-guid)}div.json-tree-js div.contents span.regexp{color:var(--json-tree-js-color-regexp)}div.json-tree-js div.contents span.url{color:var(--json-tree-js-color-url)}div.json-tree-js div.contents span.email{color:var(--json-tree-js-color-email)}div.json-tree-js div.contents span.html{color:var(--json-tree-js-color-html)}div.json-tree-js div.contents span.lambda{color:var(--json-tree-js-color-lambda)}div.json-tree-js div.contents span.null,div.json-tree-js div.contents span.undefined{background-color:var(--json-tree-js-color-null);border-radius:var(--json-tree-js-border-radius-editable);padding-top:2px;padding-bottom:2px;padding-left:4px;padding-right:4px;color:var(--json-tree-js-color-dark-black)}div.json-tree-js div.contents span.size{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.contents div.last-item{margin-bottom:0 !important}div.json-tree-js div.contents div.no-json{font-style:italic}div.json-tree-js div.contents div.no-json span.no-json-text{color:var(--json-tree-js-color-light-gray) !important}div.json-tree-js div.contents div.no-json span.no-json-import-text{margin-left:calc(var(--json-tree-js-spacing)/2);text-decoration:underline;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.contents div.no-json span.no-json-import-text:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.drag-and-drop-background{position:absolute;background-color:rgba(0,0,0,.7);top:0;left:0;height:100%;width:100%;z-index:1000;display:none;text-align:center}div.json-tree-js div.drag-and-drop-background div.notice-text{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);font-size:1rem;pointer-events:none}div.json-tree-js div.drag-and-drop-background div.notice-text p{margin:0;padding:0}div.json-tree-js div.drag-and-drop-background div.notice-text p.notice-text-symbol{font-size:4.5rem;font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.drag-and-drop-background div.notice-text p.notice-text-title{margin-top:calc(var(--json-tree-js-spacing));font-weight:var(--json-tree-js-title-bold-weight)}div.json-tree-js div.drag-and-drop-background div.notice-text p.notice-text-description{margin-top:calc(var(--json-tree-js-spacing));font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-title{font-weight:var(--json-tree-js-bold-weight-heavy);text-align:left !important;width:fit-content}div.json-tree-js div.object-type-title span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-title span.main-title:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-title span.data-array-index{margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-title span.split{margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-title span.opening-symbol,div.json-tree-js div.object-type-title span.closed-symbols{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-contents{margin-top:calc(var(--json-tree-js-spacing)/2);text-align:left !important;width:fit-content;margin-bottom:var(--json-tree-js-spacing);position:relative}div.json-tree-js div.object-type-contents img{height:30px;width:30px;border-radius:var(--json-tree-js-border-radius-editable)}div.json-tree-js div.object-border{border-left:var(--json-tree-js-border-size) dotted var(--json-tree-js-container-object-left-border-color);margin-left:5px}div.json-tree-js div.object-border-no-arrow-toggles{margin-left:var(--json-tree-js-border-size)}div.json-tree-js div.object-border-bottom{position:absolute;bottom:0;left:var(--json-tree-js-border-size);height:var(--json-tree-js-border-size);width:var(--json-tree-js-spacing-arrow-toggle-size);border-bottom:var(--json-tree-js-border-size) dotted var(--json-tree-js-container-object-left-border-color)}div.json-tree-js div.object-type-contents span.opening-symbol,div.json-tree-js div.object-type-contents span.closed-symbols{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-contents div.closing-symbol div{display:inline-block !important}div.json-tree-js div.object-type-contents div.closing-symbol div.object-type-end{margin-top:3px;font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-contents div.object-type-value{white-space:nowrap;margin-top:calc(var(--json-tree-js-spacing)/2);margin-bottom:calc(var(--json-tree-js-spacing)/2);margin-left:calc(var(--json-tree-js-spacing)*2)}div.json-tree-js div.object-type-contents div.object-type-value img{vertical-align:middle}div.json-tree-js div.object-type-contents div.object-type-value span.split{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-contents div.object-type-value span.type,div.json-tree-js div.object-type-contents div.object-type-value span.type-color{margin-left:calc(var(--json-tree-js-spacing)/2);font-style:italic;font-size:smaller}div.json-tree-js div.object-type-contents div.object-type-value span.type-color{color:var(--json-tree-js-color-light-gray)}div.json-tree-js div.object-type-contents div.object-type-value span.value,div.json-tree-js div.object-type-contents div.object-type-value span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-contents div.object-type-value span.value:not(.no-hover):not(.editable):hover,div.json-tree-js div.object-type-contents div.object-type-value span.main-title:not(.no-hover):not(.editable):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-contents div.object-type-value span.editable,div.json-tree-js div.object-type-contents div.object-type-value span.editable-name{display:inline-block;background-color:var(--json-tree-js-editable-background-color) !important;color:var(--json-tree-js-editable-text-color) !important;border:var(--json-tree-js-border-size) solid var(--json-tree-js-editable-border-color);outline:none !important;box-shadow:none !important;padding:calc(var(--json-tree-js-spacing)/2) !important;border-radius:var(--json-tree-js-border-radius-editable) !important;max-width:250px;cursor:text !important;overflow:scroll;vertical-align:middle}div.json-tree-js div.object-type-contents div.object-type-value span.editable{min-width:70px}div.json-tree-js div.object-type-contents div.object-type-value span.main-title{font-weight:var(--json-tree-js-bold-weight-heavy)}div.json-tree-js div.object-type-contents div.object-type-value span.non-value{font-style:italic}div.json-tree-js div.object-type-contents div.object-type-value span.undefined-or-null{font-style:italic;padding-right:5px;text-transform:uppercase;font-weight:var(--json-tree-js-bold-weight-medium)}div.json-tree-js div.object-type-contents div.object-type-value span.no-properties-text{font-style:italic}div.json-tree-js div.object-type-contents div.object-type-value span.comma{color:var(--json-tree-js-color-white);font-weight:var(--json-tree-js-bold-weight-medium);margin-left:2px}div.json-tree-js div.object-type-contents div.object-type-value span.open-button,div.json-tree-js div.object-type-contents div.object-type-value span.open-button-color{margin-left:calc(var(--json-tree-js-spacing)*2)}div.json-tree-js div.object-type-contents div.object-type-value span.open-button:hover,div.json-tree-js div.object-type-contents div.object-type-value span.open-button-color:hover{text-decoration:underline;cursor:pointer}div.json-tree-js div.object-type-contents div.object-type-value span.open-button-color{color:var(--json-tree-js-color-link)}div.json-tree-js div.checkbox{margin-bottom:calc(var(--json-tree-js-spacing)/3)}div.json-tree-js div.checkbox label.checkbox{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;display:inline-block;position:relative;padding-left:20px;padding-top:1px;padding-bottom:2px;color:var(--json-tree-js-color-white)}div.json-tree-js div.checkbox label.checkbox input{display:none !important}div.json-tree-js div.checkbox label.checkbox input:checked~span.check-mark{background-color:var(--json-tree-js-checkbox-background-color-checked);border:var(--json-tree-js-border-size) solid var(--json-tree-js-checkbox-border-color-checked)}div.json-tree-js div.checkbox label.checkbox input:checked~span.check-mark::before{display:block}div.json-tree-js div.checkbox label.checkbox input:disabled~span.check-mark,div.json-tree-js div.checkbox label.checkbox input:disabled~span.text{opacity:.5}div.json-tree-js div.checkbox label.checkbox input:disabled~span.check-mark{border:var(--json-tree-js-border-size) solid var(--json-tree-js-color-black) !important}div.json-tree-js div.checkbox label.checkbox span.text{margin-left:calc(var(--json-tree-js-spacing)/3)}div.json-tree-js div.checkbox label.checkbox span.additional-text{margin-left:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.checkbox label.checkbox span.check-mark{position:absolute;top:1px;left:0;height:15px;width:15px;background-color:var(--json-tree-js-checkbox-background-color);border-radius:var(--json-tree-js-border-radius-editable);border:var(--json-tree-js-border-size) solid var(--json-tree-js-checkbox-border-color);transition:var(--json-tree-js-transition)}div.json-tree-js div.checkbox label.checkbox span.check-mark::before{content:"";transform:rotate(45deg);position:absolute;display:none;left:4px;top:.5px;width:6px;height:11px;border:solid var(--json-tree-js-color-black);border-width:0 3px 3px 0}div.jsontree-js-tooltip,div.jsontree-js-tooltip-value{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font);animation:fade-in-animation var(--json-tree-js-animation-length);position:absolute;background-color:var(--json-tree-js-tooltip-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-tooltip-border-color);color:var(--json-tree-js-tooltip-text-color);border-radius:var(--json-tree-js-border-radius);z-index:2000;max-width:300px;padding:var(--json-tree-js-spacing);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-bold-weight-light);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}}
+:root{--json-tree-js-default-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--json-tree-js-bold-weight-light: 300;--json-tree-js-bold-weight-medium: 600;--json-tree-js-bold-weight-heavy: 900;--json-tree-js-title-bold-weight: var(--json-tree-js-bold-weight-heavy);--json-tree-js-color-dark-black: #1c2128;--json-tree-js-color-black: #3b3a3a;--json-tree-js-color-white: #F5F5F5;--json-tree-js-color-snow-white: #F5F5F5;--json-tree-js-color-light-gray: #BBBBBB;--json-tree-js-color-array: #F28C28;--json-tree-js-color-object: var(--json-tree-js-color-snow-white);--json-tree-js-color-map: #BDB5D5;--json-tree-js-color-set: #FFD700;--json-tree-js-color-boolean: #FF0000;--json-tree-js-color-float: #e3c868;--json-tree-js-color-number: #666bf9;--json-tree-js-color-bigint: #6495ED;--json-tree-js-color-string: #78b13f;--json-tree-js-color-date: #a656f5;--json-tree-js-color-null: var(--json-tree-js-color-light-gray);--json-tree-js-color-undefined: var(--json-tree-js-color-null);--json-tree-js-color-symbol: #DAA06D;--json-tree-js-color-function: var(--json-tree-js-color-null);--json-tree-js-color-lambda: var(--json-tree-js-color-function);--json-tree-js-color-unknown: var(--json-tree-js-color-null);--json-tree-js-color-guid: #c45600;--json-tree-js-color-regexp: #AA336A;--json-tree-js-color-url: #00FFFF;--json-tree-js-color-email: #FA8072;--json-tree-js-color-link: #89CFF0;--json-tree-js-color-html: #FF00FF;--json-tree-js-editable-text-color: var(--json-tree-js-color-snow-white);--json-tree-js-editable-background-color: #2d333b;--json-tree-js-editable-border-color: #454c56;--json-tree-js-highlight-selected-color: #353e4b;--json-tree-js-highlight-compare-color: #4a5768;--json-tree-js-highlight-selected-border-color: #97a4b5;--json-tree-js-tooltip-background-color: var(--json-tree-js-container-background-color);--json-tree-js-tooltip-border-color: var(--json-tree-js-container-border-color);--json-tree-js-tooltip-text-color: var(--json-tree-js-color-white);--json-tree-js-side-menu-width: 320px;--json-tree-js-side-menu-right-border-width: calc( var(--json-tree-js-border-size) * 12 );--json-tree-js-container-background-color: #22272e;--json-tree-js-container-border-color: #454c56;--json-tree-js-container-object-left-border-color: #677180;--json-tree-js-paging-column-background-color: #272e37;--json-tree-js-paging-column-border-color: var(--json-tree-js-container-border-color);--json-tree-js-button-background-color: #2d333b;--json-tree-js-button-border-color: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color: var(--json-tree-js-color-white);--json-tree-js-button-background-color-hover: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color-hover: var(--json-tree-js-color-snow-white);--json-tree-js-button-background-color-active: #616b79;--json-tree-js-button-text-color-active: var(--json-tree-js-color-snow-white);--json-tree-js-context-menu-background-color: var(--json-tree-js-container-background-color);--json-tree-js-context-menu-border-color: var(--json-tree-js-container-border-color);--json-tree-js-context-menu-text-color: var(--json-tree-js-color-white);--json-tree-js-context-menu-item-background-color-hover: var(--json-tree-js-container-border-color);--json-tree-js-context-menu-item-text-color-hover: var(--json-tree-js-color-snow-white);--json-tree-js-context-menu-item-background-color-active: var(--json-tree-js-button-background-color-active);--json-tree-js-context-menu-item-text-color-active: var(--json-tree-js-color-snow-white);--json-tree-js-setting-panel-background-color: var(--json-tree-js-button-background-color);--json-tree-js-checkbox-background-color-checked: var(--json-tree-js-color-white);--json-tree-js-checkbox-background-color: var(--json-tree-js-setting-panel-background-color);--json-tree-js-checkbox-border-color-checked: var(--json-tree-js-checkbox-background-color-checked);--json-tree-js-checkbox-border-color: var(--json-tree-js-color-white);--json-tree-js-border-radius-editable: 0.25rem;--json-tree-js-border-radius: 0.5rem;--json-tree-js-border-size: 0.5px;--json-tree-js-spacing: 10px;--json-tree-js-spacing-font-size: 0.85rem;--json-tree-js-spacing-arrow-toggle-size: 12px;--json-tree-js-spacing-title-bar: calc( ( var(--json-tree-js-spacing) / 2 ) + 2px );--json-tree-js-transition: all .3s;--json-tree-js-animation-length: 0.5s}div.json-tree-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font) !important;display:inline-block;position:relative;border-radius:var(--json-tree-js-border-radius);background-color:var(--json-tree-js-container-background-color);color:var(--json-tree-js-color-white);border:var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-bold-weight-light);width:100%;overflow:hidden;margin:0 !important;max-width:500px}div.json-tree-js *.draggable-item{overflow:hidden !important}div.json-tree-js button{font-family:var(--json-tree-js-default-font)}div.json-tree-js div.no-click{pointer-events:none !important}div.json-tree-js div.page-switch{animation:fade-in-animation var(--json-tree-js-animation-length)}div.json-tree-js *{box-sizing:border-box;line-height:normal}div.json-tree-js *::before,div.json-tree-js *::after{box-sizing:border-box;line-height:normal}div.full-screen{position:fixed;display:flex;flex-direction:column;top:0;left:0;height:100%;width:100%;max-width:none;border-radius:0;border:none;z-index:1000}div.full-screen div.title-bar,div.full-screen div.footer-bar{border-radius:0 !important}div.full-screen div.contents{flex-grow:1;position:relative;max-height:none !important;overflow:auto}div.full-screen div.contents div.no-json{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}div.json-tree-js div.no-arrow{display:inline-block;width:var(--json-tree-js-spacing-arrow-toggle-size);height:8px;margin-right:calc(var(--json-tree-js-spacing))}div.json-tree-js div.down-arrow,div.json-tree-js div.right-arrow{display:inline-block;width:0;height:0;margin-right:calc(var(--json-tree-js-spacing));cursor:pointer;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.down-arrow:hover,div.json-tree-js div.right-arrow:hover{opacity:.7}div.json-tree-js div.down-arrow{border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:8px solid var(--json-tree-js-color-white)}div.json-tree-js div.right-arrow{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-left:var(--json-tree-js-spacing-arrow-toggle-size) solid var(--json-tree-js-color-white)}div.json-tree-js div.title-bar{display:flex;padding:var(--json-tree-js-spacing-title-bar);background-color:var(--json-tree-js-color-dark-black);border-radius:var(--json-tree-js-border-radius);border-bottom:var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);justify-content:left;align-items:center}div.json-tree-js div.title-bar button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.title-bar button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.title-bar button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.title-bar button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.title-bar button{font-weight:var(--json-tree-js-bold-weight-heavy);min-width:30px;min-height:30px;text-align:center}div.json-tree-js div.title-bar button.side-menu{margin-right:calc(var(--json-tree-js-spacing)/2) !important}div.json-tree-js div.title-bar div.title{text-align:left;width:auto;font-weight:var(--json-tree-js-title-bold-weight);font-size:1.2rem;margin:3px;margin-left:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.title-bar div.controls{margin-left:calc(var(--json-tree-js-spacing)*2);flex-grow:1;text-align:right;white-space:nowrap}div.json-tree-js div.title-bar div.controls button{margin-left:var(--json-tree-js-spacing-title-bar) !important}div.json-tree-js div.title-bar div.controls button.copy-all{display:none}@media(min-width: 768px){div.json-tree-js div.title-bar div.controls button.copy-all{display:inline-block}}div.json-tree-js div.footer-bar{display:flex;padding:calc(var(--json-tree-js-spacing));background-color:var(--json-tree-js-color-dark-black);border-radius:var(--json-tree-js-border-radius);border-top:var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);justify-content:left;align-items:center}div.json-tree-js div.footer-bar div.status-text{flex-grow:1;text-align:left !important}div.json-tree-js div.footer-bar div.status-value-data-type,div.json-tree-js div.footer-bar div.status-value-length,div.json-tree-js div.footer-bar div.status-value-size,div.json-tree-js div.footer-bar div.status-page-index{margin-left:calc(var(--json-tree-js-spacing)*3)}div.json-tree-js div.footer-bar div.status-value-data-type,div.json-tree-js div.footer-bar div.status-value-length,div.json-tree-js div.footer-bar div.status-value-size{animation:fade-in-animation var(--json-tree-js-animation-length)}div.json-tree-js div.footer-bar span.status-count{font-weight:var(--json-tree-js-bold-weight-heavy)}div.json-tree-js div.side-menu-disabled-background{position:absolute;background-color:rgba(0,0,0,.3);top:0;left:0;height:100%;width:100%;z-index:1000;display:none}div.json-tree-js div.side-menu{display:flex;flex-direction:column;position:absolute;height:100%;top:0;z-index:1500;transition:var(--json-tree-js-transition);background-color:var(--json-tree-js-container-background-color);border-right:var(--json-tree-js-side-menu-right-border-width) solid var(--json-tree-js-color-white);border-radius:var(--json-tree-js-border-radius);width:var(--json-tree-js-side-menu-width);left:calc(0px - (var(--json-tree-js-side-menu-width) + var(--json-tree-js-side-menu-right-border-width)));overflow-x:hidden;overflow-y:auto}div.json-tree-js div.side-menu div.side-menu-title-bar{display:flex;padding:var(--json-tree-js-spacing-title-bar);background-color:var(--json-tree-js-color-dark-black);border-radius:var(--json-tree-js-border-radius);border-bottom:var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);justify-content:left;align-items:center}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-bar-text{text-align:left;width:auto;font-weight:var(--json-tree-js-title-bold-weight);font-size:1.2rem;margin:3px;margin-left:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls{margin-left:calc(var(--json-tree-js-spacing)*6);flex-grow:1;text-align:right;white-space:nowrap}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.side-menu div.side-menu-title-bar div.side-menu-title-controls button{margin-left:var(--json-tree-js-spacing-title-bar) !important;font-weight:var(--json-tree-js-bold-weight-heavy);min-width:30px;min-height:30px;text-align:center}div.json-tree-js div.side-menu div.side-menu-contents{flex-grow:1;overflow-x:hidden;overflow-y:auto;margin:var(--json-tree-js-spacing)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel{padding:var(--json-tree-js-spacing);background-color:var(--json-tree-js-setting-panel-background-color);color:var(--json-tree-js-color-snow-white);border-radius:var(--json-tree-js-border-radius);border:var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar{display:flex;justify-content:left;align-items:center}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-title-text{text-align:left;font-weight:var(--json-tree-js-title-bold-weight);font-size:.9rem;margin:3px;color:var(--json-tree-js-color-white)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons{flex-grow:1;text-align:right}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons div.settings-panel-control-button{margin-left:calc(var(--json-tree-js-spacing)/2);border:4px solid var(--json-tree-js-color-white);height:15px;width:15px;border-radius:var(--json-tree-js-border-radius-editable);display:inline-block;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons div.settings-panel-control-button:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-title-bar div.settings-panel-control-buttons div.settings-panel-fill{background-color:var(--json-tree-js-color-white)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents{margin-top:var(--json-tree-js-spacing);margin-left:var(--json-tree-js-spacing);text-align:left}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.map{color:var(--json-tree-js-color-map)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.set{color:var(--json-tree-js-color-set)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.boolean{color:var(--json-tree-js-color-boolean)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.float{color:var(--json-tree-js-color-float)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.number{color:var(--json-tree-js-color-number)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.bigint{color:var(--json-tree-js-color-bigint)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.string{color:var(--json-tree-js-color-string)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.date{color:var(--json-tree-js-color-date)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.symbol{color:var(--json-tree-js-color-symbol)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.function{color:var(--json-tree-js-color-function)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.unknown{color:var(--json-tree-js-color-unknown)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.guid{color:var(--json-tree-js-color-guid)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.regexp{color:var(--json-tree-js-color-regexp)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.url{color:var(--json-tree-js-color-url)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.email{color:var(--json-tree-js-color-email)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.html{color:var(--json-tree-js-color-html)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.lambda{color:var(--json-tree-js-color-lambda)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.null,div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents span.undefined{background-color:var(--json-tree-js-color-null);border-radius:var(--json-tree-js-border-radius-editable);padding-top:2px;padding-bottom:2px;padding-left:4px;padding-right:4px;color:var(--json-tree-js-color-dark-black)}div.json-tree-js div.side-menu div.side-menu-contents div.settings-panel div.settings-panel-contents div.checkbox:last-child{margin-bottom:0}div.json-tree-js div.side-menu-open{left:0 !important;transition:var(--json-tree-js-transition);box-shadow:0 0 10px 10px var(--json-tree-js-color-black)}div.json-tree-js div.editable{cursor:text !important;outline:none;box-shadow:none;white-space:pre !important}div.json-tree-js div.contents{display:flex;padding:var(--json-tree-js-spacing);margin:0 !important;width:100%}div.json-tree-js div.contents div.contents-column div.column-control-buttons{border-radius:var(--json-tree-js-border-radius);border:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color)}div.json-tree-js div.contents div.contents-column,div.json-tree-js div.contents div.contents-column-multiple{position:relative;flex-basis:100%;overflow:auto;padding-right:var(--json-tree-js-spacing);margin-right:var(--json-tree-js-spacing);white-space:nowrap}div.json-tree-js div.contents div.contents-column div.contents-column-line-numbers,div.json-tree-js div.contents div.contents-column-multiple div.contents-column-line-numbers{position:relative;vertical-align:top;display:inline-block;left:0}div.json-tree-js div.contents div.contents-column div.contents-column-line-numbers div.contents-column-line-number,div.json-tree-js div.contents div.contents-column-multiple div.contents-column-line-numbers div.contents-column-line-number{position:absolute;display:flex;align-items:center;left:0;padding-right:var(--json-tree-js-spacing)}div.json-tree-js div.contents div.contents-column div.contents-column-lines,div.json-tree-js div.contents div.contents-column-multiple div.contents-column-lines{vertical-align:top;display:inline-block;width:fit-content;height:fit-content}div.json-tree-js div.contents div.contents-column div.column-control-buttons,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons{position:absolute;display:flex;flex-direction:column;top:0;right:0;background-color:var(--json-tree-js-color-dark-black);border-bottom-left-radius:var(--json-tree-js-border-radius);border-bottom:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);border-left:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);padding:var(--json-tree-js-spacing-title-bar);z-index:50}div.json-tree-js div.contents div.contents-column div.column-control-buttons button,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.contents div.contents-column div.column-control-buttons button:disabled,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.contents div.contents-column div.column-control-buttons button:not(.active):not(:disabled):active,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.contents div.contents-column div.column-control-buttons button:not(.active):not(:disabled):hover,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.contents div.contents-column div.column-control-buttons button,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button{margin-bottom:var(--json-tree-js-spacing-title-bar);font-weight:var(--json-tree-js-bold-weight-heavy);min-width:30px;min-height:30px;text-align:center}div.json-tree-js div.contents div.contents-column div.column-control-buttons button:last-child,div.json-tree-js div.contents div.contents-column-multiple div.column-control-buttons button:last-child{margin-bottom:0}div.json-tree-js div.contents div.contents-column:last-child,div.json-tree-js div.contents div.contents-column-multiple:last-child{padding-right:0;margin-right:0}div.json-tree-js div.contents div.contents-column-multiple{background-color:var(--json-tree-js-paging-column-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-paging-column-border-color);padding:var(--json-tree-js-spacing);border-radius:var(--json-tree-js-border-radius)}div.json-tree-js div.contents span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.contents span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.contents span.map{color:var(--json-tree-js-color-map)}div.json-tree-js div.contents span.set{color:var(--json-tree-js-color-set)}div.json-tree-js div.contents span.boolean{color:var(--json-tree-js-color-boolean)}div.json-tree-js div.contents span.float{color:var(--json-tree-js-color-float)}div.json-tree-js div.contents span.number{color:var(--json-tree-js-color-number)}div.json-tree-js div.contents span.bigint{color:var(--json-tree-js-color-bigint)}div.json-tree-js div.contents span.string{color:var(--json-tree-js-color-string)}div.json-tree-js div.contents span.date{color:var(--json-tree-js-color-date)}div.json-tree-js div.contents span.symbol{color:var(--json-tree-js-color-symbol)}div.json-tree-js div.contents span.function{color:var(--json-tree-js-color-function)}div.json-tree-js div.contents span.unknown{color:var(--json-tree-js-color-unknown)}div.json-tree-js div.contents span.guid{color:var(--json-tree-js-color-guid)}div.json-tree-js div.contents span.regexp{color:var(--json-tree-js-color-regexp)}div.json-tree-js div.contents span.url{color:var(--json-tree-js-color-url)}div.json-tree-js div.contents span.email{color:var(--json-tree-js-color-email)}div.json-tree-js div.contents span.html{color:var(--json-tree-js-color-html)}div.json-tree-js div.contents span.lambda{color:var(--json-tree-js-color-lambda)}div.json-tree-js div.contents span.null,div.json-tree-js div.contents span.undefined{background-color:var(--json-tree-js-color-null);border-radius:var(--json-tree-js-border-radius-editable);padding-top:2px;padding-bottom:2px;padding-left:4px;padding-right:4px;color:var(--json-tree-js-color-dark-black)}div.json-tree-js div.contents span.size{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.contents div.last-item{margin-bottom:0 !important}div.json-tree-js div.contents div.no-json{font-style:italic}div.json-tree-js div.contents div.no-json span.no-json-text{color:var(--json-tree-js-color-light-gray) !important}div.json-tree-js div.contents div.no-json span.no-json-import-text{margin-left:calc(var(--json-tree-js-spacing)/2);text-decoration:underline;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.contents div.no-json span.no-json-import-text:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.drag-and-drop-background{position:absolute;background-color:rgba(0,0,0,.7);top:0;left:0;height:100%;width:100%;z-index:1000;display:none;text-align:center}div.json-tree-js div.drag-and-drop-background div.notice-text{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);font-size:1rem;pointer-events:none}div.json-tree-js div.drag-and-drop-background div.notice-text p{margin:0;padding:0}div.json-tree-js div.drag-and-drop-background div.notice-text p.notice-text-symbol{font-size:4.5rem;font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.drag-and-drop-background div.notice-text p.notice-text-title{margin-top:calc(var(--json-tree-js-spacing));font-weight:var(--json-tree-js-title-bold-weight)}div.json-tree-js div.drag-and-drop-background div.notice-text p.notice-text-description{margin-top:calc(var(--json-tree-js-spacing));font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-title{font-weight:var(--json-tree-js-bold-weight-heavy);text-align:left !important;width:fit-content}div.json-tree-js div.object-type-title span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-title span.main-title:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-title span.data-array-index{margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-title span.split{margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-title span.opening-symbol,div.json-tree-js div.object-type-title span.closed-symbols{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-title span.closed-symbols:hover{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-title span.closed-symbols:hover:not(.no-hover):not(.editable):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-contents{margin-top:calc(var(--json-tree-js-spacing)/2);text-align:left !important;width:fit-content;margin-bottom:var(--json-tree-js-spacing);position:relative}div.json-tree-js div.object-type-contents img{height:30px;width:30px;border-radius:var(--json-tree-js-border-radius-editable)}div.json-tree-js div.object-border{border-left:var(--json-tree-js-border-size) dotted var(--json-tree-js-container-object-left-border-color);margin-left:5px}div.json-tree-js div.object-border-no-arrow-toggles{margin-left:var(--json-tree-js-border-size)}div.json-tree-js div.object-border-bottom{position:absolute;bottom:0;left:var(--json-tree-js-border-size);height:var(--json-tree-js-border-size);width:var(--json-tree-js-spacing-arrow-toggle-size);border-bottom:var(--json-tree-js-border-size) dotted var(--json-tree-js-container-object-left-border-color)}div.json-tree-js div.object-type-contents span.opening-symbol,div.json-tree-js div.object-type-contents span.closed-symbols{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-contents span.closed-symbols{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-contents span.closed-symbols:not(.no-hover):not(.editable):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-contents div.closing-symbol div{display:inline-block !important}div.json-tree-js div.object-type-contents div.closing-symbol div.object-type-end{margin-top:3px;font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-contents div.object-type-value{white-space:nowrap;margin-top:calc(var(--json-tree-js-spacing)/2);margin-bottom:calc(var(--json-tree-js-spacing)/2);margin-left:calc(var(--json-tree-js-spacing)*2)}div.json-tree-js div.object-type-contents div.object-type-value div.object-type-value-title{width:fit-content}div.json-tree-js div.object-type-contents div.object-type-value img{vertical-align:middle}div.json-tree-js div.object-type-contents div.object-type-value span.split{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-bold-weight-light)}div.json-tree-js div.object-type-contents div.object-type-value div.highlight-selected,div.json-tree-js div.object-type-contents div.object-type-value div.highlight-compare{padding:calc(var(--json-tree-js-spacing)/2);border-radius:var(--json-tree-js-border-radius);transition:var(--json-tree-js-transition);transition-property:background-color,border,padding}div.json-tree-js div.object-type-contents div.object-type-value div.highlight-selected{background-color:var(--json-tree-js-highlight-selected-color);border:var(--json-tree-js-border-size) dashed var(--json-tree-js-highlight-selected-border-color)}div.json-tree-js div.object-type-contents div.object-type-value div.highlight-compare{background-color:var(--json-tree-js-highlight-compare-color)}div.json-tree-js div.object-type-contents div.object-type-value span.data-type,div.json-tree-js div.object-type-contents div.object-type-value span.data-type-color{margin-left:calc(var(--json-tree-js-spacing)/2);font-style:italic;font-size:smaller}div.json-tree-js div.object-type-contents div.object-type-value span.data-type-color{color:var(--json-tree-js-color-light-gray)}div.json-tree-js div.object-type-contents div.object-type-value span.value,div.json-tree-js div.object-type-contents div.object-type-value span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-contents div.object-type-value span.value:not(.no-hover):not(.editable):hover,div.json-tree-js div.object-type-contents div.object-type-value span.main-title:not(.no-hover):not(.editable):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-contents div.object-type-value span.editable,div.json-tree-js div.object-type-contents div.object-type-value span.editable-name{display:inline-block;background-color:var(--json-tree-js-editable-background-color) !important;color:var(--json-tree-js-editable-text-color) !important;border:var(--json-tree-js-border-size) solid var(--json-tree-js-editable-border-color);outline:none !important;box-shadow:none !important;padding:calc(var(--json-tree-js-spacing)/2) !important;border-radius:var(--json-tree-js-border-radius-editable) !important;max-width:250px;cursor:text !important;overflow:scroll;vertical-align:middle}div.json-tree-js div.object-type-contents div.object-type-value span.editable{min-width:70px}div.json-tree-js div.object-type-contents div.object-type-value span.main-title{font-weight:var(--json-tree-js-bold-weight-heavy)}div.json-tree-js div.object-type-contents div.object-type-value span.non-value{font-style:italic}div.json-tree-js div.object-type-contents div.object-type-value span.undefined-or-null{font-style:italic;padding-right:5px;text-transform:uppercase;font-weight:var(--json-tree-js-bold-weight-medium)}div.json-tree-js div.object-type-contents div.object-type-value span.no-properties-text{font-style:italic}div.json-tree-js div.object-type-contents div.object-type-value span.comma{color:var(--json-tree-js-color-white);font-weight:var(--json-tree-js-bold-weight-medium);margin-left:2px}div.json-tree-js div.object-type-contents div.object-type-value span.open-button,div.json-tree-js div.object-type-contents div.object-type-value span.open-button-color{margin-left:calc(var(--json-tree-js-spacing)*2)}div.json-tree-js div.object-type-contents div.object-type-value span.open-button:hover,div.json-tree-js div.object-type-contents div.object-type-value span.open-button-color:hover{text-decoration:underline;cursor:pointer}div.json-tree-js div.object-type-contents div.object-type-value span.open-button-color{color:var(--json-tree-js-color-link)}div.json-tree-js div.checkbox{margin-bottom:calc(var(--json-tree-js-spacing)/3)}div.json-tree-js div.checkbox label.checkbox{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;display:inline-block;position:relative;padding-left:20px;padding-top:1px;padding-bottom:2px;color:var(--json-tree-js-color-white)}div.json-tree-js div.checkbox label.checkbox input{display:none !important}div.json-tree-js div.checkbox label.checkbox input:checked~span.check-mark{background-color:var(--json-tree-js-checkbox-background-color-checked);border:var(--json-tree-js-border-size) solid var(--json-tree-js-checkbox-border-color-checked)}div.json-tree-js div.checkbox label.checkbox input:checked~span.check-mark::before{display:block}div.json-tree-js div.checkbox label.checkbox input:disabled~span.check-mark,div.json-tree-js div.checkbox label.checkbox input:disabled~span.text{opacity:.5}div.json-tree-js div.checkbox label.checkbox input:disabled~span.check-mark{border:var(--json-tree-js-border-size) solid var(--json-tree-js-color-black) !important}div.json-tree-js div.checkbox label.checkbox span.text{margin-left:calc(var(--json-tree-js-spacing)/3)}div.json-tree-js div.checkbox label.checkbox span.additional-text{margin-left:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.checkbox label.checkbox span.check-mark{position:absolute;top:1px;left:0;height:15px;width:15px;background-color:var(--json-tree-js-checkbox-background-color);border-radius:var(--json-tree-js-border-radius-editable);border:var(--json-tree-js-border-size) solid var(--json-tree-js-checkbox-border-color);transition:var(--json-tree-js-transition)}div.json-tree-js div.checkbox label.checkbox span.check-mark::before{content:"";transform:rotate(45deg);position:absolute;display:none;left:4px;top:.5px;width:6px;height:11px;border:solid var(--json-tree-js-color-black);border-width:0 3px 3px 0}div.jsontree-js-context-menu{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font);animation:fade-in-animation var(--json-tree-js-animation-length);position:absolute;background-color:var(--json-tree-js-context-menu-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-context-menu-border-color);color:var(--json-tree-js-context-menu-text-color);border-radius:var(--json-tree-js-border-radius);z-index:2000;max-width:300px;font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-bold-weight-light);overflow:hidden;display:none}div.jsontree-js-context-menu div.context-menu-item{border-bottom:var(--json-tree-js-border-size) dotted var(--json-tree-js-tooltip-border-color);padding:var(--json-tree-js-spacing);transition:var(--json-tree-js-transition);transition-property:background-color,color;padding-right:40px}div.jsontree-js-context-menu div.context-menu-item span.symbol{margin-right:var(--json-tree-js-spacing);font-weight:var(--json-tree-js-bold-weight-heavy)}div.jsontree-js-context-menu div.context-menu-item span.text{font-weight:var(--json-tree-js-bold-weight-light)}div.jsontree-js-context-menu div.context-menu-item:active{background:var(--json-tree-js-context-menu-item-background-color-active) !important;color:var(--json-tree-js-context-menu-item-text-color-active) !important}div.jsontree-js-context-menu div.context-menu-item:hover{cursor:pointer;background:var(--json-tree-js-context-menu-item-background-color-hover);color:var(--json-tree-js-context-menu-item-text-color-hover)}div.jsontree-js-context-menu div.context-menu-item:last-child{border-bottom:none}div.jsontree-js-tooltip,div.jsontree-js-tooltip-value{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font);animation:fade-in-animation var(--json-tree-js-animation-length);position:absolute;background-color:var(--json-tree-js-tooltip-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-tooltip-border-color);color:var(--json-tree-js-tooltip-text-color);border-radius:var(--json-tree-js-border-radius);z-index:2000;max-width:300px;padding:var(--json-tree-js-spacing);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-bold-weight-light);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}}
diff --git a/dist/jsontree.min.js b/dist/jsontree.min.js
index 6be3e940..2c20882a 100644
--- a/dist/jsontree.min.js
+++ b/dist/jsontree.min.js
@@ -1 +1 @@
-"use strict";var DataType=(e=>(e.null="null",e.function="function",e.boolean="boolean",e.float="float",e.number="number",e.bigint="bigint",e.string="string",e.date="date",e.symbol="symbol",e.object="object",e.array="array",e.unknown="unknown",e[void 0]="undefined",e.color="color",e.guid="guid",e.regexp="regexp",e.map="map",e.set="set",e.url="url",e.image="image",e.email="email",e.html="html",e.lambda="lambda",e))(DataType||{}),Is,Convert2,Default,DomElement,Str,Str2,DateTime,Constants,Constants2,Binding,Config,Trigger,ToolTip,Arr,Arr2,Size,Obj;(e=>{let t;var n;function o(e){return null!=e&&""!==e.toString()}function r(e){return o(e)&&"object"==typeof e}function l(e){return null!=e&&e instanceof Array}(n=t=e.String||(e.String={})).hexColor=function(e){let t=e.length>=2&&e.length<=7;return t=!(!t||"#"!==e[0])&&isNaN(+e.substring(1,e.length-1)),t},n.rgbColor=function(e){return(e.startsWith("rgb(")||e.startsWith("rgba("))&&e.endsWith(")")},n.boolean=function(e){return"true"===e.toString().toLowerCase().trim()||"false"===e.toString().toLowerCase().trim()},n.date=function(e){return e.match(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/)},n.guid=function(e){return/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e)},n.bigInt=function(e){let t=e.endsWith("n");return t&&(t=!isNaN(+e.substring(0,e.length-1))),t},e.defined=o,e.definedObject=r,e.definedBoolean=function(e){return o(e)&&"boolean"==typeof e},e.definedString=function(e){return o(e)&&"string"==typeof e},e.definedFunction=function(e){return o(e)&&"function"==typeof e},e.definedNumber=function(e){return o(e)&&"number"==typeof e},e.definedBigInt=function(e){return o(e)&&"bigint"==typeof e},e.definedArray=l,e.definedDate=function(e){return r(e)&&e instanceof Date},e.definedFloat=function(e){return o(e)&&"number"==typeof e&&e%1!=0},e.definedSymbol=function(e){return o(e)&&"symbol"==typeof e},e.definedRegExp=function(e){return o(e)&&e instanceof RegExp},e.definedMap=function(e){return o(e)&&(e instanceof Map||e instanceof WeakMap)},e.definedSet=function(e){return o(e)&&(e instanceof Set||e instanceof WeakSet)},e.definedImage=function(e){return o(e)&&e instanceof Image},e.definedHtml=function(e){return o(e)&&e instanceof HTMLElement},e.definedUrl=function(e){let t;try{t=new URL(e)}catch{t=null}return null!==t&&("http:"===t.protocol||"https:"===t.protocol)},e.definedEmail=function(e){return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},e.invalidOptionArray=function(e,t=1){return!l(e)||e.length{function stringifyJson(e,t,n){return Is.definedBigInt(t)?t=t.toString():Is.definedSymbol(t)?t=symbolToString(t):Is.definedFunction(t)?t=Default.getFunctionName(t,n).name:Is.definedMap(t)?t=mapToObject(t):Is.definedSet(t)?t=setToArray(t):Is.definedRegExp(t)?t=t.source:Is.definedImage(t)&&(t=t.src),t}function stringToDataTypeValue(e,t){let n=null;try{Is.definedBoolean(e)?"true"===t.toLowerCase().trim()?n=!0:"false"===t.toLowerCase().trim()&&(n=!1):Is.definedFloat(e)&&!isNaN(+t)?n=parseFloat(t):Is.definedNumber(e)&&!isNaN(+t)?n=parseInt(t):Is.definedString(e)?n=t:Is.definedDate(e)?n=new Date(t):Is.definedBigInt(e)?n=BigInt(t):Is.definedRegExp(e)?n=new RegExp(t):Is.definedSymbol(e)?n=Symbol(t):Is.definedImage(e)&&(n=new Image,n.src=t)}catch(e){n=null}return n}function htmlToObject(e,t){const n={},o=e.attributes.length,r=e.children.length,l="&children",i="#text",a=e.cloneNode(!0);let s=a.children.length;for(;s>0;)a.children[0].nodeType!==Node.TEXT_NODE&&a.removeChild(a.children[0]),s--;n[l]=[],n[i]=a.innerText;for(let t=0;t{function t(e,t){return Is.definedArray(e)?e:t}e.getAnyString=function(e,t){return"string"==typeof e?e:t},e.getString=function(e,t){return Is.definedString(e)?e:t},e.getBoolean=function(e,t){return Is.definedBoolean(e)?e:t},e.getNumber=function(e,t){return Is.definedNumber(e)?e:t},e.getFunction=function(e,t){return Is.definedFunction(e)?e:t},e.getArray=t,e.getObject=function(e,t){return Is.definedObject(e)?e:t},e.getNumberMinimum=function(e,t,n){return Is.definedNumber(e)?e>=n?e:n:t},e.getNumberMaximum=function(e,t,n){return Is.definedNumber(e)?e>n?n:e:t},e.getStringOrArray=function(e,n){let o=n;if(Is.definedString(e)){const t=e.toString().split(" ");0===t.length?e=n:o=t}else o=t(e,n);return o},e.getFunctionName=function(e,t){let n,o=!1;const r="()";return n=`${e.toString().split("(")[0].split(" ").join(" ")}${r}`,n.trim()===r&&(n=`${t.text.functionText}${r}`,o=!0),{name:n,isLambda:o}},e.getObjectFromUrl=function(e,t,n){const o=new XMLHttpRequest;o.open("GET",e,!0),o.send(),o.onreadystatechange=()=>{if(4===o.readyState&&200===o.status){const e=o.responseText,r=Convert2.jsonStringToObject(e,t);r.parsed&&n(r.object)}else n(null)}}})(Default||(Default={})),(e=>{function t(e,t,n="",o=null){const r=t.toLowerCase();let l="text"===r?document.createTextNode(""):document.createElement(r);return Is.defined(n)&&(l.className=n),Is.defined(e)&&(Is.defined(o)?e.insertBefore(l,o):e.appendChild(l)),l}function n(e,n,o,r,l=null){const i=t(e,n,o,l);return i.innerHTML=r,i}function o(){const e=document.documentElement;return{left:e.scrollLeft-(e.clientLeft||0),top:e.scrollTop-(e.clientTop||0)}}e.find=function(e,t){const n=e.length;for(let o=0;owindow.innerWidth?r-=t.offsetWidth+n:(r++,r+=n),l+t.offsetHeight>window.innerHeight?l-=t.offsetHeight+n:(l++,l+=n),r{function t(e){return e.getDay()-1<0?6:e.getDay()-1}function n(e,t){let n=e.text.thText;return 31===t||21===t||1===t?n=e.text.stText:22===t||2===t?n=e.text.ndText:23!==t&&3!==t||(n=e.text.rdText),n}e.getWeekdayNumber=t,e.getDayOrdinal=n,e.getCustomFormattedDateText=function(e,o,r){let l=r;const i=t(o);return l=l.replace("{hh}",Str.padNumber(o.getHours(),2)),l=l.replace("{h}",o.getHours().toString()),l=l.replace("{MM}",Str.padNumber(o.getMinutes(),2)),l=l.replace("{M}",o.getMinutes().toString()),l=l.replace("{ss}",Str.padNumber(o.getSeconds(),2)),l=l.replace("{s}",o.getSeconds().toString()),l=l.replace("{fff}",Str.padNumber(o.getMilliseconds(),3)),l=l.replace("{ff}",Str.padNumber(o.getMilliseconds(),2)),l=l.replace("{f}",o.getMilliseconds().toString()),l=l.replace("{dddd}",e.text.dayNames[i]),l=l.replace("{ddd}",e.text.dayNamesAbbreviated[i]),l=l.replace("{dd}",Str.padNumber(o.getDate())),l=l.replace("{d}",o.getDate().toString()),l=l.replace("{o}",n(e,o.getDate())),l=l.replace("{mmmm}",e.text.monthNames[o.getMonth()]),l=l.replace("{mmm}",e.text.monthNamesAbbreviated[o.getMonth()]),l=l.replace("{mm}",Str.padNumber(o.getMonth()+1)),l=l.replace("{m}",(o.getMonth()+1).toString()),l=l.replace("{yyyy}",o.getFullYear().toString()),l=l.replace("{yyy}",o.getFullYear().toString().substring(1)),l=l.replace("{yy}",o.getFullYear().toString().substring(2)),l=l.replace("{y}",Number.parseInt(o.getFullYear().toString().substring(2)).toString()),l}})(DateTime||(DateTime={})),Constants2=Constants||(Constants={}),Constants2.JSONTREE_JS_ATTRIBUTE_NAME="data-jsontree-js",Constants2.JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME="data-jsontree-js-array-index",Constants2.JSONTREE_JS_ATTRIBUTE_PATH_NAME="data-jsontree-js-path",(e=>{let t;var n;(n=t=e.Options||(e.Options={})).getForNewInstance=function(t,n){const o=e.Options.get(t),r=o.allowEditing;o._currentView={},o._currentView.element=n,o._currentView.dataArrayCurrentIndex=(o.paging.startPage-1)*o.paging.columnsPerPage,o._currentView.titleBarButtons=null,o._currentView.valueClickTimerId=0,o._currentView.editMode=!1,o._currentView.idSet=!1,o._currentView.contentPanelsOpen={},o._currentView.contentPanelsIndex=0,o._currentView.contentPanelsDataIndex=0,o._currentView.backButton=null,o._currentView.nextButton=null,o._currentView.disabledBackground=null,o._currentView.sideMenu=null,o._currentView.sideMenuChanged=!1,o._currentView.toggleFullScreenButton=null,o._currentView.fullScreenOn=!1,o._currentView.dragAndDropBackground=null,o._currentView.initialized=!1,o._currentView.contentColumns=[],o._currentView.footer=null,o._currentView.footerStatusText=null,o._currentView.footerDataTypeText=null,o._currentView.footerLengthText=null,o._currentView.footerSizeText=null,o._currentView.footerPageText=null,o._currentView.footerStatusTextTimerId=0,o._currentView.columnDragging=!1,o._currentView.columnDraggingDataIndex=0,o._currentView.dataTypeCounts={},o._currentView.contentControlButtons=[],o.paging.enabled&&Is.definedArray(o.data)&&o.data.length>1&&o._currentView.dataArrayCurrentIndex>o.data.length-1&&(o._currentView.dataArrayCurrentIndex=0);for(const e in r)if(!r[e]){o.allowEditing.bulk=!1;break}return o},n.get=function(e){let t=Default.getObject(e,{});return t.showObjectSizes=Default.getBoolean(t.showObjectSizes,!0),t.useZeroIndexingForArrays=Default.getBoolean(t.useZeroIndexingForArrays,!0),t.dateTimeFormat=Default.getString(t.dateTimeFormat,"{dd}{o} {mmmm} {yyyy} {hh}:{MM}:{ss}"),t.showArrowToggles=Default.getBoolean(t.showArrowToggles,!0),t.showStringQuotes=Default.getBoolean(t.showStringQuotes,!0),t.showAllAsClosed=Default.getBoolean(t.showAllAsClosed,!1),t.sortPropertyNames=Default.getBoolean(t.sortPropertyNames,!0),t.sortPropertyNamesInAlphabeticalOrder=Default.getBoolean(t.sortPropertyNamesInAlphabeticalOrder,!0),t.showCommas=Default.getBoolean(t.showCommas,!0),t.reverseArrayValues=Default.getBoolean(t.reverseArrayValues,!1),t.addArrayIndexPadding=Default.getBoolean(t.addArrayIndexPadding,!1),t.showValueColors=Default.getBoolean(t.showValueColors,!0),t.maximumDecimalPlaces=Default.getNumber(t.maximumDecimalPlaces,2),t.maximumStringLength=Default.getNumber(t.maximumStringLength,0),t.fileDroppingEnabled=Default.getBoolean(t.fileDroppingEnabled,!0),t.jsonIndentSpaces=Default.getNumber(t.jsonIndentSpaces,8),t.showArrayIndexBrackets=Default.getBoolean(t.showArrayIndexBrackets,!0),t.showOpeningClosingCurlyBraces=Default.getBoolean(t.showOpeningClosingCurlyBraces,!1),t.showOpeningClosingSquaredBrackets=Default.getBoolean(t.showOpeningClosingSquaredBrackets,!1),t.includeTimeZoneInDateTimeEditing=Default.getBoolean(t.includeTimeZoneInDateTimeEditing,!0),t.shortcutKeysEnabled=Default.getBoolean(t.shortcutKeysEnabled,!0),t.openInFullScreenMode=Default.getBoolean(t.openInFullScreenMode,!1),t.valueToolTips=Default.getObject(t.valueToolTips,null),t.editingValueClickDelay=Default.getNumber(t.editingValueClickDelay,500),t.showDataTypes=Default.getBoolean(t.showDataTypes,!1),t.logJsonValueToolTipPaths=Default.getBoolean(t.logJsonValueToolTipPaths,!1),t.exportFilenameFormat=Default.getString(t.exportFilenameFormat,"JsonTree_{dd}-{mm}-{yyyy}_{hh}-{MM}-{ss}.json"),t.showPropertyNameQuotes=Default.getBoolean(t.showPropertyNameQuotes,!0),t.showOpenedObjectArrayBorders=Default.getBoolean(t.showOpenedObjectArrayBorders,!0),t.showPropertyNameAndIndexColors=Default.getBoolean(t.showPropertyNameAndIndexColors,!0),t.showUrlOpenButtons=Default.getBoolean(t.showUrlOpenButtons,!0),t.showEmailOpenButtons=Default.getBoolean(t.showEmailOpenButtons,!0),t.minimumArrayIndexPadding=Default.getNumber(t.minimumArrayIndexPadding,0),t.arrayIndexPaddingCharacter=Default.getString(t.arrayIndexPaddingCharacter,"0"),t.maximumUrlLength=Default.getNumber(t.maximumUrlLength,0),t.maximumEmailLength=Default.getNumber(t.maximumEmailLength,0),t.showCssStylesForHtmlObjects=Default.getBoolean(t.showCssStylesForHtmlObjects,!1),t.jsonPathAny=Default.getString(t.jsonPathAny,".."),t.jsonPathSeparator=Default.getString(t.jsonPathSeparator,"\\"),t.showChildIndexes=Default.getBoolean(t.showChildIndexes,!0),t=function(e){return e.paging=Default.getObject(e.paging,{}),e.paging.enabled=Default.getBoolean(e.paging.enabled,!0),e.paging.columnsPerPage=Default.getNumberMaximum(e.paging.columnsPerPage,1,6),e.paging.startPage=Default.getNumberMinimum(e.paging.startPage,1,1),e.paging.synchronizeScrolling=Default.getBoolean(e.paging.synchronizeScrolling,!1),e.paging.allowColumnReordering=Default.getBoolean(e.paging.allowColumnReordering,!0),e}(t),t=function(e){return e.title=Default.getObject(e.title,{}),e.title.text=Default.getAnyString(e.title.text,"JsonTree.js"),e.title.showCloseOpenAllButtons=Default.getBoolean(e.title.showCloseOpenAllButtons,!0),e.title.showCopyButton=Default.getBoolean(e.title.showCopyButton,!0),e.title.enableFullScreenToggling=Default.getBoolean(e.title.enableFullScreenToggling,!0),e.title.showFullScreenButton=Default.getBoolean(e.title.showFullScreenButton,!0),e}(t),t=function(e){return e.footer=Default.getObject(e.footer,{}),e.footer.enabled=Default.getBoolean(e.footer.enabled,!0),e.footer.showDataTypes=Default.getBoolean(e.footer.showDataTypes,!0),e.footer.showLengths=Default.getBoolean(e.footer.showLengths,!0),e.footer.showSizes=Default.getBoolean(e.footer.showSizes,!0),e.footer.showPageOf=Default.getBoolean(e.footer.showPageOf,!0),e.footer.statusResetDelay=Default.getNumber(e.footer.statusResetDelay,5e3),e}(t),t=function(e){return e.controlPanel=Default.getObject(e.controlPanel,{}),e.controlPanel.enabled=Default.getBoolean(e.controlPanel.enabled,!0),e.controlPanel.showCopyButton=Default.getBoolean(e.controlPanel.showCopyButton,!0),e.controlPanel.showMovingButtons=Default.getBoolean(e.controlPanel.showMovingButtons,!0),e.controlPanel.showRemoveButton=Default.getBoolean(e.controlPanel.showRemoveButton,!1),e.controlPanel.showEditButton=Default.getBoolean(e.controlPanel.showEditButton,!0),e.controlPanel.showCloseOpenAllButtons=Default.getBoolean(e.controlPanel.showCloseOpenAllButtons,!0),e.controlPanel.showSwitchToPagesButton=Default.getBoolean(e.controlPanel.showSwitchToPagesButton,!0),e}(t),t=function(e){return e.ignore=Default.getObject(e.ignore,{}),e.ignore.nullValues=Default.getBoolean(e.ignore.nullValues,!1),e.ignore.functionValues=Default.getBoolean(e.ignore.functionValues,!1),e.ignore.unknownValues=Default.getBoolean(e.ignore.unknownValues,!1),e.ignore.booleanValues=Default.getBoolean(e.ignore.booleanValues,!1),e.ignore.floatValues=Default.getBoolean(e.ignore.floatValues,!1),e.ignore.numberValues=Default.getBoolean(e.ignore.numberValues,!1),e.ignore.stringValues=Default.getBoolean(e.ignore.stringValues,!1),e.ignore.dateValues=Default.getBoolean(e.ignore.dateValues,!1),e.ignore.objectValues=Default.getBoolean(e.ignore.objectValues,!1),e.ignore.arrayValues=Default.getBoolean(e.ignore.arrayValues,!1),e.ignore.bigintValues=Default.getBoolean(e.ignore.bigintValues,!1),e.ignore.symbolValues=Default.getBoolean(e.ignore.symbolValues,!1),e.ignore.emptyObjects=Default.getBoolean(e.ignore.emptyObjects,!1),e.ignore.undefinedValues=Default.getBoolean(e.ignore.undefinedValues,!1),e.ignore.guidValues=Default.getBoolean(e.ignore.guidValues,!1),e.ignore.colorValues=Default.getBoolean(e.ignore.colorValues,!1),e.ignore.regexpValues=Default.getBoolean(e.ignore.regexpValues,!1),e.ignore.mapValues=Default.getBoolean(e.ignore.mapValues,!1),e.ignore.setValues=Default.getBoolean(e.ignore.setValues,!1),e.ignore.urlValues=Default.getBoolean(e.ignore.urlValues,!1),e.ignore.imageValues=Default.getBoolean(e.ignore.imageValues,!1),e.ignore.emailValues=Default.getBoolean(e.ignore.emailValues,!1),e.ignore.htmlValues=Default.getBoolean(e.ignore.htmlValues,!1),e.ignore.lambdaValues=Default.getBoolean(e.ignore.lambdaValues,!1),e}(t),t=function(e){return e.tooltip=Default.getObject(e.tooltip,{}),e.tooltip.delay=Default.getNumber(e.tooltip.delay,750),e.tooltip.offset=Default.getNumber(e.tooltip.offset,0),e}(t),t=function(e){return e.parse=Default.getObject(e.parse,{}),e.parse.stringsToDates=Default.getBoolean(e.parse.stringsToDates,!1),e.parse.stringsToBooleans=Default.getBoolean(e.parse.stringsToBooleans,!1),e.parse.stringsToNumbers=Default.getBoolean(e.parse.stringsToNumbers,!1),e}(t),t=function(e){let t=Default.getBoolean(e.allowEditing,!0);return e.allowEditing=Default.getObject(e.allowEditing,{}),e.allowEditing.booleanValues=Default.getBoolean(e.allowEditing.booleanValues,t),e.allowEditing.floatValues=Default.getBoolean(e.allowEditing.floatValues,t),e.allowEditing.numberValues=Default.getBoolean(e.allowEditing.numberValues,t),e.allowEditing.stringValues=Default.getBoolean(e.allowEditing.stringValues,t),e.allowEditing.dateValues=Default.getBoolean(e.allowEditing.dateValues,t),e.allowEditing.bigIntValues=Default.getBoolean(e.allowEditing.bigIntValues,t),e.allowEditing.guidValues=Default.getBoolean(e.allowEditing.guidValues,t),e.allowEditing.colorValues=Default.getBoolean(e.allowEditing.colorValues,t),e.allowEditing.urlValues=Default.getBoolean(e.allowEditing.urlValues,t),e.allowEditing.emailValues=Default.getBoolean(e.allowEditing.emailValues,t),e.allowEditing.regExpValues=Default.getBoolean(e.allowEditing.regExpValues,t),e.allowEditing.symbolValues=Default.getBoolean(e.allowEditing.symbolValues,t),e.allowEditing.imageValues=Default.getBoolean(e.allowEditing.imageValues,t),e.allowEditing.propertyNames=Default.getBoolean(e.allowEditing.propertyNames,t),e.allowEditing.bulk=Default.getBoolean(e.allowEditing.bulk,t),e}(t),t=function(e){return e.sideMenu=Default.getObject(e.sideMenu,{}),e.sideMenu.enabled=Default.getBoolean(e.sideMenu.enabled,!0),e.sideMenu.showImportButton=Default.getBoolean(e.sideMenu.showImportButton,!0),e.sideMenu.showExportButton=Default.getBoolean(e.sideMenu.showExportButton,!0),e.sideMenu.titleText=Default.getAnyString(e.sideMenu.titleText,e.title.text),e.sideMenu.showAvailableDataTypeCounts=Default.getBoolean(e.sideMenu.showAvailableDataTypeCounts,!0),e.sideMenu.showOnlyDataTypesAvailable=Default.getBoolean(e.sideMenu.showOnlyDataTypesAvailable,!1),e}(t),t=function(e){return e.autoClose=Default.getObject(e.autoClose,{}),e.autoClose.objectSize=Default.getNumber(e.autoClose.objectSize,0),e.autoClose.arraySize=Default.getNumber(e.autoClose.arraySize,0),e.autoClose.mapSize=Default.getNumber(e.autoClose.mapSize,0),e.autoClose.setSize=Default.getNumber(e.autoClose.setSize,0),e.autoClose.htmlSize=Default.getNumber(e.autoClose.htmlSize,0),e}(t),t=function(e){return e.events=Default.getObject(e.events,{}),e.events.onBeforeRender=Default.getFunction(e.events.onBeforeRender,null),e.events.onRenderComplete=Default.getFunction(e.events.onRenderComplete,null),e.events.onValueClick=Default.getFunction(e.events.onValueClick,null),e.events.onRefresh=Default.getFunction(e.events.onRefresh,null),e.events.onCopyAll=Default.getFunction(e.events.onCopyAll,null),e.events.onOpenAll=Default.getFunction(e.events.onOpenAll,null),e.events.onCloseAll=Default.getFunction(e.events.onCloseAll,null),e.events.onDestroy=Default.getFunction(e.events.onDestroy,null),e.events.onBooleanRender=Default.getFunction(e.events.onBooleanRender,null),e.events.onFloatRender=Default.getFunction(e.events.onFloatRender,null),e.events.onNumberRender=Default.getFunction(e.events.onNumberRender,null),e.events.onBigIntRender=Default.getFunction(e.events.onBigIntRender,null),e.events.onStringRender=Default.getFunction(e.events.onStringRender,null),e.events.onDateRender=Default.getFunction(e.events.onDateRender,null),e.events.onFunctionRender=Default.getFunction(e.events.onFunctionRender,null),e.events.onNullRender=Default.getFunction(e.events.onNullRender,null),e.events.onUnknownRender=Default.getFunction(e.events.onUnknownRender,null),e.events.onSymbolRender=Default.getFunction(e.events.onSymbolRender,null),e.events.onCopyJsonReplacer=Default.getFunction(e.events.onCopyJsonReplacer,null),e.events.onUndefinedRender=Default.getFunction(e.events.onUndefinedRender,null),e.events.onGuidRender=Default.getFunction(e.events.onGuidRender,null),e.events.onColorRender=Default.getFunction(e.events.onColorRender,null),e.events.onJsonEdit=Default.getFunction(e.events.onJsonEdit,null),e.events.onRegExpRender=Default.getFunction(e.events.onRegExpRender,null),e.events.onExport=Default.getFunction(e.events.onExport,null),e.events.onUrlRender=Default.getFunction(e.events.onUrlRender,null),e.events.onImageRender=Default.getFunction(e.events.onImageRender,null),e.events.onEmailRender=Default.getFunction(e.events.onEmailRender,null),e.events.onLambdaRender=Default.getFunction(e.events.onLambdaRender,null),e.events.onCopy=Default.getFunction(e.events.onCopy,null),e.events.onFullScreenChange=Default.getFunction(e.events.onFullScreenChange,null),e}(t),t}})(Binding||(Binding={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e=null){let t=Default.getObject(e,{});return t.safeMode=Default.getBoolean(t.safeMode,!0),t.domElementTypes=Default.getStringOrArray(t.domElementTypes,["*"]),t=function(e){return e.text=Default.getObject(e.text,{}),e.text.objectText=Default.getAnyString(e.text.objectText,"object"),e.text.arrayText=Default.getAnyString(e.text.arrayText,"array"),e.text.mapText=Default.getAnyString(e.text.mapText,"map"),e.text.setText=Default.getAnyString(e.text.setText,"set"),e.text.htmlText=Default.getAnyString(e.text.htmlText,"html"),e.text.closeAllButtonText=Default.getAnyString(e.text.closeAllButtonText,"Close All"),e.text.openAllButtonText=Default.getAnyString(e.text.openAllButtonText,"Open All"),e.text.copyAllButtonText=Default.getAnyString(e.text.copyAllButtonText,"Copy All"),e.text.objectErrorText=Default.getAnyString(e.text.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}"),e.text.attributeNotValidErrorText=Default.getAnyString(e.text.attributeNotValidErrorText,"The attribute '{{attribute_name}}' is not a valid object."),e.text.attributeNotSetErrorText=Default.getAnyString(e.text.attributeNotSetErrorText,"The attribute '{{attribute_name}}' has not been set correctly."),e.text.stText=Default.getAnyString(e.text.stText,"st"),e.text.ndText=Default.getAnyString(e.text.ndText,"nd"),e.text.rdText=Default.getAnyString(e.text.rdText,"rd"),e.text.thText=Default.getAnyString(e.text.thText,"th"),e.text.ellipsisText=Default.getAnyString(e.text.ellipsisText,"..."),e.text.closeAllButtonSymbolText=Default.getAnyString(e.text.closeAllButtonSymbolText,"⇈"),e.text.openAllButtonSymbolText=Default.getAnyString(e.text.openAllButtonSymbolText,"⇊"),e.text.copyButtonSymbolText=Default.getAnyString(e.text.copyButtonSymbolText,"❐"),e.text.backButtonText=Default.getAnyString(e.text.backButtonText,"Back"),e.text.nextButtonText=Default.getAnyString(e.text.nextButtonText,"Next"),e.text.backButtonSymbolText=Default.getAnyString(e.text.backButtonSymbolText,"←"),e.text.nextButtonSymbolText=Default.getAnyString(e.text.nextButtonSymbolText,"→"),e.text.noJsonToViewText=Default.getAnyString(e.text.noJsonToViewText,"There is currently no JSON to view."),e.text.functionText=Default.getAnyString(e.text.functionText,"function"),e.text.sideMenuButtonSymbolText=Default.getAnyString(e.text.sideMenuButtonSymbolText,"☰"),e.text.sideMenuButtonText=Default.getAnyString(e.text.sideMenuButtonText,"Show Menu"),e.text.closeButtonSymbolText=Default.getAnyString(e.text.closeButtonSymbolText,"✕"),e.text.closeButtonText=Default.getAnyString(e.text.closeButtonText,"Close"),e.text.showDataTypesText=Default.getAnyString(e.text.showDataTypesText,"Show Data Types"),e.text.selectAllText=Default.getAnyString(e.text.selectAllText,"Select All"),e.text.selectNoneText=Default.getAnyString(e.text.selectNoneText,"Select None"),e.text.importButtonSymbolText=Default.getAnyString(e.text.importButtonSymbolText,"↑"),e.text.importButtonText=Default.getAnyString(e.text.importButtonText,"Import"),e.text.fullScreenOnButtonSymbolText=Default.getAnyString(e.text.fullScreenOnButtonSymbolText,"↗"),e.text.fullScreenOffButtonSymbolText=Default.getAnyString(e.text.fullScreenOffButtonSymbolText,"↙"),e.text.fullScreenButtonText=Default.getAnyString(e.text.fullScreenButtonText,"Toggle Full-Screen"),e.text.copyButtonText=Default.getAnyString(e.text.copyButtonText,"Copy"),e.text.dragAndDropSymbolText=Default.getAnyString(e.text.dragAndDropSymbolText,"⇪"),e.text.dragAndDropTitleText=Default.getAnyString(e.text.dragAndDropTitleText,"Drag and drop your JSON files to upload"),e.text.dragAndDropDescriptionText=Default.getAnyString(e.text.dragAndDropDescriptionText,"Multiple files will be joined as an array"),e.text.exportButtonSymbolText=Default.getAnyString(e.text.exportButtonSymbolText,"↓"),e.text.exportButtonText=Default.getAnyString(e.text.exportButtonText,"Export"),e.text.propertyColonCharacter=Default.getAnyString(e.text.propertyColonCharacter,":"),e.text.noPropertiesText=Default.getAnyString(e.text.noPropertiesText,"There are no properties to view."),e.text.openText=Default.getAnyString(e.text.openText,"open"),e.text.openSymbolText=Default.getAnyString(e.text.openSymbolText,"⤤"),e.text.waitingText=Default.getAnyString(e.text.waitingText,"Waiting..."),e.text.pageOfText=Default.getAnyString(e.text.pageOfText,"Page {0} of {1}"),e.text.sizeText=Default.getAnyString(e.text.sizeText,"Size: {0}"),e.text.copiedText=Default.getAnyString(e.text.copiedText,"JSON copied to clipboard."),e.text.exportedText=Default.getAnyString(e.text.exportedText,"JSON exported."),e.text.importedText=Default.getAnyString(e.text.importedText,"{0} JSON files imported."),e.text.ignoreDataTypesUpdated=Default.getAnyString(e.text.ignoreDataTypesUpdated,"Ignore data types updated."),e.text.lengthText=Default.getAnyString(e.text.lengthText,"Length: {0}"),e.text.valueUpdatedText=Default.getAnyString(e.text.valueUpdatedText,"Value updated."),e.text.jsonUpdatedText=Default.getAnyString(e.text.jsonUpdatedText,"JSON updated."),e.text.nameUpdatedText=Default.getAnyString(e.text.nameUpdatedText,"Property name updated."),e.text.indexUpdatedText=Default.getAnyString(e.text.indexUpdatedText,"Array index updated."),e.text.itemDeletedText=Default.getAnyString(e.text.itemDeletedText,"Item deleted."),e.text.arrayJsonItemDeleted=Default.getAnyString(e.text.arrayJsonItemDeleted,"Array JSON item deleted."),e.text.dataTypeText=Default.getAnyString(e.text.dataTypeText,"Data Type: {0}"),e.text.editSymbolButtonText=Default.getAnyString(e.text.editSymbolButtonText,"✎"),e.text.editButtonText=Default.getAnyString(e.text.editButtonText,"Edit"),e.text.moveRightSymbolButtonText=Default.getAnyString(e.text.moveRightSymbolButtonText,"→"),e.text.moveRightButtonText=Default.getAnyString(e.text.moveRightButtonText,"Move Right"),e.text.moveLeftSymbolButtonText=Default.getAnyString(e.text.moveLeftSymbolButtonText,"←"),e.text.moveLeftButtonText=Default.getAnyString(e.text.moveLeftButtonText,"Move Left"),e.text.removeSymbolButtonText=Default.getAnyString(e.text.removeSymbolButtonText,"✕"),e.text.removeButtonText=Default.getAnyString(e.text.removeButtonText,"Remove"),e.text.switchToPagesSymbolText=Default.getAnyString(e.text.switchToPagesSymbolText,"☷"),e.text.switchToPagesText=Default.getAnyString(e.text.switchToPagesText,"Switch To Pages"),Is.invalidOptionArray(e.text.dayNames,7)&&(e.text.dayNames=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]),Is.invalidOptionArray(e.text.dayNamesAbbreviated,7)&&(e.text.dayNamesAbbreviated=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]),Is.invalidOptionArray(e.text.monthNames,12)&&(e.text.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"]),Is.invalidOptionArray(e.text.monthNamesAbbreviated,12)&&(e.text.monthNamesAbbreviated=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e}(t),t}})(Config||(Config={})),(Trigger||(Trigger={})).customEvent=function(e,...t){let n=null;return Is.definedFunction(e)&&(n=e.apply(null,[].slice.call(t,0))),n},(e=>{function t(e,t=!0){let n=t?window.addEventListener:window.removeEventListener,r=t?document.addEventListener:document.removeEventListener;n("mousemove",(()=>o(e))),r("scroll",(()=>o(e)))}function n(e,t,n,r){DomElement.cancelBubble(e),o(t),t._currentView.tooltipTimerId=setTimeout((()=>{t._currentView.tooltip.className=r,t._currentView.tooltip.innerHTML=n,t._currentView.tooltip.style.display="block",DomElement.showElementAtMousePosition(e,t._currentView.tooltip,t.tooltip.offset)}),t.tooltip.delay)}function o(e){Is.defined(e._currentView.tooltip)&&(0!==e._currentView.tooltipTimerId&&(clearTimeout(e._currentView.tooltipTimerId),e._currentView.tooltipTimerId=0),"none"!==e._currentView.tooltip.style.display&&(e._currentView.tooltip.style.display="none"))}e.renderControl=function(e){Is.defined(e._currentView.tooltip)||(e._currentView.tooltip=DomElement.create(document.body,"div","jsontree-js-tooltip"),e._currentView.tooltip.style.display="none",t(e))},e.assignToEvents=t,e.add=function(e,t,o,r="jsontree-js-tooltip"){null!==e&&e.addEventListener("mousemove",(e=>n(e,t,o,r)))},e.show=n,e.hide=o,e.remove=function(e){Is.defined(e._currentView.tooltip)&&e._currentView.tooltip.parentNode.removeChild(e._currentView.tooltip)}})(ToolTip||(ToolTip={})),Arr2=Arr||(Arr={}),Arr2.getIndex=function(e,t){return t.useZeroIndexingForArrays?e:e+1},Arr2.getIndexName=function(e,t,n){let o=t.toString();if(e.addArrayIndexPadding){let t=n.toString().length;te.length-1&&(n=e.length-1),e.splice(n,0,e.splice(t,1)[0])},(e=>{function t(e){let n=0;if(Is.defined(e))if(Is.definedNumber(e))n=8;else if(Is.definedString(e))n=2*e.length;else if(Is.definedBoolean(e))n=4;else if(Is.definedBigInt(e))n=t(e.toString());else if(Is.definedRegExp(e))n=t(e.toString());else if(Is.definedDate(e))n=t(e.toString());else if(Is.definedSet(e))n=t(Convert2.setToArray(e));else if(Is.definedMap(e))n=t(Convert2.mapToObject(e));else if(Is.definedHtml(e))n=t(Convert2.htmlToObject(e));else if(Is.definedArray(e)){const o=e.length;for(let r=0;r0){const e=Math.floor(Math.log(n)/Math.log(1024));return`${Convert2.numberToFloatWithDecimalPlaces(n/Math.pow(1024,e),2)} ${" KMGTP".charAt(e)}B`}return null},e.length=function(t){let n=0;if(Is.defined(t))if(Is.definedDate(t))n=t.toString().length;else if(Is.definedImage(t))n=t.src.length;else if(Is.definedRegExp(t))n=t.source.length;else if(Is.definedSet(t))n=e.length(Convert2.setToArray(t));else if(Is.definedMap(t))n=e.length(Convert2.mapToObject(t));else if(Is.definedHtml(t))n=e.length(Convert2.htmlToObject(t));else if(Is.definedArray(t))n=t.length;else if(Is.definedObject(t))for(const e in t)t.hasOwnProperty(e)&&n++;else Is.definedFunction(t)||Is.definedSymbol(t)||(n=t.toString().length);return n}})(Size||(Size={})),(Obj||(Obj={})).getPropertyNames=function(e,t){let n=[];for(const t in e)e.hasOwnProperty(t)&&n.push(t);if(t.sortPropertyNames){let e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});n=n.sort(e.compare),t.sortPropertyNamesInAlphabeticalOrder||(n=n.reverse())}return n},(()=>{let e={},t={},n=0,o=(t,n)=>Convert2.stringifyJson(t,n,e);function r(){DomElement.find(e.domElementTypes,(t=>{let n=!0;if(Is.defined(t)&&t.hasAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME)){const o=t.getAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME);if(Is.definedString(o)){const r=Convert2.jsonStringToObject(o,e);r.parsed&&Is.definedObject(r.object)?l(Binding.Options.getForNewInstance(r.object,t)):e.safeMode||(console.error(e.text.attributeNotValidErrorText.replace("{{attribute_name}}",Constants.JSONTREE_JS_ATTRIBUTE_NAME)),n=!1)}else e.safeMode||(console.error(e.text.attributeNotSetErrorText.replace("{{attribute_name}}",Constants.JSONTREE_JS_ATTRIBUTE_NAME)),n=!1)}return n}))}function l(e){Trigger.customEvent(e.events.onBeforeRender,e._currentView.element),ToolTip.renderControl(e),Is.definedString(e._currentView.element.id)||(e._currentView.element.id=crypto.randomUUID(),e._currentView.idSet=!0),e._currentView.element.className="json-tree-js",e._currentView.element.removeAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME),e.openInFullScreenMode&&(e._currentView.element.classList.add("full-screen"),e._currentView.fullScreenOn=!0),t.hasOwnProperty(e._currentView.element.id)||(t[e._currentView.element.id]=e,n++),i(e),N(e),Trigger.customEvent(e.events.onRenderComplete,e._currentView.element)}function i(n,o=!1){let r=t[n._currentView.element.id].data;Is.definedUrl(r)?Default.getObjectFromUrl(r,e,(e=>{a(n,o,e)})):a(n,o,r)}function a(t,n,r){const l=function(e){const t=[];if(ToolTip.hide(e),e._currentView.editMode||e._currentView.sideMenuChanged){const n=e._currentView.contentColumns.length;for(let o=0;od(t)),t.sideMenu.enabled){const n=DomElement.createWithHTML(r,"button","side-menu",e.text.sideMenuButtonSymbolText);n.onclick=()=>function(e){e._currentView.sideMenu.classList.contains("side-menu-open")||(e._currentView.sideMenu.classList.add("side-menu-open"),e._currentView.disabledBackground.style.display="block",ToolTip.hide(e))}(t),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.sideMenuButtonText)}if(t._currentView.titleBarButtons=DomElement.create(r,"div","controls"),Is.definedString(t.title.text)&&DomElement.createWithHTML(r,"div","title",t.title.text,t._currentView.titleBarButtons),t.title.showCopyButton&&Is.defined(n)){const r=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","copy-all",e.text.copyButtonSymbolText);r.onclick=()=>function(t,n){let r=o;Is.definedFunction(t.events.onCopyJsonReplacer)&&(r=t.events.onCopyJsonReplacer);let l=JSON.stringify(n,r,t.jsonIndentSpaces);navigator.clipboard.writeText(l),D(t,e.text.copiedText),Trigger.customEvent(t.events.onCopyAll,t._currentView.element,l)}(t,n),r.ondblclick=DomElement.cancelBubble,ToolTip.add(r,t,e.text.copyAllButtonText)}if(t.title.showCloseOpenAllButtons&&Is.defined(n)){const n=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","open-all",e.text.openAllButtonSymbolText);n.onclick=()=>g(t),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.openAllButtonText);const o=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","close-all",e.text.closeAllButtonSymbolText);o.onclick=()=>m(t),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.closeAllButtonText)}if(t.paging.enabled&&Is.definedArray(n)&&n.length>1?(t._currentView.backButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","back",e.text.backButtonSymbolText),t._currentView.backButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.backButton,t,e.text.backButtonText),t._currentView.dataArrayCurrentIndex>0?t._currentView.backButton.onclick=()=>f(t):t._currentView.backButton.disabled=!0,t._currentView.nextButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","next",e.text.nextButtonSymbolText),t._currentView.nextButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.nextButton,t,e.text.nextButtonText),t._currentView.dataArrayCurrentIndex+(t.paging.columnsPerPage-1)p(t):t._currentView.nextButton.disabled=!0):Is.definedArray(n)&&(t.paging.enabled=!1),t.title.enableFullScreenToggling&&t.title.showFullScreenButton){const n=t._currentView.fullScreenOn?e.text.fullScreenOffButtonSymbolText:e.text.fullScreenOnButtonSymbolText;t._currentView.toggleFullScreenButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","toggle-full-screen",n),t._currentView.toggleFullScreenButton.onclick=()=>d(t),t._currentView.toggleFullScreenButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.toggleFullScreenButton,t,e.text.fullScreenButtonText)}}}(t,r);const i=DomElement.create(t._currentView.element,"div","contents");if(n&&i.classList.add("page-switch"),t.paging.enabled&&Is.definedArray(r)){const e=Is.defined(r[t._currentView.dataArrayCurrentIndex+1]);for(let n=0;nx(t),t._currentView.sideMenu=DomElement.create(t._currentView.element,"div","side-menu");const n=DomElement.create(t._currentView.sideMenu,"div","side-menu-title-bar");if(Is.definedString(t.sideMenu.titleText)){DomElement.create(n,"div","side-menu-title-bar-text").innerHTML=t.sideMenu.titleText}const r=DomElement.create(n,"div","side-menu-title-controls");if(t.sideMenu.showExportButton&&Is.definedObject(t.data)){const n=DomElement.createWithHTML(r,"button","export",e.text.exportButtonSymbolText);n.onclick=()=>function(t){let n=JSON.stringify(t.data,o,t.jsonIndentSpaces);if(Is.definedString(n)){const o=DomElement.create(document.body,"a");o.style.display="none",o.setAttribute("target","_blank"),o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(n)}`),o.setAttribute("download",function(t){const n=new Date,o=DateTime.getCustomFormattedDateText(e,n,t.exportFilenameFormat);return o}(t)),o.click(),document.body.removeChild(o),x(t),D(t,e.text.exportedText),Trigger.customEvent(t.events.onExport,t._currentView.element)}}(t),ToolTip.add(n,t,e.text.exportButtonText)}if(t.sideMenu.showImportButton){const n=DomElement.createWithHTML(r,"button","import",e.text.importButtonSymbolText);n.onclick=()=>T(t),ToolTip.add(n,t,e.text.importButtonText)}const l=DomElement.createWithHTML(r,"button","close",e.text.closeButtonSymbolText);if(l.onclick=()=>x(t),ToolTip.add(l,t,e.text.closeButtonText),Is.definedObject(t.data)){!function(t,n){const o=[],r=DomElement.create(t,"div","settings-panel"),l=DomElement.create(r,"div","settings-panel-title-bar");DomElement.createWithHTML(l,"div","settings-panel-title-text",`${e.text.showDataTypesText}:`);const i=DomElement.create(l,"div","settings-panel-control-buttons"),a=DomElement.create(i,"div","settings-panel-control-button settings-panel-fill"),s=DomElement.create(i,"div","settings-panel-control-button");a.onclick=()=>b(n,o,!0),s.onclick=()=>b(n,o,!1),ToolTip.add(a,n,e.text.selectAllText),ToolTip.add(s,n,e.text.selectNoneText);const u=DomElement.create(r,"div","settings-panel-contents"),c=Object.keys(DataType),d=n.ignore;c.sort(),c.forEach(((e,t)=>{const r=function(e,t,n,o){let r=null;const l=n._currentView.dataTypeCounts[t];if(!n.sideMenu.showOnlyDataTypesAvailable||l>0){let i=Str.capitalizeFirstLetter(t),a="";n.sideMenu.showAvailableDataTypeCounts&&n._currentView.dataTypeCounts.hasOwnProperty(t)&&(a=`(${l})`),r=DomElement.createCheckBox(e,i,t,o,n.showValueColors?t:"",a),r.onchange=()=>{const e=n.ignore;e[`${t}Values`]=!r.checked,n.ignore=e,n._currentView.sideMenuChanged=!0}}return r}(u,e,n,!d[`${e}Values`]);Is.defined(r)&&o.push(r)}))}(DomElement.create(t._currentView.sideMenu,"div","side-menu-contents"),t)}}}(t),function(t){t.footer.enabled&&Is.defined(t.data)&&(t._currentView.footer=DomElement.create(t._currentView.element,"div","footer-bar"),w(t),t._currentView.footerStatusText=DomElement.createWithHTML(t._currentView.footer,"div","status-text",e.text.waitingText),t.footer.showDataTypes&&(t._currentView.footerDataTypeText=DomElement.create(t._currentView.footer,"div","status-value-data-type"),t._currentView.footerDataTypeText.style.display="none"),t.footer.showLengths&&(t._currentView.footerLengthText=DomElement.create(t._currentView.footer,"div","status-value-length"),t._currentView.footerLengthText.style.display="none"),t.footer.showSizes&&(t._currentView.footerSizeText=DomElement.create(t._currentView.footer,"div","status-value-size"),t._currentView.footerSizeText.style.display="none"),t.paging.enabled&&Is.definedArray(t.data)&&t.data.length>1&&t.footer.showPageOf&&(t._currentView.footerPageText=DomElement.create(t._currentView.footer,"div","status-page-index"),function(t){if(t.paging.enabled){const n=Math.ceil((t._currentView.dataArrayCurrentIndex+1)/t.paging.columnsPerPage),o=Math.ceil(t.data.length/t.paging.columnsPerPage),r=DomElement.createWithHTML(null,"span","status-count",n.toFixed()).outerHTML,l=DomElement.createWithHTML(null,"span","status-count",o.toFixed()).outerHTML,i=e.text.pageOfText.replace("{0}",r).replace("{1}",l);t._currentView.footerPageText.innerHTML=i}}(t)))}(t),function(t){if(t.fileDroppingEnabled){const n=DomElement.create(t._currentView.element,"div","drag-and-drop-background"),o=DomElement.create(n,"div","notice-text");DomElement.createWithHTML(o,"p","notice-text-symbol",e.text.dragAndDropSymbolText),DomElement.createWithHTML(o,"p","notice-text-title",e.text.dragAndDropTitleText),DomElement.createWithHTML(o,"p","notice-text-description",e.text.dragAndDropDescriptionText),t._currentView.dragAndDropBackground=n,t._currentView.element.ondragover=()=>L(t,n),t._currentView.element.ondragenter=()=>L(t,n),n.ondragover=DomElement.cancelBubble,n.ondragenter=DomElement.cancelBubble,n.ondragleave=()=>n.style.display="none",n.ondrop=e=>function(e,t){DomElement.cancelBubble(e),t._currentView.dragAndDropBackground.style.display="none",Is.defined(window.FileReader)&&e.dataTransfer.files.length>0&&j(e.dataTransfer.files,t)}(e,t)}}(t),t._currentView.initialized=!0}function s(t,n,r,l,a,s,d){const g=DomElement.create(n,"div",s>1?"contents-column-multiple":"contents-column");if(Is.defined(t))g.onscroll=()=>function(e,t,n){ToolTip.hide(t);const o=e.scrollTop,r=e.scrollLeft,l=t._currentView.contentColumns.length;if(t.controlPanel.enabled){const e=t._currentView.contentControlButtons[n];Is.defined(e)&&(e.style.top=`${t._currentView.contentColumns[n].scrollTop}px`,e.style.right=`-${t._currentView.contentColumns[n].scrollLeft}px`)}if(t.paging.synchronizeScrolling)for(let e=0;e1&&r.allowEditing.bulk&&(g.setAttribute("draggable","true"),g.ondragstart=()=>function(e,t,n){t._currentView.columnDragging=!0,t._currentView.columnDraggingDataIndex=n,e.classList.add("draggable-item")}(g,r,l),g.ondragend=()=>function(e,t){t._currentView.columnDragging=!1,e.classList.remove("draggable-item")}(g,r),g.ondragover=e=>e.preventDefault(),g.ondrop=()=>function(e,t){e._currentView.columnDragging=!1,c(e,e._currentView.columnDraggingDataIndex,t)}(r,l)),r._currentView.contentColumns.push(g),Is.definedArray(t)?S(g,r,t,"array"):Is.definedSet(t)?S(g,r,Convert2.setToArray(t),"set"):Is.definedHtml(t)?V(g,r,Convert2.htmlToObject(t,r.showCssStylesForHtmlObjects),l,"html"):Is.definedMap(t)?V(g,r,Convert2.mapToObject(t),l,"map"):Is.definedObject(t)&&V(g,r,t,l,"object"),function(t,n,r,l){const a=DomElement.create(n,"div","column-control-buttons");a.ondblclick=DomElement.cancelBubble;const s=t.paging.enabled&&Is.definedArray(t.data)&&t.data.length>1;if(t.allowEditing.bulk&&t.controlPanel.showEditButton){const o=DomElement.createWithHTML(a,"button","edit",e.text.editSymbolButtonText);o.onclick=()=>u(null,t,r,n,l),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.editButtonText)}if(s&&t.allowEditing.bulk&&t.paging.allowColumnReordering&&t.controlPanel.showMovingButtons){const n=DomElement.createWithHTML(a,"button","move-right",e.text.moveRightSymbolButtonText);n.ondblclick=DomElement.cancelBubble,l+1>t.data.length-1?n.disabled=!0:n.onclick=()=>c(t,l,l+1),ToolTip.add(n,t,e.text.moveRightButtonText);const o=DomElement.createWithHTML(a,"button","move-left",e.text.moveLeftSymbolButtonText);o.ondblclick=DomElement.cancelBubble,l-1<0?o.disabled=!0:o.onclick=()=>c(t,l,l-1),ToolTip.add(o,t,e.text.moveLeftButtonText)}if(s&&t.controlPanel.showCopyButton){const n=DomElement.createWithHTML(a,"button","copy",e.text.copyButtonSymbolText);n.onclick=()=>function(t,n){let r=o;Is.definedFunction(t.events.onCopyJsonReplacer)&&(r=t.events.onCopyJsonReplacer);let l=JSON.stringify(n,r,t.jsonIndentSpaces);navigator.clipboard.writeText(l),D(t,e.text.copiedText),Trigger.customEvent(t.events.onCopy,t._currentView.element,l)}(t,r),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.copyButtonText)}if(s&&t.controlPanel.showCloseOpenAllButtons){const n=DomElement.createWithHTML(a,"button","open-all",e.text.openAllButtonSymbolText);n.onclick=()=>function(e,t){const n=e._currentView.contentPanelsOpen[t];for(const e in n)n.hasOwnProperty(e)&&(n[e]=!1);i(e)}(t,l),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.openAllButtonText);const o=DomElement.createWithHTML(a,"button","close-all",e.text.closeAllButtonSymbolText);o.onclick=()=>function(e,t){const n=e._currentView.contentPanelsOpen[t];for(const e in n)n.hasOwnProperty(e)&&(n[e]=!0);i(e)}(t,l),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.closeAllButtonText)}if(t.allowEditing.bulk&&t.controlPanel.showRemoveButton){const n=DomElement.createWithHTML(a,"button","remove",e.text.removeSymbolButtonText);n.onclick=()=>function(t,n){t.paging.enabled?(t.data.splice(n,1),n===t._currentView.dataArrayCurrentIndex&&t._currentView.dataArrayCurrentIndex>0&&(t._currentView.dataArrayCurrentIndex-=t.paging.columnsPerPage)):t.data=null;i(t),D(t,e.text.arrayJsonItemDeleted)}(t,l),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.removeButtonText)}if(!t.paging.enabled&&Is.definedArray(t.data)&&t.data.length>1&&t.controlPanel.showSwitchToPagesButton){const n=DomElement.createWithHTML(a,"button","switch-to-pages",e.text.switchToPagesSymbolText);n.onclick=()=>function(e){e.paging.enabled=!0,i(e)}(t),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.switchToPagesText)}""!==a.innerHTML?(t._currentView.contentControlButtons.push(a),n.style.minHeight=`${a.offsetHeight}px`):n.removeChild(a)}(r,g,t,l),Is.defined(a)&&(g.scrollTop=a),r._currentView.titleBarButtons.style.display="block",r.allowEditing.bulk&&(g.ondblclick=e=>{u(e,r,t,g,l)});else{const t=DomElement.create(g,"div","no-json");if(DomElement.createWithHTML(t,"span","no-json-text",e.text.noJsonToViewText),r.sideMenu.showImportButton){DomElement.createWithHTML(t,"span","no-json-import-text",`${e.text.importButtonText}${e.text.ellipsisText}`).onclick=()=>T(r)}}}function u(t,n,r,l,a){let s=null;Is.defined(t)&&DomElement.cancelBubble(t),clearTimeout(n._currentView.valueClickTimerId),n._currentView.valueClickTimerId=0,n._currentView.editMode=!0,l.classList.add("editable"),l.setAttribute("contenteditable","true"),l.setAttribute("draggable","false"),l.innerText=JSON.stringify(r,o,n.jsonIndentSpaces),l.focus(),DomElement.selectAllText(l),l.onblur=()=>{i(n,!1),Is.definedString(s)&&D(n,s)},l.onkeydown=t=>{if("Escape"===t.code)t.preventDefault(),l.setAttribute("contenteditable","false");else if(k(t)&&"Enter"===t.code){t.preventDefault();const o=l.innerText,r=Convert2.jsonStringToObject(o,e);r.parsed&&(s=e.text.jsonUpdatedText,n.paging.enabled?Is.defined(r.object)?n.data[a]=r.object:(n.data.splice(a,1),s=e.text.arrayJsonItemDeleted,a===n._currentView.dataArrayCurrentIndex&&n._currentView.dataArrayCurrentIndex>0&&(n._currentView.dataArrayCurrentIndex-=n.paging.columnsPerPage)):n.data=r.object),l.setAttribute("contenteditable","false")}else"Enter"===t.code&&(t.preventDefault(),document.execCommand("insertLineBreak"))}}function c(t,n,o){if(n!==o){const r=t.data[o],l=t.data[n];let a=t._currentView.contentPanelsOpen[o],s=t._currentView.contentPanelsOpen[n];Is.defined(a)||(a={}),Is.defined(s)||(s={}),t.data[o]=l,t.data[n]=r,t._currentView.contentPanelsOpen[o]=s,t._currentView.contentPanelsOpen[n]=a,t._currentView.dataArrayCurrentIndex+(t.paging.columnsPerPage-1)j(t.files,e),t.click()}function x(t){t._currentView.sideMenu.classList.contains("side-menu-open")&&(t._currentView.sideMenu.classList.remove("side-menu-open"),t._currentView.disabledBackground.style.display="none",ToolTip.hide(t),t._currentView.sideMenuChanged&&setTimeout((()=>{i(t),D(t,e.text.ignoreDataTypesUpdated)}),500))}function b(e,t,n){const o=t.length,r=e.ignore;for(let e=0;e0&&(o.addEventListener("mousemove",(()=>{const n=DomElement.createWithHTML(null,"span","status-count",r.toString()).outerHTML,o=e.text.lengthText.replace("{0}",n);t._currentView.footerLengthText.style.display="block",t._currentView.footerLengthText.innerHTML=o})),o.addEventListener("mouseleave",(()=>{t._currentView.footerLengthText.style.display="none",t._currentView.footerLengthText.innerHTML=""})))}}function h(t,n,o){if(t.footer.enabled&&t.footer.showSizes){const r=Size.of(n);Is.definedString(r)&&(o.addEventListener("mousemove",(()=>{const n=DomElement.createWithHTML(null,"span","status-count",r.toString()).outerHTML,o=e.text.sizeText.replace("{0}",n);t._currentView.footerSizeText.style.display="block",t._currentView.footerSizeText.innerHTML=o})),o.addEventListener("mouseleave",(()=>{t._currentView.footerSizeText.style.display="none",t._currentView.footerSizeText.innerHTML=""})))}}function D(t,n){t.footer.enabled&&(t._currentView.footerStatusText.innerHTML=n,clearTimeout(t._currentView.footerStatusTextTimerId),t._currentView.footerStatusTextTimerId=setTimeout((()=>{t._currentView.footerStatusText.innerHTML=e.text.waitingText}),t.footer.statusResetDelay))}function V(t,n,o,r,l){const i=Obj.getPropertyNames(o,n),a=i.length;if(0!==a||!n.ignore.emptyObjects){let s=null;"object"===l?s=e.text.objectText:"map"===l?s=e.text.mapText:"html"===l&&(s=e.text.htmlText);const u=DomElement.create(t,"div","object-type-title"),c=DomElement.create(t,"div","object-type-contents last-item"),d=n.showArrowToggles?DomElement.create(u,"div","down-arrow"):null,g=DomElement.createWithHTML(u,"span",n.showValueColors?`${l} main-title`:"main-title",s);let m=null,f=null;if(I(c,n),n.paging.enabled&&Is.definedNumber(r)){let t=n.useZeroIndexingForArrays?r.toString():(r+1).toString();n.showArrayIndexBrackets&&(t=`[${t}]`),DomElement.createWithHTML(u,"span",n.showValueColors?`${l} data-array-index`:"data-array-index",t,g),DomElement.createWithHTML(u,"span","split",e.text.propertyColonCharacter,g)}n.showObjectSizes&&a>0&&("html"===l?DomElement.createWithHTML(u,"span",n.showValueColors?`${l} size`:"size",`<${a}>`):DomElement.createWithHTML(u,"span",n.showValueColors?`${l} size`:"size",`{${a}}`)),n.showOpeningClosingCurlyBraces&&(m=DomElement.createWithHTML(u,"span","opening-symbol","{"),f=DomElement.createWithHTML(u,"span","closed-symbols","{ ... }")),v(d,null,c,n,o,i,m,f,!1,!0,"",l,"object"!==l),A(n,g,o,l,!1),h(n,o,g),y(n,o,g)}}function S(t,n,o,r){let l=null;"set"===r?l=e.text.setText:"array"===r&&(l=e.text.arrayText);const i=DomElement.create(t,"div","object-type-title"),a=DomElement.create(t,"div","object-type-contents last-item"),s=n.showArrowToggles?DomElement.create(i,"div","down-arrow"):null,u=DomElement.createWithHTML(i,"span",n.showValueColors?`${r} main-title`:"main-title",l);let c=null,d=null;I(a,n),n.showObjectSizes&&DomElement.createWithHTML(i,"span",n.showValueColors?`${r} size`:"size",`[${o.length}]`),n.showOpeningClosingCurlyBraces&&(c=DomElement.createWithHTML(i,"span","opening-symbol","["),d=DomElement.createWithHTML(i,"span","closed-symbols","[ ... ]")),E(s,null,a,n,o,c,d,!1,!0,"",r,"array"!==r),A(n,u,o,r,!1),h(n,o,u),y(n,o,u)}function v(t,n,o,r,l,i,a,s,u,c,d,g,m){let f=!0;const p=i.length,T=""!==d?p:0;if(0!==p||r.ignore.emptyObjects){for(let e=0;e
{DomElement.cancelBubble(a);let s=0,u=null;clearTimeout(t._currentView.valueClickTimerId),t._currentView.valueClickTimerId=0,t._currentView.editMode=!0,r.classList.add("editable-name"),l?(s=Arr.getIndexFromBrackets(r.innerHTML),r.innerHTML=s.toString()):r.innerHTML=r.innerHTML.replace(/['"]+/g,""),r.setAttribute("contenteditable","true"),r.focus(),DomElement.selectAllText(r),r.onblur=()=>{i(t,!1),Is.definedString(u)&&D(t,u)},r.onkeydown=i=>{if("Escape"===i.code)i.preventDefault(),r.setAttribute("contenteditable","false");else if("Enter"===i.code){i.preventDefault();const a=r.innerText;if(l){if(!isNaN(+a)){let o=+a;t.useZeroIndexingForArrays||o--,s!==o&&(u=e.text.indexUpdatedText,Arr.moveIndex(n,s,o),Trigger.customEvent(t.events.onJsonEdit,t._currentView.element))}}else if(a!==o){if(""===a.trim())u=e.text.itemDeletedText,delete n[o];else if(!n.hasOwnProperty(a)){u=e.text.nameUpdatedText;const t=n[o];delete n[o],n[a]=t}Trigger.customEvent(t.events.onJsonEdit,t._currentView.element)}r.setAttribute("contenteditable","false")}}})}(o,t,r,w,s),Is.definedString(u)&&g.setAttribute(Constants.JSONTREE_JS_ATTRIBUTE_PATH_NAME,u),s||(h(o,r,w),y(o,r,w))),null===l)b="null",o.ignore.nullValues?T=!0:(f=o.showValueColors?`${b} value undefined-or-null`:"value undefined-or-null",p=DomElement.createWithHTML(g,"span",f,"null"),Is.definedFunction(o.events.onNullRender)&&Trigger.customEvent(o.events.onNullRender,o._currentView.element,p),O(o,g,a));else if(void 0===l)b="undefined",o.ignore.undefinedValues?T=!0:(f=o.showValueColors?`${b} value undefined-or-null`:"value undefined-or-null",p=DomElement.createWithHTML(g,"span",f,"undefined"),Is.definedFunction(o.events.onUndefinedRender)&&Trigger.customEvent(o.events.onUndefinedRender,o._currentView.element,p),O(o,g,a));else if(Is.definedFunction(l)){const t=Default.getFunctionName(l,e);t.isLambda?(b="lambda",o.ignore.lambdaValues?T=!0:(f=o.showValueColors?`${b} value non-value`:"value non-value",p=DomElement.createWithHTML(g,"span",f,t.name),Is.definedFunction(o.events.onLambdaRender)&&Trigger.customEvent(o.events.onLambdaRender,o._currentView.element,p),O(o,g,a))):(b="function",o.ignore.functionValues?T=!0:(f=o.showValueColors?`${b} value non-value`:"value non-value",p=DomElement.createWithHTML(g,"span",f,t.name),Is.definedFunction(o.events.onFunctionRender)&&Trigger.customEvent(o.events.onFunctionRender,o._currentView.element,p),O(o,g,a)))}else if(Is.definedBoolean(l))b="boolean",o.ignore.booleanValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,l),V=o.allowEditing.booleanValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onBooleanRender)&&Trigger.customEvent(o.events.onBooleanRender,o._currentView.element,p),O(o,g,a));else if(Is.definedFloat(l))if(b="float",o.ignore.floatValues)T=!0;else{const e=Convert2.numberToFloatWithDecimalPlaces(l,o.maximumDecimalPlaces);f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,e),V=o.allowEditing.floatValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onFloatRender)&&Trigger.customEvent(o.events.onFloatRender,o._currentView.element,p),O(o,g,a)}else if(Is.definedNumber(l))b="number",o.ignore.numberValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,l),V=o.allowEditing.numberValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onNumberRender)&&Trigger.customEvent(o.events.onNumberRender,o._currentView.element,p),O(o,g,a));else if(Is.definedBigInt(l))b="bigint",o.ignore.bigintValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,l),V=o.allowEditing.bigIntValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onBigIntRender)&&Trigger.customEvent(o.events.onBigIntRender,o._currentView.element,p),O(o,g,a));else if(Is.definedString(l)&&Is.String.guid(l))b="guid",o.ignore.guidValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,l),V=o.allowEditing.guidValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onGuidRender)&&Trigger.customEvent(o.events.onGuidRender,o._currentView.element,p),O(o,g,a));else if(Is.definedString(l)&&(Is.String.hexColor(l)||Is.String.rgbColor(l)))b="color",o.ignore.colorValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,l),V=o.allowEditing.colorValues&&!d,o.showValueColors&&(p.style.color=l),C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onColorRender)&&Trigger.customEvent(o.events.onColorRender,o._currentView.element,p),O(o,g,a));else if(Is.definedString(l)&&Is.definedUrl(l))if(b="url",o.ignore.urlValues)T=!0;else{let n=l,i=null;o.maximumUrlLength>0&&n.length>o.maximumUrlLength&&(n=`${n.substring(0,o.maximumUrlLength)} ${e.text.ellipsisText} `),f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,n),V=o.allowEditing.urlValues&&!d,o.showUrlOpenButtons&&(i=DomElement.createWithHTML(g,"span",o.showValueColors?"open-button-color":"open-button",`${e.text.openText} ${e.text.openSymbolText}`),i.onclick=()=>window.open(l)),C(o,t,r,l,p,s,V,i),Is.definedFunction(o.events.onUrlRender)&&Trigger.customEvent(o.events.onUrlRender,o._currentView.element,p),O(o,g,a)}else if(Is.definedString(l)&&Is.definedEmail(l))if(b="email",o.ignore.emailValues)T=!0;else{let n=l,i=null;o.maximumEmailLength>0&&n.length>o.maximumEmailLength&&(n=`${n.substring(0,o.maximumEmailLength)} ${e.text.ellipsisText} `),f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,n),V=o.allowEditing.emailValues&&!d,o.showEmailOpenButtons&&(i=DomElement.createWithHTML(g,"span",o.showValueColors?"open-button-color":"open-button",`${e.text.openText} ${e.text.openSymbolText}`),i.onclick=()=>window.open(`mailto:${l}`)),C(o,t,r,l,p,s,V,i),Is.definedFunction(o.events.onEmailRender)&&Trigger.customEvent(o.events.onEmailRender,o._currentView.element,p),O(o,g,a)}else if(Is.definedString(l))if(b="string",!o.ignore.stringValues||_)if(o.parse.stringsToBooleans&&Is.String.boolean(l))B(t,n,o,r,"true"===l.toString().toLowerCase().trim(),a,s,u,c,d),T=!0,x=!0;else if(o.parse.stringsToNumbers&&Is.String.bigInt(l))B(t,n,o,r,Convert2.stringToBigInt(l),a,s,u,c,d),T=!0,x=!0;else if(o.parse.stringsToNumbers&&!isNaN(l))B(t,n,o,r,parseFloat(l),a,s,u,c,d),T=!0,x=!0;else if(o.parse.stringsToDates&&Is.String.date(l))B(t,n,o,r,new Date(l),a,s,u,c,d),T=!0,x=!0;else{let n=l;_?(f="no-properties-text",V=!1,M=!1):(o.maximumStringLength>0&&n.length>o.maximumStringLength&&(n=`${n.substring(0,o.maximumStringLength)} ${e.text.ellipsisText} `),n=o.showStringQuotes?`"${n}"`:n,f=o.showValueColors?`${b} value`:"value",V=o.allowEditing.stringValues&&!d),p=DomElement.createWithHTML(g,"span",f,n),_||(C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onStringRender)&&Trigger.customEvent(o.events.onStringRender,o._currentView.element,p),O(o,g,a))}else T=!0;else if(Is.definedDate(l))b="date",o.ignore.dateValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,DateTime.getCustomFormattedDateText(e,l,o.dateTimeFormat)),V=o.allowEditing.dateValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onDateRender)&&Trigger.customEvent(o.events.onDateRender,o._currentView.element,p),O(o,g,a));else if(Is.definedSymbol(l))b="symbol",o.ignore.symbolValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,l.toString()),V=o.allowEditing.symbolValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onSymbolRender)&&Trigger.customEvent(o.events.onSymbolRender,o._currentView.element,p),O(o,g,a));else if(Is.definedRegExp(l))b="regexp",o.ignore.regexpValues?T=!0:(f=o.showValueColors?`${b} value`:"value",p=DomElement.createWithHTML(g,"span",f,l.source.toString()),V=o.allowEditing.regExpValues&&!d,C(o,t,r,l,p,s,V),Is.definedFunction(o.events.onRegExpRender)&&Trigger.customEvent(o.events.onRegExpRender,o._currentView.element,p),O(o,g,a));else if(Is.definedImage(l))if(b="image",o.ignore.imageValues)T=!0;else{f=o.showValueColors?`${b} value`:"value",p=DomElement.create(g,"span",f),V=o.allowEditing.imageValues&&!d,C(o,t,r,l,p,s,V);DomElement.create(p,"img").src=l.src,Is.definedFunction(o.events.onImageRender)&&Trigger.customEvent(o.events.onImageRender,o._currentView.element,p),O(o,g,a)}else if(Is.definedHtml(l))if(b="html",o.ignore.htmlValues)T=!0;else{const t=Convert2.htmlToObject(l,o.showCssStylesForHtmlObjects),n=Obj.getPropertyNames(t,o),r=n.length;if(0===r&&o.ignore.emptyObjects)T=!0;else{const l=DomElement.create(g,"span",o.showValueColors?b:""),i=DomElement.create(g,"div","object-type-contents");let s=null,c=null;I(i,o),a&&i.classList.add("last-item"),p=DomElement.createWithHTML(l,"span","main-title",e.text.htmlText),o.showObjectSizes&&(r>0||!o.ignore.emptyObjects)&&DomElement.createWithHTML(l,"span","size",`<${r}>`),o.showOpeningClosingCurlyBraces&&(s=DomElement.createWithHTML(l,"span","opening-symbol","{"),c=DomElement.createWithHTML(l,"span","closed-symbols","{ ... }"));!v(m,O(o,l,a),i,o,t,n,s,c,!0,a,u,b,!0)&&o.showOpeningClosingCurlyBraces&&(s.parentNode.removeChild(s),c.parentNode.removeChild(c))}}else if(Is.definedSet(l))if(b="set",o.ignore.setValues)T=!0;else{const t=Convert2.setToArray(l),n=DomElement.create(g,"span",o.showValueColors?b:""),r=DomElement.create(g,"div","object-type-contents");let i=null,s=null;I(r,o),a&&r.classList.add("last-item"),p=DomElement.createWithHTML(n,"span","main-title",e.text.setText),o.showObjectSizes&&DomElement.createWithHTML(n,"span","size",`[${t.length}]`),o.showOpeningClosingCurlyBraces&&(i=DomElement.createWithHTML(n,"span","opening-symbol","["),s=DomElement.createWithHTML(n,"span","closed-symbols","[ ... ]"));!E(m,O(o,n,a),r,o,t,i,s,!0,a,u,b,!0)&&o.showOpeningClosingCurlyBraces&&(i.parentNode.removeChild(i),s.parentNode.removeChild(s))}else if(Is.definedArray(l))if(b="array",o.ignore.arrayValues)T=!0;else{const t=DomElement.create(g,"span",o.showValueColors?b:""),n=DomElement.create(g,"div","object-type-contents");let r=null,i=null;I(n,o),a&&n.classList.add("last-item"),p=DomElement.createWithHTML(t,"span","main-title",e.text.arrayText),o.showObjectSizes&&DomElement.createWithHTML(t,"span","size",`[${l.length}]`),o.showOpeningClosingCurlyBraces&&(r=DomElement.createWithHTML(t,"span","opening-symbol","["),i=DomElement.createWithHTML(t,"span","closed-symbols","[ ... ]"));!E(m,O(o,t,a),n,o,l,r,i,!0,a,u,b,!1)&&o.showOpeningClosingCurlyBraces&&(r.parentNode.removeChild(r),i.parentNode.removeChild(i))}else if(Is.definedMap(l))if(b="map",o.ignore.mapValues)T=!0;else{const t=Convert2.mapToObject(l),n=Obj.getPropertyNames(t,o),r=n.length;if(0===r&&o.ignore.emptyObjects)T=!0;else{const l=DomElement.create(g,"span",o.showValueColors?b:""),i=DomElement.create(g,"div","object-type-contents");let s=null,c=null;I(i,o),a&&i.classList.add("last-item"),p=DomElement.createWithHTML(l,"span","main-title",e.text.mapText),o.showObjectSizes&&(r>0||!o.ignore.emptyObjects)&&DomElement.createWithHTML(l,"span","size",`{${r}}`),o.showOpeningClosingCurlyBraces&&(s=DomElement.createWithHTML(l,"span","opening-symbol","{"),c=DomElement.createWithHTML(l,"span","closed-symbols","{ ... }"));!v(m,O(o,l,a),i,o,t,n,s,c,!0,a,u,b,!0)&&o.showOpeningClosingCurlyBraces&&(s.parentNode.removeChild(s),c.parentNode.removeChild(c))}}else if(Is.definedObject(l))if(b="object",o.ignore.objectValues)T=!0;else{const t=Obj.getPropertyNames(l,o),n=t.length;if(0===n&&o.ignore.emptyObjects)T=!0;else{const r=DomElement.create(g,"span",o.showValueColors?b:""),i=DomElement.create(g,"div","object-type-contents");let s=null,c=null;I(i,o),a&&i.classList.add("last-item"),p=DomElement.createWithHTML(r,"span","main-title",e.text.objectText),o.showObjectSizes&&(n>0||!o.ignore.emptyObjects)&&DomElement.createWithHTML(r,"span","size",`{${n}}`),o.showOpeningClosingCurlyBraces&&(s=DomElement.createWithHTML(r,"span","opening-symbol","{"),c=DomElement.createWithHTML(r,"span","closed-symbols","{ ... }"));!v(m,O(o,r,a),i,o,l,t,s,c,!0,a,u,b,!1)&&o.showOpeningClosingCurlyBraces&&(s.parentNode.removeChild(s),c.parentNode.removeChild(c))}}else b="unknown",o.ignore.unknownValues?T=!0:(f=o.showValueColors?`${b} value non-value`:"value non-value",p=DomElement.createWithHTML(g,"span",f,l.toString()),Is.definedFunction(o.events.onUnknownRender)&&Trigger.customEvent(o.events.onUnknownRender,o._currentView.element,p),O(o,g,a));_||x||function(e,t){e._currentView.dataTypeCounts.hasOwnProperty(t)||(e._currentView.dataTypeCounts[t]=0);e._currentView.dataTypeCounts[t]++}(o,b),T?n.removeChild(g):Is.defined(p)&&(_||(h(o,l,p),y(o,l,p),function(t,n,o){t.footer.enabled&&t.footer.showDataTypes&&(o.addEventListener("mousemove",(()=>{const o=DomElement.createWithHTML(null,"span","status-count",n).outerHTML,r=e.text.dataTypeText.replace("{0}",o);t._currentView.footerDataTypeText.style.display="block",t._currentView.footerDataTypeText.innerHTML=r})),o.addEventListener("mouseleave",(()=>{t._currentView.footerDataTypeText.style.display="none",t._currentView.footerDataTypeText.innerHTML=""})))}(o,b,p)),Is.defined(S)&&("null"!==b&&"undefined"!==b&&"array"!==b&&"object"!==b&&"map"!==b&&"set"!==b?S.innerHTML=`(${b})`:(S.parentNode.removeChild(S),S=null)),M?(!function(e,t,n,o,r){if(Is.definedObject(e.valueToolTips)){if(e.logJsonValueToolTipPaths&&console.log(t),!e.valueToolTips.hasOwnProperty(t)){const n=t.split("\\"),o=n.length-1;for(let t=0;t{let c=null;DomElement.cancelBubble(s),clearTimeout(t._currentView.valueClickTimerId),t._currentView.valueClickTimerId=0,t._currentView.editMode=!0,l.classList.add("editable"),l.setAttribute("contenteditable","true"),Is.definedDate(r)&&!t.includeTimeZoneInDateTimeEditing?l.innerText=JSON.stringify(r).replace(/['"]+/g,""):Is.definedRegExp(r)?l.innerText=r.source:Is.definedSymbol(r)?l.innerText=Convert2.symbolToString(r):Is.definedImage(r)?l.innerText=r.src:l.innerText=r.toString(),l.focus(),DomElement.selectAllText(l),Is.defined(u)&&u.parentNode.removeChild(u),l.onblur=()=>{i(t,!1),Is.definedString(c)&&D(t,c)},l.onkeydown=i=>{if("Escape"===i.code)i.preventDefault(),l.setAttribute("contenteditable","false");else if("Enter"===i.code){i.preventDefault();const s=l.innerText;if(""===s.trim())a?n.splice(Arr.getIndexFromBrackets(o),1):delete n[o],c=e.text.itemDeletedText;else{let l=Convert2.stringToDataTypeValue(r,s);null!==l&&(a?n[Arr.getIndexFromBrackets(o)]=l:n[o]=l,c=e.text.valueUpdatedText,Trigger.customEvent(t.events.onJsonEdit,t._currentView.element))}l.setAttribute("contenteditable","false")}}})}function A(e,t,n,o,r){Is.definedFunction(e.events.onValueClick)?t.onclick=()=>{r?e._currentView.valueClickTimerId=setTimeout((()=>{e._currentView.editMode||Trigger.customEvent(e.events.onValueClick,e._currentView.element,n,o)}),e.editingValueClickDelay):(t.ondblclick=DomElement.cancelBubble,Trigger.customEvent(e.events.onValueClick,e._currentView.element,n,o))}:t.classList.add("no-hover")}function _(e,t,n,o,r,l,i,a){const s=e._currentView.contentPanelsIndex,u=e._currentView.contentPanelsDataIndex;e._currentView.contentPanelsOpen.hasOwnProperty(u)||(e._currentView.contentPanelsOpen[u]={});const c=i=>{i?(o.style.display="none",e._currentView.contentPanelsOpen[u][s]=!0,Is.defined(t)&&(t.className="right-arrow"),Is.defined(r)&&(r.style.display="none"),Is.defined(l)&&(l.style.display="inline-block"),Is.defined(n)&&(n.style.display="inline-block")):(o.style.display="block",e._currentView.contentPanelsOpen[u][s]=!1,Is.defined(t)&&(t.className="down-arrow"),Is.defined(r)&&(r.style.display="inline-block"),Is.defined(l)&&(l.style.display="none"),Is.defined(n)&&(n.style.display="none"))};let d=e.showAllAsClosed;e._currentView.contentPanelsOpen[u].hasOwnProperty(s)?d=e._currentView.contentPanelsOpen[u][s]:(e._currentView.initialized||("object"===a&&e.autoClose.objectSize>0&&i>=e.autoClose.objectSize||"array"===a&&e.autoClose.arraySize>0&&i>=e.autoClose.arraySize||"map"===a&&e.autoClose.mapSize>0&&i>=e.autoClose.mapSize||"set"===a&&e.autoClose.setSize>0&&i>=e.autoClose.setSize||"html"===a&&e.autoClose.htmlSize>0&&i>=e.autoClose.htmlSize)&&(d=!0),e._currentView.contentPanelsOpen[u][s]=d),Is.defined(t)&&(t.onclick=()=>c("down-arrow"===t.className),t.ondblclick=DomElement.cancelBubble),c(d),e._currentView.contentPanelsIndex++}function O(e,t,n){let o=null;return e.showCommas&&!n&&(o=DomElement.createWithHTML(t,"span","comma",",")),o}function M(e,t,n,o,r){let l=DomElement.create(t,"div","closing-symbol");(o&&e.showArrowToggles||e.showOpenedObjectArrayBorders)&&DomElement.create(l,"div","no-arrow"),DomElement.createWithHTML(l,"div","object-type-end",n),O(e,l,r)}function L(e,t){e._currentView.columnDragging||(t.style.display="block")}function j(t,n){const o=t.length;let r=0,l=[];const a=t=>{r++,l.push(t),r===o&&(n._currentView.dataArrayCurrentIndex=0,n._currentView.contentPanelsOpen={},n.data=1===l.length?l[0]:l,i(n),D(n,e.text.importedText.replace("{0}",o.toString())),Trigger.customEvent(n.events.onSetJson,n._currentView.element))};for(let e=0;en(r),o.onload=t=>{const n=Convert2.jsonStringToObject(t.target.result,e);n.parsed&&Is.definedObject(n.object)&&(r=n.object)},o.readAsText(t)}function N(e,o=!0){(o?document.addEventListener:document.removeEventListener)("keydown",(o=>function(e,o){o.shortcutKeysEnabled&&1===n&&t.hasOwnProperty(o._currentView.element.id)&&!o._currentView.editMode&&(k(e)&&"F11"===e.code?(e.preventDefault(),d(o)):"ArrowLeft"===e.code?(e.preventDefault(),f(o)):"ArrowRight"===e.code?(e.preventDefault(),p(o)):"ArrowUp"===e.code?(e.preventDefault(),m(o)):"ArrowDown"===e.code?(e.preventDefault(),g(o)):"Escape"===e.code&&(e.preventDefault(),x(o)))}(o,e)))}function k(e){return e.ctrlKey||e.metaKey}function F(e){e._currentView.element.innerHTML="",e._currentView.element.classList.remove("json-tree-js"),""===e._currentView.element.className.trim()&&e._currentView.element.removeAttribute("class"),e._currentView.idSet&&e._currentView.element.removeAttribute("id"),N(e,!1),ToolTip.assignToEvents(e,!1),ToolTip.remove(e),Trigger.customEvent(e.events.onDestroy,e._currentView.element)}const R={refresh:function(e){if(Is.definedString(e)&&t.hasOwnProperty(e)){const n=t[e];i(n),Trigger.customEvent(n.events.onRefresh,n._currentView.element)}return R},refreshAll:function(){for(const e in t)if(t.hasOwnProperty(e)){const n=t[e];i(n),Trigger.customEvent(n.events.onRefresh,n._currentView.element)}return R},render:function(e,t){return Is.definedObject(e)&&Is.definedObject(t)&&l(Binding.Options.getForNewInstance(t,e)),R},renderAll:function(){return r(),R},openAll:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&g(t[e]),R},closeAll:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&m(t[e]),R},backPage:function(e){if(Is.definedString(e)&&t.hasOwnProperty(e)){t[e].paging.enabled&&f(t[e])}return R},nextPage:function(e){if(Is.definedString(e)&&t.hasOwnProperty(e)){t[e].paging.enabled&&p(t[e])}return R},getPageNumber:function(e){let n=1;if(Is.definedString(e)&&t.hasOwnProperty(e)){const o=t[e];n=Math.ceil((o._currentView.dataArrayCurrentIndex+1)/o.paging.columnsPerPage)}return n},setJson:function(n,o){if(Is.definedString(n)&&Is.defined(o)&&t.hasOwnProperty(n)){let r=null;if(Is.definedString(o)){const t=Convert2.jsonStringToObject(o,e);t.parsed&&(r=t.object)}else r=o;const l=t[n];l._currentView.dataArrayCurrentIndex=0,l._currentView.contentPanelsOpen={},l.data=r,i(l),Trigger.customEvent(l.events.onSetJson,l._currentView.element)}return R},getJson:function(e){let n=null;return Is.definedString(e)&&t.hasOwnProperty(e)&&(n=t[e].data),n},updateBindingOptions:function(e,n){if(Is.definedString(e)&&t.hasOwnProperty(e)){const o=t[e],r=o.data,l=o._currentView;t[e]=Binding.Options.get(n),t[e].data=r,t[e]._currentView=l,i(t[e])}return R},getBindingOptions:function(e){let n=null;return Is.definedString(e)&&t.hasOwnProperty(e)&&(n=t[e]),n},destroy:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&(F(t[e]),delete t[e],n--),R},destroyAll:function(){for(const e in t)t.hasOwnProperty(e)&&F(t[e]);return t={},n=0,R},setConfiguration:function(t){if(Is.definedObject(t)){let n=!1;const o=e;for(const r in t)t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&o[r]!==t[r]&&(o[r]=t[r],n=!0);n&&(e=Config.Options.get(o))}return R},getIds:function(){const e=[];for(const n in t)t.hasOwnProperty(n)&&e.push(n);return e},getVersion:function(){return"4.0.0"}};e=Config.Options.get(),document.addEventListener("DOMContentLoaded",(()=>r())),Is.defined(window.$jsontree)||(window.$jsontree=R)})();
\ No newline at end of file
+"use strict";var DataType=(e=>(e.null="null",e.function="function",e.boolean="boolean",e.float="float",e.number="number",e.bigint="bigint",e.string="string",e.date="date",e.symbol="symbol",e.object="object",e.array="array",e.unknown="unknown",e[void 0]="undefined",e.color="color",e.guid="guid",e.regexp="regexp",e.map="map",e.set="set",e.url="url",e.image="image",e.email="email",e.html="html",e.lambda="lambda",e))(DataType||{}),Is,Convert2,Default,DomElement,Str,Str2,DateTime,Constants,Constants2,Binding,Config,Trigger,ToolTip,Arr,Arr2,Size,Obj,Obj2,ContextMenu;(e=>{let t;var n;function o(e){return null!=e&&""!==e.toString()}function r(e){return o(e)&&"object"==typeof e}function l(e){return null!=e&&e instanceof Array}(n=t=e.String||(e.String={})).hexColor=function(e){let t=e.length>=2&&e.length<=7;return t=!(!t||"#"!==e[0])&&isNaN(+e.substring(1,e.length-1)),t},n.rgbColor=function(e){return(e.startsWith("rgb(")||e.startsWith("rgba("))&&e.endsWith(")")},n.boolean=function(e){return"true"===e.toString().toLowerCase().trim()||"false"===e.toString().toLowerCase().trim()},n.date=function(e){return e.match(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/)},n.guid=function(e){return/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e)},n.bigInt=function(e){let t=e.endsWith("n");return t&&(t=!isNaN(+e.substring(0,e.length-1))),t},n.symbol=function(e){return e.startsWith("Symbol(")&&e.endsWith(")")},e.defined=o,e.definedObject=r,e.definedBoolean=function(e){return o(e)&&"boolean"==typeof e},e.definedString=function(e){return o(e)&&"string"==typeof e},e.definedFunction=function(e){return o(e)&&"function"==typeof e},e.definedNumber=function(e){return o(e)&&"number"==typeof e},e.definedBigInt=function(e){return o(e)&&"bigint"==typeof e},e.definedArray=l,e.definedDate=function(e){return r(e)&&e instanceof Date},e.definedFloat=function(e){return o(e)&&"number"==typeof e&&e%1!=0},e.definedSymbol=function(e){return o(e)&&"symbol"==typeof e},e.definedRegExp=function(e){return o(e)&&e instanceof RegExp},e.definedMap=function(e){return o(e)&&(e instanceof Map||e instanceof WeakMap)},e.definedSet=function(e){return o(e)&&(e instanceof Set||e instanceof WeakSet)},e.definedImage=function(e){return o(e)&&e instanceof Image},e.definedHtml=function(e){return o(e)&&e instanceof HTMLElement},e.definedUrl=function(e){let t;try{t=new URL(e)}catch{t=null}return null!==t&&("http:"===t.protocol||"https:"===t.protocol)},e.definedEmail=function(e){return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},e.invalidOptionArray=function(e,t=1){return!l(e)||e.length{function toJsonStringifyClone(e,t,n){let o=null;if(Is.defined(e))if(Is.definedDate(e))o=n.includeTimeZoneInDates?e.toString():JSON.stringify(e).replace(/['"]+/g,"");else if(Is.definedSymbol(e))o=symbolToString(e);else if(Is.definedBigInt(e))o=e.toString();else if(Is.definedFunction(e))o=Default.getFunctionName(e,t).name;else if(Is.definedRegExp(e))o=e.source;else if(Is.definedImage(e))o=e.src;else if(Is.definedHtml(e))o=htmlToObject(e,n.showCssStylesForHtmlObjects);else if(Is.definedArray(e)){o=[];const r=e.length;for(let l=0;l0;)a.children[0].nodeType!==Node.TEXT_NODE&&a.removeChild(a.children[0]),s--;n[l]=[],n[i]=a.innerText;for(let t=0;t{function t(e,t){return Is.definedArray(e)?e:t}e.getAnyString=function(e,t){return"string"==typeof e?e:t},e.getString=function(e,t){return Is.definedString(e)?e:t},e.getBoolean=function(e,t){return Is.definedBoolean(e)?e:t},e.getNumber=function(e,t){return Is.definedNumber(e)?e:t},e.getFunction=function(e,t){return Is.definedFunction(e)?e:t},e.getArray=t,e.getObject=function(e,t){return Is.definedObject(e)?e:t},e.getNumberMinimum=function(e,t,n){return Is.definedNumber(e)?e>=n?e:n:t},e.getNumberMaximum=function(e,t,n){return Is.definedNumber(e)?e>n?n:e:t},e.getStringOrArray=function(e,n){let o=n;if(Is.definedString(e)){const t=e.toString().split(" ");0===t.length?e=n:o=t}else o=t(e,n);return o},e.getFunctionName=function(e,t){let n,o=!1;const r="()";return n=`${e.toString().split("(")[0].split(" ").join(" ")}${r}`,n.trim()===r&&(n=`${t.text.functionText}${r}`,o=!0),{name:n,isLambda:o}},e.getObjectFromUrl=function(e,t,n){const o=new XMLHttpRequest;o.open("GET",e,!0),o.send(),o.onreadystatechange=()=>{if(4===o.readyState&&200===o.status){const e=o.responseText,r=Convert2.jsonStringToObject(e,t);r.parsed&&n(r.object)}else n(null)}}})(Default||(Default={})),(e=>{function t(e,t,n="",o=null){const r=t.toLowerCase(),l="text"===r?document.createTextNode(""):document.createElement(r);return Is.defined(n)&&(l.className=n),Is.defined(e)&&(Is.defined(o)?e.insertBefore(l,o):e.appendChild(l)),l}function n(e,n,o,r,l=null){const i=t(e,n,o,l);return i.innerHTML=r,i}function o(){const e=document.documentElement;return{left:e.scrollLeft-(e.clientLeft||0),top:e.scrollTop-(e.clientTop||0)}}e.find=function(e,t){const n=e.length;for(let o=0;owindow.innerWidth?r-=t.offsetWidth+n:(r++,r+=n),l+t.offsetHeight>window.innerHeight?l-=t.offsetHeight+n:(l++,l+=n),r{function t(e){return e.getDay()-1<0?6:e.getDay()-1}function n(e,t){let n=e.text.thText;return 31===t||21===t||1===t?n=e.text.stText:22===t||2===t?n=e.text.ndText:23!==t&&3!==t||(n=e.text.rdText),n}e.getWeekdayNumber=t,e.getDayOrdinal=n,e.getCustomFormattedDateText=function(e,o,r){let l=r;const i=t(o);return l=l.replace("{hh}",Str.padNumber(o.getHours(),2)),l=l.replace("{h}",o.getHours().toString()),l=l.replace("{MM}",Str.padNumber(o.getMinutes(),2)),l=l.replace("{M}",o.getMinutes().toString()),l=l.replace("{ss}",Str.padNumber(o.getSeconds(),2)),l=l.replace("{s}",o.getSeconds().toString()),l=l.replace("{fff}",Str.padNumber(o.getMilliseconds(),3)),l=l.replace("{ff}",Str.padNumber(o.getMilliseconds(),2)),l=l.replace("{f}",o.getMilliseconds().toString()),l=l.replace("{dddd}",e.text.dayNames[i]),l=l.replace("{ddd}",e.text.dayNamesAbbreviated[i]),l=l.replace("{dd}",Str.padNumber(o.getDate())),l=l.replace("{d}",o.getDate().toString()),l=l.replace("{o}",n(e,o.getDate())),l=l.replace("{mmmm}",e.text.monthNames[o.getMonth()]),l=l.replace("{mmm}",e.text.monthNamesAbbreviated[o.getMonth()]),l=l.replace("{mm}",Str.padNumber(o.getMonth()+1)),l=l.replace("{m}",(o.getMonth()+1).toString()),l=l.replace("{yyyy}",o.getFullYear().toString()),l=l.replace("{yyy}",o.getFullYear().toString().substring(1)),l=l.replace("{yy}",o.getFullYear().toString().substring(2)),l=l.replace("{y}",Number.parseInt(o.getFullYear().toString().substring(2)).toString()),l}})(DateTime||(DateTime={})),Constants2=Constants||(Constants={}),Constants2.JSONTREE_JS_ATTRIBUTE_NAME="data-jsontree-js",Constants2.JSONTREE_JS_ATTRIBUTE_ARRAY_INDEX_NAME="data-jsontree-js-array-index",Constants2.JSONTREE_JS_ATTRIBUTE_PATH_NAME="data-jsontree-js-path",(e=>{let t;var n;(n=t=e.Options||(e.Options={})).getForNewInstance=function(t,n){const o=e.Options.get(t),r=o.allowEditing;o._currentView={},o._currentView.element=n,o._currentView.currentDataArrayPageIndex=(o.paging.startPage-1)*o.paging.columnsPerPage,o._currentView.titleBarButtons=null,o._currentView.valueClickTimerId=0,o._currentView.editMode=!1,o._currentView.idSet=!1,o._currentView.contentPanelsOpen={},o._currentView.contentPanelsIndex=0,o._currentView.contentPanelsDataIndex=0,o._currentView.backButton=null,o._currentView.nextButton=null,o._currentView.disabledBackground=null,o._currentView.sideMenu=null,o._currentView.sideMenuChanged=!1,o._currentView.toggleFullScreenButton=null,o._currentView.fullScreenOn=!1,o._currentView.dragAndDropBackground=null,o._currentView.initialized=!1,o._currentView.currentContentColumns=[],o._currentView.footer=null,o._currentView.footerStatusText=null,o._currentView.footerDataTypeText=null,o._currentView.footerLengthText=null,o._currentView.footerSizeText=null,o._currentView.footerPageText=null,o._currentView.footerStatusTextTimerId=0,o._currentView.columnDragging=!1,o._currentView.columnDraggingDataIndex=0,o._currentView.dataTypeCounts={},o._currentView.contextMenu=null,o._currentView.currentColumnBuildingIndex=0,o._currentView.selectedValues=[],o.paging.enabled&&Is.definedArray(o.data)&&o.data.length>1&&o._currentView.currentDataArrayPageIndex>o.data.length-1&&(o._currentView.currentDataArrayPageIndex=0);for(const e in r)if(!r[e]){o.allowEditing.bulk=!1;break}return o},n.get=function(e){const t=Default.getObject(e,{});return t.showObjectSizes=Default.getBoolean(t.showObjectSizes,!0),t.useZeroIndexingForArrays=Default.getBoolean(t.useZeroIndexingForArrays,!0),t.dateTimeFormat=Default.getString(t.dateTimeFormat,"{dd}{o} {mmmm} {yyyy} {hh}:{MM}:{ss}"),t.showArrowToggles=Default.getBoolean(t.showArrowToggles,!0),t.showStringQuotes=Default.getBoolean(t.showStringQuotes,!0),t.showAllAsClosed=Default.getBoolean(t.showAllAsClosed,!1),t.sortPropertyNames=Default.getBoolean(t.sortPropertyNames,!0),t.sortPropertyNamesInAlphabeticalOrder=Default.getBoolean(t.sortPropertyNamesInAlphabeticalOrder,!0),t.showCommas=Default.getBoolean(t.showCommas,!0),t.reverseArrayValues=Default.getBoolean(t.reverseArrayValues,!1),t.addArrayIndexPadding=Default.getBoolean(t.addArrayIndexPadding,!1),t.showValueColors=Default.getBoolean(t.showValueColors,!0),t.maximumDecimalPlaces=Default.getNumber(t.maximumDecimalPlaces,2),t.maximumStringLength=Default.getNumber(t.maximumStringLength,0),t.fileDroppingEnabled=Default.getBoolean(t.fileDroppingEnabled,!0),t.jsonIndentSpaces=Default.getNumber(t.jsonIndentSpaces,8),t.showArrayIndexBrackets=Default.getBoolean(t.showArrayIndexBrackets,!0),t.showOpeningClosingCurlyBraces=Default.getBoolean(t.showOpeningClosingCurlyBraces,!1),t.showOpeningClosingSquaredBrackets=Default.getBoolean(t.showOpeningClosingSquaredBrackets,!1),t.includeTimeZoneInDates=Default.getBoolean(t.includeTimeZoneInDates,!0),t.shortcutKeysEnabled=Default.getBoolean(t.shortcutKeysEnabled,!0),t.openInFullScreenMode=Default.getBoolean(t.openInFullScreenMode,!1),t.valueToolTips=Default.getObject(t.valueToolTips,null),t.editingValueClickDelay=Default.getNumber(t.editingValueClickDelay,500),t.showDataTypes=Default.getBoolean(t.showDataTypes,!1),t.logJsonValueToolTipPaths=Default.getBoolean(t.logJsonValueToolTipPaths,!1),t.exportFilenameFormat=Default.getString(t.exportFilenameFormat,"JsonTree_{dd}-{mm}-{yyyy}_{hh}-{MM}-{ss}.json"),t.showPropertyNameQuotes=Default.getBoolean(t.showPropertyNameQuotes,!0),t.showOpenedObjectArrayBorders=Default.getBoolean(t.showOpenedObjectArrayBorders,!0),t.showPropertyNameAndIndexColors=Default.getBoolean(t.showPropertyNameAndIndexColors,!0),t.showUrlOpenButtons=Default.getBoolean(t.showUrlOpenButtons,!0),t.showEmailOpenButtons=Default.getBoolean(t.showEmailOpenButtons,!0),t.minimumArrayIndexPadding=Default.getNumber(t.minimumArrayIndexPadding,0),t.arrayIndexPaddingCharacter=Default.getString(t.arrayIndexPaddingCharacter,"0"),t.maximumUrlLength=Default.getNumber(t.maximumUrlLength,0),t.maximumEmailLength=Default.getNumber(t.maximumEmailLength,0),t.showCssStylesForHtmlObjects=Default.getBoolean(t.showCssStylesForHtmlObjects,!1),t.jsonPathAny=Default.getString(t.jsonPathAny,".."),t.jsonPathSeparator=Default.getString(t.jsonPathSeparator,"\\"),t.showChildIndexes=Default.getBoolean(t.showChildIndexes,!0),t.showClosedArraySquaredBrackets=Default.getBoolean(t.showClosedArraySquaredBrackets,!0),t.showClosedObjectCurlyBraces=Default.getBoolean(t.showClosedObjectCurlyBraces,!0),t.convertClickedValuesToString=Default.getBoolean(t.convertClickedValuesToString,!1),t.paging=function(e){return e.paging=Default.getObject(e.paging,{}),e.paging.enabled=Default.getBoolean(e.paging.enabled,!0),e.paging.columnsPerPage=Default.getNumberMaximum(e.paging.columnsPerPage,1,6),e.paging.startPage=Default.getNumberMinimum(e.paging.startPage,1,1),e.paging.synchronizeScrolling=Default.getBoolean(e.paging.synchronizeScrolling,!1),e.paging.allowColumnReordering=Default.getBoolean(e.paging.allowColumnReordering,!0),e.paging.allowComparisons=Default.getBoolean(e.paging.allowComparisons,!1),e.paging}(t),t.title=function(e){return e.title=Default.getObject(e.title,{}),e.title.text=Default.getAnyString(e.title.text,"JsonTree.js"),e.title.showCloseOpenAllButtons=Default.getBoolean(e.title.showCloseOpenAllButtons,!0),e.title.showCopyButton=Default.getBoolean(e.title.showCopyButton,!0),e.title.enableFullScreenToggling=Default.getBoolean(e.title.enableFullScreenToggling,!0),e.title.showFullScreenButton=Default.getBoolean(e.title.showFullScreenButton,!0),e.title}(t),t.footer=function(e){return e.footer=Default.getObject(e.footer,{}),e.footer.enabled=Default.getBoolean(e.footer.enabled,!0),e.footer.showDataTypes=Default.getBoolean(e.footer.showDataTypes,!0),e.footer.showLengths=Default.getBoolean(e.footer.showLengths,!0),e.footer.showSizes=Default.getBoolean(e.footer.showSizes,!0),e.footer.showPageOf=Default.getBoolean(e.footer.showPageOf,!0),e.footer.statusResetDelay=Default.getNumber(e.footer.statusResetDelay,5e3),e.footer}(t),t.controlPanel=function(e){return e.controlPanel=Default.getObject(e.controlPanel,{}),e.controlPanel.enabled=Default.getBoolean(e.controlPanel.enabled,!0),e.controlPanel.showCopyButton=Default.getBoolean(e.controlPanel.showCopyButton,!0),e.controlPanel.showMovingButtons=Default.getBoolean(e.controlPanel.showMovingButtons,!0),e.controlPanel.showRemoveButton=Default.getBoolean(e.controlPanel.showRemoveButton,!1),e.controlPanel.showEditButton=Default.getBoolean(e.controlPanel.showEditButton,!0),e.controlPanel.showCloseOpenAllButtons=Default.getBoolean(e.controlPanel.showCloseOpenAllButtons,!0),e.controlPanel.showSwitchToPagesButton=Default.getBoolean(e.controlPanel.showSwitchToPagesButton,!0),e.controlPanel}(t),t.lineNumbers=function(e){return e.lineNumbers=Default.getObject(e.lineNumbers,{}),e.lineNumbers.enabled=Default.getBoolean(e.lineNumbers.enabled,!0),e.lineNumbers.padNumbers=Default.getBoolean(e.lineNumbers.padNumbers,!1),e.lineNumbers.addDots=Default.getBoolean(e.lineNumbers.addDots,!0),e.lineNumbers}(t),t.ignore=function(e){return e.ignore=Default.getObject(e.ignore,{}),e.ignore.nullValues=Default.getBoolean(e.ignore.nullValues,!1),e.ignore.functionValues=Default.getBoolean(e.ignore.functionValues,!1),e.ignore.unknownValues=Default.getBoolean(e.ignore.unknownValues,!1),e.ignore.booleanValues=Default.getBoolean(e.ignore.booleanValues,!1),e.ignore.floatValues=Default.getBoolean(e.ignore.floatValues,!1),e.ignore.numberValues=Default.getBoolean(e.ignore.numberValues,!1),e.ignore.stringValues=Default.getBoolean(e.ignore.stringValues,!1),e.ignore.dateValues=Default.getBoolean(e.ignore.dateValues,!1),e.ignore.objectValues=Default.getBoolean(e.ignore.objectValues,!1),e.ignore.arrayValues=Default.getBoolean(e.ignore.arrayValues,!1),e.ignore.bigintValues=Default.getBoolean(e.ignore.bigintValues,!1),e.ignore.symbolValues=Default.getBoolean(e.ignore.symbolValues,!1),e.ignore.emptyObjects=Default.getBoolean(e.ignore.emptyObjects,!1),e.ignore.undefinedValues=Default.getBoolean(e.ignore.undefinedValues,!1),e.ignore.guidValues=Default.getBoolean(e.ignore.guidValues,!1),e.ignore.colorValues=Default.getBoolean(e.ignore.colorValues,!1),e.ignore.regexpValues=Default.getBoolean(e.ignore.regexpValues,!1),e.ignore.mapValues=Default.getBoolean(e.ignore.mapValues,!1),e.ignore.setValues=Default.getBoolean(e.ignore.setValues,!1),e.ignore.urlValues=Default.getBoolean(e.ignore.urlValues,!1),e.ignore.imageValues=Default.getBoolean(e.ignore.imageValues,!1),e.ignore.emailValues=Default.getBoolean(e.ignore.emailValues,!1),e.ignore.htmlValues=Default.getBoolean(e.ignore.htmlValues,!1),e.ignore.lambdaValues=Default.getBoolean(e.ignore.lambdaValues,!1),e.ignore}(t),t.tooltip=function(e){return e.tooltip=Default.getObject(e.tooltip,{}),e.tooltip.delay=Default.getNumber(e.tooltip.delay,750),e.tooltip.offset=Default.getNumber(e.tooltip.offset,0),e.tooltip}(t),t.parse=function(e){return e.parse=Default.getObject(e.parse,{}),e.parse.stringsToDates=Default.getBoolean(e.parse.stringsToDates,!1),e.parse.stringsToBooleans=Default.getBoolean(e.parse.stringsToBooleans,!1),e.parse.stringsToNumbers=Default.getBoolean(e.parse.stringsToNumbers,!1),e.parse.stringsToSymbols=Default.getBoolean(e.parse.stringsToSymbols,!1),e.parse}(t),t.allowEditing=function(e){let t=Default.getBoolean(e.allowEditing,!0);e.allowEditing=Default.getObject(e.allowEditing,{}),e.allowEditing.booleanValues=Default.getBoolean(e.allowEditing.booleanValues,t),e.allowEditing.floatValues=Default.getBoolean(e.allowEditing.floatValues,t),e.allowEditing.numberValues=Default.getBoolean(e.allowEditing.numberValues,t),e.allowEditing.stringValues=Default.getBoolean(e.allowEditing.stringValues,t),e.allowEditing.dateValues=Default.getBoolean(e.allowEditing.dateValues,t),e.allowEditing.bigIntValues=Default.getBoolean(e.allowEditing.bigIntValues,t),e.allowEditing.guidValues=Default.getBoolean(e.allowEditing.guidValues,t),e.allowEditing.colorValues=Default.getBoolean(e.allowEditing.colorValues,t),e.allowEditing.urlValues=Default.getBoolean(e.allowEditing.urlValues,t),e.allowEditing.emailValues=Default.getBoolean(e.allowEditing.emailValues,t),e.allowEditing.regExpValues=Default.getBoolean(e.allowEditing.regExpValues,t),e.allowEditing.symbolValues=Default.getBoolean(e.allowEditing.symbolValues,t),e.allowEditing.imageValues=Default.getBoolean(e.allowEditing.imageValues,t),e.allowEditing.propertyNames=Default.getBoolean(e.allowEditing.propertyNames,t),e.allowEditing.bulk=Default.getBoolean(e.allowEditing.bulk,t);const n=e.allowEditing;for(const t in n)if(n.hasOwnProperty(t)&&!n[t]){e.allowEditing.bulk=!1;break}return e.allowEditing}(t),t.sideMenu=function(e){return e.sideMenu=Default.getObject(e.sideMenu,{}),e.sideMenu.enabled=Default.getBoolean(e.sideMenu.enabled,!0),e.sideMenu.showImportButton=Default.getBoolean(e.sideMenu.showImportButton,!0),e.sideMenu.showExportButton=Default.getBoolean(e.sideMenu.showExportButton,!0),e.sideMenu.titleText=Default.getAnyString(e.sideMenu.titleText,e.title.text),e.sideMenu.showAvailableDataTypeCounts=Default.getBoolean(e.sideMenu.showAvailableDataTypeCounts,!0),e.sideMenu.showOnlyDataTypesAvailable=Default.getBoolean(e.sideMenu.showOnlyDataTypesAvailable,!1),e.sideMenu}(t),t.autoClose=function(e){return e.autoClose=Default.getObject(e.autoClose,{}),e.autoClose.objectSize=Default.getNumber(e.autoClose.objectSize,0),e.autoClose.arraySize=Default.getNumber(e.autoClose.arraySize,0),e.autoClose.mapSize=Default.getNumber(e.autoClose.mapSize,0),e.autoClose.setSize=Default.getNumber(e.autoClose.setSize,0),e.autoClose.htmlSize=Default.getNumber(e.autoClose.htmlSize,0),e.autoClose}(t),t.events=function(e){return e.events=Default.getObject(e.events,{}),e.events.onBeforeRender=Default.getFunction(e.events.onBeforeRender,null),e.events.onRenderComplete=Default.getFunction(e.events.onRenderComplete,null),e.events.onValueClick=Default.getFunction(e.events.onValueClick,null),e.events.onRefresh=Default.getFunction(e.events.onRefresh,null),e.events.onCopyAll=Default.getFunction(e.events.onCopyAll,null),e.events.onOpenAll=Default.getFunction(e.events.onOpenAll,null),e.events.onCloseAll=Default.getFunction(e.events.onCloseAll,null),e.events.onDestroy=Default.getFunction(e.events.onDestroy,null),e.events.onBooleanRender=Default.getFunction(e.events.onBooleanRender,null),e.events.onFloatRender=Default.getFunction(e.events.onFloatRender,null),e.events.onNumberRender=Default.getFunction(e.events.onNumberRender,null),e.events.onBigIntRender=Default.getFunction(e.events.onBigIntRender,null),e.events.onStringRender=Default.getFunction(e.events.onStringRender,null),e.events.onDateRender=Default.getFunction(e.events.onDateRender,null),e.events.onFunctionRender=Default.getFunction(e.events.onFunctionRender,null),e.events.onNullRender=Default.getFunction(e.events.onNullRender,null),e.events.onUnknownRender=Default.getFunction(e.events.onUnknownRender,null),e.events.onSymbolRender=Default.getFunction(e.events.onSymbolRender,null),e.events.onCopyJsonReplacer=Default.getFunction(e.events.onCopyJsonReplacer,null),e.events.onUndefinedRender=Default.getFunction(e.events.onUndefinedRender,null),e.events.onGuidRender=Default.getFunction(e.events.onGuidRender,null),e.events.onColorRender=Default.getFunction(e.events.onColorRender,null),e.events.onJsonEdit=Default.getFunction(e.events.onJsonEdit,null),e.events.onRegExpRender=Default.getFunction(e.events.onRegExpRender,null),e.events.onExport=Default.getFunction(e.events.onExport,null),e.events.onUrlRender=Default.getFunction(e.events.onUrlRender,null),e.events.onImageRender=Default.getFunction(e.events.onImageRender,null),e.events.onEmailRender=Default.getFunction(e.events.onEmailRender,null),e.events.onLambdaRender=Default.getFunction(e.events.onLambdaRender,null),e.events.onCopy=Default.getFunction(e.events.onCopy,null),e.events.onFullScreenChange=Default.getFunction(e.events.onFullScreenChange,null),e.events}(t),t}})(Binding||(Binding={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e=null){const t=Default.getObject(e,{});return t.safeMode=Default.getBoolean(t.safeMode,!0),t.domElementTypes=Default.getStringOrArray(t.domElementTypes,["*"]),t.text=function(e){return e.text=Default.getObject(e.text,{}),e.text.objectText=Default.getAnyString(e.text.objectText,"object"),e.text.arrayText=Default.getAnyString(e.text.arrayText,"array"),e.text.mapText=Default.getAnyString(e.text.mapText,"map"),e.text.setText=Default.getAnyString(e.text.setText,"set"),e.text.htmlText=Default.getAnyString(e.text.htmlText,"html"),e.text.closeAllButtonText=Default.getAnyString(e.text.closeAllButtonText,"Close All"),e.text.openAllButtonText=Default.getAnyString(e.text.openAllButtonText,"Open All"),e.text.copyAllButtonText=Default.getAnyString(e.text.copyAllButtonText,"Copy All"),e.text.objectErrorText=Default.getAnyString(e.text.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}"),e.text.attributeNotValidErrorText=Default.getAnyString(e.text.attributeNotValidErrorText,"The attribute '{{attribute_name}}' is not a valid object."),e.text.attributeNotSetErrorText=Default.getAnyString(e.text.attributeNotSetErrorText,"The attribute '{{attribute_name}}' has not been set correctly."),e.text.stText=Default.getAnyString(e.text.stText,"st"),e.text.ndText=Default.getAnyString(e.text.ndText,"nd"),e.text.rdText=Default.getAnyString(e.text.rdText,"rd"),e.text.thText=Default.getAnyString(e.text.thText,"th"),e.text.ellipsisText=Default.getAnyString(e.text.ellipsisText,"..."),e.text.closeAllButtonSymbolText=Default.getAnyString(e.text.closeAllButtonSymbolText,"⇈"),e.text.openAllButtonSymbolText=Default.getAnyString(e.text.openAllButtonSymbolText,"⇊"),e.text.copyButtonSymbolText=Default.getAnyString(e.text.copyButtonSymbolText,"❐"),e.text.backButtonText=Default.getAnyString(e.text.backButtonText,"Back"),e.text.nextButtonText=Default.getAnyString(e.text.nextButtonText,"Next"),e.text.backButtonSymbolText=Default.getAnyString(e.text.backButtonSymbolText,"←"),e.text.nextButtonSymbolText=Default.getAnyString(e.text.nextButtonSymbolText,"→"),e.text.noJsonToViewText=Default.getAnyString(e.text.noJsonToViewText,"There is currently no JSON to view."),e.text.functionText=Default.getAnyString(e.text.functionText,"function"),e.text.sideMenuButtonSymbolText=Default.getAnyString(e.text.sideMenuButtonSymbolText,"☰"),e.text.sideMenuButtonText=Default.getAnyString(e.text.sideMenuButtonText,"Show Menu"),e.text.closeButtonSymbolText=Default.getAnyString(e.text.closeButtonSymbolText,"✕"),e.text.closeButtonText=Default.getAnyString(e.text.closeButtonText,"Close"),e.text.showDataTypesText=Default.getAnyString(e.text.showDataTypesText,"Show Data Types"),e.text.selectAllText=Default.getAnyString(e.text.selectAllText,"Select All"),e.text.selectNoneText=Default.getAnyString(e.text.selectNoneText,"Select None"),e.text.importButtonSymbolText=Default.getAnyString(e.text.importButtonSymbolText,"↑"),e.text.importButtonText=Default.getAnyString(e.text.importButtonText,"Import"),e.text.fullScreenOnButtonSymbolText=Default.getAnyString(e.text.fullScreenOnButtonSymbolText,"↗"),e.text.fullScreenOffButtonSymbolText=Default.getAnyString(e.text.fullScreenOffButtonSymbolText,"↙"),e.text.fullScreenButtonText=Default.getAnyString(e.text.fullScreenButtonText,"Toggle Full-Screen"),e.text.copyButtonText=Default.getAnyString(e.text.copyButtonText,"Copy"),e.text.dragAndDropSymbolText=Default.getAnyString(e.text.dragAndDropSymbolText,"⇪"),e.text.dragAndDropTitleText=Default.getAnyString(e.text.dragAndDropTitleText,"Drag and drop your JSON files to upload"),e.text.dragAndDropDescriptionText=Default.getAnyString(e.text.dragAndDropDescriptionText,"Multiple files will be joined as an array"),e.text.exportButtonSymbolText=Default.getAnyString(e.text.exportButtonSymbolText,"↓"),e.text.exportButtonText=Default.getAnyString(e.text.exportButtonText,"Export"),e.text.propertyColonCharacter=Default.getAnyString(e.text.propertyColonCharacter,":"),e.text.noPropertiesText=Default.getAnyString(e.text.noPropertiesText,"There are no properties to view."),e.text.openText=Default.getAnyString(e.text.openText,"open"),e.text.openSymbolText=Default.getAnyString(e.text.openSymbolText,"⤤"),e.text.waitingText=Default.getAnyString(e.text.waitingText,"Waiting..."),e.text.pageOfText=Default.getAnyString(e.text.pageOfText,"Page {0} of {1}"),e.text.sizeText=Default.getAnyString(e.text.sizeText,"Size: {0}"),e.text.copiedText=Default.getAnyString(e.text.copiedText,"JSON copied to clipboard."),e.text.exportedText=Default.getAnyString(e.text.exportedText,"JSON exported."),e.text.importedText=Default.getAnyString(e.text.importedText,"{0} JSON files imported."),e.text.ignoreDataTypesUpdated=Default.getAnyString(e.text.ignoreDataTypesUpdated,"Ignore data types updated."),e.text.lengthText=Default.getAnyString(e.text.lengthText,"Length: {0}"),e.text.valueUpdatedText=Default.getAnyString(e.text.valueUpdatedText,"Value updated."),e.text.jsonUpdatedText=Default.getAnyString(e.text.jsonUpdatedText,"JSON updated."),e.text.nameUpdatedText=Default.getAnyString(e.text.nameUpdatedText,"Property name updated."),e.text.indexUpdatedText=Default.getAnyString(e.text.indexUpdatedText,"Array index updated."),e.text.itemDeletedText=Default.getAnyString(e.text.itemDeletedText,"Item deleted."),e.text.arrayJsonItemDeleted=Default.getAnyString(e.text.arrayJsonItemDeleted,"Array JSON item deleted."),e.text.dataTypeText=Default.getAnyString(e.text.dataTypeText,"Data Type: {0}"),e.text.editSymbolButtonText=Default.getAnyString(e.text.editSymbolButtonText,"✎"),e.text.editButtonText=Default.getAnyString(e.text.editButtonText,"Edit"),e.text.moveRightSymbolButtonText=Default.getAnyString(e.text.moveRightSymbolButtonText,"→"),e.text.moveRightButtonText=Default.getAnyString(e.text.moveRightButtonText,"Move Right"),e.text.moveLeftSymbolButtonText=Default.getAnyString(e.text.moveLeftSymbolButtonText,"←"),e.text.moveLeftButtonText=Default.getAnyString(e.text.moveLeftButtonText,"Move Left"),e.text.removeSymbolButtonText=Default.getAnyString(e.text.removeSymbolButtonText,"✕"),e.text.removeButtonText=Default.getAnyString(e.text.removeButtonText,"Remove"),e.text.switchToPagesSymbolText=Default.getAnyString(e.text.switchToPagesSymbolText,"☷"),e.text.switchToPagesText=Default.getAnyString(e.text.switchToPagesText,"Switch To Pages"),Is.invalidOptionArray(e.text.dayNames,7)&&(e.text.dayNames=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]),Is.invalidOptionArray(e.text.dayNamesAbbreviated,7)&&(e.text.dayNamesAbbreviated=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]),Is.invalidOptionArray(e.text.monthNames,12)&&(e.text.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"]),Is.invalidOptionArray(e.text.monthNamesAbbreviated,12)&&(e.text.monthNamesAbbreviated=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e.text}(t),t}})(Config||(Config={})),(Trigger||(Trigger={})).customEvent=function(e,...t){let n=null;return Is.definedFunction(e)&&(n=e.apply(null,[].slice.call(t,0))),n},(e=>{function t(e,t=!0){const n=t?window.addEventListener:window.removeEventListener,r=t?document.addEventListener:document.removeEventListener;n("mousemove",(()=>o(e))),r("scroll",(()=>o(e)))}function n(e,t,n,r){DomElement.cancelBubble(e),o(t),t._currentView.tooltipTimerId=setTimeout((()=>{t._currentView.tooltip.className=r,t._currentView.tooltip.innerHTML=n,t._currentView.tooltip.style.display="block",DomElement.showElementAtMousePosition(e,t._currentView.tooltip,t.tooltip.offset)}),t.tooltip.delay)}function o(e){Is.defined(e._currentView.tooltip)&&(0!==e._currentView.tooltipTimerId&&(clearTimeout(e._currentView.tooltipTimerId),e._currentView.tooltipTimerId=0),"none"!==e._currentView.tooltip.style.display&&(e._currentView.tooltip.style.display="none"))}e.renderControl=function(e){Is.defined(e._currentView.tooltip)||(e._currentView.tooltip=DomElement.create(document.body,"div","jsontree-js-tooltip"),e._currentView.tooltip.style.display="none",t(e))},e.assignToEvents=t,e.add=function(e,t,o,r="jsontree-js-tooltip"){null!==e&&e.addEventListener("mousemove",(e=>n(e,t,o,r)))},e.show=n,e.hide=o,e.remove=function(e){Is.defined(e._currentView.tooltip)&&e._currentView.tooltip.parentNode.removeChild(e._currentView.tooltip)}})(ToolTip||(ToolTip={})),Arr2=Arr||(Arr={}),Arr2.getIndex=function(e,t){return t.useZeroIndexingForArrays?e:e+1},Arr2.getIndexName=function(e,t,n){let o=t.toString();if(e.addArrayIndexPadding){let t=n.toString().length;te.length-1&&(n=e.length-1),e.splice(n,0,e.splice(t,1)[0])},Arr2.removeNullOrUndefinedEntries=function(e){let t=[];const n=e.length;for(let o=0;o{function t(e,n){let o=0;if(Is.defined(e))if(Is.definedNumber(e))o=8;else if(Is.definedString(e))o=2*e.length;else if(Is.definedBoolean(e))o=4;else if(Is.definedBigInt(e))o=t(e.toString(),n);else if(Is.definedRegExp(e))o=t(e.toString(),n);else if(Is.definedDate(e))o=t(e.toString(),n);else if(Is.definedSet(e))o=t(Convert2.setToArray(e),n);else if(Is.definedMap(e))o=t(Convert2.mapToObject(e),n);else if(Is.definedHtml(e))o=t(Convert2.htmlToObject(e,n),n);else if(Is.definedArray(e)){const r=e.length;for(let l=0;l0){const e=Math.floor(Math.log(o)/Math.log(1024));return`${Convert2.numberToFloatWithDecimalPlaces(o/Math.pow(1024,e),2)} ${" KMGTP".charAt(e)}B`}return null},e.length=function e(t,n){let o=0;if(Is.defined(t))if(Is.definedDate(t))o=t.toString().length;else if(Is.definedImage(t))o=t.src.length;else if(Is.definedRegExp(t))o=t.source.length;else if(Is.definedSet(t))o=e(Convert2.setToArray(t),n);else if(Is.definedMap(t))o=e(Convert2.mapToObject(t),n);else if(Is.definedHtml(t))o=e(Convert2.htmlToObject(t,n),n);else if(Is.definedArray(t))o=t.length;else if(Is.definedObject(t))for(const e in t)t.hasOwnProperty(e)&&o++;else Is.definedFunction(t)||Is.definedSymbol(t)||(o=t.toString().length);return o}})(Size||(Size={})),Obj2=Obj||(Obj={}),Obj2.getPropertyNames=function(e,t){let n=[];for(const t in e)e.hasOwnProperty(t)&&n.push(t);if(t.sortPropertyNames){let e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});n=n.sort(e.compare),t.sortPropertyNamesInAlphabeticalOrder||(n=n.reverse())}return n},Obj2.createFromValue=function(e){const t={};return t[crypto.randomUUID()]=e,t},(e=>{function t(e,t=!0){const o=t?window.addEventListener:window.removeEventListener,r=t?document.addEventListener:document.removeEventListener;o("contextmenu",(()=>n(e))),o("click",(()=>n(e))),r("scroll",(()=>n(e)))}function n(e){Is.defined(e._currentView.contextMenu)&&"none"!==e._currentView.contextMenu.style.display&&(e._currentView.contextMenu.style.display="none")}e.renderControl=function(e){Is.defined(e._currentView.contextMenu)||(e._currentView.contextMenu=DomElement.create(document.body,"div","jsontree-js-context-menu"),e._currentView.contextMenu.style.display="none",t(e))},e.assignToEvents=t,e.show=function(e,t){DomElement.cancelBubble(e),DomElement.showElementAtMousePosition(e,t._currentView.contextMenu,0)},e.hide=n,e.remove=function(e){Is.defined(e._currentView.contextMenu)&&e._currentView.contextMenu.parentNode.removeChild(e._currentView.contextMenu)},e.addMenuItem=function(e,t,n){const o=DomElement.create(e._currentView.contextMenu,"div","context-menu-item");return DomElement.createWithHTML(o,"span","symbol",t),DomElement.createWithHTML(o,"span","text",n),o}})(ContextMenu||(ContextMenu={})),(()=>{let e={},t={},n=0,o=!1;function r(){DomElement.find(e.domElementTypes,(t=>{let n=!0;if(Is.defined(t)&&t.hasAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME)){const o=t.getAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME);if(Is.definedString(o)){const r=Convert2.jsonStringToObject(o,e);r.parsed&&Is.definedObject(r.object)?l(Binding.Options.getForNewInstance(r.object,t)):e.safeMode||(console.error(e.text.attributeNotValidErrorText.replace("{{attribute_name}}",Constants.JSONTREE_JS_ATTRIBUTE_NAME)),n=!1)}else e.safeMode||(console.error(e.text.attributeNotSetErrorText.replace("{{attribute_name}}",Constants.JSONTREE_JS_ATTRIBUTE_NAME)),n=!1)}return n}))}function l(e){Trigger.customEvent(e.events.onBeforeRender,e._currentView.element),ToolTip.renderControl(e),ContextMenu.renderControl(e),Is.definedString(e._currentView.element.id)||(e._currentView.element.id=crypto.randomUUID(),e._currentView.idSet=!0),e._currentView.element.className="json-tree-js",e._currentView.element.removeAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME),e.openInFullScreenMode&&(e._currentView.element.classList.add("full-screen"),e._currentView.fullScreenOn=!0),t.hasOwnProperty(e._currentView.element.id)||(t[e._currentView.element.id]=e,n++),i(e),$(e),Trigger.customEvent(e.events.onRenderComplete,e._currentView.element)}function i(n,o=!1){let r=t[n._currentView.element.id].data;Is.definedUrl(r)?Default.getObjectFromUrl(r,e,(e=>{a(n,o,e)})):a(n,o,r)}function a(t,n,o){const r=function(e){const t=[];if(ToolTip.hide(e),ContextMenu.hide(e),e._currentView.editMode||e._currentView.sideMenuChanged){const n=e._currentView.currentContentColumns.length;for(let o=0;om(t)),t.sideMenu.enabled){const n=DomElement.createWithHTML(o,"button","side-menu",e.text.sideMenuButtonSymbolText);n.onclick=()=>function(e){e._currentView.sideMenu.classList.contains("side-menu-open")||(e._currentView.sideMenu.classList.add("side-menu-open"),e._currentView.disabledBackground.style.display="block",ToolTip.hide(e),ContextMenu.hide(e))}(t),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.sideMenuButtonText)}if(t._currentView.titleBarButtons=DomElement.create(o,"div","controls"),Is.definedString(t.title.text)&&DomElement.createWithHTML(o,"div","title",t.title.text,t._currentView.titleBarButtons),t.title.showCopyButton&&Is.defined(n)){const o=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","copy-all",e.text.copyButtonSymbolText);o.onclick=()=>function(t,n){const o=JSON.stringify(Convert2.toJsonStringifyClone(n,e,t),t.events.onCopyJsonReplacer,t.jsonIndentSpaces);navigator.clipboard.writeText(o),S(t,e.text.copiedText),Trigger.customEvent(t.events.onCopyAll,t._currentView.element,o)}(t,n),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.copyAllButtonText)}if(t.title.showCloseOpenAllButtons&&Is.defined(n)){const n=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","open-all",e.text.openAllButtonSymbolText);n.onclick=()=>f(t),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.openAllButtonText);const o=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","close-all",e.text.closeAllButtonSymbolText);o.onclick=()=>p(t),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.closeAllButtonText)}if(t.paging.enabled&&Is.definedArray(n)&&n.length>1?(t._currentView.backButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","back",e.text.backButtonSymbolText),t._currentView.backButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.backButton,t,e.text.backButtonText),t._currentView.currentDataArrayPageIndex>0?t._currentView.backButton.onclick=()=>x(t):t._currentView.backButton.disabled=!0,t._currentView.nextButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","next",e.text.nextButtonSymbolText),t._currentView.nextButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.nextButton,t,e.text.nextButtonText),t._currentView.currentDataArrayPageIndex+(t.paging.columnsPerPage-1)T(t):t._currentView.nextButton.disabled=!0):Is.definedArray(n)&&(t.paging.enabled=!1),t.title.enableFullScreenToggling&&t.title.showFullScreenButton){const n=t._currentView.fullScreenOn?e.text.fullScreenOffButtonSymbolText:e.text.fullScreenOnButtonSymbolText;t._currentView.toggleFullScreenButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","toggle-full-screen",n),t._currentView.toggleFullScreenButton.onclick=()=>m(t),t._currentView.toggleFullScreenButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.toggleFullScreenButton,t,e.text.fullScreenButtonText)}}}(t,o);const l=DomElement.create(t._currentView.element,"div","contents");if(n&&l.classList.add("page-switch"),t.paging.enabled&&Is.definedArray(o)){const e=Is.defined(o[t._currentView.currentDataArrayPageIndex+1]),n=Arr.removeNullOrUndefinedEntries(o);t.data=n;for(let o=0;ow(t),t._currentView.sideMenu=DomElement.create(t._currentView.element,"div","side-menu");const n=DomElement.create(t._currentView.sideMenu,"div","side-menu-title-bar");if(Is.definedString(t.sideMenu.titleText)){DomElement.create(n,"div","side-menu-title-bar-text").innerHTML=t.sideMenu.titleText}const o=DomElement.create(n,"div","side-menu-title-controls");if(t.sideMenu.showExportButton&&Is.definedObject(t.data)){const n=DomElement.createWithHTML(o,"button","export",e.text.exportButtonSymbolText);n.onclick=()=>function(t){const n=JSON.stringify(Convert2.toJsonStringifyClone(t.data,e,t),t.events.onCopyJsonReplacer,t.jsonIndentSpaces);if(Is.definedString(n)){const o=DomElement.create(document.body,"a");o.style.display="none",o.setAttribute("target","_blank"),o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(n)}`),o.setAttribute("download",function(t){const n=new Date,o=DateTime.getCustomFormattedDateText(e,n,t.exportFilenameFormat);return o}(t)),o.click(),document.body.removeChild(o),w(t),S(t,e.text.exportedText),Trigger.customEvent(t.events.onExport,t._currentView.element)}}(t),ToolTip.add(n,t,e.text.exportButtonText)}if(t.sideMenu.showImportButton){const n=DomElement.createWithHTML(o,"button","import",e.text.importButtonSymbolText);n.onclick=()=>b(t),ToolTip.add(n,t,e.text.importButtonText)}const r=DomElement.createWithHTML(o,"button","close",e.text.closeButtonSymbolText);if(r.onclick=()=>w(t),ToolTip.add(r,t,e.text.closeButtonText),Is.definedObject(t.data)){!function(t,n){const o=[],r=DomElement.create(t,"div","settings-panel"),l=DomElement.create(r,"div","settings-panel-title-bar");DomElement.createWithHTML(l,"div","settings-panel-title-text",`${e.text.showDataTypesText}:`);const i=DomElement.create(l,"div","settings-panel-control-buttons"),a=DomElement.create(i,"div","settings-panel-control-button settings-panel-fill"),s=DomElement.create(i,"div","settings-panel-control-button");a.onclick=()=>y(n,o,!0),s.onclick=()=>y(n,o,!1),ToolTip.add(a,n,e.text.selectAllText),ToolTip.add(s,n,e.text.selectNoneText);const u=DomElement.create(r,"div","settings-panel-contents"),c=Object.keys(DataType),d=n.ignore;c.sort(),c.forEach(((e,t)=>{const r=function(e,t,n,o){let r=null;const l=n._currentView.dataTypeCounts[t];if(!n.sideMenu.showOnlyDataTypesAvailable||l>0){let i=Str.capitalizeFirstLetter(t),a="";n.sideMenu.showAvailableDataTypeCounts&&n._currentView.dataTypeCounts.hasOwnProperty(t)&&(a=`(${l})`),r=DomElement.createCheckBox(e,i,t,o,n.showValueColors?t:"",a),r.onchange=()=>{const e=n.ignore;e[`${t}Values`]=!r.checked,n.ignore=e,n._currentView.sideMenuChanged=!0}}return r}(u,e,n,!d[`${e}Values`]);Is.defined(r)&&o.push(r)}))}(DomElement.create(t._currentView.sideMenu,"div","side-menu-contents"),t)}}}(t),function(t){t.footer.enabled&&Is.defined(t.data)&&(t._currentView.footer=DomElement.create(t._currentView.element,"div","footer-bar"),h(t),t._currentView.footerStatusText=DomElement.createWithHTML(t._currentView.footer,"div","status-text",e.text.waitingText),t.footer.showDataTypes&&(t._currentView.footerDataTypeText=DomElement.create(t._currentView.footer,"div","status-value-data-type"),t._currentView.footerDataTypeText.style.display="none"),t.footer.showLengths&&(t._currentView.footerLengthText=DomElement.create(t._currentView.footer,"div","status-value-length"),t._currentView.footerLengthText.style.display="none"),t.footer.showSizes&&(t._currentView.footerSizeText=DomElement.create(t._currentView.footer,"div","status-value-size"),t._currentView.footerSizeText.style.display="none"),t.paging.enabled&&Is.definedArray(t.data)&&t.data.length>1&&t.footer.showPageOf&&(t._currentView.footerPageText=DomElement.create(t._currentView.footer,"div","status-page-index"),function(t){if(t.paging.enabled){const n=Math.ceil((t._currentView.currentDataArrayPageIndex+1)/t.paging.columnsPerPage),o=Math.ceil(t.data.length/t.paging.columnsPerPage),r=DomElement.createWithHTML(null,"span","status-count",n.toFixed()).outerHTML,l=DomElement.createWithHTML(null,"span","status-count",o.toFixed()).outerHTML,i=e.text.pageOfText.replace("{0}",r).replace("{1}",l);t._currentView.footerPageText.innerHTML=i}}(t)))}(t),function(t){if(t.fileDroppingEnabled){const n=DomElement.create(t._currentView.element,"div","drag-and-drop-background"),o=DomElement.create(n,"div","notice-text");DomElement.createWithHTML(o,"p","notice-text-symbol",e.text.dragAndDropSymbolText),DomElement.createWithHTML(o,"p","notice-text-title",e.text.dragAndDropTitleText),DomElement.createWithHTML(o,"p","notice-text-description",e.text.dragAndDropDescriptionText),t._currentView.dragAndDropBackground=n,t._currentView.element.ondragover=()=>R(t,n),t._currentView.element.ondragenter=()=>R(t,n),n.ondragover=DomElement.cancelBubble,n.ondragenter=DomElement.cancelBubble,n.ondragleave=()=>n.style.display="none",n.ondrop=e=>function(e,t){DomElement.cancelBubble(e),t._currentView.dragAndDropBackground.style.display="none",Is.defined(window.FileReader)&&e.dataTransfer.files.length>0&&H(e.dataTransfer.files,t)}(e,t)}}(t),t._currentView.initialized=!0}function s(t,n,o,r,l,a,s){const m=DomElement.create(n,"div",a>1?"contents-column-multiple":"contents-column");if(Is.defined(t)){m.onscroll=()=>function(e,t,n){ToolTip.hide(t),ContextMenu.hide(t);const o=e.scrollTop,r=e.scrollLeft,l=t._currentView.currentContentColumns.length;if(t.controlPanel.enabled){const e=t._currentView.currentContentColumns[n].controlButtons;Is.defined(e)&&(e.style.top=`${t._currentView.currentContentColumns[n].column.scrollTop}px`,e.style.right=`-${t._currentView.currentContentColumns[n].column.scrollLeft}px`)}if(t.paging.synchronizeScrolling)for(let e=0;e1&&o.allowEditing.bulk&&(m.setAttribute("draggable","true"),m.ondragstart=()=>function(e,t,n){t._currentView.columnDragging=!0,t._currentView.columnDraggingDataIndex=n,e.classList.add("draggable-item")}(m,o,r),m.ondragend=()=>function(e,t){t._currentView.columnDragging=!1,e.classList.remove("draggable-item")}(m,o),m.ondragover=e=>e.preventDefault(),m.ondrop=()=>function(e,t){e._currentView.columnDragging=!1,c(e,e._currentView.columnDraggingDataIndex,t)}(o,r));let n=m,a=null,f=null;o.lineNumbers.enabled&&(a=DomElement.create(m,"div","contents-column-line-numbers"),f=DomElement.create(m,"div","contents-column-lines"),n=f);const p={column:m,lineNumbers:a,lines:f,controlButtons:null};o._currentView.currentContentColumns.push(p),o._currentView.currentColumnBuildingIndex=o._currentView.currentContentColumns.length-1,Is.definedArray(t)?B(n,o,t,"array"):Is.definedSet(t)?B(n,o,Convert2.setToArray(t),"set"):Is.definedHtml(t)?v(n,o,Convert2.htmlToObject(t,o.showCssStylesForHtmlObjects),r,"html"):Is.definedMap(t)?v(n,o,Convert2.mapToObject(t),r,"map"):Is.definedObject(t)?v(n,o,t,r,"object"):v(n,o,Obj.createFromValue(t),r,"object"),d(o._currentView.currentColumnBuildingIndex,o),function(t,n,o,r){const l=DomElement.create(n,"div","column-control-buttons");l.ondblclick=DomElement.cancelBubble;const a=t.paging.enabled&&Is.definedArray(t.data)&&t.data.length>1;if(t.allowEditing.bulk&&t.controlPanel.showEditButton){const i=DomElement.createWithHTML(l,"button","edit",e.text.editSymbolButtonText);i.onclick=()=>u(null,t,o,n,r),i.ondblclick=DomElement.cancelBubble,ToolTip.add(i,t,e.text.editButtonText)}if(a&&t.allowEditing.bulk&&t.paging.allowColumnReordering&&t.controlPanel.showMovingButtons){const n=DomElement.createWithHTML(l,"button","move-right",e.text.moveRightSymbolButtonText);n.ondblclick=DomElement.cancelBubble,r+1>t.data.length-1?n.disabled=!0:n.onclick=()=>c(t,r,r+1),ToolTip.add(n,t,e.text.moveRightButtonText);const o=DomElement.createWithHTML(l,"button","move-left",e.text.moveLeftSymbolButtonText);o.ondblclick=DomElement.cancelBubble,r-1<0?o.disabled=!0:o.onclick=()=>c(t,r,r-1),ToolTip.add(o,t,e.text.moveLeftButtonText)}if(a&&t.controlPanel.showCopyButton){const n=DomElement.createWithHTML(l,"button","copy",e.text.copyButtonSymbolText);n.onclick=()=>g(t,o),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.copyButtonText)}if(a&&t.controlPanel.showCloseOpenAllButtons){const n=DomElement.createWithHTML(l,"button","open-all",e.text.openAllButtonSymbolText);n.onclick=()=>function(e,t){const n=e._currentView.contentPanelsOpen[t];for(const e in n)n.hasOwnProperty(e)&&(n[e]=!1);i(e)}(t,r),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.openAllButtonText);const o=DomElement.createWithHTML(l,"button","close-all",e.text.closeAllButtonSymbolText);o.onclick=()=>function(e,t){const n=e._currentView.contentPanelsOpen[t];for(const e in n)n.hasOwnProperty(e)&&(n[e]=!0);i(e)}(t,r),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.closeAllButtonText)}if(t.allowEditing.bulk&&t.controlPanel.showRemoveButton){const n=DomElement.createWithHTML(l,"button","remove",e.text.removeSymbolButtonText);n.onclick=()=>function(t,n){t.paging.enabled?(t.data.splice(n,1),n===t._currentView.currentDataArrayPageIndex&&t._currentView.currentDataArrayPageIndex>0&&(t._currentView.currentDataArrayPageIndex-=t.paging.columnsPerPage)):t.data=null;i(t),S(t,e.text.arrayJsonItemDeleted)}(t,r),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.removeButtonText)}if(!t.paging.enabled&&Is.definedArray(t.data)&&t.data.length>1&&t.controlPanel.showSwitchToPagesButton){const n=DomElement.createWithHTML(l,"button","switch-to-pages",e.text.switchToPagesSymbolText);n.onclick=()=>function(e){e.paging.enabled=!0,i(e)}(t),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.switchToPagesText)}""!==l.innerHTML?(t._currentView.currentContentColumns[t._currentView.currentColumnBuildingIndex].controlButtons=l,n.style.minHeight=`${l.offsetHeight}px`):n.removeChild(l)}(o,m,t,r),Is.defined(l)&&(m.scrollTop=l),o._currentView.titleBarButtons.style.display="block",o.allowEditing.bulk&&(m.ondblclick=e=>{u(e,o,t,m,r)})}else{const t=DomElement.create(m,"div","no-json");if(DomElement.createWithHTML(t,"span","no-json-text",e.text.noJsonToViewText),o.sideMenu.showImportButton){DomElement.createWithHTML(t,"span","no-json-import-text",`${e.text.importButtonText}${e.text.ellipsisText}`).onclick=()=>b(o)}}}function u(t,n,o,r,l){let a=null;Is.defined(t)&&DomElement.cancelBubble(t),clearTimeout(n._currentView.valueClickTimerId),n._currentView.valueClickTimerId=0,n._currentView.editMode=!0,r.classList.add("editable"),r.setAttribute("contenteditable","true"),r.setAttribute("draggable","false"),r.innerText=JSON.stringify(Convert2.toJsonStringifyClone(o,e,n),n.events.onCopyJsonReplacer,n.jsonIndentSpaces),r.focus(),DomElement.selectAllText(r),r.onblur=()=>{i(n,!1),Is.definedString(a)&&S(n,a)},r.onkeydown=t=>{if("Escape"===t.code)t.preventDefault(),r.setAttribute("contenteditable","false");else if(z(t)&&"Enter"===t.code){t.preventDefault();const o=r.innerText,i=Convert2.jsonStringToObject(o,e);i.parsed&&(a=e.text.jsonUpdatedText,n.paging.enabled?Is.defined(i.object)?n.data[l]=i.object:(n.data.splice(l,1),a=e.text.arrayJsonItemDeleted,l===n._currentView.currentDataArrayPageIndex&&n._currentView.currentDataArrayPageIndex>0&&(n._currentView.currentDataArrayPageIndex-=n.paging.columnsPerPage)):n.data=i.object),r.setAttribute("contenteditable","false")}else"Enter"===t.code&&(t.preventDefault(),document.execCommand("insertLineBreak"))}}function c(t,n,o){if(n!==o){const r=t.data[o],l=t.data[n];let a=t._currentView.contentPanelsOpen[o],s=t._currentView.contentPanelsOpen[n];Is.defined(a)||(a={}),Is.defined(s)||(s={}),t.data[o]=l,t.data[n]=r,t._currentView.contentPanelsOpen[o]=s,t._currentView.contentPanelsOpen[n]=a,t._currentView.currentDataArrayPageIndex+(t.paging.columnsPerPage-1)0){let l=DomElement.getOffset(s).top;1===e&&(o=l),l-=o;const a=DomElement.create(n.lineNumbers,"div","contents-column-line-number"),u=t.lineNumbers.addDots?".":"";t.lineNumbers.padNumbers?a.innerHTML=`${Str.padNumber(e,i.toString().length)}${u}`:a.innerHTML=`${e}${u}`;const c=l+s.offsetHeight/2-a.offsetHeight/2;a.style.top=`${c}px`,r=Math.max(r,a.offsetWidth)}e++}n.lineNumbers.style.height=`${n.lines.offsetHeight}px`,n.lineNumbers.style.width=`${r}px`}else Is.defined(n.lineNumbers)&&(n.lineNumbers.parentNode.removeChild(n.lineNumbers),n.lineNumbers=null)}function g(t,n){const o=JSON.stringify(Convert2.toJsonStringifyClone(n,e,t),t.events.onCopyJsonReplacer,t.jsonIndentSpaces);navigator.clipboard.writeText(o),S(t,e.text.copiedText),Trigger.customEvent(t.events.onCopy,t._currentView.element,o)}function m(t){t.title.enableFullScreenToggling&&(t._currentView.element.classList.contains("full-screen")?(t._currentView.element.classList.remove("full-screen"),t._currentView.toggleFullScreenButton.innerHTML=e.text.fullScreenOnButtonSymbolText,t._currentView.fullScreenOn=!1):(t._currentView.element.classList.add("full-screen"),t._currentView.toggleFullScreenButton.innerHTML=e.text.fullScreenOffButtonSymbolText,t._currentView.fullScreenOn=!0),ToolTip.hide(t),ContextMenu.hide(t),h(t),Trigger.customEvent(t.events.onFullScreenChange,t._currentView.element,t._currentView.element.classList.contains("full-screen")))}function f(e){e.showAllAsClosed=!1,e._currentView.contentPanelsOpen={},i(e),Trigger.customEvent(e.events.onOpenAll,e._currentView.element)}function p(e){e.showAllAsClosed=!0,e._currentView.contentPanelsOpen={},i(e),Trigger.customEvent(e.events.onCloseAll,e._currentView.element)}function x(e){null===e._currentView.backButton||e._currentView.backButton.disabled||(e._currentView.currentDataArrayPageIndex-=e.paging.columnsPerPage,i(e,!0),Trigger.customEvent(e.events.onBackPage,e._currentView.element))}function T(e){null===e._currentView.nextButton||e._currentView.nextButton.disabled||(e._currentView.currentDataArrayPageIndex+=e.paging.columnsPerPage,i(e,!0),Trigger.customEvent(e.events.onNextPage,e._currentView.element))}function b(e){const t=DomElement.createWithNoContainer("input");t.type="file",t.accept=".json",t.multiple=!0,w(e),t.onchange=()=>H(t.files,e),t.click()}function w(t){let n=!1;return t._currentView.sideMenu.classList.contains("side-menu-open")&&(t._currentView.sideMenu.classList.remove("side-menu-open"),t._currentView.disabledBackground.style.display="none",ToolTip.hide(t),ContextMenu.hide(t),t._currentView.sideMenuChanged&&setTimeout((()=>{i(t),S(t,e.text.ignoreDataTypesUpdated)}),500),n=!0),n}function y(e,t,n){const o=t.length,r=e.ignore;for(let e=0;e0&&(o.addEventListener("mousemove",(()=>{const n=DomElement.createWithHTML(null,"span","status-count",r.toString()).outerHTML,o=e.text.lengthText.replace("{0}",n);t._currentView.footerLengthText.style.display="block",t._currentView.footerLengthText.innerHTML=o})),o.addEventListener("mouseleave",(()=>{t._currentView.footerLengthText.style.display="none",t._currentView.footerLengthText.innerHTML=""})))}}function V(t,n,o){if(t.footer.enabled&&t.footer.showSizes){const r=Size.of(n,t.showCssStylesForHtmlObjects);Is.definedString(r)&&(o.addEventListener("mousemove",(()=>{const n=DomElement.createWithHTML(null,"span","status-count",r.toString()).outerHTML,o=e.text.sizeText.replace("{0}",n);t._currentView.footerSizeText.style.display="block",t._currentView.footerSizeText.innerHTML=o})),o.addEventListener("mouseleave",(()=>{t._currentView.footerSizeText.style.display="none",t._currentView.footerSizeText.innerHTML=""})))}}function S(t,n){t.footer.enabled&&(t._currentView.footerStatusText.innerHTML=n,clearTimeout(t._currentView.footerStatusTextTimerId),t._currentView.footerStatusTextTimerId=setTimeout((()=>{t._currentView.footerStatusText.innerHTML=e.text.waitingText}),t.footer.statusResetDelay))}function v(t,n,o,r,l){const i=Obj.getPropertyNames(o,n),a=i.length;if(0!==a||!n.ignore.emptyObjects){let s=null;"object"===l?s=e.text.objectText:"map"===l?s=e.text.mapText:"html"===l&&(s=e.text.htmlText);const u=DomElement.create(t,"div","object-type-title"),c=DomElement.create(t,"div","object-type-contents last-item"),d=n.showArrowToggles?DomElement.create(u,"div","down-arrow"):null,g=DomElement.createWithHTML(u,"span",n.showValueColors?`${l} main-title`:"main-title",s);let m=null,f=null;if(_(c,n),n.paging.enabled&&Is.definedNumber(r)){let t=n.useZeroIndexingForArrays?r.toString():(r+1).toString();n.showArrayIndexBrackets&&(t=`[${t}]`),DomElement.createWithHTML(u,"span",n.showValueColors?`${l} data-array-index`:"data-array-index",t,g),DomElement.createWithHTML(u,"span","split",e.text.propertyColonCharacter,g)}n.showObjectSizes&&a>0&&("html"===l?DomElement.createWithHTML(u,"span",n.showValueColors?`${l} size`:"size",`<${a}>`):DomElement.createWithHTML(u,"span",n.showValueColors?`${l} size`:"size",`{${a}}`)),n.showOpeningClosingCurlyBraces&&(m=DomElement.createWithHTML(u,"span","opening-symbol","{")),n.showClosedObjectCurlyBraces&&(f=DomElement.createWithHTML(u,"span","closed-symbols","{ ... }")),E(d,null,c,n,o,i,m,f,!1,!0,"",l,"object"!==l),O(n,g,o,l,!1),V(n,o,g),D(n,o,g),F(n,u,!1,o,o,null,!1,null)}}function B(t,n,o,r){let l=null;"set"===r?l=e.text.setText:"array"===r&&(l=e.text.arrayText);const i=DomElement.create(t,"div","object-type-title"),a=DomElement.create(t,"div","object-type-contents last-item"),s=n.showArrowToggles?DomElement.create(i,"div","down-arrow"):null,u=DomElement.createWithHTML(i,"span",n.showValueColors?`${r} main-title`:"main-title",l);let c=null,d=null;_(a,n),n.showObjectSizes&&DomElement.createWithHTML(i,"span",n.showValueColors?`${r} size`:"size",`[${o.length}]`),n.showOpeningClosingSquaredBrackets&&(c=DomElement.createWithHTML(i,"span","opening-symbol","[")),n.showClosedArraySquaredBrackets&&(d=DomElement.createWithHTML(i,"span","closed-symbols","[ ... ]")),C(s,null,a,n,o,c,d,!1,!0,"",r,"array"!==r),O(n,u,o,r,!1),V(n,o,u),D(n,o,u),F(n,i,!1,o,o,null,!1,null)}function E(t,n,o,r,l,i,a,s,u,c,d,g,m){let f=!0;const p=i.length,x=""!==d?p:0;if(0!==p||r.ignore.emptyObjects){for(let e=0;e