Merge branch 'hotfix/21.56.9' into master
[gitter.git] / public / js / views / layouts / chat-toolbar.js
blob1a4bc8b77cd0dd459ab5cae685986ba8c457dd47
1 'use strict';
3 var $ = require('jquery');
4 var context = require('gitter-web-client-context');
5 var appEvents = require('../../utils/appevents');
6 var ChatLayout = require('./chat');
7 var HeaderView = require('../app/headerView');
8 var rightToolbarModel = require('../../models/right-toolbar-model');
9 var RightToolbarView = require('../righttoolbar/rightToolbarView');
11 require('../behaviors/isomorphic');
13 module.exports = ChatLayout.extend({
14   events: {
15     'click .chat-input-nli a[href^="/login"]': 'clickLogin'
16   },
18   clickLogin: function(e) {
19     e.preventDefault();
20     var href = $(e.currentTarget).attr('href');
21     var route = 'login' + href.slice(href.indexOf('?'));
22     appEvents.trigger('loginClicked', route);
23   },
25   behaviors: {
26     Isomorphic: {
27       chat: {
28         el: '#content-wrapper',
29         init: 'initChatRegion' // Declared in super
30       },
31       toolbar: {
32         el: '#right-toolbar-layout',
33         init: 'initToolbarRegion'
34       },
35       header: {
36         el: '#header-wrapper',
37         init: 'initHeaderRegion'
38       }
39     }
40   },
42   initToolbarRegion: function(optionsForRegion) {
43     return new RightToolbarView(
44       optionsForRegion({
45         model: rightToolbarModel
46       })
47     );
48   },
50   initHeaderRegion: function(optionsForRegion) {
51     return new HeaderView(
52       optionsForRegion({
53         model: context.troupe()
54       })
55     );
56   }
57 });