diff options
Diffstat (limited to 'web-ui/app/js')
-rw-r--r-- | web-ui/app/js/page/default.js | 4 | ||||
-rw-r--r-- | web-ui/app/js/page/events.js | 6 | ||||
-rw-r--r-- | web-ui/app/js/page/pix_logo.js | 62 |
3 files changed, 70 insertions, 2 deletions
diff --git a/web-ui/app/js/page/default.js b/web-ui/app/js/page/default.js index 19b28354..965fb577 100644 --- a/web-ui/app/js/page/default.js +++ b/web-ui/app/js/page/default.js @@ -51,6 +51,7 @@ define( 'mail_view/data/feedback_sender', 'page/version', 'page/unread_count_title', + 'page/pix_logo', 'helpers/browser' ], @@ -90,6 +91,7 @@ define( feedbackSender, version, unreadCountTitle, + pixLogo, browser) { 'use strict'; @@ -132,6 +134,8 @@ define( unreadCountTitle.attachTo(document); + pixLogo.attachTo(document); + $.ajaxSetup({headers: {'X-XSRF-TOKEN': browser.getCookie('XSRF-TOKEN')}}); } diff --git a/web-ui/app/js/page/events.js b/web-ui/app/js/page/events.js index ad15e76e..68a6aad1 100644 --- a/web-ui/app/js/page/events.js +++ b/web-ui/app/js/page/events.js @@ -34,7 +34,7 @@ define(function () { }, tag: { selected: 'ui:tagSelected', - select: 'ui:tagSelect' + select: 'ui:tagSelect', }, tags: { loaded: 'ui:tagsLoaded' @@ -69,7 +69,9 @@ define(function () { page: { previous: 'ui:page:previous', next: 'ui:page:next', - changed: 'ui:page:changed' + changed: 'ui:page:changed', + spinLogo: 'ui:page:spinLogo', + stopSpinningLogo: 'ui:page:stopSpinningLogo' }, composeBox: { newMessage: 'ui:composeBox:newMessage', diff --git a/web-ui/app/js/page/pix_logo.js b/web-ui/app/js/page/pix_logo.js new file mode 100644 index 00000000..ad17f3be --- /dev/null +++ b/web-ui/app/js/page/pix_logo.js @@ -0,0 +1,62 @@ +/* + * 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', + 'page/events' + ], + + function(defineComponent, events) { + 'use strict'; + + return defineComponent(pixLogo); + + function pixLogo() { + this.turnAnimationOn = function () { + $('.logo-part-animation-off').attr('class', 'logo-part-animation-on'); + }; + + this.turnAnimationOff = function () { + setTimeout(function(){ + $('.logo-part-animation-on').attr('class', 'logo-part-animation-off'); + }, 600); + }; + + this.triggerSpinLogo = function (ev, data) { + this.trigger(document, events.ui.page.spinLogo); + }; + + this.triggerStopSpinningLogo = function(ev, data) { + this.trigger(document, events.ui.page.stopSpinningLogo); + }; + + this.after('initialize', function () { + this.on(document, events.ui.page.spinLogo, this.turnAnimationOn); + this.on(document, events.ui.page.stopSpinningLogo, this.turnAnimationOff); + + this.on(document, events.ui.tag.select, this.triggerSpinLogo); + this.on(document, events.mails.available, this.triggerStopSpinningLogo); + this.on(document, events.mail.saveDraft, this.triggerSpinLogo); + this.on(document, events.mail.draftSaved, this.triggerStopSpinningLogo); + this.on(document, events.ui.mail.open, this.triggerSpinLogo); + this.on(document, events.dispatchers.rightPane.openDraft, this.triggerSpinLogo); + this.on(document, events.search.perform, this.triggerSpinLogo); + this.on(document, events.mail.want, this.triggerStopSpinningLogo); + }); + } + } +); |