Download:
child 23:98a9a4b85104
parent 21:e43ed046f909
22:dba8124befc3
Anton Shestakov <av6@dwimlabs.net>, Mon, 21 Mar 2016 15:47:51 +0800
index: wire up login form

7 файлов изменено, 119 вставок(+), 6 удалений(-) [+]
coffee/index.coffee file | annotate | diff | comparison | revisions
coffee/xmpp.coffee file | annotate | diff | comparison | revisions
index.html file | annotate | diff | comparison | revisions
js/index.js file | annotate | diff | comparison | revisions
js/index.js.map file | annotate | diff | comparison | revisions
js/xmpp.js file | annotate | diff | comparison | revisions
js/xmpp.js.map file | annotate | diff | comparison | revisions
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/coffee/index.coffee Mon Mar 21 15:47:51 2016 +0800
@@ -0,0 +1,41 @@
+window.X = new Tram.XMPPInterface()
+
+
+X.on 'connecting', ->
+ $('[data-msg^="a/"]').addClass('uk-hidden')
+
+
+X.on 'authfail', ->
+ $('[data-msg="a/fail"]').removeClass('uk-hidden')
+
+
+X.on 'disconnected', ->
+ $('[data-step="login"]').removeClass('uk-hidden')
+
+
+X.on 'connected attached', ->
+ $('[data-step="login"]').addClass('uk-hidden')
+
+
+$form = $('[data-form="connect"]')
+
+
+$form.find('input').on 'keydown', (e) ->
+ if (not @required or @value isnt '') and e.keyCode is 13
+ e.preventDefault()
+ index = $form.find('input').index(@)
+ $next = $form.find('input').eq(index + 1)
+ if $next.length isnt 0
+ $next.focus()
+ else
+ $form.find('button').trigger('click')
+
+
+$form.find('button').on 'click', (e) ->
+ e.preventDefault()
+ ok = true
+ Tram.validation.unsetError($('#username, #password'))
+ ok &= Tram.validation.validateRequired($('#username'), true)
+ ok &= Tram.validation.validateRequired($('#password'))
+ if ok
+ X.connect($('#username').val().trim(), $('#password').val())
--- a/coffee/xmpp.coffee Mon Mar 21 14:33:42 2016 +0800
+++ b/coffee/xmpp.coffee Mon Mar 21 15:47:51 2016 +0800
@@ -9,11 +9,11 @@
@conn = new Strophe.Connection("https://#{ Tram.config.host }/http-bind")
- connect: (node, pass, onConnect) ->
+ connect: (node, pass) ->
@_prepareConnection()
jid = "#{ node }@#{ Tram.config.domain }"
- @conn.connect(jid, pass, onConnect)
+ @conn.connect(jid, pass, @onConnect)
disconnect: (reason) ->
if not @conn?
--- a/index.html Mon Mar 21 14:33:42 2016 +0800
+++ b/index.html Mon Mar 21 15:47:51 2016 +0800
@@ -8,7 +8,10 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.25.0/css/uikit.min.css">
<link rel="stylesheet" href="/css/tram-im.css">
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.3/backbone-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.25.0/js/uikit.min.js"></script>
+ <script src="/vendor/strophejs/strophe.min.js"></script>
</head>
<body>
<div class="smart-container" data-step="noscript">
@@ -20,7 +23,7 @@
</div>
<div class="smart-container uk-hidden" data-step="login">
- <div class="uk-form uk-form-horizontal" data-connect-form>
+ <div class="uk-form uk-form-horizontal" data-form="connect">
<div class="uk-form-row">
<label for="username" class="uk-form-label">Username</label>
<div class="uk-form-controls">
@@ -35,6 +38,7 @@
</div>
<div class="uk-form-row">
<div class="uk-form-controls">
+ <div class="uk-alert uk-alert-danger uk-hidden" data-msg="a/fail">Invalid username or password.</div>
<button type="button" class="uk-button uk-button-primary"><i class="uk-icon-sign-out"></i>&nbsp;Log in</button>
<a class="uk-float-right uk-button uk-button-link" href="/register.html">Register</a>
</div>
@@ -45,5 +49,10 @@
$('[data-step="noscript"]').addClass('uk-hidden');
$('[data-step="login"]').removeClass('uk-hidden');
</script>
+ <script src='/js/tram.js'></script>
+ <script src='/js/validation.js'></script>
+ <script src='/js/xmpp.js'></script>
+ <script src='/config.js'></script>
+ <script src='/js/index.js'></script>
</body>
</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/js/index.js Mon Mar 21 15:47:51 2016 +0800
@@ -0,0 +1,53 @@
+// Generated by CoffeeScript 1.10.0
+(function() {
+ var $form;
+
+ window.X = new Tram.XMPPInterface();
+
+ X.on('connecting', function() {
+ return $('[data-msg^="a/"]').addClass('uk-hidden');
+ });
+
+ X.on('authfail', function() {
+ return $('[data-msg="a/fail"]').removeClass('uk-hidden');
+ });
+
+ X.on('disconnected', function() {
+ return $('[data-step="login"]').removeClass('uk-hidden');
+ });
+
+ X.on('connected attached', function() {
+ return $('[data-step="login"]').addClass('uk-hidden');
+ });
+
+ $form = $('[data-form="connect"]');
+
+ $form.find('input').on('keydown', function(e) {
+ var $next, index;
+ if ((!this.required || this.value !== '') && e.keyCode === 13) {
+ e.preventDefault();
+ index = $form.find('input').index(this);
+ $next = $form.find('input').eq(index + 1);
+ if ($next.length !== 0) {
+ return $next.focus();
+ } else {
+ return $form.find('button').trigger('click');
+ }
+ }
+ });
+
+ $form.find('button').on('click', function(e) {
+ var ok;
+ e.preventDefault();
+ ok = true;
+ Tram.validation.unsetError($('#username, #password'));
+ ok &= Tram.validation.validateRequired($('#username'), true);
+ ok &= Tram.validation.validateRequired($('#password'));
+ if (ok) {
+ return X.connect($('#username').val().trim(), $('#password').val());
+ }
+ });
+
+}).call(this);
+
+//# sourceMappingURL=index.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/js/index.js.map Mon Mar 21 15:47:51 2016 +0800
@@ -0,0 +1,10 @@
+{
+ "version": 3,
+ "file": "index.js",
+ "sourceRoot": "..",
+ "sources": [
+ "coffee/index.coffee"
+ ],
+ "names": [],
+ "mappings": ";AAAA;AAAA,MAAA;;EAAA,MAAM,CAAC,CAAP,GAAe,IAAA,IAAI,CAAC,aAAL,CAAA;;EAGf,CAAC,CAAC,EAAF,CAAK,YAAL,EAAmB,SAAA;WACjB,CAAA,CAAE,kBAAF,CAAqB,CAAC,QAAtB,CAA+B,WAA/B;EADiB,CAAnB;;EAIA,CAAC,CAAC,EAAF,CAAK,UAAL,EAAiB,SAAA;WACf,CAAA,CAAE,qBAAF,CAAwB,CAAC,WAAzB,CAAqC,WAArC;EADe,CAAjB;;EAIA,CAAC,CAAC,EAAF,CAAK,cAAL,EAAqB,SAAA;WACnB,CAAA,CAAE,qBAAF,CAAwB,CAAC,WAAzB,CAAqC,WAArC;EADmB,CAArB;;EAIA,CAAC,CAAC,EAAF,CAAK,oBAAL,EAA2B,SAAA;WACzB,CAAA,CAAE,qBAAF,CAAwB,CAAC,QAAzB,CAAkC,WAAlC;EADyB,CAA3B;;EAIA,KAAA,GAAQ,CAAA,CAAE,uBAAF;;EAGR,KAAK,CAAC,IAAN,CAAW,OAAX,CAAmB,CAAC,EAApB,CAAuB,SAAvB,EAAkC,SAAC,CAAD;AAChC,QAAA;IAAA,IAAG,CAAC,CAAI,IAAC,CAAA,QAAL,IAAiB,IAAC,CAAA,KAAD,KAAY,EAA9B,CAAA,IAAsC,CAAC,CAAC,OAAF,KAAa,EAAtD;MACE,CAAC,CAAC,cAAF,CAAA;MACA,KAAA,GAAQ,KAAK,CAAC,IAAN,CAAW,OAAX,CAAmB,CAAC,KAApB,CAA0B,IAA1B;MACR,KAAA,GAAQ,KAAK,CAAC,IAAN,CAAW,OAAX,CAAmB,CAAC,EAApB,CAAuB,KAAA,GAAQ,CAA/B;MACR,IAAG,KAAK,CAAC,MAAN,KAAkB,CAArB;eACE,KAAK,CAAC,KAAN,CAAA,EADF;OAAA,MAAA;eAGE,KAAK,CAAC,IAAN,CAAW,QAAX,CAAoB,CAAC,OAArB,CAA6B,OAA7B,EAHF;OAJF;;EADgC,CAAlC;;EAWA,KAAK,CAAC,IAAN,CAAW,QAAX,CAAoB,CAAC,EAArB,CAAwB,OAAxB,EAAiC,SAAC,CAAD;AAC/B,QAAA;IAAA,CAAC,CAAC,cAAF,CAAA;IACA,EAAA,GAAK;IACL,IAAI,CAAC,UAAU,CAAC,UAAhB,CAA2B,CAAA,CAAE,sBAAF,CAA3B;IACA,EAAA,IAAM,IAAI,CAAC,UAAU,CAAC,gBAAhB,CAAiC,CAAA,CAAE,WAAF,CAAjC,EAAiD,IAAjD;IACN,EAAA,IAAM,IAAI,CAAC,UAAU,CAAC,gBAAhB,CAAiC,CAAA,CAAE,WAAF,CAAjC;IACN,IAAG,EAAH;aACE,CAAC,CAAC,OAAF,CAAU,CAAA,CAAE,WAAF,CAAc,CAAC,GAAf,CAAA,CAAoB,CAAC,IAArB,CAAA,CAAV,EAAuC,CAAA,CAAE,WAAF,CAAc,CAAC,GAAf,CAAA,CAAvC,EADF;;EAN+B,CAAjC;AAjCA"
+}
\ No newline at end of file
--- a/js/xmpp.js Mon Mar 21 14:33:42 2016 +0800
+++ b/js/xmpp.js Mon Mar 21 15:47:51 2016 +0800
@@ -16,11 +16,11 @@
return this.conn = new Strophe.Connection("https://" + Tram.config.host + "/http-bind");
};
- XMPPInterface.prototype.connect = function(node, pass, onConnect) {
+ XMPPInterface.prototype.connect = function(node, pass) {
var jid;
this._prepareConnection();
jid = node + "@" + Tram.config.domain;
- return this.conn.connect(jid, pass, onConnect);
+ return this.conn.connect(jid, pass, this.onConnect);
};
XMPPInterface.prototype.disconnect = function(reason) {
--- a/js/xmpp.js.map Mon Mar 21 14:33:42 2016 +0800
+++ b/js/xmpp.js.map Mon Mar 21 15:47:51 2016 +0800
@@ -6,5 +6,5 @@
"coffee/xmpp.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file