mirror of
https://github.com/rr-/szurubooru.git
synced 2025-07-17 08:26:24 +00:00
Improved Javascript coding style
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
var App = App || {};
|
||||
|
||||
App.Util = (function(jQuery, promise) {
|
||||
App.Util = function(_, jQuery, promise) {
|
||||
|
||||
var templateCache = {};
|
||||
var lastContentPresenterName;
|
||||
@ -11,9 +11,10 @@ App.Util = (function(jQuery, promise) {
|
||||
args = (args || '').split(/;/);
|
||||
for (var i = 0; i < args.length; i ++) {
|
||||
var arg = args[i];
|
||||
if (!arg)
|
||||
if (!arg) {
|
||||
continue;
|
||||
kv = arg.split(/=/);
|
||||
}
|
||||
var kv = arg.split(/=/);
|
||||
result[kv[0]] = kv[1];
|
||||
}
|
||||
return result;
|
||||
@ -22,9 +23,10 @@ App.Util = (function(jQuery, promise) {
|
||||
function compileComplexRouteArgs(baseUri, args) {
|
||||
var result = baseUri + '/';
|
||||
_.each(args, function(v, k) {
|
||||
if (typeof(v) == 'undefined')
|
||||
if (typeof(v) === 'undefined') {
|
||||
return;
|
||||
result += k + '=' + v + ';'
|
||||
}
|
||||
result += k + '=' + v + ';';
|
||||
});
|
||||
result = result.slice(0, -1);
|
||||
return result;
|
||||
@ -36,20 +38,20 @@ App.Util = (function(jQuery, promise) {
|
||||
}
|
||||
|
||||
function initContentPresenter(presenterName, args) {
|
||||
if (lastContentPresenterName != presenterName) {
|
||||
if (lastContentPresenterName !== presenterName) {
|
||||
var presenter = App.DI.get(presenterName);
|
||||
var initResult = presenter.init.call(presenter, args);
|
||||
presenter.init.call(presenter, args);
|
||||
lastContentPresenterName = presenterName;
|
||||
lastContentPresenter = presenter;
|
||||
} else if (lastContentPresenter.reinit) {
|
||||
lastContentPresenter.reinit.call(presenter, args);
|
||||
lastContentPresenter.reinit.call(lastContentPresenter, args);
|
||||
}
|
||||
}
|
||||
|
||||
function promiseTemplate(templateName) {
|
||||
return promiseTemplateFromCache(templateName)
|
||||
|| promiseTemplateFromDOM(templateName)
|
||||
|| promiseTemplateWithAJAX(templateName);
|
||||
return promiseTemplateFromCache(templateName) ||
|
||||
promiseTemplateFromDOM(templateName) ||
|
||||
promiseTemplateWithAJAX(templateName);
|
||||
}
|
||||
|
||||
function promiseTemplateFromCache(templateName) {
|
||||
@ -74,16 +76,15 @@ App.Util = (function(jQuery, promise) {
|
||||
return promise.make(function(resolve, reject) {
|
||||
var templatesDir = '/templates';
|
||||
var templateUrl = templatesDir + '/' + templateName + '.tpl';
|
||||
var templateString;
|
||||
|
||||
$.ajax({
|
||||
jQuery.ajax({
|
||||
url: templateUrl,
|
||||
method: 'GET',
|
||||
success: function(data, textStatus, xhr) {
|
||||
resolve(data);
|
||||
},
|
||||
error: function(xhr, textStatus, errorThrown) {
|
||||
console.log(Error('Error while loading template ' + templateName + ': ' + errorThrown));
|
||||
console.log(new Error('Error while loading template ' + templateName + ': ' + errorThrown));
|
||||
reject();
|
||||
},
|
||||
});
|
||||
@ -91,53 +92,60 @@ App.Util = (function(jQuery, promise) {
|
||||
}
|
||||
|
||||
function formatRelativeTime(timeString) {
|
||||
if (!timeString)
|
||||
if (!timeString) {
|
||||
return 'never';
|
||||
}
|
||||
|
||||
var time = Date.parse(timeString);
|
||||
var then = Date.parse(timeString);
|
||||
var now = Date.now();
|
||||
var difference = Math.abs(now - time);
|
||||
var future = now < time;
|
||||
var difference = Math.abs(now - then);
|
||||
var future = now < then;
|
||||
|
||||
var text = (function(difference) {
|
||||
var mul = 1000;
|
||||
var prevMul;
|
||||
|
||||
mul *= 60;
|
||||
if (difference < mul)
|
||||
if (difference < mul) {
|
||||
return 'a few seconds';
|
||||
if (difference < mul * 2)
|
||||
} else if (difference < mul * 2) {
|
||||
return 'a minute';
|
||||
}
|
||||
|
||||
prevMul = mul; mul *= 60;
|
||||
if (difference < mul)
|
||||
if (difference < mul) {
|
||||
return Math.round(difference / prevMul) + ' minutes';
|
||||
if (difference < mul * 2)
|
||||
} else if (difference < mul * 2) {
|
||||
return 'an hour';
|
||||
}
|
||||
|
||||
prevMul = mul; mul *= 24;
|
||||
if (difference < mul)
|
||||
if (difference < mul) {
|
||||
return Math.round(difference / prevMul) + ' hours';
|
||||
if (difference < mul * 2)
|
||||
} else if (difference < mul * 2) {
|
||||
return 'a day';
|
||||
}
|
||||
|
||||
prevMul = mul; mul *= 30.42;
|
||||
if (difference < mul)
|
||||
if (difference < mul) {
|
||||
return Math.round(difference / prevMul) + ' days';
|
||||
if (difference < mul * 2)
|
||||
} else if (difference < mul * 2) {
|
||||
return 'a month';
|
||||
}
|
||||
|
||||
prevMul = mul; mul *= 12;
|
||||
if (difference < mul)
|
||||
if (difference < mul) {
|
||||
return Math.round(difference / prevMul) + ' months';
|
||||
if (difference < mul * 2)
|
||||
} else if (difference < mul * 2) {
|
||||
return 'a year';
|
||||
}
|
||||
|
||||
return Math.round(difference / mul) + ' years';
|
||||
})(difference);
|
||||
|
||||
if (text == 'a day')
|
||||
if (text === 'a day') {
|
||||
return future ? 'tomorrow' : 'yesterday';
|
||||
}
|
||||
return future ? 'in ' + text : text + ' ago';
|
||||
}
|
||||
|
||||
@ -149,6 +157,7 @@ App.Util = (function(jQuery, promise) {
|
||||
compileComplexRouteArgs: compileComplexRouteArgs,
|
||||
formatRelativeTime: formatRelativeTime,
|
||||
};
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
App.DI.registerSingleton('util', App.Util);
|
||||
|
Reference in New Issue
Block a user