From 4e6c3a0b96e8620c415d36d3dfbc532ffa30b16c Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sun, 10 Nov 2019 18:21:09 +0100 Subject: [PATCH] luci-base: luci.js: add optional apply unchecked action 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 (cherry picked from commit 3b3a1d9cc9cd68c22003621bef2553138853f866) --- .../htdocs/luci-static/resources/luci.js | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/luci-base/htdocs/luci-static/resources/luci.js b/modules/luci-base/htdocs/luci-static/resources/luci.js index 3f4707d4e..7c1831376 100644 --- a/modules/luci-base/htdocs/luci-static/resources/luci.js +++ b/modules/luci-base/htdocs/luci-static/resources/luci.js @@ -2831,9 +2831,9 @@ * returned promise runs to completion before the button * is reenabled. */ - handleSaveApply: function(ev) { + handleSaveApply: function(ev, mode) { return this.handleSave(ev).then(function() { - L.ui.changes.apply(true); + L.ui.changes.apply(mode == '0'); }); }, @@ -2905,12 +2905,20 @@ addFooter: function() { var footer = E([]); + var saveApplyBtn = this.handleSaveApply ? new L.ui.ComboButton('0', { + 0: [ _('Save & Apply') ], + 1: [ _('Apply unchecked') ] + }, { + classes: { + 0: 'cbi-button cbi-button-apply important', + 1: 'cbi-button cbi-button-negative important' + }, + click: L.ui.createHandlerFn(this, 'handleSaveApply') + }).render() : E([]); + if (this.handleSaveApply || this.handleSave || this.handleReset) { footer.appendChild(E('div', { 'class': 'cbi-page-actions' }, [ - this.handleSaveApply ? E('button', { - 'class': 'cbi-button cbi-button-apply', - 'click': L.ui.createHandlerFn(this, 'handleSaveApply') - }, [ _('Save & Apply') ]) : '', ' ', + saveApplyBtn, ' ', this.handleSave ? E('button', { 'class': 'cbi-button cbi-button-save', 'click': L.ui.createHandlerFn(this, 'handleSave') -- 2.25.1