This repository has been archived by the owner on Jun 11, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfd-polymer-command.html
126 lines (116 loc) · 4.77 KB
/
fd-polymer-command.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../fd-polymer-rest-service/fd-polymer-rest-service.html">
<link rel="import" href="../fd-polymer-ws-service/fd-polymer-ws-service.html">
<link rel="import" href="../fd-polymer-api-settings/fd-polymer-api-settings.html">
<link rel="import" href="../fd-polymer-i18next-translate/fd-polymer-i18next-translate.html">
<link rel="import" href="../paper-shadow/paper-shadow.html">
<link rel="import" href="../paper-slider/paper-slider.html">
<link rel="import" href="../paper-input/paper-input.html">
<link rel="import" href="../paper-toggle-button/paper-toggle-button.html">
<link rel="import" href="../paper-icon-button/paper-icon-button.html">
<link rel="import" href="../fd-polymer-generics/fd-generic-item.html">
<link rel="import" href="../fd-polymer-ispermitted/fd-polymer-ispermitted.html">
<link rel="import" href="fd-polymer-tags.html">
<link rel="import" href="fd-polymer-properties.html">
<!--
Element providing proof of concept of a Thing card, with all needed features
##### Example
<fd-thing address="fritz.bestmazzo.it" port="9111" apiVersion="v3"
thingUuid="76fd619c-617b-4fb7-9870-8f08164c4926" guest></fd-thing>
@element fd-thing
@blurb Element providing proof of concept of a Thing card, with all needed features
@status beta
@homepage http://bestmazzo.github.io/fd-polymer-thing
-->
<polymer-element name="fd-command" attributes="ssl address port apiVersion command uuid guest mode encopy enshape">
<template>
<style>
:host {
display: block;
position: relative;
font-size: 1.2rem;
font-weight: 300;
font-family: RobotoDraft, 'Helvetica Neue', Helvetica, Arial;
}
</style>
<fd-api-settings ssl="{{ssl}}" address="{{address}}" port="{{port}}" apiVersion="{{apiVersion}}" apiUrl="{{apiUrl}}">
</fd-api-settings>
<fd-rest-service id="objectClick" fdtype="commands/user/{{command.uuid}}/run" auto="false" method="POST" guest="{{guest}}">
</fd-rest-service>
<fd-ispermitted permission="commands:update" allowed="{{canUpdate}}"></fd-ispermitted>
<fd-generic-item on-icon-tap="{{tapObject}}" mode="{{mode}}" guest="{{guest}}" item="{{command}}" uuid="{{uuid}}" type="commands/user" encopy="{{encopy}}" ensettings="{{canUpdate}}" enshape="{{enshape}}">
<icon>
<paper-icon-button icon="send">
</paper-icon-button>
</icon>
<name>{{command.name}}</name>
<description>{{command.description}}</description>
<extra>
</extra>
<modify>
<div layout vertical>
<h3>{{command.name}}</h3>
<paper-input label="{{'name' | t }}" value="{{command.name}}" floatingLabel></paper-input>
<paper-input label="{{'description' | t }}" value="{{command.description}}" floatingLabel></paper-input>
<paper-input label="{{'receiver' | t }}" value="{{command.receiver}}" floatingLabel></paper-input>
<paper-input label="{{'delay' | t }}" value="{{command.delay}}" floatingLabel></paper-input>
<paper-input label="{{'hardwareLevel' | t }}" value="{{command.hardwareLevel}}" floatingLabel></paper-input>
<paper-input label="{{'replyTimeout' | t }}" value="{{command.replyTimeout}}" floatingLabel></paper-input>
<fd-properties props="{{command.props.props}}"></fd-properties>
<div>
{{'tags' | t}}:
<fd-tags tags="{{command.tags}}"></fd-tags>
</div>
</div>
</modify>
</fd-generic-item>
</template>
<script>
Polymer("fd-command", {
/**
* The 'guest' attribute tells whether the API call should be made as a guest user
*
* @attribute guest
* @type boolean
*/
/**
* The 'thingUuid' attribute specifies the uuid of Thing to show
*
* @attribute thingUuid
* @type string
*/
/**
* The 'address' attribute specifies the hostname or ip address of API service
*
* @attribute address
* @type string
*/
/**
* The 'apiVersion' attribute specifies the API version to use
*
* @attribute apiVersion
* @type string
*/
/**
* The 'port' attribute specifies the tcp port of API service.
* Default value 0 mean the port number is choosen from the SSL attribute,
* so port will be 9111 if no SSL, and 9113 is SSL
* @attribute port
* @type int
*/
/**
* The 'ssl' attribute tells whether the API call requires a encrypted connection
*
* @attribute ssl
* @type boolean
*/
mode: 'matCard',
guest: undefined,
objectIcon: undefined,
object: undefined,
tapObject: function() {
this.$.objectClick.go();
}
});
</script>
</polymer-element>