Releases: williamtroup/JsonTree.js
Releases · williamtroup/JsonTree.js
JsonTree.js v4.7.0 - Convert CSV and HTML files to JSON!
New Features:
- Added support to import CSV files (each line will be converted to a JSON object).
- Added support to import HTML files (will be converted to a standard object as per usual).
Configuration Options:
- The configuration option called "text.importedText" now defaults to "{0} files imported.".
- The configuration option called "text.dragAndDropTitleText" now defaults to "Drag and drop your files to upload.".
Improvements:
- HTML data types now contain a new property called "$type", which states the node type of the element.
- Added a "max-height" to the inner contents container that defaults to 700px.
Fixes:
- Fixed a few type faults in the import files area.
- Fixed some missing types for loops.
- Fixed a fault that prevented the HTML data type object "@children" from being converted to JSON when editing/copying.
JsonTree.js v4.6.4 - Custom scrollbars, and fixes!
- Fixed a minimum width issue occurring on the Control Panel expand button.
- Added a custom scrollbar, which will be used for all WebKit-based browsers moving forward.
- Fixed both scroll bars being visible for X/Y on an edited name/value, and always being visible.
- Fixed an issue that caused the vertical scrollbar to appear in the display when not required.
- Updated the NPM packages to the latest versions.
JsonTree.js v4.6.3 - Bulk editing / paging fixes!
- Fixed a fault that prevented bulk editing from working when paging is enabled, but no array data has been used for the JSON.
- Fixed a script error that occurred when removing the JSON (when paging is enabled, but no array data has been used for the JSON) via the Control Buttons.
- Fixed a fault that caused errors when calling backPage() and nextPage() when paging is enabled, but no array data has been used for the JSON.
JsonTree.js v4.6.2 - Fixed shortcut keys not working in Windows!
- Fixed a fault that prevented the shortcut keys from working correctly.
JsonTree.js v4.6.1 - 12-hour format support! UI improvements and fixes!
- Fixed a fault that prevented the Control Buttons from sticking to the top-right of the JSON column.
- Fixed a fault that caused the Control Buttons open state to be forgotten when moving columns around.
- RGB colors that are now spaced out better for readability (for example, "rgb( 1, 1, 1 )").
- Added "{aa}" Date/Time formatting support, which will show either AM or PM, depending on the time of day.
- Added "{hhh}" Date/Time formatting support, which will show the hours in a 12-hour format.
- BigInt values now show an "n" character at the end so it's clear what value they are (unless obscured by the "maximum.bigIntLength" binding option).
- The padding used for null/undefined values in the display has been slightly decreased.
JsonTree.js v4.6.0 - Open/Close control buttons! SASS improvements! Fixes!
New Features:
- Added support to open/close the control buttons in the main columns.
Binding Options:
- Added a new binding option called "controlPanel.showOpenCloseButton" (defaults to true), which states if the open/close button is shown.
Configuration Options:
- Added a new option called "text.openCloseSymbolText", which states the symbol text to use for the Control Buttons open/close button (defaults to "↹").
Improvements:
- Updated the NPM packages to the latest versions.
- SCSS files now use @use statements instead of @import (which has been deprecated).
- The "Import" link now shows a space between the text and the ellipsis when no JSON is available to view.
Fixes:
- Fixed a fault that caused the wrong nodes to be opened/closed when manually deleting a column.
- Fixed a huge fault that caused errors when attempting to bulk edit the JSON in a column (or single view).
JsonTree.js v4.5.0 - More options, performance improvements, and fixes!
Shortcut Navigation Keys:
- Pressing Ctrl/Command + C will copy all the JSON to the clipboard (if only one instance of JsonTree.js is used).
Binding Options:
- Added a new binding option called "openUrlsInSameWindow" (defaults to false), which states if a URL should be opened in the same window.
- Added a new binding option called "maximum.functionLength" (defaults to 0, state will use the full name), which states the maximum size a function can be in the display.
- Added a new binding option called "maximum.lambdaLength" (defaults to 0, state will use the full name), which states the maximum size a lambda can be in the display.
Improvements:
- The onscroll() method used for all columns is much faster.
- Empty symbols are now shown as "Symbol" instead of "Symbol()".
- Symbols that are not empty are spaced out better for readability (for example, "Symbol( id )").
- Functions and Lambdas now show the accepted parameters.
Fixes:
- Fixed a fault that prevented synchronized scrolling from working on all other columns except the first one.
- Fixed a fault that didn't allow empty strings to be edited.
- Fixed a slight misalignment of the object borders (when enabled) for the current expand icon types.
- Fixed a fault that caused a string value that contains only whitespace characters to be treated as a float value.
- Fixed the missing CSS variable colors from all theme files.
JsonTree.js v4.4.0 - Imported filename display support! More parsing options! Export a page! Lots of improvements and fixes!
New Features:
- Added filename display support! This will show the filename (in the root of the JSON) for imported files.
- Added "Export" support to the Control Panel (shown when paging is enabled), allowing a page/column to be exported.
- Added support to toggle the parsing of Floats and Big Ints.
Binding Options:
- Added a new binding option called "maximum.propertyNameLength" (defaults to 0, state will use the full name), which states the maximum size a property name can be in the display.
- Added a new binding option called "sideMenu.updateDisplayDelay" (defaults to 500 milliseconds), which states the delay that should be used before updating the UI (when something has changed).
- Added a new binding option called "controlPanel.showExportButton" (defaults to true), which states if the export button is shown.
- Added a new binding option called "parse.stringsToFloats" (defaults to false), which states if string values should be parsed to float values (if valid).
- Added a new binding option called "parse.stringsToBigInts" (defaults to false), which states if string values should be parsed to big int values (if valid).
Improvements:
- The ordinal text for a day in the Date/Time display values is now shown in a element.
- Removed the transition effect for "padding" and "border" for items selected in the display.
- When files are imported, they are now sorted and displayed in alphabetical order.
- Improved the RegEx used to identify Date/Time strings (allowing for timezone adjustments) when parsing is enabled.
Fixes:
- Fixed a fault that caused the binding option "controlPanel.enabled" to be ignored.
- Fixed a fault that caused duplicate checks to occur for custom events when rendering JSON values.
- Fixed a fault that caused the line numbers to re-render lots of times when rendering the JSON for the first time (causing performance issues with large JSON files).
- Fixed a fault that prevented imported files from being loaded when another non-JSON file was selected at the same time.
JsonTree.js v4.3.0 - Custom data types! Custom expand icons! New options and fixes!
New Features:
- 4 expand icon types are now supported by default: arrows, squares, circles, and plus/minus!
- Added custom data types support (with editing support, and filtering support).
Binding Options:
- BREAKING: Renamed the binding option "showArrowToggles" to "showExpandIcons".
- Added a new binding option called "emptyStringValue" (defaults to ""), which states the display value to use for empty strings.
- Added a new binding option called "expandIconType" (defaults to "arrow"), which states the expand icon type to use (supports "arrow", "square", "circle", and "plus-minus").
- Added a new binding option called "id" (defaults to ""), which states the ID to use for the JsonTree.js element (if not set manually for the ID attribute).
- Added a new binding option called "class" (defaults to ""), which states the custom classes (split up using spaces) to assign to the JsonTree.js element.
Improvements:
- Renamed the "back" and "next" CSS classes used for the toolbar buttons to "back-page" and "next-page".
Fixes:
- Fixed a fault that caused empty strings to appear as "unknown" types.
- Fixed a fault that caused invalid Date() objects to show strangely in the display (when they are invalid, they now default to the current Date/Time).
- Fixed a fault that caused the background color for editable fields to appear black (in light mode).
- Fixed a grammar mistake in the binding option "maximumInspectionLevelsReached" default.
JsonTree.js v4.2.0 - Improving importing! Clear JSON! Lots of new options and fixes!
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).