rsence 2.0.0.0.pre

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.
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
+