Beautified all js in web dashboard
This commit is contained in:
parent
5895f209e7
commit
6bfd795635
346 changed files with 72978 additions and 375 deletions
|
@ -1 +1,63 @@
|
|||
define(["events"],function(events){"use strict";function loadStrings(plugin,globalize){var strings=plugin.getTranslations?plugin.getTranslations():[];return globalize.loadStrings({name:plugin.id||plugin.packageName,strings:strings})}function definePluginRoute(pluginManager,route,plugin){route.contentPath=pluginManager.mapPath(plugin,route.path),route.path=pluginManager.mapRoute(plugin,route),Emby.App.defineRoute(route,plugin.id)}function PluginManager(){this.pluginsList=[]}var cacheParam=(new Date).getTime();return PluginManager.prototype.loadPlugin=function(url){console.log("Loading plugin: "+url);var instance=this;return new Promise(function(resolve,reject){require([url,"globalize","appRouter"],function(pluginFactory,globalize,appRouter){var plugin=new pluginFactory;if(instance.pluginsList.filter(function(p){return p.id===plugin.id})[0])return void resolve(url);plugin.installUrl=url;var urlLower=url.toLowerCase();-1===urlLower.indexOf("http:")&&-1===urlLower.indexOf("https:")&&-1===urlLower.indexOf("file:")&&0!==url.indexOf(appRouter.baseUrl())&&(url=appRouter.baseUrl()+"/"+url);var separatorIndex=Math.max(url.lastIndexOf("/"),url.lastIndexOf("\\"));plugin.baseUrl=url.substring(0,separatorIndex);var paths={};paths[plugin.id]=plugin.baseUrl,requirejs.config({waitSeconds:0,paths:paths}),instance.register(plugin),plugin.getRoutes&&plugin.getRoutes().forEach(function(route){definePluginRoute(instance,route,plugin)}),"skin"===plugin.type?resolve(plugin):loadStrings(plugin,globalize).then(function(){resolve(plugin)},reject)})})},PluginManager.prototype.register=function(obj){this.pluginsList.push(obj),events.trigger(this,"registered",[obj])},PluginManager.prototype.ofType=function(type){return this.pluginsList.filter(function(o){return o.type===type})},PluginManager.prototype.plugins=function(){return this.pluginsList},PluginManager.prototype.mapRoute=function(plugin,route){return"string"==typeof plugin&&(plugin=this.pluginsList.filter(function(p){return(p.id||p.packageName)===plugin})[0]),route=route.path||route,0===route.toLowerCase().indexOf("http")?route:"/plugins/"+plugin.id+"/"+route},PluginManager.prototype.mapPath=function(plugin,path,addCacheParam){"string"==typeof plugin&&(plugin=this.pluginsList.filter(function(p){return(p.id||p.packageName)===plugin})[0]);var url=plugin.baseUrl+"/"+path;return addCacheParam&&(url+=-1===url.indexOf("?")?"?":"&",url+="v="+cacheParam),url},new PluginManager});
|
||||
define(["events"], function(events) {
|
||||
"use strict";
|
||||
|
||||
function loadStrings(plugin, globalize) {
|
||||
var strings = plugin.getTranslations ? plugin.getTranslations() : [];
|
||||
return globalize.loadStrings({
|
||||
name: plugin.id || plugin.packageName,
|
||||
strings: strings
|
||||
})
|
||||
}
|
||||
|
||||
function definePluginRoute(pluginManager, route, plugin) {
|
||||
route.contentPath = pluginManager.mapPath(plugin, route.path), route.path = pluginManager.mapRoute(plugin, route), Emby.App.defineRoute(route, plugin.id)
|
||||
}
|
||||
|
||||
function PluginManager() {
|
||||
this.pluginsList = []
|
||||
}
|
||||
var cacheParam = (new Date).getTime();
|
||||
return PluginManager.prototype.loadPlugin = function(url) {
|
||||
console.log("Loading plugin: " + url);
|
||||
var instance = this;
|
||||
return new Promise(function(resolve, reject) {
|
||||
require([url, "globalize", "appRouter"], function(pluginFactory, globalize, appRouter) {
|
||||
var plugin = new pluginFactory;
|
||||
if (instance.pluginsList.filter(function(p) {
|
||||
return p.id === plugin.id
|
||||
})[0]) return void resolve(url);
|
||||
plugin.installUrl = url;
|
||||
var urlLower = url.toLowerCase(); - 1 === urlLower.indexOf("http:") && -1 === urlLower.indexOf("https:") && -1 === urlLower.indexOf("file:") && 0 !== url.indexOf(appRouter.baseUrl()) && (url = appRouter.baseUrl() + "/" + url);
|
||||
var separatorIndex = Math.max(url.lastIndexOf("/"), url.lastIndexOf("\\"));
|
||||
plugin.baseUrl = url.substring(0, separatorIndex);
|
||||
var paths = {};
|
||||
paths[plugin.id] = plugin.baseUrl, requirejs.config({
|
||||
waitSeconds: 0,
|
||||
paths: paths
|
||||
}), instance.register(plugin), plugin.getRoutes && plugin.getRoutes().forEach(function(route) {
|
||||
definePluginRoute(instance, route, plugin)
|
||||
}), "skin" === plugin.type ? resolve(plugin) : loadStrings(plugin, globalize).then(function() {
|
||||
resolve(plugin)
|
||||
}, reject)
|
||||
})
|
||||
})
|
||||
}, PluginManager.prototype.register = function(obj) {
|
||||
this.pluginsList.push(obj), events.trigger(this, "registered", [obj])
|
||||
}, PluginManager.prototype.ofType = function(type) {
|
||||
return this.pluginsList.filter(function(o) {
|
||||
return o.type === type
|
||||
})
|
||||
}, PluginManager.prototype.plugins = function() {
|
||||
return this.pluginsList
|
||||
}, PluginManager.prototype.mapRoute = function(plugin, route) {
|
||||
return "string" == typeof plugin && (plugin = this.pluginsList.filter(function(p) {
|
||||
return (p.id || p.packageName) === plugin
|
||||
})[0]), route = route.path || route, 0 === route.toLowerCase().indexOf("http") ? route : "/plugins/" + plugin.id + "/" + route
|
||||
}, PluginManager.prototype.mapPath = function(plugin, path, addCacheParam) {
|
||||
"string" == typeof plugin && (plugin = this.pluginsList.filter(function(p) {
|
||||
return (p.id || p.packageName) === plugin
|
||||
})[0]);
|
||||
var url = plugin.baseUrl + "/" + path;
|
||||
return addCacheParam && (url += -1 === url.indexOf("?") ? "?" : "&", url += "v=" + cacheParam), url
|
||||
}, new PluginManager
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue