diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-05-09 17:09:06 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-05-09 17:09:06 +0200 |
commit | 163a7a47f9bb5a4ec8c939f9e3ed67d4c0123d0f (patch) | |
tree | 62aeb541eabe71f46855a453f2a0e30637f14cbf /core | |
parent | bba2d60d36f7a802ccfa78f98e09763c031a8c5f (diff) | |
download | nextcloud-server-163a7a47f9bb5a4ec8c939f9e3ed67d4c0123d0f.tar.gz nextcloud-server-163a7a47f9bb5a4ec8c939f9e3ed67d4c0123d0f.zip |
Add prompt dialog to OC.dialogs
Diffstat (limited to 'core')
-rw-r--r-- | core/js/oc-dialogs.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js index 11833f12e2d..3e45e3789d2 100644 --- a/core/js/oc-dialogs.js +++ b/core/js/oc-dialogs.js @@ -62,6 +62,65 @@ var OCdialogs = { this.message(text, title, 'notice', OCdialogs.YES_NO_BUTTONS, callback, modal); }, /** + * displays prompt dialog + * @param text content of dialog + * @param title dialog title + * @param callback which will be triggered when user presses YES or NO + * (true or false would be passed to callback respectively) + * @param modal make the dialog modal + * @param name name of the input field + * @param password wether the input should be a password input + */ + prompt: function (text, title, callback, modal, name, password) { + $.when(this._getMessageTemplate()).then(function ($tmpl) { + var dialogName = 'oc-dialog-' + OCdialogs.dialogsCounter + '-content'; + var dialogId = '#' + dialogName; + var $dlg = $tmpl.octemplate({ + dialog_name: dialogName, + title : title, + message : text, + type : 'notice' + }); + var input = $('<input/>'); + input.attr('type', password ? 'password' : 'text').attr('id', dialogName + '-input'); + var label = $('<label/>').attr('for', dialogName + '-input').text(name + ': '); + $dlg.append(label); + $dlg.append(input); + if (modal === undefined) { + modal = false; + } + $('body').append($dlg); + var buttonlist = [ + { + text : t('core', 'Yes'), + click : function () { + if (callback !== undefined) { + callback(true, input.val()); + } + $(dialogId).ocdialog('close'); + }, + defaultButton: true + }, + { + text : t('core', 'No'), + click: function () { + if (callback !== undefined) { + callback(false, input.val()); + } + $(dialogId).ocdialog('close'); + } + } + ]; + + $(dialogId).ocdialog({ + closeOnEscape: true, + modal : modal, + buttons : buttonlist + }); + OCdialogs.dialogsCounter++; + }); + }, + /** * show a file picker to pick a file from * @param title dialog title * @param callback which will be triggered when user presses Choose |