diff options
author | Andrew Dolgov <[email protected]> | 2021-06-16 14:24:57 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-06-16 14:24:57 +0300 |
commit | 8ed8a109659bc4a629dd785f21f22e99bb84f289 (patch) | |
tree | bb2c2db76834dd15e69826134f2ba1a6cae8e6aa /js/PrefHelpers.js | |
parent | 92c78beb909d8955657564127c2e953ca25113e3 (diff) |
add settings profile cloning
Diffstat (limited to 'js/PrefHelpers.js')
-rw-r--r-- | js/PrefHelpers.js | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/js/PrefHelpers.js b/js/PrefHelpers.js index 361b653b6..30a4544fe 100644 --- a/js/PrefHelpers.js +++ b/js/PrefHelpers.js @@ -128,6 +128,24 @@ const Helpers = { getSelectedProfiles: function () { return Tables.getSelected("pref-profiles-list"); }, + cloneSelected: function() { + const sel_rows = this.getSelectedProfiles(); + + if (sel_rows.length == 1) { + const new_title = prompt(__("Name for cloned profile:")); + + if (new_title) { + xhr.post("backend.php", {op: "pref-prefs", method: "cloneprofile", "new_title": new_title, "old_profile": sel_rows[0]}, () => { + Notify.close(); + dialog.refresh(); + }); + } + + } else { + alert(__("Please select a single profile to clone.")); + } + + }, removeSelected: function () { const sel_rows = this.getSelectedProfiles(); @@ -174,7 +192,7 @@ const Helpers = { <div class="pull-right"> <input name='newprofile' dojoType='dijit.form.ValidationTextBox' required='1'> - ${App.FormFields.button_tag(__('Create profile'), "", {onclick: 'App.dialogOf(this).addProfile()'})} + ${App.FormFields.button_tag(App.FormFields.icon("add_circle") + " " + __('Add'), "", {onclick: 'App.dialogOf(this).addProfile()'})} </div> </div> @@ -198,6 +216,7 @@ const Helpers = { </script> </span>` : `${profile.title}`} ${profile.active ? __("(active)") : ""} + ${profile.initialized ? "" : __("(empty)")} </td> </tr> `).join("")} @@ -205,9 +224,11 @@ const Helpers = { </div> <footer> - ${App.FormFields.button_tag(App.FormFields.icon("delete") + " " +__('Remove selected profiles'), "", + ${App.FormFields.button_tag(App.FormFields.icon("delete") + " " +__('Remove selected'), "", {class: 'pull-left alt-danger', onclick: 'App.dialogOf(this).removeSelected()'})} - ${App.FormFields.submit_tag(App.FormFields.icon("check") + " " + __('Activate profile'), {onclick: 'App.dialogOf(this).execute()'})} + ${App.FormFields.button_tag(App.FormFields.icon("content_copy") + " " + __('Clone'), "", + {class: '', onclick: 'App.dialogOf(this).cloneSelected()'})} + ${App.FormFields.submit_tag(App.FormFields.icon("check") + " " + __('Activate'), {onclick: 'App.dialogOf(this).execute()'})} ${App.FormFields.cancel_dialog_tag(__('Cancel'))} </footer> </form> |