From 57cd88cd0732ddb7e47a9cf728d15fa47e3d55e0 Mon Sep 17 00:00:00 2001
From: feckert args array beginning with
diff --git a/jsapi/LuCI.dom.html b/jsapi/LuCI.dom.html
index 03c138c221..66585e3c74 100644
--- a/jsapi/LuCI.dom.html
+++ b/jsapi/LuCI.dom.html
@@ -6320,7 +6320,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 ab943c8300..825a9930d3 100644
--- a/jsapi/LuCI.form.TableSection.html
+++ b/jsapi/LuCI.form.TableSection.html
@@ -6940,7 +6940,7 @@ was neither a string nor a function.
diff --git a/jsapi/LuCI.form.TextValue.html b/jsapi/LuCI.form.TextValue.html
index c65f68d85a..b313d7ec1a 100644
--- a/jsapi/LuCI.form.TextValue.html
+++ b/jsapi/LuCI.form.TextValue.html
@@ -7473,7 +7473,7 @@ before it is written.
diff --git a/jsapi/LuCI.form.TypedSection.html b/jsapi/LuCI.form.TypedSection.html
index 2be5714fae..d1b9b02678 100644
--- a/jsapi/LuCI.form.TypedSection.html
+++ b/jsapi/LuCI.form.TypedSection.html
@@ -6629,7 +6629,7 @@ was neither a string nor a function.
diff --git a/jsapi/LuCI.form.Value.html b/jsapi/LuCI.form.Value.html
index 3245970821..5e1e202d28 100644
--- a/jsapi/LuCI.form.Value.html
+++ b/jsapi/LuCI.form.Value.html
@@ -7532,7 +7532,7 @@ before it is written.
diff --git a/jsapi/LuCI.form.html b/jsapi/LuCI.form.html
index 224ab30c94..824f139442 100644
--- a/jsapi/LuCI.form.html
+++ b/jsapi/LuCI.form.html
@@ -3730,7 +3730,7 @@ m.render().then(function(node) {
diff --git a/jsapi/LuCI.fs.html b/jsapi/LuCI.fs.html
index b838963e3b..098c358dbd 100644
--- a/jsapi/LuCI.fs.html
+++ b/jsapi/LuCI.fs.html
@@ -5919,7 +5919,7 @@ the failure reason.
diff --git a/jsapi/LuCI.headers.html b/jsapi/LuCI.headers.html
index 58f2a282a6..5f61f77e72 100644
--- a/jsapi/LuCI.headers.html
+++ b/jsapi/LuCI.headers.html
@@ -3935,7 +3935,7 @@ Note: Header-Names are case-insensitive.
diff --git a/jsapi/LuCI.html b/jsapi/LuCI.html
index b5e5520e56..df454cc6f6 100644
--- a/jsapi/LuCI.html
+++ b/jsapi/LuCI.html
@@ -8342,7 +8342,7 @@ else null.
diff --git a/jsapi/LuCI.network.Device.html b/jsapi/LuCI.network.Device.html
index c82dfeacd2..69a97e2ed1 100644
--- a/jsapi/LuCI.network.Device.html
+++ b/jsapi/LuCI.network.Device.html
@@ -6300,7 +6300,7 @@ when it is down or absent.
diff --git a/jsapi/LuCI.network.Hosts.html b/jsapi/LuCI.network.Hosts.html
index f70380b4eb..c4384a2956 100644
--- a/jsapi/LuCI.network.Hosts.html
+++ b/jsapi/LuCI.network.Hosts.html
@@ -4861,7 +4861,7 @@ is used as hint.
diff --git a/jsapi/LuCI.network.Protocol.html b/jsapi/LuCI.network.Protocol.html
index 03fdb6b9b4..fc875d2b47 100644
--- a/jsapi/LuCI.network.Protocol.html
+++ b/jsapi/LuCI.network.Protocol.html
@@ -8091,7 +8091,7 @@ configuration.
diff --git a/jsapi/LuCI.network.WifiDevice.html b/jsapi/LuCI.network.WifiDevice.html
index 2e5468b3f0..2cc6cc54c1 100644
--- a/jsapi/LuCI.network.WifiDevice.html
+++ b/jsapi/LuCI.network.WifiDevice.html
@@ -5232,7 +5232,7 @@ configuration.
diff --git a/jsapi/LuCI.network.WifiNetwork.html b/jsapi/LuCI.network.WifiNetwork.html
index 1d0508cc30..4cfe78b7cb 100644
--- a/jsapi/LuCI.network.WifiNetwork.html
+++ b/jsapi/LuCI.network.WifiNetwork.html
@@ -7822,7 +7822,7 @@ configuration.
diff --git a/jsapi/LuCI.network.html b/jsapi/LuCI.network.html
index 00ca0dd74a..674d93be0c 100644
--- a/jsapi/LuCI.network.html
+++ b/jsapi/LuCI.network.html
@@ -9670,7 +9670,7 @@ conjunction with quality to calculate a quality percentage.
- Documentation generated by JSDoc 3.6.11 on Sat Jul 06 2024 11:32:33 GMT+0000 (Coordinated Universal Time)
+ Documentation generated by JSDoc 3.6.11 on Wed Jul 17 2024 07:32:12 GMT+0000 (Coordinated Universal Time)
diff --git a/jsapi/LuCI.poll.html b/jsapi/LuCI.poll.html
index 1cccbea45e..a7646f8d8c 100644
--- a/jsapi/LuCI.poll.html
+++ b/jsapi/LuCI.poll.html
@@ -4318,7 +4318,7 @@ run to begin with.
diff --git a/jsapi/LuCI.request.html b/jsapi/LuCI.request.html
index 6567993278..381428126e 100644
--- a/jsapi/LuCI.request.html
+++ b/jsapi/LuCI.request.html
@@ -5253,7 +5253,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 d0fe0331c2..7de9ef1c6b 100644
--- a/jsapi/LuCI.request.poll.html
+++ b/jsapi/LuCI.request.poll.html
@@ -4437,7 +4437,7 @@ else null.
diff --git a/jsapi/LuCI.response.html b/jsapi/LuCI.response.html
index 412db711b1..7b31017f0e 100644
--- a/jsapi/LuCI.response.html
+++ b/jsapi/LuCI.response.html
@@ -4395,7 +4395,7 @@ using String() and treated as response text.
diff --git a/jsapi/LuCI.rpc.html b/jsapi/LuCI.rpc.html
index 362431b3d8..cfe518c728 100644
--- a/jsapi/LuCI.rpc.html
+++ b/jsapi/LuCI.rpc.html
@@ -5726,7 +5726,7 @@ to the expect and filter declarations.
diff --git a/jsapi/LuCI.session.html b/jsapi/LuCI.session.html
index 09a643377f..08288178a4 100644
--- a/jsapi/LuCI.session.html
+++ b/jsapi/LuCI.session.html
@@ -4165,7 +4165,7 @@ being put in the session store.
diff --git a/jsapi/LuCI.uci.html b/jsapi/LuCI.uci.html
index 6420cd9521..20e8f5a6a0 100644
--- a/jsapi/LuCI.uci.html
+++ b/jsapi/LuCI.uci.html
@@ -7213,7 +7213,7 @@ associated name as arguments.
diff --git a/jsapi/LuCI.ui.AbstractElement.html b/jsapi/LuCI.ui.AbstractElement.html
index ddcc025c09..2d84024635 100644
--- a/jsapi/LuCI.ui.AbstractElement.html
+++ b/jsapi/LuCI.ui.AbstractElement.html
@@ -5269,7 +5269,7 @@ and are displayed in a slightly faded style.
diff --git a/jsapi/LuCI.ui.Checkbox.html b/jsapi/LuCI.ui.Checkbox.html
index a78a5dc014..6e9cbdd398 100644
--- a/jsapi/LuCI.ui.Checkbox.html
+++ b/jsapi/LuCI.ui.Checkbox.html
@@ -5383,7 +5383,7 @@ it is required for HTML based form submissions.
diff --git a/jsapi/LuCI.ui.ComboButton.html b/jsapi/LuCI.ui.ComboButton.html
index fef7d806ad..5bd53b40b8 100644
--- a/jsapi/LuCI.ui.ComboButton.html
+++ b/jsapi/LuCI.ui.ComboButton.html
@@ -5413,7 +5413,7 @@ choice value as second argument.
diff --git a/jsapi/LuCI.ui.Combobox.html b/jsapi/LuCI.ui.Combobox.html
index 7417c61c74..075cbd0bd9 100644
--- a/jsapi/LuCI.ui.Combobox.html
+++ b/jsapi/LuCI.ui.Combobox.html
@@ -5316,7 +5316,7 @@ forcibly set to true.
diff --git a/jsapi/LuCI.ui.Dropdown.html b/jsapi/LuCI.ui.Dropdown.html
index 7af4ecc39d..6a7e46249d 100644
--- a/jsapi/LuCI.ui.Dropdown.html
+++ b/jsapi/LuCI.ui.Dropdown.html
@@ -6114,7 +6114,7 @@ expression. Only applicable when create is true.
diff --git a/jsapi/LuCI.ui.DynamicList.html b/jsapi/LuCI.ui.DynamicList.html
index 676b898333..9b39b256b6 100644
--- a/jsapi/LuCI.ui.DynamicList.html
+++ b/jsapi/LuCI.ui.DynamicList.html
@@ -5491,7 +5491,7 @@ it to remain unselected.
diff --git a/jsapi/LuCI.ui.FileUpload.html b/jsapi/LuCI.ui.FileUpload.html
index 26b7bf8df5..45647b070d 100644
--- a/jsapi/LuCI.ui.FileUpload.html
+++ b/jsapi/LuCI.ui.FileUpload.html
@@ -5414,7 +5414,7 @@ ACL setup for the current session.
diff --git a/jsapi/LuCI.ui.Hiddenfield.html b/jsapi/LuCI.ui.Hiddenfield.html
index e683b837b7..e0dc732683 100644
--- a/jsapi/LuCI.ui.Hiddenfield.html
+++ b/jsapi/LuCI.ui.Hiddenfield.html
@@ -5094,7 +5094,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 8572738711..007cdf370b 100644
--- a/jsapi/LuCI.ui.Select.html
+++ b/jsapi/LuCI.ui.Select.html
@@ -5446,7 +5446,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 4105591be0..0a5e786b62 100644
--- a/jsapi/LuCI.ui.Textarea.html
+++ b/jsapi/LuCI.ui.Textarea.html
@@ -5392,7 +5392,7 @@ contents.
diff --git a/jsapi/LuCI.ui.Textfield.html b/jsapi/LuCI.ui.Textfield.html
index d56cd8cc7d..0d7ae3ff59 100644
--- a/jsapi/LuCI.ui.Textfield.html
+++ b/jsapi/LuCI.ui.Textfield.html
@@ -5320,7 +5320,7 @@ corresponding <input> element is empty.
diff --git a/jsapi/LuCI.ui.changes.html b/jsapi/LuCI.ui.changes.html
index 48a457b973..4953b3a21b 100644
--- a/jsapi/LuCI.ui.changes.html
+++ b/jsapi/LuCI.ui.changes.html
@@ -3551,7 +3551,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3636,7 +3636,7 @@ external JavaScript, use L.require("ui").then(...) and ac
@@ -3777,7 +3777,7 @@ settings.
@@ -3850,7 +3850,7 @@ and offer options to revert or apply the shown changes.
@@ -3968,7 +3968,7 @@ UCI changeset structure.
@@ -4044,7 +4044,7 @@ complete.
@@ -4172,7 +4172,7 @@ is removed.
diff --git a/jsapi/LuCI.ui.html b/jsapi/LuCI.ui.html
index 358ff5ca10..e441c52f95 100644
--- a/jsapi/LuCI.ui.html
+++ b/jsapi/LuCI.ui.html
@@ -3909,7 +3909,7 @@ banner element.
@@ -4223,7 +4223,7 @@ trigger field validation or to bind it to further events.
@@ -4360,7 +4360,7 @@ default.
@@ -4810,7 +4810,7 @@ handler as-is without the need to bind it first.
@@ -5204,7 +5204,7 @@ accepted by LuCI.dom.content().
@@ -6268,7 +6268,7 @@ cancelled by the user.
diff --git a/jsapi/LuCI.ui.menu.html b/jsapi/LuCI.ui.menu.html
index aef5737058..caa4014c0d 100644
--- a/jsapi/LuCI.ui.menu.html
+++ b/jsapi/LuCI.ui.menu.html
@@ -4219,7 +4219,7 @@ internal root node if omitted.
diff --git a/jsapi/LuCI.ui.tabs.html b/jsapi/LuCI.ui.tabs.html
index a08cc7856c..aa00476f6f 100644
--- a/jsapi/LuCI.ui.tabs.html
+++ b/jsapi/LuCI.ui.tabs.html
@@ -3919,7 +3919,7 @@ DOM node.
diff --git a/jsapi/LuCI.view.html b/jsapi/LuCI.view.html
index 78e606aa5d..1cd02c5c5c 100644
--- a/jsapi/LuCI.view.html
+++ b/jsapi/LuCI.view.html
@@ -4523,7 +4523,7 @@ to a Node value.
diff --git a/jsapi/LuCI.xhr.html b/jsapi/LuCI.xhr.html
index 769cda4c9a..854250efef 100644
--- a/jsapi/LuCI.xhr.html
+++ b/jsapi/LuCI.xhr.html
@@ -4487,7 +4487,7 @@ when invoked.
diff --git a/jsapi/form.js.html b/jsapi/form.js.html
index 3afde30bc5..866933fa71 100644
--- a/jsapi/form.js.html
+++ b/jsapi/form.js.html
@@ -6740,13 +6740,13 @@ var CBITableSection = CBITypedSection.extend(/** @lends LuCI.form.TableSection.p
else {
ui.showModal(title, [
nodes,
- E('div', { 'class': 'right' }, [
+ E('div', { 'class': 'button-row' }, [
E('button', {
- 'class': 'cbi-button',
+ 'class': 'btn cbi-button',
'click': ui.createHandlerFn(this, 'handleModalCancel', m)
}, [ _('Dismiss') ]), ' ',
E('button', {
- 'class': 'cbi-button cbi-button-positive important',
+ 'class': 'btn cbi-button cbi-button-positive important',
'click': ui.createHandlerFn(this, 'handleModalSave', m),
'disabled': m.readonly || null
}, [ _('Save') ])
@@ -8370,7 +8370,7 @@ return baseclass.extend(/** @lends LuCI.form.prototype */ {
diff --git a/jsapi/fs.js.html b/jsapi/fs.js.html
index 6e9f2dfb0e..3d339a3a86 100644
--- a/jsapi/fs.js.html
+++ b/jsapi/fs.js.html
@@ -3961,7 +3961,7 @@ return FileSystem;
diff --git a/jsapi/index.html b/jsapi/index.html
index daef921920..7328efda12 100644
--- a/jsapi/index.html
+++ b/jsapi/index.html
@@ -3548,7 +3548,7 @@ is the central JSDoc 3.6.11 on Sat Jul 06 2024 11:32:32 GMT+0000 (Coordinated Universal Time)
+ Documentation generated by JSDoc 3.6.11 on Wed Jul 17 2024 07:32:12 GMT+0000 (Coordinated Universal Time)
diff --git a/jsapi/luci.js.html b/jsapi/luci.js.html
index b5ca15637f..245649df6b 100644
--- a/jsapi/luci.js.html
+++ b/jsapi/luci.js.html
@@ -6994,7 +6994,7 @@
diff --git a/jsapi/network.js.html b/jsapi/network.js.html
index de009e356e..64372feff2 100644
--- a/jsapi/network.js.html
+++ b/jsapi/network.js.html
@@ -7933,7 +7933,7 @@ return Network;
diff --git a/jsapi/rpc.js.html b/jsapi/rpc.js.html
index 5eb58ab88f..82c3266b0f 100644
--- a/jsapi/rpc.js.html
+++ b/jsapi/rpc.js.html
@@ -4017,7 +4017,7 @@ return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
diff --git a/jsapi/uci.js.html b/jsapi/uci.js.html
index 3cc48e935d..e1f902f810 100644
--- a/jsapi/uci.js.html
+++ b/jsapi/uci.js.html
@@ -4520,7 +4520,7 @@ return baseclass.extend(/** @lends LuCI.uci.prototype */ {
diff --git a/jsapi/ui.js.html b/jsapi/ui.js.html
index 9c04750ad8..64e5a9d90e 100644
--- a/jsapi/ui.js.html
+++ b/jsapi/ui.js.html
@@ -7148,7 +7148,7 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
/** @private */
cancelModal: function(ev) {
if (ev.key == 'Escape') {
- var btn = modalDiv.querySelector('.right > button, .right > .btn');
+ var btn = modalDiv.querySelector('.right > button, .right > .btn, .button-row > .btn');
if (btn)
btn.click();
@@ -7731,99 +7731,94 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
return new Promise(function(resolveFn, rejectFn) {
UI.prototype.showModal(_('Uploading fileâ¦'), [
E('p', _('Please select the file to upload.')),
- E('div', { 'style': 'display:flex' }, [
- E('div', { 'class': 'left', 'style': 'flex:1' }, [
- E('input', {
- type: 'file',
- style: 'display:none',
- change: function(ev) {
- var modal = dom.parent(ev.target, '.modal'),
- body = modal.querySelector('p'),
- upload = modal.querySelector('.cbi-button-action.important'),
- file = ev.currentTarget.files[0];
-
- if (file == null)
- return;
-
- dom.content(body, [
- E('ul', {}, [
- E('li', {}, [ '%s: %s'.format(_('Name'), file.name.replace(/^.*[\\\/]/, '')) ]),
- E('li', {}, [ '%s: %1024mB'.format(_('Size'), file.size) ])
- ])
- ]);
-
- upload.disabled = false;
- upload.focus();
- }
- }),
- E('button', {
- 'class': 'btn',
- 'click': function(ev) {
- ev.target.previousElementSibling.click();
- }
- }, [ _('Browseâ¦') ])
- ]),
- E('div', { 'class': 'right', 'style': 'flex:1' }, [
- E('button', {
- 'class': 'btn',
- 'click': function() {
+ E('div', { 'class': 'button-row' }, [
+ E('div', {
+ 'class': 'btn cbi-button',
+ 'click': function() {
+ UI.prototype.hideModal();
+ rejectFn(new Error(_('Upload has been cancelled')));
+ }
+ }, [ _('Cancel') ]),
+ E('input', {
+ type: 'file',
+ style: 'display:none',
+ change: function(ev) {
+ var modal = dom.parent(ev.target, '.modal'),
+ body = modal.querySelector('p'),
+ upload = modal.querySelector('.cbi-button-action.important'),
+ file = ev.currentTarget.files[0];
+
+ if (file == null)
+ return;
+
+ dom.content(body, [
+ E('ul', {}, [
+ E('li', {}, [ '%s: %s'.format(_('Name'), file.name.replace(/^.*[\\\/]/, '')) ]),
+ E('li', {}, [ '%s: %1024mB'.format(_('Size'), file.size) ])
+ ])
+ ]);
+
+ upload.disabled = false;
+ upload.focus();
+ }
+ }),
+ E('div', {
+ 'class': 'btn cbi-button',
+ 'click': function(ev) {
+ ev.target.previousElementSibling.click();
+ }
+ }, [ _('Browseâ¦') ]),
+ E('div', {
+ 'class': 'btn cbi-button-action important',
+ 'disabled': true,
+ 'click': function(ev) {
+ var input = dom.parent(ev.target, '.modal').querySelector('input[type="file"]');
+
+ if (!input.files[0])
+ return;
+
+ var progress = E('div', { 'class': 'cbi-progressbar', 'title': '0%' }, E('div', { 'style': 'width:0' }));
+
+ UI.prototype.showModal(_('Uploading fileâ¦'), [ progress ]);
+
+ var data = new FormData();
+
+ data.append('sessionid', rpc.getSessionID());
+ data.append('filename', path);
+ data.append('filedata', input.files[0]);
+
+ var filename = input.files[0].name;
+
+ request.post(L.env.cgi_base + '/cgi-upload', data, {
+ timeout: 0,
+ progress: function(pev) {
+ var percent = (pev.loaded / pev.total) * 100;
+
+ if (progressStatusNode)
+ progressStatusNode.data = '%.2f%%'.format(percent);
+
+ progress.setAttribute('title', '%.2f%%'.format(percent));
+ progress.firstElementChild.style.width = '%.2f%%'.format(percent);
+ }
+ }).then(function(res) {
+ var reply = res.json();
+
UI.prototype.hideModal();
- rejectFn(new Error(_('Upload has been cancelled')));
- }
- }, [ _('Cancel') ]),
- ' ',
- E('button', {
- 'class': 'btn cbi-button-action important',
- 'disabled': true,
- 'click': function(ev) {
- var input = dom.parent(ev.target, '.modal').querySelector('input[type="file"]');
-
- if (!input.files[0])
- return;
-
- var progress = E('div', { 'class': 'cbi-progressbar', 'title': '0%' }, E('div', { 'style': 'width:0' }));
-
- UI.prototype.showModal(_('Uploading fileâ¦'), [ progress ]);
-
- var data = new FormData();
-
- data.append('sessionid', rpc.getSessionID());
- data.append('filename', path);
- data.append('filedata', input.files[0]);
-
- var filename = input.files[0].name;
-
- request.post(L.env.cgi_base + '/cgi-upload', data, {
- timeout: 0,
- progress: function(pev) {
- var percent = (pev.loaded / pev.total) * 100;
-
- if (progressStatusNode)
- progressStatusNode.data = '%.2f%%'.format(percent);
-
- progress.setAttribute('title', '%.2f%%'.format(percent));
- progress.firstElementChild.style.width = '%.2f%%'.format(percent);
- }
- }).then(function(res) {
- var reply = res.json();
-
- UI.prototype.hideModal();
-
- if (L.isObject(reply) && reply.failure) {
- UI.prototype.addNotification(null, E('p', _('Upload request failed: %s').format(reply.message)));
- rejectFn(new Error(reply.failure));
- }
- else {
- reply.name = filename;
- resolveFn(reply);
- }
- }, function(err) {
- UI.prototype.hideModal();
- rejectFn(err);
- });
- }
- }, [ _('Upload') ])
- ])
+
+ if (L.isObject(reply) && reply.failure) {
+ UI.prototype.addNotification(null, E('p', _('Upload request failed: %s').format(reply.message)));
+ rejectFn(new Error(reply.failure));
+ }
+ else {
+ reply.name = filename;
+ resolveFn(reply);
+ }
+ }, function(err) {
+ UI.prototype.hideModal();
+ rejectFn(err);
+ });
+ }
+ }, [ _('Upload') ])
])
]);
});
@@ -8002,26 +7997,29 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
E('var', {}, E('ins', ' ')), ' ', _('Option changed') ]),
E('div', { 'class': 'uci-change-legend-label' }, [
E('var', {}, E('del', ' ')), ' ', _('Option removed') ])]),
- E('br'), list,
- E('div', { 'class': 'right' }, [
- E('button', {
- 'class': 'btn',
- 'click': UI.prototype.hideModal
- }, [ _('Close') ]), ' ',
- new UIComboButton('0', {
- 0: [ _('Save & Apply') ],
- 1: [ _('Apply unchecked') ]
- }, {
- classes: {
- 0: 'btn cbi-button cbi-button-positive important',
- 1: 'btn cbi-button cbi-button-negative important'
- },
- click: L.bind(function(ev, mode) { this.apply(mode == '0') }, this)
- }).render(), ' ',
- E('button', {
- 'class': 'cbi-button cbi-button-reset',
- 'click': L.bind(this.revert, this)
- }, [ _('Revert') ])])])
+ E('br'),
+ list,
+ ]),
+ E('div', { 'class': 'button-row' }, [
+ E('div', {
+ 'class': 'btn cbi-button',
+ 'click': UI.prototype.hideModal
+ }, [ _('Close') ]), ' ',
+ new UIComboButton('0', {
+ 0: [ _('Save & Apply') ],
+ 1: [ _('Apply unchecked') ]
+ }, {
+ classes: {
+ 0: 'btn cbi-button cbi-button-positive important',
+ 1: 'btn cbi-button cbi-button-negative important'
+ },
+ click: L.bind(function(ev, mode) { this.apply(mode == '0') }, this)
+ }).render(), ' ',
+ E('div', {
+ 'class': 'btn cbi-button cbi-button-reset',
+ 'click': L.bind(this.revert, this)
+ }, [ _('Revert') ])
+ ])
]);
for (var config in this.changes) {
@@ -8254,22 +8252,20 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
UI.prototype.changes.displayStatus('warning', [
E('h4', _('Connectivity change')),
- E('p', _('"%h" interface changes could inhibit access to this device.').format(affected)),
- E('p', _('Any IP change requires <strong>connecting to the new IP</strong> within %d seconds to retain the changes.').format(L.env.apply_rollback)),
- E('p', _('Choose how to apply changes:')),
- E('div', { 'class': 'right' }, [
- E('button', {
- 'class': 'btn',
+ E('p', _('Changes have been made to the existing connection via "%h". This could inhibit access to this device. Any IP change requires <strong>connecting to the new IP</strong> within %d seconds to retain the changes.').format(affected, L.env.apply_rollback)),
+ E('div', { 'class': 'button-row' }, [
+ E('div', {
+ 'class': 'btn cbi-button',
'click': rejectFn,
}, [ _('Cancel') ]), ' ',
- E('button', {
+ E('div', {
'class': 'btn cbi-button-action important',
'click': resolveFn.bind(null, true)
- }, [ _('Apply, reverting if GUI remains unreachable') ]), ' ',
- E('button', {
+ }, [ _('Apply, reverting in case of connectivity loss') ]), ' ',
+ E('div', {
'class': 'btn cbi-button-negative important',
'click': resolveFn.bind(null, false)
- }, [ _('Apply, committing now') ])
+ }, [ _('Apply unchecked') ])
])
]);
});
@@ -8526,7 +8522,7 @@ return UI;
--
2.30.2