-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfd-polymer-command.html
126 lines (116 loc) · 3.96 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-toggle-button/paper-toggle-button.html">
<link rel="import" href="../paper-icon-button/paper-icon-button.html">
<link rel="import" href="fd-generic-item.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">
<template>
<style>
:host {
display: block;
position: relative;
font-size: 1.2rem;
font-weight: 300;
font-family: RobotoDraft, 'Helvetica Neue', Helvetica, Arial;
}
paper-icon-button /deep/ core-icon[role=img] {
width: 85px;
height: 85px;
}
</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-generic-item on-icon-tap="{{tapObject}}" mode="{{mode}}" guest="{{guest}}" item="{{command}}" uuid="{{uuid}}" type="commands/user">
<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' | translate }}" value="{{command.name}}" floatingLabel></paper-input>
<paper-input label="{{'description' | translate }}" value="{{command.description}}" floatingLabel></paper-input>
<paper-input label="{{'receiver' | translate }}" value="{{command.receiver}}" floatingLabel></paper-input>
<fd-properties properties="{{command.properties.properties}}"></fd-properties>
</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>