summaryrefslogtreecommitdiff
path: root/web-ui/app/js
diff options
context:
space:
mode:
authorGiovane <giovaneliberato@gmail.com>2015-09-15 16:37:24 -0300
committerGiovane <giovaneliberato@gmail.com>2015-09-15 17:06:54 -0300
commit78ece9852d5584e0681b4fffd91c704bd9919a1c (patch)
tree8ecdaa91fb1903c4d67a04614300de84171d8d4d /web-ui/app/js
parent75eafc2b5dfa7fa4eaa2a1770fbfcb628727ee47 (diff)
#442 adds feedback compose box component.
Diffstat (limited to 'web-ui/app/js')
-rw-r--r--web-ui/app/js/dispatchers/right_pane_dispatcher.js10
-rw-r--r--web-ui/app/js/feedback/compose_feedback.js40
-rw-r--r--web-ui/app/js/views/templates.js3
3 files changed, 51 insertions, 2 deletions
diff --git a/web-ui/app/js/dispatchers/right_pane_dispatcher.js b/web-ui/app/js/dispatchers/right_pane_dispatcher.js
index 8de89858..7de6f07a 100644
--- a/web-ui/app/js/dispatchers/right_pane_dispatcher.js
+++ b/web-ui/app/js/dispatchers/right_pane_dispatcher.js
@@ -23,10 +23,11 @@ define(
'mail_view/ui/reply_section',
'mail_view/ui/draft_box',
'mail_view/ui/no_message_selected_pane',
+ 'feedback/compose_feedback',
'page/events'
],
- function(defineComponent, ComposeBox, MailView, ReplySection, DraftBox, NoMessageSelectedPane, events) {
+ function(defineComponent, ComposeBox, MailView, ReplySection, DraftBox, NoMessageSelectedPane, FeedbackBox, events) {
'use strict';
return defineComponent(rightPaneDispatcher);
@@ -35,6 +36,7 @@ define(
this.defaultAttrs({
rightPane: '#right-pane',
composeBox: 'compose-box',
+ feedbackBox: 'feedback-box',
mailView: 'mail-view',
noMessageSelectedPane: 'no-message-selected-pane',
replySection: 'reply-section',
@@ -60,6 +62,11 @@ define(
ComposeBox.attachTo(stage, {currentTag: this.attr.currentTag});
};
+ this.openFeedbackBox = function() {
+ var stage = this.reset(this.attr.feedbackBox);
+ FeedbackBox.attachTo(stage);
+ }
+
this.openMail = function(ev, data) {
var stage = this.reset(this.attr.mailView);
MailView.attachTo(stage, data);
@@ -97,6 +104,7 @@ define(
this.on(document, events.dispatchers.rightPane.openComposeBox, this.openComposeBox);
this.on(document, events.dispatchers.rightPane.openDraft, this.openDraft);
this.on(document, events.ui.mail.open, this.openMail);
+ this.on(document, events.ui.feedback.open, this.openFeedbackBox);
this.on(document, events.dispatchers.rightPane.openNoMessageSelected, this.openNoMessageSelectedPane);
this.on(document, events.dispatchers.rightPane.selectTag, this.selectTag);
this.on(document, events.ui.tag.selected, this.saveTag);
diff --git a/web-ui/app/js/feedback/compose_feedback.js b/web-ui/app/js/feedback/compose_feedback.js
new file mode 100644
index 00000000..6fc454e0
--- /dev/null
+++ b/web-ui/app/js/feedback/compose_feedback.js
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2015 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', 'page/events', 'features'],
+ function (defineComponent, templates, events, features) {
+ 'use strict';
+
+ return defineComponent(function () {
+ this.render = function () {
+ this.$node.html(templates.feedback.compose_feedback());
+ };
+
+ this.openComposeBox = function() {
+ var stage = this.reset('compose-box');
+ this.attachTo(stage);
+ }
+
+ this.after('initialize', function () {
+ if (features.isEnabled('feedback')) {
+ this.render();
+ this.on(document, events.ui.feedback.open, this.openComposeBox);
+ }
+ });
+
+ });
+});
diff --git a/web-ui/app/js/views/templates.js b/web-ui/app/js/views/templates.js
index 77864569..d0fc9893 100644
--- a/web-ui/app/js/views/templates.js
+++ b/web-ui/app/js/views/templates.js
@@ -61,7 +61,8 @@ define(['hbs/templates'], function (templates) {
version: window.Pixelated['app/templates/page/version.hbs']
},
feedback: {
- feedback: window.Pixelated['app/templates/feedback/feedback.hbs']
+ feedback: window.Pixelated['app/templates/feedback/feedback.hbs'],
+ compose_feedback: window.Pixelated['app/templates/feedback/compose_feedback.hbs']
}
};