Loading template/app/controller/Auth.js +32 −8 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ Ext.define('Docs.controller.Auth', { } ], enabled: true, init: function() { this.sid = Ext.util.Cookies.get('sid'); Loading @@ -30,6 +32,10 @@ Ext.define('Docs.controller.Auth', { "loggedOut" ); if (Ext.isIE) { this.enabled = Ext.ieVersion >= 8; } this.control({ 'authentication': { afterrender: function(cmp) { Loading @@ -48,8 +54,7 @@ Ext.define('Docs.controller.Auth', { }); this.getSession(); }, login: this.login } } }); }, Loading @@ -59,6 +64,10 @@ Ext.define('Docs.controller.Auth', { */ getSession: function() { if (!this.enabled) { return; } // if (window.XDomainRequest) { // xdr = new XDomainRequest(); // if (xdr) { Loading @@ -80,15 +89,16 @@ Ext.define('Docs.controller.Auth', { method: 'GET', cors: true, callback: function(options, success, response) { if (success) { if (response && response.responseText) { this.currentUser = JSON.parse(response.responseText); } if (this.currentUser) { this.loggedIn(); } else { this.getAuth().showLoggedOut(); } } }, scope: this }); Loading Loading @@ -186,5 +196,19 @@ Ext.define('Docs.controller.Auth', { } else { Ext.util.Cookies.clear('sid'); } }, submitLogin: function(el) { var form = Ext.get(el), username = form.down('input[name=username]').getValue(), password = form.down('input[name=password]').getValue(), rememberEl = form.down('input[name=remember]'), submitEl = form.down('input[type=submit]') var remember = rememberEl ? Boolean(rememberEl.getAttribute('checked')) : false; this.login(username, password, remember, submitEl); return false; } }); template/app/controller/Comments.js +27 −7 Original line number Diff line number Diff line Loading @@ -20,10 +20,20 @@ Ext.define('Docs.controller.Comments', { init: function() { this.addEvents('afterMetaLoad'); this.getController('Classes').on({ showClass: function(cls, opts) { if (opts.reRendered) { if (this.commentMeta) { Docs.view.Comments.renderCommentMeta(); } else { this.addListener('afterMetaLoad', function() { Docs.view.Comments.renderCommentMeta(); }, this, { single: true }); } } }, showIndex: function() { Loading Loading @@ -82,7 +92,15 @@ Ext.define('Docs.controller.Comments', { 'hovermenu': { viewready : function(cmp) { if (this.commentMeta) { Docs.view.Comments.renderHoverMenuMeta(cmp.el); } else { this.addListener('afterMetaLoad', function() { Docs.view.Comments.renderHoverMenuMeta(cmp.el); }, this, { single: true }); } } } }); Loading @@ -97,7 +115,7 @@ Ext.define('Docs.controller.Comments', { method: 'GET', params: { reduce: true, group_level: 3, group_level: 3 }, success: function(response) { Loading @@ -109,6 +127,8 @@ Ext.define('Docs.controller.Comments', { this.updateMeta(r.key, r.value.num); }, this); this.fireEvent('afterMetaLoad'); if (this.renderMetaToClassIndex) { this.updateClassIndex(); } Loading @@ -119,8 +139,8 @@ Ext.define('Docs.controller.Comments', { fetchComments: function(id, callback) { var startkey = JSON.stringify(this.commentId(id)), endkey = JSON.stringify(this.commentId(id).concat([{}])), var startkey = Ext.JSON.encode(this.commentId(id)), endkey = Ext.JSON.encode(this.commentId(id).concat([{}])), currentUser = this.getController('Auth').currentUser; Ext.data.JsonP.request({ Loading Loading @@ -148,7 +168,7 @@ Ext.define('Docs.controller.Comments', { var comments = Ext.get(el).up('.comments'), id = comments.getAttribute('id'), comment = comments.down('textarea').getValue(), target = JSON.stringify(this.commentId(id)); target = Ext.JSON.encode(this.commentId(id)); Ext.Ajax.request({ url: this.addSid(this.baseUrl + '/comments'), Loading Loading @@ -232,7 +252,7 @@ Ext.define('Docs.controller.Comments', { method: 'POST', params: { vote: direction }, callback: function(options, success, response) { var data = JSON.parse(response.responseText); var data = Ext.JSON.parse(response.responseText); Ext.Array.each(meta.query('.vote a'), function(voteEl) { Ext.get(voteEl).removeCls('selected'); Loading template/app/view/Comments.js +15 −7 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ Ext.define('Docs.view.Comments', { this.commentsMetaTpl = Ext.create('Ext.XTemplate', commentsMeta.join('')); this.memberCommentsTpl = Ext.create('Ext.Template', '<strong class="member-comments">{0}</strong>' '<span class="member-comments">{0}</span>' ); var commentTplHtml = [ Loading Loading @@ -129,12 +129,20 @@ Ext.define('Docs.view.Comments', { '</div>' ); if (Ext.isIE && Ext.ieVersion <= 7) { this.loggedOutCommentTpl = Ext.create('Ext.XTemplate', '<div class="new-comment">', '<span class="new-comment-a"><span></span>Sorry, adding comments is only supported in IE 8+</span>', '</div>' ); } else { this.loggedOutCommentTpl = Ext.create('Ext.XTemplate', '<div class="new-comment">', '<span class="new-comment-a"><span></span>Sign in to post a comment:</span>', Docs.view.auth.Login.prototype.loginTplHtml.join(''), '</div>' ); } }, renderCommentMeta: function() { Loading template/app/view/auth/Login.js +2 −42 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ Ext.define('Docs.view.auth.Login', { alias: 'widget.authentication', loginTplHtml: [ '<form class="loginForm">', '<form class="loginForm" onsubmit="return Docs.App.getController(\'Auth\').submitLogin(this);">', '<input class="username" type="text" name="username" placeholder="Username" />', '<input class="password" type="password" name="password" placeholder="Password" />', '<label><input type="checkbox" name="remember" /> Remember Me</label>', Loading @@ -14,36 +14,8 @@ Ext.define('Docs.view.auth.Login', { ], initComponent: function() { this.addEvents( /** * @event * Fired when the user clicks 'login' */ "login", /** * @event * Fired when the user clicks 'logout' */ "logout", /** * @event * Fired when the login form is submitted * @param {String} username * @param {String} password */ "authenticate" ); this.loginTpl = Ext.create('Ext.Template', this.loginTplHtml.join('')); this.callParent(arguments); Ext.getBody().addListener('submit', this.loginSubmit, this, { preventDefault: true, delegate: '.loginForm' }); }, showLogin: function() { Loading @@ -56,18 +28,6 @@ Ext.define('Docs.view.auth.Login', { showLoggedOut: function(username) { this.update('<a href="#" class="login">Sign in / Register</a>'); }, loginSubmit: function(e, el) { var form = Ext.get(el), username = form.down('input[name=username]').getValue(), password = form.down('input[name=password]').getValue(), rememberEl = form.down('input[name=remember]'), submitEl = form.down('input[type=submit]') var remember = rememberEl ? Boolean(rememberEl.getAttribute('checked')) : false; this.fireEvent('login', username, password, remember, submitEl); } }); template/resources/sass/viewport.scss +3 −2 Original line number Diff line number Diff line Loading @@ -689,9 +689,10 @@ a { border-color: #e0e0e0; position: relative; padding: 0 0 10px 25px; min-height: 40px; @include member-expander; .name { padding-top: 10px; display: block; font-weight: normal !important; } .name { padding: 10px 0 0 0; display: block; font-weight: normal !important; } &.open { min-height: 40px; } .new-comment { form.loginForm { position: relative; Loading Loading
template/app/controller/Auth.js +32 −8 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ Ext.define('Docs.controller.Auth', { } ], enabled: true, init: function() { this.sid = Ext.util.Cookies.get('sid'); Loading @@ -30,6 +32,10 @@ Ext.define('Docs.controller.Auth', { "loggedOut" ); if (Ext.isIE) { this.enabled = Ext.ieVersion >= 8; } this.control({ 'authentication': { afterrender: function(cmp) { Loading @@ -48,8 +54,7 @@ Ext.define('Docs.controller.Auth', { }); this.getSession(); }, login: this.login } } }); }, Loading @@ -59,6 +64,10 @@ Ext.define('Docs.controller.Auth', { */ getSession: function() { if (!this.enabled) { return; } // if (window.XDomainRequest) { // xdr = new XDomainRequest(); // if (xdr) { Loading @@ -80,15 +89,16 @@ Ext.define('Docs.controller.Auth', { method: 'GET', cors: true, callback: function(options, success, response) { if (success) { if (response && response.responseText) { this.currentUser = JSON.parse(response.responseText); } if (this.currentUser) { this.loggedIn(); } else { this.getAuth().showLoggedOut(); } } }, scope: this }); Loading Loading @@ -186,5 +196,19 @@ Ext.define('Docs.controller.Auth', { } else { Ext.util.Cookies.clear('sid'); } }, submitLogin: function(el) { var form = Ext.get(el), username = form.down('input[name=username]').getValue(), password = form.down('input[name=password]').getValue(), rememberEl = form.down('input[name=remember]'), submitEl = form.down('input[type=submit]') var remember = rememberEl ? Boolean(rememberEl.getAttribute('checked')) : false; this.login(username, password, remember, submitEl); return false; } });
template/app/controller/Comments.js +27 −7 Original line number Diff line number Diff line Loading @@ -20,10 +20,20 @@ Ext.define('Docs.controller.Comments', { init: function() { this.addEvents('afterMetaLoad'); this.getController('Classes').on({ showClass: function(cls, opts) { if (opts.reRendered) { if (this.commentMeta) { Docs.view.Comments.renderCommentMeta(); } else { this.addListener('afterMetaLoad', function() { Docs.view.Comments.renderCommentMeta(); }, this, { single: true }); } } }, showIndex: function() { Loading Loading @@ -82,7 +92,15 @@ Ext.define('Docs.controller.Comments', { 'hovermenu': { viewready : function(cmp) { if (this.commentMeta) { Docs.view.Comments.renderHoverMenuMeta(cmp.el); } else { this.addListener('afterMetaLoad', function() { Docs.view.Comments.renderHoverMenuMeta(cmp.el); }, this, { single: true }); } } } }); Loading @@ -97,7 +115,7 @@ Ext.define('Docs.controller.Comments', { method: 'GET', params: { reduce: true, group_level: 3, group_level: 3 }, success: function(response) { Loading @@ -109,6 +127,8 @@ Ext.define('Docs.controller.Comments', { this.updateMeta(r.key, r.value.num); }, this); this.fireEvent('afterMetaLoad'); if (this.renderMetaToClassIndex) { this.updateClassIndex(); } Loading @@ -119,8 +139,8 @@ Ext.define('Docs.controller.Comments', { fetchComments: function(id, callback) { var startkey = JSON.stringify(this.commentId(id)), endkey = JSON.stringify(this.commentId(id).concat([{}])), var startkey = Ext.JSON.encode(this.commentId(id)), endkey = Ext.JSON.encode(this.commentId(id).concat([{}])), currentUser = this.getController('Auth').currentUser; Ext.data.JsonP.request({ Loading Loading @@ -148,7 +168,7 @@ Ext.define('Docs.controller.Comments', { var comments = Ext.get(el).up('.comments'), id = comments.getAttribute('id'), comment = comments.down('textarea').getValue(), target = JSON.stringify(this.commentId(id)); target = Ext.JSON.encode(this.commentId(id)); Ext.Ajax.request({ url: this.addSid(this.baseUrl + '/comments'), Loading Loading @@ -232,7 +252,7 @@ Ext.define('Docs.controller.Comments', { method: 'POST', params: { vote: direction }, callback: function(options, success, response) { var data = JSON.parse(response.responseText); var data = Ext.JSON.parse(response.responseText); Ext.Array.each(meta.query('.vote a'), function(voteEl) { Ext.get(voteEl).removeCls('selected'); Loading
template/app/view/Comments.js +15 −7 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ Ext.define('Docs.view.Comments', { this.commentsMetaTpl = Ext.create('Ext.XTemplate', commentsMeta.join('')); this.memberCommentsTpl = Ext.create('Ext.Template', '<strong class="member-comments">{0}</strong>' '<span class="member-comments">{0}</span>' ); var commentTplHtml = [ Loading Loading @@ -129,12 +129,20 @@ Ext.define('Docs.view.Comments', { '</div>' ); if (Ext.isIE && Ext.ieVersion <= 7) { this.loggedOutCommentTpl = Ext.create('Ext.XTemplate', '<div class="new-comment">', '<span class="new-comment-a"><span></span>Sorry, adding comments is only supported in IE 8+</span>', '</div>' ); } else { this.loggedOutCommentTpl = Ext.create('Ext.XTemplate', '<div class="new-comment">', '<span class="new-comment-a"><span></span>Sign in to post a comment:</span>', Docs.view.auth.Login.prototype.loginTplHtml.join(''), '</div>' ); } }, renderCommentMeta: function() { Loading
template/app/view/auth/Login.js +2 −42 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ Ext.define('Docs.view.auth.Login', { alias: 'widget.authentication', loginTplHtml: [ '<form class="loginForm">', '<form class="loginForm" onsubmit="return Docs.App.getController(\'Auth\').submitLogin(this);">', '<input class="username" type="text" name="username" placeholder="Username" />', '<input class="password" type="password" name="password" placeholder="Password" />', '<label><input type="checkbox" name="remember" /> Remember Me</label>', Loading @@ -14,36 +14,8 @@ Ext.define('Docs.view.auth.Login', { ], initComponent: function() { this.addEvents( /** * @event * Fired when the user clicks 'login' */ "login", /** * @event * Fired when the user clicks 'logout' */ "logout", /** * @event * Fired when the login form is submitted * @param {String} username * @param {String} password */ "authenticate" ); this.loginTpl = Ext.create('Ext.Template', this.loginTplHtml.join('')); this.callParent(arguments); Ext.getBody().addListener('submit', this.loginSubmit, this, { preventDefault: true, delegate: '.loginForm' }); }, showLogin: function() { Loading @@ -56,18 +28,6 @@ Ext.define('Docs.view.auth.Login', { showLoggedOut: function(username) { this.update('<a href="#" class="login">Sign in / Register</a>'); }, loginSubmit: function(e, el) { var form = Ext.get(el), username = form.down('input[name=username]').getValue(), password = form.down('input[name=password]').getValue(), rememberEl = form.down('input[name=remember]'), submitEl = form.down('input[type=submit]') var remember = rememberEl ? Boolean(rememberEl.getAttribute('checked')) : false; this.fireEvent('login', username, password, remember, submitEl); } });
template/resources/sass/viewport.scss +3 −2 Original line number Diff line number Diff line Loading @@ -689,9 +689,10 @@ a { border-color: #e0e0e0; position: relative; padding: 0 0 10px 25px; min-height: 40px; @include member-expander; .name { padding-top: 10px; display: block; font-weight: normal !important; } .name { padding: 10px 0 0 0; display: block; font-weight: normal !important; } &.open { min-height: 40px; } .new-comment { form.loginForm { position: relative; Loading