Commit Graph

10 Commits

Author SHA1 Message Date
Maxim Prokhorov
e7acf9fb6a webui(build): rollup circular dependency
avoid sharing utility funcs through the main module
2025-04-14 04:08:48 +03:00
Maxim Prokhorov
5152dc9958 webui(template): missing password-reveal click handler 2025-04-04 18:50:57 +03:00
Maxim Prokhorov
f2153f4a38 webui(settings): allow string id mapping in enumerables
store names as {id: name, ...}, not [{id, name}, ...]
entries appear the same way, and js stores keys in the insertion order

fixup numbers converted to strings
fixup select options typing to accept [string, string] instead of [number, string]
2025-03-19 04:38:39 +03:00
Maxim Prokhorov
c4c31fc5f0 sns: numeric settings are using fixed ids
Fixing inconsistent handling of group and non-group settings after rewrite.
Assuming most of the time template would be for group, manually reset
dataset field controlling automatic key${id} generation
2024-08-09 13:46:04 +03:00
Maxim Prokhorov
8fcf4a842d webui: custom enumerable callback 2024-07-30 01:18:18 +03:00
Maxim Prokhorov
8c40476ab8 webui: event-based name updates
enumerable key:entries[] delivered as events
update span / label as well as select
2024-07-12 18:05:32 +03:00
Maxim Prokhorov
53dc51ff41 webui: more typings, clean-up sensor units init 2024-07-04 07:30:50 +03:00
Maxim Prokhorov
02e825571f webui: (key in cfg) => check for null too
should not do implicit 'falsy' check by accessing the value, since boolean 'false' triggers it too
2024-07-02 18:45:19 +03:00
Maxim Prokhorov
28c748e393 webui: types for templates, clean-up consumers 2024-07-01 23:24:22 +03:00
Maxim Prokhorov
289fea4f3d webui: separate sources per module
* migrate to esbuild from terser, since now js source needs bundling
* (temporary?) hijack inline-source object handling to inline html files
* get rid of legacy removeIf comments in source in favour of explicit
  removal either through bundling tree-shaking and / or manual module-*
  class element removal w/ jsdom
* get rid of multi-layered custom checkboxes in favour of
  `appearance: none` directly styling the `input` elem
  also removes scripting part that was supposed to adjust for=... labels
* update to html-minifier-terser, up-to-date html-minifier fork
* update to iro.js 5.5.x, using npm to manage dependencies
* build script can now update resulting html output
  (called after bundling stage, before minification)
2024-06-22 19:49:59 +03:00