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:
parent
4678528d00
commit
de6ac33ec1
289 changed files with 78483 additions and 54701 deletions
|
@ -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;
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue