Listen to every change, not just final change event (#688)

This commit is contained in:
Paulus Schoutsen 2017-11-26 17:21:57 -08:00 committed by GitHub
parent 10ddb7faac
commit 8054aa744e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 28 additions and 24 deletions

View File

@ -60,7 +60,7 @@ export default class Automation extends Component {
label="Name" label="Name"
name="alias" name="alias"
value={alias} value={alias}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
</paper-card> </paper-card>

View File

@ -27,7 +27,7 @@ export default class EventTrigger extends Component {
label="Event Type" label="Event Type"
name="event_type" name="event_type"
value={event_type} value={event_type}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<JSONTextArea <JSONTextArea
label="Event Data" label="Event Data"

View File

@ -18,13 +18,13 @@ export default class MQTTTrigger extends Component {
label="Topic" label="Topic"
name="topic" name="topic"
value={topic} value={topic}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<paper-input <paper-input
label="Payload (Optional)" label="Payload (Optional)"
name="payload" name="payload"
value={payload} value={payload}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
); );

View File

@ -35,13 +35,13 @@ export default class NumericStateTrigger extends Component {
label="Above" label="Above"
name="above" name="above"
value={above} value={above}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<paper-input <paper-input
label="Below" label="Below"
name="below" name="below"
value={below} value={below}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<paper-textarea <paper-textarea
label="Value template (optional)" label="Value template (optional)"

View File

@ -34,13 +34,13 @@ export default class StateTrigger extends Component {
label="From" label="From"
name="from" name="from"
value={trgFrom} value={trgFrom}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<paper-input <paper-input
label="To" label="To"
name="to" name="to"
value={to} value={to}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
{trgFor && <pre>For: {JSON.stringify(trgFor, null, 2)}</pre>} {trgFor && <pre>For: {JSON.stringify(trgFor, null, 2)}</pre>}
</div> </div>

View File

@ -36,7 +36,7 @@ export default class SunTrigger extends Component {
label="Offset (optional)" label="Offset (optional)"
name="offset" name="offset"
value={offset} value={offset}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
); );

View File

@ -18,7 +18,7 @@ export default class TimeTrigger extends Component {
label="At" label="At"
name="at" name="at"
value={at} value={at}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
); );

View File

@ -34,13 +34,13 @@ export default class NumericStateCondition extends Component {
label="Above" label="Above"
name="above" name="above"
value={above} value={above}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<paper-input <paper-input
label="Below" label="Below"
name="below" name="below"
value={below} value={below}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<paper-textarea <paper-textarea
label="Value template (optional)" label="Value template (optional)"

View File

@ -33,7 +33,7 @@ export default class StateCondition extends Component {
label="State" label="State"
name="state" name="state"
value={state} value={state}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
{cndFor && <pre>For: {JSON.stringify(cndFor, null, 2)}</pre>} {cndFor && <pre>For: {JSON.stringify(cndFor, null, 2)}</pre>}
</div> </div>

View File

@ -45,7 +45,7 @@ export default class SunCondition extends Component {
label="Before offset (optional)" label="Before offset (optional)"
name="before_offset" name="before_offset"
value={before_offset} value={before_offset}
onChange={this.onChange} onvalue-changed={this.onChange}
disabled={before === undefined} disabled={before === undefined}
/> />
@ -64,7 +64,7 @@ export default class SunCondition extends Component {
label="After offset (optional)" label="After offset (optional)"
name="after_offset" name="after_offset"
value={after_offset} value={after_offset}
onChange={this.onChange} onvalue-changed={this.onChange}
disabled={after === undefined} disabled={after === undefined}
/> />
</div> </div>

View File

@ -18,13 +18,13 @@ export default class TimeCondition extends Component {
label="After" label="After"
name="after" name="after"
value={after} value={after}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<paper-input <paper-input
label="Before" label="Before"
name="before" name="before"
value={before} value={before}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
); );

View File

@ -16,7 +16,7 @@ export default class DelayAction extends Component {
label="Delay" label="Delay"
name="delay" name="delay"
value={delay} value={delay}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
); );

View File

@ -27,7 +27,7 @@ export default class EventAction extends Component {
label="Event" label="Event"
name="event" name="event"
value={event} value={event}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
<JSONTextArea <JSONTextArea
label="Service Data" label="Service Data"

View File

@ -33,7 +33,7 @@ export default class WaitAction extends Component {
label="Timeout (Optional)" label="Timeout (Optional)"
name="timeout" name="timeout"
value={timeout} value={timeout}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
); );

View File

@ -1,9 +1,13 @@
export function onChangeEvent(prop, ev) { export function onChangeEvent(prop, ev) {
const data = { ...this.props[prop] }; const origData = this.props[prop];
if (ev.target.value === data[ev.target.name]) { if (ev.target.value === origData[ev.target.name]) {
return; return;
} else if (ev.target.value) { }
const data = { ...origData };
if (ev.target.value) {
data[ev.target.name] = ev.target.value; data[ev.target.name] = ev.target.value;
} else { } else {
delete data[ev.target.name]; delete data[ev.target.name];

View File

@ -40,7 +40,7 @@ export default class ScriptEditor extends Component {
label="Name" label="Name"
name="alias" name="alias"
value={alias} value={alias}
onChange={this.onChange} onvalue-changed={this.onChange}
/> />
</div> </div>
</paper-card> </paper-card>