diff --git a/src/addplugin.html b/src/addplugin.html index 08c36fb194..5d5d5799d3 100644 --- a/src/addplugin.html +++ b/src/addplugin.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/bower_components/apiclient/appStorage.js b/src/bower_components/apiclient/appStorage.js index 8be2bb4d7f..6083bb4953 100644 --- a/src/bower_components/apiclient/appStorage.js +++ b/src/bower_components/apiclient/appStorage.js @@ -30,7 +30,7 @@ define([], function() { this.getItem = function(name) { return localStorage.getItem(name); }; - + this.removeItem = function(name) { localStorage.removeItem(name); diff --git a/src/bower_components/fetch/fetch.js b/src/bower_components/fetch/fetch.js deleted file mode 100644 index cd40b3ed2d..0000000000 --- a/src/bower_components/fetch/fetch.js +++ /dev/null @@ -1,263 +0,0 @@ -! function(self) { - "use strict"; - - function normalizeName(name) { - if ("string" != typeof name && (name = String(name)), /[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) throw new TypeError("Invalid character in header field name"); - return name.toLowerCase() - } - - function normalizeValue(value) { - return "string" != typeof value && (value = String(value)), value - } - - function iteratorFor(items) { - var iterator = { - next: function() { - var value = items.shift(); - return { - done: void 0 === value, - value: value - } - } - }; - return support.iterable && (iterator[Symbol.iterator] = function() { - return iterator - }), iterator - } - - function Headers(headers) { - this.map = {}, headers instanceof Headers ? headers.forEach(function(value, name) { - this.append(name, value) - }, this) : headers && Object.getOwnPropertyNames(headers).forEach(function(name) { - this.append(name, headers[name]) - }, this) - } - - function consumed(body) { - if (body.bodyUsed) return Promise.reject(new TypeError("Already read")); - body.bodyUsed = !0 - } - - function fileReaderReady(reader) { - return new Promise(function(resolve, reject) { - reader.onload = function() { - resolve(reader.result) - }, reader.onerror = function() { - reject(reader.error) - } - }) - } - - function readBlobAsArrayBuffer(blob) { - var reader = new FileReader, - promise = fileReaderReady(reader); - return reader.readAsArrayBuffer(blob), promise - } - - function readBlobAsText(blob) { - var reader = new FileReader, - promise = fileReaderReady(reader); - return reader.readAsText(blob), promise - } - - function readArrayBufferAsText(buf) { - for (var view = new Uint8Array(buf), chars = new Array(view.length), i = 0; i < view.length; i++) chars[i] = String.fromCharCode(view[i]); - return chars.join("") - } - - function bufferClone(buf) { - if (buf.slice) return buf.slice(0); - var view = new Uint8Array(buf.byteLength); - return view.set(new Uint8Array(buf)), view.buffer - } - - function Body() { - return this.bodyUsed = !1, this._initBody = function(body) { - if (this._bodyInit = body, body) - if ("string" == typeof body) this._bodyText = body; - else if (support.blob && Blob.prototype.isPrototypeOf(body)) this._bodyBlob = body; - else if (support.formData && FormData.prototype.isPrototypeOf(body)) this._bodyFormData = body; - else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) this._bodyText = body.toString(); - else if (support.arrayBuffer && support.blob && isDataView(body)) this._bodyArrayBuffer = bufferClone(body.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer]); - else { - if (!support.arrayBuffer || !ArrayBuffer.prototype.isPrototypeOf(body) && !isArrayBufferView(body)) throw new Error("unsupported BodyInit type"); - this._bodyArrayBuffer = bufferClone(body) - } else this._bodyText = ""; - this.headers.get("content-type") || ("string" == typeof body ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : support.searchParams && URLSearchParams.prototype.isPrototypeOf(body) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8")) - }, support.blob && (this.blob = function() { - var rejected = consumed(this); - if (rejected) return rejected; - if (this._bodyBlob) return Promise.resolve(this._bodyBlob); - if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer])); - if (this._bodyFormData) throw new Error("could not read FormData body as blob"); - return Promise.resolve(new Blob([this._bodyText])) - }, this.arrayBuffer = function() { - return this._bodyArrayBuffer ? consumed(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(readBlobAsArrayBuffer) - }), this.text = function() { - var rejected = consumed(this); - if (rejected) return rejected; - if (this._bodyBlob) return readBlobAsText(this._bodyBlob); - if (this._bodyArrayBuffer) return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)); - if (this._bodyFormData) throw new Error("could not read FormData body as text"); - return Promise.resolve(this._bodyText) - }, support.formData && (this.formData = function() { - return this.text().then(decode) - }), this.json = function() { - return this.text().then(JSON.parse) - }, this - } - - function normalizeMethod(method) { - var upcased = method.toUpperCase(); - return methods.indexOf(upcased) > -1 ? upcased : method - } - - function Request(input, options) { - options = options || {}; - var body = options.body; - if ("string" == typeof input) this.url = input; - else { - if (input.bodyUsed) throw new TypeError("Already read"); - this.url = input.url, this.credentials = input.credentials, options.headers || (this.headers = new Headers(input.headers)), this.method = input.method, this.mode = input.mode, body || null == input._bodyInit || (body = input._bodyInit, input.bodyUsed = !0) - } - if (this.credentials = options.credentials || this.credentials || "omit", !options.headers && this.headers || (this.headers = new Headers(options.headers)), this.method = normalizeMethod(options.method || this.method || "GET"), this.mode = options.mode || this.mode || null, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && body) throw new TypeError("Body not allowed for GET or HEAD requests"); - this._initBody(body) - } - - function decode(body) { - var form = new FormData; - return body.trim().split("&").forEach(function(bytes) { - if (bytes) { - var split = bytes.split("="), - name = split.shift().replace(/\+/g, " "), - value = split.join("=").replace(/\+/g, " "); - form.append(decodeURIComponent(name), decodeURIComponent(value)) - } - }), form - } - - function parseHeaders(rawHeaders) { - var headers = new Headers; - return rawHeaders.split("\r\n").forEach(function(line) { - var parts = line.split(":"), - key = parts.shift().trim(); - if (key) { - var value = parts.join(":").trim(); - headers.append(key, value) - } - }), headers - } - - function Response(bodyInit, options) { - options || (options = {}), this.type = "default", this.status = "status" in options ? options.status : 200, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in options ? options.statusText : "OK", this.headers = new Headers(options.headers), this.url = options.url || "", this._initBody(bodyInit) - } - if (!self.fetch) { - var support = { - searchParams: "URLSearchParams" in self, - iterable: "Symbol" in self && "iterator" in Symbol, - blob: "FileReader" in self && "Blob" in self && function() { - try { - return new Blob, !0 - } catch (e) { - return !1 - } - }(), - formData: "FormData" in self, - arrayBuffer: "ArrayBuffer" in self - }; - if (support.arrayBuffer) var viewClasses = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"], - isDataView = function(obj) { - return obj && DataView.prototype.isPrototypeOf(obj) - }, - isArrayBufferView = ArrayBuffer.isView || function(obj) { - return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1 - }; - Headers.prototype.append = function(name, value) { - name = normalizeName(name), value = normalizeValue(value); - var list = this.map[name]; - list || (list = [], this.map[name] = list), list.push(value) - }, Headers.prototype.delete = function(name) { - delete this.map[normalizeName(name)] - }, Headers.prototype.get = function(name) { - var values = this.map[normalizeName(name)]; - return values ? values[0] : null - }, Headers.prototype.getAll = function(name) { - return this.map[normalizeName(name)] || [] - }, Headers.prototype.has = function(name) { - return this.map.hasOwnProperty(normalizeName(name)) - }, Headers.prototype.set = function(name, value) { - this.map[normalizeName(name)] = [normalizeValue(value)] - }, Headers.prototype.forEach = function(callback, thisArg) { - Object.getOwnPropertyNames(this.map).forEach(function(name) { - this.map[name].forEach(function(value) { - callback.call(thisArg, value, name, this) - }, this) - }, this) - }, Headers.prototype.keys = function() { - var items = []; - return this.forEach(function(value, name) { - items.push(name) - }), iteratorFor(items) - }, Headers.prototype.values = function() { - var items = []; - return this.forEach(function(value) { - items.push(value) - }), iteratorFor(items) - }, Headers.prototype.entries = function() { - var items = []; - return this.forEach(function(value, name) { - items.push([name, value]) - }), iteratorFor(items) - }, support.iterable && (Headers.prototype[Symbol.iterator] = Headers.prototype.entries); - var methods = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"]; - Request.prototype.clone = function() { - return new Request(this, { - body: this._bodyInit - }) - }, Body.call(Request.prototype), Body.call(Response.prototype), Response.prototype.clone = function() { - return new Response(this._bodyInit, { - status: this.status, - statusText: this.statusText, - headers: new Headers(this.headers), - url: this.url - }) - }, Response.error = function() { - var response = new Response(null, { - status: 0, - statusText: "" - }); - return response.type = "error", response - }; - var redirectStatuses = [301, 302, 303, 307, 308]; - Response.redirect = function(url, status) { - if (-1 === redirectStatuses.indexOf(status)) throw new RangeError("Invalid status code"); - return new Response(null, { - status: status, - headers: { - location: url - } - }) - }, self.Headers = Headers, self.Request = Request, self.Response = Response, self.fetch = function(input, init) { - return new Promise(function(resolve, reject) { - var request = new Request(input, init), - xhr = new XMLHttpRequest; - xhr.onload = function() { - var options = { - status: xhr.status, - statusText: xhr.statusText, - headers: parseHeaders(xhr.getAllResponseHeaders() || "") - }; - options.url = "responseURL" in xhr ? xhr.responseURL : options.headers.get("X-Request-URL"); - var body = "response" in xhr ? xhr.response : xhr.responseText; - resolve(new Response(body, options)) - }, xhr.onerror = function() { - reject(new TypeError("Network request failed")) - }, xhr.ontimeout = function() { - reject(new TypeError("Network request failed")) - }, xhr.open(request.method, request.url, !0), "include" === request.credentials && (xhr.withCredentials = !0), "responseType" in xhr && support.blob && (xhr.responseType = "blob"), request.headers.forEach(function(value, name) { - xhr.setRequestHeader(name, value) - }), xhr.send(void 0 === request._bodyInit ? null : request._bodyInit) - }) - }, self.fetch.polyfill = !0 - } -}("undefined" != typeof self ? self : this); \ No newline at end of file diff --git a/src/components/apiInput/package.json b/src/components/apiInput/package.json deleted file mode 100644 index 6c542951b2..0000000000 --- a/src/components/apiInput/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main": "apiInput.js" -} \ No newline at end of file diff --git a/src/components/appRouter.js b/src/components/appRouter.js index 92950c66f6..f9761d4d61 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -1,4 +1,4 @@ -define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinManager', 'pluginManager', 'backdrop', 'browser', 'pageJs', 'appSettings', 'apphost', 'connectionManager'], function (loading, globalize, events, viewManager, layoutManager, skinManager, pluginManager, backdrop, browser, page, appSettings, appHost, connectionManager) { +define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinManager', 'pluginManager', 'backdrop', 'browser', 'page', 'appSettings', 'apphost', 'connectionManager'], function (loading, globalize, events, viewManager, layoutManager, skinManager, pluginManager, backdrop, browser, page, appSettings, appHost, connectionManager) { 'use strict'; var appRouter = { @@ -410,7 +410,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM if (apiClient && apiClient.isLoggedIn()) { console.log('appRouter - user is authenticated'); - + if (route.isDefaultRoute) { console.log('appRouter - loading skin home page'); loadUserSkinWithOptions(ctx); diff --git a/src/components/collectioneditor/collectioneditor.js b/src/components/collectioneditor/collectioneditor.js index 4473c661e7..5c1bd5c6f8 100644 --- a/src/components/collectioneditor/collectioneditor.js +++ b/src/components/collectioneditor/collectioneditor.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'emby-linkbutton', 'flexStyles'], function (dialogHelper, loading, appHost, layoutManager, connectionManager, appRouter, globalize) { +define(['dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (dialogHelper, loading, appHost, layoutManager, connectionManager, appRouter, globalize) { 'use strict'; var currentServerId; diff --git a/src/components/dialoghelper/dialoghelper.js b/src/components/dialogHelper/dialogHelper.js similarity index 100% rename from src/components/dialoghelper/dialoghelper.js rename to src/components/dialogHelper/dialogHelper.js diff --git a/src/components/dialoghelper/dialoghelper.css b/src/components/dialogHelper/dialoghelper.css similarity index 100% rename from src/components/dialoghelper/dialoghelper.css rename to src/components/dialogHelper/dialoghelper.css diff --git a/src/components/dialoghelper/package.json b/src/components/dialogHelper/package.json similarity index 100% rename from src/components/dialoghelper/package.json rename to src/components/dialogHelper/package.json diff --git a/src/components/directorybrowser/directorybrowser.js b/src/components/directorybrowser/directorybrowser.js index c6d811e959..e4ceecc0ca 100644 --- a/src/components/directorybrowser/directorybrowser.js +++ b/src/components/directorybrowser/directorybrowser.js @@ -1,4 +1,4 @@ -define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'emby-button', 'paper-icon-button-light', 'css!./directorybrowser', 'formDialogStyle', 'emby-linkbutton'], function(loading, dialogHelper, dom) { +define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-icon-button-light', 'css!./directorybrowser', 'formDialogStyle', 'emby-button'], function(loading, dialogHelper, dom) { 'use strict'; function getSystemInfo() { diff --git a/src/components/displaysettings/displaysettings.js b/src/components/displaysettings/displaysettings.js index a33dba8e07..680c6b634b 100644 --- a/src/components/displaysettings/displaysettings.js +++ b/src/components/displaysettings/displaysettings.js @@ -1,4 +1,4 @@ -define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', 'apphost', 'focusManager', 'datetime', 'globalize', 'loading', 'connectionManager', 'skinManager', 'dom', 'events', 'emby-select', 'emby-checkbox', 'emby-linkbutton'], function (require, browser, layoutManager, appSettings, pluginManager, appHost, focusManager, datetime, globalize, loading, connectionManager, skinManager, dom, events) { +define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', 'apphost', 'focusManager', 'datetime', 'globalize', 'loading', 'connectionManager', 'skinManager', 'dom', 'events', 'emby-select', 'emby-checkbox', 'emby-button'], function (require, browser, layoutManager, appSettings, pluginManager, appHost, focusManager, datetime, globalize, loading, connectionManager, skinManager, dom, events) { "use strict"; function fillThemes(select, isDashboard) { diff --git a/src/components/emby-radio/package.json b/src/components/emby-radio/package.json new file mode 100644 index 0000000000..2c1b97bd32 --- /dev/null +++ b/src/components/emby-radio/package.json @@ -0,0 +1,3 @@ +{ + "main": "emby-radio.js" +} \ No newline at end of file diff --git a/src/components/emby-scroller/emby-scroller.js b/src/components/emby-scroller/emby-scroller.js index d3718cedf3..7ef39eea0a 100644 --- a/src/components/emby-scroller/emby-scroller.js +++ b/src/components/emby-scroller/emby-scroller.js @@ -108,8 +108,7 @@ define(['scroller', 'dom', 'layoutManager', 'inputManager', 'focusManager', 'bro var headroom = new Headroom([], { scroller: elem }); - // initialise - headroom.init(); + headroom.add(document.querySelector('.skinHeader')); elem.headroom = headroom; }); diff --git a/src/components/emby-tabs/package.json b/src/components/emby-tabs/package.json new file mode 100644 index 0000000000..0813d041c7 --- /dev/null +++ b/src/components/emby-tabs/package.json @@ -0,0 +1,3 @@ +{ + "main": "emby-tabs.js" +} \ No newline at end of file diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index 42bd101129..89457aa4e6 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -1,4 +1,4 @@ -define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', 'inputManager', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'userSettings', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'emby-linkbutton', 'flexStyles'], function (require, dom, focusManager, dialogHelper, loading, appHost, inputManager, layoutManager, connectionManager, appRouter, globalize, userSettings) { +define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', 'inputManager', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'userSettings', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (require, dom, focusManager, dialogHelper, loading, appHost, inputManager, layoutManager, connectionManager, appRouter, globalize, userSettings) { 'use strict'; function onSubmit(e) { diff --git a/src/components/fullscreen/fullscreen-dc.js b/src/components/fullscreen/fullscreen-dc.js deleted file mode 100644 index bc12a6a76d..0000000000 --- a/src/components/fullscreen/fullscreen-dc.js +++ /dev/null @@ -1,26 +0,0 @@ -define(['dom', 'fullscreenManager'], function (dom, fullscreenManager) { - 'use strict'; - - function isTargetValid(target) { - - if (dom.parentWithTag(target, ['BUTTON', 'INPUT', 'TEXTAREA'])) { - return false; - } - - return true; - } - - dom.addEventListener(window, 'dblclick', function (e) { - - if (isTargetValid(e.target)) { - if (fullscreenManager.isFullScreen()) { - fullscreenManager.exitFullscreen(); - } else { - fullscreenManager.requestFullscreen(); - } - } - - }, { - passive: true - }); -}); \ No newline at end of file diff --git a/src/components/fullscreen/fullscreenmanager.js b/src/components/fullscreenManager.js similarity index 78% rename from src/components/fullscreen/fullscreenmanager.js rename to src/components/fullscreenManager.js index 5773e57d07..079267a6c4 100644 --- a/src/components/fullscreen/fullscreenmanager.js +++ b/src/components/fullscreenManager.js @@ -1,4 +1,4 @@ -define(['events', 'dom'], function (events, dom) { +define(['events', 'dom', 'apphost', 'browser'], function (events, dom, appHost, browser) { 'use strict'; function fullscreenManager() { @@ -79,5 +79,25 @@ define(['events', 'dom'], function (events, dom) { passive: true }); + if (appHost.supports("fullscreenchange") && (browser.edgeUwp || -1 !== navigator.userAgent.toLowerCase().indexOf("electron"))) { + function isTargetValid(target) { + return !dom.parentWithTag(target, ['BUTTON', 'INPUT', 'TEXTAREA']); + } + + dom.addEventListener(window, 'dblclick', function (e) { + + if (isTargetValid(e.target)) { + if (manager.isFullScreen()) { + manager.exitFullscreen(); + } else { + manager.requestFullscreen(); + } + } + + }, { + passive: true + }); + } + return manager; }); diff --git a/src/components/headroom/headroom.js b/src/components/headroom/headroom.js index 9cb1cac04d..a3cc5b0435 100644 --- a/src/components/headroom/headroom.js +++ b/src/components/headroom/headroom.js @@ -75,47 +75,25 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay this.pinnedClass = options.pinnedClass; this.state = 'clear'; - } - function onScroll() { + this.options = { + offset: 0, + scroller: window, + initialClass: 'headroom', + unPinnedClass: 'headroom--unpinned', + pinnedClass: 'headroom--pinned' + }; - if (this.paused) { - return; - } - - requestAnimationFrame(this.rafCallback || (this.rafCallback = this.update.bind(this))); - } - - Headroom.prototype = { - constructor: Headroom, - - /** - * Initialises the widget - */ - init: function () { - - if (browser.supportsCssAnimation()) { - for (var i = 0, length = this.elems.length; i < length; i++) { - this.elems[i].classList.add(this.initialClass); - this.elems[i].addEventListener('clearheadroom', onHeadroomClearedExternally.bind(this)); - } - - this.attachEvent(); - } - - return this; - }, - - add: function (elem) { + this.add = function (elem) { if (browser.supportsCssAnimation()) { elem.classList.add(this.initialClass); elem.addEventListener('clearheadroom', onHeadroomClearedExternally.bind(this)); this.elems.push(elem); } - }, + }; - remove: function (elem) { + this.remove = function (elem) { elem.classList.remove(this.unPinnedClass); elem.classList.remove(this.initialClass); @@ -125,20 +103,20 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay if (i !== -1) { this.elems.splice(i, 1); } - }, + }; - pause: function () { + this.pause = function () { this.paused = true; - }, + }; - resume: function () { + this.resume = function () { this.paused = false; - }, + }; /** * Unattaches events and removes any classes that were added */ - destroy: function () { + this.destroy = function () { this.initialised = false; @@ -157,13 +135,13 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay capture: false, passive: true }); - }, + }; /** * Attaches the scroll event * @private */ - attachEvent: function () { + this.attachEvent = function () { if (!this.initialised) { this.lastKnownScrollY = this.getScrollY(); this.initialised = true; @@ -177,12 +155,12 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay this.update(); } - }, + }; /** * Unpins the header if it's currently pinned */ - clear: function () { + this.clear = function () { if (this.state === 'clear') { return; @@ -199,12 +177,12 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay classList.remove(unpinnedClass); //classList.remove(pinnedClass); } - }, + }; /** * Unpins the header if it's currently pinned */ - pin: function () { + this.pin = function () { if (this.state === 'pin') { return; @@ -221,12 +199,12 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay classList.remove(unpinnedClass); classList.add(pinnedClass); } - }, + }; /** * Unpins the header if it's currently pinned */ - unpin: function () { + this.unpin = function () { if (this.state === 'unpin') { return; @@ -243,14 +221,14 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay classList.add(unpinnedClass); //classList.remove(pinnedClass); } - }, + }; /** * Gets the Y scroll position * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollY * @return {Number} pixels the page has scrolled along the Y-axis */ - getScrollY: function () { + this.getScrollY = function () { var scroller = this.scroller; @@ -269,36 +247,36 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay } return (document.documentElement || document.body).scrollTop; - }, + }; /** * determine if it is appropriate to unpin * @param {int} currentScrollY the current y scroll position * @return {bool} true if should unpin, false otherwise */ - shouldUnpin: function (currentScrollY) { + this.shouldUnpin = function (currentScrollY) { var scrollingDown = currentScrollY > this.lastKnownScrollY, pastOffset = currentScrollY >= this.offset; return scrollingDown && pastOffset; - }, + }; /** * determine if it is appropriate to pin * @param {int} currentScrollY the current y scroll position * @return {bool} true if should pin, false otherwise */ - shouldPin: function (currentScrollY) { + this.shouldPin = function (currentScrollY) { var scrollingUp = currentScrollY < this.lastKnownScrollY, pastOffset = currentScrollY <= this.offset; return scrollingUp || pastOffset; - }, + }; /** * Handles updating the state of the widget */ - update: function () { + this.update = function () { if (this.paused) { return; @@ -330,8 +308,28 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay } this.lastKnownScrollY = currentScrollY; + }; + + + if (browser.supportsCssAnimation()) { + for (var i = 0, length = this.elems.length; i < length; i++) { + this.elems[i].classList.add(this.initialClass); + this.elems[i].addEventListener('clearheadroom', onHeadroomClearedExternally.bind(this)); + } + + this.attachEvent(); } - }; + } + + function onScroll() { + + if (this.paused) { + return; + } + + requestAnimationFrame(this.rafCallback || (this.rafCallback = this.update.bind(this))); + } + /** * Default options * @type {Object} @@ -345,5 +343,4 @@ define(['dom', 'layoutManager', 'browser', 'css!./headroom'], function (dom, lay }; return Headroom; - }); \ No newline at end of file diff --git a/src/components/headroom/package.json b/src/components/headroom/package.json new file mode 100644 index 0000000000..9c6c42c82a --- /dev/null +++ b/src/components/headroom/package.json @@ -0,0 +1,3 @@ +{ + "main": "headroom.js" +} \ No newline at end of file diff --git a/src/components/homesections/homesections.js b/src/components/homesections/homesections.js index 9c2ec05aac..0c30a015cc 100644 --- a/src/components/homesections/homesections.js +++ b/src/components/homesections/homesections.js @@ -1,4 +1,4 @@ -define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'layoutManager', 'imageLoader', 'globalize', 'itemShortcuts', 'itemHelper', 'appRouter', 'emby-button', 'paper-icon-button-light', 'emby-itemscontainer', 'emby-scroller', 'emby-linkbutton', 'css!./homesections'], function (connectionManager, cardBuilder, appSettings, dom, appHost, layoutManager, imageLoader, globalize, itemShortcuts, itemHelper, appRouter) { +define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'layoutManager', 'imageLoader', 'globalize', 'itemShortcuts', 'itemHelper', 'appRouter', 'paper-icon-button-light', 'emby-itemscontainer', 'emby-scroller', 'emby-button', 'css!./homesections'], function (connectionManager, cardBuilder, appSettings, dom, appHost, layoutManager, imageLoader, globalize, itemShortcuts, itemHelper, appRouter) { 'use strict'; function getDefaultSection(index) { diff --git a/src/components/htmlvideoplayer/htmlmediahelper.js b/src/components/htmlMediaHelper.js similarity index 100% rename from src/components/htmlvideoplayer/htmlmediahelper.js rename to src/components/htmlMediaHelper.js diff --git a/src/components/imagedownloader/imagedownloader.js b/src/components/imagedownloader/imagedownloader.js index f24acbb655..729bce3382 100644 --- a/src/components/imagedownloader/imagedownloader.js +++ b/src/components/imagedownloader/imagedownloader.js @@ -1,4 +1,4 @@ -define(['loading', 'apphost', 'dialogHelper', 'connectionManager', 'imageLoader', 'browser', 'layoutManager', 'scrollHelper', 'globalize', 'require', 'emby-checkbox', 'emby-button', 'paper-icon-button-light', 'emby-linkbutton', 'formDialogStyle', 'cardStyle'], function (loading, appHost, dialogHelper, connectionManager, imageLoader, browser, layoutManager, scrollHelper, globalize, require) { +define(['loading', 'apphost', 'dialogHelper', 'connectionManager', 'imageLoader', 'browser', 'layoutManager', 'scrollHelper', 'globalize', 'require', 'emby-checkbox', 'paper-icon-button-light', 'emby-button', 'formDialogStyle', 'cardStyle'], function (loading, appHost, dialogHelper, connectionManager, imageLoader, browser, layoutManager, scrollHelper, globalize, require) { 'use strict'; var currentItemId; @@ -364,7 +364,7 @@ define(['loading', 'apphost', 'dialogHelper', 'connectionManager', 'imageLoader' scrollHelper.centerFocus.on(dlg, false); } - // Has to be assigned a z-index after the call to .open() + // Has to be assigned a z-index after the call to .open() dlg.addEventListener('close', onDialogClosed); dialogHelper.open(dlg); diff --git a/src/components/images/basicimagefetcher.js b/src/components/images/imageFetcher.js similarity index 100% rename from src/components/images/basicimagefetcher.js rename to src/components/images/imageFetcher.js diff --git a/src/components/images/imagehelper.js b/src/components/images/imageLoader.js similarity index 100% rename from src/components/images/imagehelper.js rename to src/components/images/imageLoader.js diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css index 4b4e88f842..312bf14a16 100644 --- a/src/components/listview/listview.css +++ b/src/components/listview/listview.css @@ -100,7 +100,7 @@ min-width: 2.78em; min-height: 2.78em; background-repeat: no-repeat; - background-size: contain; + background-size: cover; flex-shrink: 0; background-position: center center; position: relative; diff --git a/src/components/loading/loading-lite.css b/src/components/loading/loading.css similarity index 100% rename from src/components/loading/loading-lite.css rename to src/components/loading/loading.css diff --git a/src/components/loading/loading-lite.js b/src/components/loading/loading.js similarity index 93% rename from src/components/loading/loading-lite.js rename to src/components/loading/loading.js index 00aff8f0f8..ad9aea950a 100644 --- a/src/components/loading/loading-lite.js +++ b/src/components/loading/loading.js @@ -1,6 +1,10 @@ -define(['css!./loading-lite'], function () { +define(['components/loading/loadingLegacy', 'browser', 'css!./loading'], function (loadingLegacy, browser) { 'use strict'; + if (browser.tizen || browser.operaTv || browser.chromecast || browser.orsay || browser.web0s || browser.ps4) { + return loadingLegacy; + } + var loadingElem; var layer1; var layer2; diff --git a/src/components/loading/loading-legacy.css b/src/components/loading/loadingLegacy.css similarity index 100% rename from src/components/loading/loading-legacy.css rename to src/components/loading/loadingLegacy.css diff --git a/src/components/loading/loading-legacy.js b/src/components/loading/loadingLegacy.js similarity index 90% rename from src/components/loading/loading-legacy.js rename to src/components/loading/loadingLegacy.js index bb8d8a99ab..c5ffd8dc6b 100644 --- a/src/components/loading/loading-legacy.js +++ b/src/components/loading/loadingLegacy.js @@ -1,4 +1,4 @@ -define(['require', 'css!./loading-legacy'], function (require) { +define(['require', 'css!./loadingLegacy'], function (require) { 'use strict'; var loadingElem; diff --git a/src/components/loading/package.json b/src/components/loading/package.json new file mode 100644 index 0000000000..79fd41b0f8 --- /dev/null +++ b/src/components/loading/package.json @@ -0,0 +1,3 @@ +{ + "main": "loading.js" +} \ No newline at end of file diff --git a/src/components/maintabsmanager.js b/src/components/maintabsmanager.js index b8da631df9..64e25b4870 100644 --- a/src/components/maintabsmanager.js +++ b/src/components/maintabsmanager.js @@ -1,4 +1,4 @@ -define(['dom', 'browser', 'events', 'emby-tabs', 'emby-button', 'emby-linkbutton'], function (dom, browser, events) { +define(['dom', 'browser', 'events', 'emby-tabs', 'emby-button'], function (dom, browser, events) { 'use strict'; var tabOwnerView; diff --git a/src/components/mediainfo/mediainfo.js b/src/components/mediainfo/mediainfo.js index 3f92425034..441adac3dd 100644 --- a/src/components/mediainfo/mediainfo.js +++ b/src/components/mediainfo/mediainfo.js @@ -1,4 +1,4 @@ -define(['datetime', 'globalize', 'appRouter', 'itemHelper', 'indicators', 'material-icons', 'css!./mediainfo.css', 'programStyles', 'emby-linkbutton'], function (datetime, globalize, appRouter, itemHelper, indicators) { +define(['datetime', 'globalize', 'appRouter', 'itemHelper', 'indicators', 'material-icons', 'css!./mediainfo.css', 'programStyles', 'emby-button'], function (datetime, globalize, appRouter, itemHelper, indicators) { 'use strict'; function getTimerIndicator(item) { diff --git a/src/components/medialibrarycreator/medialibrarycreator.js b/src/components/medialibrarycreator/medialibrarycreator.js index af51d2ef54..d02f0940cb 100644 --- a/src/components/medialibrarycreator/medialibrarycreator.js +++ b/src/components/medialibrarycreator/medialibrarycreator.js @@ -1,4 +1,4 @@ -define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionseditor/libraryoptionseditor", "emby-toggle", "emby-input", "emby-select", "paper-icon-button-light", "listViewStyle", "formDialogStyle", "emby-linkbutton", "flexStyles"], function(loading, dialogHelper, dom, $, libraryoptionseditor) { +define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionseditor/libraryoptionseditor", "emby-toggle", "emby-input", "emby-select", "paper-icon-button-light", "listViewStyle", "formDialogStyle", "emby-button", "flexStyles"], function(loading, dialogHelper, dom, $, libraryoptionseditor) { "use strict"; function onSubmit(e) { diff --git a/src/components/navdrawer/package.json b/src/components/navdrawer/package.json new file mode 100644 index 0000000000..d02800957b --- /dev/null +++ b/src/components/navdrawer/package.json @@ -0,0 +1,3 @@ +{ + "main": "navdrawer.js" +} \ No newline at end of file diff --git a/src/components/playback/playerselection.js b/src/components/playback/playerSelectionMenu.js similarity index 100% rename from src/components/playback/playerselection.js rename to src/components/playback/playerSelectionMenu.js diff --git a/src/components/scroller/smoothscroller.js b/src/components/scroller.js similarity index 100% rename from src/components/scroller/smoothscroller.js rename to src/components/scroller.js diff --git a/src/components/search/searchresults.js b/src/components/search/searchresults.js index 1b8161d333..e42088c066 100644 --- a/src/components/search/searchresults.js +++ b/src/components/search/searchresults.js @@ -1,4 +1,4 @@ -define(['layoutManager', 'globalize', 'require', 'events', 'connectionManager', 'cardBuilder', 'appRouter', 'emby-scroller', 'emby-itemscontainer', 'emby-linkbutton'], function (layoutManager, globalize, require, events, connectionManager, cardBuilder, appRouter) { +define(['layoutManager', 'globalize', 'require', 'events', 'connectionManager', 'cardBuilder', 'appRouter', 'emby-scroller', 'emby-itemscontainer', 'emby-button'], function (layoutManager, globalize, require, events, connectionManager, cardBuilder, appRouter) { 'use strict'; function loadSuggestions(instance, context, apiClient) { diff --git a/src/components/apiInput/gamepadtokey.js b/src/components/serverNotifications/gamepadtokey.js similarity index 100% rename from src/components/apiInput/gamepadtokey.js rename to src/components/serverNotifications/gamepadtokey.js diff --git a/src/components/apiInput/mouseManager.js b/src/components/serverNotifications/mouseManager.js similarity index 100% rename from src/components/apiInput/mouseManager.js rename to src/components/serverNotifications/mouseManager.js diff --git a/src/components/serverNotifications/package.json b/src/components/serverNotifications/package.json new file mode 100644 index 0000000000..779da202d2 --- /dev/null +++ b/src/components/serverNotifications/package.json @@ -0,0 +1,3 @@ +{ + "main": "serverNotifications.js" +} \ No newline at end of file diff --git a/src/components/apiInput/apiInput.js b/src/components/serverNotifications/serverNotifications.js similarity index 98% rename from src/components/apiInput/apiInput.js rename to src/components/serverNotifications/serverNotifications.js index 388fb11beb..2537723b68 100644 --- a/src/components/apiInput/apiInput.js +++ b/src/components/serverNotifications/serverNotifications.js @@ -248,10 +248,10 @@ define(['connectionManager', 'playbackManager', 'events', 'inputManager', 'focus }); if (!enableNativeGamepadKeyMapping() && isGamepadSupported()) { - require(["components/apiInput/gamepadtokey"]); + require(["components/serverNotifications/gamepadtokey"]); } - require(["components/apiInput/mouseManager"]); + require(["components/serverNotifications/mouseManager"]); return serverNotifications; }); diff --git a/src/components/serverrestartdialog/serverrestartdialog.js b/src/components/serverRestartDialog.js similarity index 100% rename from src/components/serverrestartdialog/serverrestartdialog.js rename to src/components/serverRestartDialog.js diff --git a/src/components/sortmenu/sortmenu.js b/src/components/sortmenu/sortmenu.js index 90dc1790d1..da2fcdaa7c 100644 --- a/src/components/sortmenu/sortmenu.js +++ b/src/components/sortmenu/sortmenu.js @@ -1,4 +1,4 @@ -define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'globalize', 'userSettings', 'emby-select', 'paper-icon-button-light', 'material-icons', 'css!./../formdialog', 'emby-button', 'emby-linkbutton', 'flexStyles'], function (require, dom, focusManager, dialogHelper, loading, layoutManager, connectionManager, globalize, userSettings) { +define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'globalize', 'userSettings', 'emby-select', 'paper-icon-button-light', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (require, dom, focusManager, dialogHelper, loading, layoutManager, connectionManager, globalize, userSettings) { 'use strict'; function onSubmit(e) { diff --git a/src/components/toast/package.json b/src/components/toast/package.json new file mode 100644 index 0000000000..2e64841a7f --- /dev/null +++ b/src/components/toast/package.json @@ -0,0 +1,3 @@ +{ + "main": "toast.js" +} \ No newline at end of file diff --git a/src/components/tvproviders/schedulesdirect.js b/src/components/tvproviders/schedulesdirect.js index 0eb54a472d..9af7e5be72 100644 --- a/src/components/tvproviders/schedulesdirect.js +++ b/src/components/tvproviders/schedulesdirect.js @@ -1,4 +1,4 @@ -define(["jQuery", "loading", "emby-checkbox", "listViewStyle", "emby-input", "emby-select", "emby-linkbutton", "flexStyles"], function($, loading) { +define(["jQuery", "loading", "emby-checkbox", "listViewStyle", "emby-input", "emby-select", "emby-button", "flexStyles"], function($, loading) { "use strict"; return function(page, providerId, options) { function reload() { diff --git a/src/components/viewcontainer-lite.js b/src/components/viewContainer.js similarity index 98% rename from src/components/viewcontainer-lite.js rename to src/components/viewContainer.js index fbcc2754e0..4c02ba3c6e 100644 --- a/src/components/viewcontainer-lite.js +++ b/src/components/viewContainer.js @@ -1,4 +1,4 @@ -define(["browser", "dom", "layoutManager", "css!components/viewmanager/viewcontainer-lite"], function(browser, dom, layoutManager) { +define(["browser", "dom", "layoutManager", "css!components/viewManager/viewContainer"], function(browser, dom, layoutManager) { "use strict"; function setControllerClass(view, options) { diff --git a/src/components/viewManager/package.json b/src/components/viewManager/package.json new file mode 100644 index 0000000000..819371af71 --- /dev/null +++ b/src/components/viewManager/package.json @@ -0,0 +1,3 @@ +{ + "main": "viewManager.js" +} \ No newline at end of file diff --git a/src/components/viewmanager/viewcontainer-lite.css b/src/components/viewManager/viewContainer.css similarity index 100% rename from src/components/viewmanager/viewcontainer-lite.css rename to src/components/viewManager/viewContainer.css diff --git a/src/components/viewmanager/viewmanager.js b/src/components/viewManager/viewManager.js similarity index 100% rename from src/components/viewmanager/viewmanager.js rename to src/components/viewManager/viewManager.js diff --git a/src/components/viewmanager/viewcontainer-lite.js b/src/components/viewmanager/viewcontainer-lite.js deleted file mode 100644 index 57c8fe926c..0000000000 --- a/src/components/viewmanager/viewcontainer-lite.js +++ /dev/null @@ -1,313 +0,0 @@ -define(['browser', 'dom', 'layoutManager', 'css!./viewcontainer-lite'], function (browser, dom, layoutManager) { - 'use strict'; - - var mainAnimatedPages = document.querySelector('.mainAnimatedPages'); - var allPages = []; - var currentUrls = []; - var pageContainerCount = 3; - var selectedPageIndex = -1; - - function enableAnimation() { - - // too slow - if (browser.tv) { - return false; - } - - return browser.supportsCssAnimation(); - } - - function findLastView(parent, className) { - - var nodes = parent.childNodes; - for (var i = nodes.length - 1; i >= 0; i--) { - var node = nodes[i]; - var classList = node.classList; - if (classList && classList.contains(className)) { - return node; - } - } - } - - function findViewBefore(elem, className) { - - var node = elem.previousSibling; - while (node) { - var classList = node.classList; - if (classList && classList.contains(className)) { - return node; - } - - node = node.previousSibling; - } - } - - function loadView(options) { - - if (options.cancel) { - return; - } - - cancelActiveAnimations(); - - var selected = selectedPageIndex; - var previousAnimatable = selected === -1 ? null : allPages[selected]; - var pageIndex = selected + 1; - - if (pageIndex >= pageContainerCount) { - pageIndex = 0; - } - - var viewHtml = options.view; - - var properties = []; - if (options.fullscreen) { - properties.push('fullscreen'); - } - - var currentPage = allPages[pageIndex]; - - var view; - - if (currentPage) { - triggerDestroy(currentPage); - currentPage.insertAdjacentHTML('beforebegin', viewHtml); - view = findViewBefore(currentPage, 'view'); - - mainAnimatedPages.removeChild(currentPage); - - } else { - mainAnimatedPages.insertAdjacentHTML('beforeend', viewHtml); - - view = findLastView(mainAnimatedPages, 'view'); - } - - view.classList.add('mainAnimatedPage'); - - if (properties.length) { - view.setAttribute('data-properties', properties.join(',')); - } - - if (options.type) { - view.setAttribute('data-type', options.type); - } - - allPages[pageIndex] = view; - - if (onBeforeChange) { - onBeforeChange(view, false, options); - } - - beforeAnimate(allPages, pageIndex, selected); - - // animate here - return animate(view, previousAnimatable, options.transition, options.isBack).then(function () { - - selectedPageIndex = pageIndex; - currentUrls[pageIndex] = options.url; - if (!options.cancel && previousAnimatable) { - afterAnimate(allPages, pageIndex); - } - - return view; - }); - } - - function beforeAnimate(allPages, newPageIndex, oldPageIndex) { - for (var i = 0, length = allPages.length; i < length; i++) { - if (newPageIndex === i || oldPageIndex === i) { - //allPages[i].classList.remove('hide'); - } else { - allPages[i].classList.add('hide'); - } - } - } - - function afterAnimate(allPages, newPageIndex) { - for (var i = 0, length = allPages.length; i < length; i++) { - if (newPageIndex === i) { - //allPages[i].classList.remove('hide'); - } else { - allPages[i].classList.add('hide'); - } - } - } - - function animate(newAnimatedPage, oldAnimatedPage, transition, isBack) { - - if (enableAnimation() && oldAnimatedPage) { - if (transition === 'slide') { - return slide(newAnimatedPage, oldAnimatedPage, transition, isBack); - } else if (transition === 'fade') { - return fade(newAnimatedPage, oldAnimatedPage, transition, isBack); - } else { - clearAnimation(newAnimatedPage); - if (oldAnimatedPage) { - clearAnimation(oldAnimatedPage); - } - } - } - - return Promise.resolve(); - } - - function clearAnimation(elem) { - setAnimation(elem, 'none'); - } - - function slide(newAnimatedPage, oldAnimatedPage, transition, isBack) { - - return new Promise(function (resolve, reject) { - - var duration = layoutManager.tv ? 450 : 160; - - var animations = []; - - if (oldAnimatedPage) { - if (isBack) { - setAnimation(oldAnimatedPage, 'view-slideright-r ' + duration + 'ms ease-out normal both'); - } else { - setAnimation(oldAnimatedPage, 'view-slideleft-r ' + duration + 'ms ease-out normal both'); - } - animations.push(oldAnimatedPage); - } - - if (isBack) { - setAnimation(newAnimatedPage, 'view-slideright ' + duration + 'ms ease-out normal both'); - } else { - setAnimation(newAnimatedPage, 'view-slideleft ' + duration + 'ms ease-out normal both'); - } - animations.push(newAnimatedPage); - - currentAnimations = animations; - - var onAnimationComplete = function () { - dom.removeEventListener(newAnimatedPage, dom.whichAnimationEvent(), onAnimationComplete, { - once: true - }); - resolve(); - }; - - dom.addEventListener(newAnimatedPage, dom.whichAnimationEvent(), onAnimationComplete, { - once: true - }); - }); - } - - function fade(newAnimatedPage, oldAnimatedPage, transition, isBack) { - - return new Promise(function (resolve, reject) { - - var duration = layoutManager.tv ? 450 : 270; - var animations = []; - - newAnimatedPage.style.opacity = 0; - setAnimation(newAnimatedPage, 'view-fadein ' + duration + 'ms ease-in normal both'); - animations.push(newAnimatedPage); - - if (oldAnimatedPage) { - setAnimation(oldAnimatedPage, 'view-fadeout ' + duration + 'ms ease-out normal both'); - animations.push(oldAnimatedPage); - } - - currentAnimations = animations; - - var onAnimationComplete = function () { - dom.removeEventListener(newAnimatedPage, dom.whichAnimationEvent(), onAnimationComplete, { - once: true - }); - resolve(); - }; - - dom.addEventListener(newAnimatedPage, dom.whichAnimationEvent(), onAnimationComplete, { - once: true - }); - }); - } - - function setAnimation(elem, value) { - - requestAnimationFrame(function () { - elem.style.animation = value; - }); - } - - var currentAnimations = []; - function cancelActiveAnimations() { - - var animations = currentAnimations; - for (var i = 0, length = animations.length; i < length; i++) { - animations[i].style.animation = 'none'; - } - } - - var onBeforeChange; - function setOnBeforeChange(fn) { - onBeforeChange = fn; - } - - function tryRestoreView(options) { - - var url = options.url; - var index = currentUrls.indexOf(url); - - if (index !== -1) { - - var animatable = allPages[index]; - var view = animatable; - - if (view) { - - if (options.cancel) { - return; - } - - cancelActiveAnimations(); - - var selected = selectedPageIndex; - var previousAnimatable = selected === -1 ? null : allPages[selected]; - - if (onBeforeChange) { - onBeforeChange(view, true, options); - } - - beforeAnimate(allPages, index, selected); - - animatable.classList.remove('hide'); - - return animate(animatable, previousAnimatable, options.transition, options.isBack).then(function () { - - selectedPageIndex = index; - if (!options.cancel && previousAnimatable) { - afterAnimate(allPages, index); - } - return view; - }); - } - } - - return Promise.reject(); - } - - function triggerDestroy(view) { - - view.dispatchEvent(new CustomEvent('viewdestroy', { - cancelable: false - })); - } - - function reset() { - - allPages = []; - currentUrls = []; - mainAnimatedPages.innerHTML = ''; - selectedPageIndex = -1; - } - - return { - loadView: loadView, - tryRestoreView: tryRestoreView, - reset: reset, - setOnBeforeChange: setOnBeforeChange - }; -}); \ No newline at end of file diff --git a/src/components/viewsettings/viewsettings.js b/src/components/viewsettings/viewsettings.js index af2167fa6f..617e021115 100644 --- a/src/components/viewsettings/viewsettings.js +++ b/src/components/viewsettings/viewsettings.js @@ -1,4 +1,4 @@ -define(['require', 'dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'userSettings', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'emby-linkbutton', 'flexStyles'], function (require, dialogHelper, loading, appHost, layoutManager, connectionManager, appRouter, globalize, userSettings) { +define(['require', 'dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'userSettings', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (require, dialogHelper, loading, appHost, layoutManager, connectionManager, appRouter, globalize, userSettings) { 'use strict'; function onSubmit(e) { diff --git a/src/controllers/addpluginpage.js b/src/controllers/addpluginpage.js index 6ad5b05d3f..32f71b8027 100644 --- a/src/controllers/addpluginpage.js +++ b/src/controllers/addpluginpage.js @@ -1,4 +1,4 @@ -define(["jQuery", "loading", "libraryMenu", "globalize", "connectionManager", "emby-linkbutton"], function($, loading, libraryMenu, globalize, connectionManager) { +define(["jQuery", "loading", "libraryMenu", "globalize", "connectionManager", "emby-button"], function($, loading, libraryMenu, globalize, connectionManager) { "use strict"; function populateHistory(packageInfo, page) { diff --git a/src/controllers/addserver.js b/src/controllers/addserver.js index 3afb9c68a8..45fa427420 100644 --- a/src/controllers/addserver.js +++ b/src/controllers/addserver.js @@ -1,4 +1,4 @@ -define(["appSettings", "loading", "browser", "emby-linkbutton"], function(appSettings, loading, browser) { +define(["appSettings", "loading", "browser", "emby-button"], function(appSettings, loading, browser) { "use strict"; function handleConnectionResult(page, result) { diff --git a/src/controllers/dashboardgeneral.js b/src/controllers/dashboardgeneral.js index c02717fdbb..09aa1ec08e 100644 --- a/src/controllers/dashboardgeneral.js +++ b/src/controllers/dashboardgeneral.js @@ -1,4 +1,4 @@ -define(["jQuery", "loading", "fnchecked", "emby-checkbox", "emby-textarea", "emby-input", "emby-select", "emby-linkbutton"], function($, loading) { +define(["jQuery", "loading", "fnchecked", "emby-checkbox", "emby-textarea", "emby-input", "emby-select", "emby-button"], function($, loading) { "use strict"; function loadPage(page, config, languageOptions, systemInfo) { diff --git a/src/controllers/dashboardpage.js b/src/controllers/dashboardpage.js index c0a363d65c..446a7c6d6f 100644 --- a/src/controllers/dashboardpage.js +++ b/src/controllers/dashboardpage.js @@ -1,4 +1,4 @@ -define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globalize", "loading", "connectionManager", "playMethodHelper", "cardBuilder", "imageLoader", "components/activitylog", "humanedate", "listViewStyle", "emby-linkbutton", "flexStyles", "emby-button", "emby-itemscontainer"], function (datetime, events, itemHelper, serverNotifications, dom, globalize, loading, connectionManager, playMethodHelper, cardBuilder, imageLoader, ActivityLog) { +define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globalize", "loading", "connectionManager", "playMethodHelper", "cardBuilder", "imageLoader", "components/activitylog", "humanedate", "listViewStyle", "emby-button", "flexStyles", "emby-button", "emby-itemscontainer"], function (datetime, events, itemHelper, serverNotifications, dom, globalize, loading, connectionManager, playMethodHelper, cardBuilder, imageLoader, ActivityLog) { "use strict"; function buttonEnabled(elem, enabled) { diff --git a/src/controllers/devices.js b/src/controllers/devices.js index e5e5d16dc7..e4c2f6b44b 100644 --- a/src/controllers/devices.js +++ b/src/controllers/devices.js @@ -1,4 +1,4 @@ -define(["loading", "dom", "libraryMenu", "globalize", "humanedate", "emby-linkbutton", "emby-itemscontainer", "cardStyle"], function(loading, dom, libraryMenu, globalize) { +define(["loading", "dom", "libraryMenu", "globalize", "humanedate", "emby-button", "emby-itemscontainer", "cardStyle"], function(loading, dom, libraryMenu, globalize) { "use strict"; function canDelete(deviceId) { diff --git a/src/controllers/itemdetailpage.js b/src/controllers/itemdetailpage.js index 685927a09d..3a0e776d3f 100644 --- a/src/controllers/itemdetailpage.js +++ b/src/controllers/itemdetailpage.js @@ -1,4 +1,4 @@ -define(["loading", "appRouter", "layoutManager", "connectionManager", "cardBuilder", "datetime", "mediaInfo", "backdrop", "listView", "itemContextMenu", "itemHelper", "dom", "indicators", "apphost", "imageLoader", "libraryMenu", "globalize", "browser", "events", "scrollHelper", "playbackManager", "libraryBrowser", "scrollStyles", "emby-itemscontainer", "emby-checkbox", "emby-linkbutton", "emby-playstatebutton", "emby-ratingbutton", "emby-scroller", "emby-select"], function(loading, appRouter, layoutManager, connectionManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, dom, indicators, appHost, imageLoader, libraryMenu, globalize, browser, events, scrollHelper, playbackManager, libraryBrowser) { +define(["loading", "appRouter", "layoutManager", "connectionManager", "cardBuilder", "datetime", "mediaInfo", "backdrop", "listView", "itemContextMenu", "itemHelper", "dom", "indicators", "apphost", "imageLoader", "libraryMenu", "globalize", "browser", "events", "scrollHelper", "playbackManager", "libraryBrowser", "scrollStyles", "emby-itemscontainer", "emby-checkbox", "emby-button", "emby-playstatebutton", "emby-ratingbutton", "emby-scroller", "emby-select"], function(loading, appRouter, layoutManager, connectionManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, dom, indicators, appHost, imageLoader, libraryMenu, globalize, browser, events, scrollHelper, playbackManager, libraryBrowser) { "use strict"; function getPromise(apiClient, params) { diff --git a/src/controllers/librarydisplay.js b/src/controllers/librarydisplay.js index 924641d743..80f5bbc09b 100644 --- a/src/controllers/librarydisplay.js +++ b/src/controllers/librarydisplay.js @@ -1,4 +1,4 @@ -define(["globalize", "loading", "libraryMenu", "emby-checkbox", "emby-button", "emby-linkbutton"], function(globalize, loading, libraryMenu) { +define(["globalize", "loading", "libraryMenu", "emby-checkbox", "emby-button", "emby-button"], function(globalize, loading, libraryMenu) { "use strict"; function getTabs() { diff --git a/src/controllers/librarysettings.js b/src/controllers/librarysettings.js index 5e700b6fb0..3fc9c40d98 100644 --- a/src/controllers/librarysettings.js +++ b/src/controllers/librarysettings.js @@ -1,4 +1,4 @@ -define(["jQuery", "loading", "libraryMenu", "fnchecked", "emby-checkbox", "emby-linkbutton"], function($, loading, libraryMenu) { +define(["jQuery", "loading", "libraryMenu", "fnchecked", "emby-checkbox", "emby-button"], function($, loading, libraryMenu) { "use strict"; function loadPage(page, config) { @@ -88,4 +88,4 @@ define(["jQuery", "loading", "libraryMenu", "fnchecked", "emby-checkbox", "emby- }); }); } -}); +}); \ No newline at end of file diff --git a/src/controllers/loginpage.js b/src/controllers/loginpage.js index e848bfde46..fc8369c29a 100644 --- a/src/controllers/loginpage.js +++ b/src/controllers/loginpage.js @@ -87,7 +87,7 @@ define(["appSettings", "dom", "connectionManager", "loading", "cardStyle", "emby }), view.addEventListener("viewshow", function(e) { loading.show(); var apiClient = getApiClient(); - apiClient.getPublicUsers().then(function(users) {debugger; + apiClient.getPublicUsers().then(function(users) { if (users.length) { if (users[0].EnableAutoLogin) { authenticateUserByName(view, apiClient, users[0].Name, ""); diff --git a/src/controllers/logpage.js b/src/controllers/logpage.js index 0c29389255..4b288b288f 100644 --- a/src/controllers/logpage.js +++ b/src/controllers/logpage.js @@ -1,4 +1,4 @@ -define(["datetime", "loading", "apphost", "listViewStyle", "emby-linkbutton", "flexStyles"], function(datetime, loading, appHost) { +define(["datetime", "loading", "apphost", "listViewStyle", "emby-button", "flexStyles"], function(datetime, loading, appHost) { "use strict"; return function(view, params) { view.querySelector("#chkDebugLog").addEventListener("change", function() { diff --git a/src/controllers/mypreferencescommon.js b/src/controllers/mypreferencescommon.js index c30d6f723a..e52fcc1b34 100644 --- a/src/controllers/mypreferencescommon.js +++ b/src/controllers/mypreferencescommon.js @@ -1,4 +1,4 @@ -define(["apphost", "connectionManager", "listViewStyle", "emby-linkbutton"], function(appHost, connectionManager) { +define(["apphost", "connectionManager", "listViewStyle", "emby-button"], function(appHost, connectionManager) { "use strict"; return function(view, params) { diff --git a/src/controllers/myprofile.js b/src/controllers/myprofile.js index 71baf40a41..be8f1b446e 100644 --- a/src/controllers/myprofile.js +++ b/src/controllers/myprofile.js @@ -1,4 +1,4 @@ -define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-linkbutton"], function (Userpasswordpage, loading, libraryMenu, appHost) { +define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-button"], function (Userpasswordpage, loading, libraryMenu, appHost) { "use strict"; function reloadUser(page) { diff --git a/src/controllers/notificationsettings.js b/src/controllers/notificationsettings.js index b167ca00e4..092d92e24b 100644 --- a/src/controllers/notificationsettings.js +++ b/src/controllers/notificationsettings.js @@ -1,4 +1,4 @@ -define(["loading", "libraryMenu", "globalize", "listViewStyle", "emby-linkbutton"], function(loading, libraryMenu, globalize) { +define(["loading", "libraryMenu", "globalize", "listViewStyle", "emby-button"], function(loading, libraryMenu, globalize) { "use strict"; function reload(page) { diff --git a/src/controllers/plugincatalogpage.js b/src/controllers/plugincatalogpage.js index b399ba098a..c823d7c372 100644 --- a/src/controllers/plugincatalogpage.js +++ b/src/controllers/plugincatalogpage.js @@ -1,4 +1,4 @@ -define(["loading", "libraryMenu", "globalize", "cardStyle", "emby-linkbutton", "emby-checkbox", "emby-select"], function (loading, libraryMenu, globalize) { +define(["loading", "libraryMenu", "globalize", "cardStyle", "emby-button", "emby-checkbox", "emby-select"], function (loading, libraryMenu, globalize) { "use strict"; function reloadList(page) { diff --git a/src/controllers/scheduledtaskspage.js b/src/controllers/scheduledtaskspage.js index 50c2ef53a0..1580f1a4c3 100644 --- a/src/controllers/scheduledtaskspage.js +++ b/src/controllers/scheduledtaskspage.js @@ -1,4 +1,4 @@ -define(["jQuery", "loading", "events", "globalize", "serverNotifications", "humanedate", "listViewStyle", "emby-linkbutton"], function($, loading, events, globalize, serverNotifications) { +define(["jQuery", "loading", "events", "globalize", "serverNotifications", "humanedate", "listViewStyle", "emby-button"], function($, loading, events, globalize, serverNotifications) { "use strict"; function reloadList(page) { diff --git a/src/controllers/userpasswordpage.js b/src/controllers/userpasswordpage.js index 478ba95724..d1eef004f6 100644 --- a/src/controllers/userpasswordpage.js +++ b/src/controllers/userpasswordpage.js @@ -1,4 +1,4 @@ -define(["loading", "libraryMenu", "emby-linkbutton"], function(loading, libraryMenu) { +define(["loading", "libraryMenu", "emby-button"], function(loading, libraryMenu) { "use strict"; function loadUser(page, params) { diff --git a/src/controllers/wizarduserpage.js b/src/controllers/wizarduserpage.js index c3508efc12..a3654edf0e 100644 --- a/src/controllers/wizarduserpage.js +++ b/src/controllers/wizarduserpage.js @@ -1,4 +1,4 @@ -define(["loading", "globalize", "dashboardcss", "emby-input", "emby-button", "emby-linkbutton"], function(loading, globalize) { +define(["loading", "globalize", "dashboardcss", "emby-input", "emby-button", "emby-button"], function(loading, globalize) { "use strict"; function getApiClient() { diff --git a/src/scripts/dlnaprofile.js b/src/scripts/dlnaprofile.js index f9d72a3540..026c228d2d 100644 --- a/src/scripts/dlnaprofile.js +++ b/src/scripts/dlnaprofile.js @@ -1,4 +1,4 @@ -define(["jQuery", "loading", "fnchecked", "emby-select", "emby-button", "emby-input", "emby-checkbox", "listViewStyle", "emby-linkbutton"], function($, loading) { +define(["jQuery", "loading", "fnchecked", "emby-select", "emby-button", "emby-input", "emby-checkbox", "listViewStyle", "emby-button"], function($, loading) { "use strict"; function loadProfile(page) { diff --git a/src/scripts/dlnaprofiles.js b/src/scripts/dlnaprofiles.js index 1f0fd1e791..b77b31e3b3 100644 --- a/src/scripts/dlnaprofiles.js +++ b/src/scripts/dlnaprofiles.js @@ -1,4 +1,4 @@ -define(["jQuery", "globalize", "loading", "libraryMenu", "listViewStyle", "emby-linkbutton"], function($, globalize, loading, libraryMenu) { +define(["jQuery", "globalize", "loading", "libraryMenu", "listViewStyle", "emby-button"], function($, globalize, loading, libraryMenu) { "use strict"; function loadProfiles(page) { diff --git a/src/scripts/itembynamedetailpage.js b/src/scripts/itembynamedetailpage.js index 31abfdfc31..727532a386 100644 --- a/src/scripts/itembynamedetailpage.js +++ b/src/scripts/itembynamedetailpage.js @@ -1,4 +1,4 @@ -define(["connectionManager", "listView", "cardBuilder", "imageLoader", "libraryBrowser", "emby-itemscontainer", "emby-linkbutton"], function(connectionManager, listView, cardBuilder, imageLoader, libraryBrowser) { +define(["connectionManager", "listView", "cardBuilder", "imageLoader", "libraryBrowser", "emby-itemscontainer", "emby-button"], function(connectionManager, listView, cardBuilder, imageLoader, libraryBrowser) { "use strict"; function renderItems(page, item) { diff --git a/src/scripts/librarymenu.js b/src/scripts/librarymenu.js index 56339b7075..9f21b81c16 100644 --- a/src/scripts/librarymenu.js +++ b/src/scripts/librarymenu.js @@ -724,7 +724,8 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " } function initHeadRoom(elem) { - require(["headroom-window"], function (headroom) { + require(["headroom"], function (Headroom) { + var headroom = new Headroom([], {}); headroom.add(elem); }); } diff --git a/src/scripts/livetvsettings.js b/src/scripts/livetvsettings.js index 4d659ad6b4..422257e33d 100644 --- a/src/scripts/livetvsettings.js +++ b/src/scripts/livetvsettings.js @@ -1,4 +1,4 @@ -define(["jQuery", "loading", "fnchecked", "emby-linkbutton"], function($, loading) { +define(["jQuery", "loading", "fnchecked", "emby-button"], function($, loading) { "use strict"; function loadPage(page, config) { diff --git a/src/scripts/livetvstatus.js b/src/scripts/livetvstatus.js index 3a7078ccd8..1ed1402d6d 100644 --- a/src/scripts/livetvstatus.js +++ b/src/scripts/livetvstatus.js @@ -1,4 +1,4 @@ -define(["jQuery", "globalize", "scripts/taskbutton", "dom", "libraryMenu", "layoutManager", "loading", "listViewStyle", "flexStyles", "emby-itemscontainer", "cardStyle", "material-icons", "emby-linkbutton"], function($, globalize, taskButton, dom, libraryMenu, layoutManager, loading) { +define(["jQuery", "globalize", "scripts/taskbutton", "dom", "libraryMenu", "layoutManager", "loading", "listViewStyle", "flexStyles", "emby-itemscontainer", "cardStyle", "material-icons", "emby-button"], function($, globalize, taskButton, dom, libraryMenu, layoutManager, loading) { "use strict"; function getDeviceHtml(device) { diff --git a/src/scripts/moviegenres.js b/src/scripts/moviegenres.js index baac9fbc8c..b3a313a06d 100644 --- a/src/scripts/moviegenres.js +++ b/src/scripts/moviegenres.js @@ -1,4 +1,4 @@ -define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader", "apphost", "globalize", "appRouter", "dom", "emby-linkbutton"], function(layoutManager, loading, libraryBrowser, cardBuilder, lazyLoader, appHost, globalize, appRouter, dom) { +define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader", "apphost", "globalize", "appRouter", "dom", "emby-button"], function(layoutManager, loading, libraryBrowser, cardBuilder, lazyLoader, appHost, globalize, appRouter, dom) { "use strict"; return function(view, params, tabContent) { function getPageData() { diff --git a/src/scripts/pluginspage.js b/src/scripts/pluginspage.js index 6264f012e0..86f49d809c 100644 --- a/src/scripts/pluginspage.js +++ b/src/scripts/pluginspage.js @@ -1,4 +1,4 @@ -define(["loading", "libraryMenu", "dom", "globalize", "cardStyle", "emby-linkbutton"], function(loading, libraryMenu, dom, globalize) { +define(["loading", "libraryMenu", "dom", "globalize", "cardStyle", "emby-button"], function(loading, libraryMenu, dom, globalize) { "use strict"; function deletePlugin(page, uniqueid, name) { diff --git a/src/scripts/site.js b/src/scripts/site.js index 6eb45b86d9..f984f20ebb 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -345,7 +345,6 @@ var AppInfo = {}; function createWindowHeadroom(Headroom) { var headroom = new Headroom([], {}); - headroom.init(); return headroom; } @@ -425,7 +424,7 @@ var AppInfo = {}; define("registerElement", [bowerPath + "/document-register-element/build/document-register-element"], returnFirstDependency); } - define("imageFetcher", [componentsPath + "/images/basicimagefetcher"], returnFirstDependency); + define("imageFetcher", [componentsPath + "/images/imageFetcher"], returnFirstDependency); var preferNativeAlerts = browser.tv; @@ -446,12 +445,7 @@ var AppInfo = {}; define("prompt", [componentsPath + "/prompt/prompt"], returnFirstDependency); } - if (browser.tizen || browser.operaTv || browser.chromecast || browser.orsay || browser.web0s || browser.ps4) { - define("loading", [componentsPath + "/loading/loading-legacy"], returnFirstDependency); - } else { - define("loading", [componentsPath + "/loading/loading-lite"], returnFirstDependency); - } - + define("loading", [componentsPath + "/loading/loading"], returnFirstDependency); define("multi-download", [componentsPath + "/multidownload"], returnFirstDependency); define("fileDownloader", [componentsPath + "/filedownloader"], returnFirstDependency); define("localassetmanager", [apiClientBowerPath + "/localassetmanager"], returnFirstDependency); @@ -473,10 +467,6 @@ var AppInfo = {}; define("buttonenabled", ["legacy/buttonenabled"], returnFirstDependency); var promises = []; - if (!window.fetch) { - promises.push(require(["fetch"])); - } - Promise.all(promises).then(function () { createConnectionManager().then(function () { console.log("initAfterDependencies promises resolved"); @@ -591,7 +581,7 @@ var AppInfo = {}; window.Emby.Page = appRouter; - require(['scripts/themeloader', 'libraryMenu', 'scripts/routes'], function () { + require(['emby-button', 'scripts/themeloader', 'libraryMenu', 'scripts/routes'], function () { Emby.Page.start({ click: false, hashbang: true @@ -622,11 +612,7 @@ var AppInfo = {}; } } - require(["playerSelectionMenu"]); - - if (appHost.supports("fullscreenchange") && (browser.edgeUwp || -1 !== navigator.userAgent.toLowerCase().indexOf("electron"))) { - require(["fullscreen-doubleclick"]); - } + require(["playerSelectionMenu", "fullscreenManager"]); if (appHost.supports("sync")) { initLocalSyncEvents(); @@ -710,7 +696,7 @@ var AppInfo = {}; inputManager: componentsPath + "/inputmanager", qualityoptions: componentsPath + "/qualityoptions", hammer: bowerPath + "/hammerjs/hammer.min", - pageJs: "thirdparty/pagejs/page", + page: "thirdparty/page", focusManager: componentsPath + "/focusmanager", datetime: componentsPath + "/datetime", globalize: componentsPath + "/globalize", @@ -731,19 +717,18 @@ var AppInfo = {}; define("libjass", [bowerPath + "/libjass/libjass.min", "css!" + bowerPath + "/libjass/libjass"], returnFirstDependency); define("tunerPicker", ["components/tunerpicker"], returnFirstDependency); define("mainTabsManager", [componentsPath + "/maintabsmanager"], returnFirstDependency); - define("imageLoader", [componentsPath + "/images/imagehelper"], returnFirstDependency); + define("imageLoader", [componentsPath + "/images/imageLoader"], returnFirstDependency); define("appFooter", [componentsPath + "/appfooter/appfooter"], returnFirstDependency); define("directorybrowser", ["components/directorybrowser/directorybrowser"], returnFirstDependency); define("metadataEditor", [componentsPath + "/metadataeditor/metadataeditor"], returnFirstDependency); define("personEditor", [componentsPath + "/metadataeditor/personeditor"], returnFirstDependency); - define("playerSelectionMenu", [componentsPath + "/playback/playerselection"], returnFirstDependency); + define("playerSelectionMenu", [componentsPath + "/playback/playerSelectionMenu"], returnFirstDependency); define("playerSettingsMenu", [componentsPath + "/playback/playersettingsmenu"], returnFirstDependency); define("playMethodHelper", [componentsPath + "/playback/playmethodhelper"], returnFirstDependency); define("brightnessOsd", [componentsPath + "/playback/brightnessosd"], returnFirstDependency); define("libraryMenu", ["scripts/librarymenu"], returnFirstDependency); define("emby-collapse", [componentsPath + "/emby-collapse/emby-collapse"], returnFirstDependency); define("emby-button", [componentsPath + "/emby-button/emby-button"], returnFirstDependency); - define("emby-linkbutton", ["emby-button"], returnFirstDependency); define("emby-itemscontainer", [componentsPath + "/emby-itemscontainer/emby-itemscontainer"], returnFirstDependency); define("alphaNumericShortcuts", [componentsPath + "/alphanumericshortcuts/alphanumericshortcuts"], returnFirstDependency); define("emby-scroller", [componentsPath + "/emby-scroller/emby-scroller"], returnFirstDependency); @@ -764,7 +749,7 @@ var AppInfo = {}; define("emby-radio", [componentsPath + "/emby-radio/emby-radio"], returnFirstDependency); define("emby-textarea", [componentsPath + "/emby-textarea/emby-textarea"], returnFirstDependency); define("collectionEditor", [componentsPath + "/collectioneditor/collectioneditor"], returnFirstDependency); - define("serverRestartDialog", [componentsPath + "/serverrestartdialog/serverrestartdialog"], returnFirstDependency); + define("serverRestartDialog", [componentsPath + "/serverRestartDialog"], returnFirstDependency); define("playlistEditor", [componentsPath + "/playlisteditor/playlisteditor"], returnFirstDependency); define("recordingCreator", [componentsPath + "/recordingcreator/recordingcreator"], returnFirstDependency); define("recordingEditor", [componentsPath + "/recordingcreator/recordingeditor"], returnFirstDependency); @@ -784,7 +769,7 @@ var AppInfo = {}; define("searchResults", [componentsPath + "/search/searchresults"], returnFirstDependency); define("upNextDialog", [componentsPath + "/upnextdialog/upnextdialog"], returnFirstDependency); define("fullscreen-doubleclick", [componentsPath + "/fullscreen/fullscreen-dc"], returnFirstDependency); - define("fullscreenManager", [componentsPath + "/fullscreen/fullscreenmanager", "events"], returnFirstDependency); + define("fullscreenManager", [componentsPath + "/fullscreenManager", "events"], returnFirstDependency); define("headroom", [componentsPath + "/headroom/headroom"], returnFirstDependency); define("subtitleAppearanceHelper", [componentsPath + "/subtitlesettings/subtitleappearancehelper"], returnFirstDependency); define("subtitleSettings", [componentsPath + "/subtitlesettings/subtitlesettings"], returnFirstDependency); @@ -810,7 +795,7 @@ var AppInfo = {}; define("programStyles", ["css!" + componentsPath + "/guide/programs"], returnFirstDependency); define("guide-settings-dialog", [componentsPath + "/guide/guide-settings"], returnFirstDependency); define("loadingDialog", [componentsPath + "/loadingdialog/loadingdialog"], returnFirstDependency); - define("viewManager", [componentsPath + "/viewmanager/viewmanager"], function (viewManager) { + define("viewManager", [componentsPath + "/viewManager/viewManager"], function (viewManager) { window.ViewManager = viewManager; viewManager.dispatchPageEvents(true); return viewManager; @@ -835,7 +820,6 @@ var AppInfo = {}; define("jstree", ["thirdparty/jstree/jstree", "css!thirdparty/jstree/themes/default/style.css"], returnFirstDependency); define("dashboardcss", ["css!css/dashboard"], returnFirstDependency); define("slideshow", [componentsPath + "/slideshow/slideshow"], returnFirstDependency); - define("fetch", [bowerPath + "/fetch/fetch"], returnFirstDependency); define("clearButtonStyle", ["css!" + componentsPath + "/clearbutton"], returnFirstDependency); define("userdataButtons", [componentsPath + "/userdatabuttons/userdatabuttons"], returnFirstDependency); define("emby-playstatebutton", [componentsPath + "/userdatabuttons/emby-playstatebutton"], returnFirstDependency); @@ -856,7 +840,7 @@ var AppInfo = {}; define("itemrepository", [apiClientBowerPath + "/sync/itemrepository"], returnFirstDependency); define("useractionrepository", [apiClientBowerPath + "/sync/useractionrepository"], returnFirstDependency); define("swiper", [bowerPath + "/Swiper/dist/js/swiper.min", "css!" + bowerPath + "/Swiper/dist/css/swiper.min"], returnFirstDependency); - define("scroller", [componentsPath + "/scroller/smoothscroller"], returnFirstDependency); + define("scroller", [componentsPath + "/scroller"], returnFirstDependency); define("toast", [componentsPath + "/toast/toast"], returnFirstDependency); define("scrollHelper", [componentsPath + "/scrollhelper"], returnFirstDependency); define("touchHelper", [componentsPath + "/touchhelper"], returnFirstDependency); @@ -869,8 +853,8 @@ var AppInfo = {}; define("scrollStyles", ["css!" + componentsPath + "/scrollstyles"], returnFirstDependency); define("imageUploader", [componentsPath + "/imageuploader/imageuploader"], returnFirstDependency); define("navdrawer", ["components/navdrawer/navdrawer"], returnFirstDependency); - define("htmlMediaHelper", [componentsPath + "/htmlvideoplayer/htmlmediahelper"], returnFirstDependency); - define("viewcontainer", ["components/viewcontainer-lite", "css!" + componentsPath + "/viewmanager/viewcontainer-lite"], returnFirstDependency); + define("htmlMediaHelper", [componentsPath + "/htmlMediaHelper"], returnFirstDependency); + define("viewcontainer", ["components/viewContainer"], returnFirstDependency); define("queryString", [bowerPath + "/query-string/index"], function () { return queryString; }); @@ -882,10 +866,9 @@ var AppInfo = {}; return jQuery; }); define("fnchecked", ["legacy/fnchecked"], returnFirstDependency); - define("dialogHelper", [componentsPath + "/dialoghelper/dialoghelper"], returnFirstDependency); + define("dialogHelper", [componentsPath + "/dialogHelper/dialogHelper"], returnFirstDependency); define("inputmanager", ["inputManager"], returnFirstDependency); - define("serverNotifications", [componentsPath + "/apiInput/apiInput"], returnFirstDependency); - define("headroom-window", ["headroom"], createWindowHeadroom); + define("serverNotifications", [componentsPath + "/serverNotifications/serverNotifications"], returnFirstDependency); define("appFooter-shared", ["appFooter"], createSharedAppFooter); define("skinManager", [componentsPath + "/skinManager"], returnFirstDependency); define("connectionManager", [], function () { diff --git a/src/scripts/tvgenres.js b/src/scripts/tvgenres.js index 39191edd81..8a5d769969 100644 --- a/src/scripts/tvgenres.js +++ b/src/scripts/tvgenres.js @@ -1,4 +1,4 @@ -define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader", "apphost", "globalize", "appRouter", "dom", "emby-linkbutton"], function(layoutManager, loading, libraryBrowser, cardBuilder, lazyLoader, appHost, globalize, appRouter, dom) { +define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader", "apphost", "globalize", "appRouter", "dom", "emby-button"], function(layoutManager, loading, libraryBrowser, cardBuilder, lazyLoader, appHost, globalize, appRouter, dom) { "use strict"; return function(view, params, tabContent) { function getPageData() { diff --git a/src/scripts/userprofilespage.js b/src/scripts/userprofilespage.js index e34ad45412..c0d1d0d87b 100644 --- a/src/scripts/userprofilespage.js +++ b/src/scripts/userprofilespage.js @@ -1,4 +1,4 @@ -define(["loading", "dom", "globalize", "humanedate", "paper-icon-button-light", "cardStyle", "emby-linkbutton", "indicators", "flexStyles"], function (loading, dom, globalize) { +define(["loading", "dom", "globalize", "humanedate", "paper-icon-button-light", "cardStyle", "emby-button", "indicators", "flexStyles"], function (loading, dom, globalize) { "use strict"; function deleteUser(page, id) { diff --git a/src/scripts/wizardagreement.js b/src/scripts/wizardagreement.js index dfb9d70646..77c12fb664 100644 --- a/src/scripts/wizardagreement.js +++ b/src/scripts/wizardagreement.js @@ -1,4 +1,4 @@ -define(["dom", "emby-linkbutton"], function(dom) { +define(["dom", "emby-button"], function(dom) { "use strict"; function onSubmit(e) { diff --git a/src/thirdparty/pagejs/page.js b/src/thirdparty/page.js similarity index 100% rename from src/thirdparty/pagejs/page.js rename to src/thirdparty/page.js diff --git a/src/useredit.html b/src/useredit.html index a8247fa771..9acf162e89 100644 --- a/src/useredit.html +++ b/src/useredit.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/userlibraryaccess.html b/src/userlibraryaccess.html index e267e992a3..cb39571fab 100644 --- a/src/userlibraryaccess.html +++ b/src/userlibraryaccess.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/userparentalcontrol.html b/src/userparentalcontrol.html index 5184de66db..2ac8e01925 100644 --- a/src/userparentalcontrol.html +++ b/src/userparentalcontrol.html @@ -1,4 +1,4 @@ -
+