net/relayd: Usability improvements https://github.com/opnsense/plugins/issues/2232
o support enable/disable flag on backend hosts, while here perform some minor cleanups as well (use our standard classes and some style fixes) for https://github.com/opnsense/plugins/issues/2232
o lock delete action to prevent "delete selected" from ignoring most entries. (eventually it might be better to stick to ApiMutableModelControllerBase actions to simplify logiuc, but since there's all some logic incorporated in these endpoints now, let's keep it as is now and only add a lock.)
o ignore backup without check in relayd.conf (prevent crash with "Template Error" when a backup without a template is provided)
o extend status controller with "wait" flag to give relayd some time for collecting status (retry mechanism)
o refactor status.volt use jQuery components to construct items and make sure each row contains all relevant data
o extend status controller output with attached configuration data and add listen_address and port(s) for virtualservers
o extend model with an easy to use "get by name" method (getObjectsByAttribute)
o change api response for host properties, since we can't uniquely tell which host item belongs to the output of `relayctl show summary`, we search the ones that are most likely to match
o extend status controller toggle action so it can enable/disable hosts on "add" and "remove" actions, $id's are (a list of) uuid's in that case
o extend status controller to return "unconfigured" when disabled in the configuration, so we can distinct between temporary disabled (running config) and offline
o status page: switch icons to fonts-awesome (standard theme) in status view
o status page: add filter option in status view
o status page: add bind address and port in virtual server field
o status page: add host name(s) if it differs from the address, so we can search on user configurable names as well
o status page: add transitions, down -> stopped, disabled -> enabled (+ service reconfigure)
o status page: always show host disable button
o status page: restructure translation texts
o status page: add toggle to hide table column, provides some additional overview when only single tables are used in a virtual server
o status page: support local presets using localStorage object, quickly traverse through different filters previously saved on the local client.
sponsored by : Modirum (https://www.modirum.com/)
* Apply should reconfigure, it takes care of start stop reload
according to the mutable service settings.
* ; exit 0 on stop was caused by spurious apply. Fixed by doing
reconfigure (see above).
* Add service control to status and log page.
* Spacing for spinner icons in buttons.
* Apply spins until reconfigured.
From my side this is ready for release in 18.1.7 when the legacy
model migration works fine. There is one change for this in core
that is not in 18.1.6 that prevents earlier merge.
CC: @fbrendel