From ab4387345975cde8681c6af4ee92a10dc7e3be8e Mon Sep 17 00:00:00 2001 From: Giovane Date: Wed, 16 Sep 2015 14:46:15 -0300 Subject: #442 Renames feedback box file and improve feedback box html. --- web-ui/app/js/dispatchers/right_pane_dispatcher.js | 2 +- web-ui/app/js/mail_view/ui/compose_feedback.js | 40 --------------------- web-ui/app/js/mail_view/ui/feedback_box.js | 42 ++++++++++++++++++++++ web-ui/app/js/page/default.js | 4 +-- web-ui/app/js/page/pane_contract_expand.js | 1 + web-ui/app/scss/_compose.scss | 2 +- web-ui/app/templates/compose/feedback_box.hbs | 5 +-- .../spec/dispatchers/right_pane_dispatcher.spec.js | 2 +- web-ui/test/spec/page/pane_contract_expand.spec.js | 7 ++++ 9 files changed, 56 insertions(+), 49 deletions(-) delete mode 100644 web-ui/app/js/mail_view/ui/compose_feedback.js create mode 100644 web-ui/app/js/mail_view/ui/feedback_box.js diff --git a/web-ui/app/js/dispatchers/right_pane_dispatcher.js b/web-ui/app/js/dispatchers/right_pane_dispatcher.js index 47339e7d..c342b0b2 100644 --- a/web-ui/app/js/dispatchers/right_pane_dispatcher.js +++ b/web-ui/app/js/dispatchers/right_pane_dispatcher.js @@ -23,7 +23,7 @@ define( 'mail_view/ui/reply_section', 'mail_view/ui/draft_box', 'mail_view/ui/no_message_selected_pane', - 'mail_view/ui/compose_feedback', + 'mail_view/ui/feedback_box', 'page/events' ], diff --git a/web-ui/app/js/mail_view/ui/compose_feedback.js b/web-ui/app/js/mail_view/ui/compose_feedback.js deleted file mode 100644 index 4d506864..00000000 --- a/web-ui/app/js/mail_view/ui/compose_feedback.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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 . - */ - -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.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/mail_view/ui/feedback_box.js b/web-ui/app/js/mail_view/ui/feedback_box.js new file mode 100644 index 00000000..85c0dadc --- /dev/null +++ b/web-ui/app/js/mail_view/ui/feedback_box.js @@ -0,0 +1,42 @@ +/* + * 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 . + */ + +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.compose.feedback()); + }; + + this.openFeedbackBox = function() { + var stage = this.reset('feedback-box'); + this.attachTo(stage); + this.enableFloatlabel('input.floatlabel'); + this.enableFloatlabel('textarea.floatlabel'); + }; + + this.after('initialize', function () { + if (features.isEnabled('feedback')) { + this.render(); + this.on(document, events.ui.feedback.open, this.openFeedbackBox); + } + }); + + }); +}); diff --git a/web-ui/app/js/page/default.js b/web-ui/app/js/page/default.js index 83bd975f..37eabaec 100644 --- a/web-ui/app/js/page/default.js +++ b/web-ui/app/js/page/default.js @@ -44,7 +44,7 @@ define( 'page/logout', 'page/logout_shortcut', 'feedback/feedback_trigger', - 'mail_view/ui/compose_feedback', + 'mail_view/ui/feedback_box', 'page/version', ], @@ -77,7 +77,7 @@ define( logout, logoutShortcut, feedback, - compose_feedback, + feedbackBox, version) { 'use strict'; diff --git a/web-ui/app/js/page/pane_contract_expand.js b/web-ui/app/js/page/pane_contract_expand.js index 153e38e5..771486ae 100644 --- a/web-ui/app/js/page/pane_contract_expand.js +++ b/web-ui/app/js/page/pane_contract_expand.js @@ -42,6 +42,7 @@ define(['flight/lib/component', 'page/events'], function (describeComponent, eve this.on(document, events.ui.mail.open, this.contractMiddlePaneExpandRightPane); this.on(document, events.dispatchers.rightPane.openComposeBox, this.contractMiddlePaneExpandRightPane); this.on(document, events.dispatchers.rightPane.openDraft, this.contractMiddlePaneExpandRightPane); + this.on(document, events.ui.feedback.open, this.contractMiddlePaneExpandRightPane); this.on(document, events.dispatchers.rightPane.openNoMessageSelected, this.expandMiddlePaneContractRightPane); this.expandMiddlePaneContractRightPane(); }); diff --git a/web-ui/app/scss/_compose.scss b/web-ui/app/scss/_compose.scss index 01890797..55073b3d 100644 --- a/web-ui/app/scss/_compose.scss +++ b/web-ui/app/scss/_compose.scss @@ -23,7 +23,7 @@ } // COMPOSE PANE -#compose-box, #draft-box, #reply-box { +#compose-box, #draft-box, #reply-box, #feedback-box { div.floatlabel { position: relative; } diff --git a/web-ui/app/templates/compose/feedback_box.hbs b/web-ui/app/templates/compose/feedback_box.hbs index 42dbf47d..b10d0da3 100644 --- a/web-ui/app/templates/compose/feedback_box.hbs +++ b/web-ui/app/templates/compose/feedback_box.hbs @@ -6,14 +6,11 @@
- +
- - -
diff --git a/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js b/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js index 1270fc4c..6622cc19 100644 --- a/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js +++ b/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js @@ -54,7 +54,7 @@ describeComponent('dispatchers/right_pane_dispatcher', function () { }); it('listens to open feedback event and open feedback box', function () { - var feedbackBox = require('mail_view/ui/compose_feedback'); + var feedbackBox = require('mail_view/ui/feedback_box'); spyOn(feedbackBox, 'attachTo'); this.component.trigger(document, Pixelated.events.ui.feedback.open); diff --git a/web-ui/test/spec/page/pane_contract_expand.spec.js b/web-ui/test/spec/page/pane_contract_expand.spec.js index 4f4ff49b..0320705f 100644 --- a/web-ui/test/spec/page/pane_contract_expand.spec.js +++ b/web-ui/test/spec/page/pane_contract_expand.spec.js @@ -44,6 +44,13 @@ describeComponent('page/pane_contract_expand', function () { expect($('#right-pane').attr('class')).toEqual(this.component.attr.RIGHT_PANE_EXPAND_CLASSES); }); + it('contracts middle pane and expands right pane on open draft', function () { + $(document).trigger(Pixelated.events.ui.feedback.open); + + expect($('#middle-pane-container').attr('class')).toEqual(this.component.attr.MIDDLE_PANE_CONTRACT_CLASSES); + expect($('#right-pane').attr('class')).toEqual(this.component.attr.RIGHT_PANE_EXPAND_CLASSES); + }); + it('expands middle pane and contracts right pane on event on open no message selected pane', function () { $(document).trigger(Pixelated.events.dispatchers.rightPane.openNoMessageSelected); -- cgit v1.2.3