summaryrefslogtreecommitdiffstats
path: root/client/components/users/events.js
blob: 14df9717e2fc9c3f20fd85d17ede49e1daa8d608 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// XXX This should be handled by default (and in a better way) by useraccounts.
// See https://github.com/meteor-useraccounts/core/issues/384
Template.atForm.onRendered(function() {
  this.find('input').focus();
});

Template.memberMenuPopup.events({
  'click .js-language': Popup.open('setLanguage'),
  'click .js-logout': function(evt) {
    evt.preventDefault();

    Meteor.logout(function() {
      Router.go('Home');
    });
  }
});

Template.setLanguagePopup.events({
  'click .js-set-language': function(evt) {
    Users.update(Meteor.userId(), {
      $set: {
        'profile.language': this.tag
      }
    });
    evt.preventDefault();
  }
});

Template.profileEditForm.events({
  'click .js-edit-profile': function() {
    Session.set('ProfileEditForm', true);
  },
  'click .js-cancel-edit-profile': function() {
    Session.set('ProfileEditForm', false);
  },
  'submit #ProfileEditForm': function(evt, t) {
    var name = t.find('#name').value;
    var bio = t.find('#bio').value;

    // trim and update
    if ($.trim(name)) {
      Users.update(this.profile()._id, {
        $set: {
          'profile.name': name,
          'profile.bio': bio
        }
      }, function() {

        // update complete close profileEditForm
        Session.set('ProfileEditForm', false);
      });
    }
    evt.preventDefault();
  }
});

Template.memberName.events({
  'click .js-show-mem-menu': Popup.open('user')
});