From 78975c306dbd513ff06af6fce9f73335644f4b60 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 8 Oct 2015 21:55:36 -0400 Subject: [PATCH] update polymer --- .../polymer/polymer-micro.html | 2 +- .../bower_components/polymer/polymer.html | 57 ++++++++++++++---- dashboard-ui/vulcanize-out.html | 59 +++++++++++++++---- 3 files changed, 96 insertions(+), 22 deletions(-) diff --git a/dashboard-ui/bower_components/polymer/polymer-micro.html b/dashboard-ui/bower_components/polymer/polymer-micro.html index a4e3fed45..95f018bfb 100644 --- a/dashboard-ui/bower_components/polymer/polymer-micro.html +++ b/dashboard-ui/bower_components/polymer/polymer-micro.html @@ -576,7 +576,7 @@ debouncer.stop(); } } }); -Polymer.version = '1.1.4'; +Polymer.version = '1.1.5'; Polymer.Base._addFeature({ _registerFeatures: function () { this._prepIs(); diff --git a/dashboard-ui/bower_components/polymer/polymer.html b/dashboard-ui/bower_components/polymer/polymer.html index 798fac598..e5295ac94 100644 --- a/dashboard-ui/bower_components/polymer/polymer.html +++ b/dashboard-ui/bower_components/polymer/polymer.html @@ -357,7 +357,15 @@ this.listen(node, name, listeners[key]); } }, listen: function (node, eventName, methodName) { -this._listen(node, eventName, this._createEventHandler(node, eventName, methodName)); +var handler = this._recallEventHandler(this, eventName, node, methodName); +if (!handler) { +handler = this._createEventHandler(node, eventName, methodName); +} +if (handler._listening) { +return; +} +this._listen(node, eventName, handler); +handler._listening = true; }, _boundListenerKey: function (eventName, methodName) { return eventName + ':' + methodName; @@ -396,6 +404,7 @@ host[methodName](e, e.detail); host._warn(host._logf('_createEventHandler', 'listener method `' + methodName + '` not defined')); } }; +handler._listening = false; this._recordEventHandler(host, eventName, node, methodName, handler); return handler; }, @@ -403,6 +412,7 @@ unlisten: function (node, eventName, methodName) { var handler = this._recallEventHandler(this, eventName, node, methodName); if (handler) { this._unlisten(node, eventName, handler); +handler._listening = false; } }, _listen: function (node, eventName, handler) { @@ -641,7 +651,7 @@ prevent = dy > dx; prevent = dx > dy; } if (prevent) { -//ev.preventDefault(); +ev.preventDefault(); } else { Gestures.prevent('track'); } @@ -1250,6 +1260,12 @@ elt[n] = props[n]; } } return elt; +}, +isLightDescendant: function (node) { +return this.contains(node) && Polymer.dom(this).getOwnerRoot() === Polymer.dom(node).getOwnerRoot(); +}, +isLocalDescendant: function (node) { +return this.root === Polymer.dom(node).getOwnerRoot(); } }); Polymer.Bind = { @@ -2051,6 +2067,22 @@ if (args.length) { this._notifySplice(array, path, 0, args.length, []); } return ret; +}, +prepareModelNotifyPath: function (model) { +this.mixin(model, { +fire: Polymer.Base.fire, +notifyPath: Polymer.Base.notifyPath, +_EVENT_CHANGED: Polymer.Base._EVENT_CHANGED, +_notifyPath: Polymer.Base._notifyPath, +_pathEffector: Polymer.Base._pathEffector, +_annotationPathEffect: Polymer.Base._annotationPathEffect, +_complexObserverPathEffect: Polymer.Base._complexObserverPathEffect, +_annotatedComputationPathEffect: Polymer.Base._annotatedComputationPathEffect, +_computePathEffect: Polymer.Base._computePathEffect, +_modelForPath: Polymer.Base._modelForPath, +_pathMatchesEffect: Polymer.Base._pathMatchesEffect, +_notifyBoundPaths: Polymer.Base._notifyBoundPaths +}); } }); }()); @@ -3258,6 +3290,7 @@ properties: { __hideTemplateChildren__: { observer: '_showHideChildren' } }, _instanceProps: Polymer.nob, _parentPropPrefix: '_parent_', templatize: function (template) { +this._templatized = template; if (!template._content) { template._content = template.content; } @@ -3268,11 +3301,11 @@ return; } var archetype = Object.create(Polymer.Base); this._customPrepAnnotations(archetype, template); +this._prepParentProperties(archetype, template); archetype._prepEffects(); this._customPrepEffects(archetype); archetype._prepBehaviors(); archetype._prepBindings(); -this._prepParentProperties(archetype, template); archetype._notifyPath = this._notifyPathImpl; archetype._scopeElementClass = this._scopeElementClassImpl; archetype.listen = this._listenImpl; @@ -3355,6 +3388,7 @@ delete parentProps[prop]; proto = archetype._parentPropProto = Object.create(null); if (template != this) { Polymer.Bind.prepareModel(proto); +Polymer.Base.prepareModelNotifyPath(proto); } for (prop in parentProps) { var parentProp = this._parentPropPrefix + prop; @@ -3373,6 +3407,7 @@ Polymer.Bind.prepareInstance(template); template._forwardParentProp = this._forwardParentProp.bind(this); } this._extendTemplate(template, proto); +template._pathEffector = this._pathEffectorImpl.bind(this); } }, _createForwardPropEffector: function (prop) { @@ -3383,7 +3418,7 @@ this._forwardParentProp(prop, value); _createHostPropEffector: function (prop) { var prefix = this._parentPropPrefix; return function (source, value) { -this.dataHost[prefix + prop] = value; +this.dataHost._templatized[prefix + prop] = value; }; }, _createInstancePropEffector: function (prop) { @@ -3415,16 +3450,17 @@ var dot = path.indexOf('.'); var root = dot < 0 ? path : path.slice(0, dot); dataHost._forwardInstancePath.call(dataHost, this, path, value); if (root in dataHost._parentProps) { -dataHost.notifyPath(dataHost._parentPropPrefix + path, value); +dataHost._templatized.notifyPath(dataHost._parentPropPrefix + path, value); } }, -_pathEffector: function (path, value, fromAbove) { +_pathEffectorImpl: function (path, value, fromAbove) { if (this._forwardParentPath) { if (path.indexOf(this._parentPropPrefix) === 0) { -this._forwardParentPath(path.substring(8), value); +var subPath = path.substring(this._parentPropPrefix.length); +this._forwardParentPath(subPath, value); } } -Polymer.Base._pathEffector.apply(this, arguments); +Polymer.Base._pathEffector.call(this._templatized, path, value, fromAbove); }, _constructorImpl: function (model, host) { this._rootDataHost = host._getRootDataHost(); @@ -3467,8 +3503,9 @@ return host._scopeElementClass(node, value); stamp: function (model) { model = model || {}; if (this._parentProps) { +var templatized = this._templatized; for (var prop in this._parentProps) { -model[prop] = this[this._parentPropPrefix + prop]; +model[prop] = templatized[this._parentPropPrefix + prop]; } } return new this.ctor(model, this); @@ -4076,7 +4113,7 @@ this.deselect(item); } } else { this.push('selected', item); -skey = this._selectedColl.getKey(item); +var skey = this._selectedColl.getKey(item); this.linkPaths('selected.' + skey, 'items.' + key); } } else { diff --git a/dashboard-ui/vulcanize-out.html b/dashboard-ui/vulcanize-out.html index 37332f794..49cb8c2e2 100644 --- a/dashboard-ui/vulcanize-out.html +++ b/dashboard-ui/vulcanize-out.html @@ -592,7 +592,7 @@ debouncer.stop(); } } }); -Polymer.version = '1.1.4'; +Polymer.version = '1.1.5'; Polymer.Base._addFeature({ _registerFeatures: function () { this._prepIs(); @@ -2471,7 +2471,15 @@ this.listen(node, name, listeners[key]); } }, listen: function (node, eventName, methodName) { -this._listen(node, eventName, this._createEventHandler(node, eventName, methodName)); +var handler = this._recallEventHandler(this, eventName, node, methodName); +if (!handler) { +handler = this._createEventHandler(node, eventName, methodName); +} +if (handler._listening) { +return; +} +this._listen(node, eventName, handler); +handler._listening = true; }, _boundListenerKey: function (eventName, methodName) { return eventName + ':' + methodName; @@ -2510,6 +2518,7 @@ host[methodName](e, e.detail); host._warn(host._logf('_createEventHandler', 'listener method `' + methodName + '` not defined')); } }; +handler._listening = false; this._recordEventHandler(host, eventName, node, methodName, handler); return handler; }, @@ -2517,6 +2526,7 @@ unlisten: function (node, eventName, methodName) { var handler = this._recallEventHandler(this, eventName, node, methodName); if (handler) { this._unlisten(node, eventName, handler); +handler._listening = false; } }, _listen: function (node, eventName, handler) { @@ -2755,7 +2765,7 @@ prevent = dy > dx; prevent = dx > dy; } if (prevent) { -//ev.preventDefault(); +ev.preventDefault(); } else { Gestures.prevent('track'); } @@ -3364,6 +3374,12 @@ elt[n] = props[n]; } } return elt; +}, +isLightDescendant: function (node) { +return this.contains(node) && Polymer.dom(this).getOwnerRoot() === Polymer.dom(node).getOwnerRoot(); +}, +isLocalDescendant: function (node) { +return this.root === Polymer.dom(node).getOwnerRoot(); } }); Polymer.Bind = { @@ -4165,6 +4181,22 @@ if (args.length) { this._notifySplice(array, path, 0, args.length, []); } return ret; +}, +prepareModelNotifyPath: function (model) { +this.mixin(model, { +fire: Polymer.Base.fire, +notifyPath: Polymer.Base.notifyPath, +_EVENT_CHANGED: Polymer.Base._EVENT_CHANGED, +_notifyPath: Polymer.Base._notifyPath, +_pathEffector: Polymer.Base._pathEffector, +_annotationPathEffect: Polymer.Base._annotationPathEffect, +_complexObserverPathEffect: Polymer.Base._complexObserverPathEffect, +_annotatedComputationPathEffect: Polymer.Base._annotatedComputationPathEffect, +_computePathEffect: Polymer.Base._computePathEffect, +_modelForPath: Polymer.Base._modelForPath, +_pathMatchesEffect: Polymer.Base._pathMatchesEffect, +_notifyBoundPaths: Polymer.Base._notifyBoundPaths +}); } }); }()); @@ -5372,6 +5404,7 @@ properties: { __hideTemplateChildren__: { observer: '_showHideChildren' } }, _instanceProps: Polymer.nob, _parentPropPrefix: '_parent_', templatize: function (template) { +this._templatized = template; if (!template._content) { template._content = template.content; } @@ -5382,11 +5415,11 @@ return; } var archetype = Object.create(Polymer.Base); this._customPrepAnnotations(archetype, template); +this._prepParentProperties(archetype, template); archetype._prepEffects(); this._customPrepEffects(archetype); archetype._prepBehaviors(); archetype._prepBindings(); -this._prepParentProperties(archetype, template); archetype._notifyPath = this._notifyPathImpl; archetype._scopeElementClass = this._scopeElementClassImpl; archetype.listen = this._listenImpl; @@ -5469,6 +5502,7 @@ delete parentProps[prop]; proto = archetype._parentPropProto = Object.create(null); if (template != this) { Polymer.Bind.prepareModel(proto); +Polymer.Base.prepareModelNotifyPath(proto); } for (prop in parentProps) { var parentProp = this._parentPropPrefix + prop; @@ -5487,6 +5521,7 @@ Polymer.Bind.prepareInstance(template); template._forwardParentProp = this._forwardParentProp.bind(this); } this._extendTemplate(template, proto); +template._pathEffector = this._pathEffectorImpl.bind(this); } }, _createForwardPropEffector: function (prop) { @@ -5497,7 +5532,7 @@ this._forwardParentProp(prop, value); _createHostPropEffector: function (prop) { var prefix = this._parentPropPrefix; return function (source, value) { -this.dataHost[prefix + prop] = value; +this.dataHost._templatized[prefix + prop] = value; }; }, _createInstancePropEffector: function (prop) { @@ -5529,16 +5564,17 @@ var dot = path.indexOf('.'); var root = dot < 0 ? path : path.slice(0, dot); dataHost._forwardInstancePath.call(dataHost, this, path, value); if (root in dataHost._parentProps) { -dataHost.notifyPath(dataHost._parentPropPrefix + path, value); +dataHost._templatized.notifyPath(dataHost._parentPropPrefix + path, value); } }, -_pathEffector: function (path, value, fromAbove) { +_pathEffectorImpl: function (path, value, fromAbove) { if (this._forwardParentPath) { if (path.indexOf(this._parentPropPrefix) === 0) { -this._forwardParentPath(path.substring(8), value); +var subPath = path.substring(this._parentPropPrefix.length); +this._forwardParentPath(subPath, value); } } -Polymer.Base._pathEffector.apply(this, arguments); +Polymer.Base._pathEffector.call(this._templatized, path, value, fromAbove); }, _constructorImpl: function (model, host) { this._rootDataHost = host._getRootDataHost(); @@ -5581,8 +5617,9 @@ return host._scopeElementClass(node, value); stamp: function (model) { model = model || {}; if (this._parentProps) { +var templatized = this._templatized; for (var prop in this._parentProps) { -model[prop] = this[this._parentPropPrefix + prop]; +model[prop] = templatized[this._parentPropPrefix + prop]; } } return new this.ctor(model, this); @@ -6190,7 +6227,7 @@ this.deselect(item); } } else { this.push('selected', item); -skey = this._selectedColl.getKey(item); +var skey = this._selectedColl.getKey(item); this.linkPaths('selected.' + skey, 'items.' + key); } } else {