iobroker.wiim 0.0.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +173 -130
- package/admin/custom_m.html +44 -0
- package/admin/i18n/de/translations.json +0 -2
- package/admin/i18n/en/translations.json +0 -2
- package/admin/i18n/es/translations.json +0 -2
- package/admin/i18n/fr/translations.json +0 -2
- package/admin/i18n/it/translations.json +0 -2
- package/admin/i18n/nl/translations.json +0 -1
- package/admin/i18n/pl/translations.json +0 -2
- package/admin/i18n/pt/translations.json +0 -2
- package/admin/i18n/ru/translations.json +0 -2
- package/admin/i18n/uk/translations.json +0 -2
- package/admin/i18n/zh-cn/translations.json +1 -2
- package/admin/jsonConfig.json +17 -36
- package/admin/tab_m.html +79 -0
- package/admin/wiim.png +0 -0
- package/io-package.json +3 -3
- package/lib/adapter-config.d.ts +19 -19
- package/package.json +76 -98
- package/wiim.js +811 -891
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 KaiIOB <Kaibrendel@kabelmail.de>
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 KaiIOB <Kaibrendel@kabelmail.de>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,130 +1,173 @@
|
|
|
1
|
-

|
|
2
|
-
# ioBroker.wiim
|
|
3
|
-
|
|
4
|
-
[](https://www.npmjs.com/package/iobroker.wiim)
|
|
5
|
-
[](https://www.npmjs.com/package/iobroker.wiim)
|
|
6
|
-

|
|
7
|
-

|
|
8
|
-
|
|
9
|
-
[](https://nodei.co/npm/iobroker.wiim/)
|
|
10
|
-
|
|
11
|
-
**Tests:** 
|
|
12
|
-
|
|
13
|
-
## wiim adapter for ioBroker
|
|
14
|
-
|
|
15
|
-
adapter to access Wiim/Arylic devices
|
|
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
|
-
1
|
|
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
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
1
|
+

|
|
2
|
+
# ioBroker.wiim
|
|
3
|
+
|
|
4
|
+
[](https://www.npmjs.com/package/iobroker.wiim)
|
|
5
|
+
[](https://www.npmjs.com/package/iobroker.wiim)
|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
[](https://nodei.co/npm/iobroker.wiim/)
|
|
10
|
+
|
|
11
|
+
**Tests:** 
|
|
12
|
+
|
|
13
|
+
## wiim adapter for ioBroker
|
|
14
|
+
|
|
15
|
+
adapter to access Wiim/Arylic devices
|
|
16
|
+
|
|
17
|
+
## supported devices
|
|
18
|
+
The adapter has been tested with:
|
|
19
|
+
|
|
20
|
+
Wiim Amp
|
|
21
|
+
Wiim Mini
|
|
22
|
+
Arylic up2stream v3
|
|
23
|
+
Arylic S10+
|
|
24
|
+
Audiocast M5
|
|
25
|
+
August WR320B (after firmware upgrade to 4.6.415156.0)
|
|
26
|
+
|
|
27
|
+
Wiim devices use https communication, Arylic devices use http communication.
|
|
28
|
+
At least one feature (playPromptUrl) works only with Arylic devices with firmware >=4.6.415145
|
|
29
|
+
Currently only the most important features of the API are implemented. Please let me know if other features are useful to you.
|
|
30
|
+
|
|
31
|
+
You can find information on the devices here:
|
|
32
|
+
|
|
33
|
+
WiiM: https://www.wiimhome.com/wiimvibelink/overview
|
|
34
|
+
Arylic: https://www.arylic.com/
|
|
35
|
+
Audiocast: https://audiocast.io/
|
|
36
|
+
remark: Audicast M5 is sold under many different generic brands, I assume they all work with the adapter
|
|
37
|
+
August: https://augustint.com/
|
|
38
|
+
remark: the WR320B seems to be discontinued
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Adapter Configuration
|
|
42
|
+
|
|
43
|
+
interval for refresh of player data in seconds: time between two requests for updated data
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Available States
|
|
47
|
+
|
|
48
|
+
album: name of album played, string, read-only
|
|
49
|
+
string that can be used to display the name of the current album, e.g.:
|
|
50
|
+
"Electric"
|
|
51
|
+
|
|
52
|
+
title: name if title played, string, read-only
|
|
53
|
+
string that can be used to display the name of the current title, e.g.:
|
|
54
|
+
"Wild Flower"
|
|
55
|
+
|
|
56
|
+
artist: name of artist of title played, string, read-only
|
|
57
|
+
string that can be used to display the name of the artist of the current title, e.g.:
|
|
58
|
+
"The Cult"
|
|
59
|
+
|
|
60
|
+
albumArtURI: URL of the cover art of the album played, string, read-only
|
|
61
|
+
string that can be used to display the cover art of the current title, e.g.:
|
|
62
|
+
"https://i.scdn.co/image/ab67616d0000b273ca8a324a5d0fce617bb2613d"
|
|
63
|
+
Unfortunately, the generic Linkplay devices do not provide this information via http API....
|
|
64
|
+
|
|
65
|
+
sampleRate: sample rate of file played, number, read-only
|
|
66
|
+
number which can be used to display the current sample rate, e.g.;
|
|
67
|
+
"44100"
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
bitDepth: bit depth of file played, number, read-only
|
|
71
|
+
number holdin the value of the current bit depth, e.g.:
|
|
72
|
+
"16"
|
|
73
|
+
|
|
74
|
+
Play_Pause: button to play/pause, button, read/write
|
|
75
|
+
write "true" ti this datapoint to pause/play
|
|
76
|
+
|
|
77
|
+
next: button to skip to the next title in playlist, button, read/write
|
|
78
|
+
write "true" to this data point if you want to jump to the next title in the playlist
|
|
79
|
+
|
|
80
|
+
previous: button to go to the previous title in playlist, button read/write
|
|
81
|
+
write "true" to this data point if you want to jump to the previous title in the playlist
|
|
82
|
+
|
|
83
|
+
lastRefresh: time stamp of last data poll from device, string, read-only, e.g.:
|
|
84
|
+
"17:43:37"
|
|
85
|
+
|
|
86
|
+
volume: playback volume, number, read/write
|
|
87
|
+
use this datapoint to set the desired volume (0-100)
|
|
88
|
+
|
|
89
|
+
play_preset: start playback of specific preset, number, write-only
|
|
90
|
+
write the number of the preset you want to play to this datapoint
|
|
91
|
+
|
|
92
|
+
play_URL: URL of file to be played, string, read/write
|
|
93
|
+
the device will start to play the audio file/playlist located at the URL written to this datapoint
|
|
94
|
+
|
|
95
|
+
loop_mode: current loop mode, number, read-only
|
|
96
|
+
number between 1 and 4 indicating the current loop mode:
|
|
97
|
+
0 - loop all
|
|
98
|
+
1 - single loop
|
|
99
|
+
2 - shuffle loop
|
|
100
|
+
3 - shuffle, no loop
|
|
101
|
+
4 - no shuffle, no loop
|
|
102
|
+
|
|
103
|
+
toggle_loop_mode: skip to next loop mode, button, read-only
|
|
104
|
+
not implemented yet
|
|
105
|
+
|
|
106
|
+
setMaster: IP address of device to which this device shall be a slave within the sync group, read/write
|
|
107
|
+
write the IP of the device controlling the sync group this device should join to this datapoint
|
|
108
|
+
|
|
109
|
+
leaveSyncGroup: button to make device leave the current sync group, button, write
|
|
110
|
+
write "true" to this datapoint in order to force the device leave the current snyc group
|
|
111
|
+
|
|
112
|
+
jumptopos: position in ms to which the playback should jump, number, write-only
|
|
113
|
+
write the position (in ms) to which playback should jump to this datapoint
|
|
114
|
+
|
|
115
|
+
jumptopli: number of playlist item to which the playback should jump, number, write-only
|
|
116
|
+
the device will jump to the index of the playlist xou write to this datapoint
|
|
117
|
+
|
|
118
|
+
mode: current source, string, read-only, e.g.:
|
|
119
|
+
"Spotify Connect"
|
|
120
|
+
|
|
121
|
+
switchmode: source to which the device should switch, write-only
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
playPromptUrl: URL of a file which should be played overlaying the current playback, string, write-only
|
|
125
|
+
the device will play the file locate in the URL you write to this datapoint. The device will play the file in addtion to the current title. This can be used to implement a doorbell. After the "doorbell" is played the playback of the current track will return to the additional volume
|
|
126
|
+
|
|
127
|
+
setShutdown: time in seconds until the device should shut down
|
|
128
|
+
the device will shutdown after the number of seconds you write to this datapoint
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
## Changelog
|
|
132
|
+
|
|
133
|
+
<### 0.2.0
|
|
134
|
+
* (KaiIOB) introduction of bonjour auto-detect of streamers>
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
<### 0.1.0
|
|
138
|
+
* (KaiIOB) main functions implemented and code clean-up>
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
<### 0.0.3
|
|
142
|
+
* (KaiIOB) migration to setTimeout from setInteral>
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
<### 0.0.2
|
|
146
|
+
* (KaiIOB) Arylic devices added and corrections>
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
<### 0.0.1
|
|
150
|
+
* (KaiIOB) initial release>
|
|
151
|
+
<>
|
|
152
|
+
## License
|
|
153
|
+
MIT License
|
|
154
|
+
|
|
155
|
+
Copyright (c) 2025 KaiIOB <Kaibrendel@kabelmail.de>
|
|
156
|
+
|
|
157
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
158
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
159
|
+
in the Software without restriction, including without limitation the rights
|
|
160
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
161
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
162
|
+
furnished to do so, subject to the following conditions:
|
|
163
|
+
|
|
164
|
+
The above copyright notice and this permission notice shall be included in all
|
|
165
|
+
copies or substantial portions of the Software.
|
|
166
|
+
|
|
167
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
168
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
169
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
170
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
171
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
172
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
173
|
+
SOFTWARE.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<script type="text/x-iobroker" data-template-name="wiim">
|
|
2
|
+
<div class="row">
|
|
3
|
+
<div class="col s2">
|
|
4
|
+
<input type="checkbox" data-field="enabled" data-default="false"/>
|
|
5
|
+
<!-- this field is mandatory, just to find out if to include this settings or not</span-->
|
|
6
|
+
<span class="translate">enabled</span>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="col s4">
|
|
9
|
+
<input type="text" data-field="interval" size="30">
|
|
10
|
+
<span class="translate">period of time</span>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="col s4">
|
|
13
|
+
<input type="text" data-field="state" size="30">
|
|
14
|
+
<span class="translate">new state</span>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="col s2">
|
|
17
|
+
<input type="checkbox" data-field="setAck" data-default="false">
|
|
18
|
+
<span class="translate">ack</span>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<script type="text/javascript">
|
|
24
|
+
$.get("adapter/wiim/words.js", function(script) {
|
|
25
|
+
let translation = script.substring(script.indexOf('{'), script.length);
|
|
26
|
+
translation = translation.substring(0, translation.lastIndexOf(';'));
|
|
27
|
+
$.extend(systemDictionary, JSON.parse(translation));
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// There are two ways how to predefine default settings:
|
|
31
|
+
// - with attribute "data-default" (content independent)
|
|
32
|
+
// - with function in global variable "defaults". Function name is equal with adapter name.
|
|
33
|
+
// as input function receives object with all information concerning it
|
|
34
|
+
if (typeof defaults !== 'undefined') {
|
|
35
|
+
defaults["wiim"] = function (obj, instanceObj) {
|
|
36
|
+
return {
|
|
37
|
+
enabled: false,
|
|
38
|
+
interval: '5m',
|
|
39
|
+
state: false,
|
|
40
|
+
setAck: false
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
</script>
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"IP_Address": "IP address of device",
|
|
3
2
|
"Refresh_Interval": "interval for refresh of player data in seconds",
|
|
4
|
-
"Request_Type": "API request type: https for Wiim products, http for Arylic products",
|
|
5
3
|
"wiim adapter settings": "Impostazioni dell'adattatore per wiim"
|
|
6
4
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"IP_Address": "IP address of device",
|
|
3
2
|
"Refresh_Interval": "interval for refresh of player data in seconds",
|
|
4
|
-
"Request_Type": "API request type: https for Wiim products, http for Arylic products",
|
|
5
3
|
"wiim adapter settings": "Configurações do adaptador para wiim"
|
|
6
4
|
}
|
package/admin/jsonConfig.json
CHANGED
|
@@ -1,36 +1,17 @@
|
|
|
1
|
-
{
|
|
2
|
-
"i18n": true,
|
|
3
|
-
"type": "panel",
|
|
4
|
-
"items": {
|
|
5
|
-
"
|
|
6
|
-
"type": "
|
|
7
|
-
"label": "
|
|
8
|
-
"newLine": true,
|
|
9
|
-
"xs": 12,
|
|
10
|
-
"sm": 12,
|
|
11
|
-
"md": 4,
|
|
12
|
-
"lg": 3,
|
|
13
|
-
"xl": 3
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"newLine": true,
|
|
19
|
-
"xs": 12,
|
|
20
|
-
"sm": 12,
|
|
21
|
-
"md": 4,
|
|
22
|
-
"lg": 3,
|
|
23
|
-
"xl": 3
|
|
24
|
-
},
|
|
25
|
-
"Request_Type": {
|
|
26
|
-
"type": "text",
|
|
27
|
-
"label": "API request type: https for Wiim products, http for Arylic products",
|
|
28
|
-
"newLine": true,
|
|
29
|
-
"xs": 12,
|
|
30
|
-
"sm": 12,
|
|
31
|
-
"md": 4,
|
|
32
|
-
"lg": 3,
|
|
33
|
-
"xl": 3
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"i18n": true,
|
|
3
|
+
"type": "panel",
|
|
4
|
+
"items": {
|
|
5
|
+
"Refresh_Interval": {
|
|
6
|
+
"type": "number",
|
|
7
|
+
"label": "interval for refresh of player data in seconds",
|
|
8
|
+
"newLine": true,
|
|
9
|
+
"xs": 12,
|
|
10
|
+
"sm": 12,
|
|
11
|
+
"md": 4,
|
|
12
|
+
"lg": 3,
|
|
13
|
+
"xl": 3
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
}
|
package/admin/tab_m.html
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
|
|
3
|
+
<head>
|
|
4
|
+
<link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
|
|
5
|
+
<link rel="stylesheet" type="text/css" href="../../css/adapter.css" />
|
|
6
|
+
|
|
7
|
+
<script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
|
|
8
|
+
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
9
|
+
<script type="text/javascript" src="../../js/translate.js"></script>
|
|
10
|
+
<script type="text/javascript" src="../../lib/js/materialize.js"></script>
|
|
11
|
+
|
|
12
|
+
<script type="text/javascript" src="words.js"></script>
|
|
13
|
+
<style>
|
|
14
|
+
.m .col .select-wrapper + label {
|
|
15
|
+
top: -26px;
|
|
16
|
+
}
|
|
17
|
+
.m span{
|
|
18
|
+
font-size: 0.9em;
|
|
19
|
+
}
|
|
20
|
+
</style>
|
|
21
|
+
</head>
|
|
22
|
+
|
|
23
|
+
<body>
|
|
24
|
+
|
|
25
|
+
<div class="m adapter-container">
|
|
26
|
+
<div class="row">
|
|
27
|
+
<!-- Forms are the standard way to receive user inputted data.
|
|
28
|
+
Learn more http://materializecss.com/forms.html-->
|
|
29
|
+
<div class="row">
|
|
30
|
+
<div class="input-field col s6">
|
|
31
|
+
<img src="wiim.png" class="logo">
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="row">
|
|
35
|
+
<div class="input-field col s3">
|
|
36
|
+
<input class="value" id="test1" type="checkbox" />
|
|
37
|
+
<label for="test1" class="translate">test1</label>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="row">
|
|
41
|
+
<div class="input-field col s12 m6 l4">
|
|
42
|
+
<input class="value" id="myText" type="text">
|
|
43
|
+
<label for="myText">Text</label>
|
|
44
|
+
<span class="translate">Descriptions of the input field</span>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="input-field col s12 m6 l4">
|
|
47
|
+
<input type="number" class="value" id="test2" />
|
|
48
|
+
<label for="test2" class="translate">Number</label>
|
|
49
|
+
<!-- Important: label must come directly after input. Label is important. -->
|
|
50
|
+
<span class="translate">test2</span>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="input-field col s12 m6 l4">
|
|
53
|
+
<input id="email" type="email" class="value validate">
|
|
54
|
+
<label for="email" data-error="wrong" data-success="right">Email</label>
|
|
55
|
+
<!-- You can add custom validation messages by adding either data-error or data-success attributes to your input field labels.-->
|
|
56
|
+
<span class="translate">Verification input</span>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="row">
|
|
60
|
+
<div class="input-field col s12 m4">
|
|
61
|
+
<select class="value" id="mySelect">
|
|
62
|
+
<option value="auto" class="translate">Auto</option>
|
|
63
|
+
<option value="manual" class="translate">Manual</option>
|
|
64
|
+
</select>
|
|
65
|
+
<label for="mySelect" class="translate">My select</label>
|
|
66
|
+
<!-- Important: label must come directly after select. Label is important. -->
|
|
67
|
+
</div>
|
|
68
|
+
<div class="input-field col s12 m8">
|
|
69
|
+
<i class="material-icons prefix">mode_edit</i>
|
|
70
|
+
<textarea id="Textarea" class="value materialize-textarea"></textarea>
|
|
71
|
+
<label for="Textarea">Message</label>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
</body>
|
|
78
|
+
|
|
79
|
+
</html>
|
package/admin/wiim.png
CHANGED
|
Binary file
|