From 61b138f94c12e4cb30dec10645ef4deae86ccae0 Mon Sep 17 00:00:00 2001 From: Martin Schoeler Date: Wed, 8 Mar 2017 11:00:31 -0300 Subject: [PATCH 1/2] Convert login/username to js --- .../client/username/username.coffee | 54 --------------- .../client/username/username.js | 67 +++++++++++++++++++ 2 files changed, 67 insertions(+), 54 deletions(-) delete mode 100644 packages/rocketchat-ui-login/client/username/username.coffee create mode 100644 packages/rocketchat-ui-login/client/username/username.js diff --git a/packages/rocketchat-ui-login/client/username/username.coffee b/packages/rocketchat-ui-login/client/username/username.coffee deleted file mode 100644 index 225d190b79cb5..0000000000000 --- a/packages/rocketchat-ui-login/client/username/username.coffee +++ /dev/null @@ -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') diff --git a/packages/rocketchat-ui-login/client/username/username.js b/packages/rocketchat-ui-login/client/username/username.js new file mode 100644 index 0000000000000..670b0daa2db4c --- /dev/null +++ b/packages/rocketchat-ui-login/client/username/username.js @@ -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'); + }); + } +}); From d4a39d441e7bc595f1c65b991a4b1b74a0a32685 Mon Sep 17 00:00:00 2001 From: Martin Schoeler Date: Wed, 8 Mar 2017 11:09:36 -0300 Subject: [PATCH 2/2] fix package.js --- packages/rocketchat-ui-login/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rocketchat-ui-login/package.js b/packages/rocketchat-ui-login/package.js index 33496d0f9e525..bd0efa48cbc1e 100644 --- a/packages/rocketchat-ui-login/package.js +++ b/packages/rocketchat-ui-login/package.js @@ -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'); });