rbbt-views 0.1.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. data/lib/rbbt/workflow/rest.rb +142 -57
  2. data/lib/rbbt/workflow/rest/auth.rb +3 -2
  3. data/lib/rbbt/workflow/rest/client.rb +4 -1
  4. data/lib/rbbt/workflow/rest/email.rb +23 -0
  5. data/lib/rbbt/workflow/rest/entity.rb +87 -62
  6. data/lib/rbbt/workflow/rest/helpers.rb +38 -0
  7. data/lib/rbbt/workflow/rest/render.rb +532 -153
  8. data/lib/rbbt/workflow/rest/util.rb +81 -104
  9. data/share/views/compass/_base.sass +0 -3
  10. data/share/views/compass/app.sass +0 -103
  11. data/share/views/compass/compass.config +5 -5
  12. data/share/views/compass/layout.sass +133 -0
  13. data/share/views/compass/main.sass +28 -5
  14. data/share/views/entity/GOTerm.haml +15 -0
  15. data/share/views/entity/Gene.haml +7 -0
  16. data/share/views/entity/GenomicMutation.haml +10 -0
  17. data/share/views/entity/KeggPathway.haml +13 -0
  18. data/share/views/entity/MutatedIsoform.haml +43 -0
  19. data/share/views/entity/NCIBioCartaPathways.haml +9 -0
  20. data/share/views/entity/NCINaturePathways.haml +9 -0
  21. data/share/views/entity/NCIReactomePathways.haml +9 -0
  22. data/share/views/entity/PfamDomain.haml +1 -0
  23. data/share/views/entity_list/Default.haml +10 -0
  24. data/share/views/form.haml +2 -54
  25. data/share/views/front.haml +1 -0
  26. data/share/views/job_list.haml +1 -1
  27. data/share/views/js/app.js +122 -68
  28. data/share/views/layout.haml +28 -22
  29. data/share/views/partials/_form.haml +36 -0
  30. data/share/views/partials/_job_control.haml +8 -8
  31. data/share/views/partials/_result_table.haml +12 -40
  32. data/share/views/partials/_result_table_controls.haml +36 -28
  33. data/share/views/partials/_table.haml +39 -0
  34. data/share/views/public/favicon.gif +0 -0
  35. data/share/views/public/plugins/jmol/CHANGES.txt +11124 -0
  36. data/share/views/public/plugins/jmol/COPYRIGHT.txt +73 -0
  37. data/share/views/public/plugins/jmol/ChimeToJmol.jar +0 -0
  38. data/share/views/public/plugins/jmol/Jmol.jar +0 -0
  39. data/share/views/public/plugins/jmol/Jmol.js +1711 -0
  40. data/share/views/public/plugins/jmol/JmolApplet.jar +0 -0
  41. data/share/views/public/plugins/jmol/JmolApplet0.jar +0 -0
  42. data/share/views/public/plugins/jmol/JmolApplet0_Console.jar +0 -0
  43. data/share/views/public/plugins/jmol/JmolApplet0_Minimize.jar +0 -0
  44. data/share/views/public/plugins/jmol/JmolApplet0_Popup.jar +0 -0
  45. data/share/views/public/plugins/jmol/JmolApplet0_ReadersCifPdb.jar +0 -0
  46. data/share/views/public/plugins/jmol/JmolApplet0_ReadersMolXyz.jar +0 -0
  47. data/share/views/public/plugins/jmol/JmolApplet0_ReadersMore.jar +0 -0
  48. data/share/views/public/plugins/jmol/JmolApplet0_ReadersQuantum.jar +0 -0
  49. data/share/views/public/plugins/jmol/JmolApplet0_ReadersSimple.jar +0 -0
  50. data/share/views/public/plugins/jmol/JmolApplet0_ReadersXml.jar +0 -0
  51. data/share/views/public/plugins/jmol/JmolApplet0_ReadersXtal.jar +0 -0
  52. data/share/views/public/plugins/jmol/JmolApplet0_ShapeBio.jar +0 -0
  53. data/share/views/public/plugins/jmol/JmolApplet0_ShapeSpecial.jar +0 -0
  54. data/share/views/public/plugins/jmol/JmolApplet0_ShapeSurface.jar +0 -0
  55. data/share/views/public/plugins/jmol/JmolApplet0_Smiles.jar +0 -0
  56. data/share/views/public/plugins/jmol/JmolApplet0_Symmetry.jar +0 -0
  57. data/share/views/public/plugins/jmol/JmolApplet0_i18n_ar.jar +0 -0
  58. data/share/views/public/plugins/jmol/JmolApplet0_i18n_bs.jar +0 -0
  59. data/share/views/public/plugins/jmol/JmolApplet0_i18n_ca.jar +0 -0
  60. data/share/views/public/plugins/jmol/JmolApplet0_i18n_cs.jar +0 -0
  61. data/share/views/public/plugins/jmol/JmolApplet0_i18n_da.jar +0 -0
  62. data/share/views/public/plugins/jmol/JmolApplet0_i18n_de.jar +0 -0
  63. data/share/views/public/plugins/jmol/JmolApplet0_i18n_el.jar +0 -0
  64. data/share/views/public/plugins/jmol/JmolApplet0_i18n_en_GB.jar +0 -0
  65. data/share/views/public/plugins/jmol/JmolApplet0_i18n_es.jar +0 -0
  66. data/share/views/public/plugins/jmol/JmolApplet0_i18n_et.jar +0 -0
  67. data/share/views/public/plugins/jmol/JmolApplet0_i18n_fi.jar +0 -0
  68. data/share/views/public/plugins/jmol/JmolApplet0_i18n_fr.jar +0 -0
  69. data/share/views/public/plugins/jmol/JmolApplet0_i18n_fy.jar +0 -0
  70. data/share/views/public/plugins/jmol/JmolApplet0_i18n_hu.jar +0 -0
  71. data/share/views/public/plugins/jmol/JmolApplet0_i18n_hy.jar +0 -0
  72. data/share/views/public/plugins/jmol/JmolApplet0_i18n_id.jar +0 -0
  73. data/share/views/public/plugins/jmol/JmolApplet0_i18n_it.jar +0 -0
  74. data/share/views/public/plugins/jmol/JmolApplet0_i18n_jv.jar +0 -0
  75. data/share/views/public/plugins/jmol/JmolApplet0_i18n_ko.jar +0 -0
  76. data/share/views/public/plugins/jmol/JmolApplet0_i18n_ms.jar +0 -0
  77. data/share/views/public/plugins/jmol/JmolApplet0_i18n_nb.jar +0 -0
  78. data/share/views/public/plugins/jmol/JmolApplet0_i18n_nl.jar +0 -0
  79. data/share/views/public/plugins/jmol/JmolApplet0_i18n_oc.jar +0 -0
  80. data/share/views/public/plugins/jmol/JmolApplet0_i18n_pl.jar +0 -0
  81. data/share/views/public/plugins/jmol/JmolApplet0_i18n_pt.jar +0 -0
  82. data/share/views/public/plugins/jmol/JmolApplet0_i18n_pt_BR.jar +0 -0
  83. data/share/views/public/plugins/jmol/JmolApplet0_i18n_ru.jar +0 -0
  84. data/share/views/public/plugins/jmol/JmolApplet0_i18n_sl.jar +0 -0
  85. data/share/views/public/plugins/jmol/JmolApplet0_i18n_sv.jar +0 -0
  86. data/share/views/public/plugins/jmol/JmolApplet0_i18n_ta.jar +0 -0
  87. data/share/views/public/plugins/jmol/JmolApplet0_i18n_te.jar +0 -0
  88. data/share/views/public/plugins/jmol/JmolApplet0_i18n_tr.jar +0 -0
  89. data/share/views/public/plugins/jmol/JmolApplet0_i18n_uk.jar +0 -0
  90. data/share/views/public/plugins/jmol/JmolApplet0_i18n_zh_CN.jar +0 -0
  91. data/share/views/public/plugins/jmol/JmolApplet0_i18n_zh_TW.jar +0 -0
  92. data/share/views/public/plugins/jmol/JmolAppletSigned.jar +0 -0
  93. data/share/views/public/plugins/jmol/JmolAppletSigned0.jar +0 -0
  94. data/share/views/public/plugins/jmol/JmolAppletSigned0_Console.jar +0 -0
  95. data/share/views/public/plugins/jmol/JmolAppletSigned0_Minimize.jar +0 -0
  96. data/share/views/public/plugins/jmol/JmolAppletSigned0_MultiTouch.jar +0 -0
  97. data/share/views/public/plugins/jmol/JmolAppletSigned0_Popup.jar +0 -0
  98. data/share/views/public/plugins/jmol/JmolAppletSigned0_ReadersCifPdb.jar +0 -0
  99. data/share/views/public/plugins/jmol/JmolAppletSigned0_ReadersMolXyz.jar +0 -0
  100. data/share/views/public/plugins/jmol/JmolAppletSigned0_ReadersMore.jar +0 -0
  101. data/share/views/public/plugins/jmol/JmolAppletSigned0_ReadersQuantum.jar +0 -0
  102. data/share/views/public/plugins/jmol/JmolAppletSigned0_ReadersSimple.jar +0 -0
  103. data/share/views/public/plugins/jmol/JmolAppletSigned0_ReadersXml.jar +0 -0
  104. data/share/views/public/plugins/jmol/JmolAppletSigned0_ReadersXtal.jar +0 -0
  105. data/share/views/public/plugins/jmol/JmolAppletSigned0_ShapeBio.jar +0 -0
  106. data/share/views/public/plugins/jmol/JmolAppletSigned0_ShapeSpecial.jar +0 -0
  107. data/share/views/public/plugins/jmol/JmolAppletSigned0_ShapeSurface.jar +0 -0
  108. data/share/views/public/plugins/jmol/JmolAppletSigned0_Smiles.jar +0 -0
  109. data/share/views/public/plugins/jmol/JmolAppletSigned0_Symmetry.jar +0 -0
  110. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_ar.jar +0 -0
  111. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_bs.jar +0 -0
  112. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_ca.jar +0 -0
  113. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_cs.jar +0 -0
  114. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_da.jar +0 -0
  115. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_de.jar +0 -0
  116. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_el.jar +0 -0
  117. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_en_GB.jar +0 -0
  118. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_es.jar +0 -0
  119. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_et.jar +0 -0
  120. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_fi.jar +0 -0
  121. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_fr.jar +0 -0
  122. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_fy.jar +0 -0
  123. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_hu.jar +0 -0
  124. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_hy.jar +0 -0
  125. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_id.jar +0 -0
  126. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_it.jar +0 -0
  127. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_jv.jar +0 -0
  128. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_ko.jar +0 -0
  129. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_ms.jar +0 -0
  130. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_nb.jar +0 -0
  131. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_nl.jar +0 -0
  132. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_oc.jar +0 -0
  133. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_pl.jar +0 -0
  134. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_pt.jar +0 -0
  135. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_pt_BR.jar +0 -0
  136. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_ru.jar +0 -0
  137. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_sl.jar +0 -0
  138. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_sv.jar +0 -0
  139. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_ta.jar +0 -0
  140. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_te.jar +0 -0
  141. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_tr.jar +0 -0
  142. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_uk.jar +0 -0
  143. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_zh_CN.jar +0 -0
  144. data/share/views/public/plugins/jmol/JmolAppletSigned0_i18n_zh_TW.jar +0 -0
  145. data/share/views/public/plugins/jmol/JmolData.jar +0 -0
  146. data/share/views/public/plugins/jmol/LEAME.txt +217 -0
  147. data/share/views/public/plugins/jmol/LICENSE.txt +504 -0
  148. data/share/views/public/plugins/jmol/README.txt +203 -0
  149. data/share/views/public/plugins/jmol/jmol +22 -0
  150. data/share/views/public/plugins/jmol/jmol.bat +5 -0
  151. data/share/views/public/plugins/jmol/jmol.mac +0 -0
  152. data/share/views/public/plugins/jmol/jmol.sh +39 -0
  153. data/share/views/public/plugins/jquery/js/jquery.form.js +980 -0
  154. data/share/views/result.haml +2 -2
  155. metadata +139 -6
  156. data/share/views/workflow_list.haml +0 -5
@@ -4,6 +4,27 @@ require 'rbbt/tsv/manipulate'
4
4
  module Sinatra
5
5
  module SinatraRbbt
6
6
 
7
+ def production?
8
+ ENV.include? "RACK_ENV" and not ENV["RACK_ENV"].nil? and ENV['RACK_ENV'].downcase == "production"
9
+ end
10
+
11
+ def cache(type, options)
12
+ name = type + ":" + Misc.hash2md5(options)
13
+ if production?
14
+ @@cache ||= Persist.open_tokyocabinet 'sinatra.cache', true
15
+ return @@cache[name] if @@cache.include? name
16
+ res = yield
17
+ Misc.lock @@cache.persistence_path do
18
+ @@cache.write
19
+ @@cache[name] = res
20
+ @@cache.read
21
+ end
22
+ res
23
+ else
24
+ yield
25
+ end
26
+ end
27
+
7
28
  def job_cache(workflow, task, jobname)
8
29
  jobname = File.basename(jobname)
9
30
  @job_cache ||= {}
@@ -53,58 +74,6 @@ module Sinatra
53
74
  session["context"] = context
54
75
  end
55
76
 
56
-
57
- def self.locate_file(workflow, task, file)
58
- file = case
59
- when file =~ /\.[a-z]{2,4}$/
60
- file
61
- when file =~ /(.*)\/$/
62
- $1
63
- else
64
- file + '.haml'
65
- end
66
-
67
- webapp_dir_views = WorkflowREST.www.views.find(:lib, Sinatra::Application.root)
68
- workflow_dir_views = (workflow.nil? or workflow.libdir.nil?) ? nil : workflow.libdir.www.views
69
- global_views = WorkflowREST.share.views
70
-
71
- # workflow = workflow.to_s unless workflow.nil? or String === workflow
72
-
73
- path = case
74
- when webapp_dir_views[workflow][task][file].exists?
75
- webapp_dir_views[workflow][task][file]
76
- when webapp_dir_views[task][file].exists?
77
- webapp_dir_views[task][file]
78
- when webapp_dir_views[workflow][file].exists?
79
- webapp_dir_views[workflow][file]
80
- when webapp_dir_views[file].exists?
81
- webapp_dir_views[file]
82
-
83
- when (not workflow_dir_views.nil? and workflow_dir_views[workflow][task][file].exists?)
84
- workflow_dir_views[workflow][task][file]
85
- when (not workflow_dir_views.nil? and workflow_dir_views[task][file].exists?)
86
- workflow_dir_views[task][file]
87
- when (not workflow_dir_views.nil? and workflow_dir_views[workflow][file].exists?)
88
- workflow_dir_views[workflow][file]
89
- when (not workflow_dir_views.nil? and workflow_dir_views[file].exists?)
90
- workflow_dir_views[file]
91
-
92
- when global_views[workflow][task][file].exists?
93
- global_views[workflow][task][file]
94
- when global_views[task][file].exists?
95
- global_views[task][file]
96
- when global_views[workflow][file].exists?
97
- global_views[workflow][file]
98
- when global_views[file].exists?
99
- global_views[file]
100
- else
101
- raise "File not found: #{[workflow, task, file].compact * ", "}"
102
- end
103
-
104
- Log.debug "File #{[workflow, task, file].collect{|v| "'#{ v }'"} * ", "} located at #{ path }"
105
- path
106
- end
107
-
108
77
  def add_param(url, key, value)
109
78
  if url =~ /\?/
110
79
  url += "&#{ key }=#{ value }"
@@ -119,13 +88,13 @@ module Sinatra
119
88
  end
120
89
  url
121
90
  end
122
-
123
- def locate_file(workflow, task, file)
124
- SinatraRbbt.locate_file(workflow, task, file)
125
- end
126
-
127
91
  #{{{ Params
128
-
92
+ #
93
+ def get_email(params)
94
+ IndiferentHash.setup(params)
95
+ params.delete :email
96
+ end
97
+
129
98
  def get_jobname(params)
130
99
  IndiferentHash.setup(params)
131
100
  jobname = params.delete :jobname
@@ -187,7 +156,7 @@ module Sinatra
187
156
 
188
157
  filter = params.delete :_filter
189
158
 
190
- size = params.delete :_size
159
+ size = params.delete(:_size) || params.delete("_size")
191
160
 
192
161
  layout = params.delete :_layout
193
162
 
@@ -198,7 +167,10 @@ module Sinatra
198
167
  { :_format => format,
199
168
  :_page => page,
200
169
  :_filter => filter,
201
- :_layout => layout }
170
+ :_layout => layout,
171
+ :_size => size,
172
+ :_xhr => request.xhr?,
173
+ }
202
174
  end
203
175
 
204
176
  def has_all_inputs(workflow, name, params)
@@ -207,6 +179,54 @@ module Sinatra
207
179
  workflow.rec_inputs(name).reject{|input| params.include? input}.empty?
208
180
  end
209
181
 
182
+ def fix_input(type, value, param_file = nil)
183
+ case type
184
+ when nil, :string
185
+ value
186
+ when :integer
187
+ value.to_i
188
+ when :float
189
+ value.to_f
190
+ when :boolean
191
+ Persist::TRUE_STRINGS.include? value.chomp.strip
192
+
193
+ when :text
194
+ case
195
+ when (param_file.nil? and not (value.nil? or value.empty?))
196
+ value
197
+ when (not param_file.nil?)
198
+ value[:tempfile].read
199
+ end
200
+
201
+ when :array
202
+ case
203
+ when (param_file.nil? and not (value.nil? or value.empty?))
204
+ case
205
+ when String === value
206
+ value.split(/\n|,/).collect{|l| l.strip}
207
+ when Array === value
208
+ value
209
+ else
210
+ raise "Input #{ input } must be Array or String: #{value.class}"
211
+ end
212
+ when (not param_file.nil?)
213
+ text = value[:tempfile].read
214
+ text.split(/\n|,/).collect{|l| l.strip}
215
+ end
216
+
217
+ when :tsv
218
+ case
219
+ when (param_file.nil? and not (value.nil? or value.empty?))
220
+ TSV.open(StringIO.new(value))
221
+ when (not param_file.nil?)
222
+ text = value[:tempfile].read
223
+ TSV.open(StringIO.new(text))
224
+ end
225
+ end
226
+
227
+
228
+ end
229
+
210
230
  def get_inputs(workflow, name, params)
211
231
  inputs = {}
212
232
 
@@ -228,50 +248,7 @@ module Sinatra
228
248
  value.sub!(/local:(.*):(.*)/, 'local:\1:' + user + '/\2')
229
249
  end
230
250
 
231
- new_value = case input_types[param]
232
- when nil, :string
233
- value
234
- when :integer
235
- value.to_i
236
- when :float
237
- value.to_f
238
- when :boolean
239
- Persist::TRUE_STRINGS.include? value.chomp.strip
240
-
241
- when :text
242
- case
243
- when (param_file.nil? and not (value.nil? or value.empty?))
244
- value
245
- when (not param_file.nil?)
246
- value[:tempfile].read
247
- end
248
-
249
- when :array
250
- case
251
- when (param_file.nil? and not (value.nil? or value.empty?))
252
- case
253
- when String === value
254
- value.split(/\n|,/).collect{|l| l.strip}
255
- when Array === value
256
- value
257
- else
258
- raise "Input #{ input } must be Array or String: #{value.class}"
259
- end
260
- when (not param_file.nil?)
261
- text = value[:tempfile].read
262
- text.split(/\n|,/).collect{|l| l.strip}
263
- end
264
-
265
- when :tsv
266
- case
267
- when (param_file.nil? and not (value.nil? or value.empty?))
268
- TSV.open(StringIO.new(value))
269
- when (not param_file.nil?)
270
- text = value[:tempfile].read
271
- TSV.open(StringIO.new(text))
272
- end
273
- end
274
-
251
+ new_value = fix_input(input_types[param], value, param_file)
275
252
  inputs[param] = new_value unless new_value.nil?
276
253
  end
277
254
 
@@ -5,9 +5,6 @@ $blueprint_grid_margin: 10px
5
5
  $font_color: #333
6
6
  $blueprint-font-size: 14px
7
7
 
8
- @import compass/reset
9
- @import compass/utilities
10
- @import blueprint
11
8
  @import "compass/css3/inline-block"
12
9
  @import "blueprint/form"
13
10
  @import "blueprint/grid"
@@ -1,103 +0,0 @@
1
- @import "main"
2
- @import "form"
3
-
4
- body
5
- margin: 10px
6
- font-size: 12px
7
- width: auto
8
-
9
- span.short_task_description
10
- display: block
11
- color: gray
12
-
13
- .embedded
14
- margin: 0
15
- padding: 0
16
- &.reloading
17
- span.status
18
- font-size: 2em
19
- color: gray
20
-
21
- #header
22
- background-color: #F2F2F2
23
- h1
24
- font-size: 15px
25
- a
26
- text-decoration: none
27
- color: blue
28
- span.login
29
- float: right
30
-
31
- #menu
32
- font-size: 0.9em
33
- overflow: auto
34
- overflow-x: hidden
35
- +column(5)
36
- ul
37
- +clean_list
38
- li
39
- display: block
40
-
41
- .workflow_menu
42
- margin-bottom: 20px
43
-
44
- ul.context_control
45
- +clean_list(true)
46
- height: 2em
47
- li
48
- float: left
49
- padding: 3px
50
- margin-left: 5px
51
-
52
-
53
- ul.job_control
54
- +clean_list(true)
55
- height: 2em
56
- li
57
- float: right
58
- padding: 3px
59
- margin-right: 15px
60
-
61
- #content
62
- +column(19)
63
- #main
64
- width: auto
65
- padding: 10px
66
- &.contracted
67
- +border_radius(4px, 4px)
68
- overflow: auto
69
- border: solid 1px gray
70
- #details_controls
71
- ul
72
- +clean_list
73
- li
74
- margin: 0px
75
- padding: 0px
76
- a
77
- +subtle_link(gray)
78
- #details
79
- +border_radius(4px, 4px)
80
- padding: 10px
81
- height: 200px
82
- border: solid 1px gray
83
- background-color: #F2F2F2
84
- overflow: auto
85
- &.expanded
86
- height: auto
87
- overflow: none
88
-
89
- #other_task_jobs
90
- +column(5)
91
- float: right
92
-
93
- #footer
94
- margin-top: 20px
95
- color: orange
96
-
97
- span.input_name
98
- font-weight: bold
99
-
100
- table tfoot
101
- input
102
- &.pnum, &.psize
103
- width: 3em
@@ -12,19 +12,19 @@ else
12
12
  end
13
13
 
14
14
  Sass::Engine::DEFAULT_OPTIONS[:load_paths].tap do |load_paths|
15
- load_paths << WorkflowREST.views.compass.find(:lib, Sinatra::Application.root).to_s
15
+ load_paths << Rbbt.views.compass.find(:lib, Sinatra::Application.root).to_s
16
16
  Workflow.workflows.each do |workflow|
17
- load_paths << WorkflowREST.www.views.compass.find(:lib, workflow.libdir).to_s
17
+ load_paths << Rbbt.www.views.compass.find(:lib, workflow.libdir).to_s
18
18
  end
19
- load_paths << WorkflowREST.share.views.compass.find(:lib).to_s
19
+ load_paths << Rbbt.share.views.compass.find(:lib).to_s
20
20
 
21
21
  load_paths << "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/compass/stylesheets"
22
22
  load_paths << "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/blueprint/stylesheets"
23
23
  end
24
24
 
25
25
  # This is common configuration
26
- sass_dir = WorkflowREST.share.views.compass.find(:lib, Sinatra::Application.root).to_s
27
- cache_dir = WorkflowREST.var.cache.sass.find
26
+ sass_dir = Rbbt.share.views.compass.find(:lib, Sinatra::Application.root).to_s
27
+ cache_dir = Rbbt.var.cache.sass.find
28
28
  images_dir = File.join 'public', 'images'
29
29
  http_path = "/"
30
30
  http_images_path = "/images"
@@ -0,0 +1,133 @@
1
+ @import "main"
2
+ @import "form"
3
+
4
+ body
5
+ margin: 10px
6
+ font-size: 14px
7
+ width: auto
8
+ background-color: #F0F0F0
9
+
10
+ span.short_task_description
11
+ display: block
12
+ color: gray
13
+ #header
14
+ h1
15
+ font-size: 15px
16
+ a
17
+ text-decoration: none
18
+ color: blue
19
+ span.login
20
+ float: right
21
+
22
+ #menu
23
+ padding: 5px
24
+ font-size: 0.9em
25
+ overflow: auto
26
+ overflow-x: hidden
27
+ +column(5)
28
+ ul
29
+ +clean_list
30
+ li
31
+ display: block
32
+
33
+ .workflow_menu
34
+ margin-bottom: 20px
35
+
36
+ ul.context_control
37
+ +clean_list(true)
38
+ height: 2em
39
+ li
40
+ float: left
41
+ padding: 3px
42
+ margin-left: 5px
43
+
44
+
45
+ ul.job_control
46
+ +clean_list(true)
47
+ height: 2em
48
+ li
49
+ float: right
50
+ padding: 3px
51
+ margin-right: 15px
52
+
53
+ #content
54
+ +column(19)
55
+ #main
56
+ width: auto
57
+ padding: 10px
58
+ &.contracted
59
+ +border_radius(4px, 4px)
60
+ overflow: auto
61
+ border: solid 1px gray
62
+ #details_controls
63
+ ul
64
+ +clean_list
65
+ li
66
+ margin: 0px
67
+ padding: 0px
68
+ #details
69
+ +border_radius(4px, 4px)
70
+ padding: 10px
71
+ height: 200px
72
+ border: solid 1px gray
73
+ background-color: #F2F2F2
74
+ overflow: auto
75
+ &.expanded
76
+ height: auto
77
+ overflow: none
78
+
79
+ #other_task_jobs
80
+ +column(5)
81
+ float: right
82
+
83
+ #footer
84
+ margin-top: 20px
85
+ color: orange
86
+
87
+ span.input_name
88
+ font-weight: bold
89
+
90
+ table tfoot
91
+ text-align: left
92
+ h3
93
+ display: inline
94
+ margin-right: 15px
95
+ input
96
+ &.pnum, &.psize
97
+ width: 3em
98
+
99
+ table td
100
+ word-spacing: 5px
101
+
102
+ thead th
103
+ color: white
104
+ background: black
105
+
106
+ a.entity, a.entity_list, a.entity_action, a.entity_list_action
107
+ text-decoration: none
108
+ white-space: nowrap
109
+ word-spacing: 0px
110
+
111
+ a.replace
112
+ +border_radius(4px, 4px)
113
+ +shadowed_box()
114
+ display: inline-block
115
+ padding: 5px
116
+
117
+ .embedded
118
+ +border_radius(4px, 4px)
119
+ +shadowed_box()
120
+ padding: 10px 25px
121
+ &.reloading
122
+ span.status
123
+ font-size: 2em
124
+ color: gray
125
+
126
+ div.form_input label
127
+ margin-top: 10px
128
+
129
+ span.user
130
+ color: gray
131
+
132
+ a.button
133
+ +button_link()