rsence 2.0.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (311) hide show
  1. data/INSTALL.rdoc +295 -0
  2. data/LICENSE +622 -0
  3. data/README.rdoc +24 -0
  4. data/VERSION +1 -0
  5. data/bin/build_client.rb +254 -0
  6. data/bin/help +6 -0
  7. data/bin/launch.rb +120 -0
  8. data/bin/rdoc.sh +2 -0
  9. data/bin/restart +6 -0
  10. data/bin/rsence +120 -0
  11. data/bin/run +6 -0
  12. data/bin/run.rb +6 -0
  13. data/bin/save +6 -0
  14. data/bin/start +6 -0
  15. data/bin/status +6 -0
  16. data/bin/stop +6 -0
  17. data/conf/config.ru +5 -0
  18. data/conf/default_conf.yaml +337 -0
  19. data/conf/default_strings.yaml +77 -0
  20. data/conf/local_conf.yaml +14 -0
  21. data/conf/unicorn.conf +78 -0
  22. data/js/comm/comm/autosync/autosync.js +18 -0
  23. data/js/comm/comm/autosync/js.inc +0 -0
  24. data/js/comm/comm/comm.js +195 -0
  25. data/js/comm/comm/js.inc +0 -0
  26. data/js/comm/comm/queue/js.inc +0 -0
  27. data/js/comm/comm/queue/queue.js +183 -0
  28. data/js/comm/comm/session/js.inc +0 -0
  29. data/js/comm/comm/session/session.js +51 -0
  30. data/js/comm/comm/sessionwatcher/js.inc +0 -0
  31. data/js/comm/comm/sessionwatcher/sessionwatcher.js +43 -0
  32. data/js/comm/comm/transporter/js.inc +0 -0
  33. data/js/comm/comm/transporter/transporter.js +257 -0
  34. data/js/comm/comm/urlresponder/js.inc +0 -0
  35. data/js/comm/comm/urlresponder/urlresponder.js +148 -0
  36. data/js/comm/comm/values/js.inc +0 -0
  37. data/js/comm/comm/values/values.js +432 -0
  38. data/js/comm/jsloader/js.inc +0 -0
  39. data/js/comm/jsloader/jsloader.js +114 -0
  40. data/js/comm/reloadapp/js.inc +0 -0
  41. data/js/comm/reloadapp/reloadapp.js +150 -0
  42. data/js/comm/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
  43. data/js/comm/reloadapp/themes/default/reloadapp_warning.png +0 -0
  44. data/js/comm/sha/js.inc +0 -0
  45. data/js/comm/sha/sha.js +432 -0
  46. data/js/comm/values/value/js.inc +0 -0
  47. data/js/comm/values/value/value.js +182 -0
  48. data/js/comm/values/valuematrix/js.inc +0 -0
  49. data/js/comm/values/valuematrix/valuematrix.js +138 -0
  50. data/js/controls/button/button.js +57 -0
  51. data/js/controls/button/js.inc +0 -0
  52. data/js/controls/button/themes/bright/button.css +89 -0
  53. data/js/controls/button/themes/bright/button.html +7 -0
  54. data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
  55. data/js/controls/button/themes/bright/button_parts1.png +0 -0
  56. data/js/controls/button/themes/default/button.css +89 -0
  57. data/js/controls/button/themes/default/button.html +7 -0
  58. data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
  59. data/js/controls/button/themes/default/button_parts1.png +0 -0
  60. data/js/controls/checkbox/checkbox.js +47 -0
  61. data/js/controls/checkbox/js.inc +0 -0
  62. data/js/controls/checkbox/themes/default/checkbox.css +69 -0
  63. data/js/controls/checkbox/themes/default/checkbox.html +5 -0
  64. data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
  65. data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
  66. data/js/controls/datetime/calendar/calendar.js +197 -0
  67. data/js/controls/datetime/calendar/js.inc +0 -0
  68. data/js/controls/datetime/calendar/themes/default/calendar.css +108 -0
  69. data/js/controls/datetime/calendar/themes/default/calendar.html +9 -0
  70. data/js/controls/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
  71. data/js/controls/datetime/calendar/themes/default/calendar_arrows.png +0 -0
  72. data/js/controls/datetime/datetimevalue/datetimevalue.js +246 -0
  73. data/js/controls/datetime/datetimevalue/js.inc +0 -0
  74. data/js/controls/datetime/timesheet/js.inc +0 -0
  75. data/js/controls/datetime/timesheet/themes/default/timesheet.css +30 -0
  76. data/js/controls/datetime/timesheet/themes/default/timesheet.html +2 -0
  77. data/js/controls/datetime/timesheet/timesheet.js +182 -0
  78. data/js/controls/datetime/timesheet_item/js.inc +0 -0
  79. data/js/controls/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
  80. data/js/controls/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
  81. data/js/controls/datetime/timesheet_item/timesheet_item.js +247 -0
  82. data/js/controls/datetime/timesheet_item_edit/js.inc +0 -0
  83. data/js/controls/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
  84. data/js/controls/dialogs/alert_sheet/alert_sheet.js +62 -0
  85. data/js/controls/dialogs/alert_sheet/js.inc +0 -0
  86. data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +36 -0
  87. data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
  88. data/js/controls/dialogs/sheet/js.inc +0 -0
  89. data/js/controls/dialogs/sheet/sheet.js +83 -0
  90. data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
  91. data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
  92. data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
  93. data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
  94. data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
  95. data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
  96. data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
  97. data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
  98. data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
  99. data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
  100. data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
  101. data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
  102. data/js/controls/imageview/imageview.js +108 -0
  103. data/js/controls/imageview/js.inc +0 -0
  104. data/js/controls/imageview/themes/default/blank.gif +0 -0
  105. data/js/controls/lists/checkboxlist/checkboxlist.js +170 -0
  106. data/js/controls/lists/checkboxlist/js.inc +0 -0
  107. data/js/controls/lists/listitems/js.inc +0 -0
  108. data/js/controls/lists/listitems/listitems.js +65 -0
  109. data/js/controls/lists/radiobuttonlist/js.inc +0 -0
  110. data/js/controls/lists/radiobuttonlist/radiobuttonlist.js +126 -0
  111. data/js/controls/passwordcontrol/js.inc +0 -0
  112. data/js/controls/passwordcontrol/passwordcontrol.js +22 -0
  113. data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
  114. data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
  115. data/js/controls/progress/progressbar/js.inc +0 -0
  116. data/js/controls/progress/progressbar/progressbar.js +36 -0
  117. data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
  118. data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
  119. data/js/controls/progress/progressindicator/js.inc +0 -0
  120. data/js/controls/progress/progressindicator/progressindicator.js +43 -0
  121. data/js/controls/radiobutton/js.inc +0 -0
  122. data/js/controls/radiobutton/radiobutton.js +41 -0
  123. data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
  124. data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
  125. data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
  126. data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
  127. data/js/controls/sliders/slider/js.inc +0 -0
  128. data/js/controls/sliders/slider/slider.js +356 -0
  129. data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
  130. data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
  131. data/js/controls/sliders/slider/themes/default/slider.css +108 -0
  132. data/js/controls/sliders/slider/themes/default/slider.html +5 -0
  133. data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
  134. data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
  135. data/js/controls/sliders/vslider/js.inc +0 -0
  136. data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
  137. data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
  138. data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
  139. data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
  140. data/js/controls/sliders/vslider/vslider.js +40 -0
  141. data/js/controls/stepper/js.inc +0 -0
  142. data/js/controls/stepper/stepper.js +212 -0
  143. data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
  144. data/js/controls/stepper/themes/default/stepper.css +14 -0
  145. data/js/controls/stepper/themes/default/stepper.html +2 -0
  146. data/js/controls/stepper/themes/default/stepper.png +0 -0
  147. data/js/controls/stringview/js.inc +0 -0
  148. data/js/controls/stringview/stringview.js +49 -0
  149. data/js/controls/stringview/themes/default/stringview.css +8 -0
  150. data/js/controls/stringview/themes/default/stringview.html +1 -0
  151. data/js/controls/tab/js.inc +0 -0
  152. data/js/controls/tab/tab.js +276 -0
  153. data/js/controls/tab/themes/bright/tab.css +76 -0
  154. data/js/controls/tab/themes/bright/tab.html +6 -0
  155. data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
  156. data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
  157. data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
  158. data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
  159. data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
  160. data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
  161. data/js/controls/tab/themes/default/tab.css +77 -0
  162. data/js/controls/tab/themes/default/tab.html +6 -0
  163. data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
  164. data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
  165. data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
  166. data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
  167. data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
  168. data/js/controls/tab/themes/default/tab_parts1.png +0 -0
  169. data/js/controls/textarea/js.inc +0 -0
  170. data/js/controls/textarea/textarea.js +23 -0
  171. data/js/controls/textarea/themes/default/textarea.css +21 -0
  172. data/js/controls/textarea/themes/default/textarea.html +18 -0
  173. data/js/controls/textcontrol/js.inc +0 -0
  174. data/js/controls/textcontrol/textcontrol.js +372 -0
  175. data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
  176. data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
  177. data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
  178. data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
  179. data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
  180. data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
  181. data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
  182. data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
  183. data/js/controls/uploader/js.inc +0 -0
  184. data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
  185. data/js/controls/uploader/themes/default/uploader.css +108 -0
  186. data/js/controls/uploader/themes/default/uploader.html +27 -0
  187. data/js/controls/uploader/uploader.js +153 -0
  188. data/js/controls/validatorview/js.inc +0 -0
  189. data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
  190. data/js/controls/validatorview/themes/default/validator.png +0 -0
  191. data/js/controls/validatorview/themes/default/validatorview.css +0 -0
  192. data/js/controls/validatorview/themes/default/validatorview.html +0 -0
  193. data/js/controls/validatorview/validatorview.js +55 -0
  194. data/js/controls/window/js.inc +0 -0
  195. data/js/controls/window/themes/default/window.css +219 -0
  196. data/js/controls/window/themes/default/window.html +17 -0
  197. data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
  198. data/js/controls/window/themes/default/window_bg_active.png +0 -0
  199. data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
  200. data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
  201. data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
  202. data/js/controls/window/themes/default/window_buttons.png +0 -0
  203. data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
  204. data/js/controls/window/themes/default/window_parts1.png +0 -0
  205. data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
  206. data/js/controls/window/themes/default/window_parts2.png +0 -0
  207. data/js/controls/window/window.js +284 -0
  208. data/js/core/class/class.js +317 -0
  209. data/js/core/class/js.inc +0 -0
  210. data/js/core/elem/elem.js +1376 -0
  211. data/js/core/elem/js.inc +0 -0
  212. data/js/core/event/event.js +1021 -0
  213. data/js/core/event/js.inc +0 -0
  214. data/js/core/iefix/ie_css_element.htc +5 -0
  215. data/js/core/iefix/ie_css_style.htc +5 -0
  216. data/js/core/iefix/iefix.js +359 -0
  217. data/js/core/iefix/js.inc +0 -0
  218. data/js/debugg/debugg.js +43 -0
  219. data/js/debugg/js.inc +0 -0
  220. data/js/foundation/application/application.js +209 -0
  221. data/js/foundation/application/js.inc +0 -0
  222. data/js/foundation/control/control.js +342 -0
  223. data/js/foundation/control/controldefaults/controldefaults.js +59 -0
  224. data/js/foundation/control/controldefaults/js.inc +0 -0
  225. data/js/foundation/control/dummyvalue/dummyvalue.js +50 -0
  226. data/js/foundation/control/dummyvalue/js.inc +0 -0
  227. data/js/foundation/control/dyncontrol/dyncontrol.js +494 -0
  228. data/js/foundation/control/dyncontrol/js.inc +0 -0
  229. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
  230. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
  231. data/js/foundation/control/eventresponder/eventresponder.js +713 -0
  232. data/js/foundation/control/eventresponder/js.inc +0 -0
  233. data/js/foundation/control/js.inc +0 -0
  234. data/js/foundation/control/valueresponder/js.inc +0 -0
  235. data/js/foundation/control/valueresponder/valueresponder.js +77 -0
  236. data/js/foundation/geom/point/js.inc +0 -0
  237. data/js/foundation/geom/point/point.js +202 -0
  238. data/js/foundation/geom/rect/js.inc +0 -0
  239. data/js/foundation/geom/rect/rect.js +610 -0
  240. data/js/foundation/json_renderer/js.inc +0 -0
  241. data/js/foundation/json_renderer/json_renderer.js +231 -0
  242. data/js/foundation/system/js.inc +0 -0
  243. data/js/foundation/system/system.js +369 -0
  244. data/js/foundation/thememanager/js.inc +0 -0
  245. data/js/foundation/thememanager/thememanager.js +387 -0
  246. data/js/foundation/view/js.inc +0 -0
  247. data/js/foundation/view/markupview/js.inc +0 -0
  248. data/js/foundation/view/markupview/markupview.js +113 -0
  249. data/js/foundation/view/morphanimation/js.inc +0 -0
  250. data/js/foundation/view/morphanimation/morphanimation.js +236 -0
  251. data/js/foundation/view/view.js +1804 -0
  252. data/js/foundation/view/viewdefaults/js.inc +0 -0
  253. data/js/foundation/view/viewdefaults/viewdefaults.js +25 -0
  254. data/js/views/centerview/centerview.js +45 -0
  255. data/js/views/centerview/js.inc +0 -0
  256. data/js/views/inlineview/inlineview.js +14 -0
  257. data/js/views/inlineview/js.inc +0 -0
  258. data/js/views/scrollview/js.inc +0 -0
  259. data/js/views/scrollview/scrollview.js +39 -0
  260. data/lib/conf/default.rb +220 -0
  261. data/lib/conf/wizard.rb +303 -0
  262. data/lib/daemon/daemon.rb +293 -0
  263. data/lib/http/broker.rb +102 -0
  264. data/lib/http/rackup.rb +88 -0
  265. data/lib/http/request.rb +69 -0
  266. data/lib/http/response.rb +63 -0
  267. data/lib/plugins/gui_plugin.rb +129 -0
  268. data/lib/plugins/guiparser.rb +114 -0
  269. data/lib/plugins/plugin.rb +652 -0
  270. data/lib/plugins/plugin_plugins.rb +47 -0
  271. data/lib/plugins/plugin_sqlite_db.rb +72 -0
  272. data/lib/plugins/plugin_util.rb +96 -0
  273. data/lib/plugins/pluginmanager.rb +517 -0
  274. data/lib/plugins/servlet.rb +69 -0
  275. data/lib/session/msg.rb +291 -0
  276. data/lib/session/sessionmanager.rb +491 -0
  277. data/lib/session/sessionstorage.rb +314 -0
  278. data/lib/transporter/transporter.rb +254 -0
  279. data/lib/util/gzstring.rb +5 -0
  280. data/lib/values/hvalue.rb +323 -0
  281. data/lib/values/valuemanager.rb +152 -0
  282. data/plugins/client_pkg/client_pkg.rb +186 -0
  283. data/plugins/client_pkg/info.yaml +25 -0
  284. data/plugins/client_pkg/lib/client_pkg_build.rb +569 -0
  285. data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
  286. data/plugins/client_pkg/lib/client_pkg_serve.rb +210 -0
  287. data/plugins/client_pkg/log/build_log +0 -0
  288. data/plugins/index_html/img/loading.gif +0 -0
  289. data/plugins/index_html/img/riassence.gif +0 -0
  290. data/plugins/index_html/index_html.rb +150 -0
  291. data/plugins/index_html/tmpl/index.html +22 -0
  292. data/plugins/index_html/tmpl/startup_index.html +29 -0
  293. data/plugins/legacy/disabled +0 -0
  294. data/plugins/legacy/disabled- +0 -0
  295. data/plugins/legacy/info.yaml +22 -0
  296. data/plugins/legacy/legacy.rb +15 -0
  297. data/plugins/main/js/riassence_ns.js +87 -0
  298. data/plugins/main/main.rb +234 -0
  299. data/plugins/main/values.yaml +8 -0
  300. data/plugins/ticketservices/lib/common.rb +300 -0
  301. data/plugins/ticketservices/lib/favicon.rb +38 -0
  302. data/plugins/ticketservices/lib/file.rb +58 -0
  303. data/plugins/ticketservices/lib/img.rb +50 -0
  304. data/plugins/ticketservices/lib/objblob.rb +66 -0
  305. data/plugins/ticketservices/lib/rsrc.rb +34 -0
  306. data/plugins/ticketservices/lib/upload.rb +206 -0
  307. data/plugins/ticketservices/ticketservices.rb +268 -0
  308. data/var/db/.git_include +0 -0
  309. data/var/log/.git_include +0 -0
  310. data/var/run/.git_include +0 -0
  311. metadata +390 -0
@@ -0,0 +1,76 @@
1
+ /* tab bar */
2
+ .tab_label {
3
+ position: absolute;
4
+ top: 0px; left: 0px right: 0px; height: 24px;
5
+ cursor: pointer;
6
+ }
7
+
8
+ /* set left and width manually */
9
+ .tab_label .item-fg,
10
+ .tab_label .item-bg {
11
+ position: absolute;
12
+ top: 0px; height: 24px;
13
+ background-repeat: repeat-x;
14
+ }
15
+ .tab_label,
16
+ .tab_label .edge-left,
17
+ .tab_label .edge-right,
18
+ .tab_label .tablabel,
19
+ .tab_label_fill_bg {
20
+ background-repeat: no-repeat;
21
+ background-image: #{this.getCssFilePath('tab_parts1.png')};
22
+ }
23
+ .tab_label_fill_bg {
24
+ position: absolute;
25
+ top: 0px; left: 0px; right: 0px; height: 24px;
26
+ background-position: 0px -96px;
27
+ background-repeat: repeat-x;
28
+ }
29
+
30
+ .tab_label .edge-left {
31
+ position: absolute;
32
+ top: 0px; left: 0px; width: 12px; height: 24px;
33
+ background-position: 0px 0px;
34
+ }
35
+ .tab_label .item-bg .edge-left {
36
+ background-position: -24px 0px;
37
+ }
38
+
39
+ .tab_label .edge-right {
40
+ position: absolute;
41
+ top: 0px; right: 0px; width: 9px; height: 24px;
42
+ background-position: -12px 0px;
43
+ }
44
+ .tab_label .item-bg .edge-right {
45
+ background-position: -36px 0px;
46
+ }
47
+
48
+ .tab_label .tablabel {
49
+ position: absolute;
50
+ top: 0px; left: 12px; right: 9px; height: 24px;
51
+ background-position: 0px -24px;
52
+ background-repeat: repeat-x;
53
+ vertical-align: middle;
54
+ text-align: center;
55
+ color: #000;
56
+ line-height: 26px;
57
+ text-align: center; vertical-align: middle;
58
+ font-family: Arial, sans-serif;
59
+ font-size: 12px; font-weight: bold;
60
+ color: #333;
61
+ }
62
+ .tab_label .item-bg .tablabel {
63
+ background-position: 0px -48px;
64
+ color: #666;
65
+ }
66
+
67
+ .tab_bg {
68
+ position: absolute;
69
+ top: 24px; left: 0px; right: 0px; bottom: 0px;
70
+ background-image: #{this.getCssFilePath('tab_border_pattern.png')};
71
+ }
72
+ .tab_fg {
73
+ position: absolute;
74
+ top: 0px; left: 1px; right: 1px; bottom: 1px;
75
+ background-image: #{this.getCssFilePath('tab_bg_color.png')};
76
+ }
@@ -0,0 +1,6 @@
1
+ <div class="tab_bg" id="bg#{_ID}">
2
+ <div class="tab_fg"></div>
3
+ </div>
4
+ <div class="tab_label" id="label#{_ID}"></div>
5
+ <div class="tab_label_fill_bg" id="state#{_ID}"></div>
6
+ ${this.tabLabelLeftEdge=12;this.tabLabelRightEdge=9;this.tabLabelHeight=24;this.fontStyle='font-size: 12px; font-weight: bold;';this.tabLabelFillBg=true;}
@@ -0,0 +1,77 @@
1
+ /* tab bar */
2
+ .tab_label {
3
+ position: absolute;
4
+ top: 0px; left: 0px right: 0px; height: 24px;
5
+ cursor: pointer;
6
+ }
7
+
8
+ /* set left and width manually */
9
+ .tab_label .item-fg,
10
+ .tab_label .item-bg {
11
+ position: absolute;
12
+ top: 0px; height: 24px;
13
+ background-repeat: repeat-x;
14
+ }
15
+ .tab_label,
16
+ .tab_label .edge-left,
17
+ .tab_label .edge-right,
18
+ .tab_label .tablabel,
19
+ .tab_label_fill_bg {
20
+ background-repeat: no-repeat;
21
+ background-image: #{this.getCssFilePath('tab_parts1.png')};
22
+ }
23
+ .tab_label_fill_bg {
24
+ position: absolute;
25
+ top: 0px; left: 0px; right: 0px; height: 24px;
26
+ background-position: 0px -96px;
27
+ background-repeat: repeat-x;
28
+ }
29
+
30
+ .tab_label .edge-left {
31
+ position: absolute;
32
+ top: 0px; left: 0px; width: 12px; height: 24px;
33
+ background-position: 0px 0px;
34
+ }
35
+ .tab_label .item-bg .edge-left {
36
+ background-position: -24px 0px;
37
+ }
38
+
39
+ .tab_label .edge-right {
40
+ position: absolute;
41
+ top: 0px; right: 0px; width: 9px; height: 24px;
42
+ background-position: -12px 0px;
43
+ }
44
+ .tab_label .item-bg .edge-right {
45
+ background-position: -36px 0px;
46
+ }
47
+
48
+ .tab_label .tablabel {
49
+ position: absolute;
50
+ top: 0px; left: 12px; right: 9px; height: 24px;
51
+ background-position: 0px -24px;
52
+ background-repeat: repeat-x;
53
+ vertical-align: middle;
54
+ text-align: center;
55
+ color: #000;
56
+ line-height: 26px;
57
+ overflow: hidden;
58
+ text-align: center; vertical-align: middle;
59
+ font-family: Arial, sans-serif;
60
+ font-size: 12px; font-weight: bold;
61
+ color: #333;
62
+ }
63
+ .tab_label .item-bg .tablabel {
64
+ background-position: 0px -48px;
65
+ color: #666;
66
+ }
67
+
68
+ .tab_bg {
69
+ position: absolute;
70
+ top: 24px; left: 0px; right: 0px; bottom: 0px;
71
+ background-image: #{this.getCssFilePath('tab_border_pattern.png')};
72
+ }
73
+ .tab_fg {
74
+ position: absolute;
75
+ top: 0px; left: 1px; right: 1px; bottom: 1px;
76
+ background-image: #{this.getCssFilePath('tab_bg_color.png')};
77
+ }
@@ -0,0 +1,6 @@
1
+ <div class="tab_bg" id="bg#{_ID}">
2
+ <div class="tab_fg"></div>
3
+ </div>
4
+ <div class="tab_label" id="label#{_ID}"></div>
5
+ <div class="tab_label_fill_bg" id="state#{_ID}"></div>
6
+ ${this.tabLabelLeftEdge=12;this.tabLabelRightEdge=9;this.tabLabelHeight=24;this.fontStyle='font-family:Arial,sans-serif;font-size:12px;font-weight:bold;';this.tabLabelFillBg=true;}
File without changes
@@ -0,0 +1,23 @@
1
+ /* Riassence Framework
2
+ * Copyright 2008 Riassence Inc.
3
+ * http://riassence.com/
4
+ *
5
+ * You should have received a copy of the GNU General Public License along
6
+ * with this software package. If not, contact licensing@riassence.com
7
+ */
8
+
9
+ /*** = Description
10
+ ** HTextArea is a scrollable multi-line area that displays editable plain
11
+ ** text.
12
+ **
13
+ ** = Instance variables
14
+ ** +type+:: '[HTextArea]'
15
+ ** +value+:: The string that is currently held by this object.
16
+ ***/
17
+ HTextArea = HTextControl.extend({
18
+
19
+ componentName: "textarea"
20
+
21
+
22
+ });
23
+
@@ -0,0 +1,21 @@
1
+ .default .textarea_input {
2
+ position: absolute;
3
+ display: block;
4
+ font-family: Arial, sans-serif;
5
+ font-size: 13px;
6
+ color: #000;
7
+ background-color: transparent;
8
+ vertical-align: middle;
9
+ border: 0;
10
+ left:0px;top:0px;
11
+ #{(BROWSER_TYPE.firefox||BROWSER_TYPE.ie7||BROWSER_TYPE.ie8||BROWSER_TYPE.opera)?'padding:0;padding-left:2px;width:100% !important;height:100% !important;':BROWSER_TYPE.ie6?'right:2px;bottom:2px;':'padding:2px;right:0px;bottom:0px;width:auto;height:auto;'}
12
+ }
13
+
14
+ .default .disabled .textarea_input {
15
+ #{(BROWSER_TYPE.safari||BROWSER_TYPE.chrome)?'color:#ccc;':'color:#999'}
16
+ }
17
+
18
+ .default .textarea_input_parent {
19
+ position: absolute;
20
+ #{(BROWSER_TYPE.firefox||BROWSER_TYPE.ie7||BROWSER_TYPE.ie8||BROWSER_TYPE.opera)?'left:0;padding-left:1px;top:1px;right:3px;bottom:1px;':BROWSER_TYPE.ie?'left:2px;top:1px;right:1px;bottom:1px;':'left:-2px;top:-2px;right:-2px;bottom:-2px;'}
21
+ }
@@ -0,0 +1,18 @@
1
+ <div class="textcontrol_bg"></div>
2
+
3
+ <div class="textcontrol_n"></div>
4
+ <div class="textcontrol_s"></div>
5
+ <div class="textcontrol_w"></div>
6
+ <div class="textcontrol_e"></div>
7
+
8
+ <div class="textcontrol_nw"></div>
9
+ <div class="textcontrol_ne"></div>
10
+ <div class="textcontrol_se"></div>
11
+ <div class="textcontrol_sw"></div>
12
+
13
+ <div id="label#{_ID}" title="#{this.label}" class="textarea_input_parent">
14
+ <textarea class="textarea_input" style="resize:none;" #{this.enabled?'':'disabled'}
15
+ onfocus="HSystem.views[#{this.viewId}].textFocus();"
16
+ onblur="HSystem.views[#{this.viewId}].textBlur();"
17
+ id="value#{_ID}">#{this.value}</textarea>
18
+ </div>
File without changes
@@ -0,0 +1,372 @@
1
+ /* Riassence Framework
2
+ * Copyright 2006 Riassence Inc.
3
+ * http://riassence.com/
4
+ *
5
+ * You should have received a copy of the GNU General Public License along
6
+ * with this software package. If not, contact licensing@riassence.com
7
+ */
8
+
9
+ /*** = Description
10
+ ** HTextControl is a control unit that represents an editable input
11
+ ** line of text. Commonly, textcontrol is used as a single text field in
12
+ ** the request forms. HTextControl view or theme can be changed; the
13
+ ** default_theme is used by default.
14
+ **
15
+ ** = Instance variables
16
+ ** +type+:: '[HTextControl]'
17
+ ** +value+:: The string that is currently held by this object.
18
+ ***/
19
+ HTextControl = HControl.extend({
20
+
21
+ componentName: "textcontrol",
22
+
23
+ defaultEvents: {
24
+ textEnter: true
25
+ },
26
+
27
+ controlDefaults: (HControlDefaults.extend({
28
+ refreshOnBlur: true,
29
+ refreshOnInput: true
30
+ })),
31
+
32
+ /** = Description
33
+ * The refreshLabel method sets the title property of the text
34
+ * field, essentially creating a tooltip using the label.
35
+ *
36
+ **/
37
+ refreshLabel: function(){
38
+ if(this['markupElemIds']!==undefined){
39
+ if(this.markupElemIds['label']!==undefined){
40
+ ELEM.setAttr(this.markupElemIds.label,'title',this.label);
41
+ }
42
+ }
43
+ },
44
+
45
+ // drawSubviews: function(){
46
+ // if(this['markupElemIds']!==undefined && this.markupElemIds['value']!==undefined) {
47
+ // // this.adjustInputStyle();
48
+ // }
49
+ // this.setEnabled(this.enabled);
50
+ // },
51
+ //
52
+ // /** = Description
53
+ // * Tweaks the input element to fit the match the size properly
54
+ // * in different browsers. Can't be done reliably by using just
55
+ // * the theme css, because some browsers are broken
56
+ // * regarding styling of input elements.
57
+ // *
58
+ // **/
59
+ // adjustInputStyle: function(){
60
+ // var _input = this.markupElemIds.value,
61
+ // _label = this.markupElemIds.label;
62
+ // if(BROWSER_TYPE.firefox){
63
+ // if(this.componentName === 'textarea'){
64
+ // ELEM.setStyle(_input,'padding-top','0px');
65
+ // }
66
+ // else {
67
+ // ELEM.setStyle(_input,'margin-top','1px');
68
+ // }
69
+ // ELEM.setStyle(_input,'padding-left','0px');
70
+ // ELEM.setStyle(_label,'left','2px');
71
+ // ELEM.setStyle(_label,'top','0px');
72
+ // ELEM.setStyle(_label,'right','2px');
73
+ // ELEM.setStyle(_label,'bottom','2px');
74
+ // }
75
+ // else if(BROWSER_TYPE.ie){
76
+ // ELEM.flushLoop();
77
+ // var _size = ELEM.getVisibleSize( this.elemId ),
78
+ // _width = _size[0],
79
+ // _height = _size[1];
80
+ // ELEM.setStyle(_input,'left','2px');
81
+ // ELEM.setStyle(_input,'top','1px');
82
+ // ELEM.setStyle(_input,'padding-top','0px');
83
+ // ELEM.setStyle(_input,'padding-left','0px');
84
+ // ELEM.setStyle(_input,'padding-right','8px');
85
+ // ELEM.setStyle(_input,'padding-bottom','0px');
86
+ // ELEM.setStyle(_input,'width',(_width-10)+'px');
87
+ // ELEM.setStyle(_input,'height',(_height-2)+'px');
88
+ // ELEM.setStyle(_label,'left','0px');
89
+ // ELEM.setStyle(_label,'top','0px');
90
+ // ELEM.setStyle(_label,'right','0px');
91
+ // ELEM.setStyle(_label,'bottom','0px');
92
+ // }
93
+ // },
94
+
95
+ setStyle: function(_name, _value, _cacheOverride) {
96
+ if (!this['markupElemIds']||!this.markupElemIds['value']) {
97
+ return;
98
+ }
99
+ this.setStyleOfPart('value', _name, _value, _cacheOverride);
100
+ },
101
+
102
+ setEnabled: function(_flag) {
103
+ this.base(_flag);
104
+ if(this['markupElemIds'] && this.markupElemIds.value) {
105
+ ELEM.get(this.markupElemIds.value).disabled = !this.enabled;
106
+ }
107
+ },
108
+
109
+ /** This flag is true, when the text input field has focus.
110
+ **/
111
+ hasTextFocus: false,
112
+
113
+ /** = Description
114
+ * Special event for text entry components.
115
+ * Called when the input field gains focus.
116
+ *
117
+ **/
118
+ textFocus: function(){
119
+ this.hasTextFocus = true;
120
+ return true;
121
+ },
122
+
123
+ /** = Description
124
+ * Special event for text entry components.
125
+ * Called when the input field loses focus.
126
+ *
127
+ **/
128
+ textBlur: function(){
129
+ this.hasTextFocus = false;
130
+ if(this.options.refreshOnBlur){
131
+ this.refreshValue();
132
+ }
133
+ return true;
134
+ },
135
+
136
+ /** = Description
137
+ * refreshValue function
138
+ *
139
+ *
140
+ **/
141
+ refreshValue: function(){
142
+ this.setTextFieldValue( this.value );
143
+ },
144
+
145
+ /** = Description
146
+ * Placeholder method for validation of the value.
147
+ *
148
+ **/
149
+ validateText: function(_value){
150
+ return _value;
151
+ },
152
+
153
+ /** = Description
154
+ * Returns the input element or null, if no input element created (yet).
155
+ *
156
+ **/
157
+ getInputElement: function(){
158
+ if( this.markupElemIds && this.markupElemIds.value ){
159
+ return ELEM.get(this.markupElemIds.value);
160
+ }
161
+ return null;
162
+ },
163
+
164
+ /** = Description
165
+ * Returns the value of the input element.
166
+ *
167
+ **/
168
+ getTextFieldValue: function(){
169
+ var _inputElement = this.getInputElement();
170
+ if( _inputElement === null ){
171
+ return '';
172
+ }
173
+ return _inputElement.value;
174
+ },
175
+
176
+ /** = Description
177
+ * Sets the value of the input element.
178
+ *
179
+ * = Parameters
180
+ * +_value+:: The value to set.
181
+ *
182
+ **/
183
+ setTextFieldValue: function(_value){
184
+ var _inputElement = this.getInputElement(),
185
+ _selectionRange = this.getSelectionRange();
186
+ if( _inputElement === null ){
187
+ return;
188
+ }
189
+ if( _inputElement.value !== String(_value) ){
190
+ _inputElement.value = _value;
191
+ }
192
+ this.setSelectionRange( _selectionRange[0], _selectionRange[1] );
193
+ },
194
+
195
+ // returns a random number prefixed and suffixed with '---'
196
+ _randomMarker: function(){
197
+ return '---'+Math.round((1+Math.random())*10000)+'---';
198
+ },
199
+
200
+ /** = Description
201
+ * Returns the selection (or text cursor position) of the input element
202
+ * as an +Array+ like +[ startOffset, endOffset ]+.
203
+ *
204
+ **/
205
+ getSelectionRange: function(){
206
+ var _inputElement = this.getInputElement();
207
+ if( _inputElement === null || this.hasTextFocus === false ){
208
+ return [ 0, 0 ];
209
+ }
210
+ if(document.selection){
211
+ // Internet Explorer
212
+
213
+ var
214
+
215
+ // create a range object
216
+ _range = document.selection.createRange(),
217
+
218
+ // original range text
219
+ _rangeText = _range.text,
220
+ _rangeLength = _rangeText.length,
221
+
222
+ // make a copy of the text and replace \r\n with \n
223
+ _origValue = _inputElement.value.replace(/\r\n/g, "\n"),
224
+
225
+ _markerValue,
226
+ _markerLength,
227
+ _markerIndex,
228
+
229
+ // create random marker to replace the text with
230
+ _marker = this._randomMarker();
231
+
232
+ // re-generate marker if it's found in the text.
233
+ while( _origValue.indexOf( _marker ) !== -1){
234
+ _marker = this._randomMarker();
235
+ }
236
+
237
+ _markerLength = _marker.length;
238
+
239
+ // temporarily set the text of the selection to the unique marker
240
+ _range.text = _marker;
241
+
242
+ _markerValue = _inputElement.value.replace(/\r\n/g, "\n");
243
+
244
+ _range.text = _rangeText;
245
+
246
+ _markerIndex = _markerValue.indexOf( _marker );
247
+
248
+ return [
249
+ _markerIndex,
250
+ _markerIndex + _rangeLength
251
+ ];
252
+ }
253
+ else if (_inputElement.selectionStart){
254
+ // Mozilla - Gecko
255
+ return [
256
+ _inputElement.selectionStart,
257
+ _inputElement.selectionEnd
258
+ ];
259
+ }
260
+ else {
261
+ // no support
262
+ return [ 0, 0 ];
263
+ }
264
+ },
265
+
266
+ /** = Description
267
+ * Sets the selection (or text cursor position) of the input element.
268
+ *
269
+ * = Parameters
270
+ * +_selectionStart+:: The start of the selection (or an Array containing
271
+ * both start and end offset, see below).
272
+ * +_selectionEnd+:: The end offset of the selection.
273
+ *
274
+ * = Note
275
+ * - +_selectionStart+ can also be given as an +Array+
276
+ * like +[ startOffset, endOffset ]+.
277
+ * - If the +_selectionEnd+ is omitted, no selection is made; the text
278
+ * cursor is positioned at the startOffset instead.
279
+ **/
280
+ setSelectionRange: function( _selectionStart, _selectionEnd ){
281
+ if( _selectionStart instanceof Array ){
282
+ _selectionEnd = _selectionStart[1];
283
+ _selectionStart = _selectionStart[0];
284
+ }
285
+ if( _selectionEnd === undefined ){
286
+ _selectionEnd = _selectionStart;
287
+ }
288
+ var _inputElement = this.getInputElement();
289
+ if( _inputElement === null || this.hasTextFocus === false ){
290
+ return;
291
+ }
292
+ if(_inputElement.createTextRange){
293
+ // Internet Explorer
294
+ var _range = _inputElement.createTextRange();
295
+ _range.move( 'character', _selectionStart, _selectionEnd );
296
+ _range.select();
297
+ }
298
+ else if (_inputElement.selectionStart){
299
+ // Mozilla - Gecko
300
+ _inputElement.setSelectionRange( _selectionStart, _selectionEnd );
301
+ }
302
+ },
303
+
304
+ /** = Description
305
+ * Receives the +textEnter+ event to update the value
306
+ * based on what's (potentially) entered in the text input field.
307
+ *
308
+ **/
309
+ textEnter: function(){
310
+ this.setValue(
311
+ this.validateText(
312
+ this.getTextFieldValue()
313
+ )
314
+ );
315
+ if(this.options.refreshOnInput){
316
+ this.refreshValue();
317
+ }
318
+ return false;
319
+ }
320
+
321
+ });
322
+
323
+ /** = Description
324
+ * HNumericTextControl is an extension of HTextControl that
325
+ * validates the input as a number. It supports value ranges.
326
+ *
327
+ * If you need decimal numbers (floating-point), pass the
328
+ * decimalNumber: true option to the constructor.
329
+ **/
330
+ HNumericTextControl = HTextControl.extend({
331
+
332
+ defaultEvents: {
333
+ mouseWheel: true,
334
+ textEnter: true
335
+ },
336
+
337
+ /** Uses the mouseWheel event to step up/down the value.
338
+ **/
339
+ mouseWheel: function(_delta){
340
+ var _value = this.value;
341
+ _value = _value-((_delta<0)?1:-1);
342
+ this.setValue(Math.round(this.validateText(_value)));
343
+ },
344
+
345
+ /** = Description
346
+ * Extends the validateText method to ensure the
347
+ * input is a number.
348
+ *
349
+ **/
350
+ validateText: function(_value){
351
+ if(this.options.decimalNumber){
352
+ _value = parseFloat(_value);
353
+ }
354
+ else{
355
+ _value = parseInt(_value,10);
356
+ }
357
+ if(isNaN(_value)){
358
+ _value = this.value;
359
+ }
360
+ if(_value>this.options.maxValue){
361
+ _value = this.options.maxValue;
362
+ }
363
+ else if(_value<this.options.minValue){
364
+ _value = this.options.minValue;
365
+ }
366
+ return _value;
367
+ }
368
+
369
+ });
370
+
371
+
372
+