From 0f2a50c62f0414dd00a0bd2c426d2b62590a9441 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 13 Jun 2015 09:52:00 -0700 Subject: [PATCH] Fix frontend bug that opens more info dialog after toggle tap --- homeassistant/components/frontend/version.py | 2 +- .../frontend/www_static/frontend.html | 582 ++++++++++-------- .../www_static/polymer/cards/state-card.html | 4 +- 3 files changed, 314 insertions(+), 274 deletions(-) diff --git a/homeassistant/components/frontend/version.py b/homeassistant/components/frontend/version.py index f0ef54755c8..5623a8c5e7e 100644 --- a/homeassistant/components/frontend/version.py +++ b/homeassistant/components/frontend/version.py @@ -1,2 +1,2 @@ """ DO NOT MODIFY. Auto-generated by build_frontend script """ -VERSION = "ddf42f54c15daf472d4c8641fab8d418" +VERSION = "db1ec3e116565340804da0e590058d60" diff --git a/homeassistant/components/frontend/www_static/frontend.html b/homeassistant/components/frontend/www_static/frontend.html index 3528c02eb0f..9f5c3aefe40 100644 --- a/homeassistant/components/frontend/www_static/frontend.html +++ b/homeassistant/components/frontend/www_static/frontend.html @@ -9563,6 +9563,7 @@ window.hass.uiUtil.formatDate = function(dateObj) { * iconset.applyIcon(iconNode, 'car'); * * @element iron-iconset-svg + * @demo demo/index.html */ Polymer({ @@ -9659,7 +9660,7 @@ window.hass.uiUtil.formatDate = function(dateObj) { /** * Create a map of child SVG elements by id. * - * @return {Object} Map of id's to SVG elements. + * @return {!Object} Map of id's to SVG elements. */ _createIconMap: function() { // Objects chained to Object.prototype (`{}`) have members. Specifically, @@ -10011,13 +10012,6 @@ window.hass.uiUtil.formatDate = function(dateObj) { - - - - - - @@ -17344,6 +17342,7 @@ window.hass.uiUtil.domainIcon = function(domain, state) { this.wave.style.transform = 'scale3d(' + scale + ',' + scale + ',1)'; }, + /** @param {Event=} event */ downAction: function(event) { var xCenter = this.containerMetrics.width / 2; var yCenter = this.containerMetrics.height / 2; @@ -17388,6 +17387,7 @@ window.hass.uiUtil.domainIcon = function(domain, state) { this.waveContainer.style.height = this.containerMetrics.size + 'px'; }, + /** @param {Event=} event */ upAction: function(event) { if (!this.isMouseDown) { return; @@ -17511,11 +17511,9 @@ window.hass.uiUtil.domainIcon = function(domain, state) { var ownerRoot = Polymer.dom(this).getOwnerRoot(); var target; - if (ownerRoot) { + if (this.parentNode.nodeType == 11) { // DOCUMENT_FRAGMENT_NODE target = ownerRoot.host; - } - - if (!target) { + } else { target = this.parentNode; } @@ -17529,8 +17527,8 @@ window.hass.uiUtil.domainIcon = function(domain, state) { }, attached: function() { - this._listen(this.target, 'up', this.upAction.bind(this)); - this._listen(this.target, 'down', this.downAction.bind(this)); + this.listen(this.target, 'up', 'upAction'); + this.listen(this.target, 'down', 'downAction'); if (!this.target.hasAttribute('noink')) { this.keyEventTarget = this.target; @@ -17556,6 +17554,7 @@ window.hass.uiUtil.domainIcon = function(domain, state) { }, 1); }, + /** @param {Event=} event */ downAction: function(event) { if (this.holdDown && this.ripples.length > 0) { return; @@ -17570,6 +17569,7 @@ window.hass.uiUtil.domainIcon = function(domain, state) { } }, + /** @param {Event=} event */ upAction: function(event) { if (this.holdDown) { return; @@ -17705,12 +17705,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN left: -15px; width: 48px; height: 48px; - color: var(--paper-checkbox-unchecked-ink-color); + color: var(--paper-checkbox-unchecked-ink-color, --primary-text-color); opacity: 0.6; } :host #ink[checked] { - color: var(--paper-checkbox-checked-ink-color); + color: var(--paper-checkbox-checked-ink-color, --default-primary-color); } :host #checkbox { @@ -17718,7 +17718,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN box-sizing: border-box; height: 100%; border: solid 2px; - border-color: var(--paper-checkbox-unchecked-color); + border-color: var(--paper-checkbox-unchecked-color, --primary-text-color); border-radius: 2px; pointer-events: none; -webkit-transition: background-color 140ms, border-color 140ms; @@ -17762,8 +17762,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN } :host #checkbox.checked { - background-color: var(--paper-checkbox-checked-color); - border-color: var(--paper-checkbox-checked-color); + background-color: var(--paper-checkbox-checked-color, --default-primary-color); + border-color: var(--paper-checkbox-checked-color, --default-primary-color); } :host #checkmark { @@ -17790,7 +17790,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN padding-left: 8px; white-space: normal; pointer-events: none; - color: var(--paper-checkbox-label-color); + color: var(--paper-checkbox-label-color, --primary-text-color); } #checkboxLabel[hidden] { @@ -17804,11 +17804,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN :host([disabled]) #checkbox { opacity: 0.5; - border-color: var(--paper-checkbox-unchecked-color); + border-color: var(--paper-checkbox-unchecked-color, --primary-text-color); } :host([disabled][checked]) #checkbox { - background-color: var(--paper-checkbox-unchecked-color); + background-color: var(--paper-checkbox-unchecked-color, --primary-text-color); opacity: 0.5; } @@ -18139,7 +18139,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN background: var(--paper-input-container-focus-color, --default-primary-color); } - .is-highlighted .focused-line { + .underline.is-highlighted .focused-line { -webkit-transform: none; transform: none; -webkit-transition: -webkit-transform 0.25s; @@ -18148,7 +18148,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN @apply(--paper-transition-easing); } - .is-invalid .focused-line { + .underline.is-invalid .focused-line { background: var(--paper-input-container-invalid-color, --google-red-500); -webkit-transform: none; @@ -18335,10 +18335,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN }, _addons: { - type: Array, - value: function() { - return []; - } + type: Array + // do not set a default value here intentionally - it will be initialized lazily when a + // distributed child is attached, which may occur before configuration for this element + // in polyfill. }, _inputHasContent: { @@ -18368,7 +18368,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN _boundOnInput: { type: Function, value: function() { - this._onInput.bind(this) + return this._onInput.bind(this); } }, @@ -18399,6 +18399,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN }, ready: function() { + if (!this._addons) { + this._addons = []; + } this.addEventListener('focus', this._boundOnFocus, true); this.addEventListener('blur', this._boundOnBlur, true); if (this.attrForValue) { @@ -18413,8 +18416,16 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN }, _onAddonAttached: function(event) { - this._addons.push(event.target); - this._handleValue(this._inputElement); + if (!this._addons) { + this._addons = []; + } + var target = event.target; + if (this._addons.indexOf(target) === -1) { + this._addons.push(target); + if (this.isAttached) { + this._handleValue(this._inputElement); + } + } }, _onFocus: function() { @@ -19478,7 +19489,9 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { */ dragging: { type: Boolean, - value: false + value: false, + readOnly: true, + notify: true }, /** @@ -19534,6 +19547,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { reflectToAttribute: true, type: Boolean, value: false, + readOnly: true, notify: true }, @@ -19542,7 +19556,9 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { */ peeking: { type: Boolean, - value: false + value: false, + readOnly: true, + notify: true }, /** @@ -19567,6 +19583,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { */ selected: { reflectToAttribute: true, + notify: true, type: String, value: null }, @@ -19693,7 +19710,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { }, _responsiveChange: function(narrow) { - this.narrow = narrow; + this._setNarrow(narrow); if (this.narrow) { this.selected = this.defaultSelected; @@ -19724,12 +19741,12 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { this.width = this.$.drawer.offsetWidth; this._moveDrawer(this._translateXForDeltaX(this.rightDrawer ? -this.edgeSwipeSensitivity : this.edgeSwipeSensitivity)); - this.peeking = true; + this._setPeeking(true); }, _stopEdgePeek: function() { if (this.peeking) { - this.peeking = false; + this._setPeeking(false); this._moveDrawer(null); } }, @@ -19768,13 +19785,13 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { x <= this.edgeSwipeSensitivity); }, - _trackStart: function() { + _trackStart: function(event) { if (this._swipeAllowed()) { sharedPanel = this; - this.dragging = true; + this._setDragging(true); if (this._isMainSelected()) { - this.dragging = this.peeking || this._isEdgeTouch(event); + this._setDragging(this.peeking || this._isEdgeTouch(event)); } if (this.dragging) { @@ -19803,7 +19820,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { // Ignore trackx until we move past the edge peek. return; } - this.peeking = false; + this._setPeeking(false); } this._moveDrawer(this._translateXForDeltaX(dx)); @@ -19814,7 +19831,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { if (this.dragging) { var xDirection = e.detail.dx > 0; - this.dragging = false; + this._setDragging(false); this.transition = true; sharedPanel = null; this._moveDrawer(null); @@ -19866,6 +19883,17 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { z-index: 0; } + :root { + /** + * Default paper header panel shadow + */ + --paper-header-panel-shadow: { + height: 6px; + bottom: -6px; + box-shadow: inset 0px 5px 6px -3px rgba(0, 0, 0, 0.4); + }; + } + #mainContainer { @apply(--layout-flex); @@ -19969,19 +19997,6 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { - -
+
- +
-
- -
+
+ +
- +