2016-01-31 20:57:58 +01:00
|
|
|
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
|
|
|
|
|
|
|
<link rel="import" href="../components/entity/state-badge.html">
|
|
|
|
|
|
|
|
<dom-module id="state-card-weblink">
|
|
|
|
<template>
|
2016-07-19 10:19:44 +02:00
|
|
|
<style>
|
|
|
|
:host {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
.name {
|
|
|
|
@apply(--paper-font-common-nowrap);
|
|
|
|
@apply(--paper-font-body1);
|
|
|
|
color: var(--primary-color);
|
|
|
|
|
|
|
|
text-transform: capitalize;
|
|
|
|
line-height: 40px;
|
|
|
|
margin-left: 16px;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|
2016-04-08 09:10:39 +02:00
|
|
|
<state-badge state-obj='[[stateObj]]' in-dialog='[[inDialog]]'></state-badge>
|
2017-01-30 03:34:45 +01:00
|
|
|
<a href$='[[stateObj.state]]' target='_blank' class='name' id='link'>[[computeStateName(stateObj)]]</a>
|
2016-01-31 20:57:58 +01:00
|
|
|
</template>
|
|
|
|
</dom-module>
|
2016-06-10 08:25:38 +02:00
|
|
|
|
|
|
|
<script>
|
|
|
|
Polymer({
|
|
|
|
is: 'state-card-weblink',
|
|
|
|
|
|
|
|
properties: {
|
|
|
|
inDialog: {
|
|
|
|
type: Boolean,
|
|
|
|
value: false,
|
|
|
|
},
|
|
|
|
|
|
|
|
stateObj: {
|
|
|
|
type: Object,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
listeners: {
|
|
|
|
tap: 'onTap',
|
|
|
|
},
|
|
|
|
|
2017-01-30 03:34:45 +01:00
|
|
|
computeStateName: function (stateObj) {
|
|
|
|
return window.hassUtil.computeStateName(stateObj);
|
|
|
|
},
|
|
|
|
|
2016-06-10 08:25:38 +02:00
|
|
|
onTap: function (ev) {
|
|
|
|
ev.stopPropagation();
|
|
|
|
if (ev.target === this.$.link) {
|
|
|
|
// Only open window if we clicked on card but not the link
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
window.open(this.stateObj.state, '_blank');
|
|
|
|
},
|
|
|
|
});
|
|
|
|
</script>
|