summaryrefslogtreecommitdiff
path: root/web-ui
diff options
context:
space:
mode:
authorBruno Wagner <bwagner@riseup.net>2016-01-05 10:54:37 -0200
committerBruno Wagner <bwagner@riseup.net>2016-01-05 10:54:37 -0200
commit29bfdd509d88aef16873207683302bec22bfe5a9 (patch)
tree1783d6970c0d5e4bb5af2495afbc8f28d6ad5583 /web-ui
parentc3340fc2529f3627264b616ea45fac3c9681b001 (diff)
Revert "Issue #25 - Implemented shortcuts on UI"
This reverts commit aa66beb0c74ebaa950a083ed991f6e5f50f9c9ac. This commit broke the functional tests, so we are reverting it for now, while we fix it
Diffstat (limited to 'web-ui')
-rw-r--r--web-ui/app/js/dispatchers/right_pane_dispatcher.js10
-rw-r--r--web-ui/app/js/mail_view/ui/mail_actions.js15
-rw-r--r--web-ui/app/js/mail_view/ui/reply_section.js4
-rw-r--r--web-ui/app/js/page/default.js5
-rw-r--r--web-ui/app/js/page/events.js9
-rw-r--r--web-ui/app/js/page/shortcuts.js146
-rw-r--r--web-ui/app/js/search/search_trigger.js5
-rw-r--r--web-ui/app/js/services/delete_service.js1
8 files changed, 9 insertions, 186 deletions
diff --git a/web-ui/app/js/dispatchers/right_pane_dispatcher.js b/web-ui/app/js/dispatchers/right_pane_dispatcher.js
index 4d28588a..870bcd92 100644
--- a/web-ui/app/js/dispatchers/right_pane_dispatcher.js
+++ b/web-ui/app/js/dispatchers/right_pane_dispatcher.js
@@ -100,22 +100,12 @@ define(
this.attr.currentTag = data.tag;
};
- this.shortcutOpenComposeBox = function() {
- this.trigger(document, events.dispatchers.rightPane.openComposeBox);
- };
-
- this.shortcutCloseMail = function() {
- this.trigger(document, events.dispatchers.rightPane.openNoMessageSelected);
- };
-
this.after('initialize', function () {
this.on(document, events.dispatchers.rightPane.openComposeBox, this.openComposeBox);
- this.on(document, events.shortcuts.openComposeBox, this.shortcutOpenComposeBox);
this.on(document, events.dispatchers.rightPane.openDraft, this.openDraft);
this.on(document, events.ui.mail.open, this.openMail);
this.on(document, events.dispatchers.rightPane.openFeedbackBox, this.openFeedbackBox);
this.on(document, events.dispatchers.rightPane.openNoMessageSelected, this.openNoMessageSelectedPane);
- this.on(document, events.shortcuts.closeMail, this.shortcutCloseMail);
this.on(document, events.dispatchers.rightPane.selectTag, this.selectTag);
this.on(document, events.ui.tag.selected, this.saveTag);
this.on(document, events.ui.tag.select, this.saveTag);
diff --git a/web-ui/app/js/mail_view/ui/mail_actions.js b/web-ui/app/js/mail_view/ui/mail_actions.js
index aa90169f..65cd0aaa 100644
--- a/web-ui/app/js/mail_view/ui/mail_actions.js
+++ b/web-ui/app/js/mail_view/ui/mail_actions.js
@@ -37,13 +37,11 @@ define(
moreActions: '#more-actions'
});
- this.deleteMail = function () {
- this.trigger(document, events.ui.mail.delete, {mail: this.attr.mail});
- this.select('moreActions').hide();
- };
this.displayMailActions = function () {
+
this.$node.html(templates.mails.mailActions());
+
this.select('moreActions').hide();
this.on(this.select('replyButtonTop'), 'click', function () {
@@ -55,6 +53,11 @@ define(
this.select('moreActions').hide();
}.bind(this));
+ this.on(this.select('deleteButtonTop'), 'click', function () {
+ this.trigger(document, events.ui.mail.delete, {mail: this.attr.mail});
+ this.select('moreActions').hide();
+ }.bind(this));
+
this.on(this.select('viewMoreActions'), 'click', function () {
this.select('moreActions').toggle();
}.bind(this));
@@ -69,14 +72,12 @@ define(
this.select('moreActions').hide();
}
}.bind(this));
+
};
this.after('initialize', function () {
this.on(document, events.dispatchers.rightPane.clear, this.teardown);
- this.on(document, events.shortcuts.deleteMail, this.deleteMail);
-
this.displayMailActions();
- this.on(this.select('deleteButtonTop'), 'click', this.deleteMail);
});
}
}
diff --git a/web-ui/app/js/mail_view/ui/reply_section.js b/web-ui/app/js/mail_view/ui/reply_section.js
index 71e27b1e..46dfe863 100644
--- a/web-ui/app/js/mail_view/ui/reply_section.js
+++ b/web-ui/app/js/mail_view/ui/reply_section.js
@@ -112,10 +112,6 @@ define(
this.on(document, events.mail.draftReply.notFound, this.showButtons);
this.on(document, events.mail.draftReply.here, this.showDraftReply);
- this.on(document, events.shortcuts.replyMail, this.showReply);
- this.on(document, events.shortcuts.replyAllMail, this.showReplyAll);
- this.on(document, events.shortcuts.forwardMail, this.showForward);
-
this.checkForDraftReply();
});
}
diff --git a/web-ui/app/js/page/default.js b/web-ui/app/js/page/default.js
index 91c9c904..e33ec723 100644
--- a/web-ui/app/js/page/default.js
+++ b/web-ui/app/js/page/default.js
@@ -51,7 +51,6 @@ define(
'mail_view/data/feedback_sender',
'page/version',
'page/unread_count_title',
- 'page/shortcuts'
],
function (
@@ -89,8 +88,7 @@ define(
feedbackBox,
feedbackSender,
version,
- unreadCountTitle,
- shortcuts) {
+ unreadCountTitle) {
'use strict';
function initialize(path) {
@@ -131,7 +129,6 @@ define(
feedbackSender.attachTo(document);
unreadCountTitle.attachTo(document);
- shortcuts.attachTo(document);
}
return initialize;
diff --git a/web-ui/app/js/page/events.js b/web-ui/app/js/page/events.js
index 6d67e671..406c3b23 100644
--- a/web-ui/app/js/page/events.js
+++ b/web-ui/app/js/page/events.js
@@ -206,15 +206,6 @@ define(function () {
tags: {
refreshTagList: 'dispatchers:tag:refresh'
}
- },
- shortcuts: {
- openComposeBox: 'shortcuts:openComposeBox',
- closeMail: 'shortcuts:closeMail',
- focusSearchField: 'shortcuts:focusSearchField',
- replyMail: 'shortcuts:replyMail',
- replyAllMail: 'shortcuts:replyAllMail',
- forwardMail: 'shortcuts:forwardMail',
- deleteMail: 'shortcuts:deleteMail'
}
};
diff --git a/web-ui/app/js/page/shortcuts.js b/web-ui/app/js/page/shortcuts.js
deleted file mode 100644
index 2bb75d8c..00000000
--- a/web-ui/app/js/page/shortcuts.js
+++ /dev/null
@@ -1,146 +0,0 @@
-define([
- 'flight/lib/component',
- 'page/events'
-],
-function(defineComponent, events) {
-'use strict';
-
- return defineComponent(shortcuts);
-
- function shortcuts() {
- function hasInputFieldFocused() {
- return $('input').is(':focus') || $('textarea').is(':focus');
- }
-
- function triggerOpenComposeBoxEvent() {
- if(!hasInputFieldFocused()){
- this.trigger(document, events.shortcuts.openComposeBox);
- event.preventDefault();
- }
- }
-
- function triggerCloseBoxEvent() {
- this.trigger(document, events.shortcuts.closeMail);
- event.preventDefault();
- }
-
- function focusSearchField() {
- if(!hasInputFieldFocused()) {
- this.trigger(document, events.shortcuts.focusSearchField);
- event.preventDefault();
- }
- }
-
- function addTag() {
- // TODO: refator to trigger an event that other component will handle
- if(!hasInputFieldFocused()) {
- event.preventDefault();
- $('#new-tag-button').click();
- }
- }
-
- function triggerReplyEvent() {
- if(!hasInputFieldFocused() && $('#reply-button').is(':visible')) {
- this.trigger(document, events.shortcuts.replyMail);
- }
- }
-
- function triggerReplyAllEvent() {
- if(!hasInputFieldFocused() && $('#reply-all-button').is(':visible')) {
- this.trigger(document, events.shortcuts.replyAllMail);
- }
- }
-
- function triggerForwardEvent() {
- if(!hasInputFieldFocused() && $('#forward-button').is(':visible')) {
- this.trigger(document, events.shortcuts.forwardMail);
- }
- }
-
- function deleteMail() {
- // TODO: refator to trigger an event that other component will handle
- $('#delete-button-top').click();
- }
-
- function sendMail() {
- // TODO: refator to trigger an event that other component will handle
- $('#send-button').click();
- }
-
- function previousMail() {
- if(!hasInputFieldFocused()) {
- // TODO: implement previous mail logic
- console.log('previous mail');
- }
- }
-
- function nextMail() {
- if(!hasInputFieldFocused()) {
- // TODO: implement next mail logic
- console.log('next mail');
- }
- }
-
- var SPECIAL_CHARACTERES = {
- 13: 'ENTER',
- 27: 'ESC',
- 33: 'PAGE-UP',
- 34: 'PAGE-DOWN',
- 37: 'LEFT',
- 38: 'UP',
- 39: 'RIGHT',
- 40: 'DOWN',
- 191: '/'
- };
-
- var SHORTCUT_MAP = {
- 'C': triggerOpenComposeBoxEvent,
- 'ESC': triggerCloseBoxEvent,
- '/': focusSearchField,
- 'S': focusSearchField,
- 'T': addTag,
- 'R': triggerReplyEvent,
- 'A': triggerReplyAllEvent,
- 'F': triggerForwardEvent,
- 'SHIFT+3': deleteMail,
- 'CTRL+ENTER': sendMail,
- 'J': previousMail,
- 'UP': previousMail,
- 'K': nextMail,
- 'DOWN': nextMail
- };
-
- this.convertCodeToShortcut = function(event) {
- var shortcut = '';
- if(event.ctrlKey) {
- shortcut += 'CTRL+';
- }
- if(event.altKey) {
- shortcut += 'ALT+';
- }
- if(event.shiftKey) {
- shortcut += 'SHIFT+';
- }
-
- if(SPECIAL_CHARACTERES.hasOwnProperty(event.which)) {
- shortcut += SPECIAL_CHARACTERES[event.which];
- } else {
- shortcut += String.fromCharCode(event.which);
- }
-
- return shortcut;
- };
-
- this.riseEventFromShortcut = function(event) {
- var shortcut = this.convertCodeToShortcut(event);
-
- if(SHORTCUT_MAP.hasOwnProperty(shortcut)) {
- SHORTCUT_MAP[shortcut].apply(this);
- }
- };
-
- this.after('initialize', function() {
- this.on(document, 'keydown', this.riseEventFromShortcut);
- });
- }
-});
diff --git a/web-ui/app/js/search/search_trigger.js b/web-ui/app/js/search/search_trigger.js
index cb670239..4b9cb1dc 100644
--- a/web-ui/app/js/search/search_trigger.js
+++ b/web-ui/app/js/search/search_trigger.js
@@ -68,10 +68,6 @@ define(
}
};
- this.shortcutFocusSearchField = function() {
- this.$node.find('input[type=search]').focus();
- };
-
this.after('initialize', function () {
this.render();
this.on(this.select('form'), 'submit', this.search);
@@ -79,7 +75,6 @@ define(
this.on(this.select('input'), 'blur', this.showSearchTermsAndPlaceHolder);
this.on(document, events.ui.tag.selected, this.clearInput);
this.on(document, events.ui.tag.select, this.clearInput);
- this.on(document, events.shortcuts.focusSearchField, this.shortcutFocusSearchField);
});
}
}
diff --git a/web-ui/app/js/services/delete_service.js b/web-ui/app/js/services/delete_service.js
index 92b5838b..5cf86d63 100644
--- a/web-ui/app/js/services/delete_service.js
+++ b/web-ui/app/js/services/delete_service.js
@@ -53,7 +53,6 @@ define(['flight/lib/component', 'page/events', 'views/i18n'], function (defineCo
this.after('initialize', function () {
this.on(document, events.ui.mail.delete, this.deleteEmail);
this.on(document, events.ui.mail.deleteMany, this.deleteManyEmails);
- this.on(document, events.shortcuts.deleteMail, this.deleteEmail);
});
});