Skip to content

JsonTree.js v4.2.0 - Improving importing! Clear JSON! Lots of new options and fixes!

Compare
Choose a tag to compare
@william-troup william-troup released this 10 Oct 18:28
· 106 commits to main since this release
eb2d9e4

New Features:

  • Added support to add JSON files directly to the pages via the Control Panel (adds them to the next page index).
  • Added support to clear the JSON being displayed (via a Side Menu button).
  • Added maximum inspection levels support (to help performance).

Binding Options:

  • Added a new binding option called "controlPanel.showImportButton" (defaults to true), which states if the import button is shown.
  • Added a new binding option called "rootName" (defaults to "root"), which states the default name to use for an object/array root (if array paging is disabled).
  • Added a new binding option category called "maximum".
  • BREAKING: Moved the binding options "maximumDecimalPlaces", "maximumStringLength", "maximumUrlLength", and "maximumEmailLength" into the "maximum" category.
  • Added a new binding option called "maximum.numberLength" (defaults to 0, state will use the full number), which states the maximum size a number can be in the display.
  • Added a new binding option called "maximum.bigIntLength" (defaults to 0, which uses the full big int), which states the maximum size a big int can be in the display.
  • Added a new binding option called "maximum.inspectionLevels" (defaults to 10), which states the maximum number of inspection levels that can be shown (helps performance).
  • Added a new binding option called "sideMenu.showClearJsonButton" (defaults to true), which states if the Clear JSON button is to be shown on the side menu.

Binding Options - Custom Triggers:

  • Added a new binding option custom trigger called "onSelectionChange", which fires an event when the selected items in the display are changed.

Configuration Options:

  • Added a new option called "text.clearJsonSymbolText", which states the symbol text to use for the clear JSON side menu button (defaults to "⏎").
  • Added a new option called "text.clearJsonText", which states the text to use for the clear JSON side menu button (defaults to "Clear JSON").
  • Added a new option called "text.maximumInspectionLevelsReached", which states the text to show when the maximum inspection levels has been reached (defaults to "Maximum inspection levels has been reached.").

Public API Functions:

  • Added a new public function called "getSelectedJsonValues()", which will return the JSON values selected in the display.

Improvements:

  • Updated the NPM packages to the latest versions.
  • The disabled background is now rendered separately from the side menu.
  • When the main display is rendered, the CSS class "json-tree-js" is now appended (instead of set) to the elements classes, which will allow custom CSS classes to be used.
  • Added a new CSS variable called "--json-tree-js-indentation-size", which will allow you to easily change the indentation level used in the display.
  • The line numbers now stick to the left when scrolling horizontally.

Fixes:

  • Fixed a text alignment issue in the columns.
  • Fixed a fault that caused the control panel to overlap items in the display (when enabled).
  • Fixed a fault that caused the drag & drop text (in light mode) to show in the wrong color.
  • Fixed a fault that caused duplicate versions of the same color to be used everywhere.
  • Fixed a fault that caused the disabled buttons (in light mode) to not show correctly as disabled.
  • Fixed a fault that caused the title bar buttons (everywhere in light mode) to use a far too dark hover/active color.
  • Fixed a fault that prevented the CSS class "full-screen" from being removed when the public function "destroy()" is called.
  • Fixed a fault that caused the control panel to not stick to the top-right when scrolling (when moving to a different page when array paging is enabled).