Merge pull request #6292 from RocketChat/more-coffee-to-js-conversion

Convert username.coffee to JavaScript
pull/6326/head
Gabriel Engel 9 years ago committed by GitHub
commit 930e983311
  1. 54
      packages/rocketchat-ui-login/client/username/username.coffee
  2. 67
      packages/rocketchat-ui-login/client/username/username.js
  3. 2
      packages/rocketchat-ui-login/package.js

@ -1,54 +0,0 @@
Template.username.onCreated ->
self = this
self.username = new ReactiveVar
Meteor.call 'getUsernameSuggestion', (error, username) ->
self.username.set
ready: true
username: username
Meteor.defer ->
self.find('input').focus()
Template.username.helpers
username: ->
return Template.instance().username.get()
Template.username.events
'focus .input-text input': (event) ->
$(event.currentTarget).parents('.input-text').addClass('focus')
'blur .input-text input': (event) ->
if event.currentTarget.value is ''
$(event.currentTarget).parents('.input-text').removeClass('focus')
'submit #login-card': (event, instance) ->
event.preventDefault()
username = instance.username.get()
username.empty = false
username.error = false
username.invalid = false
instance.username.set(username)
button = $(event.target).find('button.login')
RocketChat.Button.loading(button)
value = $("#username").val().trim()
if value is ''
username.empty = true
instance.username.set(username)
RocketChat.Button.reset(button)
return
Meteor.call 'setUsername', value, (err, result) ->
if err?
console.log err
if err.error is 'username-invalid'
username.invalid = true
else
username.error = true
username.username = value
RocketChat.Button.reset(button)
instance.username.set(username)
RocketChat.callbacks.run('usernameSet')

@ -0,0 +1,67 @@
Template.username.onCreated(function() {
const self = this;
self.username = new ReactiveVar;
return Meteor.call('getUsernameSuggestion', function(error, username) {
self.username.set({
ready: true,
username
});
return Meteor.defer(() => self.find('input').focus());
});
});
Template.username.helpers({
username() {
return Template.instance().username.get();
}
});
Template.username.events({
'focus .input-text input'(event) {
return $(event.currentTarget).parents('.input-text').addClass('focus');
},
'blur .input-text input'(event) {
if (event.currentTarget.value === '') {
return $(event.currentTarget).parents('.input-text').removeClass('focus');
}
},
'submit #login-card'(event, instance) {
event.preventDefault();
const username = instance.username.get();
username.empty = false;
username.error = false;
username.invalid = false;
instance.username.set(username);
const button = $(event.target).find('button.login');
RocketChat.Button.loading(button);
const value = $('#username').val().trim();
if (value === '') {
username.empty = true;
instance.username.set(username);
RocketChat.Button.reset(button);
return;
}
return Meteor.call('setUsername', value, function(err) {
if (err != null) {
console.log(err);
if (err.error === 'username-invalid') {
username.invalid = true;
} else {
username.error = true;
}
username.username = value;
}
RocketChat.Button.reset(button);
instance.username.set(username);
return RocketChat.callbacks.run('usernameSet');
});
}
});

@ -43,5 +43,5 @@ Package.onUse(function(api) {
api.addFiles('client/login/header.coffee', 'client');
api.addFiles('client/login/services.coffee', 'client');
api.addFiles('client/login/social.coffee', 'client');
api.addFiles('client/username/username.coffee', 'client');
api.addFiles('client/username/username.js', 'client');
});

Loading…
Cancel
Save