summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/htdocs
AgeCommit message (Collapse)Author
2019-07-26luci-base: keep polling confirmation endpoint on XHR failuresJo-Philipp Wich
Fixes: #2912 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26luci-base: form.js: pass-through placeholder option of CBIListValueJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26luci-base: ui.js: HTML escape uci changelog valuesJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26luci-base: ui.js: HTML escape custom dropdown valuesJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-26luci-base: ui.js: fix event binding for UISelectJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22luci-base: widgets.js: implement CBIDeviceSelect netdev pickerJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22luci-base: widgets.js: handle devices or subnets in CBIZoneForwardsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22luci-base: firewall.js: add zone.getDevices() and zone.getSubnets() gettersJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22luci-base: widgets.js: CBIZoneSelect: improve initial renderingJo-Philipp Wich
Ref: https://github.com/openwrt/luci/issues/2889 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-22luci-base: widgets.js: CBIZoneSelect: fix availability of "device" choiceJo-Philipp Wich
Ref: https://github.com/openwrt/luci/issues/2889 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-21luci-app-firewall: fix cbi form for rulesJo-Philipp Wich
- 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-19luci-base: ui.js: fix multi vs. multiple keyword confusionJo-Philipp Wich
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-13luci-base: fix translatable text in ui.jsINAGAKI Hiroshi
Removed unnecessary symbols ("%>") at the end of the text. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2019-07-12luci-base: luci.js: add Promise.finally polyfillJo-Philipp Wich
Fixes: #2854 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-12luci-base: ui.js: fix UISelect.setValue()Jo-Philipp Wich
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-11luci-base: luci.js: only use overrideMimeType when supportedJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-11luci-base: validation.js: fix nested function declarationsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-11luci-base: ui.js: fix UISelect.getValue()Jo-Philipp Wich
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-10luci-base: luci.js: fix undefined "this" when /ubus/ is unavailableJo-Philipp Wich
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-10luci-base: luci.js: cache determined RPC base url in session storageJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-09luci-base: properly handle getWifiNetidBySid() return valueJo-Philipp Wich
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-09luci-base: fix label-to-input association in js cbi mapsJo-Philipp Wich
Fixes: #2845 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-08luci-base: use native ubus HTTP gateway if availableJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: network.js: dynamically calculate IPv4 netmasksJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07treewide: switch to shared isObject(), toArray() and sortedKeys() helpersJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: luci.js: add isObject(), toArray() and sortedKeys() helperJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: form.js: reload map data when saving modal formsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: widgets.js: add textvalude representation for network selectJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: uci.js: track packages affected by reorder operationsJo-Philipp Wich
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-07luci-base: fix regular expression in network.Protocol.getDevices()Jo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: add tools.widgets JS libraryJo-Philipp Wich
Add a tools.widgets library which bundles a number of useful, higher level CBI widgets like firewall zone list or network interface dropdowns Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: validation.js: rework translation labelsJo-Philipp Wich
Rework validation error translations for compount operators such as list() or neg() to not rely that much on specific native language grammar. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: uci.js: add extended section syntax support, improve loadingJo-Philipp Wich
Add support for extended section syntax notation in @type[#] format and refactor the package loading function to not load configurations twice when a package load operation is already pending and another load request is made for the same package. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: {ui,form}.js: allow passing additional CSS classes to modalsJo-Philipp Wich
Add the ability to pass additional CSS classes to modal dialogs and make use of this facility in form.js to annotate CBI map modals. This can be used later by themes to apply additional CSS rules. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: luci.js: don't abort finished xhr objectsJo-Philipp Wich
Calling abort() on a finished xhr object will clear properties such as status which can confuse code relying on legacy LuCI request helper functions. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: cbi.js: fix number rounding in string.format()Jo-Philipp Wich
Ensure that patterns like %d, %x, %o or %b properly truncate their operands to whole integers. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: form.js: support placeholders for DynamicList widgetsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: form.js: fix rendering flag values in modalsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: form.js: trigger validation before saving cbi mapJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: form.js: prevent section creation on modal cbi save failureJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: ui.js: fix rendering of rich dropdown placeholdersJo-Philipp Wich
Placeholders may be HTML elements instead of plain strings, so do not use innerHTML to assign them but rely on L.dom.content() instead. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: add client-side implementation of luci.model.firewallJo-Philipp Wich
Introduce firewall.js, a client side reimplementation of the luci.model.firewall class. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: add client-side implementation of luci.model.networkJo-Philipp Wich
Introduce network.js, a client side reimplementation of the luci.model.network class. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: add client-side prng libraryJo-Philipp Wich
Introduce a new tools.prng JS library which implements the musl libc srand() and rand() calls to produce identical pseudo random number sequences in the browser which is needed for the string to color conversion later on. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: luci.js: make require() failures catcheableJo-Philipp Wich
Refactor L.require() to use L.raise() instead of L.error() to signal class loading failures. This allows callers to handle class loading errors in a graceful manner. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: split off CBI validations into separate classJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: luci.js: rework L.error()Jo-Philipp Wich
Factor out an L.raise() function out of L.error() which constructs and throws an exception object. Rework the remaining L.error() function to internally use L.raise() to construct exceptionts to render. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: form.js: default to unlimited dropdown sizeJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: ui.js: improve dropdown behaviourJo-Philipp Wich
- Do not artificially cutoff dropdown items, use all available space - Close open dropdown when clicking into the preview area Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-07-07luci-base: rpc.js: drop batch apiJo-Philipp Wich
Now that LuCI.Request is transparently coalescing requests, there is no need for the rather cumbersome batch()/flush() api in rpc.js. Also refactor the code to get rid of the rpcRequestRegistry indirection and remove superfluous promises which simplifies the code a lot. Signed-off-by: Jo-Philipp Wich <jo@mein.io>