summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2014-05-09 17:09:06 +0200
committerRobin Appelman <icewind@owncloud.com>2014-05-09 17:09:06 +0200
commit163a7a47f9bb5a4ec8c939f9e3ed67d4c0123d0f (patch)
tree62aeb541eabe71f46855a453f2a0e30637f14cbf /core
parentbba2d60d36f7a802ccfa78f98e09763c031a8c5f (diff)
downloadnextcloud-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.js59
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