1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-26 22:56:23 -04:00

rjs optimize the app.

This commit is contained in:
kayone
2013-11-20 22:04:15 -08:00
parent 6b418276b6
commit 3311357df0
12 changed files with 135 additions and 129 deletions
+72 -68
View File
@@ -1,88 +1,92 @@
'use strict';
(function () {
window.alert = function (message) {
window.Messenger().post(message);
};
define(
[
'jquery',
'messenger'
], function ($, Messenger) {
'use strict';
var addError = function(message){
window.$('#errors').append('<div>' + message + '</div>');
};
window.alert = function (message) {
new Messenger().post(message);
};
window.onerror = function (msg, url, line) {
var addError = function (message) {
$('#errors').append('<div>' + message + '</div>');
};
try {
window.onerror = function (msg, url, line) {
var a = document.createElement('a');
a.href = url;
var filename = a.pathname.split('/').pop();
try {
//Suppress Firefox debug errors when console window is closed
if (filename.toLowerCase() === 'markupview.jsm' || filename.toLowerCase() === 'markup-view.js') {
return false;
var a = document.createElement('a');
a.href = url;
var filename = a.pathname.split('/').pop();
//Suppress Firefox debug errors when console window is closed
if (filename.toLowerCase() === 'markupview.jsm' || filename.toLowerCase() === 'markup-view.js') {
return false;
}
var messageText = filename + ' : ' + line + '</br>' + msg;
var message = {
message : messageText,
type : 'error',
hideAfter : 1000,
showCloseButton: true
};
new Messenger().post(message);
addError(message.message);
}
catch (error) {
console.log('An error occurred while reporting error. ' + error);
console.log(msg);
new Messenger().post('Couldn\'t report JS error. ' + msg);
}
var messageText = filename + ' : ' + line + '</br>' + msg;
return false; //don't suppress default alerts and logs.
};
$(document).ajaxError(function (event, xmlHttpRequest, ajaxOptions) {
//don't report 200 error codes
if (xmlHttpRequest.status >= 200 && xmlHttpRequest.status <= 300) {
return undefined;
}
//don't report aborted requests
if (xmlHttpRequest.statusText === 'abort') {
return undefined;
}
var message = {
message : messageText,
type : 'error',
hideAfter : 1000,
showCloseButton: true
};
window.Messenger().post(message);
if (xmlHttpRequest.status === 0 && xmlHttpRequest.readyState === 0) {
return false;
}
if (xmlHttpRequest.status === 400 && ajaxOptions.isValidatedCall) {
return false;
}
if (xmlHttpRequest.status === 503) {
message.message = xmlHttpRequest.responseJSON.message;
}
else {
message.message = '[{0}] {1} : {2}'.format(ajaxOptions.type, xmlHttpRequest.statusText, ajaxOptions.url);
}
new Messenger().post(message);
addError(message.message);
}
catch (error) {
console.log('An error occurred while reporting error. ' + error);
console.log(msg);
window.alert('Couldn\'t report JS error. ' + msg);
}
return false; //don't suppress default alerts and logs.
};
window.$(document).ajaxError(function (event, xmlHttpRequest, ajaxOptions) {
//don't report 200 error codes
if (xmlHttpRequest.status >= 200 && xmlHttpRequest.status <= 300) {
return undefined;
}
//don't report aborted requests
if (xmlHttpRequest.statusText === 'abort') {
return undefined;
}
var message = {
type : 'error',
hideAfter : 1000,
showCloseButton: true
};
if (xmlHttpRequest.status === 0 && xmlHttpRequest.readyState === 0) {
return false;
}
if (xmlHttpRequest.status === 400 && ajaxOptions.isValidatedCall) {
return false;
}
if (xmlHttpRequest.status === 503) {
message.message = xmlHttpRequest.responseJSON.message;
}
else {
message.message = '[{0}] {1} : {2}'.format(ajaxOptions.type, xmlHttpRequest.statusText, ajaxOptions.url);
}
window.Messenger().post(message);
addError(message.message);
return false;
});
});
})();
+2 -5
View File
@@ -1,7 +1,4 @@
define(
[
'jquery'
], function ($) {
define([], function () {
'use strict';
return {
load: function (name, parentRequire, onload, config) {
@@ -13,7 +10,7 @@ define(
var resource = name.split('!')[0];
var url = window.NzbDrone.ApiRoot + '/' + resource;
$.ajax({
window.$.ajax({
url: url
}).done(function (data) {
onload(data);
+44 -22
View File
@@ -1,6 +1,6 @@
'use strict';
require.config({
urlArgs: 'v=' + window.NzbDrone.Version,
paths: {
'backbone' : 'JsLibraries/backbone',
'moment' : 'JsLibraries/moment',
@@ -22,23 +22,39 @@ require.config({
'signalR' : 'JsLibraries/jquery.signalR',
'jquery.knob' : 'JsLibraries/jquery.knob',
'jquery.dotdotdot' : 'JsLibraries/jquery.dotdotdot',
'jquery' : 'jQuery/jquery.shim',
'messenger' : 'JsLibraries/messenger',
'jquery' : 'JsLibraries/jquery',
'libs' : 'JsLibraries/',
'api': 'Require/require.api'
},
shim: {
jquery :{
exports: '$'
},
signalR: {
api: {
deps:
[
'jquery'
]
},
bootstrap: {
jquery : {
exports: '$'
},
messenger : {
deps :
[
'jquery'
],
exports: 'Messenger'
},
signalR : {
deps:
[
'jquery'
]
},
bootstrap : {
deps:
[
'jquery'
@@ -49,23 +65,24 @@ require.config({
});
}
},
backstrech: {
backstrech : {
deps:
[
'jquery'
]
},
underscore: {
underscore : {
deps :
[
'jquery'
],
exports: '_'
},
backbone: {
backbone : {
deps:
[
'jquery',
'Instrumentation/ErrorHandler',
'underscore',
'Mixins/jquery.ajax',
'jQuery/ToTheTop'
@@ -73,7 +90,7 @@ require.config({
exports: 'Backbone'
},
marionette: {
marionette : {
deps:
[
'backbone',
@@ -88,45 +105,45 @@ require.config({
}
},
'jquery.knob': {
'jquery.knob' : {
deps:
[
'jquery'
]
},
'jquery.dotdotdot': {
'jquery.dotdotdot' : {
deps:
[
'jquery'
]
},
'backbone.pageable': {
'backbone.pageable' : {
deps:
[
'backbone'
]
},
'backbone.deepmodel': {
'backbone.deepmodel' : {
deps:
[
'backbone',
'underscore'
]
},
'backbone.validation': {
'backbone.validation' : {
deps :
[
'backbone'
],
exports: 'Backbone.Validation'
},
'backbone.modelbinder':{
deps :
'backbone.modelbinder': {
deps:
[
'backbone'
]
},
backgrid : {
backgrid : {
deps:
[
'backbone'
@@ -154,7 +171,7 @@ require.config({
});
}
},
'backgrid.paginator': {
'backgrid.paginator' : {
exports: 'Backgrid.Extension.Paginator',
@@ -163,7 +180,7 @@ require.config({
'backgrid'
]
},
'backgrid.selectall': {
'backgrid.selectall' : {
exports: 'Backgrid.Extension.SelectAll',
@@ -175,6 +192,11 @@ require.config({
}
});
require.config({
urlArgs: 'v=' + window.NzbDrone.Version
});
define(
[
'jquery',
@@ -224,5 +246,5 @@ define(
$('#footer-region .version').html(footerText);
});
app.start();
return app;
});
+1 -5
View File
@@ -71,10 +71,6 @@
</script>
<script src="/polyfills.js"></script>
<script src="/JsLibraries/jquery.js"></script>
<script src="/JsLibraries/messenger.js"></script>
<script src="/Instrumentation/ErrorHandler.js"></script>
<script data-main="/app" src="/JsLibraries/require.js"></script>
<script data-main="main" src="/JsLibraries/require.js"></script>
<script src="/JsLibraries/xrayquire.js"></script>
</html>
-7
View File
@@ -1,7 +0,0 @@
'use strict';
define(
[
], function () {
return window.$;
});
+11
View File
@@ -0,0 +1,11 @@
require.config({
urlArgs: 'v=' + window.NzbDrone.Version
});
define(
[
'app'
], function (app) {
'use strict';
app.start();
});