Jo-Philipp Wich [Wed, 18 Sep 2019 05:33:25 +0000 (07:33 +0200)]
luci-mod-network: interfaces.js: derive status from layer 3 device
Align the status column device selection logic with the approach used for
rendering the interface status boxes; first try to obtain the active
layer3 device as reported by ubus, only then fall back to the protocol
specific device hint which might or might not point to an existing device.
Fixes: #3076
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Sep 2019 05:19:18 +0000 (07:19 +0200)]
luci-base: network.js: get low level device details from getifaddr() info
Fixes: #3078
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Sep 2019 05:23:01 +0000 (07:23 +0200)]
luci-mod-system: disable redundant page actions in crontab, startup views
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 17 Sep 2019 05:43:48 +0000 (07:43 +0200)]
luci-mod-system: remplement dropbear settings as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 16 Sep 2019 05:54:25 +0000 (07:54 +0200)]
luci-mod-system: remplement password change as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sun, 15 Sep 2019 18:00:36 +0000 (20:00 +0200)]
luci-mod-system: reimplement SSH key mgmt as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 16 Sep 2019 05:49:05 +0000 (07:49 +0200)]
luci-base: add luci/setPassword rpc method, dropbear feature flag
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 17 Sep 2019 05:03:27 +0000 (07:03 +0200)]
luci-base: luci.js: render view buttons depending on available functions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 16 Sep 2019 05:55:45 +0000 (07:55 +0200)]
luci-base: form.js: implement JSONMap
Implement a new map type JSONMap which uses a JSON data structure instead
of uci as configuration data backend.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Florian Eckert [Tue, 17 Sep 2019 18:59:51 +0000 (20:59 +0200)]
Merge pull request #3074 from TDT-AG/pr/
20190916-flashops-german-translation
luci-base: fix german translation for factory reset hint
Florian Eckert [Tue, 17 Sep 2019 08:09:23 +0000 (10:09 +0200)]
Merge pull request #3063 from TDT-AG/pr/
20190908-luci-app-statistics
luci-app-statistics: Add new plugin options
Jo-Philipp Wich [Tue, 17 Sep 2019 06:28:45 +0000 (08:28 +0200)]
luci-proto-wireguard: fix preshared key validation
Ensure that the preshared key option remains optional.
Fixes: #3075
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Martin Schiller [Mon, 16 Sep 2019 07:32:25 +0000 (09:32 +0200)]
luci-base: fix german translation for factory reset hint
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Hannu Nyman [Sun, 15 Sep 2019 16:38:59 +0000 (19:38 +0300)]
Merge pull request #3069 from musashino205/l10n/base-upd-ja
luci-base: update Japanese translation
INAGAKI Hiroshi [Sun, 15 Sep 2019 11:08:14 +0000 (20:08 +0900)]
luci-base: update Japanese translation
Updated Japanese translations.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
INAGAKI Hiroshi [Sun, 15 Sep 2019 10:15:17 +0000 (19:15 +0900)]
i18n: sync translations
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Jo-Philipp Wich [Sat, 14 Sep 2019 15:44:32 +0000 (17:44 +0200)]
luci-base: luci.js: append version when dynamically loading classes
This allows for some naive cache busting when the LuCI version changes,
to avoid loading outdated classes from cache.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 14 Sep 2019 15:20:41 +0000 (17:20 +0200)]
luci-base: cbi.js: update dependencies after widgets have been rendered
Fixes: #3066
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 14 Sep 2019 15:03:23 +0000 (17:03 +0200)]
luci-base: network.js: register "none" protocol
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Florian Eckert [Fri, 13 Sep 2019 12:20:44 +0000 (14:20 +0200)]
Merge pull request #3024 from TDT-AG/pr/
20190829-material-logo
luci-theme-material: show logo also on login page
Jo-Philipp Wich [Fri, 13 Sep 2019 12:19:33 +0000 (14:19 +0200)]
luci-mod-network: wireless.js: restore mac hints in mac list widget
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Fri, 13 Sep 2019 12:18:43 +0000 (14:18 +0200)]
luci-base: network.js: implement Hosts.getMACHints()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Florian Eckert [Fri, 13 Sep 2019 12:10:01 +0000 (14:10 +0200)]
luci-app-statistics: add ping stddev definition
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Fri, 13 Sep 2019 12:01:36 +0000 (14:01 +0200)]
luci-app-statistics: cleanup ping definitions
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Fri, 13 Sep 2019 10:56:39 +0000 (12:56 +0200)]
luci-app-statistics: update license header in memory definition
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Fri, 13 Sep 2019 10:51:13 +0000 (12:51 +0200)]
luci-app-statistics: add new memory plugin option
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Fri, 13 Sep 2019 09:55:36 +0000 (11:55 +0200)]
luci-app-statistics: add new cpu plugin options
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Jo-Philipp Wich [Fri, 13 Sep 2019 10:57:08 +0000 (12:57 +0200)]
luci-base: fix ip6hint option dependencies and validation
Ref: https://forum.openwrt.org/t/odhcpd-make-lease-file-persistent/44118/8
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Fri, 13 Sep 2019 09:06:30 +0000 (11:06 +0200)]
Merge pull request #3060 from tano-systems/pr/update-ru-i18n
luci-base: Update Russian translation
Anton Kikin [Thu, 12 Sep 2019 21:13:04 +0000 (00:13 +0300)]
luci-base: Update Russian translation
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
Hannu Nyman [Thu, 12 Sep 2019 19:41:08 +0000 (22:41 +0300)]
Merge pull request #3059 from castillofrancodamian/master
luci-base: update Spanish translation
Franco Castillo [Thu, 12 Sep 2019 19:34:11 +0000 (16:34 -0300)]
luci-base: update Spanish translation
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Franco Castillo [Thu, 12 Sep 2019 19:06:32 +0000 (16:06 -0300)]
luci-base: update Spanish translation
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Jo-Philipp Wich [Thu, 12 Sep 2019 17:22:59 +0000 (19:22 +0200)]
luci-mod-system: improve LED configuration page
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 16:56:24 +0000 (18:56 +0200)]
luci-base: sys.lua: fix init script enable action
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 16:55:50 +0000 (18:55 +0200)]
luci-mod-system: add heading to startup page, improve error reporting
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 16:48:58 +0000 (18:48 +0200)]
luci-mod-system: reimplent system/crontab as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 12:42:12 +0000 (14:42 +0200)]
luci-base: whitelist file/write actions on /etc/rc.local
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 12:41:30 +0000 (14:41 +0200)]
luci-mod-system: restore rc.local editing functionality
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 12:13:08 +0000 (14:13 +0200)]
luci-mod-system: reimplent system/startup as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 12:02:06 +0000 (14:02 +0200)]
luci-base: rpc.js: fix list requests, handle aborted http requests
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 12:00:47 +0000 (14:00 +0200)]
luci-base: fix list method handling in ubus-rpc protocol proxy
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 09:10:19 +0000 (11:10 +0200)]
luci-theme-bootstrap: tune .alert-message padding and margin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 09:09:20 +0000 (11:09 +0200)]
luci-base: drop unused tools.status.switch_status() call
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 09:06:38 +0000 (11:06 +0200)]
luci-mod-network: reimplement switch configuration as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 09:01:19 +0000 (11:01 +0200)]
luci-base: add luci/getSwconfigFeatures and luci/getSwconfigPortState
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 08:49:04 +0000 (10:49 +0200)]
luci-base: form.js: handle non-string values in stripTags()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 12 Sep 2019 08:12:33 +0000 (10:12 +0200)]
Merge pull request #3056 from musashino205/l10n/base-upd-ja
luci-base: update Japanese translation
INAGAKI Hiroshi [Thu, 12 Sep 2019 07:52:41 +0000 (16:52 +0900)]
luci-base: update Japanese translation
Updated Japanese translations.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Jo-Philipp Wich [Thu, 12 Sep 2019 04:52:27 +0000 (06:52 +0200)]
Merge pull request #3055 from YuriPet/patch-1
luci-base: update Ukrainian translation
Yurii [Wed, 11 Sep 2019 23:46:17 +0000 (02:46 +0300)]
luci-base: update Ukrainian translation
Update Ukrainian translation according the latest translation resync. Сorrections and additions.
Signed-off-by: Yurii <yuripet@gmail.com>
Jo-Philipp Wich [Wed, 11 Sep 2019 11:19:00 +0000 (13:19 +0200)]
luci-base: restore some lost translations and update german
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 10:58:18 +0000 (12:58 +0200)]
luci-base: resync translations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Nicholas Smith [Mon, 2 Sep 2019 01:43:33 +0000 (11:43 +1000)]
luci-app-firewall: display "this new zone" instead of "undefined"
Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au>
Jo-Philipp Wich [Wed, 11 Sep 2019 10:46:59 +0000 (12:46 +0200)]
luci-app-firewall: disallow creating zone without name
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 10:44:34 +0000 (12:44 +0200)]
luci-base: widgets.js: fix display quirk in tools.widgets.DeviceSelect
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 10:28:58 +0000 (12:28 +0200)]
luci-base: validation.js: implement length() datatype validator
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 10:27:02 +0000 (12:27 +0200)]
luci-mod-network: add missing dependency on rpcd-mod-iwinfo
Fixes:
963b7636b ("luci-mod-network: switch to client side wifi configuration pages")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 10:21:51 +0000 (12:21 +0200)]
luci-base: view.htm: catch and render exceptions on view instantiation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 07:30:00 +0000 (09:30 +0200)]
luci-base: luci.js: register rpc interceptor to catch expired sessions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 07:28:21 +0000 (09:28 +0200)]
luci-base: luci.js: rework error handling
- Capture stack trace in L.raise() if passed type is not an Error instance
- Use L.ui.addNotification in L.error() to render the error message
- Prevent duplicate error reporting in the ui
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 07:25:11 +0000 (09:25 +0200)]
luci-base: rpc.js: revamp error handling, add interceptor support
Add two new functions L.rpc.addInterceptor() and L.rpc.removeInterceptor()
which allow to register and remove interceptor functions which are invoked
before the rpc reply result promise is fulfilled.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 07:23:16 +0000 (09:23 +0200)]
luci-theme-bootstrap: cleanup alert-message css, add fade-in/fade-out anims
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 11 Sep 2019 07:22:13 +0000 (09:22 +0200)]
luci-base: ui.js: implement addNotification() helper
The L.ui.addNotification() function pushes a dismissable banner message to
the top of the view.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 10 Sep 2019 13:27:40 +0000 (15:27 +0200)]
luci-theme-bootstrap: mobile style fixes for wifi overview view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 9 Sep 2019 09:09:18 +0000 (11:09 +0200)]
luci-base: replace luci/getHostname with generic file/read rpc operation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sun, 8 Sep 2019 14:12:25 +0000 (16:12 +0200)]
protocols: replace luci/getTTYDevices calls with generic file/list ones
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sun, 8 Sep 2019 14:09:17 +0000 (16:09 +0200)]
luci-base: add hostapd/wpa_supplicant cli feature flags
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 4 Sep 2019 15:26:38 +0000 (17:26 +0200)]
luci-mod-network: switch to client side wifi configuration pages
Rewrite the wireless network management views in client side JS using ubus
rpc calls for the router communication.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 9 Sep 2019 05:37:35 +0000 (07:37 +0200)]
luci-base: form.js: store pointer to parent map in modal overlay map
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 4 Sep 2019 15:15:13 +0000 (17:15 +0200)]
luci-base: form.js: pass-through promise in handleAdd
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 4 Sep 2019 14:39:50 +0000 (16:39 +0200)]
luci-base: network.js: add getHostHints() api
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 4 Sep 2019 12:23:31 +0000 (14:23 +0200)]
luci-theme-bootstrap: add required styles for file upload widget
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 17:34:33 +0000 (19:34 +0200)]
luci-base: use cgi-io and rpcd-mod-file to handle file upload and browsing
Remove the old server side support for file browsing and file uploading
and switch to a client side widget instead which uses XMLHTTPRequests to
upload files via cgi-io and RPC calls for file listing and status queries.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 17:30:29 +0000 (19:30 +0200)]
luci-base: cbi.js: handle ui elements which return a promise in render()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 17:25:39 +0000 (19:25 +0200)]
luci-base: cbi.js: fix unintended number sign overflow in format
Fixes: #3003
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 17:21:49 +0000 (19:21 +0200)]
luci-base: form.js: use createHandlerFn() for click actions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 9 Sep 2019 09:25:08 +0000 (11:25 +0200)]
luci-base: luci.js: use createHandlerFn() for page actions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 4 Sep 2019 12:19:18 +0000 (14:19 +0200)]
luci-base: form.js: do not consider inactive fields for dependency checks
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 17:17:20 +0000 (19:17 +0200)]
luci-base: rpc.js: add getStatusText() call
The new function allows translating an ubus return code into a human
readable error message.
Also report the called object and method on ubus rpc errors.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 14:56:24 +0000 (16:56 +0200)]
luci-base: network.js: fix, rework and improve wireless state handling
- Use new getWirelessDevices rpc method to optimize data fetching
- Implement further getters to access iwinfo information
- Implement assoc- and scan list functions
- Simplify internal data model
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 14:49:25 +0000 (16:49 +0200)]
luci-base: add getWirelessDevices() rpc method
The getWirelessDevices() method merges the results of the
network.wireless/status call with corresponding per-radio and
per-network iwinfo data.
This allows to simplify the client side network state model
implementation and saves extraneous rpc roundtrips to fetch
iwinfo data after discovering the wireless devices.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 14:48:31 +0000 (16:48 +0200)]
luci-base: luci.js: support passing FormData as request payload
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 14:48:03 +0000 (16:48 +0200)]
luci-base: luci.js: support registering request progress handlers
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 3 Sep 2019 14:47:19 +0000 (16:47 +0200)]
luci-base: luci.js: fix L.Poll.remove()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 21 Aug 2019 16:27:38 +0000 (18:27 +0200)]
luci-mod-network: slightly improve static lease config
- Autoselect the matching IPv4 address when initially picking a MAC
- Add hostname hints in the MAC/IP dropdowns
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 21 Aug 2019 15:59:58 +0000 (17:59 +0200)]
luci-base: form.js: use createHandlerFn() for modal button actions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 21 Aug 2019 10:50:07 +0000 (12:50 +0200)]
luci-base: form.js: disable write/remove actions for DummyValue widgets
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 21 Aug 2019 10:48:50 +0000 (12:48 +0200)]
luci-app-fireall: remove unused templates
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 21 Aug 2019 10:12:12 +0000 (12:12 +0200)]
luci-app-firewall: filter alias interfaces in zone device selection
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:41:41 +0000 (15:41 +0200)]
protocols: drop server side cbi implementations of protocol handlers
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:39:16 +0000 (15:39 +0200)]
luci-mod-network: switch to client side interface configuration pages
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:31:35 +0000 (15:31 +0200)]
protocols: add client side protocol handler implementations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:33:48 +0000 (15:33 +0200)]
luci-base: rpcd: add getHostname and getTTYDevices calls
Also add IPv6 feature indication.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:17:24 +0000 (15:17 +0200)]
luci-base: network.js: add hacks to enable relay protocol support
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:15:12 +0000 (15:15 +0200)]
luci-base: ui.js: update tabs after initial render
This ensures that the error badges are properly set.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:04:13 +0000 (15:04 +0200)]
luci-base: form.js: rework section add/remove event handling
- Redraw map even when it could not be saved due to validation errors
- Use createHandlerFn() for attaching event handlers
- Convert buttons to <button> element to allow use of spinning class
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 13:02:36 +0000 (15:02 +0200)]
luci-base: ui.js: also handle failed promises in createHandlerFn()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 11:33:08 +0000 (13:33 +0200)]
luci-base: ui.js: ignore description when checking for empty tab panes
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 20 Aug 2019 11:31:07 +0000 (13:31 +0200)]
luci-base: luci.js: support custom filter function in dom.isEmpty()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>