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 @@
-