mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
update polymer
This commit is contained in:
parent
a8272f642e
commit
3e1f88f0b9
@ -59,7 +59,11 @@ document.registerElement(prototype.is, options);
|
||||
return ctor;
|
||||
};
|
||||
var desugar = function (prototype) {
|
||||
prototype = Polymer.Base.chainObject(prototype, Polymer.Base);
|
||||
var base = Polymer.Base;
|
||||
if (prototype.extends) {
|
||||
base = Polymer.Base._getExtendedPrototype(prototype.extends);
|
||||
}
|
||||
prototype = Polymer.Base.chainObject(prototype, base);
|
||||
prototype.registerCallback();
|
||||
return prototype.constructor;
|
||||
};
|
||||
@ -92,6 +96,7 @@ return (document._currentScript || document.currentScript).ownerDocument;
|
||||
}
|
||||
});
|
||||
Polymer.Base = {
|
||||
__isPolymerInstance__: true,
|
||||
_addFeature: function (feature) {
|
||||
this.extend(this, feature);
|
||||
},
|
||||
@ -161,6 +166,16 @@ object.__proto__ = inherited;
|
||||
return object;
|
||||
};
|
||||
Polymer.Base = Polymer.Base.chainObject(Polymer.Base, HTMLElement.prototype);
|
||||
if (window.CustomElements) {
|
||||
Polymer.instanceof = CustomElements.instanceof;
|
||||
} else {
|
||||
Polymer.instanceof = function (obj, ctor) {
|
||||
return obj instanceof ctor;
|
||||
};
|
||||
}
|
||||
Polymer.isInstance = function (obj) {
|
||||
return Boolean(obj && obj.__isPolymerInstance__);
|
||||
};
|
||||
Polymer.telemetry.instanceCount = 0;
|
||||
(function () {
|
||||
var modules = {};
|
||||
@ -289,11 +304,6 @@ this._marshalBehavior(this);
|
||||
}
|
||||
});
|
||||
Polymer.Base._addFeature({
|
||||
_prepExtends: function () {
|
||||
if (this.extends) {
|
||||
this.__proto__ = this._getExtendedPrototype(this.extends);
|
||||
}
|
||||
},
|
||||
_getExtendedPrototype: function (tag) {
|
||||
return this._getExtendedNativePrototype(tag);
|
||||
},
|
||||
@ -506,13 +516,12 @@ debouncer.stop();
|
||||
}
|
||||
}
|
||||
});
|
||||
Polymer.version = '1.0.6';
|
||||
Polymer.version = '1.0.7';
|
||||
Polymer.Base._addFeature({
|
||||
_registerFeatures: function () {
|
||||
this._prepIs();
|
||||
this._prepAttributes();
|
||||
this._prepBehaviors();
|
||||
this._prepExtends();
|
||||
this._prepConstructor();
|
||||
},
|
||||
_prepBehavior: function (b) {
|
||||
|
@ -753,7 +753,7 @@ d.appendChild(nc);
|
||||
return n;
|
||||
},
|
||||
importNode: function (externalNode, deep) {
|
||||
var doc = this.node instanceof HTMLDocument ? this.node : this.node.ownerDocument;
|
||||
var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
|
||||
var n = nativeImportNode.call(doc, externalNode, false);
|
||||
if (deep) {
|
||||
var c$ = factory(externalNode).childNodes;
|
||||
@ -941,15 +941,15 @@ DomApi.prototype.cloneNode = function (deep) {
|
||||
return this.node.cloneNode(deep);
|
||||
};
|
||||
DomApi.prototype.importNode = function (externalNode, deep) {
|
||||
var doc = this.node instanceof HTMLDocument ? this.node : this.node.ownerDocument;
|
||||
var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
|
||||
return doc.importNode(externalNode, deep);
|
||||
};
|
||||
DomApi.prototype.getDestinationInsertionPoints = function () {
|
||||
var n$ = this.node.getDestinationInsertionPoints();
|
||||
var n$ = this.node.getDestinationInsertionPoints && this.node.getDestinationInsertionPoints();
|
||||
return n$ ? Array.prototype.slice.call(n$) : [];
|
||||
};
|
||||
DomApi.prototype.getDistributedNodes = function () {
|
||||
var n$ = this.node.getDistributedNodes();
|
||||
var n$ = this.node.getDistributedNodes && this.node.getDistributedNodes();
|
||||
return n$ ? Array.prototype.slice.call(n$) : [];
|
||||
};
|
||||
DomApi.prototype._distributeParent = function () {
|
||||
@ -1407,7 +1407,6 @@ _registerFeatures: function () {
|
||||
this._prepIs();
|
||||
this._prepAttributes();
|
||||
this._prepBehaviors();
|
||||
this._prepExtends();
|
||||
this._prepConstructor();
|
||||
this._prepTemplate();
|
||||
this._prepShady();
|
||||
|
290
dashboard-ui/bower_components/polymer/polymer.html
vendored
290
dashboard-ui/bower_components/polymer/polymer.html
vendored
@ -75,6 +75,14 @@ for (var i = 0, node = root.firstChild; node; node = node.nextSibling, i++) {
|
||||
if (node.localName === 'template' && !node.hasAttribute('preserve-content')) {
|
||||
this._parseTemplate(node, i, list, annote);
|
||||
}
|
||||
if (node.nodeType === Node.TEXT_NODE) {
|
||||
var n = node.nextSibling;
|
||||
while (n && n.nodeType === Node.TEXT_NODE) {
|
||||
node.textContent += n.textContent;
|
||||
root.removeChild(n);
|
||||
n = n.nextSibling;
|
||||
}
|
||||
}
|
||||
var childAnnotation = this._parseNodeAnnotations(node, list, callback);
|
||||
if (childAnnotation) {
|
||||
childAnnotation.parent = annote;
|
||||
@ -568,8 +576,7 @@ prevent = dy > dx;
|
||||
prevent = dx > dy;
|
||||
}
|
||||
if (prevent) {
|
||||
//This breaks scrolling in safari
|
||||
//ev.preventDefault();
|
||||
ev.preventDefault();
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1042,7 +1049,8 @@ Polymer.dom(toElement).setAttribute(name, '');
|
||||
}
|
||||
},
|
||||
getContentChildNodes: function (slctr) {
|
||||
return Polymer.dom(Polymer.dom(this.root).querySelector(slctr || 'content')).getDistributedNodes();
|
||||
var content = Polymer.dom(this.root).querySelector(slctr || 'content');
|
||||
return content ? Polymer.dom(content).getDistributedNodes() : [];
|
||||
},
|
||||
getContentChildren: function (slctr) {
|
||||
return this.getContentChildNodes(slctr).filter(function (n) {
|
||||
@ -2046,9 +2054,11 @@ this.forEachStyleRule(rules, callback);
|
||||
return this.parser.stringify(rules, preserveProperties);
|
||||
},
|
||||
forRulesInStyles: function (styles, callback) {
|
||||
if (styles) {
|
||||
for (var i = 0, l = styles.length, s; i < l && (s = styles[i]); i++) {
|
||||
this.forEachStyleRule(this.rulesForStyle(s), callback);
|
||||
}
|
||||
}
|
||||
},
|
||||
rulesForStyle: function (style) {
|
||||
if (!style.__cssRules && style.textContent) {
|
||||
@ -2827,8 +2837,18 @@ if (!this._scopeSelector && this._needsStyleProperties()) {
|
||||
this._updateStyleProperties();
|
||||
}
|
||||
},
|
||||
_findStyleHost: function () {
|
||||
var e = this, root;
|
||||
while (root = Polymer.dom(e).getOwnerRoot()) {
|
||||
if (Polymer.isInstance(root.host)) {
|
||||
return root.host;
|
||||
}
|
||||
e = root.host;
|
||||
}
|
||||
return styleDefaults;
|
||||
},
|
||||
_updateStyleProperties: function () {
|
||||
var info, scope = this.domHost || styleDefaults;
|
||||
var info, scope = this._findStyleHost();
|
||||
if (!scope._styleCache) {
|
||||
scope._styleCache = new Polymer.StyleCache();
|
||||
}
|
||||
@ -2863,7 +2883,7 @@ styleCache.store(this.is, Object.create(info), this._ownStyleProperties, this._s
|
||||
}
|
||||
},
|
||||
_computeStyleProperties: function (scopeProps) {
|
||||
var scope = this.domHost || styleDefaults;
|
||||
var scope = this._findStyleHost();
|
||||
if (!scope._styleProperties) {
|
||||
scope._computeStyleProperties();
|
||||
}
|
||||
@ -2896,7 +2916,7 @@ return style;
|
||||
},
|
||||
serializeValueToAttribute: function (value, attribute, node) {
|
||||
node = node || this;
|
||||
if (attribute === 'class') {
|
||||
if (attribute === 'class' && !nativeShadow) {
|
||||
var host = node === this ? this.domHost || this.dataHost : this;
|
||||
if (host) {
|
||||
value = host._scopeElementClass(node, value);
|
||||
@ -2952,7 +2972,6 @@ Polymer.Base._addFeature({
|
||||
_registerFeatures: function () {
|
||||
this._prepIs();
|
||||
this._prepAttributes();
|
||||
this._prepExtends();
|
||||
this._prepConstructor();
|
||||
this._prepTemplate();
|
||||
this._prepStyles();
|
||||
@ -3422,19 +3441,18 @@ delay: Number
|
||||
},
|
||||
behaviors: [Polymer.Templatizer],
|
||||
observers: ['_itemsChanged(items.*)'],
|
||||
created: function () {
|
||||
this._instances = [];
|
||||
},
|
||||
detached: function () {
|
||||
if (this.rows) {
|
||||
for (var i = 0; i < this.rows.length; i++) {
|
||||
for (var i = 0; i < this._instances.length; i++) {
|
||||
this._detachRow(i);
|
||||
}
|
||||
}
|
||||
},
|
||||
attached: function () {
|
||||
if (this.rows) {
|
||||
var parentNode = Polymer.dom(this).parentNode;
|
||||
for (var i = 0; i < this.rows.length; i++) {
|
||||
Polymer.dom(parentNode).insertBefore(this.rows[i].root, this);
|
||||
}
|
||||
for (var i = 0; i < this._instances.length; i++) {
|
||||
Polymer.dom(parentNode).insertBefore(this._instances[i].root, this);
|
||||
}
|
||||
},
|
||||
ready: function () {
|
||||
@ -3451,7 +3469,7 @@ var sort = this.sort;
|
||||
this._sortFn = sort && (typeof sort == 'function' ? sort : function () {
|
||||
return dataHost[sort].apply(dataHost, arguments);
|
||||
});
|
||||
this._fullRefresh = true;
|
||||
this._needFullRefresh = true;
|
||||
if (this.items) {
|
||||
this._debounceTemplate(this._render);
|
||||
}
|
||||
@ -3462,7 +3480,7 @@ var filter = this.filter;
|
||||
this._filterFn = filter && (typeof filter == 'function' ? filter : function () {
|
||||
return dataHost[filter].apply(dataHost, arguments);
|
||||
});
|
||||
this._fullRefresh = true;
|
||||
this._needFullRefresh = true;
|
||||
if (this.items) {
|
||||
this._debounceTemplate(this._render);
|
||||
}
|
||||
@ -3480,7 +3498,7 @@ this.collection = null;
|
||||
this._error(this._logf('dom-repeat', 'expected array for `items`,' + ' found', this.items));
|
||||
}
|
||||
this._splices = [];
|
||||
this._fullRefresh = true;
|
||||
this._needFullRefresh = true;
|
||||
this._debounceTemplate(this._render);
|
||||
} else if (change.path == 'items.splices') {
|
||||
this._splices = this._splices.concat(change.value.keySplices);
|
||||
@ -3497,7 +3515,7 @@ path = path.substring(path.indexOf('.') + 1);
|
||||
var paths = this._observePaths;
|
||||
for (var i = 0; i < paths.length; i++) {
|
||||
if (path.indexOf(paths[i]) === 0) {
|
||||
this._fullRefresh = true;
|
||||
this._needFullRefresh = true;
|
||||
if (this.delay) {
|
||||
this.debounce('render', this._render, this.delay);
|
||||
} else {
|
||||
@ -3509,102 +3527,111 @@ return;
|
||||
}
|
||||
},
|
||||
render: function () {
|
||||
this._fullRefresh = true;
|
||||
this._needFullRefresh = true;
|
||||
this._debounceTemplate(this._render);
|
||||
this._flushTemplates();
|
||||
},
|
||||
_render: function () {
|
||||
var c = this.collection;
|
||||
if (!this._fullRefresh) {
|
||||
if (this._needFullRefresh) {
|
||||
this._applyFullRefresh();
|
||||
this._needFullRefresh = false;
|
||||
} else {
|
||||
if (this._sortFn) {
|
||||
this._applySplicesViewSort(this._splices);
|
||||
this._applySplicesUserSort(this._splices);
|
||||
} else {
|
||||
if (this._filterFn) {
|
||||
this._fullRefresh = true;
|
||||
this._applyFullRefresh();
|
||||
} else {
|
||||
this._applySplicesArraySort(this._splices);
|
||||
this._applySplicesArrayOrder(this._splices);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this._fullRefresh) {
|
||||
this._sortAndFilter();
|
||||
this._fullRefresh = false;
|
||||
}
|
||||
this._splices = [];
|
||||
var rowForKey = this._rowForKey = {};
|
||||
var keys = this._orderedKeys;
|
||||
this.rows = this.rows || [];
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
var item = c.getItem(key);
|
||||
var row = this.rows[i];
|
||||
rowForKey[key] = i;
|
||||
if (!row) {
|
||||
this.rows.push(row = this._insertRow(i, null, item));
|
||||
var keyToIdx = this._keyToInstIdx = {};
|
||||
for (var i = 0; i < this._instances.length; i++) {
|
||||
var inst = this._instances[i];
|
||||
keyToIdx[inst.__key__] = i;
|
||||
inst.__setProperty(this.indexAs, i, true);
|
||||
}
|
||||
row.__setProperty(this.as, item, true);
|
||||
row.__setProperty('__key__', key, true);
|
||||
row.__setProperty(this.indexAs, i, true);
|
||||
}
|
||||
for (; i < this.rows.length; i++) {
|
||||
this._detachRow(i);
|
||||
}
|
||||
this.rows.splice(keys.length, this.rows.length - keys.length);
|
||||
this.fire('dom-change');
|
||||
},
|
||||
_sortAndFilter: function () {
|
||||
_applyFullRefresh: function () {
|
||||
var c = this.collection;
|
||||
if (!this._sortFn) {
|
||||
this._orderedKeys = [];
|
||||
var keys;
|
||||
if (this._sortFn) {
|
||||
keys = c ? c.getKeys() : [];
|
||||
} else {
|
||||
keys = [];
|
||||
var items = this.items;
|
||||
if (items) {
|
||||
for (var i = 0; i < items.length; i++) {
|
||||
this._orderedKeys.push(c.getKey(items[i]));
|
||||
keys.push(c.getKey(items[i]));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this._orderedKeys = c ? c.getKeys() : [];
|
||||
}
|
||||
if (this._filterFn) {
|
||||
this._orderedKeys = this._orderedKeys.filter(function (a) {
|
||||
keys = keys.filter(function (a) {
|
||||
return this._filterFn(c.getItem(a));
|
||||
}, this);
|
||||
}
|
||||
if (this._sortFn) {
|
||||
this._orderedKeys.sort(function (a, b) {
|
||||
keys.sort(function (a, b) {
|
||||
return this._sortFn(c.getItem(a), c.getItem(b));
|
||||
}.bind(this));
|
||||
}
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
var inst = this._instances[i];
|
||||
if (inst) {
|
||||
inst.__setProperty('__key__', key, true);
|
||||
inst.__setProperty(this.as, c.getItem(key), true);
|
||||
} else {
|
||||
this._instances.push(this._insertRow(i, key));
|
||||
}
|
||||
}
|
||||
for (; i < this._instances.length; i++) {
|
||||
this._detachRow(i);
|
||||
}
|
||||
this._instances.splice(keys.length, this._instances.length - keys.length);
|
||||
},
|
||||
_keySort: function (a, b) {
|
||||
return this.collection.getKey(a) - this.collection.getKey(b);
|
||||
},
|
||||
_applySplicesViewSort: function (splices) {
|
||||
_applySplicesUserSort: function (splices) {
|
||||
var c = this.collection;
|
||||
var keys = this._orderedKeys;
|
||||
var rows = this.rows;
|
||||
var removedRows = [];
|
||||
var addedKeys = [];
|
||||
var instances = this._instances;
|
||||
var keyMap = {};
|
||||
var pool = [];
|
||||
var sortFn = this._sortFn || this._keySort.bind(this);
|
||||
splices.forEach(function (s) {
|
||||
for (var i = 0; i < s.removed.length; i++) {
|
||||
var idx = this._rowForKey[s.removed[i]];
|
||||
if (idx != null) {
|
||||
removedRows.push(idx);
|
||||
}
|
||||
var key = s.removed[i];
|
||||
keyMap[key] = keyMap[key] ? null : -1;
|
||||
}
|
||||
for (var i = 0; i < s.added.length; i++) {
|
||||
addedKeys.push(s.added[i]);
|
||||
var key = s.added[i];
|
||||
keyMap[key] = keyMap[key] ? null : 1;
|
||||
}
|
||||
}, this);
|
||||
if (removedRows.length) {
|
||||
removedRows.sort();
|
||||
for (var i = removedRows.length - 1; i >= 0; i--) {
|
||||
var idx = removedRows[i];
|
||||
var removedIdxs = [];
|
||||
var addedKeys = [];
|
||||
for (var key in keyMap) {
|
||||
if (keyMap[key] === -1) {
|
||||
removedIdxs.push(this._keyToInstIdx[key]);
|
||||
}
|
||||
if (keyMap[key] === 1) {
|
||||
addedKeys.push(key);
|
||||
}
|
||||
}
|
||||
if (removedIdxs.length) {
|
||||
removedIdxs.sort();
|
||||
for (var i = removedIdxs.length - 1; i >= 0; i--) {
|
||||
var idx = removedIdxs[i];
|
||||
if (idx !== undefined) {
|
||||
pool.push(this._detachRow(idx));
|
||||
rows.splice(idx, 1);
|
||||
keys.splice(idx, 1);
|
||||
instances.splice(idx, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (addedKeys.length) {
|
||||
@ -3618,19 +3645,19 @@ return this._sortFn(c.getItem(a), c.getItem(b));
|
||||
}.bind(this));
|
||||
var start = 0;
|
||||
for (var i = 0; i < addedKeys.length; i++) {
|
||||
start = this._insertRowIntoViewSort(start, addedKeys[i], pool);
|
||||
start = this._insertRowUserSort(start, addedKeys[i], pool);
|
||||
}
|
||||
}
|
||||
},
|
||||
_insertRowIntoViewSort: function (start, key, pool) {
|
||||
_insertRowUserSort: function (start, key, pool) {
|
||||
var c = this.collection;
|
||||
var item = c.getItem(key);
|
||||
var end = this.rows.length - 1;
|
||||
var end = this._instances.length - 1;
|
||||
var idx = -1;
|
||||
var sortFn = this._sortFn || this._keySort.bind(this);
|
||||
while (start <= end) {
|
||||
var mid = start + end >> 1;
|
||||
var midKey = this._orderedKeys[mid];
|
||||
var midKey = this._instances[mid].__key__;
|
||||
var cmp = sortFn(c.getItem(midKey), item);
|
||||
if (cmp < 0) {
|
||||
start = mid + 1;
|
||||
@ -3644,106 +3671,110 @@ break;
|
||||
if (idx < 0) {
|
||||
idx = end + 1;
|
||||
}
|
||||
this._orderedKeys.splice(idx, 0, key);
|
||||
this.rows.splice(idx, 0, this._insertRow(idx, pool, c.getItem(key)));
|
||||
this._instances.splice(idx, 0, this._insertRow(idx, key, pool));
|
||||
return idx;
|
||||
},
|
||||
_applySplicesArraySort: function (splices) {
|
||||
var keys = this._orderedKeys;
|
||||
_applySplicesArrayOrder: function (splices) {
|
||||
var pool = [];
|
||||
splices.forEach(function (s) {
|
||||
for (var i = 0; i < s.removed.length; i++) {
|
||||
pool.push(this._detachRow(s.index + i));
|
||||
}
|
||||
this.rows.splice(s.index, s.removed.length);
|
||||
}, this);
|
||||
var c = this.collection;
|
||||
splices.forEach(function (s) {
|
||||
var args = [
|
||||
s.index,
|
||||
s.removed.length
|
||||
].concat(s.added);
|
||||
keys.splice.apply(keys, args);
|
||||
for (var i = 0; i < s.removed.length; i++) {
|
||||
var inst = this._detachRow(s.index + i);
|
||||
if (!inst.isPlaceholder) {
|
||||
pool.push(inst);
|
||||
}
|
||||
}
|
||||
this._instances.splice(s.index, s.removed.length);
|
||||
for (var i = 0; i < s.added.length; i++) {
|
||||
var item = c.getItem(s.added[i]);
|
||||
var row = this._insertRow(s.index + i, pool, item);
|
||||
this.rows.splice(s.index + i, 0, row);
|
||||
var inst = {
|
||||
isPlaceholder: true,
|
||||
key: s.added[i]
|
||||
};
|
||||
this._instances.splice(s.index + i, 0, inst);
|
||||
}
|
||||
}, this);
|
||||
for (var i = this._instances.length - 1; i >= 0; i--) {
|
||||
var inst = this._instances[i];
|
||||
if (inst.isPlaceholder) {
|
||||
this._instances[i] = this._insertRow(i, inst.key, pool, true);
|
||||
}
|
||||
}
|
||||
},
|
||||
_detachRow: function (idx) {
|
||||
var row = this.rows[idx];
|
||||
var inst = this._instances[idx];
|
||||
if (!inst.isPlaceholder) {
|
||||
var parentNode = Polymer.dom(this).parentNode;
|
||||
for (var i = 0; i < row._children.length; i++) {
|
||||
var el = row._children[i];
|
||||
Polymer.dom(row.root).appendChild(el);
|
||||
for (var i = 0; i < inst._children.length; i++) {
|
||||
var el = inst._children[i];
|
||||
Polymer.dom(inst.root).appendChild(el);
|
||||
}
|
||||
return row;
|
||||
}
|
||||
return inst;
|
||||
},
|
||||
_insertRow: function (idx, pool, item) {
|
||||
var row = pool && pool.pop() || this._generateRow(idx, item);
|
||||
var beforeRow = this.rows[idx];
|
||||
_insertRow: function (idx, key, pool, replace) {
|
||||
var inst;
|
||||
if (inst = pool && pool.pop()) {
|
||||
inst.__setProperty(this.as, this.collection.getItem(key), true);
|
||||
inst.__setProperty('__key__', key, true);
|
||||
} else {
|
||||
inst = this._generateRow(idx, key);
|
||||
}
|
||||
var beforeRow = this._instances[replace ? idx + 1 : idx];
|
||||
var beforeNode = beforeRow ? beforeRow._children[0] : this;
|
||||
var parentNode = Polymer.dom(this).parentNode;
|
||||
Polymer.dom(parentNode).insertBefore(row.root, beforeNode);
|
||||
return row;
|
||||
Polymer.dom(parentNode).insertBefore(inst.root, beforeNode);
|
||||
return inst;
|
||||
},
|
||||
_generateRow: function (idx, item) {
|
||||
var model = { __key__: this.collection.getKey(item) };
|
||||
model[this.as] = item;
|
||||
_generateRow: function (idx, key) {
|
||||
var model = { __key__: key };
|
||||
model[this.as] = this.collection.getItem(key);
|
||||
model[this.indexAs] = idx;
|
||||
var row = this.stamp(model);
|
||||
return row;
|
||||
var inst = this.stamp(model);
|
||||
return inst;
|
||||
},
|
||||
_showHideChildren: function (hidden) {
|
||||
if (this.rows) {
|
||||
for (var i = 0; i < this.rows.length; i++) {
|
||||
this.rows[i]._showHideChildren(hidden);
|
||||
}
|
||||
for (var i = 0; i < this._instances.length; i++) {
|
||||
this._instances[i]._showHideChildren(hidden);
|
||||
}
|
||||
},
|
||||
_forwardInstanceProp: function (row, prop, value) {
|
||||
_forwardInstanceProp: function (inst, prop, value) {
|
||||
if (prop == this.as) {
|
||||
var idx;
|
||||
if (this._sortFn || this._filterFn) {
|
||||
idx = this.items.indexOf(this.collection.getItem(row.__key__));
|
||||
idx = this.items.indexOf(this.collection.getItem(inst.__key__));
|
||||
} else {
|
||||
idx = row[this.indexAs];
|
||||
idx = inst[this.indexAs];
|
||||
}
|
||||
this.set('items.' + idx, value);
|
||||
}
|
||||
},
|
||||
_forwardInstancePath: function (row, path, value) {
|
||||
_forwardInstancePath: function (inst, path, value) {
|
||||
if (path.indexOf(this.as + '.') === 0) {
|
||||
this.notifyPath('items.' + row.__key__ + '.' + path.slice(this.as.length + 1), value);
|
||||
this.notifyPath('items.' + inst.__key__ + '.' + path.slice(this.as.length + 1), value);
|
||||
}
|
||||
},
|
||||
_forwardParentProp: function (prop, value) {
|
||||
if (this.rows) {
|
||||
this.rows.forEach(function (row) {
|
||||
row.__setProperty(prop, value, true);
|
||||
this._instances.forEach(function (inst) {
|
||||
inst.__setProperty(prop, value, true);
|
||||
}, this);
|
||||
}
|
||||
},
|
||||
_forwardParentPath: function (path, value) {
|
||||
if (this.rows) {
|
||||
this.rows.forEach(function (row) {
|
||||
row.notifyPath(path, value, true);
|
||||
this._instances.forEach(function (inst) {
|
||||
inst.notifyPath(path, value, true);
|
||||
}, this);
|
||||
}
|
||||
},
|
||||
_forwardItemPath: function (path, value) {
|
||||
if (this._rowForKey) {
|
||||
if (this._keyToInstIdx) {
|
||||
var dot = path.indexOf('.');
|
||||
var key = path.substring(0, dot < 0 ? path.length : dot);
|
||||
var idx = this._rowForKey[key];
|
||||
var row = this.rows[idx];
|
||||
if (row) {
|
||||
var idx = this._keyToInstIdx[key];
|
||||
var inst = this._instances[idx];
|
||||
if (inst) {
|
||||
if (dot >= 0) {
|
||||
path = this.as + '.' + path.substring(dot + 1);
|
||||
row.notifyPath(path, value, true);
|
||||
inst.notifyPath(path, value, true);
|
||||
} else {
|
||||
row.__setProperty(this.as, value, true);
|
||||
inst.__setProperty(this.as, value, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3960,7 +3991,6 @@ created: function () {
|
||||
Polymer.ImportStatus.whenLoaded(this._readySelf.bind(this));
|
||||
},
|
||||
_registerFeatures: function () {
|
||||
this._prepExtends();
|
||||
this._prepConstructor();
|
||||
},
|
||||
_insertChildren: function () {
|
||||
|
Loading…
Reference in New Issue
Block a user