rjs optimize the app.
This commit is contained in:
parent
6b418276b6
commit
3311357df0
|
@ -163,7 +163,7 @@ module.exports = function (grunt) {
|
||||||
keepBuildDir : true,
|
keepBuildDir : true,
|
||||||
modules: [{
|
modules: [{
|
||||||
name: 'app',
|
name: 'app',
|
||||||
exclude: ['JsLibraries/jquery', 'templates.js']
|
exclude: ['templates.js']
|
||||||
}],
|
}],
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace NzbDrone.Api.Frontend
|
||||||
|
|
||||||
if (context.Request.Path.StartsWith("/api", StringComparison.CurrentCultureIgnoreCase)) return false;
|
if (context.Request.Path.StartsWith("/api", StringComparison.CurrentCultureIgnoreCase)) return false;
|
||||||
if (context.Request.Path.StartsWith("/signalr", StringComparison.CurrentCultureIgnoreCase)) return false;
|
if (context.Request.Path.StartsWith("/signalr", StringComparison.CurrentCultureIgnoreCase)) return false;
|
||||||
if (context.Request.Path.EndsWith("app.js")) return false;
|
if (context.Request.Path.EndsWith("main.js")) return false;
|
||||||
|
|
||||||
if (context.Request.Path.StartsWith("/log", StringComparison.CurrentCultureIgnoreCase) &&
|
if (context.Request.Path.StartsWith("/log", StringComparison.CurrentCultureIgnoreCase) &&
|
||||||
context.Request.Path.EndsWith(".txt", StringComparison.CurrentCultureIgnoreCase))
|
context.Request.Path.EndsWith(".txt", StringComparison.CurrentCultureIgnoreCase))
|
||||||
|
|
|
@ -55,6 +55,7 @@ namespace NzbDrone.Api.Frontend.Mappers
|
||||||
text = text.Replace(".css", ".css?v=" + BuildInfo.Version);
|
text = text.Replace(".css", ".css?v=" + BuildInfo.Version);
|
||||||
text = text.Replace(".js", ".js?v=" + BuildInfo.Version);
|
text = text.Replace(".js", ".js?v=" + BuildInfo.Version);
|
||||||
text = text.Replace("API_KEY", _configFileProvider.ApiKey);
|
text = text.Replace("API_KEY", _configFileProvider.ApiKey);
|
||||||
|
text = text.Replace("APP_VERSION", BuildInfo.Version.ToString());
|
||||||
|
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,8 @@ namespace NzbDrone.Api.Notifications
|
||||||
{
|
{
|
||||||
public class IndexerModule : ProviderModuleBase<NotificationResource, INotification, NotificationDefinition>
|
public class IndexerModule : ProviderModuleBase<NotificationResource, INotification, NotificationDefinition>
|
||||||
{
|
{
|
||||||
public IndexerModule(NotificationFactory notificationrFactory)
|
public IndexerModule(NotificationFactory notificationFactory)
|
||||||
: base(notificationrFactory, "notification")
|
: base(notificationFactory, "notification")
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
using NzbDrone.Core.ThingiProvider;
|
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications
|
|
||||||
{
|
|
||||||
public class Notification
|
|
||||||
{
|
|
||||||
public int Id { get; set; }
|
|
||||||
public string Name { get; set; }
|
|
||||||
public string ImplementationName { get; set; }
|
|
||||||
public string Link { get; set; }
|
|
||||||
public bool OnGrab { get; set; }
|
|
||||||
public bool OnDownload { get; set; }
|
|
||||||
public IProviderConfig Settings { get; set; }
|
|
||||||
public INotification Instance { get; set; }
|
|
||||||
public string Implementation { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -354,7 +354,6 @@
|
||||||
<Compile Include="Notifications\Growl\GrowlSettings.cs" />
|
<Compile Include="Notifications\Growl\GrowlSettings.cs" />
|
||||||
<Compile Include="Notifications\Growl\TestGrowlCommand.cs" />
|
<Compile Include="Notifications\Growl\TestGrowlCommand.cs" />
|
||||||
<Compile Include="Notifications\INotification.cs" />
|
<Compile Include="Notifications\INotification.cs" />
|
||||||
<Compile Include="Notifications\Notification.cs" />
|
|
||||||
<Compile Include="Notifications\NotificationRepository.cs" />
|
<Compile Include="Notifications\NotificationRepository.cs" />
|
||||||
<Compile Include="Fluent.cs" />
|
<Compile Include="Fluent.cs" />
|
||||||
<Compile Include="History\HistoryRepository.cs" />
|
<Compile Include="History\HistoryRepository.cs" />
|
||||||
|
|
|
@ -1,88 +1,92 @@
|
||||||
'use strict';
|
define(
|
||||||
(function () {
|
[
|
||||||
window.alert = function (message) {
|
'jquery',
|
||||||
window.Messenger().post(message);
|
'messenger'
|
||||||
};
|
], function ($, Messenger) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
var addError = function(message){
|
window.alert = function (message) {
|
||||||
window.$('#errors').append('<div>' + message + '</div>');
|
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');
|
try {
|
||||||
a.href = url;
|
|
||||||
var filename = a.pathname.split('/').pop();
|
|
||||||
|
|
||||||
//Suppress Firefox debug errors when console window is closed
|
var a = document.createElement('a');
|
||||||
if (filename.toLowerCase() === 'markupview.jsm' || filename.toLowerCase() === 'markup-view.js') {
|
a.href = url;
|
||||||
return false;
|
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 = {
|
var message = {
|
||||||
message : messageText,
|
|
||||||
type : 'error',
|
type : 'error',
|
||||||
hideAfter : 1000,
|
hideAfter : 1000,
|
||||||
showCloseButton: true
|
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);
|
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;
|
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;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
})();
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
define(
|
define([], function () {
|
||||||
[
|
|
||||||
'jquery'
|
|
||||||
], function ($) {
|
|
||||||
'use strict';
|
'use strict';
|
||||||
return {
|
return {
|
||||||
load: function (name, parentRequire, onload, config) {
|
load: function (name, parentRequire, onload, config) {
|
||||||
|
@ -13,7 +10,7 @@ define(
|
||||||
var resource = name.split('!')[0];
|
var resource = name.split('!')[0];
|
||||||
var url = window.NzbDrone.ApiRoot + '/' + resource;
|
var url = window.NzbDrone.ApiRoot + '/' + resource;
|
||||||
|
|
||||||
$.ajax({
|
window.$.ajax({
|
||||||
url: url
|
url: url
|
||||||
}).done(function (data) {
|
}).done(function (data) {
|
||||||
onload(data);
|
onload(data);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
require.config({
|
require.config({
|
||||||
urlArgs: 'v=' + window.NzbDrone.Version,
|
|
||||||
paths: {
|
paths: {
|
||||||
'backbone' : 'JsLibraries/backbone',
|
'backbone' : 'JsLibraries/backbone',
|
||||||
'moment' : 'JsLibraries/moment',
|
'moment' : 'JsLibraries/moment',
|
||||||
|
@ -22,23 +22,39 @@ require.config({
|
||||||
'signalR' : 'JsLibraries/jquery.signalR',
|
'signalR' : 'JsLibraries/jquery.signalR',
|
||||||
'jquery.knob' : 'JsLibraries/jquery.knob',
|
'jquery.knob' : 'JsLibraries/jquery.knob',
|
||||||
'jquery.dotdotdot' : 'JsLibraries/jquery.dotdotdot',
|
'jquery.dotdotdot' : 'JsLibraries/jquery.dotdotdot',
|
||||||
'jquery' : 'jQuery/jquery.shim',
|
'messenger' : 'JsLibraries/messenger',
|
||||||
|
'jquery' : 'JsLibraries/jquery',
|
||||||
'libs' : 'JsLibraries/',
|
'libs' : 'JsLibraries/',
|
||||||
|
|
||||||
'api': 'Require/require.api'
|
'api': 'Require/require.api'
|
||||||
},
|
},
|
||||||
|
|
||||||
shim: {
|
shim: {
|
||||||
jquery :{
|
|
||||||
exports: '$'
|
api: {
|
||||||
},
|
|
||||||
signalR: {
|
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'jquery'
|
'jquery'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
bootstrap: {
|
|
||||||
|
jquery : {
|
||||||
|
exports: '$'
|
||||||
|
},
|
||||||
|
messenger : {
|
||||||
|
deps :
|
||||||
|
[
|
||||||
|
'jquery'
|
||||||
|
],
|
||||||
|
exports: 'Messenger'
|
||||||
|
},
|
||||||
|
signalR : {
|
||||||
|
deps:
|
||||||
|
[
|
||||||
|
'jquery'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
bootstrap : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'jquery'
|
'jquery'
|
||||||
|
@ -49,23 +65,24 @@ require.config({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
backstrech: {
|
backstrech : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'jquery'
|
'jquery'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
underscore: {
|
underscore : {
|
||||||
deps :
|
deps :
|
||||||
[
|
[
|
||||||
'jquery'
|
'jquery'
|
||||||
],
|
],
|
||||||
exports: '_'
|
exports: '_'
|
||||||
},
|
},
|
||||||
backbone: {
|
backbone : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'jquery',
|
'jquery',
|
||||||
|
'Instrumentation/ErrorHandler',
|
||||||
'underscore',
|
'underscore',
|
||||||
'Mixins/jquery.ajax',
|
'Mixins/jquery.ajax',
|
||||||
'jQuery/ToTheTop'
|
'jQuery/ToTheTop'
|
||||||
|
@ -73,7 +90,7 @@ require.config({
|
||||||
|
|
||||||
exports: 'Backbone'
|
exports: 'Backbone'
|
||||||
},
|
},
|
||||||
marionette: {
|
marionette : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'backbone',
|
'backbone',
|
||||||
|
@ -88,45 +105,45 @@ require.config({
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'jquery.knob': {
|
'jquery.knob' : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'jquery'
|
'jquery'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
'jquery.dotdotdot': {
|
'jquery.dotdotdot' : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'jquery'
|
'jquery'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
'backbone.pageable': {
|
'backbone.pageable' : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'backbone'
|
'backbone'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
'backbone.deepmodel': {
|
'backbone.deepmodel' : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'backbone',
|
'backbone',
|
||||||
'underscore'
|
'underscore'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
'backbone.validation': {
|
'backbone.validation' : {
|
||||||
deps :
|
deps :
|
||||||
[
|
[
|
||||||
'backbone'
|
'backbone'
|
||||||
],
|
],
|
||||||
exports: 'Backbone.Validation'
|
exports: 'Backbone.Validation'
|
||||||
},
|
},
|
||||||
'backbone.modelbinder':{
|
'backbone.modelbinder': {
|
||||||
deps :
|
deps:
|
||||||
[
|
[
|
||||||
'backbone'
|
'backbone'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
backgrid : {
|
backgrid : {
|
||||||
deps:
|
deps:
|
||||||
[
|
[
|
||||||
'backbone'
|
'backbone'
|
||||||
|
@ -154,7 +171,7 @@ require.config({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'backgrid.paginator': {
|
'backgrid.paginator' : {
|
||||||
|
|
||||||
exports: 'Backgrid.Extension.Paginator',
|
exports: 'Backgrid.Extension.Paginator',
|
||||||
|
|
||||||
|
@ -163,7 +180,7 @@ require.config({
|
||||||
'backgrid'
|
'backgrid'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
'backgrid.selectall': {
|
'backgrid.selectall' : {
|
||||||
|
|
||||||
exports: 'Backgrid.Extension.SelectAll',
|
exports: 'Backgrid.Extension.SelectAll',
|
||||||
|
|
||||||
|
@ -175,6 +192,11 @@ require.config({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
require.config({
|
||||||
|
urlArgs: 'v=' + window.NzbDrone.Version
|
||||||
|
});
|
||||||
|
|
||||||
define(
|
define(
|
||||||
[
|
[
|
||||||
'jquery',
|
'jquery',
|
||||||
|
@ -224,5 +246,5 @@ define(
|
||||||
$('#footer-region .version').html(footerText);
|
$('#footer-region .version').html(footerText);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.start();
|
return app;
|
||||||
});
|
});
|
|
@ -71,10 +71,6 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="/polyfills.js"></script>
|
<script src="/polyfills.js"></script>
|
||||||
<script src="/JsLibraries/jquery.js"></script>
|
<script data-main="main" src="/JsLibraries/require.js"></script>
|
||||||
<script src="/JsLibraries/messenger.js"></script>
|
|
||||||
<script src="/Instrumentation/ErrorHandler.js"></script>
|
|
||||||
|
|
||||||
<script data-main="/app" src="/JsLibraries/require.js"></script>
|
|
||||||
<script src="/JsLibraries/xrayquire.js"></script>
|
<script src="/JsLibraries/xrayquire.js"></script>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
'use strict';
|
|
||||||
define(
|
|
||||||
[
|
|
||||||
|
|
||||||
], function () {
|
|
||||||
return window.$;
|
|
||||||
});
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
require.config({
|
||||||
|
urlArgs: 'v=' + window.NzbDrone.Version
|
||||||
|
});
|
||||||
|
|
||||||
|
define(
|
||||||
|
[
|
||||||
|
'app'
|
||||||
|
], function (app) {
|
||||||
|
'use strict';
|
||||||
|
app.start();
|
||||||
|
});
|
Loading…
Reference in New Issue