summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/htdocs
AgeCommit message (Collapse)Author
2021-01-20treewide: minor fixes to typos, whitespace, and indentationGiovanni Giacobbi
Signed-off-by: Giovanni Giacobbi <giovanni@giacobbi.net>
2021-01-19luci-base: luci.js: fix `LuCI.request.poll.add()` exception handlingGiovanni Giacobbi
The try/catch is meant for the `res.json()` call and should apply to that. As it was before, an exception inside the poll callback would cause the callback to be reinvoked without the JSON parameter, which is an odd behaviour. Moreover, it makes it hard to debug because it is completely hidden from the browser console. We now differentiate between exceptions thrown due to bad JSON in `responseText` from exceptions generated inside the callback itself, which are let through for browser console logging. Signed-off-by: Giovanni Giacobbi <giovanni@giacobbi.net>
2021-01-13luci-base: make tooltip icon string configurableFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2021-01-13luci-base: add tooltip handlingFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2021-01-07Merge pull request #4598 from Ansuel/wifi_chanHannu Nyman
luci-mod-status: add new channel analysis page
2020-11-27treewide: transition div tables to actual table markupJo-Philipp Wich
Modern browsers allow decomposing table markup equally well as nested div constructs, therefor migrate our <div> table markup to actual <table> tags but keep the old table/tr/th/td CSS classes for now to allow for a smooth theme transition. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-11-24luci-base: delay cbi-tab-active event on tab initAnsuel Smith
Delay the cbi-tab-active custom event so any eventListner attached to the tab doesn't miss the first event. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-11-18luci-base: generalize random color generationAnsuel Smith
Generation of pseudo random hex color from a string can be useful also for other task. Generalize it to make it available also for other purpose. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-11-07luci-base: tools.widgets.NetworkSelect: properly validate multi selectJo-Philipp Wich
Fixes: 2b99473f2 ("luci-base: tools.widget.NetworkSelect: disallow invalid network names") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-11-07luci-base: tools.widget.NetworkSelect: disallow invalid network namesJo-Philipp Wich
Fixes: #4523, #4573 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-10-30Merge pull request #4531 from oldium/add-widget-changedJo-Philipp Wich
luci-base: Fix using isActive in widget-change notification.
2020-10-30luci-base: Fix using isActive in widget-change notification.Oldřich Jedlička
The `onchange` notification handler is called too early to be able to evaluate other widget's `isActive()` status. Solve this by changing order of event handling - first register/execute `map.checkDepends` and then `onchange`. Fixes: openwrt/luci#4516. Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
2020-10-24luci-base: Replace legend element with h3.Oldřich Jedlička
The legend HTML element is allowed only as first element in fieldset, so use h3 instead, which is rendered the same within themes. Fixes #3149. Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
2020-10-06luci-base: network.js: Show clients also from wifi VLANs.Oldřich Jedlička
Iterate through VLANs to get the clients connected on configured wifi VLANs (as configured by `wifi-vlan` sections in `wireless` configuration). This is a minimum support for VLANs on wireless network. The VLAN name is nowhere displayed, but at least clients using VLANs are visible. Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
2020-09-23luci-base: don't append object.method to the RPC urlRafał Miłecki
It was a cosmetic feature that doesn't work anymore with the latest uhttpd ubus API. Adding RESTful API resulted in treating URL part following the /ubus/ as the new API request. Suggested-by: Rafał Miłecki <rafal@milecki.pl> Fixes: #4465 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-09-19luci-base: make translatable default values for dhcp hostnameAnton Kikin
We must be able to translate these values. Fixes: fd75c2b7c ("luci-base: add default value options dhcp hostname") Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
2020-09-16luci-base: add default value options dhcp hostnameFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-09-16luci-base: dhcp.js: allow hostname to be "*"Jo-Philipp Wich
Fixes: #4430 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-09-15luci-base: use actual JSON-RPC for verifying ubus RPC URLRafał Miłecki
Sending GET request to the main RPC base URL and expecting HTTP response code 400 had two flaws: 1. It was not verifying actual JSON-RPC interface availability 2. It did not allow implementing support for new requests Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Jo-Philipp Wich <jo@mein.io>
2020-08-06luci-base: form.js: implement AbstractSection.getOption() helperJo-Philipp Wich
The `getOption()` function allows to easily obtain a reference to another option object instance within the same section. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-06luci-base: ui.js: implement AbstractElement.isChanged()Jo-Philipp Wich
The new `isChanged()` utility functions allows to query the dirty state of an ui input widget. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-05luci-base: network.js: recognize uci declared network devicesJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-05luci-base: form.js: add cfgvalue(), formvalue() and getUIElement() helpersJo-Philipp Wich
This commit introduces new per-section cfgvalue(), formvalue() and getUIElement() helper functions which complement the respective per-option functions. Their intent is to simplify querying input data or obtaining UI widget instances from other options within the same section. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-05luci-base: form.js: add AbstractValue.onchange propertyJo-Philipp Wich
Introduce a new, widget agnostic onchange property which allows setting custom handler functions to react on element value changes. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-05luci-base: form.js: add ability to specify regular expression dependenciesJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-05luci-base: ui.js: implement AbstractElement.setPlaceholder()Jo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-04luci-base: uci.js: fix option deletion quirksJo-Philipp Wich
Since option deletions are sent first, followed by ubus set commands, a call sequence like: uci.set('config', 'section', 'option', ['foo', 'bar']) uci.set('config', 'section', 'option', ['foo']) uci.unset('config', 'section', 'option') ... would result in the option retainining `foo` as value, instead of it getting removed as one would expect. Fix this issue by reverting the internal change state of the option before storing the deletion. While we're at it, also rework the internal tracking of deleted options to not result in duplicate removal requests when the same option is unset several times. Finally change all `undefined` returns to `null` in order to comply with the function documentation. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-07-28luci-base: form.js: add CSS class to invalid option dismiss buttonJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-07-28luci-base: form.js: don't destroy modal form on invalid values when savingJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-07-24luci-base: fix widgets CBIUserSelect appending list on loadHelge Mader
The user list was appended to the dropdown again each time the page is loaded. Signed-off-by: Helge Mader <ma@dev.tdt.de>
2020-07-05luci-base: ui.js: order menu entries with the same weight by nameJo-Philipp Wich
The previous server side menu rendering ordered items first by their order weight value, then by their internal name. Do the same for client side menu rendering. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-06-14luci-base: form.js: fix handling of array sections in JSONMap formsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-29luci-base: luci.js: properly skip comments when finding require tokensJo-Philipp Wich
Fixes: #4020, #4022, #4111 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-24luci-base: firewall.js: remove further zone network/name fallback logicJo-Philipp Wich
Fixes: #4093 Fixes: 4052436d8 ("luci-base: firewall.js: don't treat zone name as network fallback") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-24luci-base: ui.js: fix function declaration in nested statementAnton Kikin
Fix "SyntaxError: Strict mode does not allow function declarations in a lexically nested statement" error that may occur in some old browsers (detected on QtWebKit 5.212). Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
2020-05-19Merge pull request #4053 from TDT-AG/pr/20200515-luci-baseFlorian Eckert
luci-base: fix host validation function
2020-05-19luci-base: fix host validation functionFlorian Eckert
Allow only ipv4 or ipv6 addresses without IP mask. A host IP with mask does not make sense in this context. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-05-17luci-base: validation.js: count byte- instead of character length of stringsJo-Philipp Wich
Fixes: #4055 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-07luci-base: optimize some PNG filesJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-07luci-base: move old cbi icons to luci-compatJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-07luci-base: replace filebrowser icons with SVG variantsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-04luci-base: form.js: forward section ID in CBISectionValue methodsJo-Philipp Wich
This is useful for custom subclasses that want to perform conditional rendering of contents, depending on the parent section ID. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-04luci-base: ui.js: fix UITextfield.setValue()Jo-Philipp Wich
Fixes: d02c26772 ("luci-base: ui.js: rework password input handling") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-04luci-base: firewall.js: fix Zone.addRule()Jo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-02luci-base: ui.js: reset scroll position when opening modal overlayJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-02luci-base: ui.js: fix input value reading for select widgetsJo-Philipp Wich
Fixes: #3989 Fixes: 81effc111 ("luci-base: ui.js: assume select widget by default for ListValue widget") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-02luci-base: ui.js: rework password input handlingJo-Philipp Wich
- Get rid of dummy element - Render password field as text input initially and later transform it to a password field - Use .control-group markup to allow better styling Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-28luci-base: ui.js: assume select widget by default for ListValue widgetJo-Philipp Wich
Fixes: #3973 Fixes: 2fb55e1ab ("luci-base: ui.js: fixes for radio widget type of select element") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-28luci-base: form.js: toggle inactive CSS class on unsatisfied field cellsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-28luci-base: form.js: ListValue: support widget and orientation propertiesJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>