restore polymer change

This commit is contained in:
Luke Pulverenti 2015-08-20 23:29:11 -04:00
parent 6744d8dbe8
commit 0b3155f652
2 changed files with 87 additions and 75 deletions

View file

@ -637,7 +637,8 @@ prevent = dy > dx;
prevent = dx > dy; prevent = dx > dy;
} }
if (prevent) { if (prevent) {
ev.preventDefault(); //This prevents horizontal scrolling in safari
//ev.preventDefault();
} else { } else {
Gestures.prevent('track'); Gestures.prevent('track');
} }

View file

@ -241,6 +241,9 @@ Polymer.telemetry.instanceCount = 0;
(function () { (function () {
var modules = {}; var modules = {};
var lcModules = {}; var lcModules = {};
var findModule = function (id) {
return modules[id] || lcModules[id.toLowerCase()];
};
var DomModule = function () { var DomModule = function () {
return document.createElement('dom-module'); return document.createElement('dom-module');
}; };
@ -259,10 +262,10 @@ lcModules[id.toLowerCase()] = this;
} }
}, },
import: function (id, selector) { import: function (id, selector) {
var m = modules[id] || lcModules[id.toLowerCase()]; var m = findModule(id);
if (!m) { if (!m) {
forceDocumentUpgrade(); forceDocumentUpgrade();
m = modules[id]; m = findModule(id);
} }
if (m && selector) { if (m && selector) {
m = m.querySelector(selector); m = m.querySelector(selector);
@ -582,7 +585,7 @@ debouncer.stop();
} }
} }
}); });
Polymer.version = '1.1.0'; Polymer.version = '1.1.1';
Polymer.Base._addFeature({ Polymer.Base._addFeature({
_registerFeatures: function () { _registerFeatures: function () {
this._prepIs(); this._prepIs();
@ -1051,47 +1054,43 @@ Polymer.dom.addDebouncer(host.debounce('_distribute', host._distributeContent));
} }
}, },
appendChild: function (node) { appendChild: function (node) {
var handled; return this._addNode(node);
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;
}, },
insertBefore: function (node, ref_node) { insertBefore: function (node, ref_node) {
if (!ref_node) { return this._addNode(node, ref_node);
return this.appendChild(node); },
} _addNode: function (node, ref_node) {
var handled;
this._ensureContentLogicalInfo(node);
this._removeNodeFromHost(node, true); 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 children = this.childNodes;
var index = children.indexOf(ref_node); var index = children.indexOf(ref_node);
if (index < 0) { if (index < 0) {
throw Error('The ref_node to be inserted before is not a child ' + 'of this node'); 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; ref_node = ref_node.localName === CONTENT ? this._firstComposedNode(ref_node) : ref_node;
}
var container = this.node._isShadyRoot ? this.node.host : this.node; var container = this.node._isShadyRoot ? this.node.host : this.node;
addToComposedParent(container, node, ref_node); addToComposedParent(container, node, ref_node);
if (ref_node) {
nativeInsertBefore.call(container, node, ref_node); nativeInsertBefore.call(container, node, ref_node);
} else {
nativeAppendChild.call(container, node);
}
}
if (addedInsertionPoint) {
this._updateInsertionPoints(root.host);
} }
return node; return node;
}, },
@ -1099,14 +1098,8 @@ removeChild: function (node) {
if (factory(node).parentNode !== this.node) { if (factory(node).parentNode !== this.node) {
console.warn('The node to be removed is not a child of this node', 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); this._removeNodeFromHost(node);
handled = this._maybeDistribute(node, this.node); if (!this._maybeDistribute(node, this.node)) {
} else {
this._removeNodeFromHost(node);
}
if (!handled) {
var container = this.node._isShadyRoot ? this.node.host : this.node; var container = this.node._isShadyRoot ? this.node.host : this.node;
if (container === node.parentNode) { if (container === node.parentNode) {
removeFromComposedParent(container, node); removeFromComposedParent(container, node);
@ -1154,7 +1147,6 @@ if (hasContent) {
var root = this._ownerShadyRootForNode(parent); var root = this._ownerShadyRootForNode(parent);
if (root) { if (root) {
var host = root.host; var host = root.host;
this._updateInsertionPoints(host);
this._lazyDistribute(host); this._lazyDistribute(host);
} }
} }
@ -1164,6 +1156,25 @@ this._lazyDistribute(parent);
} }
return parentNeedsDist || hasContent && !wrappedContent; 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) { _tryRemoveUndistributedNode: function (node) {
if (this.node.shadyRoot) { if (this.node.shadyRoot) {
if (node._composedParent) { if (node._composedParent) {
@ -1180,20 +1191,8 @@ saveLightChildrenIfNeeded(c);
saveLightChildrenIfNeeded(factory(c).parentNode); saveLightChildrenIfNeeded(factory(c).parentNode);
} }
}, },
_nodeIsInLogicalTree: function (node) { _nodeHasLogicalChildren: function (node) {
return Boolean(node._lightParent !== undefined || node._isShadyRoot || node.shadyRoot); return Boolean(node._lightChildren !== undefined);
},
_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);
}
}, },
_parentNeedsDistribution: function (parent) { _parentNeedsDistribution: function (parent) {
return parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot); return parent && parent.shadyRoot && hasInsertionPoint(parent.shadyRoot);
@ -1203,6 +1202,7 @@ var hostNeedsDist;
var root; var root;
var parent = node._lightParent; var parent = node._lightParent;
if (parent) { if (parent) {
factory(node)._distributeParent();
root = this._ownerShadyRootForNode(node); root = this._ownerShadyRootForNode(node);
if (root) { if (root) {
root.host._elementRemove(node); root.host._elementRemove(node);
@ -1215,7 +1215,7 @@ if (root && hostNeedsDist) {
this._updateInsertionPoints(root.host); this._updateInsertionPoints(root.host);
this._lazyDistribute(root.host); this._lazyDistribute(root.host);
} else if (ensureComposedRemoval) { } else if (ensureComposedRemoval) {
removeFromComposedParent(parent || node.parentNode, node); removeFromComposedParent(node._composedParent, node);
} }
}, },
_removeDistributedChildren: function (root, container) { _removeDistributedChildren: function (root, container) {
@ -1741,7 +1741,7 @@ node._lightChildren = c$;
} }
} }
function hasInsertionPoint(root) { function hasInsertionPoint(root) {
return Boolean(root._insertionPoints.length); return Boolean(root && root._insertionPoints.length);
} }
var p = Element.prototype; var p = Element.prototype;
var matchesSelector = p.matches || p.matchesSelector || p.mozMatchesSelector || p.msMatchesSelector || p.oMatchesSelector || p.webkitMatchesSelector; var matchesSelector = p.matches || p.matchesSelector || p.mozMatchesSelector || p.msMatchesSelector || p.oMatchesSelector || p.webkitMatchesSelector;
@ -2724,7 +2724,7 @@ prevent = dy > dx;
prevent = dx > dy; prevent = dx > dy;
} }
if (prevent) { if (prevent) {
// This prevents horizontal scrolling in safari //This prevents horizontal scrolling in safari
//ev.preventDefault(); //ev.preventDefault();
} else { } else {
Gestures.prevent('track'); Gestures.prevent('track');
@ -3744,6 +3744,9 @@ name: arg,
model: this._modelForPath(arg) model: this._modelForPath(arg)
}; };
var fc = arg[0]; var fc = arg[0];
if (fc === '-') {
fc = arg[1];
}
if (fc >= '0' && fc <= '9') { if (fc >= '0' && fc <= '9') {
fc = '#'; fc = '#';
} }
@ -4364,30 +4367,24 @@ return m && m._cssText || '';
_cssFromElement: function (element) { _cssFromElement: function (element) {
var cssText = ''; var cssText = '';
var content = element.content || element; var content = element.content || element;
var sourceDoc = element.ownerDocument;
var e$ = Array.prototype.slice.call(content.querySelectorAll(this.MODULE_STYLES_SELECTOR)); var e$ = Array.prototype.slice.call(content.querySelectorAll(this.MODULE_STYLES_SELECTOR));
for (var i = 0, e, resolveDoc, addModule; i < e$.length; i++) { for (var i = 0, e; i < e$.length; i++) {
e = e$[i]; e = e$[i];
resolveDoc = sourceDoc;
addModule = null;
if (e.localName === 'template') { if (e.localName === 'template') {
cssText += this._cssFromElement(e); cssText += this._cssFromElement(e);
} else { } else {
if (e.localName === 'style') { if (e.localName === 'style') {
addModule = e.getAttribute(this.INCLUDE_ATTR); var include = e.getAttribute(this.INCLUDE_ATTR);
e = e.__appliedElement || e; e = e.__appliedElement || e;
e.parentNode.removeChild(e); e.parentNode.removeChild(e);
} else { cssText += this.resolveCss(e.textContent, element.ownerDocument);
e = e.import && e.import.body; if (include) {
resolveDoc = e.ownerDocument; cssText += this.cssFromModules(include);
} }
if (e) { } else if (e.import && e.import.body) {
cssText += this.resolveCss(e.textContent, resolveDoc); cssText += this.resolveCss(e.import.body.textContent, e.import);
} }
} }
if (addModule) {
cssText += this.cssFromModules(addModule);
}
} }
return cssText; return cssText;
}, },
@ -5322,16 +5319,18 @@ var e = this.__appliedElement || this;
if (this.include) { if (this.include) {
e.textContent += styleUtil.cssFromModules(this.include); e.textContent += styleUtil.cssFromModules(this.include);
} }
var rules = styleUtil.rulesForStyle(e);
styleUtil.forEachStyleRule(rules, function (rule) {
styleTransformer.documentRule(rule);
});
this._computeStyleProperties(); this._computeStyleProperties();
var props = this._styleProperties; var props = this._styleProperties;
var self = this; e.textContent = styleUtil.toCssText(rules, function (rule) {
e.textContent = styleUtil.toCssText(styleUtil.rulesForStyle(e), function (rule) {
var css = rule.cssText = rule.parsedCssText; var css = rule.cssText = rule.parsedCssText;
if (rule.propertyInfo && rule.propertyInfo.cssText) { if (rule.propertyInfo && rule.propertyInfo.cssText) {
css = cssParse.removeCustomPropAssignment(css); css = cssParse.removeCustomPropAssignment(css);
rule.cssText = propertyUtils.valueForProperties(css, props); rule.cssText = propertyUtils.valueForProperties(css, props);
} }
styleTransformer.documentRule(rule);
}); });
} }
}); });
@ -5887,6 +5886,9 @@ this._instances.splice(keys.length, this._instances.length - keys.length);
_keySort: function (a, b) { _keySort: function (a, b) {
return this.collection.getKey(a) - this.collection.getKey(b); return this.collection.getKey(a) - this.collection.getKey(b);
}, },
_numericSort: function (a, b) {
return a - b;
},
_applySplicesUserSort: function (splices) { _applySplicesUserSort: function (splices) {
var c = this.collection; var c = this.collection;
var instances = this._instances; var instances = this._instances;
@ -5914,7 +5916,7 @@ addedKeys.push(key);
} }
} }
if (removedIdxs.length) { if (removedIdxs.length) {
removedIdxs.sort(); removedIdxs.sort(this._numericSort);
for (var i = removedIdxs.length - 1; i >= 0; i--) { for (var i = removedIdxs.length - 1; i >= 0; i--) {
var idx = removedIdxs[i]; var idx = removedIdxs[i];
if (idx !== undefined) { if (idx !== undefined) {
@ -6097,6 +6099,10 @@ selected: {
type: Object, type: Object,
notify: true notify: true
}, },
selectedItem: {
type: Object,
notify: true
},
toggle: { toggle: {
type: Boolean, type: Boolean,
value: false value: false
@ -6119,6 +6125,7 @@ this._selectedColl = Polymer.Collection.get(this.selected);
this.selected = null; this.selected = null;
this._selectedColl = null; this._selectedColl = null;
} }
this.selectedItem = null;
}, },
isSelected: function (item) { isSelected: function (item) {
if (this.multi) { if (this.multi) {
@ -6136,7 +6143,9 @@ this.unlinkPaths('selected.' + skey);
} }
} else { } else {
this.selected = null; this.selected = null;
this.selectedItem = null;
this.unlinkPaths('selected'); this.unlinkPaths('selected');
this.unlinkPaths('selectedItem');
} }
}, },
select: function (item) { select: function (item) {
@ -6156,8 +6165,10 @@ this.linkPaths('selected.' + skey, 'items.' + key);
if (this.toggle && item == this.selected) { if (this.toggle && item == this.selected) {
this.deselect(); this.deselect();
} else { } else {
this.linkPaths('selected', 'items.' + key);
this.selected = item; this.selected = item;
this.selectedItem = item;
this.linkPaths('selected', 'items.' + key);
this.linkPaths('selectedItem', 'items.' + key);
} }
} }
} }