1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Unminify using 1.5.323

Repo with tag: https://github.com/MediaBrowser/emby-webcomponents/tree/1.5.323
This commit is contained in:
Vasily 2019-01-10 15:39:37 +03:00
parent 4678528d00
commit de6ac33ec1
289 changed files with 78483 additions and 54701 deletions

View file

@ -1,4 +1,5 @@
.lazy {
/* In edge, intersection observer will not fire on 0px sized elements */
min-width: .1em;
min-height: .1em
}
min-height: .1em;
}

View file

@ -1,45 +1,103 @@
define(["require", "browser"], function(require, browser) {
"use strict";
define(['require', 'browser'], function (require, browser) {
'use strict';
function LazyLoader(options) {
this.options = options
this.options = options;
}
function unveilElements(elements, root, callback) {
if (elements.length) {
new LazyLoader({
callback: callback
}).addElements(elements)
}
if (browser.edge) {
require(['css!./lazyedgehack']);
}
return browser.edge && require(["css!./lazyedgehack"]), LazyLoader.prototype.createObserver = function() {
var observerOptions = {},
options = this.options,
loadedCount = 0,
callback = options.callback;
LazyLoader.prototype.createObserver = function () {
var observerOptions = {};
var options = this.options;
var loadedCount = 0;
var callback = options.callback;
observerOptions.rootMargin = "50%";
var observerId = "obs" + (new Date).getTime(),
self = this,
observer = new IntersectionObserver(function(entries) {
for (var j = 0, length2 = entries.length; j < length2; j++) {
var entry = entries[j];
if (entry.intersectionRatio > 0) {
var target = entry.target;
observer.unobserve(target), target[observerId] || (target[observerId] = 1, callback(target), ++loadedCount >= self.elementCount && self.destroyObserver())
var observerId = 'obs' + new Date().getTime();
var self = this;
var observer = new IntersectionObserver(function (entries) {
for (var j = 0, length2 = entries.length; j < length2; j++) {
var entry = entries[j];
if (entry.intersectionRatio > 0) {
// Stop watching and load the image
var target = entry.target;
observer.unobserve(target);
if (!target[observerId]) {
target[observerId] = 1;
callback(target);
loadedCount++;
if (loadedCount >= self.elementCount) {
self.destroyObserver();
}
}
}
}, observerOptions);
this.observer = observer
}, LazyLoader.prototype.addElements = function(elements) {
}
},
observerOptions
);
this.observer = observer;
};
LazyLoader.prototype.addElements = function (elements) {
var observer = this.observer;
observer || (this.createObserver(), observer = this.observer), this.elementCount = (this.elementCount || 0) + elements.length;
for (var i = 0, length = elements.length; i < length; i++) observer.observe(elements[i])
}, LazyLoader.prototype.destroyObserver = function(elements) {
if (!observer) {
this.createObserver();
observer = this.observer;
}
this.elementCount = (this.elementCount || 0) + elements.length;
for (var i = 0, length = elements.length; i < length; i++) {
observer.observe(elements[i]);
}
};
LazyLoader.prototype.destroyObserver = function (elements) {
var observer = this.observer;
observer && (observer.disconnect(), this.observer = null)
}, LazyLoader.prototype.destroy = function(elements) {
this.destroyObserver(), this.options = null
}, LazyLoader.lazyChildren = function(elem, callback) {
unveilElements(elem.getElementsByClassName("lazy"), elem, callback)
}, LazyLoader
if (observer) {
observer.disconnect();
this.observer = null;
}
};
LazyLoader.prototype.destroy = function (elements) {
this.destroyObserver();
this.options = null;
};
function unveilElements(elements, root, callback) {
if (!elements.length) {
return;
}
var lazyLoader = new LazyLoader({
callback: callback
});
lazyLoader.addElements(elements);
}
LazyLoader.lazyChildren = function (elem, callback) {
unveilElements(elem.getElementsByClassName('lazy'), elem, callback);
};
return LazyLoader;
});

View file

@ -1,103 +1,189 @@
define(["visibleinviewport", "dom", "browser"], function(visibleinviewport, dom, browser) {
"use strict";
define(['visibleinviewport', 'dom', 'browser'], function (visibleinviewport, dom, browser) {
'use strict';
var thresholdX;
var thresholdY;
var requestIdleCallback = window.requestIdleCallback || function (fn) {
fn();
};
function resetThresholds() {
thresholdX = .3 * screen.availWidth, thresholdY = .3 * screen.availHeight
var threshold = 0.3;
thresholdX = screen.availWidth * threshold;
thresholdY = screen.availHeight * threshold;
}
function resetThresholdsOnTimer() {
setTimeout(resetThresholds, 500)
setTimeout(resetThresholds, 500);
}
if (browser.iOS) {
dom.addEventListener(window, "orientationchange", resetThresholdsOnTimer, { passive: true });
dom.addEventListener(window, 'resize', resetThresholdsOnTimer, { passive: true });
} else {
dom.addEventListener(window, "orientationchange", resetThresholds, { passive: true });
dom.addEventListener(window, 'resize', resetThresholds, { passive: true });
}
resetThresholds();
function isVisible(elem) {
return visibleinviewport(elem, !0, thresholdX, thresholdY)
return visibleinviewport(elem, true, thresholdX, thresholdY);
}
var wheelEvent = (document.implementation.hasFeature('Event.wheel', '3.0') ? 'wheel' : 'mousewheel');
var self = {};
function cancelAll(tokens) {
for (var i = 0, length = tokens.length; i < length; i++) tokens[i] = !0
for (var i = 0, length = tokens.length; i < length; i++) {
tokens[i] = true;
}
}
function unveilElementsInternal(instance, callback) {
var unveiledElements = [];
var cancellationTokens = [];
var loadedCount = 0;
function unveilInternal(tokenIndex) {
for (var anyFound = !1, out = !1, elements = instance.elements, i = 0, length = elements.length; i < length; i++) {
if (cancellationTokens[tokenIndex]) return;
if (!unveiledElements[i]) {
var elem = elements[i];
!out && isVisible(elem) ? (anyFound = !0, unveiledElements[i] = !0, callback(elem), loadedCount++) : anyFound && (out = !0)
var anyFound = false;
var out = false;
var elements = instance.elements;
// TODO: This out construct assumes left to right, top to bottom
for (var i = 0, length = elements.length; i < length; i++) {
if (cancellationTokens[tokenIndex]) {
return;
}
if (unveiledElements[i]) {
continue;
}
var elem = elements[i];
if (!out && isVisible(elem)) {
anyFound = true;
unveiledElements[i] = true;
callback(elem);
loadedCount++;
} else {
if (anyFound) {
out = true;
}
}
}
loadedCount >= elements.length && (dom.removeEventListener(document, "focus", unveil, {
capture: !0,
passive: !0
}), dom.removeEventListener(document, "scroll", unveil, {
capture: !0,
passive: !0
}), dom.removeEventListener(document, wheelEvent, unveil, {
capture: !0,
passive: !0
}), dom.removeEventListener(window, "resize", unveil, {
capture: !0,
passive: !0
}))
if (loadedCount >= elements.length) {
dom.removeEventListener(document, 'focus', unveil, {
capture: true,
passive: true
});
dom.removeEventListener(document, 'scroll', unveil, {
capture: true,
passive: true
});
dom.removeEventListener(document, wheelEvent, unveil, {
capture: true,
passive: true
});
dom.removeEventListener(window, 'resize', unveil, {
capture: true,
passive: true
});
}
}
function unveil() {
cancelAll(cancellationTokens);
var index = cancellationTokens.length;
cancellationTokens.length++, setTimeout(function() {
unveilInternal(index)
}, 1)
cancellationTokens.length++;
setTimeout(function () {
unveilInternal(index);
}, 1);
}
var unveiledElements = [],
cancellationTokens = [],
loadedCount = 0;
dom.addEventListener(document, "focus", unveil, {
capture: !0,
passive: !0
}), dom.addEventListener(document, "scroll", unveil, {
capture: !0,
passive: !0
}), dom.addEventListener(document, wheelEvent, unveil, {
capture: !0,
passive: !0
}), dom.addEventListener(window, "resize", unveil, {
capture: !0,
passive: !0
}), unveil()
dom.addEventListener(document, 'focus', unveil, {
capture: true,
passive: true
});
dom.addEventListener(document, 'scroll', unveil, {
capture: true,
passive: true
});
dom.addEventListener(document, wheelEvent, unveil, {
capture: true,
passive: true
});
dom.addEventListener(window, 'resize', unveil, {
capture: true,
passive: true
});
unveil();
}
function LazyLoader(options) {
this.options = options
this.options = options;
}
function unveilElements(elements, root, callback) {
if (elements.length) {
new LazyLoader({
callback: callback
}).addElements(elements)
}
}
var thresholdX, thresholdY;
window.requestIdleCallback;
browser.iOS ? (dom.addEventListener(window, "orientationchange", resetThresholdsOnTimer, {
passive: !0
}), dom.addEventListener(window, "resize", resetThresholdsOnTimer, {
passive: !0
})) : (dom.addEventListener(window, "orientationchange", resetThresholds, {
passive: !0
}), dom.addEventListener(window, "resize", resetThresholds, {
passive: !0
})), resetThresholds();
var wheelEvent = document.implementation.hasFeature("Event.wheel", "3.0") ? "wheel" : "mousewheel";
return LazyLoader.prototype.createObserver = function() {
unveilElementsInternal(this, this.options.callback), this.observer = 1
}, LazyLoader.prototype.addElements = function(elements) {
LazyLoader.prototype.createObserver = function () {
unveilElementsInternal(this, this.options.callback);
this.observer = 1;
};
LazyLoader.prototype.addElements = function (elements) {
this.elements = this.elements || [];
for (var i = 0, length = elements.length; i < length; i++) this.elements.push(elements[i]);
this.observer || this.createObserver()
}, LazyLoader.prototype.destroyObserver = function(elements) {}, LazyLoader.prototype.destroy = function(elements) {
this.destroyObserver(), this.options = null
}, LazyLoader.lazyChildren = function(elem, callback) {
unveilElements(elem.getElementsByClassName("lazy"), elem, callback)
}, LazyLoader
for (var i = 0, length = elements.length; i < length; i++) {
this.elements.push(elements[i]);
}
var observer = this.observer;
if (!observer) {
this.createObserver();
}
};
LazyLoader.prototype.destroyObserver = function (elements) {
};
LazyLoader.prototype.destroy = function (elements) {
this.destroyObserver();
this.options = null;
};
function unveilElements(elements, root, callback) {
if (!elements.length) {
return;
}
var lazyLoader = new LazyLoader({
callback: callback
});
lazyLoader.addElements(elements);
}
LazyLoader.lazyChildren = function (elem, callback) {
unveilElements(elem.getElementsByClassName('lazy'), elem, callback);
};
return LazyLoader;
});