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