mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update polymer
This commit is contained in:
parent
568fabb9ca
commit
319d838d6e
48 changed files with 3045 additions and 2348 deletions
|
@ -7,7 +7,7 @@
|
|||
* Code distributed by Google as part of the polymer project is also
|
||||
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
// @version 0.7.5
|
||||
// @version 0.7.6
|
||||
if (typeof WeakMap === "undefined") {
|
||||
(function() {
|
||||
var defineProperty = Object.defineProperty;
|
||||
|
@ -423,30 +423,24 @@ window.CustomElements.addModule(function(scope) {
|
|||
var flags = scope.flags;
|
||||
var forSubtree = scope.forSubtree;
|
||||
var forDocumentTree = scope.forDocumentTree;
|
||||
function addedNode(node) {
|
||||
return added(node) || addedSubtree(node);
|
||||
function addedNode(node, isAttached) {
|
||||
return added(node, isAttached) || addedSubtree(node, isAttached);
|
||||
}
|
||||
function added(node) {
|
||||
if (scope.upgrade(node)) {
|
||||
function added(node, isAttached) {
|
||||
if (scope.upgrade(node, isAttached)) {
|
||||
return true;
|
||||
}
|
||||
attached(node);
|
||||
if (isAttached) {
|
||||
attached(node);
|
||||
}
|
||||
}
|
||||
function addedSubtree(node) {
|
||||
function addedSubtree(node, isAttached) {
|
||||
forSubtree(node, function(e) {
|
||||
if (added(e)) {
|
||||
if (added(e, isAttached)) {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
function attachedNode(node) {
|
||||
attached(node);
|
||||
if (inDocument(node)) {
|
||||
forSubtree(node, function(e) {
|
||||
attached(e);
|
||||
});
|
||||
}
|
||||
}
|
||||
var hasPolyfillMutations = !window.MutationObserver || window.MutationObserver === window.JsMutationObserver;
|
||||
scope.hasPolyfillMutations = hasPolyfillMutations;
|
||||
var isPendingMutations = false;
|
||||
|
@ -476,12 +470,10 @@ window.CustomElements.addModule(function(scope) {
|
|||
}
|
||||
}
|
||||
function _attached(element) {
|
||||
if (element.__upgraded__ && (element.attachedCallback || element.detachedCallback)) {
|
||||
if (!element.__attached && inDocument(element)) {
|
||||
element.__attached = true;
|
||||
if (element.attachedCallback) {
|
||||
element.attachedCallback();
|
||||
}
|
||||
if (element.__upgraded__ && !element.__attached) {
|
||||
element.__attached = true;
|
||||
if (element.attachedCallback) {
|
||||
element.attachedCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -501,18 +493,16 @@ window.CustomElements.addModule(function(scope) {
|
|||
}
|
||||
}
|
||||
function _detached(element) {
|
||||
if (element.__upgraded__ && (element.attachedCallback || element.detachedCallback)) {
|
||||
if (element.__attached && !inDocument(element)) {
|
||||
element.__attached = false;
|
||||
if (element.detachedCallback) {
|
||||
element.detachedCallback();
|
||||
}
|
||||
if (element.__upgraded__ && element.__attached) {
|
||||
element.__attached = false;
|
||||
if (element.detachedCallback) {
|
||||
element.detachedCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
function inDocument(element) {
|
||||
var p = element;
|
||||
var doc = wrap(document);
|
||||
var doc = window.wrap(document);
|
||||
while (p) {
|
||||
if (p == doc) {
|
||||
return true;
|
||||
|
@ -530,7 +520,7 @@ window.CustomElements.addModule(function(scope) {
|
|||
}
|
||||
}
|
||||
}
|
||||
function handler(mutations) {
|
||||
function handler(root, mutations) {
|
||||
if (flags.dom) {
|
||||
var mx = mutations[0];
|
||||
if (mx && mx.type === "childList" && mx.addedNodes) {
|
||||
|
@ -545,13 +535,14 @@ window.CustomElements.addModule(function(scope) {
|
|||
}
|
||||
console.group("mutations (%d) [%s]", mutations.length, u || "");
|
||||
}
|
||||
var isAttached = inDocument(root);
|
||||
mutations.forEach(function(mx) {
|
||||
if (mx.type === "childList") {
|
||||
forEach(mx.addedNodes, function(n) {
|
||||
if (!n.localName) {
|
||||
return;
|
||||
}
|
||||
addedNode(n);
|
||||
addedNode(n, isAttached);
|
||||
});
|
||||
forEach(mx.removedNodes, function(n) {
|
||||
if (!n.localName) {
|
||||
|
@ -573,7 +564,7 @@ window.CustomElements.addModule(function(scope) {
|
|||
}
|
||||
var observer = node.__observer;
|
||||
if (observer) {
|
||||
handler(observer.takeRecords());
|
||||
handler(node, observer.takeRecords());
|
||||
takeMutations();
|
||||
}
|
||||
}
|
||||
|
@ -582,7 +573,7 @@ window.CustomElements.addModule(function(scope) {
|
|||
if (inRoot.__observer) {
|
||||
return;
|
||||
}
|
||||
var observer = new MutationObserver(handler);
|
||||
var observer = new MutationObserver(handler.bind(this, inRoot));
|
||||
observer.observe(inRoot, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
|
@ -592,7 +583,8 @@ window.CustomElements.addModule(function(scope) {
|
|||
function upgradeDocument(doc) {
|
||||
doc = window.wrap(doc);
|
||||
flags.dom && console.group("upgradeDocument: ", doc.baseURI.split("/").pop());
|
||||
addedNode(doc);
|
||||
var isMainDocument = doc === window.wrap(document);
|
||||
addedNode(doc, isMainDocument);
|
||||
observe(doc);
|
||||
flags.dom && console.groupEnd();
|
||||
}
|
||||
|
@ -611,26 +603,26 @@ window.CustomElements.addModule(function(scope) {
|
|||
scope.upgradeDocumentTree = upgradeDocumentTree;
|
||||
scope.upgradeSubtree = addedSubtree;
|
||||
scope.upgradeAll = addedNode;
|
||||
scope.attachedNode = attachedNode;
|
||||
scope.attached = attached;
|
||||
scope.takeRecords = takeRecords;
|
||||
});
|
||||
|
||||
window.CustomElements.addModule(function(scope) {
|
||||
var flags = scope.flags;
|
||||
function upgrade(node) {
|
||||
function upgrade(node, isAttached) {
|
||||
if (!node.__upgraded__ && node.nodeType === Node.ELEMENT_NODE) {
|
||||
var is = node.getAttribute("is");
|
||||
var definition = scope.getRegisteredDefinition(is || node.localName);
|
||||
if (definition) {
|
||||
if (is && definition.tag == node.localName) {
|
||||
return upgradeWithDefinition(node, definition);
|
||||
return upgradeWithDefinition(node, definition, isAttached);
|
||||
} else if (!is && !definition.extends) {
|
||||
return upgradeWithDefinition(node, definition);
|
||||
return upgradeWithDefinition(node, definition, isAttached);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function upgradeWithDefinition(element, definition) {
|
||||
function upgradeWithDefinition(element, definition, isAttached) {
|
||||
flags.upgrade && console.group("upgrade:", element.localName);
|
||||
if (definition.is) {
|
||||
element.setAttribute("is", definition.is);
|
||||
|
@ -638,8 +630,10 @@ window.CustomElements.addModule(function(scope) {
|
|||
implementPrototype(element, definition);
|
||||
element.__upgraded__ = true;
|
||||
created(element);
|
||||
scope.attachedNode(element);
|
||||
scope.upgradeSubtree(element);
|
||||
if (isAttached) {
|
||||
scope.attached(element);
|
||||
}
|
||||
scope.upgradeSubtree(element, isAttached);
|
||||
flags.upgrade && console.groupEnd();
|
||||
return element;
|
||||
}
|
||||
|
@ -921,7 +915,7 @@ window.CustomElements.addModule(function(scope) {
|
|||
upgradeDocumentTree(window.wrap(document));
|
||||
if (window.HTMLImports) {
|
||||
window.HTMLImports.__importsParsingHook = function(elt) {
|
||||
upgradeDocumentTree(wrap(elt.import));
|
||||
upgradeDocumentTree(window.wrap(elt.import));
|
||||
};
|
||||
}
|
||||
window.CustomElements.ready = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue