From f0f2d9f5e1aaf41d8b4c142ae52b30146b6a8d72 Mon Sep 17 00:00:00 2001
From: jow- args array beginning with
diff --git a/jsapi/LuCI.dom.html b/jsapi/LuCI.dom.html
index 11f85b3341..e202961738 100644
--- a/jsapi/LuCI.dom.html
+++ b/jsapi/LuCI.dom.html
@@ -6316,7 +6316,7 @@ ignored, else not.
write() implementation is a no-op.
diff --git a/jsapi/LuCI.form.TableSection.html b/jsapi/LuCI.form.TableSection.html
index 75825e71c9..00d84928ec 100644
--- a/jsapi/LuCI.form.TableSection.html
+++ b/jsapi/LuCI.form.TableSection.html
@@ -6936,7 +6936,7 @@ was neither a string nor a function.
diff --git a/jsapi/LuCI.form.TextValue.html b/jsapi/LuCI.form.TextValue.html
index 697fee6a3e..eef1f00e41 100644
--- a/jsapi/LuCI.form.TextValue.html
+++ b/jsapi/LuCI.form.TextValue.html
@@ -7469,7 +7469,7 @@ before it is written.
diff --git a/jsapi/LuCI.form.TypedSection.html b/jsapi/LuCI.form.TypedSection.html
index 1b60ba5dbc..e522c8f52f 100644
--- a/jsapi/LuCI.form.TypedSection.html
+++ b/jsapi/LuCI.form.TypedSection.html
@@ -6625,7 +6625,7 @@ was neither a string nor a function.
diff --git a/jsapi/LuCI.form.Value.html b/jsapi/LuCI.form.Value.html
index 13fb28f369..727a8600bb 100644
--- a/jsapi/LuCI.form.Value.html
+++ b/jsapi/LuCI.form.Value.html
@@ -7528,7 +7528,7 @@ before it is written.
diff --git a/jsapi/LuCI.form.html b/jsapi/LuCI.form.html
index ab0289ef53..089e59fdfa 100644
--- a/jsapi/LuCI.form.html
+++ b/jsapi/LuCI.form.html
@@ -3726,7 +3726,7 @@ m.render().then(function(node) {
diff --git a/jsapi/LuCI.fs.html b/jsapi/LuCI.fs.html
index 34fcb4eeb7..6d1dcb42c8 100644
--- a/jsapi/LuCI.fs.html
+++ b/jsapi/LuCI.fs.html
@@ -5915,7 +5915,7 @@ the failure reason.
diff --git a/jsapi/LuCI.headers.html b/jsapi/LuCI.headers.html
index 0b67e7ef9a..7ea4373212 100644
--- a/jsapi/LuCI.headers.html
+++ b/jsapi/LuCI.headers.html
@@ -3931,7 +3931,7 @@ Note: Header-Names are case-insensitive.
diff --git a/jsapi/LuCI.html b/jsapi/LuCI.html
index 0cee16d676..fa856b6db8 100644
--- a/jsapi/LuCI.html
+++ b/jsapi/LuCI.html
@@ -8338,7 +8338,7 @@ else null.
diff --git a/jsapi/LuCI.network.Device.html b/jsapi/LuCI.network.Device.html
index 3a1056988e..cf9a8c7998 100644
--- a/jsapi/LuCI.network.Device.html
+++ b/jsapi/LuCI.network.Device.html
@@ -6296,7 +6296,7 @@ when it is down or absent.
diff --git a/jsapi/LuCI.network.Hosts.html b/jsapi/LuCI.network.Hosts.html
index 3507c6ea98..e8046afe97 100644
--- a/jsapi/LuCI.network.Hosts.html
+++ b/jsapi/LuCI.network.Hosts.html
@@ -4857,7 +4857,7 @@ is used as hint.
diff --git a/jsapi/LuCI.network.Protocol.html b/jsapi/LuCI.network.Protocol.html
index 403bf0997d..71aba25ce8 100644
--- a/jsapi/LuCI.network.Protocol.html
+++ b/jsapi/LuCI.network.Protocol.html
@@ -8087,7 +8087,7 @@ configuration.
diff --git a/jsapi/LuCI.network.WifiDevice.html b/jsapi/LuCI.network.WifiDevice.html
index 48641a1e97..ac9064b441 100644
--- a/jsapi/LuCI.network.WifiDevice.html
+++ b/jsapi/LuCI.network.WifiDevice.html
@@ -5228,7 +5228,7 @@ configuration.
diff --git a/jsapi/LuCI.network.WifiNetwork.html b/jsapi/LuCI.network.WifiNetwork.html
index 927de31a57..24acb3ddf1 100644
--- a/jsapi/LuCI.network.WifiNetwork.html
+++ b/jsapi/LuCI.network.WifiNetwork.html
@@ -7818,7 +7818,7 @@ configuration.
diff --git a/jsapi/LuCI.network.html b/jsapi/LuCI.network.html
index f3f10d71e0..a7af471e1a 100644
--- a/jsapi/LuCI.network.html
+++ b/jsapi/LuCI.network.html
@@ -9666,7 +9666,7 @@ conjunction with quality to calculate a quality percentage.
- Documentation generated by JSDoc 3.6.11 on Thu Feb 15 2024 17:46:10 GMT+0000 (Coordinated Universal Time)
+ Documentation generated by JSDoc 3.6.11 on Sun Feb 18 2024 23:05:39 GMT+0000 (Coordinated Universal Time)
diff --git a/jsapi/LuCI.poll.html b/jsapi/LuCI.poll.html
index 47f2819e82..d9fabcccf0 100644
--- a/jsapi/LuCI.poll.html
+++ b/jsapi/LuCI.poll.html
@@ -4314,7 +4314,7 @@ run to begin with.
diff --git a/jsapi/LuCI.request.html b/jsapi/LuCI.request.html
index bed671436f..981fa79846 100644
--- a/jsapi/LuCI.request.html
+++ b/jsapi/LuCI.request.html
@@ -5249,7 +5249,7 @@ instances as sole argument during the HTTP request transfer.
diff --git a/jsapi/LuCI.request.poll.html b/jsapi/LuCI.request.poll.html
index 99fd9dffe7..1c93ae3a66 100644
--- a/jsapi/LuCI.request.poll.html
+++ b/jsapi/LuCI.request.poll.html
@@ -4433,7 +4433,7 @@ else null.
diff --git a/jsapi/LuCI.response.html b/jsapi/LuCI.response.html
index 1f67e50a3d..dcbeb4ad2e 100644
--- a/jsapi/LuCI.response.html
+++ b/jsapi/LuCI.response.html
@@ -4391,7 +4391,7 @@ using String() and treated as response text.
diff --git a/jsapi/LuCI.rpc.html b/jsapi/LuCI.rpc.html
index 79d0b42eae..4f77b68274 100644
--- a/jsapi/LuCI.rpc.html
+++ b/jsapi/LuCI.rpc.html
@@ -5722,7 +5722,7 @@ to the expect and filter declarations.
diff --git a/jsapi/LuCI.session.html b/jsapi/LuCI.session.html
index cf5049f317..792c6c7192 100644
--- a/jsapi/LuCI.session.html
+++ b/jsapi/LuCI.session.html
@@ -4161,7 +4161,7 @@ being put in the session store.
diff --git a/jsapi/LuCI.uci.html b/jsapi/LuCI.uci.html
index 994af0ce90..9573e1b5cc 100644
--- a/jsapi/LuCI.uci.html
+++ b/jsapi/LuCI.uci.html
@@ -7209,7 +7209,7 @@ associated name as arguments.
diff --git a/jsapi/LuCI.ui.AbstractElement.html b/jsapi/LuCI.ui.AbstractElement.html
index 20eed702f7..d657fc2431 100644
--- a/jsapi/LuCI.ui.AbstractElement.html
+++ b/jsapi/LuCI.ui.AbstractElement.html
@@ -5265,7 +5265,7 @@ and are displayed in a slightly faded style.
diff --git a/jsapi/LuCI.ui.Checkbox.html b/jsapi/LuCI.ui.Checkbox.html
index 2e474a8ef6..137e70cc19 100644
--- a/jsapi/LuCI.ui.Checkbox.html
+++ b/jsapi/LuCI.ui.Checkbox.html
@@ -5379,7 +5379,7 @@ it is required for HTML based form submissions.
diff --git a/jsapi/LuCI.ui.ComboButton.html b/jsapi/LuCI.ui.ComboButton.html
index 2719a6ff4d..9ca48cea18 100644
--- a/jsapi/LuCI.ui.ComboButton.html
+++ b/jsapi/LuCI.ui.ComboButton.html
@@ -3550,7 +3550,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3778,7 +3778,7 @@ choice labels.
@@ -3924,7 +3924,7 @@ as label text. Choice labels may be any valid value accepted by
@@ -4061,7 +4061,7 @@ of keeping them.
@@ -5409,7 +5409,7 @@ choice value as second argument.
diff --git a/jsapi/LuCI.ui.Combobox.html b/jsapi/LuCI.ui.Combobox.html
index 8720d148c9..19379a9f9a 100644
--- a/jsapi/LuCI.ui.Combobox.html
+++ b/jsapi/LuCI.ui.Combobox.html
@@ -3552,7 +3552,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3780,7 +3780,7 @@ choice labels.
@@ -3926,7 +3926,7 @@ as label text. Choice labels may be any valid value accepted by
@@ -4063,7 +4063,7 @@ of keeping them.
@@ -5312,7 +5312,7 @@ forcibly set to true.
diff --git a/jsapi/LuCI.ui.Dropdown.html b/jsapi/LuCI.ui.Dropdown.html
index 06e2a53ee0..0e85912929 100644
--- a/jsapi/LuCI.ui.Dropdown.html
+++ b/jsapi/LuCI.ui.Dropdown.html
@@ -3776,7 +3776,7 @@ choice labels.
@@ -3920,7 +3920,7 @@ as label text. Choice labels may be any valid value accepted by
@@ -4055,7 +4055,7 @@ of keeping them.
@@ -4230,7 +4230,7 @@ of keeping them.
@@ -5265,7 +5265,7 @@ trigger input value validation.
@@ -6110,7 +6110,7 @@ expression. Only applicable when create is true.
diff --git a/jsapi/LuCI.ui.DynamicList.html b/jsapi/LuCI.ui.DynamicList.html
index 26894aa7d0..910448c323 100644
--- a/jsapi/LuCI.ui.DynamicList.html
+++ b/jsapi/LuCI.ui.DynamicList.html
@@ -3551,7 +3551,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3781,7 +3781,7 @@ arbitrary values to the dynamic list.
@@ -3925,7 +3925,7 @@ as label text. Choice labels may be any valid value accepted by
@@ -4101,7 +4101,7 @@ as label text. Choice labels may be any valid value accepted by
@@ -4592,7 +4592,7 @@ registered.
@@ -5136,7 +5136,7 @@ trigger input value validation.
@@ -5487,7 +5487,7 @@ it to remain unselected.
diff --git a/jsapi/LuCI.ui.FileUpload.html b/jsapi/LuCI.ui.FileUpload.html
index 9a487b7f7f..60573558b7 100644
--- a/jsapi/LuCI.ui.FileUpload.html
+++ b/jsapi/LuCI.ui.FileUpload.html
@@ -3550,7 +3550,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3847,7 +3847,7 @@ upload control.
@@ -4338,7 +4338,7 @@ registered.
@@ -4882,7 +4882,7 @@ trigger input value validation.
@@ -5336,7 +5336,7 @@ ACL setup for the current session.
diff --git a/jsapi/LuCI.ui.Hiddenfield.html b/jsapi/LuCI.ui.Hiddenfield.html
index dcd4e0c5bb..53406e0026 100644
--- a/jsapi/LuCI.ui.Hiddenfield.html
+++ b/jsapi/LuCI.ui.Hiddenfield.html
@@ -3550,7 +3550,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3846,7 +3846,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -4337,7 +4337,7 @@ registered.
@@ -4881,7 +4881,7 @@ trigger input value validation.
@@ -5090,7 +5090,7 @@ trigger validation runs, e.g. when programmatically altering values.
diff --git a/jsapi/LuCI.ui.Select.html b/jsapi/LuCI.ui.Select.html
index 167514b8a1..9685337b81 100644
--- a/jsapi/LuCI.ui.Select.html
+++ b/jsapi/LuCI.ui.Select.html
@@ -5442,7 +5442,7 @@ selected yet. Only applicable to the select widget type.
diff --git a/jsapi/LuCI.ui.Textarea.html b/jsapi/LuCI.ui.Textarea.html
index 288590c7c0..e2e5ed5a03 100644
--- a/jsapi/LuCI.ui.Textarea.html
+++ b/jsapi/LuCI.ui.Textarea.html
@@ -5388,7 +5388,7 @@ contents.
diff --git a/jsapi/LuCI.ui.Textfield.html b/jsapi/LuCI.ui.Textfield.html
index fa931b69a3..ffb80bdf04 100644
--- a/jsapi/LuCI.ui.Textfield.html
+++ b/jsapi/LuCI.ui.Textfield.html
@@ -5316,7 +5316,7 @@ corresponding <input> element is empty.
diff --git a/jsapi/LuCI.ui.changes.html b/jsapi/LuCI.ui.changes.html
index 545f97d81d..6dca0cf2ea 100644
--- a/jsapi/LuCI.ui.changes.html
+++ b/jsapi/LuCI.ui.changes.html
@@ -3547,7 +3547,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3632,7 +3632,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3773,7 +3773,7 @@ settings.
@@ -3846,7 +3846,7 @@ and offer options to revert or apply the shown changes.
@@ -3964,7 +3964,7 @@ UCI changeset structure.
@@ -4040,7 +4040,7 @@ complete.
@@ -4168,7 +4168,7 @@ is removed.
diff --git a/jsapi/LuCI.ui.html b/jsapi/LuCI.ui.html
index ec05378660..e2893d4aeb 100644
--- a/jsapi/LuCI.ui.html
+++ b/jsapi/LuCI.ui.html
@@ -3544,7 +3544,7 @@ external JavaScript, use L.require("ui").then(...).
@@ -3675,7 +3675,7 @@ external JavaScript, use L.require("ui").then(...).
@@ -3905,7 +3905,7 @@ banner element.
@@ -4219,7 +4219,7 @@ trigger field validation or to bind it to further events.
@@ -4356,7 +4356,7 @@ default.
@@ -4582,7 +4582,7 @@ valid function value.
@@ -4730,7 +4730,7 @@ requested indicator was not found.
@@ -4806,7 +4806,7 @@ handler as-is without the need to bind it first.
@@ -4958,7 +4958,7 @@ caught and rendered using LuCI.error()
- ui.js, line 3858
+ ui.js, line 3845
@@ -5200,7 +5200,7 @@ accepted by LuCI.dom.content().
@@ -5403,7 +5403,7 @@ or rejecting with null when the connectivity check timed out.
@@ -5677,7 +5677,7 @@ changes were made.
@@ -5906,7 +5906,7 @@ element.
@@ -6264,7 +6264,7 @@ cancelled by the user.
diff --git a/jsapi/LuCI.ui.menu.html b/jsapi/LuCI.ui.menu.html
index edc1948bcd..a1b406ca8f 100644
--- a/jsapi/LuCI.ui.menu.html
+++ b/jsapi/LuCI.ui.menu.html
@@ -3542,7 +3542,7 @@
@@ -3631,7 +3631,7 @@
@@ -3703,7 +3703,7 @@ next page load.
@@ -3852,7 +3852,7 @@ internal root node if omitted.
@@ -4215,7 +4215,7 @@ internal root node if omitted.
diff --git a/jsapi/LuCI.ui.tabs.html b/jsapi/LuCI.ui.tabs.html
index 16026c3544..706df7bc43 100644
--- a/jsapi/LuCI.ui.tabs.html
+++ b/jsapi/LuCI.ui.tabs.html
@@ -3548,7 +3548,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3633,7 +3633,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3762,7 +3762,7 @@ DOM node.
@@ -3915,7 +3915,7 @@ DOM node.
diff --git a/jsapi/LuCI.view.html b/jsapi/LuCI.view.html
index f442a7af67..6e377d65d1 100644
--- a/jsapi/LuCI.view.html
+++ b/jsapi/LuCI.view.html
@@ -4519,7 +4519,7 @@ to a Node value.
diff --git a/jsapi/LuCI.xhr.html b/jsapi/LuCI.xhr.html
index 0ffed8cc15..be3660f55d 100644
--- a/jsapi/LuCI.xhr.html
+++ b/jsapi/LuCI.xhr.html
@@ -4483,7 +4483,7 @@ when invoked.
diff --git a/jsapi/form.js.html b/jsapi/form.js.html
index fa8bfc6572..8330db3b88 100644
--- a/jsapi/form.js.html
+++ b/jsapi/form.js.html
@@ -8345,7 +8345,7 @@ return baseclass.extend(/** @lends LuCI.form.prototype */ {
diff --git a/jsapi/fs.js.html b/jsapi/fs.js.html
index 6d9597b638..1d2c15f0ab 100644
--- a/jsapi/fs.js.html
+++ b/jsapi/fs.js.html
@@ -3957,7 +3957,7 @@ return FileSystem;
diff --git a/jsapi/index.html b/jsapi/index.html
index ac9f21ca03..7ac2d28241 100644
--- a/jsapi/index.html
+++ b/jsapi/index.html
@@ -3544,7 +3544,7 @@ is the central JSDoc 3.6.11 on Thu Feb 15 2024 17:46:10 GMT+0000 (Coordinated Universal Time)
+ Documentation generated by JSDoc 3.6.11 on Sun Feb 18 2024 23:05:39 GMT+0000 (Coordinated Universal Time)
diff --git a/jsapi/luci.js.html b/jsapi/luci.js.html
index f68e7a934f..afa19aa928 100644
--- a/jsapi/luci.js.html
+++ b/jsapi/luci.js.html
@@ -6990,7 +6990,7 @@
diff --git a/jsapi/network.js.html b/jsapi/network.js.html
index b69342380d..b99cc01c9a 100644
--- a/jsapi/network.js.html
+++ b/jsapi/network.js.html
@@ -7914,7 +7914,7 @@ return Network;
diff --git a/jsapi/rpc.js.html b/jsapi/rpc.js.html
index dd24519753..caf7af21ff 100644
--- a/jsapi/rpc.js.html
+++ b/jsapi/rpc.js.html
@@ -4013,7 +4013,7 @@ return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
diff --git a/jsapi/uci.js.html b/jsapi/uci.js.html
index ab4b5cd29f..6251ab4455 100644
--- a/jsapi/uci.js.html
+++ b/jsapi/uci.js.html
@@ -4516,7 +4516,7 @@ return baseclass.extend(/** @lends LuCI.uci.prototype */ {
diff --git a/jsapi/ui.js.html b/jsapi/ui.js.html
index 77fa190844..c591e01858 100644
--- a/jsapi/ui.js.html
+++ b/jsapi/ui.js.html
@@ -4705,8 +4705,6 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
window.addEventListener('touchstart', this.closeAllDropdowns);
}
else {
- sb.addEventListener('mouseover', this.handleMouseover.bind(this));
- sb.addEventListener('mouseout', this.handleMouseout.bind(this));
sb.addEventListener('focus', this.handleFocus.bind(this));
canary.addEventListener('focus', this.handleCanaryFocus.bind(this));
@@ -4858,7 +4856,8 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
sb.insertBefore(pv, ul.nextElementSibling);
li.forEach(function(l) {
- l.setAttribute('tabindex', 0);
+ if (!l.hasAttribute('unselectable'))
+ l.setAttribute('tabindex', 0);
});
sb.lastElementChild.setAttribute('tabindex', 0);
@@ -5099,20 +5098,6 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
elem.focus();
},
- /** @private */
- handleMouseout: function(ev) {
- var sb = ev.currentTarget;
-
- if (!sb.hasAttribute('open'))
- return;
-
- sb.querySelectorAll('.focus').forEach(function(e) {
- e.classList.remove('focus');
- });
-
- sb.querySelector('ul.dropdown').focus();
- },
-
/** @private */
createChoiceElement: function(sb, value, label) {
var tpl = sb.querySelector(this.options.create_template),
@@ -5344,7 +5329,12 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
case 40:
if (active && active.nextElementSibling) {
- this.setFocus(sb, active.nextElementSibling);
+ var li = active.nextElementSibling;
+ this.setFocus(sb, li);
+ if (this.options.create && li == li.parentNode.lastElementChild) {
+ var input = li.querySelector('input');
+ if (input) input.focus();
+ }
ev.preventDefault();
}
else if (document.activeElement === ul) {
@@ -5375,19 +5365,6 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
this.closeDropdown(sb, true);
},
- /** @private */
- handleMouseover: function(ev) {
- var sb = ev.currentTarget;
-
- if (!sb.hasAttribute('open'))
- return;
-
- var li = findParent(ev.target, 'li');
-
- if (li && li.parentNode.classList.contains('dropdown'))
- this.setFocus(sb, li);
- },
-
/** @private */
handleFocus: function(ev) {
var sb = ev.currentTarget;
@@ -5406,7 +5383,8 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
/** @private */
handleCreateKeydown: function(ev) {
var input = ev.currentTarget,
- sb = findParent(input, '.cbi-dropdown');
+ li = findParent(input, 'li'),
+ sb = findParent(li, '.cbi-dropdown');
switch (ev.keyCode) {
case 13:
@@ -5419,19 +5397,28 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
input.value = '';
input.blur();
break;
+
+ case 38:
+ if (li.previousElementSibling) {
+ this.handleCreateBlur(ev);
+ this.setFocus(sb, li.previousElementSibling, true);
+ }
+ break;
}
},
/** @private */
handleCreateFocus: function(ev) {
var input = ev.currentTarget,
- cbox = findParent(input, 'li').querySelector('input[type="checkbox"]'),
+ li = findParent(input, 'li'),
+ cbox = li.querySelector('input[type="checkbox"]'),
sb = findParent(input, '.cbi-dropdown');
if (cbox)
cbox.checked = true;
sb.setAttribute('locked-in', '');
+ this.setFocus(sb, li, true);
},
/** @private */
@@ -8486,7 +8473,7 @@ return UI;
--
2.30.2