From d49fee2a2980d5c5d4de34a7e2eaf330590b8d38 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Sun, 24 Feb 2019 11:46:22 +0000 Subject: [PATCH 01/16] single module resolution for apiclient --- .../apiclientex.js => apiclient/apiclient.js} | 7 ++++++- .../apiclient.js => apiclient/apiclientcore.js} | 0 .../{emby-apiclient => apiclient}/appstorage-cache.js | 0 .../appstorage-localstorage.js | 0 .../{emby-apiclient => apiclient}/appstorage-memory.js | 0 .../{emby-apiclient => apiclient}/connectionmanager.js | 0 .../{emby-apiclient => apiclient}/credentials.js | 0 .../{emby-apiclient => apiclient}/events.js | 0 .../{emby-apiclient => apiclient}/localassetmanager.js | 0 src/bower_components/apiclient/package.json | 3 +++ .../{emby-apiclient => apiclient}/sync/filerepository.js | 0 .../{emby-apiclient => apiclient}/sync/itemrepository.js | 0 .../{emby-apiclient => apiclient}/sync/localsync.js | 0 .../{emby-apiclient => apiclient}/sync/mediasync.js | 0 .../{emby-apiclient => apiclient}/sync/multiserversync.js | 0 .../{emby-apiclient => apiclient}/sync/serversync.js | 0 .../{emby-apiclient => apiclient}/sync/transfermanager.js | 0 .../sync/useractionrepository.js | 0 18 files changed, 9 insertions(+), 1 deletion(-) rename src/bower_components/{emby-apiclient/apiclientex.js => apiclient/apiclient.js} (98%) rename src/bower_components/{emby-apiclient/apiclient.js => apiclient/apiclientcore.js} (100%) rename src/bower_components/{emby-apiclient => apiclient}/appstorage-cache.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/appstorage-localstorage.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/appstorage-memory.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/connectionmanager.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/credentials.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/events.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/localassetmanager.js (100%) create mode 100644 src/bower_components/apiclient/package.json rename src/bower_components/{emby-apiclient => apiclient}/sync/filerepository.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/sync/itemrepository.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/sync/localsync.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/sync/mediasync.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/sync/multiserversync.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/sync/serversync.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/sync/transfermanager.js (100%) rename src/bower_components/{emby-apiclient => apiclient}/sync/useractionrepository.js (100%) diff --git a/src/bower_components/emby-apiclient/apiclientex.js b/src/bower_components/apiclient/apiclient.js similarity index 98% rename from src/bower_components/emby-apiclient/apiclientex.js rename to src/bower_components/apiclient/apiclient.js index b6a0c1bb14..98aaed75e3 100644 --- a/src/bower_components/emby-apiclient/apiclientex.js +++ b/src/bower_components/apiclient/apiclient.js @@ -1,6 +1,11 @@ -define(["apiclientcore", "localassetmanager"], function(ApiClient, localassetmanager) { +//TODO: (vitorsemeano) modify this lines for webpack +define(["bower_components/apiclient/apiclientcore", "localassetmanager"], function(ApiClient, localassetmanager) { "use strict"; + if ("cordova" !== window.appMode && "android" !== window.appMode) { + return ApiClient; + } + function isLocalId(str) { return startsWith(str, localPrefix) } diff --git a/src/bower_components/emby-apiclient/apiclient.js b/src/bower_components/apiclient/apiclientcore.js similarity index 100% rename from src/bower_components/emby-apiclient/apiclient.js rename to src/bower_components/apiclient/apiclientcore.js diff --git a/src/bower_components/emby-apiclient/appstorage-cache.js b/src/bower_components/apiclient/appstorage-cache.js similarity index 100% rename from src/bower_components/emby-apiclient/appstorage-cache.js rename to src/bower_components/apiclient/appstorage-cache.js diff --git a/src/bower_components/emby-apiclient/appstorage-localstorage.js b/src/bower_components/apiclient/appstorage-localstorage.js similarity index 100% rename from src/bower_components/emby-apiclient/appstorage-localstorage.js rename to src/bower_components/apiclient/appstorage-localstorage.js diff --git a/src/bower_components/emby-apiclient/appstorage-memory.js b/src/bower_components/apiclient/appstorage-memory.js similarity index 100% rename from src/bower_components/emby-apiclient/appstorage-memory.js rename to src/bower_components/apiclient/appstorage-memory.js diff --git a/src/bower_components/emby-apiclient/connectionmanager.js b/src/bower_components/apiclient/connectionmanager.js similarity index 100% rename from src/bower_components/emby-apiclient/connectionmanager.js rename to src/bower_components/apiclient/connectionmanager.js diff --git a/src/bower_components/emby-apiclient/credentials.js b/src/bower_components/apiclient/credentials.js similarity index 100% rename from src/bower_components/emby-apiclient/credentials.js rename to src/bower_components/apiclient/credentials.js diff --git a/src/bower_components/emby-apiclient/events.js b/src/bower_components/apiclient/events.js similarity index 100% rename from src/bower_components/emby-apiclient/events.js rename to src/bower_components/apiclient/events.js diff --git a/src/bower_components/emby-apiclient/localassetmanager.js b/src/bower_components/apiclient/localassetmanager.js similarity index 100% rename from src/bower_components/emby-apiclient/localassetmanager.js rename to src/bower_components/apiclient/localassetmanager.js diff --git a/src/bower_components/apiclient/package.json b/src/bower_components/apiclient/package.json new file mode 100644 index 0000000000..0069cfc6bf --- /dev/null +++ b/src/bower_components/apiclient/package.json @@ -0,0 +1,3 @@ +{ + "main": "apiclient.js" +} \ No newline at end of file diff --git a/src/bower_components/emby-apiclient/sync/filerepository.js b/src/bower_components/apiclient/sync/filerepository.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/filerepository.js rename to src/bower_components/apiclient/sync/filerepository.js diff --git a/src/bower_components/emby-apiclient/sync/itemrepository.js b/src/bower_components/apiclient/sync/itemrepository.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/itemrepository.js rename to src/bower_components/apiclient/sync/itemrepository.js diff --git a/src/bower_components/emby-apiclient/sync/localsync.js b/src/bower_components/apiclient/sync/localsync.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/localsync.js rename to src/bower_components/apiclient/sync/localsync.js diff --git a/src/bower_components/emby-apiclient/sync/mediasync.js b/src/bower_components/apiclient/sync/mediasync.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/mediasync.js rename to src/bower_components/apiclient/sync/mediasync.js diff --git a/src/bower_components/emby-apiclient/sync/multiserversync.js b/src/bower_components/apiclient/sync/multiserversync.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/multiserversync.js rename to src/bower_components/apiclient/sync/multiserversync.js diff --git a/src/bower_components/emby-apiclient/sync/serversync.js b/src/bower_components/apiclient/sync/serversync.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/serversync.js rename to src/bower_components/apiclient/sync/serversync.js diff --git a/src/bower_components/emby-apiclient/sync/transfermanager.js b/src/bower_components/apiclient/sync/transfermanager.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/transfermanager.js rename to src/bower_components/apiclient/sync/transfermanager.js diff --git a/src/bower_components/emby-apiclient/sync/useractionrepository.js b/src/bower_components/apiclient/sync/useractionrepository.js similarity index 100% rename from src/bower_components/emby-apiclient/sync/useractionrepository.js rename to src/bower_components/apiclient/sync/useractionrepository.js From 9c758a8d852b74280ff7b23d970494a51c9c3e67 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Sun, 24 Feb 2019 20:07:41 +0000 Subject: [PATCH 02/16] module resolution for appRouter and moved controllers to dir --- src/components/{router.js => appRouter.js} | 12 +- src/{scripts => controllers}/addpluginpage.js | 0 src/{scripts => controllers}/addserver.js | 0 .../dashboardgeneral.js | 0 .../dashboardhosting.js | 0 src/{scripts => controllers}/dashboardpage.js | 0 src/{devices => controllers}/device.js | 0 src/{devices => controllers}/devices.js | 0 .../edititemmetadata.js | 0 src/{home => controllers}/favorites.js | 0 .../forgotpassword.js | 0 .../forgotpasswordpin.js | 0 src/{home => controllers}/home.js | 4 +- src/{home => controllers}/hometab.js | 0 .../itemdetailpage.js | 0 .../librarydisplay.js | 0 .../librarysettings.js | 0 src/{list => controllers}/list.js | 0 .../livetvseriestimers.js | 0 .../livetvsuggested.js | 0 src/{dashboard => controllers}/livetvtuner.js | 0 src/{scripts => controllers}/loginpage.js | 0 src/{dashboard => controllers}/logpage.js | 0 .../moviesrecommended.js | 0 .../musicrecommended.js | 0 .../mypreferencescommon.js | 0 .../mypreferencesdisplay.js | 0 .../mypreferenceshome.js | 0 .../mypreferenceslanguages.js | 0 .../mypreferencessubtitles.js | 0 src/{scripts => controllers}/myprofile.js | 2 +- .../notificationsettings.js | 0 .../nowplayingpage.js | 0 .../plugincatalogpage.js | 0 .../scheduledtaskpage.js | 0 .../scheduledtaskspage.js | 0 src/{scripts => controllers}/searchpage.js | 0 src/{scripts => controllers}/selectserver.js | 0 .../serveractivity.js | 0 src/{scripts => controllers}/tvrecommended.js | 0 .../userpasswordpage.js | 0 src/{scripts => controllers}/videoosd.js | 0 .../wizardfinishpage.js | 0 .../wizardremoteaccess.js | 0 .../wizardsettings.js | 0 src/{dashboard => controllers}/wizardstart.js | 0 .../wizarduserpage.js | 0 src/scripts/routes.js | 450 +++++++++++++++ src/scripts/site.js | 526 +----------------- 49 files changed, 464 insertions(+), 530 deletions(-) rename src/components/{router.js => appRouter.js} (99%) rename src/{scripts => controllers}/addpluginpage.js (100%) rename src/{scripts => controllers}/addserver.js (100%) rename src/{dashboard => controllers}/dashboardgeneral.js (100%) rename src/{dashboard => controllers}/dashboardhosting.js (100%) rename src/{scripts => controllers}/dashboardpage.js (100%) rename src/{devices => controllers}/device.js (100%) rename src/{devices => controllers}/devices.js (100%) rename src/{scripts => controllers}/edititemmetadata.js (100%) rename src/{home => controllers}/favorites.js (100%) rename src/{scripts => controllers}/forgotpassword.js (100%) rename src/{scripts => controllers}/forgotpasswordpin.js (100%) rename src/{home => controllers}/home.js (94%) rename src/{home => controllers}/hometab.js (100%) rename src/{scripts => controllers}/itemdetailpage.js (100%) rename src/{dashboard => controllers}/librarydisplay.js (100%) rename src/{dashboard => controllers}/librarysettings.js (100%) rename src/{list => controllers}/list.js (100%) rename src/{scripts => controllers}/livetvseriestimers.js (100%) rename src/{scripts => controllers}/livetvsuggested.js (100%) rename src/{dashboard => controllers}/livetvtuner.js (100%) rename src/{scripts => controllers}/loginpage.js (100%) rename src/{dashboard => controllers}/logpage.js (100%) rename src/{scripts => controllers}/moviesrecommended.js (100%) rename src/{scripts => controllers}/musicrecommended.js (100%) rename src/{scripts => controllers}/mypreferencescommon.js (100%) rename src/{scripts => controllers}/mypreferencesdisplay.js (100%) rename src/{scripts => controllers}/mypreferenceshome.js (100%) rename src/{scripts => controllers}/mypreferenceslanguages.js (100%) rename src/{scripts => controllers}/mypreferencessubtitles.js (100%) rename src/{scripts => controllers}/myprofile.js (97%) rename src/{scripts => controllers}/notificationsettings.js (100%) rename src/{scripts => controllers}/nowplayingpage.js (100%) rename src/{scripts => controllers}/plugincatalogpage.js (100%) rename src/{scripts => controllers}/scheduledtaskpage.js (100%) rename src/{scripts => controllers}/scheduledtaskspage.js (100%) rename src/{scripts => controllers}/searchpage.js (100%) rename src/{scripts => controllers}/selectserver.js (100%) rename src/{dashboard => controllers}/serveractivity.js (100%) rename src/{scripts => controllers}/tvrecommended.js (100%) rename src/{scripts => controllers}/userpasswordpage.js (100%) rename src/{scripts => controllers}/videoosd.js (100%) rename src/{dashboard => controllers}/wizardfinishpage.js (100%) rename src/{dashboard => controllers}/wizardremoteaccess.js (100%) rename src/{dashboard => controllers}/wizardsettings.js (100%) rename src/{dashboard => controllers}/wizardstart.js (100%) rename src/{scripts => controllers}/wizarduserpage.js (100%) create mode 100644 src/scripts/routes.js diff --git a/src/components/router.js b/src/components/appRouter.js similarity index 99% rename from src/components/router.js rename to src/components/appRouter.js index e2ae62e75b..58c2a3842c 100644 --- a/src/components/router.js +++ b/src/components/appRouter.js @@ -125,13 +125,11 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM sendRouteToViewManager(ctx, next, route, controllerFactory); }; - require(route.dependencies || [], function () { - if (route.controller) { - require([route.controller], onInitComplete); - } else { - onInitComplete(); - } - }); + if (route.controller) { + require([`controllers/${route.controller}`], onInitComplete); + } else { + onInitComplete(); + } } function cancelCurrentLoadRequest() { diff --git a/src/scripts/addpluginpage.js b/src/controllers/addpluginpage.js similarity index 100% rename from src/scripts/addpluginpage.js rename to src/controllers/addpluginpage.js diff --git a/src/scripts/addserver.js b/src/controllers/addserver.js similarity index 100% rename from src/scripts/addserver.js rename to src/controllers/addserver.js diff --git a/src/dashboard/dashboardgeneral.js b/src/controllers/dashboardgeneral.js similarity index 100% rename from src/dashboard/dashboardgeneral.js rename to src/controllers/dashboardgeneral.js diff --git a/src/dashboard/dashboardhosting.js b/src/controllers/dashboardhosting.js similarity index 100% rename from src/dashboard/dashboardhosting.js rename to src/controllers/dashboardhosting.js diff --git a/src/scripts/dashboardpage.js b/src/controllers/dashboardpage.js similarity index 100% rename from src/scripts/dashboardpage.js rename to src/controllers/dashboardpage.js diff --git a/src/devices/device.js b/src/controllers/device.js similarity index 100% rename from src/devices/device.js rename to src/controllers/device.js diff --git a/src/devices/devices.js b/src/controllers/devices.js similarity index 100% rename from src/devices/devices.js rename to src/controllers/devices.js diff --git a/src/scripts/edititemmetadata.js b/src/controllers/edititemmetadata.js similarity index 100% rename from src/scripts/edititemmetadata.js rename to src/controllers/edititemmetadata.js diff --git a/src/home/favorites.js b/src/controllers/favorites.js similarity index 100% rename from src/home/favorites.js rename to src/controllers/favorites.js diff --git a/src/scripts/forgotpassword.js b/src/controllers/forgotpassword.js similarity index 100% rename from src/scripts/forgotpassword.js rename to src/controllers/forgotpassword.js diff --git a/src/scripts/forgotpasswordpin.js b/src/controllers/forgotpasswordpin.js similarity index 100% rename from src/scripts/forgotpasswordpin.js rename to src/controllers/forgotpasswordpin.js diff --git a/src/home/home.js b/src/controllers/home.js similarity index 94% rename from src/home/home.js rename to src/controllers/home.js index 57b2e38bf8..0ab31f291d 100644 --- a/src/home/home.js +++ b/src/controllers/home.js @@ -24,10 +24,10 @@ define(["tabbedView", "globalize", "require", "emby-tabs", "emby-button", "emby- var depends = []; switch (index) { case 0: - depends.push("./hometab"); + depends.push("controllers/hometab"); break; case 1: - depends.push("./favorites") + depends.push("controllers/favorites") } var instance = this; return getRequirePromise(depends).then(function(controllerFactory) { diff --git a/src/home/hometab.js b/src/controllers/hometab.js similarity index 100% rename from src/home/hometab.js rename to src/controllers/hometab.js diff --git a/src/scripts/itemdetailpage.js b/src/controllers/itemdetailpage.js similarity index 100% rename from src/scripts/itemdetailpage.js rename to src/controllers/itemdetailpage.js diff --git a/src/dashboard/librarydisplay.js b/src/controllers/librarydisplay.js similarity index 100% rename from src/dashboard/librarydisplay.js rename to src/controllers/librarydisplay.js diff --git a/src/dashboard/librarysettings.js b/src/controllers/librarysettings.js similarity index 100% rename from src/dashboard/librarysettings.js rename to src/controllers/librarysettings.js diff --git a/src/list/list.js b/src/controllers/list.js similarity index 100% rename from src/list/list.js rename to src/controllers/list.js diff --git a/src/scripts/livetvseriestimers.js b/src/controllers/livetvseriestimers.js similarity index 100% rename from src/scripts/livetvseriestimers.js rename to src/controllers/livetvseriestimers.js diff --git a/src/scripts/livetvsuggested.js b/src/controllers/livetvsuggested.js similarity index 100% rename from src/scripts/livetvsuggested.js rename to src/controllers/livetvsuggested.js diff --git a/src/dashboard/livetvtuner.js b/src/controllers/livetvtuner.js similarity index 100% rename from src/dashboard/livetvtuner.js rename to src/controllers/livetvtuner.js diff --git a/src/scripts/loginpage.js b/src/controllers/loginpage.js similarity index 100% rename from src/scripts/loginpage.js rename to src/controllers/loginpage.js diff --git a/src/dashboard/logpage.js b/src/controllers/logpage.js similarity index 100% rename from src/dashboard/logpage.js rename to src/controllers/logpage.js diff --git a/src/scripts/moviesrecommended.js b/src/controllers/moviesrecommended.js similarity index 100% rename from src/scripts/moviesrecommended.js rename to src/controllers/moviesrecommended.js diff --git a/src/scripts/musicrecommended.js b/src/controllers/musicrecommended.js similarity index 100% rename from src/scripts/musicrecommended.js rename to src/controllers/musicrecommended.js diff --git a/src/scripts/mypreferencescommon.js b/src/controllers/mypreferencescommon.js similarity index 100% rename from src/scripts/mypreferencescommon.js rename to src/controllers/mypreferencescommon.js diff --git a/src/scripts/mypreferencesdisplay.js b/src/controllers/mypreferencesdisplay.js similarity index 100% rename from src/scripts/mypreferencesdisplay.js rename to src/controllers/mypreferencesdisplay.js diff --git a/src/scripts/mypreferenceshome.js b/src/controllers/mypreferenceshome.js similarity index 100% rename from src/scripts/mypreferenceshome.js rename to src/controllers/mypreferenceshome.js diff --git a/src/scripts/mypreferenceslanguages.js b/src/controllers/mypreferenceslanguages.js similarity index 100% rename from src/scripts/mypreferenceslanguages.js rename to src/controllers/mypreferenceslanguages.js diff --git a/src/scripts/mypreferencessubtitles.js b/src/controllers/mypreferencessubtitles.js similarity index 100% rename from src/scripts/mypreferencessubtitles.js rename to src/controllers/mypreferencessubtitles.js diff --git a/src/scripts/myprofile.js b/src/controllers/myprofile.js similarity index 97% rename from src/scripts/myprofile.js rename to src/controllers/myprofile.js index 7554b302e8..45f099593d 100644 --- a/src/scripts/myprofile.js +++ b/src/controllers/myprofile.js @@ -1,4 +1,4 @@ -define(["scripts/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-linkbutton"], function (Userpasswordpage, loading, libraryMenu, appHost) { +define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-linkbutton"], function (Userpasswordpage, loading, libraryMenu, appHost) { "use strict"; function reloadUser(page) { diff --git a/src/scripts/notificationsettings.js b/src/controllers/notificationsettings.js similarity index 100% rename from src/scripts/notificationsettings.js rename to src/controllers/notificationsettings.js diff --git a/src/scripts/nowplayingpage.js b/src/controllers/nowplayingpage.js similarity index 100% rename from src/scripts/nowplayingpage.js rename to src/controllers/nowplayingpage.js diff --git a/src/scripts/plugincatalogpage.js b/src/controllers/plugincatalogpage.js similarity index 100% rename from src/scripts/plugincatalogpage.js rename to src/controllers/plugincatalogpage.js diff --git a/src/scripts/scheduledtaskpage.js b/src/controllers/scheduledtaskpage.js similarity index 100% rename from src/scripts/scheduledtaskpage.js rename to src/controllers/scheduledtaskpage.js diff --git a/src/scripts/scheduledtaskspage.js b/src/controllers/scheduledtaskspage.js similarity index 100% rename from src/scripts/scheduledtaskspage.js rename to src/controllers/scheduledtaskspage.js diff --git a/src/scripts/searchpage.js b/src/controllers/searchpage.js similarity index 100% rename from src/scripts/searchpage.js rename to src/controllers/searchpage.js diff --git a/src/scripts/selectserver.js b/src/controllers/selectserver.js similarity index 100% rename from src/scripts/selectserver.js rename to src/controllers/selectserver.js diff --git a/src/dashboard/serveractivity.js b/src/controllers/serveractivity.js similarity index 100% rename from src/dashboard/serveractivity.js rename to src/controllers/serveractivity.js diff --git a/src/scripts/tvrecommended.js b/src/controllers/tvrecommended.js similarity index 100% rename from src/scripts/tvrecommended.js rename to src/controllers/tvrecommended.js diff --git a/src/scripts/userpasswordpage.js b/src/controllers/userpasswordpage.js similarity index 100% rename from src/scripts/userpasswordpage.js rename to src/controllers/userpasswordpage.js diff --git a/src/scripts/videoosd.js b/src/controllers/videoosd.js similarity index 100% rename from src/scripts/videoosd.js rename to src/controllers/videoosd.js diff --git a/src/dashboard/wizardfinishpage.js b/src/controllers/wizardfinishpage.js similarity index 100% rename from src/dashboard/wizardfinishpage.js rename to src/controllers/wizardfinishpage.js diff --git a/src/dashboard/wizardremoteaccess.js b/src/controllers/wizardremoteaccess.js similarity index 100% rename from src/dashboard/wizardremoteaccess.js rename to src/controllers/wizardremoteaccess.js diff --git a/src/dashboard/wizardsettings.js b/src/controllers/wizardsettings.js similarity index 100% rename from src/dashboard/wizardsettings.js rename to src/controllers/wizardsettings.js diff --git a/src/dashboard/wizardstart.js b/src/controllers/wizardstart.js similarity index 100% rename from src/dashboard/wizardstart.js rename to src/controllers/wizardstart.js diff --git a/src/scripts/wizarduserpage.js b/src/controllers/wizarduserpage.js similarity index 100% rename from src/scripts/wizarduserpage.js rename to src/controllers/wizarduserpage.js diff --git a/src/scripts/routes.js b/src/scripts/routes.js new file mode 100644 index 0000000000..9a21dd02c8 --- /dev/null +++ b/src/scripts/routes.js @@ -0,0 +1,450 @@ +define([ + "emby-button", + "emby-input", + "scripts/livetvcomponents", + "paper-icon-button-light", + "emby-itemscontainer", + "emby-collapse", + "emby-select", + "livetvcss", + "emby-checkbox", + "emby-slider", + "listViewStyle", + "dashboardcss"], function () { + + function defineRoute(newRoute, dictionary) { + var baseRoute = Emby.Page.baseUrl(); + var path = newRoute.path; + path = path.replace(baseRoute, ""); + console.log("Defining route: " + path); + newRoute.dictionary = newRoute.dictionary || dictionary || "core"; + Emby.Page.addRoute(path, newRoute); + } + + console.log("Defining core routes"); + defineRoute({ + path: "/addplugin.html", + autoFocus: false, + roles: "admin", + controller: "addpluginpage" + }); + defineRoute({ + path: "/appservices.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/autoorganizelog.html", + roles: "admin" + }); + defineRoute({ + path: "/channelsettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/addserver.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "addserver" + }); + defineRoute({ + path: "/dashboard.html", + autoFocus: false, + roles: "admin", + controller: "dashboardpage" + }); + defineRoute({ + path: "/dashboardgeneral.html", + controller: "dashboardgeneral", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dashboardhosting.html", + autoFocus: false, + roles: "admin", + controller: "dashboardhosting" + }); + defineRoute({ + path: "/devices/devices.html", + autoFocus: false, + roles: "admin", + controller: "devices" + }); + defineRoute({ + path: "/devices/device.html", + autoFocus: false, + roles: "admin", + controller: "device" + }); + defineRoute({ + path: "/dlnaprofile.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dlnaprofiles.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dlnaserversettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dlnasettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/edititemmetadata.html", + controller: "edititemmetadata", + autoFocus: false + }); + defineRoute({ + path: "/encodingsettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/opensubtitles.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/forgotpassword.html", + anonymous: true, + startup: true, + controller: "forgotpassword" + }); + defineRoute({ + path: "/forgotpasswordpin.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "forgotpasswordpin" + }); + defineRoute({ + path: "/home.html", + autoFocus: false, + controller: "home", + transition: "fade", + type: "home" + }); + defineRoute({ + path: "/list/list.html", + autoFocus: false, + controller: "list", + transition: "fade" + }); + defineRoute({ + path: "/index.html", + autoFocus: false, + isDefaultRoute: true + }); + defineRoute({ + path: "/itemdetails.html", + controller: "itemdetailpage", + autoFocus: false, + transition: "fade" + }); + defineRoute({ + path: "/library.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/librarydisplay.html", + autoFocus: false, + roles: "admin", + controller: "librarydisplay" + }); + defineRoute({ + path: "/librarysettings.html", + autoFocus: false, + roles: "admin", + controller: "librarysettings" + }); + defineRoute({ + path: "/livetv.html", + controller: "livetvsuggested", + autoFocus: false, + transition: "fade" + }); + defineRoute({ + path: "/livetvguideprovider.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/livetvseriestimer.html", + autoFocus: false, + controller: "livetvseriestimer" + }); + defineRoute({ + path: "/livetvsettings.html", + autoFocus: false + }); + defineRoute({ + path: "/livetvstatus.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/livetvtuner.html", + autoFocus: false, + roles: "admin", + controller: "livetvtuner" + }); + defineRoute({ + path: "/log.html", + roles: "admin", + controller: "logpage" + }); + defineRoute({ + path: "/login.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "loginpage" + }); + defineRoute({ + path: "/metadataadvanced.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/metadataimages.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/metadatanfo.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/movies.html", + autoFocus: false, + controller: "moviesrecommended", + transition: "fade" + }); + defineRoute({ + path: "/music.html", + controller: "musicrecommended", + autoFocus: false, + transition: "fade" + }); + defineRoute({ + path: "/mypreferencesdisplay.html", + autoFocus: false, + transition: "fade", + controller: "mypreferencesdisplay" + }); + defineRoute({ + path: "/mypreferenceshome.html", + autoFocus: false, + transition: "fade", + controller: "mypreferenceshome" + }); + defineRoute({ + path: "/mypreferencessubtitles.html", + autoFocus: false, + transition: "fade", + controller: "mypreferencessubtitles" + }); + defineRoute({ + path: "/mypreferenceslanguages.html", + autoFocus: false, + transition: "fade", + controller: "mypreferenceslanguages" + }); + defineRoute({ + path: "/mypreferencesmenu.html", + autoFocus: false, + transition: "fade", + controller: "mypreferencescommon" + }); + defineRoute({ + path: "/myprofile.html", + autoFocus: false, + transition: "fade", + controller: "myprofile" + }); + defineRoute({ + path: "/notificationsetting.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/notificationsettings.html", + controller: "notificationsettings", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/nowplaying.html", + controller: "nowplayingpage", + autoFocus: false, + transition: "fade", + fullscreen: true, + supportsThemeMedia: true, + enableMediaControl: false + }); + defineRoute({ + path: "/playbackconfiguration.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/plugincatalog.html", + autoFocus: false, + roles: "admin", + controller: "plugincatalogpage" + }); + defineRoute({ + path: "/plugins.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/scheduledtask.html", + autoFocus: false, + roles: "admin", + controller: "scheduledtaskpage" + }); + defineRoute({ + path: "/scheduledtasks.html", + autoFocus: false, + roles: "admin", + controller: "scheduledtaskspage" + }); + defineRoute({ + path: "/search.html", + controller: "searchpage" + }); + defineRoute({ + path: "/selectserver.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "selectserver" + }); + defineRoute({ + path: "/serveractivity.html", + autoFocus: false, + roles: "admin", + controller: "serveractivity" + }); + defineRoute({ + path: "/serversecurity.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/streamingsettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/support.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/tv.html", + autoFocus: false, + controller: "tvrecommended", + transition: "fade" + }); + defineRoute({ + path: "/useredit.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/userlibraryaccess.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/usernew.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/userparentalcontrol.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/userpassword.html", + autoFocus: false, + controller: "userpasswordpage" + }); + defineRoute({ + path: "/userprofiles.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/wizardremoteaccess.html", + autoFocus: false, + anonymous: true, + controller: "wizardremoteaccess" + }); + defineRoute({ + path: "/wizardfinish.html", + autoFocus: false, + anonymous: true, + controller: "wizardfinishpage" + }); + defineRoute({ + path: "/wizardlibrary.html", + autoFocus: false, + anonymous: true + }); + defineRoute({ + path: "/wizardsettings.html", + autoFocus: false, + anonymous: true, + controller: "wizardsettings" + }); + defineRoute({ + path: "/wizardstart.html", + autoFocus: false, + anonymous: true, + controller: "wizardstart" + }); + defineRoute({ + path: "/wizarduser.html", + controller: "wizarduserpage", + autoFocus: false, + anonymous: true + }); + defineRoute({ + path: "/videoosd.html", + transition: "fade", + controller: "videoosd", + autoFocus: false, + type: "video-osd", + supportsThemeMedia: true, + fullscreen: true, + enableMediaControl: false + }); + defineRoute({ + path: "/configurationpage", + autoFocus: false, + enableCache: false, + enableContentQueryString: true, + roles: "admin" + }); + defineRoute({ + path: "/", + isDefaultRoute: true, + autoFocus: false, + }); +}); \ No newline at end of file diff --git a/src/scripts/site.js b/src/scripts/site.js index ae9e04553c..7aab18880b 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -426,7 +426,7 @@ var AppInfo = {}; function initRequireWithBrowser(browser) { var bowerPath = getBowerPath(); - var apiClientBowerPath = bowerPath + "/emby-apiclient"; + var apiClientBowerPath = bowerPath + "/apiclient"; var componentsPath = "components"; define("filesystem", [componentsPath + "/filesystem"], returnFirstDependency); @@ -439,12 +439,7 @@ var AppInfo = {}; define("shell", [componentsPath + "/shell"], returnFirstDependency); - if ("cordova" === self.appMode || "android" === self.appMode) { - define("apiclientcore", ["bower_components/emby-apiclient/apiclient"], returnFirstDependency); - define("apiclient", ["bower_components/emby-apiclient/apiclientex"], returnFirstDependency); - } else { - define("apiclient", ["bower_components/emby-apiclient/apiclient"], returnFirstDependency); - } + define("apiclient", ["bower_components/apiclient/apiclient"], returnFirstDependency); if ("registerElement" in document) { define("registerElement", []); @@ -575,514 +570,6 @@ var AppInfo = {}; }); } - function defineRoute(newRoute, dictionary) { - var baseRoute = Emby.Page.baseUrl(); - var path = newRoute.path; - path = path.replace(baseRoute, ""); - console.log("Defining route: " + path); - newRoute.dictionary = newRoute.dictionary || dictionary || "core"; - Emby.Page.addRoute(path, newRoute); - } - - function defineCoreRoutes(appHost) { - console.log("Defining core routes"); - defineRoute({ - path: "/addplugin.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "scripts/addpluginpage" - }); - defineRoute({ - path: "/autoorganizelog.html", - dependencies: [], - roles: "admin" - }); - defineRoute({ - path: "/channelsettings.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/addserver.html", - dependencies: ["emby-button", "emby-input"], - autoFocus: false, - anonymous: true, - startup: true, - controller: "scripts/addserver" - }); - defineRoute({ - path: "/dashboard.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "scripts/dashboardpage" - }); - defineRoute({ - path: "/dashboardgeneral.html", - controller: "dashboard/dashboardgeneral", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dashboardhosting.html", - dependencies: ["emby-input", "emby-button"], - autoFocus: false, - roles: "admin", - controller: "dashboard/dashboardhosting" - }); - defineRoute({ - path: "/devices/devices.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "devices/devices" - }); - defineRoute({ - path: "/devices/device.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "devices/device" - }); - defineRoute({ - path: "/dlnaprofile.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dlnaprofiles.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dlnaserversettings.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dlnasettings.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/edititemmetadata.html", - dependencies: [], - controller: "scripts/edititemmetadata", - autoFocus: false - }); - defineRoute({ - path: "/encodingsettings.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/forgotpassword.html", - dependencies: ["emby-input", "emby-button"], - anonymous: true, - startup: true, - controller: "scripts/forgotpassword" - }); - defineRoute({ - path: "/forgotpasswordpin.html", - dependencies: ["emby-input", "emby-button"], - autoFocus: false, - anonymous: true, - startup: true, - controller: "scripts/forgotpasswordpin" - }); - defineRoute({ - path: "/home.html", - dependencies: [], - autoFocus: false, - controller: "home/home", - transition: "fade", - type: "home" - }); - defineRoute({ - path: "/list/list.html", - dependencies: [], - autoFocus: false, - controller: "list/list", - transition: "fade" - }); - defineRoute({ - path: "/index.html", - dependencies: [], - autoFocus: false, - isDefaultRoute: true - }); - defineRoute({ - path: "/itemdetails.html", - dependencies: ["emby-button", "scripts/livetvcomponents", "paper-icon-button-light", "emby-itemscontainer"], - controller: "scripts/itemdetailpage", - autoFocus: false, - transition: "fade" - }); - defineRoute({ - path: "/library.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/librarydisplay.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "dashboard/librarydisplay" - }); - defineRoute({ - path: "/librarysettings.html", - dependencies: ["emby-collapse", "emby-input", "emby-button", "emby-select"], - autoFocus: false, - roles: "admin", - controller: "dashboard/librarysettings" - }); - defineRoute({ - path: "/livetv.html", - dependencies: ["emby-button", "livetvcss"], - controller: "scripts/livetvsuggested", - autoFocus: false, - transition: "fade" - }); - defineRoute({ - path: "/livetvguideprovider.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/livetvseriestimer.html", - dependencies: ["emby-checkbox", "emby-input", "emby-button", "emby-collapse", "scripts/livetvcomponents", "scripts/livetvseriestimer", "livetvcss"], - autoFocus: false, - controller: "scripts/livetvseriestimer" - }); - defineRoute({ - path: "/livetvsettings.html", - dependencies: [], - autoFocus: false - }); - defineRoute({ - path: "/livetvstatus.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/livetvtuner.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "dashboard/livetvtuner" - }); - defineRoute({ - path: "/log.html", - dependencies: ["emby-checkbox"], - roles: "admin", - controller: "dashboard/logpage" - }); - defineRoute({ - path: "/login.html", - dependencies: ["emby-button", "emby-input"], - autoFocus: false, - anonymous: true, - startup: true, - controller: "scripts/loginpage" - }); - defineRoute({ - path: "/metadataadvanced.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/metadataimages.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/metadatanfo.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/movies.html", - dependencies: ["emby-button"], - autoFocus: false, - controller: "scripts/moviesrecommended", - transition: "fade" - }); - defineRoute({ - path: "/music.html", - dependencies: [], - controller: "scripts/musicrecommended", - autoFocus: false, - transition: "fade" - }); - defineRoute({ - path: "/mypreferencesdisplay.html", - dependencies: ["emby-checkbox", "emby-button", "emby-select"], - autoFocus: false, - transition: "fade", - controller: "scripts/mypreferencesdisplay" - }); - defineRoute({ - path: "/mypreferenceshome.html", - dependencies: [], - autoFocus: false, - transition: "fade", - controller: "scripts/mypreferenceshome" - }); - defineRoute({ - path: "/mypreferencessubtitles.html", - dependencies: [], - autoFocus: false, - transition: "fade", - controller: "scripts/mypreferencessubtitles" - }); - defineRoute({ - path: "/mypreferenceslanguages.html", - dependencies: ["emby-button", "emby-checkbox", "emby-select"], - autoFocus: false, - transition: "fade", - controller: "scripts/mypreferenceslanguages" - }); - defineRoute({ - path: "/mypreferencesmenu.html", - dependencies: ["emby-button"], - autoFocus: false, - transition: "fade", - controller: "scripts/mypreferencescommon" - }); - defineRoute({ - path: "/myprofile.html", - dependencies: ["emby-button", "emby-collapse", "emby-checkbox", "emby-input"], - autoFocus: false, - transition: "fade", - controller: "scripts/myprofile" - }); - defineRoute({ - path: "/notificationsetting.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/notificationsettings.html", - controller: "scripts/notificationsettings", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/nowplaying.html", - dependencies: ["paper-icon-button-light", "emby-slider", "emby-button", "emby-input", "emby-itemscontainer"], - controller: "scripts/nowplayingpage", - autoFocus: false, - transition: "fade", - fullscreen: true, - supportsThemeMedia: true, - enableMediaControl: false - }); - defineRoute({ - path: "/playbackconfiguration.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/plugincatalog.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "scripts/plugincatalogpage" - }); - defineRoute({ - path: "/plugins.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/scheduledtask.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "scripts/scheduledtaskpage" - }); - defineRoute({ - path: "/scheduledtasks.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "scripts/scheduledtaskspage" - }); - defineRoute({ - path: "/search.html", - dependencies: [], - controller: "scripts/searchpage" - }); - defineRoute({ - path: "/selectserver.html", - dependencies: ["listViewStyle", "emby-button"], - autoFocus: false, - anonymous: true, - startup: true, - controller: "scripts/selectserver" - }); - defineRoute({ - path: "/serveractivity.html", - dependencies: [], - autoFocus: false, - roles: "admin", - controller: "dashboard/serveractivity" - }); - defineRoute({ - path: "/serversecurity.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/streamingsettings.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/support.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/tv.html", - dependencies: ["paper-icon-button-light", "emby-button"], - autoFocus: false, - controller: "scripts/tvrecommended", - transition: "fade" - }); - defineRoute({ - path: "/useredit.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/userlibraryaccess.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/usernew.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/userparentalcontrol.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/userpassword.html", - dependencies: ["emby-input", "emby-button", "emby-checkbox"], - autoFocus: false, - controller: "scripts/userpasswordpage" - }); - defineRoute({ - path: "/userprofiles.html", - dependencies: [], - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/wizardremoteaccess.html", - dependencies: ["dashboardcss"], - autoFocus: false, - anonymous: true, - controller: "dashboard/wizardremoteaccess" - }); - defineRoute({ - path: "/wizardfinish.html", - dependencies: ["emby-button", "dashboardcss"], - autoFocus: false, - anonymous: true, - controller: "dashboard/wizardfinishpage" - }); - defineRoute({ - path: "/wizardlibrary.html", - dependencies: ["dashboardcss"], - autoFocus: false, - anonymous: true - }); - defineRoute({ - path: "/wizardsettings.html", - dependencies: ["dashboardcss"], - autoFocus: false, - anonymous: true, - controller: "dashboard/wizardsettings" - }); - defineRoute({ - path: "/wizardstart.html", - dependencies: ["dashboardcss"], - autoFocus: false, - anonymous: true, - controller: "dashboard/wizardstart" - }); - defineRoute({ - path: "/wizarduser.html", - dependencies: ["dashboardcss", "emby-input"], - controller: "scripts/wizarduserpage", - autoFocus: false, - anonymous: true - }); - defineRoute({ - path: "/videoosd.html", - dependencies: [], - transition: "fade", - controller: "scripts/videoosd", - autoFocus: false, - type: "video-osd", - supportsThemeMedia: true, - fullscreen: true, - enableMediaControl: false - }); - defineRoute({ - path: "/configurationpage", - dependencies: [], - autoFocus: false, - enableCache: false, - enableContentQueryString: true, - roles: "admin" - }); - defineRoute({ - path: "/", - isDefaultRoute: true, - autoFocus: false, - dependencies: [] - }); - } - - function getPluginPageContentPath() { - if (window.ApiClient) { - return ApiClient.getUrl("web/ConfigurationPage"); - } - - return null; - } - function loadPlugins(externalPlugins, appHost, browser, shell) { console.log("Loading installed plugins"); var list = [ @@ -1145,8 +632,7 @@ var AppInfo = {}; require(['appRouter', 'scripts/themeloader', 'libraryMenu'], function (pageObjects) { window.Emby.Page = pageObjects; - defineCoreRoutes(appHost); - + require(['scripts/routes'], function () { Emby.Page.start({ click: false, hashbang: true @@ -1238,7 +724,7 @@ var AppInfo = {}; (function () { var urlArgs = "v=" + (window.dashboardVersion || new Date().getDate()); var bowerPath = getBowerPath(); - var apiClientBowerPath = bowerPath + "/emby-apiclient"; + var apiClientBowerPath = bowerPath + "/apiclient"; var componentsPath = "components"; var paths = { velocity: bowerPath + "/velocity/velocity.min", @@ -1258,7 +744,7 @@ var AppInfo = {}; libraryBrowser: "scripts/librarybrowser", events: apiClientBowerPath + "/events", credentialprovider: apiClientBowerPath + "/credentials", - connectionManagerFactory: bowerPath + "/emby-apiclient/connectionmanager", + connectionManagerFactory: bowerPath + "/apiclient/connectionmanager", visibleinviewport: componentsPath + "/visibleinviewport", browserdeviceprofile: componentsPath + "/browserdeviceprofile", browser: componentsPath + "/browser", @@ -1511,7 +997,7 @@ var AppInfo = {}; return window.ApiClient; }; }); - define("appRouter", [componentsPath + "/router", "itemHelper"], function (appRouter, itemHelper) { + define("appRouter", [componentsPath + "/appRouter", "itemHelper"], function (appRouter, itemHelper) { function showItem(item, serverId, options) { if ("string" == typeof item) { require(["connectionManager"], function (connectionManager) { From be505da8acc4c64b650a3eb2e01f1c82468b12c2 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Sun, 24 Feb 2019 23:44:41 +0000 Subject: [PATCH 03/16] cleanup and module resolution in webpack for skinManager --- src/components/appRouter.js | 99 +---------------- src/components/skinmanager.js | 202 +++++++++------------------------- src/scripts/site.js | 58 +--------- 3 files changed, 55 insertions(+), 304 deletions(-) diff --git a/src/components/appRouter.js b/src/components/appRouter.js index 58c2a3842c..f34a6e0988 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -14,31 +14,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM }, showSettings: function () { show('/settings/settings.html'); - }, - showSearch: function () { - skinManager.getCurrentSkin().search(); - }, - showGenre: function (options) { - skinManager.getCurrentSkin().showGenre(options); - }, - showGuide: function () { - skinManager.getCurrentSkin().showGuide({ - serverId: connectionManager.currentApiClient().serverId() - }); - }, - showLiveTV: function () { - skinManager.getCurrentSkin().showLiveTV({ - serverId: connectionManager.currentApiClient().serverId() - }); - }, - showRecordedTV: function () { - skinManager.getCurrentSkin().showRecordedTV(); - }, - showFavorites: function () { - skinManager.getCurrentSkin().showFavorites(); - }, - showNowPlaying: function () { - skinManager.getCurrentSkin().showNowPlaying(); } }; @@ -435,12 +410,8 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM if (apiClient && apiClient.isLoggedIn()) { console.log('appRouter - user is authenticated'); - - if (ctx.isBack && (route.isDefaultRoute || route.startup) && !isCurrentRouteStartup) { - handleBackToDefault(); - return; - } - else if (route.isDefaultRoute) { + + if (route.isDefaultRoute) { console.log('appRouter - loading skin home page'); loadUserSkinWithOptions(ctx); return; @@ -499,30 +470,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM var isHandlingBackToDefault; var isDummyBackToHome; - function handleBackToDefault() { - - if (!appHost.supports('exitmenu') && appHost.supports('exit')) { - appHost.exit(); - return; - } - - isDummyBackToHome = true; - skinManager.loadUserSkin(); - - if (isHandlingBackToDefault) { - return; - } - - // This must result in a call to either - // skinManager.loadUserSkin(); - // Logout - // Or exit app - skinManager.getCurrentSkin().showBackMenu().then(function () { - - isHandlingBackToDefault = false; - }); - } - function loadContent(ctx, route, html, request) { html = globalize.translateDocument(html, route.dictionary); @@ -668,30 +615,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM return currentRouteInfo ? currentRouteInfo.route : null; } - function goHome() { - - var skin = skinManager.getCurrentSkin(); - - if (skin.getHomeRoute) { - var homePath = skin.getHomeRoute(); - return show(pluginManager.mapRoute(skin, homePath)); - } else { - var homeRoute = skin.getRoutes().filter(function (r) { - return r.type === 'home'; - })[0]; - - return show(pluginManager.mapRoute(skin, homeRoute)); - } - } - - function getRouteUrl(item, options) { - if (item === 'settings') { - return 'settings/settings.html'; - } - - return skinManager.getCurrentSkin().getRouteUrl(item, options); - } - function showItem(item, serverId, options) { if (typeof (item) === 'string') { @@ -712,20 +635,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM } } - function setTitle(title) { - skinManager.getCurrentSkin().setTitle(title); - } - - function showVideoOsd() { - var skin = skinManager.getCurrentSkin(); - - var homeRoute = skin.getRoutes().filter(function (r) { - return r.type === 'video-osd'; - })[0]; - - return show(pluginManager.mapRoute(skin, homeRoute)); - } - var allRoutes = []; function addRoute(path, newRoute) { @@ -832,15 +741,11 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM appRouter.canGoBack = canGoBack; appRouter.current = current; appRouter.beginConnectionWizard = beginConnectionWizard; - appRouter.goHome = goHome; appRouter.showItem = showItem; - appRouter.setTitle = setTitle; appRouter.setTransparency = setTransparency; appRouter.getRoutes = getRoutes; - appRouter.getRouteUrl = getRouteUrl; appRouter.pushState = pushState; appRouter.enableNativeHistory = enableNativeHistory; - appRouter.showVideoOsd = showVideoOsd; appRouter.handleAnchorClick = page.handleAnchorClick; appRouter.TransparencyLevel = { None: 0, diff --git a/src/components/skinmanager.js b/src/components/skinmanager.js index 8694467a53..555da63650 100644 --- a/src/components/skinmanager.js +++ b/src/components/skinmanager.js @@ -1,148 +1,9 @@ -define(['apphost', 'userSettings', 'browser', 'events', 'pluginManager', 'backdrop', 'globalize', 'require', 'appSettings'], function (appHost, userSettings, browser, events, pluginManager, backdrop, globalize, require, appSettings) { +define(['apphost', 'userSettings', 'browser', 'events', 'pluginManager', 'backdrop', 'globalize', 'require', 'appSettings', 'appRouter'], function (appHost, userSettings, browser, events, pluginManager, backdrop, globalize, require, appSettings, appRouter) { 'use strict'; - var currentSkin; - - function getCurrentSkin() { - return currentSkin; - } - - function getRequirePromise(deps) { - return new Promise(function (resolve, reject) { - require(deps, resolve); - }); - } - - function loadSkin(id) { - var newSkin = pluginManager.plugins().filter(function (p) { - return p.id === id; - })[0]; - - if (!newSkin) { - newSkin = pluginManager.plugins().filter(function (p) { - return p.id === 'defaultskin'; - })[0]; - } - - var unloadPromise; - - if (currentSkin) { - if (currentSkin.id === newSkin.id) { - // Nothing to do, it's already the active skin - return Promise.resolve(currentSkin); - } - unloadPromise = unloadSkin(currentSkin); - } else { - unloadPromise = Promise.resolve(); - } - - return unloadPromise.then(function () { - var deps = newSkin.getDependencies(); - - console.log('Loading skin dependencies'); - - return getRequirePromise(deps).then(function () { - - console.log('Skin dependencies loaded'); - - var strings = newSkin.getTranslations ? newSkin.getTranslations() : []; - - return globalize.loadStrings({ - - name: newSkin.id, - strings: strings - - }).then(function () { - - globalize.defaultModule(newSkin.id); - return loadSkinHeader(newSkin); - }); - }); - }); - } - - function unloadSkin(skin) { - - unloadTheme(); - backdrop.clear(); - - console.log('Unloading skin: ' + skin.name); - - // TODO: unload css - return skin.unload().then(function () { - document.dispatchEvent(new CustomEvent("skinunload", { - detail: { - name: skin.name - } - })); - }); - } - - function loadSkinHeader(skin) { - return getSkinHeader(skin).then(function (headerHtml) { - document.querySelector('.skinHeader').innerHTML = headerHtml; - - currentSkin = skin; - skin.load(); - - return skin; - }); - } - - var cacheParam = new Date().getTime(); - - function getSkinHeader(skin) { - - return new Promise(function (resolve, reject) { - - if (!skin.getHeaderTemplate) { - resolve(''); - return; - } - - var xhr = new XMLHttpRequest(); - - var url = skin.getHeaderTemplate(); - url += url.indexOf('?') === -1 ? '?' : '&'; - url += 'v=' + cacheParam; - - xhr.open('GET', url, true); - - xhr.onload = function (e) { - if (this.status < 400) { - resolve(this.response); - } else { - resolve(''); - } - }; - - xhr.send(); - }); - } - - function loadUserSkin(options) { - - var skin = userSettings.get('skin', false) || 'defaultskin'; - - loadSkin(skin).then(function (skin) { - - options = options || {}; - if (options.start) { - Emby.Page.invokeShortcut(options.start); - } else { - Emby.Page.goHome(); - } - }); - } - - events.on(userSettings, 'change', function (e, name) { - if (name === 'skin' || name === 'language') { - loadUserSkin(); - } - }); - var themeStyleElement; var currentThemeId; + function unloadTheme() { var elem = themeStyleElement; if (elem) { @@ -153,20 +14,61 @@ define(['apphost', 'userSettings', 'browser', 'events', 'pluginManager', 'backdr } } - function getThemes() { + function loadUserSkin(options) { + options = options || {}; - if (currentSkin.getThemes) { - return currentSkin.getThemes(); + if (options.start) { + appRouter.invokeShortcut(options.start); + } else { + appRouter.goHome(); } + }; - return []; - } + function getThemes() { + return [{ + name: "Apple TV", + id: "appletv" + }, { + name: "Blue Radiance", + id: "blueradiance" + }, { + name: "Dark", + id: "dark", + isDefault: true, + isDefaultServerDashboard: true + }, { + name: "Dark (green accent)", + id: "dark-green" + }, { + name: "Dark (red accent)", + id: "dark-red" + }, { + name: "Light", + id: "light" + }, { + name: "Light (blue accent)", + id: "light-blue" + }, { + name: "Light (green accent)", + id: "light-green" + }, { + name: "Light (pink accent)", + id: "light-pink" + }, { + name: "Light (purple accent)", + id: "light-purple" + }, { + name: "Light (red accent)", + id: "light-red" + }, { + name: "Windows Media Center", + id: "wmc" + }]; + }; var skinManager = { - getCurrentSkin: getCurrentSkin, - loadSkin: loadSkin, - loadUserSkin: loadUserSkin, - getThemes: getThemes + getThemes: getThemes, + loadUserSkin: loadUserSkin }; function getThemeStylesheetInfo(id, requiresRegistration, isDefaultProperty) { diff --git a/src/scripts/site.js b/src/scripts/site.js index 7aab18880b..58d242dc94 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -932,63 +932,7 @@ var AppInfo = {}; define("serverNotifications", [componentsPath + "/apiInput/apiInput"], returnFirstDependency); define("headroom-window", ["headroom"], createWindowHeadroom); define("appFooter-shared", ["appFooter"], createSharedAppFooter); - define("skinManager", [componentsPath + "/skinmanager"], function (skinManager) { - skinManager.loadUserSkin = function (options) { - require(["appRouter"], function (appRouter) { - options = options || {}; - - if (options.start) { - appRouter.invokeShortcut(options.start); - } else { - appRouter.goHome(); - } - }); - }; - - skinManager.getThemes = function () { - return [{ - name: "Apple TV", - id: "appletv" - }, { - name: "Blue Radiance", - id: "blueradiance" - }, { - name: "Dark", - id: "dark", - isDefault: true, - isDefaultServerDashboard: true - }, { - name: "Dark (green accent)", - id: "dark-green" - }, { - name: "Dark (red accent)", - id: "dark-red" - }, { - name: "Light", - id: "light" - }, { - name: "Light (blue accent)", - id: "light-blue" - }, { - name: "Light (green accent)", - id: "light-green" - }, { - name: "Light (pink accent)", - id: "light-pink" - }, { - name: "Light (purple accent)", - id: "light-purple" - }, { - name: "Light (red accent)", - id: "light-red" - }, { - name: "Windows Media Center", - id: "wmc" - }]; - }; - - return skinManager; - }); + define("skinManager", [componentsPath + "/skinManager"], returnFirstDependency); define("connectionManager", [], function () { return ConnectionManager; }); From 9ad29733bf102be1bdf22d589ac04256fb24494f Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Tue, 26 Feb 2019 23:28:16 +0000 Subject: [PATCH 04/16] refactor and module resolution for appStorage --- src/bower_components/apiclient/appStorage.js | 52 +++++++++++++++++++ .../apiclient/appstorage-cache.js | 23 -------- .../apiclient/appstorage-localstorage.js | 37 ------------- .../apiclient/appstorage-memory.js | 14 ----- src/scripts/site.js | 12 +---- 5 files changed, 53 insertions(+), 85 deletions(-) create mode 100644 src/bower_components/apiclient/appStorage.js delete mode 100644 src/bower_components/apiclient/appstorage-cache.js delete mode 100644 src/bower_components/apiclient/appstorage-localstorage.js delete mode 100644 src/bower_components/apiclient/appstorage-memory.js diff --git a/src/bower_components/apiclient/appStorage.js b/src/bower_components/apiclient/appStorage.js new file mode 100644 index 0000000000..a67ad5f559 --- /dev/null +++ b/src/bower_components/apiclient/appStorage.js @@ -0,0 +1,52 @@ +define([], function() { + "use strict"; + + function onCachePutFail(e) { + console.log(e); + } + + function updateCache(instance) { + if (instance.cache) { + instance.cache.put("data", new Response(JSON.stringify(instance.localData))).catch(onCachePutFail); + } + } + + function onCacheOpened(result) { + this.cache = result; + this.localData = {}; + } + + function MyStore() { + + this.setItem = function(name, value) { + localStorage.setItem(name, value); + + if (this.localData && this.localData[name] !== value) { + this.localData[name] = value; + updateCache(this); + } + }; + + this.getItem = function(name) { + return localStorage.getItem(name); + }; + + this.removeItem = function(name) { + localStorage.removeItem(name); + + if (this.localData) { + this.localData[name] = null; + delete this.localData[name]; + updateCache(this); + } + }; + + try { + self.caches && caches.open("embydata").then(onCacheOpened.bind(this)); + } catch (err) { + console.log("Error opening cache: " + err); + } + } + + return new MyStore; +}); \ No newline at end of file diff --git a/src/bower_components/apiclient/appstorage-cache.js b/src/bower_components/apiclient/appstorage-cache.js deleted file mode 100644 index 1f584f2a2b..0000000000 --- a/src/bower_components/apiclient/appstorage-cache.js +++ /dev/null @@ -1,23 +0,0 @@ -define([], function() { - "use strict"; - - function MyStore() {} - - function updateCache(instance) { - instance.cache.put("data", new Response(JSON.stringify(instance.localData))) - } - return MyStore.prototype.init = function() { - var instance = this; - return caches.open("embydata").then(function(result) { - instance.cache = result, instance.localData = {} - }) - }, MyStore.prototype.setItem = function(name, value) { - if (this.localData) { - this.localData[name] !== value && (this.localData[name] = value, updateCache(this)) - } - }, MyStore.prototype.getItem = function(name) { - if (this.localData) return this.localData[name] - }, MyStore.prototype.removeItem = function(name) { - this.localData && (this.localData[name] = null, delete this.localData[name], updateCache(this)) - }, new MyStore -}); \ No newline at end of file diff --git a/src/bower_components/apiclient/appstorage-localstorage.js b/src/bower_components/apiclient/appstorage-localstorage.js deleted file mode 100644 index 4baa82618e..0000000000 --- a/src/bower_components/apiclient/appstorage-localstorage.js +++ /dev/null @@ -1,37 +0,0 @@ -define([], function() { - "use strict"; - - function onCachePutFail(e) { - console.log(e) - } - - function updateCache(instance) { - var cache = instance.cache; - cache && cache.put("data", new Response(JSON.stringify(instance.localData))).catch(onCachePutFail) - } - - function onCacheOpened(result) { - this.cache = result, this.localData = {} - } - - function MyStore() { - try { - self.caches && caches.open("embydata").then(onCacheOpened.bind(this)) - } catch (err) { - console.log("Error opening cache: " + err) - } - } - return MyStore.prototype.setItem = function(name, value) { - localStorage.setItem(name, value); - var localData = this.localData; - if (localData) { - localData[name] !== value && (localData[name] = value, updateCache(this)) - } - }, MyStore.prototype.getItem = function(name) { - return localStorage.getItem(name) - }, MyStore.prototype.removeItem = function(name) { - localStorage.removeItem(name); - var localData = this.localData; - localData && (localData[name] = null, delete localData[name], updateCache(this)) - }, new MyStore -}); \ No newline at end of file diff --git a/src/bower_components/apiclient/appstorage-memory.js b/src/bower_components/apiclient/appstorage-memory.js deleted file mode 100644 index 75aab19923..0000000000 --- a/src/bower_components/apiclient/appstorage-memory.js +++ /dev/null @@ -1,14 +0,0 @@ -define([], function() { - "use strict"; - - function MyStore() { - this.localData = {} - } - return MyStore.prototype.setItem = function(name, value) { - this.localData[name] = value - }, MyStore.prototype.getItem = function(name) { - return this.localData[name] - }, MyStore.prototype.removeItem = function(name) { - this.localData[name] = null - }, new MyStore -}); \ No newline at end of file diff --git a/src/scripts/site.js b/src/scripts/site.js index 58d242dc94..d960ccb40d 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -357,16 +357,6 @@ var AppInfo = {}; return layoutManager; } - function getAppStorage(basePath) { - try { - localStorage.setItem("_test", "0"); - localStorage.removeItem("_test"); - return basePath + "/appstorage-localstorage"; - } catch (e) { - return basePath + "/appstorage-memory"; - } - } - function createWindowHeadroom(Headroom) { var headroom = new Headroom([], {}); headroom.init(); @@ -858,7 +848,7 @@ var AppInfo = {}; }); paths.apphost = "components/apphost"; - paths.appStorage = getAppStorage(apiClientBowerPath); + define('appStorage', [apiClientBowerPath + '/appStorage'], returnFirstDependency); requirejs.config({ waitSeconds: 0, From 32d9a1549d7d8d041f238fe00bba0cc21f5913c0 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Wed, 27 Feb 2019 00:10:31 +0000 Subject: [PATCH 05/16] removed all unecessary polifys --- src/components/polyfills/array.js | 25 ------------------- src/components/polyfills/bind.js | 27 --------------------- src/components/polyfills/objectassign.js | 23 ------------------ src/components/polyfills/raf.js | 31 ------------------------ src/scripts/site.js | 20 --------------- 5 files changed, 126 deletions(-) delete mode 100644 src/components/polyfills/array.js delete mode 100644 src/components/polyfills/bind.js delete mode 100644 src/components/polyfills/objectassign.js delete mode 100644 src/components/polyfills/raf.js diff --git a/src/components/polyfills/array.js b/src/components/polyfills/array.js deleted file mode 100644 index 5caea62e3b..0000000000 --- a/src/components/polyfills/array.js +++ /dev/null @@ -1,25 +0,0 @@ -if (!Array.prototype.filter) { - Array.prototype.filter = function (fun /*, thisp*/) { - "use strict"; - - if (this == null) - throw new TypeError(); - - var t = Object(this); - var len = t.length >>> 0; - if (typeof fun != "function") - throw new TypeError(); - - var res = []; - var thisp = arguments[1]; - for (var i = 0; i < len; i++) { - if (i in t) { - var val = t[i]; // in case fun mutates this - if (fun.call(thisp, val, i, t)) - res.push(val); - } - } - - return res; - }; -} \ No newline at end of file diff --git a/src/components/polyfills/bind.js b/src/components/polyfills/bind.js deleted file mode 100644 index 82495aa103..0000000000 --- a/src/components/polyfills/bind.js +++ /dev/null @@ -1,27 +0,0 @@ -if (!Function.prototype.bind) { - Function.prototype.bind = function (oThis) { - if (typeof this !== 'function') { - // closest thing possible to the ECMAScript 5 - // internal IsCallable function - throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); - } - - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function () { }, - fBound = function () { - return fToBind.apply(this instanceof fNOP - ? this - : oThis, - aArgs.concat(Array.prototype.slice.call(arguments))); - }; - - if (this.prototype) { - // Function.prototype doesn't have a prototype property - fNOP.prototype = this.prototype; - } - fBound.prototype = new fNOP(); - - return fBound; - }; -} \ No newline at end of file diff --git a/src/components/polyfills/objectassign.js b/src/components/polyfills/objectassign.js deleted file mode 100644 index 2ea96b188d..0000000000 --- a/src/components/polyfills/objectassign.js +++ /dev/null @@ -1,23 +0,0 @@ -if (typeof Object.assign != 'function') { - (function () { - Object.assign = function (target) { - 'use strict'; - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - - var output = Object(target); - for (var index = 1; index < arguments.length; index++) { - var source = arguments[index]; - if (source !== undefined && source !== null) { - for (var nextKey in source) { - if (source.hasOwnProperty(nextKey)) { - output[nextKey] = source[nextKey]; - } - } - } - } - return output; - }; - })(); -} \ No newline at end of file diff --git a/src/components/polyfills/raf.js b/src/components/polyfills/raf.js deleted file mode 100644 index 2c7c433329..0000000000 --- a/src/components/polyfills/raf.js +++ /dev/null @@ -1,31 +0,0 @@ -// http://paulirish.com/2011/requestanimationframe-for-smart-animating/ -// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating - -// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel - -// MIT license - -(function () { - var lastTime = 0; - var vendors = ['ms', 'moz', 'webkit', 'o']; - for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { - window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']; - window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] - || window[vendors[x] + 'CancelRequestAnimationFrame']; - } - - if (!window.requestAnimationFrame) - window.requestAnimationFrame = function (callback, element) { - var currTime = new Date().getTime(); - var timeToCall = Math.max(0, 16 - (currTime - lastTime)); - var id = window.setTimeout(function () { callback(currTime + timeToCall); }, - timeToCall); - lastTime = currTime + timeToCall; - return id; - }; - - if (!window.cancelAnimationFrame) - window.cancelAnimationFrame = function (id) { - clearTimeout(id); - }; -}()); \ No newline at end of file diff --git a/src/scripts/site.js b/src/scripts/site.js index d960ccb40d..05770be6ae 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -491,22 +491,6 @@ var AppInfo = {}; promises.push(require(["fetch"])); } - if ("function" != typeof Object.assign) { - promises.push(require(["objectassign"])); - } - - if (!Array.prototype.filter) { - promises.push(require(["arraypolyfills"])); - } - - if (!Function.prototype.bind) { - promises.push(require(["functionbind"])); - } - - if (!window.requestAnimationFrame) { - promises.push(require(["raf"])); - } - Promise.all(promises).then(function () { createConnectionManager().then(function () { console.log("initAfterDependencies promises resolved"); @@ -867,10 +851,6 @@ var AppInfo = {}; define("dashboardcss", ["css!css/dashboard"], returnFirstDependency); define("slideshow", [componentsPath + "/slideshow/slideshow"], returnFirstDependency); define("fetch", [bowerPath + "/fetch/fetch"], returnFirstDependency); - define("raf", [componentsPath + "/polyfills/raf"], returnFirstDependency); - define("functionbind", [componentsPath + "/polyfills/bind"], returnFirstDependency); - define("arraypolyfills", [componentsPath + "/polyfills/array"], returnFirstDependency); - define("objectassign", [componentsPath + "/polyfills/objectassign"], returnFirstDependency); define("clearButtonStyle", ["css!" + componentsPath + "/clearbutton"], returnFirstDependency); define("userdataButtons", [componentsPath + "/userdatabuttons/userdatabuttons"], returnFirstDependency); define("emby-playstatebutton", [componentsPath + "/userdatabuttons/emby-playstatebutton"], returnFirstDependency); From f54a751a9d9d5936da8f5fccbee708e284bc46ef Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Wed, 27 Feb 2019 00:20:20 +0000 Subject: [PATCH 06/16] module resolution for autoPlayDetect --- src/scripts/site.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/site.js b/src/scripts/site.js index 05770be6ae..d450aeaa01 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -732,7 +732,7 @@ var AppInfo = {}; itemHelper: componentsPath + "/itemhelper", itemShortcuts: componentsPath + "/shortcuts", playQueueManager: componentsPath + "/playback/playqueuemanager", - autoPlayDetect: componentsPath + "/playback/autoplaydetect", + autoPlayDetect: componentsPath + "/playback/autoPlayDetect", nowPlayingHelper: componentsPath + "/playback/nowplayinghelper", pluginManager: componentsPath + "/pluginmanager", packageManager: componentsPath + "/packagemanager" From 468b9e881b9e4a12dd800b33d50004467ecfef27 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Wed, 27 Feb 2019 00:22:08 +0000 Subject: [PATCH 07/16] module reoslution for backdrop --- src/components/backdrop/package.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/components/backdrop/package.json diff --git a/src/components/backdrop/package.json b/src/components/backdrop/package.json new file mode 100644 index 0000000000..5f04e53a9e --- /dev/null +++ b/src/components/backdrop/package.json @@ -0,0 +1,3 @@ +{ + "main": "backdrop.js" +} \ No newline at end of file From c7ea132f07d3da1e3e6f17de5e3951f08fd2b992 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Wed, 27 Feb 2019 21:54:48 +0000 Subject: [PATCH 08/16] hide loading even if connection fails at start --- src/components/appRouter.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/appRouter.js b/src/components/appRouter.js index f34a6e0988..dc959faa46 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -336,8 +336,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM firstConnectionResult = result; - loading.hide(); - options = options || {}; page({ @@ -345,6 +343,8 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM hashbang: options.hashbang !== false, enableHistory: enableHistory() }); + }).finally(function () { + loading.hide(); }); } From 183528cf7283ed35e09569a713874f2ebfff7416 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Wed, 27 Feb 2019 22:05:53 +0000 Subject: [PATCH 09/16] added finally for request that made loading spin forever on start --- src/controllers/loginpage.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/controllers/loginpage.js b/src/controllers/loginpage.js index e6069f8e17..63fd42b1f9 100644 --- a/src/controllers/loginpage.js +++ b/src/controllers/loginpage.js @@ -87,9 +87,23 @@ define(["appSettings", "dom", "connectionManager", "loading", "cardStyle", "emby }), view.addEventListener("viewshow", function(e) { loading.show(); var apiClient = getApiClient(); - apiClient.getPublicUsers().then(function(users) { - users.length ? users.length && users[0].EnableAutoLogin ? authenticateUserByName(view, apiClient, users[0].Name, "") : (showVisualForm(), loadUserList(view, apiClient, users)) : (view.querySelector("#txtManualName").value = "", showManualForm(view, !1, !1)), loading.hide() + apiClient.getPublicUsers().then(function(users) {debugger; + if (users.length) { + if (users[0].EnableAutoLogin) { + authenticateUserByName(view, apiClient, users[0].Name, ""); + } else { + showVisualForm(); + loadUserList(view, apiClient, users); + } + } else { + view.querySelector("#txtManualName").value = ""; + showManualForm(view, false, false); + } + + }).finally(function () { + loading.hide(); }); + apiClient.getJSON(apiClient.getUrl("Branding/Configuration")).then(function(options) { view.querySelector(".disclaimer").textContent = options.LoginDisclaimer || "" }); From 5b26405c06656415a288b98707941a7319f31dbb Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Wed, 27 Feb 2019 22:22:33 +0000 Subject: [PATCH 10/16] added a bunch of modules main package.json --- src/components/dialog/package.json | 3 +++ src/components/dialoghelper/package.json | 3 +++ src/components/emby-input/package.json | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 src/components/dialog/package.json create mode 100644 src/components/dialoghelper/package.json create mode 100644 src/components/emby-input/package.json diff --git a/src/components/dialog/package.json b/src/components/dialog/package.json new file mode 100644 index 0000000000..d13dd844ba --- /dev/null +++ b/src/components/dialog/package.json @@ -0,0 +1,3 @@ +{ + "main": "dialog.js" +} \ No newline at end of file diff --git a/src/components/dialoghelper/package.json b/src/components/dialoghelper/package.json new file mode 100644 index 0000000000..71863d045f --- /dev/null +++ b/src/components/dialoghelper/package.json @@ -0,0 +1,3 @@ +{ + "main": "dialogHelper.js" +} \ No newline at end of file diff --git a/src/components/emby-input/package.json b/src/components/emby-input/package.json new file mode 100644 index 0000000000..07be9f7b45 --- /dev/null +++ b/src/components/emby-input/package.json @@ -0,0 +1,3 @@ +{ + "main": "emby-input.js" +} \ No newline at end of file From 0b71b0b4932eb06119c507e971a321f6aef2e54f Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Sat, 16 Mar 2019 15:48:53 +0000 Subject: [PATCH 11/16] fixed some bugs with merge from upstream --- src/components/{skinmanager.js => skinManager.js} | 6 +++--- src/scripts/site.js | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) rename src/components/{skinmanager.js => skinManager.js} (95%) diff --git a/src/components/skinmanager.js b/src/components/skinManager.js similarity index 95% rename from src/components/skinmanager.js rename to src/components/skinManager.js index 555da63650..d5dd0aa07a 100644 --- a/src/components/skinmanager.js +++ b/src/components/skinManager.js @@ -1,4 +1,4 @@ -define(['apphost', 'userSettings', 'browser', 'events', 'pluginManager', 'backdrop', 'globalize', 'require', 'appSettings', 'appRouter'], function (appHost, userSettings, browser, events, pluginManager, backdrop, globalize, require, appSettings, appRouter) { +define(['apphost', 'userSettings', 'browser', 'events', 'pluginManager', 'backdrop', 'globalize', 'require', 'appSettings'], function (appHost, userSettings, browser, events, pluginManager, backdrop, globalize, require, appSettings) { 'use strict'; var themeStyleElement; @@ -18,9 +18,9 @@ define(['apphost', 'userSettings', 'browser', 'events', 'pluginManager', 'backdr options = options || {}; if (options.start) { - appRouter.invokeShortcut(options.start); + Emby.Page.invokeShortcut(options.start); } else { - appRouter.goHome(); + Emby.Page.goHome(); } }; diff --git a/src/scripts/site.js b/src/scripts/site.js index d450aeaa01..280ee85a1e 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -588,7 +588,7 @@ var AppInfo = {}; console.log("Begin onAppReady"); // ensure that appHost is loaded in this point - require(['apphost'], function (appHost) { + require(['apphost', 'appRouter'], function (appHost, appRouter) { var isInBackground = -1 !== self.location.href.toString().toLowerCase().indexOf("start=backgroundsync"); window.Emby = {}; @@ -603,10 +603,9 @@ var AppInfo = {}; require(['css!devices/ios/ios.css']); } - require(['appRouter', 'scripts/themeloader', 'libraryMenu'], function (pageObjects) { - window.Emby.Page = pageObjects; + window.Emby.Page = appRouter; - require(['scripts/routes'], function () { + require(['scripts/themeloader', 'libraryMenu', 'scripts/routes'], function () { Emby.Page.start({ click: false, hashbang: true From c3c035a7d720479409f89142b5f6276638e61ffe Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Mon, 18 Mar 2019 23:16:56 +0000 Subject: [PATCH 12/16] code optimization for removeItem from appStorage --- src/bower_components/apiclient/appStorage.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bower_components/apiclient/appStorage.js b/src/bower_components/apiclient/appStorage.js index a67ad5f559..2597be61d5 100644 --- a/src/bower_components/apiclient/appStorage.js +++ b/src/bower_components/apiclient/appStorage.js @@ -35,7 +35,6 @@ define([], function() { localStorage.removeItem(name); if (this.localData) { - this.localData[name] = null; delete this.localData[name]; updateCache(this); } From a5278f3b788bb4d51ae3fb38f74e449d2a88a284 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Mon, 18 Mar 2019 23:20:29 +0000 Subject: [PATCH 13/16] manual deuglify for appStorage --- src/bower_components/apiclient/appStorage.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bower_components/apiclient/appStorage.js b/src/bower_components/apiclient/appStorage.js index 2597be61d5..8be2bb4d7f 100644 --- a/src/bower_components/apiclient/appStorage.js +++ b/src/bower_components/apiclient/appStorage.js @@ -41,7 +41,9 @@ define([], function() { }; try { - self.caches && caches.open("embydata").then(onCacheOpened.bind(this)); + if (self.caches) { + self.caches.open("embydata").then(onCacheOpened.bind(this)); + } } catch (err) { console.log("Error opening cache: " + err); } From cc0e19c6bd5581be76cc6f1a04b4d362c2001989 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Mon, 18 Mar 2019 23:41:40 +0000 Subject: [PATCH 14/16] fix identation for routes.js --- src/scripts/routes.js | 841 +++++++++++++++++++++--------------------- 1 file changed, 416 insertions(+), 425 deletions(-) diff --git a/src/scripts/routes.js b/src/scripts/routes.js index 9a21dd02c8..97c13c3a45 100644 --- a/src/scripts/routes.js +++ b/src/scripts/routes.js @@ -22,429 +22,420 @@ define([ } console.log("Defining core routes"); - defineRoute({ - path: "/addplugin.html", - autoFocus: false, - roles: "admin", - controller: "addpluginpage" - }); - defineRoute({ - path: "/appservices.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/autoorganizelog.html", - roles: "admin" - }); - defineRoute({ - path: "/channelsettings.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/addserver.html", - autoFocus: false, - anonymous: true, - startup: true, - controller: "addserver" - }); - defineRoute({ - path: "/dashboard.html", - autoFocus: false, - roles: "admin", - controller: "dashboardpage" - }); - defineRoute({ - path: "/dashboardgeneral.html", - controller: "dashboardgeneral", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dashboardhosting.html", - autoFocus: false, - roles: "admin", - controller: "dashboardhosting" - }); - defineRoute({ - path: "/devices/devices.html", - autoFocus: false, - roles: "admin", - controller: "devices" - }); - defineRoute({ - path: "/devices/device.html", - autoFocus: false, - roles: "admin", - controller: "device" - }); - defineRoute({ - path: "/dlnaprofile.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dlnaprofiles.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dlnaserversettings.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/dlnasettings.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/edititemmetadata.html", - controller: "edititemmetadata", - autoFocus: false - }); - defineRoute({ - path: "/encodingsettings.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/opensubtitles.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/forgotpassword.html", - anonymous: true, - startup: true, - controller: "forgotpassword" - }); - defineRoute({ - path: "/forgotpasswordpin.html", - autoFocus: false, - anonymous: true, - startup: true, - controller: "forgotpasswordpin" - }); - defineRoute({ - path: "/home.html", - autoFocus: false, - controller: "home", - transition: "fade", - type: "home" - }); - defineRoute({ - path: "/list/list.html", - autoFocus: false, - controller: "list", - transition: "fade" - }); - defineRoute({ - path: "/index.html", - autoFocus: false, - isDefaultRoute: true - }); - defineRoute({ - path: "/itemdetails.html", - controller: "itemdetailpage", - autoFocus: false, - transition: "fade" - }); - defineRoute({ - path: "/library.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/librarydisplay.html", - autoFocus: false, - roles: "admin", - controller: "librarydisplay" - }); - defineRoute({ - path: "/librarysettings.html", - autoFocus: false, - roles: "admin", - controller: "librarysettings" - }); - defineRoute({ - path: "/livetv.html", - controller: "livetvsuggested", - autoFocus: false, - transition: "fade" - }); - defineRoute({ - path: "/livetvguideprovider.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/livetvseriestimer.html", - autoFocus: false, - controller: "livetvseriestimer" - }); - defineRoute({ - path: "/livetvsettings.html", - autoFocus: false - }); - defineRoute({ - path: "/livetvstatus.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/livetvtuner.html", - autoFocus: false, - roles: "admin", - controller: "livetvtuner" - }); - defineRoute({ - path: "/log.html", - roles: "admin", - controller: "logpage" - }); - defineRoute({ - path: "/login.html", - autoFocus: false, - anonymous: true, - startup: true, - controller: "loginpage" - }); - defineRoute({ - path: "/metadataadvanced.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/metadataimages.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/metadatanfo.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/movies.html", - autoFocus: false, - controller: "moviesrecommended", - transition: "fade" - }); - defineRoute({ - path: "/music.html", - controller: "musicrecommended", - autoFocus: false, - transition: "fade" - }); - defineRoute({ - path: "/mypreferencesdisplay.html", - autoFocus: false, - transition: "fade", - controller: "mypreferencesdisplay" - }); - defineRoute({ - path: "/mypreferenceshome.html", - autoFocus: false, - transition: "fade", - controller: "mypreferenceshome" - }); - defineRoute({ - path: "/mypreferencessubtitles.html", - autoFocus: false, - transition: "fade", - controller: "mypreferencessubtitles" - }); - defineRoute({ - path: "/mypreferenceslanguages.html", - autoFocus: false, - transition: "fade", - controller: "mypreferenceslanguages" - }); - defineRoute({ - path: "/mypreferencesmenu.html", - autoFocus: false, - transition: "fade", - controller: "mypreferencescommon" - }); - defineRoute({ - path: "/myprofile.html", - autoFocus: false, - transition: "fade", - controller: "myprofile" - }); - defineRoute({ - path: "/notificationsetting.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/notificationsettings.html", - controller: "notificationsettings", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/nowplaying.html", - controller: "nowplayingpage", - autoFocus: false, - transition: "fade", - fullscreen: true, - supportsThemeMedia: true, - enableMediaControl: false - }); - defineRoute({ - path: "/playbackconfiguration.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/plugincatalog.html", - autoFocus: false, - roles: "admin", - controller: "plugincatalogpage" - }); - defineRoute({ - path: "/plugins.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/scheduledtask.html", - autoFocus: false, - roles: "admin", - controller: "scheduledtaskpage" - }); - defineRoute({ - path: "/scheduledtasks.html", - autoFocus: false, - roles: "admin", - controller: "scheduledtaskspage" - }); - defineRoute({ - path: "/search.html", - controller: "searchpage" - }); - defineRoute({ - path: "/selectserver.html", - autoFocus: false, - anonymous: true, - startup: true, - controller: "selectserver" - }); - defineRoute({ - path: "/serveractivity.html", - autoFocus: false, - roles: "admin", - controller: "serveractivity" - }); - defineRoute({ - path: "/serversecurity.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/streamingsettings.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/support.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/tv.html", - autoFocus: false, - controller: "tvrecommended", - transition: "fade" - }); - defineRoute({ - path: "/useredit.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/userlibraryaccess.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/usernew.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/userparentalcontrol.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/userpassword.html", - autoFocus: false, - controller: "userpasswordpage" - }); - defineRoute({ - path: "/userprofiles.html", - autoFocus: false, - roles: "admin" - }); - defineRoute({ - path: "/wizardremoteaccess.html", - autoFocus: false, - anonymous: true, - controller: "wizardremoteaccess" - }); - defineRoute({ - path: "/wizardfinish.html", - autoFocus: false, - anonymous: true, - controller: "wizardfinishpage" - }); - defineRoute({ - path: "/wizardlibrary.html", - autoFocus: false, - anonymous: true - }); - defineRoute({ - path: "/wizardsettings.html", - autoFocus: false, - anonymous: true, - controller: "wizardsettings" - }); - defineRoute({ - path: "/wizardstart.html", - autoFocus: false, - anonymous: true, - controller: "wizardstart" - }); - defineRoute({ - path: "/wizarduser.html", - controller: "wizarduserpage", - autoFocus: false, - anonymous: true - }); - defineRoute({ - path: "/videoosd.html", - transition: "fade", - controller: "videoosd", - autoFocus: false, - type: "video-osd", - supportsThemeMedia: true, - fullscreen: true, - enableMediaControl: false - }); - defineRoute({ - path: "/configurationpage", - autoFocus: false, - enableCache: false, - enableContentQueryString: true, - roles: "admin" - }); - defineRoute({ - path: "/", - isDefaultRoute: true, - autoFocus: false, - }); + + defineRoute({ + path: "/addplugin.html", + autoFocus: false, + roles: "admin", + controller: "addpluginpage" + }); + defineRoute({ + path: "/autoorganizelog.html", + roles: "admin" + }); + defineRoute({ + path: "/channelsettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/addserver.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "addserver" + }); + defineRoute({ + path: "/dashboard.html", + autoFocus: false, + roles: "admin", + controller: "dashboardpage" + }); + defineRoute({ + path: "/dashboardgeneral.html", + controller: "dashboardgeneral", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dashboardhosting.html", + autoFocus: false, + roles: "admin", + controller: "dashboardhosting" + }); + defineRoute({ + path: "/devices/devices.html", + autoFocus: false, + roles: "admin", + controller: "devices" + }); + defineRoute({ + path: "/devices/device.html", + autoFocus: false, + roles: "admin", + controller: "device" + }); + defineRoute({ + path: "/dlnaprofile.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dlnaprofiles.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dlnaserversettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/dlnasettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/edititemmetadata.html", + controller: "edititemmetadata", + autoFocus: false + }); + defineRoute({ + path: "/encodingsettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/forgotpassword.html", + anonymous: true, + startup: true, + controller: "forgotpassword" + }); + defineRoute({ + path: "/forgotpasswordpin.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "forgotpasswordpin" + }); + defineRoute({ + path: "/home.html", + autoFocus: false, + controller: "home", + transition: "fade", + type: "home" + }); + defineRoute({ + path: "/list/list.html", + autoFocus: false, + controller: "list", + transition: "fade" + }); + defineRoute({ + path: "/index.html", + autoFocus: false, + isDefaultRoute: true + }); + defineRoute({ + path: "/itemdetails.html", + controller: "itemdetailpage", + autoFocus: false, + transition: "fade" + }); + defineRoute({ + path: "/library.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/librarydisplay.html", + autoFocus: false, + roles: "admin", + controller: "librarydisplay" + }); + defineRoute({ + path: "/librarysettings.html", + autoFocus: false, + roles: "admin", + controller: "librarysettings" + }); + defineRoute({ + path: "/livetv.html", + controller: "livetvsuggested", + autoFocus: false, + transition: "fade" + }); + defineRoute({ + path: "/livetvguideprovider.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/livetvseriestimer.html", + autoFocus: false, + controller: "livetvseriestimer" + }); + defineRoute({ + path: "/livetvsettings.html", + autoFocus: false + }); + defineRoute({ + path: "/livetvstatus.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/livetvtuner.html", + autoFocus: false, + roles: "admin", + controller: "livetvtuner" + }); + defineRoute({ + path: "/log.html", + roles: "admin", + controller: "logpage" + }); + defineRoute({ + path: "/login.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "loginpage" + }); + defineRoute({ + path: "/metadataadvanced.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/metadataimages.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/metadatanfo.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/movies.html", + autoFocus: false, + controller: "moviesrecommended", + transition: "fade" + }); + defineRoute({ + path: "/music.html", + controller: "musicrecommended", + autoFocus: false, + transition: "fade" + }); + defineRoute({ + path: "/mypreferencesdisplay.html", + autoFocus: false, + transition: "fade", + controller: "mypreferencesdisplay" + }); + defineRoute({ + path: "/mypreferenceshome.html", + autoFocus: false, + transition: "fade", + controller: "mypreferenceshome" + }); + defineRoute({ + path: "/mypreferencessubtitles.html", + autoFocus: false, + transition: "fade", + controller: "mypreferencessubtitles" + }); + defineRoute({ + path: "/mypreferenceslanguages.html", + autoFocus: false, + transition: "fade", + controller: "mypreferenceslanguages" + }); + defineRoute({ + path: "/mypreferencesmenu.html", + autoFocus: false, + transition: "fade", + controller: "mypreferencescommon" + }); + defineRoute({ + path: "/myprofile.html", + autoFocus: false, + transition: "fade", + controller: "myprofile" + }); + defineRoute({ + path: "/notificationsetting.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/notificationsettings.html", + controller: "notificationsettings", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/nowplaying.html", + controller: "nowplayingpage", + autoFocus: false, + transition: "fade", + fullscreen: true, + supportsThemeMedia: true, + enableMediaControl: false + }); + defineRoute({ + path: "/playbackconfiguration.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/plugincatalog.html", + autoFocus: false, + roles: "admin", + controller: "plugincatalogpage" + }); + defineRoute({ + path: "/plugins.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/scheduledtask.html", + autoFocus: false, + roles: "admin", + controller: "scheduledtaskpage" + }); + defineRoute({ + path: "/scheduledtasks.html", + autoFocus: false, + roles: "admin", + controller: "scheduledtaskspage" + }); + defineRoute({ + path: "/search.html", + controller: "searchpage" + }); + defineRoute({ + path: "/selectserver.html", + autoFocus: false, + anonymous: true, + startup: true, + controller: "selectserver" + }); + defineRoute({ + path: "/serveractivity.html", + autoFocus: false, + roles: "admin", + controller: "serveractivity" + }); + defineRoute({ + path: "/serversecurity.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/streamingsettings.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/support.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/tv.html", + autoFocus: false, + controller: "tvrecommended", + transition: "fade" + }); + defineRoute({ + path: "/useredit.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/userlibraryaccess.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/usernew.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/userparentalcontrol.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/userpassword.html", + autoFocus: false, + controller: "userpasswordpage" + }); + defineRoute({ + path: "/userprofiles.html", + autoFocus: false, + roles: "admin" + }); + defineRoute({ + path: "/wizardremoteaccess.html", + autoFocus: false, + anonymous: true, + controller: "wizardremoteaccess" + }); + defineRoute({ + path: "/wizardfinish.html", + autoFocus: false, + anonymous: true, + controller: "wizardfinishpage" + }); + defineRoute({ + path: "/wizardlibrary.html", + autoFocus: false, + anonymous: true + }); + defineRoute({ + path: "/wizardsettings.html", + autoFocus: false, + anonymous: true, + controller: "wizardsettings" + }); + defineRoute({ + path: "/wizardstart.html", + autoFocus: false, + anonymous: true, + controller: "wizardstart" + }); + defineRoute({ + path: "/wizarduser.html", + controller: "wizarduserpage", + autoFocus: false, + anonymous: true + }); + defineRoute({ + path: "/videoosd.html", + transition: "fade", + controller: "videoosd", + autoFocus: false, + type: "video-osd", + supportsThemeMedia: true, + fullscreen: true, + enableMediaControl: false + }); + defineRoute({ + path: "/configurationpage", + autoFocus: false, + enableCache: false, + enableContentQueryString: true, + roles: "admin" + }); + defineRoute({ + path: "/", + isDefaultRoute: true, + autoFocus: false, + }); }); \ No newline at end of file From b4257bfda8f7f517288ba7b0efb27175075226e5 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Mon, 18 Mar 2019 23:48:34 +0000 Subject: [PATCH 15/16] optimizing defineRoute in routes.js --- src/scripts/routes.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/scripts/routes.js b/src/scripts/routes.js index 97c13c3a45..1bbb49fc8d 100644 --- a/src/scripts/routes.js +++ b/src/scripts/routes.js @@ -12,12 +12,10 @@ define([ "listViewStyle", "dashboardcss"], function () { - function defineRoute(newRoute, dictionary) { - var baseRoute = Emby.Page.baseUrl(); + function defineRoute(newRoute) { var path = newRoute.path; - path = path.replace(baseRoute, ""); console.log("Defining route: " + path); - newRoute.dictionary = newRoute.dictionary || dictionary || "core"; + newRoute.dictionary = "core"; Emby.Page.addRoute(path, newRoute); } From 4a4a9fb1deed612cc947f8ffb8032b7b054b1dbc Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Tue, 19 Mar 2019 22:21:30 +0000 Subject: [PATCH 16/16] removed unused dlnaserversettings route --- src/scripts/routes.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/scripts/routes.js b/src/scripts/routes.js index 1bbb49fc8d..bd735877f3 100644 --- a/src/scripts/routes.js +++ b/src/scripts/routes.js @@ -83,11 +83,6 @@ define([ autoFocus: false, roles: "admin" }); - defineRoute({ - path: "/dlnaserversettings.html", - autoFocus: false, - roles: "admin" - }); defineRoute({ path: "/dlnasettings.html", autoFocus: false,