diff --git a/index.html b/index.html index d9b7b842c..8f3dc1142 100644 --- a/index.html +++ b/index.html @@ -153,6 +153,7 @@ + diff --git a/js/views/new_conversation_view.js b/js/views/new_conversation_view.js new file mode 100644 index 000000000..aeeb571db --- /dev/null +++ b/js/views/new_conversation_view.js @@ -0,0 +1,61 @@ +var Whisper = Whisper || {}; + +(function () { + 'use strict'; + var MessageRecipientInputView = Backbone.View.extend({ + events: { + 'change': 'verifyNumber', + 'focus' : 'removeError' + }, + + removeError: function() { + this.$el.removeClass('error'); + }, + + verifyNumber: function(item) { + try { + if (textsecure.utils.verifyNumber(this.$el.val())) { + this.removeError(); + return; + } + } catch(ex) { console.log(ex); } + this.$el.addClass('error'); + } + }); + + Whisper.NewConversationView = Backbone.View.extend({ + className: 'conversation', + initialize: function() { + this.template = $('#new-message-form').html(); + Mustache.parse(this.template); + this.render(); + this.input = this.$el.find('input.number'); + new MessageRecipientInputView({el: this.input}); + }, + + events: { + 'submit .send': 'send', + 'close': 'remove' + }, + + send: function(e) { + e.preventDefault(); + var number = this.input.val(); + try { + if (textsecure.utils.verifyNumber(number)) { + var thread = Whisper.Threads.findOrCreateForRecipient(number); + var message_input = this.$el.find('input.send-message'); + thread.sendMessage(message_input.val()); + this.remove(); + } + } catch(ex) {} + }, + + render: function() { + this.$el.html(Mustache.render(this.template)); + Whisper.Layout.setContent(this.$el.show()); + return this; + } + }); + +})(); diff --git a/js/views/new_message_button.js b/js/views/new_message_button.js index 90787f08d..d9099c839 100644 --- a/js/views/new_message_button.js +++ b/js/views/new_message_button.js @@ -43,62 +43,6 @@ var Whisper = Whisper || {}; } }); - Whisper.MessageRecipientInputView = Backbone.View.extend({ - events: { - 'change': 'verifyNumber', - 'focus' : 'removeError' - }, - - removeError: function() { - this.$el.removeClass('error'); - }, - - verifyNumber: function(item) { - try { - if (textsecure.utils.verifyNumber(this.$el.val())) { - this.removeError(); - return; - } - } catch(ex) { console.log(ex); } - this.$el.addClass('error'); - } - }); - - Whisper.NewConversationView = Backbone.View.extend({ - className: 'conversation', - initialize: function() { - this.template = $('#new-message-form').html(); - Mustache.parse(this.template); - this.render(); - this.input = this.$el.find('input.number'); - new Whisper.MessageRecipientInputView({el: this.input}); - }, - - events: { - 'submit .send': 'send', - 'close': 'remove' - }, - - send: function(e) { - e.preventDefault(); - var number = this.input.val(); - try { - if (textsecure.utils.verifyNumber(number)) { - var thread = Whisper.Threads.findOrCreateForRecipient(number); - var message_input = this.$el.find('input.send-message'); - thread.sendMessage(message_input.val()); - this.remove(); - } - } catch(ex) {} - }, - - render: function() { - this.$el.html(Mustache.render(this.template)); - Whisper.Layout.setContent(this.$el.show()); - return this; - } - }); - Whisper.Header = Backbone.View.extend({ events: { 'click #new-message': 'new_message',