summaryrefslogtreecommitdiff
path: root/web-ui
diff options
context:
space:
mode:
authorLeandro Gualter <leandrogualter@gmail.com>2015-04-08 19:37:46 -0300
committerRoberto Soares <roberto.tech@gmail.com>2015-04-09 15:59:38 -0300
commitbeac9142c2766ed8daf7dd13b6ba22b7895402a5 (patch)
tree602778d5c43202024b158b6d38d9c8395a1e8708 /web-ui
parent49a7867a593c7e18288e44530935fa13fb6bee1e (diff)
Adds trash actions template and respective javascript
Diffstat (limited to 'web-ui')
-rw-r--r--web-ui/app/js/mail_list_actions/ui/mail_list_actions.js15
-rw-r--r--web-ui/app/js/mail_list_actions/ui/recover_many_trigger.js47
-rw-r--r--web-ui/app/js/views/templates.js1
-rw-r--r--web-ui/app/templates/mail_actions/trash_actions_box.hbs5
4 files changed, 65 insertions, 3 deletions
diff --git a/web-ui/app/js/mail_list_actions/ui/mail_list_actions.js b/web-ui/app/js/mail_list_actions/ui/mail_list_actions.js
index 8987a7d4..2f59d367 100644
--- a/web-ui/app/js/mail_list_actions/ui/mail_list_actions.js
+++ b/web-ui/app/js/mail_list_actions/ui/mail_list_actions.js
@@ -51,14 +51,13 @@ define(
function mailsActions() {
this.render = function() {
- this.$node.html(templates.mailActions.actionsBox({
- txtDeleteButton: this.getTxtDeleteButton()
- }));
+ this.$node.html(this.getActionsBoxTemplate());
refreshTrigger.attachTo('#refresh-trigger');
composeTrigger.attachTo('#compose-trigger');
toggleCheckAllMailTrigger.attachTo('#toggle-check-all-emails');
paginationTrigger.attachTo('#pagination-trigger');
deleteManyTrigger.attachTo('#delete-selected');
+ recoverManyTrigger.attachTo('#recover-selected');
markManyAsReadTrigger.attachTo('#mark-selected-as-read');
markAsUnreadTrigger.attachTo('#mark-selected-as-unread');
refresher.attachTo(document);
@@ -81,6 +80,16 @@ define(
this.render();
};
+ this.getActionsBoxTemplate = function () {
+ if(this.getCurrentTag() === 'trash') {
+ return templates.mailActions.trashActionsBox();
+ } else {
+ return templates.mailActions.actionsBox({
+ txtDeleteButton: this.getTxtDeleteButton();
+ });
+ }
+ };
+
this.after('initialize', function () {
this.on(document, events.ui.tag.select, this.updateCurrentTag);
this.render();
diff --git a/web-ui/app/js/mail_list_actions/ui/recover_many_trigger.js b/web-ui/app/js/mail_list_actions/ui/recover_many_trigger.js
new file mode 100644
index 00000000..e0a32094
--- /dev/null
+++ b/web-ui/app/js/mail_list_actions/ui/recover_many_trigger.js
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2014 ThoughtWorks, Inc.
+ *
+ * Pixelated is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Pixelated is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+ */
+define(
+ [
+ 'flight/lib/component',
+ 'views/templates',
+ 'mixins/with_enable_disable_on_event',
+ 'page/events'
+ ],
+
+ function(defineComponent, templates, withEnableDisableOnEvent, events) {
+ 'use strict';
+
+ return defineComponent(recoverManyTrigger, withEnableDisableOnEvent(events.ui.mails.hasMailsChecked));
+
+ function recoverManyTrigger() {
+ this.defaultAttrs({});
+
+ this.getMailsToRecover = function(event) {
+ this.trigger(document, events.ui.mail.wantChecked, this.$node);
+ };
+
+ this.recoverManyEmails = function (event, data) {
+ this.trigger(document, events.ui.mail.recoverMany, data);
+ };
+
+ this.after('initialize', function () {
+ this.on('click', this.getMailsToRecover);
+ this.on(events.ui.mail.hereChecked, this.recoverManyEmails);
+ });
+ }
+ }
+);
diff --git a/web-ui/app/js/views/templates.js b/web-ui/app/js/views/templates.js
index 64e269ca..5e991a20 100644
--- a/web-ui/app/js/views/templates.js
+++ b/web-ui/app/js/views/templates.js
@@ -46,6 +46,7 @@ define(['hbs/templates'], function (templates) {
},
mailActions: {
actionsBox: window.Pixelated['app/templates/mail_actions/actions_box.hbs'],
+ trashActionsBox: window.Pixelated['app/templates/mail_actions/trash_actions_box.hbs'],
composeTrigger: window.Pixelated['app/templates/mail_actions/compose_trigger.hbs'],
refreshTrigger: window.Pixelated['app/templates/mail_actions/refresh_trigger.hbs'],
paginationTrigger: window.Pixelated['app/templates/mail_actions/pagination_trigger.hbs']
diff --git a/web-ui/app/templates/mail_actions/trash_actions_box.hbs b/web-ui/app/templates/mail_actions/trash_actions_box.hbs
new file mode 100644
index 00000000..ad849838
--- /dev/null
+++ b/web-ui/app/templates/mail_actions/trash_actions_box.hbs
@@ -0,0 +1,5 @@
+<li><input type="checkbox" id="toggle-check-all-emails"/></li>
+<li><input type="button" id="delete-selected" value="{{t txtDeleteButton}}" disabled="disabled"/></li>
+<li><input type="button" id="recover-selected" value="{{t 'Move to Inbox'}}" disabled="disabled"/></li>
+<li id="pagination-trigger" class="right"></li>
+<li id="refresh-trigger" class="right"></li>