summaryrefslogtreecommitdiff
path: root/plugins/attachment_reminder/attachment_reminder.js
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-05-20 09:35:02 +0200
committerAleksander Machniak <alec@alec.pl>2013-05-20 09:35:02 +0200
commitc8bc8c97f3f6e5c04fa7b459bdb1c922d7f4e6ad (patch)
tree178573a031c14ba4ea8fb7b9370c11bf0a65716c /plugins/attachment_reminder/attachment_reminder.js
parent68684a89828db7b929d596f7b80e4cbf9fae9bfc (diff)
Improved attachment reminder dialog (#1489091)
Improved core show_popup_dialog() function
Diffstat (limited to 'plugins/attachment_reminder/attachment_reminder.js')
-rwxr-xr-xplugins/attachment_reminder/attachment_reminder.js41
1 files changed, 29 insertions, 12 deletions
diff --git a/plugins/attachment_reminder/attachment_reminder.js b/plugins/attachment_reminder/attachment_reminder.js
index a4f3e6325..50d661b3b 100755
--- a/plugins/attachment_reminder/attachment_reminder.js
+++ b/plugins/attachment_reminder/attachment_reminder.js
@@ -14,7 +14,7 @@ function rcmail_get_compose_message()
}
return msg;
-}
+};
function rcmail_check_message(msg)
{
@@ -24,12 +24,33 @@ function rcmail_check_message(msg)
rx = new RegExp('(' + keywords.join('|') + ')', 'i');
return msg.search(rx) != -1;
-}
+};
function rcmail_have_attachments()
{
return rcmail.env.attachments && $('li', rcmail.gui_objects.attachmentlist).length;
-}
+};
+
+function rcmail_attachment_reminder_dialog()
+{
+ var buttons = {};
+
+ buttons[rcmail.gettext('addattachment')] = function() {
+ $(this).remove();
+ if (window.UI && UI.show_uploadform) // Larry skin
+ UI.show_uploadform();
+ else if (window.rcmail_ui && rcmail_ui.show_popup) // classic skin
+ rcmail_ui.show_popup('uploadmenu', true);
+ };
+ buttons[rcmail.gettext('send')] = function(e) {
+ $(this).remove();
+ rcmail.env.attachment_reminder = true;
+ rcmail.command('send', '', e);
+ };
+
+ rcmail.env.attachment_reminder = false;
+ rcmail.show_popup_dialog(rcmail.gettext('attachment_reminder.forgotattachment'), '', buttons);
+};
if (window.rcmail) {
@@ -37,15 +58,11 @@ if (window.rcmail) {
var msg = rcmail_get_compose_message(),
subject = $('#compose-subject').val();
- if (!rcmail_have_attachments() && (rcmail_check_message(msg) || rcmail_check_message(subject))) {
- if (confirm(rcmail.gettext('forgotattachment', 'attachment_reminder'))) {
- if (window.UI && UI.show_uploadform) // Larry skin
- UI.show_uploadform();
- else if (window.rcmail_ui && rcmail_ui.show_popup) // classic skin
- rcmail_ui.show_popup('uploadmenu', true);
-
- return false;
- }
+ if (!rcmail.env.attachment_reminder && !rcmail_have_attachments()
+ && (rcmail_check_message(msg) || rcmail_check_message(subject))
+ ) {
+ rcmail_attachment_reminder_dialog();
+ return false;
}
});
}