TMS-WEB-Core-JsonEditor
A TMS WEB Core app build with the Miletus Framework, for editing JSON files - typically configuration files - with additional help and context about the contents of the file being edited.
- Quiet · last change 12-24-2023
- ★ 1 on GitHub
README
TMS WEB Core JSON Editor
This repository contains a JSON editor that has been built with TMS WEB Core (Delphi) and its Miletus Framework, resulting in standard binaries for Windows, Linux, macOS, and Raspberry Pi. This repository also includes a separate TMS WEB Core project used to generate the website published directly here on GitHub, where these executables can be downloaded. This project first appeared in connection with a blog post on the TMS Software website, which can be found here.
The basic idea behind this project is to provide an app for editing JSON configuration files. We've all made typos in JSON files, like forgetting a comma or using a {, [, or ( when one of the others was called for. And sometimes it would help to have a bit more information, context, or other documentation when it comes to filling in a value or adding a key of some kind. Well, this is what this tool is for.
When the app first starts, it loads up its own JSON configuration file which tells it what "configurations" are available. Each configuration describes a JSON format, like a Manifest.json file for the web, or even the JSON file used by this app. These "configurations", which are JSON files themselves, describe the object hierarchy of a given JSON file and can provide additional comments, formatting guidelines, input helpers and more.
The app is intended to be used by other projects, providing a much-needed tool for editing increasingly complex JSON configuration files. As a fallback, it also leans on the very capable svelte-jsoneditor, used as a fallback of sorts when the available "configurations" don't cover a particular JSON format.
Key Dependencies
As with any modern web application, other JavaScript libraries/dependencies have been used in this project. Most of the time, this is handled via a CDN link (usually JSDelivr) in the Project.html file. In some cases, for performance or other reasons, they may be included directly.
- TMS WEB Core - This is a TMS WEB Core project, after all
- AdminLTE 4 - Naturally
- Home Assistant - Need a current Home Assistant server to be of much use
- Bootstrap - No introduction needed
- Tabulator - Fantastic pure JavaScript web data tables
- Font Awesome - The very best icons
- Material Design Icons - Used throughout Home Assistant
- Leaflet - Excellent mapping library
- OpenStreetMap - Mapping tile data
- Luxon - For handling date/time conversions
- Shoelace - Web components, particularly the color picker for lights
- Peity Vanilla JS - Fast and simple charts
- Meteocons - Animated Weather Icons by Bas Milius
- SwiperJS - Currently works well with v10
- FlatPickr - Main UI date pickers
- Vanilla Lazy Load - So placeholders can be used
- FlagPack - For displaying citizenship flags
- PanZoom - Used when viewing photos/posters/backgrounds
- HackTimer - Bypasses normal JavaScript timer behaviour
- AudioBuffer-ArrayBuffer-Serializer - Useful for moving audio data around
- InteractJS - Dragging and resizing UI elements of all kinds
- Simplebar - Used to create the custom hexagonal scrollbars
- D3 - Used here to draw audio waveforms
- FileSaver - For downloading HexaGong projects
Additional Notes
While this project is currently under active development, feel free to give it a try and post any issues you encounter. Or start a discussion if you would like to help steer the project in a particular direction. Early days yet, so a good time to have your voice heard. As the project unfolds, additional resources will be made available, including platform binaries, more documentation, demos, and so on.
Repository Information
Last updated at 2023-12-24 05:05:07 UTC
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Pascal 3 130 161 600
Delphi Form 1 0 0 355
CSS 1 20 0 186
HTML 3 15 6 68
Markdown 1 9 2 55
YAML 2 8 13 35
-------------------------------------------------------------------------------
SUM: 11 182 182 1299
-------------------------------------------------------------------------------
8 Files (without source code) were skippedSponsor / Donate / Support
If you find this work interesting, helpful, or valuable, or that it has saved you time, money, or both, please consider directly supporting these efforts financially via GitHub Sponsors or donating via Buy Me a Pizza. Also, check out these other GitHub Repositories that may interest you.
More TMS WEB Core and TMS XData Content
If you're interested in other TMS WEB Core and TMS XData content, follow along on 𝕏 at @WebCoreAndMore, join our 𝕏 Web Core and More Community, or check out the TMS Software Blog.

