Jo-Philipp Wich
2dd17fad6c
luci-base: network.js: implement Hosts.getMACHints()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-13 14:18:43 +02:00
Jo-Philipp Wich
3734f88c35
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>
2019-09-13 12:57:08 +02:00
Jo-Philipp Wich
473bd2741b
luci-base: rpc.js: fix list requests, handle aborted http requests
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 14:02:06 +02:00
Jo-Philipp Wich
9be42e29e7
luci-base: form.js: handle non-string values in stripTags()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 11:09:57 +02:00
Jo-Philipp Wich
34e73fd983
luci-base: widgets.js: fix display quirk in tools.widgets.DeviceSelect
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-11 12:44:34 +02:00
Jo-Philipp Wich
c96de72043
luci-base: validation.js: implement length() datatype validator
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-11 12:28:58 +02:00
Jo-Philipp Wich
a0d1294566
luci-base: luci.js: register rpc interceptor to catch expired sessions
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-11 12:21:24 +02:00
Jo-Philipp Wich
c3ddcbb542
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>
2019-09-11 12:21:05 +02:00
Jo-Philipp Wich
f141433f5e
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>
2019-09-11 09:25:11 +02:00
Jo-Philipp Wich
94a9f600d3
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>
2019-09-11 09:22:13 +02:00
Jo-Philipp Wich
5dc61be746
luci-base: replace luci/getHostname with generic file/read rpc operation
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:29:15 +02:00
Jo-Philipp Wich
dab0a11b73
luci-base: form.js: store pointer to parent map in modal overlay map
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
03f9528847
luci-base: form.js: pass-through promise in handleAdd
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
18e6b17911
luci-base: network.js: add getHostHints() api
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
3f93650901
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>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
1fcf34510a
luci-base: cbi.js: handle ui elements which return a promise in render()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
6d9a23af60
luci-base: cbi.js: fix unintended number sign overflow in format
...
Fixes : #3003
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
642b8277df
luci-base: form.js: use createHandlerFn() for click actions
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
eac8316e0d
luci-base: luci.js: use createHandlerFn() for page actions
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
e14b884771
luci-base: form.js: do not consider inactive fields for dependency checks
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
aef4bc3a23
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>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
93af8a3af8
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>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
8481330e42
luci-base: luci.js: support passing FormData as request payload
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
d5e6688072
luci-base: luci.js: support registering request progress handlers
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
88969529f1
luci-base: luci.js: fix L.Poll.remove()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
ac56dc057d
luci-base: form.js: use createHandlerFn() for modal button actions
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
c352fbf5e9
luci-base: form.js: disable write/remove actions for DummyValue widgets
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
6a2a53a829
protocols: add client side protocol handler implementations
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
55b1ae6c9b
luci-base: network.js: add hacks to enable relay protocol support
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
d905dacf97
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>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
745878d6cd
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>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
b0dde567ca
luci-base: ui.js: also handle failed promises in createHandlerFn()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
3500562d5e
luci-base: ui.js: ignore description when checking for empty tab panes
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
6b1003cd50
luci-base: luci.js: support custom filter function in dom.isEmpty()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00
Jo-Philipp Wich
2aab85814d
luci-base: form.js: implement Textfield widget
...
Port the CBI Textfield (textarea) widget type to client side form.js
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-19 15:06:31 +02:00
Jo-Philipp Wich
afd361e368
luci-base: ui.js: implement Textarea widget
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-19 15:04:16 +02:00
Jo-Philipp Wich
f3bcb918bf
luci-base: network.js: fix inverted logic in registerErrorCode()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-16 12:01:09 +02:00
Jo-Philipp Wich
24aa675a46
luci-base: widgets.js: CBINetworkSelect: honour exclude option
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-16 09:49:11 +02:00
Jo-Philipp Wich
d19e97bcb0
luci-base: widgets.js: support alias interfaces in CBIDeviceSelect
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 23:02:25 +02:00
Jo-Philipp Wich
7179d2e6dd
luci-base: ui.js: add createHandlerFn() helper
...
The createHandlerFn() helper function is useful to construct onclick
or similar event handling functions. It will add a "spinning" CSS
class on the event target element and disable the element, wrap the
given function with Promise.resolv() and re-enable the target element
once the promise is settled.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
0d0882aea0
luci-base: network.js: overhaul code
...
- Rework internal state management
- Implement new utility functions such as getL3Device() or getModemType()
- Fix bugs in various functions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
ed8f1c4c1c
luci-app-firewall: honour global default policies in per-zone settings
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
7610f1d9cf
luci-base: firewall.js: fix addZone()
...
When checking for an existing zone with the same name internally,
addZone() must use the nonblocking lookupZone() instead of the
promise returning public getZone() call.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
a4621c9520
luci-base: luci.js: introduce hasSystemFeature() api
...
The new function allows querying the presence of certain system features
such as dnsmasq or firewall availability or the compile time features
of hostapd and wpa_supplicant.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
3b335f2764
luci-base: form.js: support passing a callback to Map.save()
...
The given callback function will be executed after the map is parsed,
but before the uci is saved. This is useful to add further uci changes
before the map is re-rendered.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
082fd9ff10
luci-base: form.js: implement support for tabbed maps
...
When .tabbed is set to true on a map, all enclosed sections will be
put into separate tabs.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
b391387ce7
luci-base: form.js: improve ui tab interaction
...
- Delay initialization of tab groups
- Tag section nodes with IDs to store per-section tab state
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
c2eba00a10
luci-base: ui.js: rework tab state handling
...
Properly preserve the selection state of nested tabs.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
fb18c278a4
luci-base: form.js: CBISectionValue: properly forward dependency checks
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
43a8c12f04
luci-base: ui.js: UISelect: fix check for empty choices
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
5628329434
luci-base: form.js: allow overriding empty section placeholder rendering
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
a90bf384b2
luci-base: form.js: harmonize title property handling
...
Some title properties were expected to be functions, some strings.
Refactor the code to support both string or function values for all
title properties.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
a36e1e976b
luci-base: form.js: inherit uci config overrides from parent sections
...
When the parent section of an option object specifes an alternative
uci configuration name, enclosed option elements should honour it.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
46861a527e
luci-base: form.js: fix rendering of button widgets
...
Also introduce an `onclick` property to allow registering custom button
action handler.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
3789148fc9
luci-base: form.js: add further caption properties
...
Introduce properties `addbtntitle`, `removebtntitle` and `modaltitle` to
allow overriding the captions of section add buttons, remove buttons and
modal dialog titles respectively.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
f7a3546989
luci-base: network.js: add getL2Device(), getMTU() helpers
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
d528a96947
luci-base: network.js: support dynamically loaded protocol classes
...
Port the existing server side protocol support framework to the client
side network.js.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
00ec399fa1
luci-base: network.js: expose prefixToMask() and maskToPrefix()
...
Expose the prefixToMask() and maskToPrefix() helper functions for use by
other modules, e.g. the datatype validator.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
e64b0c3c0d
luci-base: network.js: return mac addresses in upper case
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
227fae8a37
luci-base: network.js: extend ifnameOf() and expose as getIfnameOf()
...
Extend the ifnameOf() helper function to cover all object types used by
network.js and expose it as public getIfnameOf() api function for use by
other modules.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
3e5ef065df
luci-base: network.js: add ability to flush the internal cache
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:58:15 +02:00
Jo-Philipp Wich
d1e9841e86
luci-base: ui.js: do not forcibly sort synamic list items
...
Ref: https://forum.openwrt.org/t/cannot-save-certain-fields/42738/2
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 22:46:19 +02:00
Jo-Philipp Wich
eb9051c307
luci-base: form.js: add modal dialog hook
...
Add a new `addModalOptions()` hook which allows to supply additional
cbi options the modal map before the dialog is rendered.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-01 16:48:50 +02:00
Jo-Philipp Wich
5e67b8b72b
luci-base: form.js: update tab state on dependency checks
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-01 16:47:33 +02:00
Jo-Philipp Wich
89bcae20d0
luci-base: ui.js: tabs: fix empty pane checking, allow alternative query root
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-01 16:47:19 +02:00
Jo-Philipp Wich
27e4146461
luci-base: luci.js: add L.dom.isEmpty() helper
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-01 16:47:19 +02:00
Jo-Philipp Wich
360e9769d6
luci-base: ui.js: mark widget optional if empty choice is present
...
Fixes : #2943
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-01 16:45:54 +02:00
Jo-Philipp Wich
8a947ea550
luci-base: ui.js: do not save invalid dynlist values
...
Fixes: 3880c3f22
("luci-base: ui.js: save filled out but not added dynlist items on submit")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-30 13:33:46 +02:00
Jo-Philipp Wich
3880c3f22f
luci-base: ui.js: save filled out but not added dynlist items on submit
...
Fixes : #2938
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-30 13:29:11 +02:00
Jo-Philipp Wich
2d3470b700
luci-base: don't treat .rmempty flag as optional for ListValue widgets
...
Restore the old CBI behaviour of not automatically rendering empty
selection choices in ListValue select dropdowns when .rmempty is
specified.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-27 22:33:36 +02:00
Jo-Philipp Wich
b4129640b4
luci-base: keep polling confirmation endpoint on XHR failures
...
Fixes : #2912
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26 12:25:46 +02:00
Jo-Philipp Wich
28aafc0dd4
luci-base: form.js: pass-through placeholder option of CBIListValue
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26 10:22:05 +02:00
Jo-Philipp Wich
c67f052d91
luci-base: ui.js: HTML escape uci changelog values
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26 10:22:05 +02:00
Jo-Philipp Wich
a6c538a776
luci-base: ui.js: HTML escape custom dropdown values
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26 10:22:05 +02:00
Jo-Philipp Wich
86fcf91633
luci-base: ui.js: fix event binding for UISelect
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26 10:22:05 +02:00
Jo-Philipp Wich
ac96b8be43
luci-base: widgets.js: implement CBIDeviceSelect netdev picker
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22 16:31:25 +02:00
Jo-Philipp Wich
3c332c6075
luci-base: widgets.js: handle devices or subnets in CBIZoneForwards
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22 16:30:33 +02:00
Jo-Philipp Wich
b63576bbe7
luci-base: firewall.js: add zone.getDevices() and zone.getSubnets() getters
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22 16:29:42 +02:00
Jo-Philipp Wich
e6ff0f39bb
luci-base: widgets.js: CBIZoneSelect: improve initial rendering
...
Ref: https://github.com/openwrt/luci/issues/2889
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22 08:58:59 +02:00
Jo-Philipp Wich
d1841af2f0
luci-base: widgets.js: CBIZoneSelect: fix availability of "device" choice
...
Ref: https://github.com/openwrt/luci/issues/2889
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22 08:40:38 +02:00
Jo-Philipp Wich
0be4ad51a0
luci-app-firewall: fix cbi form for rules
...
- Set src/dest defaults only in initial section create state, otherwise it
is impossible to specify output rules
- Get rid of dest_remote/dest_local widget switching and implement change
logic directly in tools.widgets.CBIZoneSelect
- Remove leftover debug code
Ref: https://github.com/openwrt/luci/issues/2889
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-21 22:35:24 +02:00
Jo-Philipp Wich
dc0211803e
luci-base: ui.js: fix multi vs. multiple keyword confusion
...
The "luci.form" and "luci.tools.widgets" classes use the "multiple"
keyword while ui.js uses "multi" internally, leading to single-value
dropdowns widget values getting stored as uci lists.
Fix the issue by using "multiple" everywhere.
Fixes : #2871
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-19 10:39:54 +02:00
INAGAKI Hiroshi
48b61ca2c4
luci-base: fix translatable text in ui.js
...
Removed unnecessary symbols ("%>") at the end of the text.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2019-07-13 19:23:18 +08:00
Jo-Philipp Wich
7c9d845d9b
luci-base: luci.js: add Promise.finally polyfill
...
Fixes : #2854
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-12 10:42:41 +02:00
Jo-Philipp Wich
3dcb061dcc
luci-base: ui.js: fix UISelect.setValue()
...
Fixes : #2852
Fixes: ce04d7f
("luci-base: fix label-to-input association in js cbi maps")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-12 09:17:14 +02:00
Jo-Philipp Wich
4b941bce40
luci-base: luci.js: only use overrideMimeType when supported
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-11 15:06:13 +02:00
Jo-Philipp Wich
a7bfaf9b0b
luci-base: validation.js: fix nested function declarations
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-11 15:04:54 +02:00
Jo-Philipp Wich
43043a46a3
luci-base: ui.js: fix UISelect.getValue()
...
Fixes : #2852
Fixes: ce04d7f04
("luci-base: fix label-to-input association in js cbi maps")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-11 14:40:51 +02:00
Jo-Philipp Wich
69e5488c13
luci-base: luci.js: fix undefined "this" when /ubus/ is unavailable
...
Fixes : #2850
Fixes: 66dfe64ca
("luci-base: luci.js: cache determined RPC base url in session storage")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-10 13:30:52 +02:00
Jo-Philipp Wich
66dfe64ca1
luci-base: luci.js: cache determined RPC base url in session storage
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-10 07:15:02 +02:00
Jo-Philipp Wich
ffdafd4800
luci-base: properly handle getWifiNetidBySid() return value
...
The getWifiNetidBySid() helper returns an array containing the network id
and the corresponding radio name, not just the id.
Fixes : #2846 .
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-09 17:50:21 +02:00
Jo-Philipp Wich
ce04d7f040
luci-base: fix label-to-input association in js cbi maps
...
Fixes : #2845
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-09 14:09:22 +02:00
Jo-Philipp Wich
006f7c7932
luci-base: use native ubus HTTP gateway if available
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-08 17:39:24 +02:00
Jo-Philipp Wich
91afb6fae2
luci-base: network.js: dynamically calculate IPv4 netmasks
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07 20:12:42 +02:00
Jo-Philipp Wich
f970c485cf
treewide: switch to shared isObject(), toArray() and sortedKeys() helpers
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07 20:11:35 +02:00
Jo-Philipp Wich
37ca6fe6d6
luci-base: luci.js: add isObject(), toArray() and sortedKeys() helper
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07 20:10:13 +02:00
Jo-Philipp Wich
bce291e6c9
luci-base: form.js: reload map data when saving modal forms
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07 19:12:59 +02:00
Jo-Philipp Wich
f8e6caf552
luci-base: widgets.js: add textvalude representation for network select
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07 19:12:59 +02:00
Jo-Philipp Wich
e13822e709
luci-base: uci.js: track packages affected by reorder operations
...
This is required to properly reload the configurations after applying uci
changes that solely consist of uci section ordering operations.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07 15:36:26 +02:00
Jo-Philipp Wich
00a3da1fb3
luci-base: fix regular expression in network.Protocol.getDevices()
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07 15:36:26 +02:00