Commit Graph

34 Commits

Author SHA1 Message Date
Maciej Krüger
1f451d4021
gluon-web-model: fix issue with warning blocking save on private-wifi
The other bugfix which made this element inherit from AbstractValue
caused AbstractValue:validate() to be inherited aswell

Now added an if so validate only runs if a datatype is set
(since Element is meant as a generic way to extend web-model without
modifying web-model - also to add custom inputs - just hiding it behind an if sounds like a sane solution)
2023-01-28 20:42:52 +01:00
Jan-Niklas Burfeind
524044c552 packages: fix html indentation 2023-01-04 12:36:17 +01:00
Jan-Niklas Burfeind
389314f58a gluon-web-model: add minify flag support 2023-01-03 20:16:09 +01:00
Jan-Niklas Burfeind
5f371a3cd4 gluon-web-model: fix mixed indentation 2023-01-03 07:45:43 +01:00
Jan-Niklas Burfeind
cad694a22a gluon-web-model: mark minified js as such
changes ln from third to first form (see man ln)
2023-01-03 07:45:43 +01:00
Maciej Krüger
a0db0a46b3
gluon-web-model: resolve hang when submitting form with disabled element
I was made aware of a bug when submitting the form while the element is
disabled based on it's dependencies

The fix was to inherit from AbstractValue instead of just node

AbstractValue's AbstractValue:resolve_node_depends() in particular
solves the issue, but it made more sense to just use the full base class
2022-12-13 21:18:41 +01:00
Maciej Krüger
30a6b76520
gluon-web-model: add Section:element and Element, add Warning template 2022-12-10 22:49:18 +01:00
Igor Scheller
f033fcfc0d treewide: Replace /> self closing html tags with > 2022-02-22 18:48:09 +01:00
Matthias Schiffer
94519cfc56
gluon-web-*: remove unused "token" form value
This was a remnant of LuCI that was never used in gluon-web.
2022-02-01 23:22:08 +01:00
Matthias Schiffer
f419db58a2 Set PKG_VERSION in gluon.mk
This removes PKG_VERSION and PKG_RELEASE from most Makefiles, as the
value was never useful for Gluon packages; instead, PKG_VERSION is set
to 1 in gluon.mk.

It also removes two other weird definitions:

- gluon-iptables-clamp-mss-to-pmtu replicating the old PKG_VERSION logic
  from gluon-core, but without the fixed PKG_BUILD_DIR to prevent
  unnessary rebuilds
- gluon-hoodselector set GLUON_VERSION=3
2021-10-07 23:42:38 +02:00
Matthias Schiffer
df9fa32d58
gluon-web-model: add state tracking to sections
This add support for a write() method on sections, in addition to the
value and form level write(). write() is only called when the section is
valid and visible. In addition, write() is empty by default, so it can be
overridden more easily.
2021-05-15 00:02:44 +02:00
Matthias Schiffer
f75f40d29a
gluon-config-mode-theme: add cross-browser styling for <select> elements
Replace the ugly arrow shown in Firefox with a custom SVG arrow. Tested
and working in Firefox, Chrome and Edge. The arrow doesn't show in IE, but
the gluon-web-model JavaScript is already severely broken in IE, so we
don't care.
2020-07-03 21:53:51 +02:00
Matthias Schiffer
7360e97a9c
gluon-web-*: remove non-existing CSS classes 2020-07-02 23:43:23 +02:00
Matthias Schiffer
e8c65ef75f
gluon-web-model: fix conflicting table fields "reset"
With 11a3b56617 ("gluon-web-model: add dependency support for
sections"), a "reset" function was added to all model nodes. This
conflicts with the "reset" field of the Form object, making reset
buttons show labels like "function: 0xbb8d50" and possibly breaking form
processing when packages override the reset field.
2020-06-06 17:23:21 +02:00
Matthias Schiffer
45b518df11 gluon-web-model: remove unused field error message code
Validation errors are mostly handled in the frontend (by displaying
invalid fields with a red background). There was some code left in the
backend for handling different kinds of errors, and returning custom
error messages from validate(), but the resulting value was not used
anywhere.
2020-06-05 21:46:30 +02:00
Matthias Schiffer
5adbaf2907 gluon-web-model: remove dead code for section errors 2020-06-05 21:46:30 +02:00
Matthias Schiffer
e6859ca031 gluon-web-model: remove unused tag_invalid and tag_missing fields 2020-06-05 21:46:30 +02:00
Matthias Schiffer
11a3b56617 gluon-web-model: add dependency support for sections
- Add a dependency array to section template
- Lift dependency handling from AbstractValue to Node
- Split resolve_depends() into a function handling dependencies of a
  node itself (resolve_node_depends()), which now is used for all nodes,
  and the existing recursive descent through the node tree
- When any node's dependencies are not satisfied, all descendents are
  reset recursively, meaning that an option in a section that is hidden
  will always be ignored, as if the option's own dependencies were
  unsatisfied

Fixes: #1349
2020-06-04 22:54:28 +02:00
Matthias Schiffer
35950b44b7 gluon-web-model: fix passing additional variables from form template to sections
This is currently unused in our packages.
2020-06-04 22:54:28 +02:00
Matthias Schiffer
3951607e53 gluon-web-model: fix deplist() argument list
Fixes dependency tracking for individual <option> elements (currently
unused).
2020-06-04 22:54:28 +02:00
Kasalehlia
bf090a8a83 gluon-web-model: update inputs on form reset
Register to 'reset' event on form element and make call to 'update' function
delayed in 'data-update' handler to allow the form values to update beforehand.

When using a form's 'reset' button, form field visibility was not updated.
This could lead to situations where a checkbox had to be toggled again
twice to display the detail text inputs. (Example taken from private
wifi package)
2020-04-05 12:47:49 +02:00
bobcanthelpyou
f2305faea8 gluon-web-model: fix return value of resolve_depends() 2019-06-16 22:51:53 +02:00
bobcanthelpyou
4249d65af7 treewide: fix luacheck warnings 2019-06-16 22:51:53 +02:00
Matthias Schiffer
da45bd5987
treewide: do not use Lua module() 2019-06-16 15:51:43 +02:00
Matthias Schiffer
ba1df47dba
gluon-web-model: add custom events for form elements 2018-09-01 11:28:12 +02:00
Matthias Schiffer
a3a1d217f2
gluon-web-model, gluon-config-mode-theme: replace old gluon-map class, fix Form id 2018-09-01 11:28:12 +02:00
Matthias Schiffer
9a732f30dd
gluon-web-model: reorder Node arguments so Section:option() can just pass them through 2018-09-01 11:28:12 +02:00
Matthias Schiffer
653c132013
gluon-web-model: remove unused Section attribute "fields" 2018-09-01 11:28:12 +02:00
Matthias Schiffer
06a9d61523
gluon-web-*: replace nixio with luaposix 2018-07-17 20:08:16 +02:00
Matthias Schiffer
994c94918a
treewide: automatically set SECTION and CATEGORY for Gluon packages 2018-04-14 00:01:04 +02:00
Matthias Schiffer
60522ee253
treewide: move package Makefile boilerplate to gluon.mk 2018-03-08 19:49:41 +01:00
Matthias Schiffer
934221b86f
treewide: remove redundant definitions from package Makefiles 2018-03-07 21:23:41 +01:00
Matthias Schiffer
9648489a01
gluon-web: reorganize layout handling
Also bring back gluon-web-theme's i18n strings.
2018-02-26 00:07:12 +01:00
Matthias Schiffer
c3e4ceed28
gluon-web: split out model support into a separate package 2018-02-26 00:07:08 +01:00