summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/htdocs
AgeCommit message (Collapse)Author
2019-12-04luci-base: ui.js: ensure that select choice labels are properly escapedJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-12-04luci-base: ui.js: properly escape dynlist items for renderingJo-Philipp Wich
Ref: https://forum.openwrt.org/t/luci-theme-openwrt-reports-error/49736 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-26luci-base: luci.js: further nested Class.super() call fixesJo-Philipp Wich
Use stacks keyed by class id + symbol internally to not clobber the prototype scope pointer when repeatedly calling super() in invoked methods. Ref: https://github.com/openwrt/luci/issues/3316#issuecomment-558531111 Fixes: 374c23cda ("luci-base: luci.js: properly handle nested Class.super() calls") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-26luci-base: luci.js: properly handle nested Class.super() callsJo-Philipp Wich
Introduce a unique __id__ attribute per class and use that, together with the symbol name being looked up to, to form a unique key which is used to store the prototype scope pointer. This fixes cases where a call to super() invokes a procedure which is calling super() as well on a different class or symbol. Fixes: #3316 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-22luci-base: validation.js: fix "unique" validatorJo-Philipp Wich
Previous refactoring renamed the "data-type" attribute of widget markup containers to "data-widget", breaking the "unique" validator as it relies on it to lookup options. Fixes: #3341 Fixes: 13e9e3e9e ("treewide: fix "Unhandled token" errors with Lua CBI maps") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-16treewide: fix "Unhandled token" errors with Lua CBI mapsJo-Philipp Wich
The `data-type` attribute is used to bind datatype validators to a widget while some templates used the same attribute to denote the name of the underlying widget. Change the `data-type` attributes referring to the widget name to `data-widget` in order to stop the JS token error spam. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-15luci-base: Improve change application messageKevin Darbyshire-Bryant
As a native English speaker the luci message displayed when clicking 'Save & Apply' has a somewhat uncomfortable English phrasing of "Waiting for configuration to get applied". It could be improved by replacing 'get' with 'be' but once you've got that far you might as well replace this with the shorter & simpler "Applying configuration changes". This is also technically more correct since luci/openwrt should only be updating/restarting processes that are related to the changed areas, not changing the entire configuration. As a result of that, change both the 'success' and 'rolled back' messages to "Configuration changes have been applied" & "Configuration changes have been rolled back" Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-11-13luci-base: network.js: fix getDevices()Jo-Philipp Wich
- Don't filter virtual interfaces - Skip duplicate wireless devices Fixes: #3304 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-10luci-base: ui.js: show filename after selecting upload fileJo-Philipp Wich
Fixes: #3286 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-10luci-base: luci.js: add optional apply unchecked actionJo-Philipp Wich
Turn the "Save & Apply" button into a combo button which allows to toggle between apply with rollback and unchecked apply modes. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-10luci-base: ui.js: add ComboButton widgetJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-07luci-base: network.js: introduce further API functionsJo-Philipp Wich
- Add Network.getWifiNetworks() to simplify fetching *all* networks instead of building a list by iterating each radio first - Add Network.WifiNetwork.isClientDisconnectSupported() to check whether a wireless network supports client disconnections - Add Network.WifiNetwork.disconnectClient() to trigger client disconnections via hostapd Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-06luci-base: network.js: prevent duplicate wan interface reportingJo-Philipp Wich
Fixes: #3269 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-04luci-base: form.js: fix GridSection not using user-input name when addRichard Yu
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
2019-11-01luci-base, luci-mod-system: move file upload handling to ui.jsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01luci-base: consolidate network.js data acquisitionJo-Philipp Wich
The new luci-rpc/getNetworkDevices procedure offers netdev enumeration with included IPv4 and IPv6 address information as well as 64bit traffic counters, so we can remove the calls to network.device/status and luci/getIfaddrs now as we're able to obtain all info from a single source. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01luci-base: migrate luci/getNetworkDevices to C pluginJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01luci-base: migrate luci/getWirelessDevices to C pluginJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01luci-base, luci-mod-network, luci-app-firewall: migrate luci/getHostHintsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01luci-base: migrate luci/getBoardJSON to C pluginJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-22luci-base: network.js: implement Protocol.getGateway6Addr()Jo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-22luci-base: ui.js: prevent race condition in tab initializationJo-Philipp Wich
Fixes: #3150 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-21luci.base: fs.js: expose mode param in fs.write()Jo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-18luci-base: network.js: simplify rpc error handlingJo-Philipp Wich
Use L.resolveDefault() catch unexpected RPC replies and rename declared rpc functions in a consistent manner. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-17luci-base: network.js: prefer netifd traffic stats over getifaddrs() onesJo-Philipp Wich
Overwrite the traffic statistics reported by getifaddrs() with the ones reported by the network.device/status procedure if available as the getifaddr() stats are limited to 32bit counters. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-15luci-base: static.js: make IPv6 assignment hint optionalJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-11luci-base: widgets.js: add user and group selectRichard Yu
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
2019-10-07luci-base: form.js: fix anonymous section table titlesJo-Philipp Wich
When no section title is defined, the table renderer is supposed to use the uci section id as fallback when the table section is not declared to be anonymous. Fixes: #3147 Fixes: a90bf384b ("luci-base: form.js: harmonize title property handling") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07luci-base: form.js: treat inactive options as optionalJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07luci-base: ui.js: add pingDevice() and awaitReconnect() functionsJo-Philipp Wich
Import these functions from the flash.js for use with other views that might trigger a device reboot. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07luci-base: ui.js: use common fs.js class for filebrowser operationsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07luci-base: introduce common fs.js helper classJo-Philipp Wich
Introduce a new fs.js helper class to gather filesystem related RPC operations in a single file. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07luci-base: luci.js: add resolveDefault() helperJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-02luci-base: luci.js, rpc.js, uci.js, network.js: add JSDoc annotationsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-30luci-base: network.js: implement getMeshID() getterJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24luci-base: network.js: fix deleteNetwork() implementationJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24luci-base: form.js: do not inherit map tabbing to nested sectionsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24luci-base: form.js: allow overriding remove action in Table/GridSectionsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-22luci-base: form.js: do not add title attributes for untitled optionsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21luci-base: tie cached system features to user sessionJo-Philipp Wich
Store the cached system feature flags keyed by the current session id, this ensures that the features are refreshed on login. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21luci-base: network.js: don't batch wireless scan requestsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21luci-base: rpc.js: increase default timeout to 20s, allow batch preventionJo-Philipp Wich
Support a new option "nobatch: true" in rpc.declare() which prevents the underlying RPC call from being batched with other calls. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21luci-base: luci.js: improve XHR issue diagnosticsJo-Philipp Wich
Differentiate between request timeouts and other error reasons. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-20luci-base: form.js: only update option default if cfgvalue is nullJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-19luci-base: form.js: add support for dynamic default valuesJo-Philipp Wich
Many uci options have different implicit defaults, depending on the values of other related options. A prominent example is the wireless ieee80211w option which defaults to 2, 1 or 0 depending on whether the encryption is set to wpa3-sae, wpa2/wpa2 mixed or any other mode respectively. Add the ability to specify a dictionary of default values and their corresponding dependencies in order to be able to express such configurations. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-19luci-base: ui.js: mark user-changed widgetsJo-Philipp Wich
Set a `data-changed=true` attribute on the widget element when the user did any change to the default value. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18luci-base: form.js: fix default click action of button optionsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18luci-base: ensure that button labels are properly html escapedJo-Philipp Wich
Fixes: #3067 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18luci-base: network.js: filter invalid mac addressesJo-Philipp Wich
Only consider valid ethernet mac addresses when building the device state from raw getifaddrs() information. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18luci-base: network.js: get low level device details from getifaddr() infoJo-Philipp Wich
Fixes: #3078 Signed-off-by: Jo-Philipp Wich <jo@mein.io>