Skip to content

Commit 03871f3

Browse files
committed
Auto version updater added
1 parent b02ba93 commit 03871f3

File tree

12 files changed

+198
-58
lines changed

12 files changed

+198
-58
lines changed

admin-js/admin-app.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ Exyht.deferReadiness();
77
Exyht.BaseUrl = '/blog/admin-page';
88
Exyht.gravatarVersion = 'identicon';
99
Exyht.hostnameWithProtocolPort = window.location.protocol+"//"+window.location.hostname+(window.location.port ? ':' + window.location.port: '');
10-
Exyht.currentBaseUri = Exyht.hostnameWithProtocolPort+Exyht.BaseUrl;
10+
Exyht.blogUrl = Exyht.hostnameWithProtocolPort + '/blog';
11+
Exyht.currentBaseUri = Exyht.hostnameWithProtocolPort + Exyht.BaseUrl;
1112

1213
function showLoading(){
1314
var loadingDiv = $('#loadingDiv');
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
|---------------------------
3+
| Check version Component
4+
|---------------------------
5+
*/
6+
Exyht.CheckVersionComponent = Ember.Component.extend({
7+
isNewVersion: false,
8+
version: '',
9+
onInsert: function() {
10+
var self = this;
11+
12+
$.getJSON(Exyht.blogUrl + "/package.json").then(function(data) {
13+
self.set('version', data.version);
14+
});
15+
16+
setTimeout(function(){
17+
$.ajax({
18+
type: 'GET',
19+
url: 'http://exyht.github.io/exyht/info.json?callback=?',
20+
async: false,
21+
jsonpCallback: 'jsonCallback',
22+
contentType: "application/json",
23+
dataType: 'jsonp',
24+
success: function(data) {
25+
if(data.version !== self.get('version')){
26+
self.setProperties({
27+
'isNewVersion': true,
28+
'version': data.version
29+
});
30+
}
31+
}
32+
});
33+
}, 1000);
34+
35+
36+
}.on('didInsertElement'),
37+
38+
getVersion: function(){
39+
if(this.get('version')){
40+
return this.get('version');
41+
}
42+
}.property('version')
43+
});

admin-templates/_navbar.hbs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<!-- /.navbar-header -->
1313

1414
<ul class="nav navbar-top-links navbar-right">
15+
<li>{{check-version}}</li>
1516
<li class="dropdown">
1617
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
1718
<i class="fa fa-user fa-fw"></i> <i class="fa fa-caret-down"></i>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{#if isNewVersion}}
2+
<a href="https://github.com/Exyht/exyht" target="_blank">
3+
<span class="label label-success">
4+
New! v{{getVersion}}
5+
</span>
6+
</a>
7+
{{else}}
8+
<span class="label label-default">
9+
v{{getVersion}}
10+
</span>
11+
{{/if}}

build/admin-production-app.js

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ Exyht.deferReadiness();
77
Exyht.BaseUrl = '/blog/admin-page';
88
Exyht.gravatarVersion = 'identicon';
99
Exyht.hostnameWithProtocolPort = window.location.protocol+"//"+window.location.hostname+(window.location.port ? ':' + window.location.port: '');
10-
Exyht.currentBaseUri = Exyht.hostnameWithProtocolPort+Exyht.BaseUrl;
10+
Exyht.blogUrl = Exyht.hostnameWithProtocolPort + '/blog';
11+
Exyht.currentBaseUri = Exyht.hostnameWithProtocolPort + Exyht.BaseUrl;
1112

1213
function showLoading(){
1314
var loadingDiv = $('#loadingDiv');
@@ -114,6 +115,49 @@ model: function()
114115
});
115116
}
116117
});
118+
/*
119+
|---------------------------
120+
| Check version Component
121+
|---------------------------
122+
*/
123+
Exyht.CheckVersionComponent = Ember.Component.extend({
124+
isNewVersion: false,
125+
version: '',
126+
onInsert: function() {
127+
var self = this;
128+
129+
$.getJSON(Exyht.blogUrl + "/package.json").then(function(data) {
130+
self.set('version', data.version);
131+
});
132+
133+
setTimeout(function(){
134+
$.ajax({
135+
type: 'GET',
136+
url: 'http://exyht.github.io/exyht/info.json?callback=?',
137+
async: false,
138+
jsonpCallback: 'jsonCallback',
139+
contentType: "application/json",
140+
dataType: 'jsonp',
141+
success: function(data) {
142+
if(data.version !== self.get('version')){
143+
self.setProperties({
144+
'isNewVersion': true,
145+
'version': data.version
146+
});
147+
}
148+
}
149+
});
150+
}, 1000);
151+
152+
153+
}.on('didInsertElement'),
154+
155+
getVersion: function(){
156+
if(this.get('version')){
157+
return this.get('version');
158+
}
159+
}.property('version')
160+
});
117161
/*
118162
|---------------------------
119163
| GravatarImage Component

build/admin-production-app.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/admin-templates.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,10 @@ function program11(depth0,data) {
189189
data.buffer.push("<i class=\"fa fa-picture-o fa-fw\"></i>\r\n Image Gallery");
190190
}
191191

192-
data.buffer.push("<!-- Navigation -->\r\n<nav class=\"navbar navbar-default navbar-static-top\" role=\"navigation\" style=\"margin-bottom: 0\">\r\n <div class=\"navbar-header\">\r\n <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\".navbar-collapse\">\r\n <span class=\"sr-only\">Toggle navigation</span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n </button>\r\n <a class=\"navbar-brand\" href=\"#\">Exyht</a>\r\n </div>\r\n <!-- /.navbar-header -->\r\n\r\n <ul class=\"nav navbar-top-links navbar-right\">\r\n <li class=\"dropdown\">\r\n <a class=\"dropdown-toggle\" data-toggle=\"dropdown\" href=\"#\">\r\n <i class=\"fa fa-user fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\r\n </a>\r\n <ul class=\"dropdown-menu dropdown-user\">\r\n <li>");
192+
data.buffer.push("<!-- Navigation -->\r\n<nav class=\"navbar navbar-default navbar-static-top\" role=\"navigation\" style=\"margin-bottom: 0\">\r\n <div class=\"navbar-header\">\r\n <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\".navbar-collapse\">\r\n <span class=\"sr-only\">Toggle navigation</span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n </button>\r\n <a class=\"navbar-brand\" href=\"#\">Exyht</a>\r\n </div>\r\n <!-- /.navbar-header -->\r\n\r\n <ul class=\"nav navbar-top-links navbar-right\">\r\n <li>");
193+
stack1 = helpers._triageMustache.call(depth0, "check-version", {hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});
194+
if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
195+
data.buffer.push("</li>\r\n <li class=\"dropdown\">\r\n <a class=\"dropdown-toggle\" data-toggle=\"dropdown\" href=\"#\">\r\n <i class=\"fa fa-user fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\r\n </a>\r\n <ul class=\"dropdown-menu dropdown-user\">\r\n <li>");
193196
stack1 = (helper = helpers['link-to'] || (depth0 && depth0['link-to']),options={hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["STRING"],data:data},helper ? helper.call(depth0, "profilesetting", options) : helperMissing.call(depth0, "link-to", "profilesetting", options));
194197
if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
195198
data.buffer.push("\r\n </li>\r\n <li class=\"divider\"></li>\r\n <li ");
@@ -1149,6 +1152,37 @@ function program1(depth0,data) {
11491152

11501153
});
11511154

1155+
Ember.TEMPLATES["components/check-version"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {
1156+
this.compilerInfo = [4,'>= 1.0.0'];
1157+
helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {};
1158+
var stack1, self=this;
1159+
1160+
function program1(depth0,data) {
1161+
1162+
var buffer = '', stack1;
1163+
data.buffer.push("\r\n <a href=\"https://github.com/Exyht/exyht\" target=\"_blank\">\r\n <span class=\"label label-success\">\r\n New! v");
1164+
stack1 = helpers._triageMustache.call(depth0, "getVersion", {hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});
1165+
if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
1166+
data.buffer.push("\r\n </span>\r\n </a>\r\n");
1167+
return buffer;
1168+
}
1169+
1170+
function program3(depth0,data) {
1171+
1172+
var buffer = '', stack1;
1173+
data.buffer.push("\r\n <span class=\"label label-default\">\r\n v");
1174+
stack1 = helpers._triageMustache.call(depth0, "getVersion", {hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});
1175+
if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
1176+
data.buffer.push("\r\n </span>\r\n");
1177+
return buffer;
1178+
}
1179+
1180+
stack1 = helpers['if'].call(depth0, "isNewVersion", {hash:{},hashTypes:{},hashContexts:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],data:data});
1181+
if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
1182+
else { data.buffer.push(''); }
1183+
1184+
});
1185+
11521186
Ember.TEMPLATES["components/gravatar-image"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {
11531187
this.compilerInfo = [4,'>= 1.0.0'];
11541188
helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {};

build/admin-templates.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/production-app.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ Ember.Handlebars.helper('format-archive-date', function(input) {
7171
Ember.Handlebars.helper('format-comment-number', function(input) {
7272
return (input == 1)?' Comment':' Comments';
7373
});
74+
/*
75+
|---------------------------
76+
| ResetScroll Mixin
77+
|---------------------------
78+
*/
7479
Exyht.ResetScroll = Ember.Mixin.create({
7580
activate: function() {
7681
this._super();
@@ -356,19 +361,18 @@ Exyht.ApplicationController = Ember.ArrayController.extend({
356361
}.property('Exyht.SidebarInfo.sidebar_info.archive'),
357362

358363
addCommentToPost: function(){
359-
var name = this.get('name').trim();
360-
361-
var addedComment = this.get('typeComment');
362-
363-
var postId = this.get('actualPostIdForAddComment');
364-
var email = this.get('email').trim();
365-
var replyingCommentId = this.get('currentCommentIdToReply');
366-
var valueForSpamBot = this.get('valueForSpam');
364+
var name = this.get('name').trim(),
365+
addedComment = this.get('typeComment'),
366+
postId = this.get('actualPostIdForAddComment'),
367+
email = this.get('email').trim(),
368+
replyingCommentId = this.get('currentCommentIdToReply'),
369+
valueForSpamBot = this.get('valueForSpam');
367370

368371
if ((!addedComment || addedComment.length < 20) || !name || !email) {
369372
this.set('isCommentDivShown', true);
370373
return false;
371374
}
375+
372376
if (!addedComment.trim()) { return; }
373377

374378
this.set('sendingCommentOn', true);
@@ -439,6 +443,8 @@ Exyht.ApplicationController = Ember.ArrayController.extend({
439443
'currentCommenterNameToReply': '',
440444
'currentCommenterGravaterToReply': ''
441445
});
446+
// Now scroll to bottom
447+
window.scrollTo(0, document.body.scrollHeight);
442448
}else if(data.read_only_mode === 1){
443449
$("#showError").addClass("alert alert-danger");
444450
$("#showError").html(data.controller_response);

build/production-app.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)