Files
ha-frontend-cdce8p/src/components/ha-cover-controls.html
T

62 lines
1.6 KiB
HTML

<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/paper-icon-button/paper-icon-button.html">
<link rel="import" href="../util/cover-model.html">
<dom-module id="ha-cover-controls">
<template>
<style>
.state {
white-space: nowrap;
}
[invisible] {
visibility: hidden !important;
}
</style>
<div class='state'>
<paper-icon-button icon="mdi:arrow-up" on-tap='onOpenTap'
invisible$='[[!entityObj.supportsOpen]]'
disabled='[[entityObj.isFullyOpen]]'></paper-icon-button>
<paper-icon-button icon="mdi:stop" on-tap='onStopTap'
invisible$='[[!entityObj.supportsStop]]'></paper-icon-button>
<paper-icon-button icon="mdi:arrow-down" on-tap='onCloseTap'
invisible$='[[!entityObj.supportsClose]]'
disabled='[[entityObj.isFullyClosed]]'></paper-icon-button>
</div>
</template>
</dom-module>
<script>
Polymer({
is: 'ha-cover-controls',
properties: {
hass: {
type: Object,
},
stateObj: {
type: Object,
},
entityObj: {
type: Object,
computed: 'computeEntityObj(hass, stateObj)',
},
},
computeEntityObj: function (hass, stateObj) {
return new window.CoverEntity(hass, stateObj);
},
onOpenTap: function (ev) {
ev.stopPropagation();
this.entityObj.openCover();
},
onCloseTap: function (ev) {
ev.stopPropagation();
this.entityObj.closeCover();
},
onStopTap: function (ev) {
ev.stopPropagation();
this.entityObj.stopCover();
},
});
</script>