subduino 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Readme.textile +48 -2
- data/VERSION +1 -1
- data/bin/subduino +21 -5
- data/duino/Makefile +53 -50
- data/duino/duino.pde +271 -5
- data/lib/subduino.rb +1 -1
- data/lib/subduino/parse.rb +23 -34
- data/lib/subduino/parse/bool.rb +13 -0
- data/lib/subduino/parse/lux.rb +13 -0
- data/lib/subduino/parse/temp.rb +17 -0
- data/lib/subduino/scaffold/Makefile +59 -51
- data/lib/subduino/store.rb +21 -12
- data/subduino.gemspec +88 -2
- data/webapp/config.yml +20 -0
- data/webapp/lib/app.rb +2 -2
- data/webapp/lib/duino.rb +9 -16
- data/webapp/public/custom.js +187 -0
- data/webapp/public/date_input.css +149 -0
- data/webapp/public/facebox.css +83 -0
- data/webapp/public/facebox.js +319 -0
- data/webapp/public/favicon.ico +0 -0
- data/webapp/public/icons/current.png +0 -0
- data/webapp/public/icons/day.png +0 -0
- data/webapp/public/icons/door-big.png +0 -0
- data/webapp/public/icons/favicon.png +0 -0
- data/webapp/public/icons/irrigation.png +0 -0
- data/webapp/public/icons/lamp-big.png +0 -0
- data/webapp/public/icons/lightbulb_off.png +0 -0
- data/webapp/public/icons/locked.png +0 -0
- data/webapp/public/icons/lux.png +0 -0
- data/webapp/public/icons/night.png +0 -0
- data/webapp/public/icons/noise.png +0 -0
- data/webapp/public/icons/onoff.png +0 -0
- data/webapp/public/icons/rain.png +0 -0
- data/webapp/public/icons/refrigeration.png +0 -0
- data/webapp/public/icons/temp.png +0 -0
- data/webapp/public/icons/unlocked.png +0 -0
- data/webapp/public/images/ajax-loader.gif +0 -0
- data/webapp/public/images/b.png +0 -0
- data/webapp/public/images/bendl.gif +0 -0
- data/webapp/public/images/bendr.gif +0 -0
- data/webapp/public/images/bendsb.gif +0 -0
- data/webapp/public/images/bg.jpg +0 -0
- data/webapp/public/images/bhead.gif +0 -0
- data/webapp/public/images/bheadl.gif +0 -0
- data/webapp/public/images/bheadr.gif +0 -0
- data/webapp/public/images/bl.png +0 -0
- data/webapp/public/images/bnd.gif +0 -0
- data/webapp/public/images/br.png +0 -0
- data/webapp/public/images/bread.gif +0 -0
- data/webapp/public/images/btnb.gif +0 -0
- data/webapp/public/images/btnb_.gif +0 -0
- data/webapp/public/images/btnm.gif +0 -0
- data/webapp/public/images/btnm_.gif +0 -0
- data/webapp/public/images/btns.gif +0 -0
- data/webapp/public/images/btns_.gif +0 -0
- data/webapp/public/images/cal.jpg +0 -0
- data/webapp/public/images/close.png +0 -0
- data/webapp/public/images/closelabel.gif +0 -0
- data/webapp/public/images/error.gif +0 -0
- data/webapp/public/images/ft.gif +0 -0
- data/webapp/public/images/hdr.gif +0 -0
- data/webapp/public/images/hdrl.gif +0 -0
- data/webapp/public/images/hdrr.gif +0 -0
- data/webapp/public/images/hld.jpg +0 -0
- data/webapp/public/images/imgb.gif +0 -0
- data/webapp/public/images/imgo.gif +0 -0
- data/webapp/public/images/imgt.gif +0 -0
- data/webapp/public/images/info.gif +0 -0
- data/webapp/public/images/jquery.wysiwyg.gif +0 -0
- data/webapp/public/images/li.gif +0 -0
- data/webapp/public/images/mbg.png +0 -0
- data/webapp/public/images/nsp.gif +0 -0
- data/webapp/public/images/phs.gif +0 -0
- data/webapp/public/images/sdd.jpg +0 -0
- data/webapp/public/images/sdd_.jpg +0 -0
- data/webapp/public/images/sidebar.gif +0 -0
- data/webapp/public/images/sorta.gif +0 -0
- data/webapp/public/images/sortd.gif +0 -0
- data/webapp/public/images/srch.gif +0 -0
- data/webapp/public/images/srch_.gif +0 -0
- data/webapp/public/images/success.gif +0 -0
- data/webapp/public/images/thumb1.jpg +0 -0
- data/webapp/public/images/thumb2.jpg +0 -0
- data/webapp/public/images/thumb3.jpg +0 -0
- data/webapp/public/images/tiny.gif +0 -0
- data/webapp/public/images/tiny_.gif +0 -0
- data/webapp/public/images/tl.png +0 -0
- data/webapp/public/images/tr.png +0 -0
- data/webapp/public/images/upload.gif +0 -0
- data/webapp/public/images/warning.gif +0 -0
- data/webapp/public/jquery.img.preload.js +152 -0
- data/webapp/public/jquery.sparkline.js +85 -0
- data/webapp/public/jquery.tablesorter.min.js +2 -0
- data/webapp/public/jquery.visualize.js +452 -0
- data/webapp/public/jquery.wysiwyg.css +56 -0
- data/webapp/public/style.css +881 -0
- data/webapp/public/visualize.css +32 -0
- data/webapp/views/index.haml +365 -49
- data/webapp/views/layout.haml +78 -7
- data/webapp/views/template.haml +676 -0
- metadata +89 -3
@@ -0,0 +1,32 @@
|
|
1
|
+
/*plugin styles*/
|
2
|
+
.block .visualize { border: 1px solid #bbb; position: relative; background: #fbfbfb; margin: 20px auto 40px auto; }
|
3
|
+
.block .visualize canvas { position: absolute; }
|
4
|
+
.block .visualize ul, .block .visualize ul li { margin: 0; padding: 0; background: none; }
|
5
|
+
|
6
|
+
/*table title, key elements*/
|
7
|
+
.block .visualize .visualize-info { padding: 0 0 2px 8px; background: #fafafa; border: 1px solid #aaa; position: absolute; top: -15px; right: 10px; font-size: 11px; }
|
8
|
+
.block .visualize .visualize-title { display: block; color: #333; margin-bottom: 3px; }
|
9
|
+
.block .visualize ul.visualize-key { list-style: none; }
|
10
|
+
.block .visualize ul.visualize-key li { list-style: none; float: left; margin-right: 10px; padding-left: 10px; position: relative;}
|
11
|
+
.block .visualize ul.visualize-key .visualize-key-color { width: 6px; height: 6px; left: 0; position: absolute; top: 50%; margin-top: -3px; font-size: 6px; }
|
12
|
+
.block .visualize ul.visualize-key .visualize-key-label { color: #333; }
|
13
|
+
|
14
|
+
/*pie labels*/
|
15
|
+
.visualize-pie .visualize-labels { list-style: none; }
|
16
|
+
.visualize-pie .visualize-label-pos, .visualize-pie .visualize-label { position: absolute; margin: 0; padding:0; }
|
17
|
+
.visualize-pie .visualize-label { display: block; color: #fff; font-weight: bold; font-size: 1em; }
|
18
|
+
.visualize-pie-outside .visualize-label { color: #000; font-weight: normal; }
|
19
|
+
|
20
|
+
/*line,bar, area labels*/
|
21
|
+
.block .visualize-labels-x,.visualize-labels-y { position: absolute; left: 0; top: 0; list-style: none; }
|
22
|
+
.block .visualize-labels-x li, .visualize-labels-y li { position: absolute; bottom: 0; }
|
23
|
+
.block .visualize-labels-x li span.label, .visualize-labels-y li span.label { position: absolute; color: #555; }
|
24
|
+
.block .visualize-labels-x li span.line, .visualize-labels-y li span.line { position: absolute; border: 0 solid #ccc; }
|
25
|
+
.block .visualize-labels-x li { height: 100%; font-size: 10px; }
|
26
|
+
.block .visualize-labels-x li span.label { top: 100%; margin-top: 5px; }
|
27
|
+
.block .visualize-labels-x li span.line { border-left-width: 1px; height: 100%; display: block; }
|
28
|
+
.block .visualize-labels-x li span.line { border: 0;} /*hide vertical lines on area, line, bar*/
|
29
|
+
.block .visualize-labels-y li { width: 100%; font-size: 11px; line-height: normal; }
|
30
|
+
.block .visualize-labels-y li span.label { right: 100%; margin-right: 5px; display: block; width: 100px; text-align: right; }
|
31
|
+
.block .visualize-labels-y li span.line { border-top-width: 1px; width: 100%; red; }
|
32
|
+
.block .visualize-bar .visualize-labels-x li span.label { width: 100%; text-align: center; }
|
data/webapp/views/index.haml
CHANGED
@@ -1,51 +1,367 @@
|
|
1
1
|
|
2
|
+
.block.small.left
|
3
|
+
.block_head
|
4
|
+
.bheadl
|
5
|
+
.bheadr
|
6
|
+
%h2 Sensors
|
7
|
+
/ .block_head ends
|
8
|
+
.block_content
|
9
|
+
%ul.imglist
|
10
|
+
- for sensor in @sensors
|
11
|
+
%li
|
12
|
+
%img{:alt => "", :src => "icons/#{sensor.type}.png"}/
|
13
|
+
%h2= sensor
|
14
|
+
%ul
|
15
|
+
%li.view
|
16
|
+
%a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
17
|
+
%li.delete
|
18
|
+
%a{:href => "#deleted"} Delete
|
19
|
+
%br
|
20
|
+
.sparklines 1,3,6,2,7,2,4,5
|
21
|
+
%h3= sensor.name
|
22
|
+
-# %li
|
23
|
+
-# %h3 Sala de Jantar
|
24
|
+
-# %img{:alt => "", :src => "icons/luminosity.png"}/
|
25
|
+
-# %h2 200
|
26
|
+
-# %ul
|
27
|
+
-# %li.view
|
28
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
29
|
+
-# %li.delete
|
30
|
+
-# %a{:href => "#deleted"} Delete
|
31
|
+
-# %li
|
32
|
+
-# %h3 Quintal
|
33
|
+
-# %img{:alt => "", :src => "icons/rain.png"}/
|
34
|
+
-# %h2 Chuva
|
35
|
+
-# %ul
|
36
|
+
-# %li.view
|
37
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
38
|
+
-# %li.delete
|
39
|
+
-# %a{:href => "#deleted"} Delete
|
40
|
+
-# %li
|
41
|
+
-# %img{:alt => "", :src => "icons/day.png"}/
|
42
|
+
-# %h2 Dia
|
43
|
+
-# %ul
|
44
|
+
-# %li.view
|
45
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
46
|
+
-# %li.delete
|
47
|
+
-# %a{:href => "#deleted"} Delete
|
48
|
+
-# %li
|
49
|
+
-# %img{:alt => "", :src => "icons/night.png"}/
|
50
|
+
-# %h2 Noite
|
51
|
+
-# %ul
|
52
|
+
-# %li.view
|
53
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
54
|
+
-# %li.delete
|
55
|
+
-# %a{:href => "#deleted"} Delete
|
2
56
|
|
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
|
-
|
57
|
+
-# %li
|
58
|
+
-# %h3 Casa
|
59
|
+
-# %img{:alt => "", :src => "icons/current.png"}/
|
60
|
+
-# %h2 50A
|
61
|
+
-# %ul
|
62
|
+
-# %li.view
|
63
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
64
|
+
-# %li.delete
|
65
|
+
-# %a{:href => "#deleted"} Delete
|
66
|
+
-# %li
|
67
|
+
-# %h3 Room 1
|
68
|
+
-# %img{:alt => "", :src => "icons/noise.png"}/
|
69
|
+
-# %h2 Noise
|
70
|
+
-# %ul
|
71
|
+
-# %li.view
|
72
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
73
|
+
-# %li.delete
|
74
|
+
-# %a{:href => "#deleted"} Delete
|
75
|
+
|
76
|
+
- unless true # @sensors.empty?
|
77
|
+
%li.group Sensors
|
78
|
+
- @sensors.each do |name, sensor|
|
79
|
+
%li{:id => name}
|
80
|
+
%a{:href => "/g/#{name}"}
|
81
|
+
- if sensor.digital?
|
82
|
+
%img{:src => "icons/#{sensor.parse}.png"}/
|
83
|
+
= name
|
84
|
+
%span.tiny.gray= sensor
|
85
|
+
- else
|
86
|
+
%img{:src => "icons/groups.png"}/
|
87
|
+
= sensor
|
88
|
+
%span.tiny.gray= name.to_s.capitalize
|
89
|
+
%span.pico.gray (#{sensor.raw}~)
|
90
|
+
- @watches.each do |state, watches|
|
91
|
+
%li.group= state.capitalize
|
92
|
+
- for watch in watches.sort
|
93
|
+
%li{:id => watch}
|
94
|
+
%a{:href => "/w/#{watch}"}
|
95
|
+
%img{:src => "icons/#{@statuses[watch][:state]}.png"}/
|
96
|
+
= watch
|
97
|
+
.bendl
|
98
|
+
.bendr
|
99
|
+
.block.small.right
|
100
|
+
.block_head
|
101
|
+
.bheadl
|
102
|
+
.bheadr
|
103
|
+
%h2 Actions
|
104
|
+
/ .block_head ends
|
105
|
+
.block_content
|
106
|
+
%ul.imglist
|
107
|
+
%li
|
108
|
+
%img{:alt => "", :src => "icons/unlocked.png"}/
|
109
|
+
%h2 Open
|
110
|
+
%ul
|
111
|
+
%li.view
|
112
|
+
%a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
113
|
+
%li.delete
|
114
|
+
%a{:href => "#deleted"} Delete
|
115
|
+
%br
|
116
|
+
%h3 Portão
|
117
|
+
-# %li
|
118
|
+
-# %h3 Cafofo
|
119
|
+
-# %img{:alt => "", :src => "icons/irrigation.png"}/
|
120
|
+
-# %h2 On
|
121
|
+
-# %ul
|
122
|
+
-# %li.view
|
123
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
124
|
+
-# %li.delete
|
125
|
+
-# %a{:href => "#deleted"} Delete
|
126
|
+
|
127
|
+
|
128
|
+
-# %li
|
129
|
+
-# %img{:alt => "", :src => "icons/lamp-big.png"}/
|
130
|
+
-# %h2 Open
|
131
|
+
-# %ul
|
132
|
+
-# %li.view
|
133
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
134
|
+
-# %li.delete
|
135
|
+
-# %a{:href => "#deleted"} Delete
|
136
|
+
|
137
|
+
-# %li
|
138
|
+
-# %h3 A/C
|
139
|
+
-# %img{:alt => "", :src => "icons/refrigeration.png"}/
|
140
|
+
-# %h2 +20
|
141
|
+
-# %ul
|
142
|
+
-# %li.view
|
143
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
144
|
+
-# %li.delete
|
145
|
+
-# %a{:href => "#deleted"} Delete
|
146
|
+
-# %li
|
147
|
+
-# %img{:alt => "", :src => "icons/lamp-big.png"}/
|
148
|
+
-# %h2 On
|
149
|
+
-# %ul
|
150
|
+
-# %li.view
|
151
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
152
|
+
-# %li.delete
|
153
|
+
-# %a{:href => "#deleted"} Delete
|
154
|
+
|
155
|
+
-# %li
|
156
|
+
-# %h3 Porta Sala
|
157
|
+
-# %img{:alt => "", :src => "icons/locked.png"}/
|
158
|
+
-# %h2 Close
|
159
|
+
-# %ul
|
160
|
+
-# %li.view
|
161
|
+
-# %a{:href => "http://farm3.static.flickr.com/2646/4240549111_fcb8c478fe.jpg", :rel => "facebox"} View
|
162
|
+
-# %li.delete
|
163
|
+
-# %a{:href => "#deleted"} Delete
|
164
|
+
.bendl
|
165
|
+
.bendr
|
166
|
+
|
167
|
+
.block
|
168
|
+
.block_head
|
169
|
+
.bheadl
|
170
|
+
.bheadr
|
171
|
+
%h2 Stats
|
172
|
+
%ul.tabs
|
173
|
+
%li
|
174
|
+
%a{:href => "#days"} Per days
|
175
|
+
%li
|
176
|
+
%a{:href => "#months"} Per months
|
177
|
+
/ .block_head ends
|
178
|
+
#days.block_content.tab_content
|
179
|
+
%table.stats{:cellpadding => "0", :cellspacing => "0", :rel => "line", :width => "100%"}
|
180
|
+
%thead
|
181
|
+
%tr
|
182
|
+
%td
|
183
|
+
%th{:scope => "col"} 01.03
|
184
|
+
%th{:scope => "col"} 02.03
|
185
|
+
%th{:scope => "col"} 03.03
|
186
|
+
%th{:scope => "col"} 04.03
|
187
|
+
%th{:scope => "col"} 05.03
|
188
|
+
%th{:scope => "col"} 06.03
|
189
|
+
%th{:scope => "col"} 07.03
|
190
|
+
%th{:scope => "col"} 08.03
|
191
|
+
%th{:scope => "col"} 09.03
|
192
|
+
%th{:scope => "col"} 10.03
|
193
|
+
%th{:scope => "col"} 11.03
|
194
|
+
%th{:scope => "col"} 12.03
|
195
|
+
%th{:scope => "col"} 13.03
|
196
|
+
%th{:scope => "col"} 14.03
|
197
|
+
%tbody
|
198
|
+
%tr
|
199
|
+
%th{:scope => "row"} Umidade
|
200
|
+
%td 50
|
201
|
+
%td 90
|
202
|
+
%td 40
|
203
|
+
%td 120
|
204
|
+
%td 180
|
205
|
+
%td 280
|
206
|
+
%td 320
|
207
|
+
%td 220
|
208
|
+
%td 100
|
209
|
+
%td 120
|
210
|
+
%td 40
|
211
|
+
%td 70
|
212
|
+
%td 20
|
213
|
+
%td 60
|
214
|
+
%tr
|
215
|
+
%th{:scope => "row"} Temp
|
216
|
+
%td 30
|
217
|
+
%td 50
|
218
|
+
%td 15
|
219
|
+
%td 90
|
220
|
+
%td 140
|
221
|
+
%td 160
|
222
|
+
%td 230
|
223
|
+
%td 170
|
224
|
+
%td 50
|
225
|
+
%td 90
|
226
|
+
%td 30
|
227
|
+
%td 50
|
228
|
+
%td 10
|
229
|
+
%td 40
|
230
|
+
/ .block_content ends
|
231
|
+
#months.block_content.tab_content
|
232
|
+
%table.stats{:cellpadding => "0", :cellspacing => "0", :rel => "bar", :width => "100%"}
|
233
|
+
%thead
|
234
|
+
%tr
|
235
|
+
%td
|
236
|
+
%th{:scope => "col"} JAN
|
237
|
+
%th{:scope => "col"} FEB
|
238
|
+
%th{:scope => "col"} MAR
|
239
|
+
%th{:scope => "col"} APR
|
240
|
+
%th{:scope => "col"} MAY
|
241
|
+
%th{:scope => "col"} JUN
|
242
|
+
%th{:scope => "col"} JUL
|
243
|
+
%th{:scope => "col"} AUG
|
244
|
+
%th{:scope => "col"} SEP
|
245
|
+
%th{:scope => "col"} OCT
|
246
|
+
%th{:scope => "col"} NOV
|
247
|
+
%th{:scope => "col"} DEC
|
248
|
+
%th{:scope => "col"} JAN
|
249
|
+
%th{:scope => "col"} FEB
|
250
|
+
%tbody
|
251
|
+
%tr
|
252
|
+
%th{:scope => "row"} Page views
|
253
|
+
%td 1800
|
254
|
+
%td 900
|
255
|
+
%td 700
|
256
|
+
%td 1200
|
257
|
+
%td 600
|
258
|
+
%td 2800
|
259
|
+
%td 3200
|
260
|
+
%td 500
|
261
|
+
%td 2200
|
262
|
+
%td 1000
|
263
|
+
%td 1200
|
264
|
+
%td 700
|
265
|
+
%td 650
|
266
|
+
%td 800
|
267
|
+
%tr
|
268
|
+
%th{:scope => "row"} Unique visitors
|
269
|
+
%td 1600
|
270
|
+
%td 650
|
271
|
+
%td 550
|
272
|
+
%td 900
|
273
|
+
%td 500
|
274
|
+
%td 2300
|
275
|
+
%td 2700
|
276
|
+
%td 350
|
277
|
+
%td 1700
|
278
|
+
%td 600
|
279
|
+
%td 1000
|
280
|
+
%td 500
|
281
|
+
%td 400
|
282
|
+
%td 700
|
283
|
+
/ .block_content ends
|
284
|
+
.bendl
|
285
|
+
.bendr
|
286
|
+
|
287
|
+
.block.withsidebar
|
288
|
+
.block_head
|
289
|
+
.bheadl
|
290
|
+
.bheadr
|
291
|
+
%h2 Schedules
|
292
|
+
/ .block_head ends
|
293
|
+
.block_content
|
294
|
+
.sidebar
|
295
|
+
%ul.sidemenu
|
296
|
+
%li
|
297
|
+
%a{:href => "#sb1"} Sensors
|
298
|
+
%li
|
299
|
+
%a{:href => "#sb2"} Actions
|
300
|
+
%li
|
301
|
+
%a{:href => "#sb3"} Info
|
302
|
+
%p
|
303
|
+
%strong Some notification text.
|
304
|
+
Donec hendrerit porttitor felis, id semper eros lobortis sed. Class aptent taciti sociosqu ad litora.
|
305
|
+
/ .sidebar ends
|
306
|
+
#sb1.sidebar_content
|
307
|
+
%h3 Sidebar content 1
|
308
|
+
%p Aenean facilisis ligula eget orci adipiscing varius. Curabitur sem ligula, egestas vel bibendum sed, sodales eu nulla. Vestibulum luctus aliquam feugiat. Donec porta interdum placerat. Donec velit enim, porta vitae euismod ut, fermentum eu felis. Morbi aliquet, libero vel gravida facilisis, enim risus consequat tellus, vitae luctus est diam non nisi. Vivamus eget leo sit amet neque ultricies blandit. Sed tristique erat a sem ullamcorper tempor. Curabitur turpis lorem, semper et pharetra in, scelerisque in magna. Ut at tortor sed diam mattis rhoncus vel eget turpis. Praesent id diam velit, ullamcorper semper augue. Curabitur at orci tellus, sed tincidunt enim. Vivamus sed dolor vitae purus dignissim luctus quis sed nunc. Sed urna enim, auctor sit amet volutpat ut, porta sed leo. Integer dictum molestie elementum. Nullam dapibus tempus enim, id tincidunt arcu elementum varius.
|
309
|
+
%p Integer malesuada posuere nibh, ac commodo eros dictum eget. Maecenas vel urna ac sapien posuere tincidunt vel non metus. Morbi accumsan lectus at ante scelerisque molestie. Pellentesque in quam arcu, in lacinia orci. Sed blandit, neque sed ullamcorper lacinia, velit lectus lacinia lorem, id gravida sem arcu vel purus. Aenean tellus massa, elementum id condimentum ut, tempus ac dui. Integer consectetur neque placerat leo adipiscing iaculis. Vivamus tempor dui eu augue malesuada dignissim. In tempor odio eu augue ultricies ut hendrerit.
|
310
|
+
/ .sidebar_content ends
|
311
|
+
#sb2.sidebar_content
|
312
|
+
%h3 Sidebar content 2
|
313
|
+
%p Integer malesuada posuere nibh, ac commodo eros dictum eget. Maecenas vel urna ac sapien posuere tincidunt vel non metus. Morbi accumsan lectus at ante scelerisque molestie. Pellentesque in quam arcu, in lacinia orci. Sed blandit, neque sed ullamcorper lacinia, velit lectus lacinia lorem, id gravida sem arcu vel purus. Aenean tellus massa, elementum id condimentum ut, tempus ac dui. Integer consectetur neque placerat leo adipiscing iaculis. Vivamus tempor dui eu augue malesuada dignissim. In tempor odio eu augue ultricies ut hendrerit.
|
314
|
+
%p Aenean facilisis ligula eget orci adipiscing varius. Curabitur sem ligula, egestas vel bibendum sed, sodales eu nulla. Vestibulum luctus aliquam feugiat. Donec porta interdum placerat. Donec velit enim, porta vitae euismod ut, fermentum eu felis. Morbi aliquet, libero vel gravida facilisis, enim risus consequat tellus, vitae luctus est diam non nisi. Vivamus eget leo sit amet neque ultricies blandit. Sed tristique erat a sem ullamcorper tempor. Curabitur turpis lorem, semper et pharetra in, scelerisque in magna. Ut at tortor sed diam mattis rhoncus vel eget turpis. Praesent id diam velit, ullamcorper semper augue. Curabitur at orci tellus, sed tincidunt enim. Vivamus sed dolor vitae purus dignissim luctus quis sed nunc. Sed urna enim, auctor sit amet volutpat ut, porta sed leo. Integer dictum molestie elementum. Nullam dapibus tempus enim, id tincidunt arcu elementum varius.
|
315
|
+
/ .sidebar_content ends
|
316
|
+
#sb3.sidebar_content
|
317
|
+
%h3 Sidebar content 3
|
318
|
+
%p Aenean facilisis ligula eget orci adipiscing varius. Curabitur sem ligula, egestas vel bibendum sed, sodales eu nulla. Vestibulum luctus aliquam feugiat. Donec porta interdum placerat. Donec velit enim, porta vitae euismod ut, fermentum eu felis. Morbi aliquet, libero vel gravida facilisis, enim risus consequat tellus, vitae luctus est diam non nisi. Vivamus eget leo sit amet neque ultricies blandit. Sed tristique erat a sem ullamcorper tempor. Curabitur turpis lorem, semper et pharetra in, scelerisque in magna. Ut at tortor sed diam mattis rhoncus vel eget turpis. Praesent id diam velit, ullamcorper semper augue. Curabitur at orci tellus, sed tincidunt enim. Vivamus sed dolor vitae purus dignissim luctus quis sed nunc. Sed urna enim, auctor sit amet volutpat ut, porta sed leo. Integer dictum molestie elementum. Nullam dapibus tempus enim, id tincidunt arcu elementum varius.
|
319
|
+
%p Integer malesuada posuere nibh, ac commodo eros dictum eget. Maecenas vel urna ac sapien posuere tincidunt vel non metus. Morbi accumsan lectus at ante scelerisque molestie. Pellentesque in quam arcu, in lacinia orci. Sed blandit, neque sed ullamcorper lacinia, velit lectus lacinia lorem, id gravida sem arcu vel purus. Aenean tellus massa, elementum id condimentum ut, tempus ac dui. Integer consectetur neque placerat leo adipiscing iaculis. Vivamus tempor dui eu augue malesuada dignissim. In tempor odio eu augue ultricies ut hendrerit.
|
320
|
+
/ .sidebar_content ends
|
321
|
+
/ .block_content ends
|
322
|
+
.bendl
|
323
|
+
.bendr
|
324
|
+
/ .block ends
|
325
|
+
.block
|
326
|
+
.block_head
|
327
|
+
.bheadl
|
328
|
+
.bheadr
|
329
|
+
%h2 Log
|
330
|
+
%ul
|
331
|
+
%li
|
332
|
+
%a{:href => "#"} Alerts
|
333
|
+
%li
|
334
|
+
%a{:href => "#"} Today
|
335
|
+
/ .block_head ends
|
336
|
+
.block_content
|
337
|
+
About
|
338
|
+
- for stat in @stats
|
339
|
+
%li.tiny
|
340
|
+
%img{:src => "icons/#{stat[0]}.png"}/
|
341
|
+
= stat[1]
|
342
|
+
.bendl
|
343
|
+
.bendr
|
344
|
+
|
345
|
+
-# .message.errormsg
|
346
|
+
-# %p An error message goes here
|
347
|
+
-# .message.success
|
348
|
+
-# %p A success message goes here
|
349
|
+
|
350
|
+
// %li.group Control
|
351
|
+
// %li#god_opts
|
352
|
+
// %a{:href => "/o"}
|
353
|
+
// %img{:src => "icons/start.png"}/
|
354
|
+
// Power
|
355
|
+
// %li#god_opts
|
356
|
+
// %a{:href => "/o"}
|
357
|
+
// %img{:src => "icons/dashboard.png"}/
|
358
|
+
// Sensors
|
359
|
+
// %li#top_show
|
360
|
+
// %a{:href => "/t"}
|
361
|
+
// %img{:src => "icons/terminal.png"}/
|
362
|
+
// Top
|
363
|
+
// %li#home_icon
|
364
|
+
// %a{:href => "/i"}
|
365
|
+
// %img{:src => "icons/bookmark.png"}/
|
366
|
+
// Icon
|
367
|
+
#stats
|
data/webapp/views/layout.haml
CHANGED
@@ -2,16 +2,87 @@
|
|
2
2
|
%head
|
3
3
|
%title= @title
|
4
4
|
%meta{ :content => "text/html;charset=UTF-8", "http-equiv" => "content-type" }/
|
5
|
-
%style{:media => "screen", :type => "text/css"} @import "/iui/iuix.css";
|
6
|
-
%style{:media => "screen", :type => "text/css"} @import "/app.css";
|
7
|
-
%style{:media => "screen", :type => "text/css"} @import "/layout.css";
|
5
|
+
// %style{:media => "screen", :type => "text/css"} @import "/iui/iuix.css";
|
6
|
+
// %style{:media => "screen", :type => "text/css"} @import "/app.css";
|
7
|
+
// %style{:media => "screen", :type => "text/css"} @import "/layout.css";
|
8
|
+
|
9
|
+
= stylesheet_link_tag "style", "facebox", "visualize" #, :cache => "cache/cssall"
|
10
|
+
= javascript_include_tag "jquery", "jquery-ui", "rails", "helper", "main" #, :cache => "cache/jsall"
|
11
|
+
|
12
|
+
-# %link{:href => "jquery.wysiwyg.css", :media => "all", :rel => "stylesheet", :type => "text/css"}/
|
13
|
+
-# %link{:href => "date_input.css", :media => "all", :rel => "stylesheet", :type => "text/css"}/
|
14
|
+
|
8
15
|
/%script{:src => "/app.js", :type => "application/x-javascript"}
|
9
16
|
%script{:src => "/jquery.js", :type => "application/x-javascript"}
|
10
|
-
%script{:src => "/
|
17
|
+
%script{:src => "/jquery.img.preload.js", :type => "application/x-javascript"}
|
18
|
+
%script{:src => "/jquery.tablesorter.min.js", :type => "application/x-javascript"}
|
19
|
+
%script{:src => "/jquery.visualize.js", :type => "application/x-javascript"}
|
20
|
+
%script{:src => "/jquery.sparkline.js", :type => "application/x-javascript"}
|
21
|
+
%script{:src => "/facebox.js", :type => "application/x-javascript"}
|
11
22
|
%script{:src => "/faye.js", :type => "application/x-javascript"}
|
23
|
+
%script{:src => "/custom.js", :type => "application/x-javascript"}
|
24
|
+
|
25
|
+
%link{:href => '/icons/favicon.png', :rel => 'shortcut icon'}
|
12
26
|
|
13
27
|
%body
|
14
|
-
|
15
|
-
|
16
|
-
|
28
|
+
#hld
|
29
|
+
.wrapper
|
30
|
+
/ wrapper begins
|
31
|
+
#header
|
32
|
+
.hdrl
|
33
|
+
.hdrr
|
34
|
+
%h1
|
35
|
+
%a{:href => "#"}= @title
|
36
|
+
%ul#nav
|
37
|
+
%li
|
38
|
+
%a{:href => "#"} Dashboard
|
39
|
+
%li.active
|
40
|
+
%a{:href => "#"} Power
|
41
|
+
%ul
|
42
|
+
%li
|
43
|
+
%a{:href => "#"} List pages
|
44
|
+
%li
|
45
|
+
%a{:href => "#"} Add page
|
46
|
+
%li
|
47
|
+
%a{:href => "#"} More actions
|
48
|
+
%ul
|
49
|
+
%li
|
50
|
+
%a{:href => "#"} Some action
|
51
|
+
%li
|
52
|
+
%a{:href => "#"} Some action
|
53
|
+
%li
|
54
|
+
%a{:href => "#"} Some action
|
55
|
+
%ul
|
56
|
+
%li
|
57
|
+
%a{:href => "#"} Some action
|
58
|
+
%li
|
59
|
+
%a{:href => "#"} Some action
|
60
|
+
%li
|
61
|
+
%a{:href => "#"} Some action
|
62
|
+
%li
|
63
|
+
%a{:href => "#"} Sensors
|
64
|
+
%li
|
65
|
+
%a{:href => "#"} Options
|
66
|
+
%ul
|
67
|
+
%li
|
68
|
+
%a{:href => "#"} List media
|
69
|
+
%li
|
70
|
+
%a{:href => "#"} Add media
|
71
|
+
%li
|
72
|
+
%a{:href => "#"} Something else
|
73
|
+
%li
|
74
|
+
%a{:href => "#"} Users
|
75
|
+
%p.user
|
76
|
+
Hello,
|
77
|
+
%a{:href => "#"} John
|
78
|
+
|
|
79
|
+
%a{:href => "index.html"} Logout
|
80
|
+
/ #header ends
|
81
|
+
= yield
|
82
|
+
|
83
|
+
%li.tiny
|
84
|
+
%img{:src => "icons/ruby.png"}/
|
85
|
+
= @footer
|
86
|
+
[ok]
|
87
|
+
|
17
88
|
%script{:src => "/rt.js", :type => "application/x-javascript"}
|