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
ec5a50ea20
commit
6744d8dbe8
20 changed files with 152 additions and 131 deletions
|
@ -457,47 +457,43 @@ Polymer.dom.addDebouncer(host.debounce('_distribute', host._distributeContent));
|
|||
}
|
||||
},
|
||||
appendChild: function (node) {
|
||||
var handled;
|
||||
this._ensureContentLogicalInfo(node);
|
||||
this._removeNodeFromHost(node, true);
|
||||
if (this._nodeIsInLogicalTree(this.node)) {
|
||||
this._addLogicalInfo(node, this.node);
|
||||
this._addNodeToHost(node);
|
||||
handled = this._maybeDistribute(node, this.node);
|
||||
} else {
|
||||
this._addNodeToHost(node);
|
||||
}
|
||||
if (!handled && !this._tryRemoveUndistributedNode(node)) {
|
||||
var container = this.node._isShadyRoot ? this.node.host : this.node;
|
||||
addToComposedParent(container, node);
|
||||
nativeAppendChild.call(container, node);
|
||||
}
|
||||
return node;
|
||||
return this._addNode(node);
|
||||
},
|
||||
insertBefore: function (node, ref_node) {
|
||||
if (!ref_node) {
|
||||
return this.appendChild(node);
|
||||
}
|
||||
var handled;
|
||||
this._ensureContentLogicalInfo(node);
|
||||
return this._addNode(node, ref_node);
|
||||
},
|
||||
_addNode: function (node, ref_node) {
|
||||
this._removeNodeFromHost(node, true);
|
||||
if (this._nodeIsInLogicalTree(this.node)) {
|
||||
var addedInsertionPoint;
|
||||
var root = this.getOwnerRoot();
|
||||
if (root) {
|
||||
addedInsertionPoint = this._maybeAddInsertionPoint(node, this.node);
|
||||
}
|
||||
if (this._nodeHasLogicalChildren(this.node)) {
|
||||
if (ref_node) {
|
||||
var children = this.childNodes;
|
||||
var index = children.indexOf(ref_node);
|
||||
if (index < 0) {
|
||||
throw Error('The ref_node to be inserted before is not a child ' + 'of this node');
|
||||
}
|
||||
this._addLogicalInfo(node, this.node, index);
|
||||
this._addNodeToHost(node);
|
||||
handled = this._maybeDistribute(node, this.node);
|
||||
} else {
|
||||
this._addNodeToHost(node);
|
||||
}
|
||||
if (!handled && !this._tryRemoveUndistributedNode(node)) {
|
||||
this._addLogicalInfo(node, this.node, index);
|
||||
}
|
||||
this._addNodeToHost(node);
|
||||
if (!this._maybeDistribute(node, this.node) && !this._tryRemoveUndistributedNode(node)) {
|
||||
if (ref_node) {
|
||||
ref_node = ref_node.localName === CONTENT ? this._firstComposedNode(ref_node) : ref_node;
|
||||
}
|
||||
var container = this.node._isShadyRoot ? this.node.host : this.node;
|
||||
addToComposedParent(container, node, ref_node);
|
||||
if (ref_node) {
|
||||
nativeInsertBefore.call(container, node, ref_node);
|
||||
} else {
|
||||
nativeAppendChild.call(container, node);
|
||||
}
|
||||
}
|
||||
if (addedInsertionPoint) {
|
||||
this._updateInsertionPoints(root.host);
|
||||
}
|
||||
return node;
|
||||
},
|
||||
|
@ -505,14 +501,8 @@ removeChild: function (node) {
|
|||
if (factory(node).parentNode !== this.node) {
|
||||
console.warn('The node to be removed is not a child of this node', node);
|
||||
}
|
||||
var handled;
|
||||
if (this._nodeIsInLogicalTree(this.node)) {
|
||||
this._removeNodeFromHost(node);
|
||||
handled = this._maybeDistribute(node, this.node);
|
||||
} else {
|
||||
this._removeNodeFromHost(node);
|
||||
}
|
||||
if (!handled) {
|
||||
if (!this._maybeDistribute(node, this.node)) {
|
||||
var container = this.node._isShadyRoot ? this.node.host : this.node;
|
||||
if (container === node.parentNode) {
|
||||
removeFromComposedParent(container, node);
|
||||
|
@ -560,7 +550,6 @@ if (hasContent) {
|
|||
var root = this._ownerShadyRootForNode(parent);
|
||||
if (root) {
|
||||
var host = root.host;
|
||||
this._updateInsertionPoints(host);
|
||||
this._lazyDistribute(host);
|
||||
}
|
||||
}
|
||||
|
@ -570,6 +559,25 @@ this._lazyDistribute(parent);
|
|||
}
|
||||
return parentNeedsDist || hasContent && !wrappedContent;
|
||||
},
|
||||
_maybeAddInsertionPoint: function (node, parent) {
|
||||
var added;
|
||||
if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !node.__noContent) {
|
||||
var c$ = factory(node).querySelectorAll(CONTENT);
|
||||
for (var i = 0, n, np, na; i < c$.length && (n = c$[i]); i++) {
|
||||
np = factory(n).parentNode;
|
||||
if (np === node) {
|
||||
np = parent;
|
||||
}
|
||||
na = this._maybeAddInsertionPoint(n, np);
|
||||
added = added || na;
|
||||
}
|
||||
} else if (node.localName === CONTENT) {
|
||||
saveLightChildrenIfNeeded(parent);
|
||||
saveLightChildrenIfNeeded(node);
|
||||
added = true;
|
||||
}
|
||||
return added;
|
||||
},
|
||||
_tryRemoveUndistributedNode: function (node) {
|
||||
if (this.node.shadyRoot) {
|
||||
if (node._composedParent) {
|
||||
|
@ -586,20 +594,8 @@ saveLightChildrenIfNeeded(c);
|
|||
saveLightChildrenIfNeeded(factory(c).parentNode);
|
||||
}
|
||||
},
|
||||
_nodeIsInLogicalTree: function (node) {
|
||||
return Boolean(node._lightParent !== undefined || node._isShadyRoot || node.shadyRoot);
|
||||
},
|
||||
_ensureContentLogicalInfo: function (node) {
|
||||
if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
||||
saveLightChildrenIfNeeded(this.node);
|
||||
var c$ = Array.prototype.slice.call(node.childNodes);
|
||||
for (var i = 0, n; i < c$.length && (n = c$[i]); i++) {
|
||||
this._ensureContentLogicalInfo(n);
|
||||
}
|
||||
} else if (node.localName === CONTENT) {
|
||||
saveLightChildrenIfNeeded(this.node);
|
||||
saveLightChildrenIfNeeded(node);
|
||||
}
|
||||
_nodeHasLogicalChildren: function (node) {
|
||||
return Boolean(node._lightChildren !== undefined);
|
||||
},
|
||||
_parentNeedsDistribution: function (parent) {
|
||||
return parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot);
|
||||
|
@ -609,6 +605,7 @@ var hostNeedsDist;
|
|||
var root;
|
||||
var parent = node._lightParent;
|
||||
if (parent) {
|
||||
factory(node)._distributeParent();
|
||||
root = this._ownerShadyRootForNode(node);
|
||||
if (root) {
|
||||
root.host._elementRemove(node);
|
||||
|
@ -621,7 +618,7 @@ if (root && hostNeedsDist) {
|
|||
this._updateInsertionPoints(root.host);
|
||||
this._lazyDistribute(root.host);
|
||||
} else if (ensureComposedRemoval) {
|
||||
removeFromComposedParent(parent || node.parentNode, node);
|
||||
removeFromComposedParent(node._composedParent, node);
|
||||
}
|
||||
},
|
||||
_removeDistributedChildren: function (root, container) {
|
||||
|
@ -1147,7 +1144,7 @@ node._lightChildren = c$;
|
|||
}
|
||||
}
|
||||
function hasInsertionPoint(root) {
|
||||
return Boolean(root._insertionPoints.length);
|
||||
return Boolean(root && root._insertionPoints.length);
|
||||
}
|
||||
var p = Element.prototype;
|
||||
var matchesSelector = p.matches || p.matchesSelector || p.mozMatchesSelector || p.msMatchesSelector || p.oMatchesSelector || p.webkitMatchesSelector;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue