1
0
mirror of https://github.com/home-assistant/frontend.git synced 2025-12-20 10:48:44 +00:00
Files
frontend/js/common/component/condition/index.js
Paulus Schoutsen 28457747e7 Fix eslint import extension (#682)
* Fix eslint import extension

* Update eslint hound

* Enable no unresolved for normal usage
2017-11-25 11:14:44 -08:00

51 lines
1.1 KiB
JavaScript

import { h, Component } from 'preact';
import ConditionRow from './condition_row.js';
export default class Condition extends Component {
constructor() {
super();
this.addCondition = this.addCondition.bind(this);
this.conditionChanged = this.conditionChanged.bind(this);
}
addCondition() {
const condition = this.props.condition.concat({
condition: 'state',
});
this.props.onChange(condition);
}
conditionChanged(index, newValue) {
const condition = this.props.condition.concat();
if (newValue === null) {
condition.splice(index, 1);
} else {
condition[index] = newValue;
}
this.props.onChange(condition);
}
render({ condition }) {
return (
<div class="triggers">
{condition.map((cnd, idx) => (
<ConditionRow
index={idx}
condition={cnd}
onChange={this.conditionChanged}
/>))}
<paper-card>
<div class='card-actions add-card'>
<paper-button onTap={this.addCondition}>Add condition</paper-button>
</div>
</paper-card>
</div>
);
}
}