1
0
mirror of https://github.com/home-assistant/frontend.git synced 2026-02-14 23:18:21 +00:00

Reorg into panels (#75)

This commit is contained in:
Paulus Schoutsen
2016-07-16 23:19:49 -07:00
committed by GitHub
parent 5e7f2fdbe8
commit 4029f16e97
45 changed files with 755 additions and 605 deletions

View File

@@ -0,0 +1,115 @@
<!--
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/paper-button/paper-button.html">
<link rel="import" href="../../bower_components/paper-input/paper-input.html">
<link rel="import" href="../../bower_components/paper-input/paper-textarea.html">
<link rel="import" href="./partial-base.html">
-->
<link rel="import" href="./events-list.html">
<dom-module id="ha-panel-dev-event">
<style is="custom-style" include="iron-flex iron-positioning"></style>
<style>
.content {
@apply(--paper-font-body1);
margin-top: 64px;
padding: 24px;
background-color: white;
-ms-user-select: initial;
-webkit-user-select: initial;
-moz-user-select: initial;
}
.ha-form {
margin-right: 16px;
}
.header {
@apply(--paper-font-title);
}
</style>
<template>
<partial-base narrow="{{narrow}}" show-menu='[[showMenu]]'>
<span header-title>Events</span>
<div class$='[[computeFormClasses(narrow)]]'>
<div class='flex'>
<p>
Fire an event on the event bus.
</p>
<div class='ha-form'>
<paper-input label="Event Type" autofocus required value='{{eventType}}'></paper-input>
<paper-textarea label="Event Data (JSON, optional)" value='{{eventData}}'></paper-textarea>
<paper-button on-tap='fireEvent' raised>Fire Event</paper-button>
</div>
</div>
<div>
<div class='header'>Available Events</div>
<events-list on-event-selected='eventSelected' hass='[[hass]]'></event-list>
</div>
</div>
</partial-base>
</template>
</dom-module>
<script>
Polymer({
is: 'ha-panel-dev-event',
properties: {
hass: {
type: Object,
},
narrow: {
type: Boolean,
value: false,
},
showMenu: {
type: Boolean,
value: false,
},
eventType: {
type: String,
value: '',
},
eventData: {
type: String,
value: '',
},
},
eventSelected: function (ev) {
this.eventType = ev.detail.eventType;
},
fireEvent: function () {
var eventData;
try {
eventData = this.eventData ? JSON.parse(this.eventData) : {};
} catch (err) {
/* eslint-disable no-alert */
alert('Error parsing JSON: ' + err);
/* eslint-enable no-alert */
return;
}
this.hass.eventActions.fireEvent(this.eventType, eventData);
},
computeFormClasses: function (narrow) {
return narrow ?
'content fit' : 'content fit layout horizontal';
},
});
</script>