diff --git a/dashboard-ui/components/viewcontainer-lite.js b/dashboard-ui/components/viewcontainer-lite.js index 252679a48c..37c36a5fe8 100644 --- a/dashboard-ui/components/viewcontainer-lite.js +++ b/dashboard-ui/components/viewcontainer-lite.js @@ -55,6 +55,7 @@ define(['browser'], function (browser) { if (isPluginpage || (newView.classList && newView.classList.contains('type-interior'))) { dependencies.push('scripts/notifications'); + dependencies.push('css!css/notifications.css'); dependencies.push('dashboardcss'); } diff --git a/dashboard-ui/scripts/extensions.js b/dashboard-ui/scripts/extensions.js deleted file mode 100644 index 7e906acec9..0000000000 --- a/dashboard-ui/scripts/extensions.js +++ /dev/null @@ -1,42 +0,0 @@ -function getWindowLocationSearch(win) { - - var search = (win || window).location.search; - - if (!search) { - - var index = window.location.href.indexOf('?'); - if (index != -1) { - search = window.location.href.substring(index); - } - } - - return search || ''; -} - -function getParameterByName(name, url) { - name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); - var regexS = "[\\?&]" + name + "=([^&#]*)"; - var regex = new RegExp(regexS, "i"); - - var results = regex.exec(url || getWindowLocationSearch()); - if (results == null) - return ""; - else - return decodeURIComponent(results[1].replace(/\+/g, " ")); -} - -function replaceQueryString(url, param, value) { - var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i"); - if (url.match(re)) - return url.replace(re, '$1' + param + "=" + value + '$2'); - else if (value) { - - if (url.indexOf('?') == -1) { - return url + '?' + param + "=" + value; - } - - return url + '&' + param + "=" + value; - } - - return url; -} \ No newline at end of file diff --git a/dashboard-ui/scripts/htmlmediarenderer.js b/dashboard-ui/scripts/htmlmediarenderer.js index 1739815359..6bced7e87d 100644 --- a/dashboard-ui/scripts/htmlmediarenderer.js +++ b/dashboard-ui/scripts/htmlmediarenderer.js @@ -810,6 +810,22 @@ } }; + function replaceQueryString(url, param, value) { + var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i"); + if (url.match(re)) + return url.replace(re, '$1' + param + "=" + value + '$2'); + else if (value) { + + if (url.indexOf('?') == -1) { + return url + '?' + param + "=" + value; + } + + return url + '&' + param + "=" + value; + } + + return url; + } + self.updateTextStreamUrls = function (startPositionTicks) { if (!self.supportsTextTracks()) { diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 99beffe476..5150c2f2d5 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -1,4 +1,4 @@ -define(['scrollHelper', 'viewManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scroller', 'indicators', 'dom', 'scrollStyles'], function (scrollHelper, viewManager, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo, scroller, indicators, dom) { +define(['viewManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scroller', 'indicators', 'dom', 'scrollStyles'], function (viewManager, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo, scroller, indicators, dom) { function fadeInRight(elem) { diff --git a/dashboard-ui/scripts/librarymenu.js b/dashboard-ui/scripts/librarymenu.js index 7f5f058c1d..31c91f82a5 100644 --- a/dashboard-ui/scripts/librarymenu.js +++ b/dashboard-ui/scripts/librarymenu.js @@ -802,6 +802,22 @@ } } + function replaceQueryString(url, param, value) { + var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i"); + if (url.match(re)) + return url.replace(re, '$1' + param + "=" + value + '$2'); + else if (value) { + + if (url.indexOf('?') == -1) { + return url + '?' + param + "=" + value; + } + + return url + '&' + param + "=" + value; + } + + return url; + } + function updateTabLinks(page) { var elems = page.querySelectorAll('.scopedLibraryViewNav a'); diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index efe33f321b..def8a9b8b1 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -1,4 +1,4 @@ -define(['appStorage'], function (appStorage) { +define(['appStorage', 'events'], function (appStorage, events) { var currentDisplayInfo; var datetime; @@ -32,7 +32,7 @@ function monitorPlayer(player) { - Events.on(player, 'playbackstart', function (e, state) { + events.on(player, 'playbackstart', function (e, state) { var info = { QueueableMediaTypes: state.NowPlayingItem.MediaType, @@ -46,7 +46,7 @@ }); - Events.on(player, 'playbackstop', function (e, state) { + events.on(player, 'playbackstop', function (e, state) { var stopInfo = { itemId: state.NowPlayingItem.Id, @@ -284,16 +284,16 @@ monitorPlayer(player); } - Events.on(player, 'playbackstop', onPlaybackStop); - Events.on(player, 'beforeplaybackstart', onBeforePlaybackStart); + events.on(player, 'playbackstop', onPlaybackStop); + events.on(player, 'beforeplaybackstart', onBeforePlaybackStart); }; function onBeforePlaybackStart(e, state) { - Events.trigger(self, 'beforeplaybackstart', [state, this]); + events.trigger(self, 'beforeplaybackstart', [state, this]); } function onPlaybackStop(e, state) { - Events.trigger(self, 'playbackstop', [state, this]); + events.trigger(self, 'playbackstop', [state, this]); } self.getPlayerInfo = function () { @@ -314,7 +314,7 @@ function triggerPlayerChange(newPlayer, newTarget, previousPlayer) { - Events.trigger(self, 'playerchange', [newPlayer, newTarget, previousPlayer]); + events.trigger(self, 'playerchange', [newPlayer, newTarget, previousPlayer]); } self.setActivePlayer = function (player, targetInfo) { @@ -1076,8 +1076,8 @@ } function initializeApiClient(apiClient) { - Events.off(apiClient, "websocketmessage", onWebSocketMessageReceived); - Events.on(apiClient, "websocketmessage", onWebSocketMessageReceived); + events.off(apiClient, "websocketmessage", onWebSocketMessageReceived); + events.on(apiClient, "websocketmessage", onWebSocketMessageReceived); } MediaController.init = function () { @@ -1091,7 +1091,7 @@ initializeApiClient(window.ApiClient); } - Events.on(ConnectionManager, 'apiclientcreated', function (e, apiClient) { + events.on(ConnectionManager, 'apiclientcreated', function (e, apiClient) { initializeApiClient(apiClient); }); }; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index d4b01e610e..21f8e55039 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1,4 +1,31 @@ -var Dashboard = { +function getWindowLocationSearch(win) { + + var search = (win || window).location.search; + + if (!search) { + + var index = window.location.href.indexOf('?'); + if (index != -1) { + search = window.location.href.substring(index); + } + } + + return search || ''; +} + +function getParameterByName(name, url) { + name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); + var regexS = "[\\?&]" + name + "=([^&#]*)"; + var regex = new RegExp(regexS, "i"); + + var results = regex.exec(url || getWindowLocationSearch()); + if (results == null) + return ""; + else + return decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +var Dashboard = { isConnectMode: function () { @@ -1306,7 +1333,8 @@ var AppInfo = {}; var localApiClient; function bindConnectionManagerEvents(connectionManager, events) { - Events.on(ConnectionManager, 'apiclientcreated', onApiClientCreated); + window.Events = events; + events.on(ConnectionManager, 'apiclientcreated', onApiClientCreated); connectionManager.currentApiClient = function () { @@ -1748,7 +1776,7 @@ var AppInfo = {}; currentPlaylistIndex: function (options) { return MediaController.currentPlaylistIndex(options); }, - canQueueMediaType: function(mediaType) { + canQueueMediaType: function (mediaType) { return MediaController.canQueueMediaType(mediaType); }, canPlay: function (item) { @@ -1967,13 +1995,10 @@ var AppInfo = {}; define("buttonenabled", ["legacy/buttonenabled"]); var deps = []; - deps.push('events'); deps.push('scripts/mediacontroller'); - require(deps, function (events) { - - window.Events = events; + require(deps, function () { initAfterDependencies(); }); @@ -1990,7 +2015,6 @@ var AppInfo = {}; function initAfterDependencies() { var deps = []; - deps.push('scripts/extensions'); if (!window.fetch) { deps.push('fetch'); @@ -2923,7 +2947,6 @@ var AppInfo = {}; postInitDependencies.push('scripts/thememediaplayer'); postInitDependencies.push('scripts/remotecontrol'); - postInitDependencies.push('css!css/notifications.css'); postInitDependencies.push('css!css/chromecast.css'); postInitDependencies.push('scripts/autobackdrops');