|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still not very visible, but the nmsModSwitch() class is starting to look
very interesting.
This introduces a big thing: A type system. So far it is "only" used to
provide generic validation-services for all fields that will be edited, but
the scope can extend further into other uses.
The implementation as it is does shallow validation for IP addresses,
JSON-input (tags,placement), durations/intervals (poll frequency), sysname
references (checks that distro_name is a valid system), and networks
(verifying that mgmt_vlan / traffic_vlan exists). This is expected to
improve over time, and should eventually lead to things like "if it doesn't
exist, then please make it."
As the big comment in nms-ui-switch.js now suggests: This is still just a
proof of concept and while the fundamental concepts of nmsBox seems to work
well, I still feel like I have a lot to iron out in nmsModSwitch, which
really should be generic for networks and switches at the very least.
But we're getting there.
|
|
nmsBox is a new class for generic HTML-based elements, and will eventually be
used to replace nms-info-box.
The idea is simple: a generic way to deal with containers that are usually
represented in HTML too.
To test it, I've re-implemented the GUI for the oplog. This rewrite didn't
really utilize the new benefits of the framework, but was a small step.
I've also added nms-ui-switch, which isn't exposed anywhere yet and isn't
done, but is a good start.
nms-ui-switch will be the new way to add and edit switches in the future, it
will probably be made more generic over time and thus can be reused for
networks too.
Note how x = nmsUiSwitch() will allow you to do x.row["community"].value
to both get and set the value, and setting will visually update and run
any verifier that will be relevant, and alert the parent. This can then
be used for simple stuff like json-verification, but also for stuff like
auto-complete or whatnot. God only knows.
Obviously I will continue to work on this over the next few days...
|