activeldap 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (319) hide show
  1. data/CHANGES +6 -0
  2. data/README +1 -0
  3. data/lib/active_ldap/get_text_support.rb +3 -1
  4. data/lib/active_ldap.rb +1 -1
  5. metadata +5 -321
  6. data/examples/al-admin/README +0 -182
  7. data/examples/al-admin/Rakefile +0 -16
  8. data/examples/al-admin/app/controllers/account_controller.rb +0 -60
  9. data/examples/al-admin/app/controllers/application_controller.rb +0 -46
  10. data/examples/al-admin/app/controllers/attributes_controller.rb +0 -17
  11. data/examples/al-admin/app/controllers/directory_controller.rb +0 -49
  12. data/examples/al-admin/app/controllers/object_classes_controller.rb +0 -17
  13. data/examples/al-admin/app/controllers/syntaxes_controller.rb +0 -17
  14. data/examples/al-admin/app/controllers/users_controller.rb +0 -66
  15. data/examples/al-admin/app/controllers/welcome_controller.rb +0 -12
  16. data/examples/al-admin/app/helpers/account_helper.rb +0 -2
  17. data/examples/al-admin/app/helpers/application_helper.rb +0 -46
  18. data/examples/al-admin/app/helpers/attributes_helper.rb +0 -15
  19. data/examples/al-admin/app/helpers/directory_helper.rb +0 -7
  20. data/examples/al-admin/app/helpers/object_classes_helper.rb +0 -10
  21. data/examples/al-admin/app/helpers/syntaxes_helper.rb +0 -10
  22. data/examples/al-admin/app/helpers/url_helper.rb +0 -17
  23. data/examples/al-admin/app/helpers/users_helper.rb +0 -17
  24. data/examples/al-admin/app/helpers/welcome_helper.rb +0 -2
  25. data/examples/al-admin/app/models/entry.rb +0 -23
  26. data/examples/al-admin/app/models/ldap_user.rb +0 -58
  27. data/examples/al-admin/app/models/user.rb +0 -91
  28. data/examples/al-admin/app/views/_entry/_attributes_information.html.erb +0 -29
  29. data/examples/al-admin/app/views/_entry/_entry.html.erb +0 -15
  30. data/examples/al-admin/app/views/_schema/_aliases.html.erb +0 -7
  31. data/examples/al-admin/app/views/_switcher/_after.html.erb +0 -2
  32. data/examples/al-admin/app/views/_switcher/_before.html.erb +0 -5
  33. data/examples/al-admin/app/views/account/login.html.erb +0 -26
  34. data/examples/al-admin/app/views/account/sign_up.html.erb +0 -29
  35. data/examples/al-admin/app/views/attributes/_attributes.html.erb +0 -19
  36. data/examples/al-admin/app/views/attributes/_detail.html.erb +0 -29
  37. data/examples/al-admin/app/views/attributes/index.html.erb +0 -3
  38. data/examples/al-admin/app/views/attributes/show.html.erb +0 -31
  39. data/examples/al-admin/app/views/directory/_tree.html.erb +0 -10
  40. data/examples/al-admin/app/views/directory/_tree_view_js.html.erb +0 -25
  41. data/examples/al-admin/app/views/directory/index.html.erb +0 -13
  42. data/examples/al-admin/app/views/directory/populate.html.erb +0 -2
  43. data/examples/al-admin/app/views/layouts/_footer.html.erb +0 -11
  44. data/examples/al-admin/app/views/layouts/_header_menu.html.erb +0 -10
  45. data/examples/al-admin/app/views/layouts/_main_menu.html.erb +0 -18
  46. data/examples/al-admin/app/views/layouts/application.html.erb +0 -57
  47. data/examples/al-admin/app/views/object_classes/_attributes.html.erb +0 -28
  48. data/examples/al-admin/app/views/object_classes/_object_classes.html.erb +0 -19
  49. data/examples/al-admin/app/views/object_classes/index.html.erb +0 -3
  50. data/examples/al-admin/app/views/object_classes/show.html.erb +0 -39
  51. data/examples/al-admin/app/views/syntaxes/_detail.html.erb +0 -14
  52. data/examples/al-admin/app/views/syntaxes/_syntaxes.html.erb +0 -19
  53. data/examples/al-admin/app/views/syntaxes/index.html.erb +0 -3
  54. data/examples/al-admin/app/views/syntaxes/show.html.erb +0 -22
  55. data/examples/al-admin/app/views/users/_attributes_update_form.html.erb +0 -42
  56. data/examples/al-admin/app/views/users/_form.html.erb +0 -13
  57. data/examples/al-admin/app/views/users/_object_classes_update_form.html.erb +0 -46
  58. data/examples/al-admin/app/views/users/_password_change_form.html.erb +0 -20
  59. data/examples/al-admin/app/views/users/edit.html.erb +0 -15
  60. data/examples/al-admin/app/views/users/index.html.erb +0 -10
  61. data/examples/al-admin/app/views/users/show.html.erb +0 -11
  62. data/examples/al-admin/app/views/welcome/index.html.erb +0 -13
  63. data/examples/al-admin/config/boot.rb +0 -110
  64. data/examples/al-admin/config/database.yml.example +0 -19
  65. data/examples/al-admin/config/environment.rb +0 -73
  66. data/examples/al-admin/config/environments/development.rb +0 -17
  67. data/examples/al-admin/config/environments/production.rb +0 -24
  68. data/examples/al-admin/config/environments/test.rb +0 -22
  69. data/examples/al-admin/config/initializers/exception_notifier.rb +0 -2
  70. data/examples/al-admin/config/initializers/fast_gettext.rb +0 -3
  71. data/examples/al-admin/config/initializers/inflections.rb +0 -10
  72. data/examples/al-admin/config/initializers/mime_types.rb +0 -5
  73. data/examples/al-admin/config/initializers/session_store.rb +0 -23
  74. data/examples/al-admin/config/ldap.yml.example +0 -21
  75. data/examples/al-admin/config/routes.rb +0 -58
  76. data/examples/al-admin/config/session_secret.txt +0 -1
  77. data/examples/al-admin/config.ru +0 -7
  78. data/examples/al-admin/db/migrate/001_create_users.rb +0 -16
  79. data/examples/al-admin/db/schema.rb +0 -23
  80. data/examples/al-admin/lib/authenticated_system.rb +0 -124
  81. data/examples/al-admin/lib/authenticated_test_helper.rb +0 -113
  82. data/examples/al-admin/lib/ldap_test_helper.rb +0 -38
  83. data/examples/al-admin/lib/tasks/testing.rake +0 -10
  84. data/examples/al-admin/po/en/al-admin.po +0 -343
  85. data/examples/al-admin/po/ja/al-admin.po +0 -343
  86. data/examples/al-admin/po/nl/al-admin.po +0 -380
  87. data/examples/al-admin/public/.htaccess +0 -40
  88. data/examples/al-admin/public/404.html +0 -30
  89. data/examples/al-admin/public/500.html +0 -30
  90. data/examples/al-admin/public/dispatch.cgi +0 -10
  91. data/examples/al-admin/public/dispatch.fcgi +0 -24
  92. data/examples/al-admin/public/dispatch.rb +0 -10
  93. data/examples/al-admin/public/favicon.ico +0 -0
  94. data/examples/al-admin/public/images/active-ldap.svg +0 -6351
  95. data/examples/al-admin/public/images/al-admin.png +0 -0
  96. data/examples/al-admin/public/images/al-admin.svg +0 -6371
  97. data/examples/al-admin/public/images/header-background.png +0 -0
  98. data/examples/al-admin/public/images/header-background.svg +0 -99
  99. data/examples/al-admin/public/images/rails.png +0 -0
  100. data/examples/al-admin/public/images/spinelz/accordion_tab_left_active.gif +0 -0
  101. data/examples/al-admin/public/images/spinelz/accordion_tab_left_inactive.gif +0 -0
  102. data/examples/al-admin/public/images/spinelz/accordion_tab_middle_active.gif +0 -0
  103. data/examples/al-admin/public/images/spinelz/accordion_tab_middle_inactive.gif +0 -0
  104. data/examples/al-admin/public/images/spinelz/accordion_tab_right_active.gif +0 -0
  105. data/examples/al-admin/public/images/spinelz/accordion_tab_right_inactive.gif +0 -0
  106. data/examples/al-admin/public/images/spinelz/balloon_back.gif +0 -0
  107. data/examples/al-admin/public/images/spinelz/balloon_bottom_left.gif +0 -0
  108. data/examples/al-admin/public/images/spinelz/balloon_bottom_middle.gif +0 -0
  109. data/examples/al-admin/public/images/spinelz/balloon_bottom_right.gif +0 -0
  110. data/examples/al-admin/public/images/spinelz/balloon_left_down_arrow.gif +0 -0
  111. data/examples/al-admin/public/images/spinelz/balloon_left_up_arrow.gif +0 -0
  112. data/examples/al-admin/public/images/spinelz/balloon_middle_left.gif +0 -0
  113. data/examples/al-admin/public/images/spinelz/balloon_middle_right.gif +0 -0
  114. data/examples/al-admin/public/images/spinelz/balloon_right_down_arrow.gif +0 -0
  115. data/examples/al-admin/public/images/spinelz/balloon_right_up_arrow.gif +0 -0
  116. data/examples/al-admin/public/images/spinelz/balloon_top_left.gif +0 -0
  117. data/examples/al-admin/public/images/spinelz/balloon_top_middle.gif +0 -0
  118. data/examples/al-admin/public/images/spinelz/balloon_top_right.gif +0 -0
  119. data/examples/al-admin/public/images/spinelz/barchart_h.gif +0 -0
  120. data/examples/al-admin/public/images/spinelz/barchart_v.gif +0 -0
  121. data/examples/al-admin/public/images/spinelz/button.gif +0 -0
  122. data/examples/al-admin/public/images/spinelz/calendar_default_handler.gif +0 -0
  123. data/examples/al-admin/public/images/spinelz/calendar_delete.gif +0 -0
  124. data/examples/al-admin/public/images/spinelz/calendar_next.gif +0 -0
  125. data/examples/al-admin/public/images/spinelz/calendar_next_second.gif +0 -0
  126. data/examples/al-admin/public/images/spinelz/calendar_pre.gif +0 -0
  127. data/examples/al-admin/public/images/spinelz/calendar_pre_second.gif +0 -0
  128. data/examples/al-admin/public/images/spinelz/calendar_private_icon.gif +0 -0
  129. data/examples/al-admin/public/images/spinelz/calendar_schedule.gif +0 -0
  130. data/examples/al-admin/public/images/spinelz/calender_back.gif +0 -0
  131. data/examples/al-admin/public/images/spinelz/calender_back_second.gif +0 -0
  132. data/examples/al-admin/public/images/spinelz/datepicker2_back.gif +0 -0
  133. data/examples/al-admin/public/images/spinelz/datepicker2_back_second.gif +0 -0
  134. data/examples/al-admin/public/images/spinelz/datepicker2_next.gif +0 -0
  135. data/examples/al-admin/public/images/spinelz/datepicker2_next_second.gif +0 -0
  136. data/examples/al-admin/public/images/spinelz/datepicker2_pre.gif +0 -0
  137. data/examples/al-admin/public/images/spinelz/datepicker2_pre_second.gif +0 -0
  138. data/examples/al-admin/public/images/spinelz/datepicker_back.gif +0 -0
  139. data/examples/al-admin/public/images/spinelz/datepicker_back_second.gif +0 -0
  140. data/examples/al-admin/public/images/spinelz/datepicker_next.gif +0 -0
  141. data/examples/al-admin/public/images/spinelz/datepicker_next_second.gif +0 -0
  142. data/examples/al-admin/public/images/spinelz/datepicker_pre.gif +0 -0
  143. data/examples/al-admin/public/images/spinelz/datepicker_pre_second.gif +0 -0
  144. data/examples/al-admin/public/images/spinelz/grid_down.gif +0 -0
  145. data/examples/al-admin/public/images/spinelz/grid_state.gif +0 -0
  146. data/examples/al-admin/public/images/spinelz/grid_up.gif +0 -0
  147. data/examples/al-admin/public/images/spinelz/icon_day.gif +0 -0
  148. data/examples/al-admin/public/images/spinelz/icon_month.gif +0 -0
  149. data/examples/al-admin/public/images/spinelz/icon_week.gif +0 -0
  150. data/examples/al-admin/public/images/spinelz/menubar_back.gif +0 -0
  151. data/examples/al-admin/public/images/spinelz/menubar_subcontents_back.gif +0 -0
  152. data/examples/al-admin/public/images/spinelz/navPanel_tab_left_active.gif +0 -0
  153. data/examples/al-admin/public/images/spinelz/navPanel_tab_left_inactive.gif +0 -0
  154. data/examples/al-admin/public/images/spinelz/navPanel_tab_middle_active.gif +0 -0
  155. data/examples/al-admin/public/images/spinelz/navPanel_tab_middle_inactive.gif +0 -0
  156. data/examples/al-admin/public/images/spinelz/navPanel_tab_right_active.gif +0 -0
  157. data/examples/al-admin/public/images/spinelz/navPanel_tab_right_inactive.gif +0 -0
  158. data/examples/al-admin/public/images/spinelz/select_date.gif +0 -0
  159. data/examples/al-admin/public/images/spinelz/selectabletable_selected.gif +0 -0
  160. data/examples/al-admin/public/images/spinelz/sideBarBox_about.gif +0 -0
  161. data/examples/al-admin/public/images/spinelz/sideBarBox_menu.gif +0 -0
  162. data/examples/al-admin/public/images/spinelz/sideBarBox_sample.gif +0 -0
  163. data/examples/al-admin/public/images/spinelz/sideBarBox_tabBottomActive.gif +0 -0
  164. data/examples/al-admin/public/images/spinelz/sideBarBox_tabBottomInactive.gif +0 -0
  165. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleActive.gif +0 -0
  166. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleActive2.gif +0 -0
  167. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleInactive.gif +0 -0
  168. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleInactive2.gif +0 -0
  169. data/examples/al-admin/public/images/spinelz/sideBarBox_tabTopActive.gif +0 -0
  170. data/examples/al-admin/public/images/spinelz/sideBarBox_tabTopInactive.gif +0 -0
  171. data/examples/al-admin/public/images/spinelz/sideBarBox_tabbar.gif +0 -0
  172. data/examples/al-admin/public/images/spinelz/sortableTable_down.gif +0 -0
  173. data/examples/al-admin/public/images/spinelz/sortableTable_normal.gif +0 -0
  174. data/examples/al-admin/public/images/spinelz/sortableTable_up.gif +0 -0
  175. data/examples/al-admin/public/images/spinelz/switcher_close.gif +0 -0
  176. data/examples/al-admin/public/images/spinelz/switcher_open.gif +0 -0
  177. data/examples/al-admin/public/images/spinelz/tabBox_close.gif +0 -0
  178. data/examples/al-admin/public/images/spinelz/tabBox_tabLeftActive.gif +0 -0
  179. data/examples/al-admin/public/images/spinelz/tabBox_tabLeftInactive.gif +0 -0
  180. data/examples/al-admin/public/images/spinelz/tabBox_tabMiddleActive.gif +0 -0
  181. data/examples/al-admin/public/images/spinelz/tabBox_tabMiddleInactive.gif +0 -0
  182. data/examples/al-admin/public/images/spinelz/tabBox_tabRightActive.gif +0 -0
  183. data/examples/al-admin/public/images/spinelz/tabBox_tabRightInactive.gif +0 -0
  184. data/examples/al-admin/public/images/spinelz/tab_bar.gif +0 -0
  185. data/examples/al-admin/public/images/spinelz/table_back.gif +0 -0
  186. data/examples/al-admin/public/images/spinelz/timepicker_clock.gif +0 -0
  187. data/examples/al-admin/public/images/spinelz/toolbar_close.gif +0 -0
  188. data/examples/al-admin/public/images/spinelz/toolbar_left.gif +0 -0
  189. data/examples/al-admin/public/images/spinelz/toolbar_max.gif +0 -0
  190. data/examples/al-admin/public/images/spinelz/toolbar_middle.gif +0 -0
  191. data/examples/al-admin/public/images/spinelz/toolbar_min.gif +0 -0
  192. data/examples/al-admin/public/images/spinelz/toolbar_next.gif +0 -0
  193. data/examples/al-admin/public/images/spinelz/toolbar_right.gif +0 -0
  194. data/examples/al-admin/public/images/spinelz/treeview_dir.gif +0 -0
  195. data/examples/al-admin/public/images/spinelz/treeview_file.gif +0 -0
  196. data/examples/al-admin/public/images/spinelz/treeview_group.gif +0 -0
  197. data/examples/al-admin/public/images/spinelz/treeview_group_special.gif +0 -0
  198. data/examples/al-admin/public/images/spinelz/treeview_state.gif +0 -0
  199. data/examples/al-admin/public/images/spinelz/treeview_user.gif +0 -0
  200. data/examples/al-admin/public/images/spinelz/window_bottom_left.gif +0 -0
  201. data/examples/al-admin/public/images/spinelz/window_bottom_middle.gif +0 -0
  202. data/examples/al-admin/public/images/spinelz/window_bottom_right.gif +0 -0
  203. data/examples/al-admin/public/images/spinelz/window_close.gif +0 -0
  204. data/examples/al-admin/public/images/spinelz/window_max.gif +0 -0
  205. data/examples/al-admin/public/images/spinelz/window_middle_left.gif +0 -0
  206. data/examples/al-admin/public/images/spinelz/window_middle_right.gif +0 -0
  207. data/examples/al-admin/public/images/spinelz/window_min.gif +0 -0
  208. data/examples/al-admin/public/images/spinelz/window_top_left.gif +0 -0
  209. data/examples/al-admin/public/images/spinelz/window_top_middle.gif +0 -0
  210. data/examples/al-admin/public/images/spinelz/window_top_right.gif +0 -0
  211. data/examples/al-admin/public/javascripts/application.js +0 -2
  212. data/examples/al-admin/public/javascripts/controls.js +0 -963
  213. data/examples/al-admin/public/javascripts/dragdrop.js +0 -973
  214. data/examples/al-admin/public/javascripts/effects.js +0 -1128
  215. data/examples/al-admin/public/javascripts/prototype.js +0 -4320
  216. data/examples/al-admin/public/javascripts/spinelz/accordion.js +0 -185
  217. data/examples/al-admin/public/javascripts/spinelz/ajaxHistory.js +0 -157
  218. data/examples/al-admin/public/javascripts/spinelz/balloon.js +0 -287
  219. data/examples/al-admin/public/javascripts/spinelz/barchart.js +0 -524
  220. data/examples/al-admin/public/javascripts/spinelz/calendar.js +0 -3012
  221. data/examples/al-admin/public/javascripts/spinelz/colorpicker.js +0 -128
  222. data/examples/al-admin/public/javascripts/spinelz/datepicker.js +0 -438
  223. data/examples/al-admin/public/javascripts/spinelz/grid.js +0 -1391
  224. data/examples/al-admin/public/javascripts/spinelz/grid_resizeEx.js +0 -100
  225. data/examples/al-admin/public/javascripts/spinelz/grid_sortabletableEx.js +0 -129
  226. data/examples/al-admin/public/javascripts/spinelz/inplaceEditorEx.js +0 -148
  227. data/examples/al-admin/public/javascripts/spinelz/menubar.js +0 -232
  228. data/examples/al-admin/public/javascripts/spinelz/navPanel.js +0 -170
  229. data/examples/al-admin/public/javascripts/spinelz/selectableTable.js +0 -433
  230. data/examples/al-admin/public/javascripts/spinelz/sideBarBox.js +0 -282
  231. data/examples/al-admin/public/javascripts/spinelz/sideBarBox_effects.js +0 -83
  232. data/examples/al-admin/public/javascripts/spinelz/sortableTable.js +0 -270
  233. data/examples/al-admin/public/javascripts/spinelz/switcher.js +0 -78
  234. data/examples/al-admin/public/javascripts/spinelz/tabBox.js +0 -469
  235. data/examples/al-admin/public/javascripts/spinelz/timepicker.js +0 -384
  236. data/examples/al-admin/public/javascripts/spinelz/toolbar.js +0 -152
  237. data/examples/al-admin/public/javascripts/spinelz/treeview.js +0 -703
  238. data/examples/al-admin/public/javascripts/spinelz/window.js +0 -641
  239. data/examples/al-admin/public/javascripts/spinelz/window_resizeEx.js +0 -130
  240. data/examples/al-admin/public/javascripts/spinelz_lib/builder.js +0 -131
  241. data/examples/al-admin/public/javascripts/spinelz_lib/controls.js +0 -835
  242. data/examples/al-admin/public/javascripts/spinelz_lib/dragdrop.js +0 -944
  243. data/examples/al-admin/public/javascripts/spinelz_lib/effects.js +0 -1090
  244. data/examples/al-admin/public/javascripts/spinelz_lib/json.js +0 -139
  245. data/examples/al-admin/public/javascripts/spinelz_lib/prototype.js +0 -2515
  246. data/examples/al-admin/public/javascripts/spinelz_lib/resize.js +0 -215
  247. data/examples/al-admin/public/javascripts/spinelz_lib/scriptaculous.js +0 -51
  248. data/examples/al-admin/public/javascripts/spinelz_lib/slider.js +0 -278
  249. data/examples/al-admin/public/javascripts/spinelz_lib/spinelz_util.js +0 -1266
  250. data/examples/al-admin/public/javascripts/spinelz_lib/unittest.js +0 -564
  251. data/examples/al-admin/public/robots.txt +0 -1
  252. data/examples/al-admin/public/stylesheets/account.css +0 -41
  253. data/examples/al-admin/public/stylesheets/attributes.css +0 -1
  254. data/examples/al-admin/public/stylesheets/base.css +0 -104
  255. data/examples/al-admin/public/stylesheets/detail.css +0 -36
  256. data/examples/al-admin/public/stylesheets/directory.css +0 -22
  257. data/examples/al-admin/public/stylesheets/object-classes.css +0 -6
  258. data/examples/al-admin/public/stylesheets/rails.css +0 -35
  259. data/examples/al-admin/public/stylesheets/spinelz/accordion.css +0 -59
  260. data/examples/al-admin/public/stylesheets/spinelz/balloon.css +0 -151
  261. data/examples/al-admin/public/stylesheets/spinelz/calendar.css +0 -564
  262. data/examples/al-admin/public/stylesheets/spinelz/datepicker.css +0 -175
  263. data/examples/al-admin/public/stylesheets/spinelz/grid.css +0 -137
  264. data/examples/al-admin/public/stylesheets/spinelz/menubar.css +0 -78
  265. data/examples/al-admin/public/stylesheets/spinelz/modal.css +0 -22
  266. data/examples/al-admin/public/stylesheets/spinelz/navPanel.css +0 -58
  267. data/examples/al-admin/public/stylesheets/spinelz/selectableTable.css +0 -28
  268. data/examples/al-admin/public/stylesheets/spinelz/sideBarBox.css +0 -82
  269. data/examples/al-admin/public/stylesheets/spinelz/sortableTable.css +0 -51
  270. data/examples/al-admin/public/stylesheets/spinelz/switcher.css +0 -23
  271. data/examples/al-admin/public/stylesheets/spinelz/tabBox.css +0 -94
  272. data/examples/al-admin/public/stylesheets/spinelz/timepicker.css +0 -508
  273. data/examples/al-admin/public/stylesheets/spinelz/toolbar.css +0 -82
  274. data/examples/al-admin/public/stylesheets/spinelz/treeview.css +0 -121
  275. data/examples/al-admin/public/stylesheets/spinelz/window.css +0 -140
  276. data/examples/al-admin/public/stylesheets/structure.css +0 -81
  277. data/examples/al-admin/public/stylesheets/syntaxes.css +0 -1
  278. data/examples/al-admin/public/stylesheets/users.css +0 -13
  279. data/examples/al-admin/public/stylesheets/welcome.css +0 -0
  280. data/examples/al-admin/script/about +0 -3
  281. data/examples/al-admin/script/console +0 -3
  282. data/examples/al-admin/script/dbconsole +0 -3
  283. data/examples/al-admin/script/destroy +0 -3
  284. data/examples/al-admin/script/generate +0 -3
  285. data/examples/al-admin/script/performance/benchmarker +0 -3
  286. data/examples/al-admin/script/performance/profiler +0 -3
  287. data/examples/al-admin/script/performance/request +0 -3
  288. data/examples/al-admin/script/plugin +0 -3
  289. data/examples/al-admin/script/process/inspector +0 -3
  290. data/examples/al-admin/script/process/reaper +0 -3
  291. data/examples/al-admin/script/process/spawner +0 -3
  292. data/examples/al-admin/script/runner +0 -3
  293. data/examples/al-admin/script/server +0 -3
  294. data/examples/al-admin/test/fixtures/users.yml +0 -9
  295. data/examples/al-admin/test/functional/account_controller_test.rb +0 -12
  296. data/examples/al-admin/test/functional/attributes_controller_test.rb +0 -8
  297. data/examples/al-admin/test/functional/directory_controller_test.rb +0 -8
  298. data/examples/al-admin/test/functional/object_classes_controller_test.rb +0 -8
  299. data/examples/al-admin/test/functional/syntaxes_controller_test.rb +0 -8
  300. data/examples/al-admin/test/functional/users_controller_test.rb +0 -8
  301. data/examples/al-admin/test/functional/welcome_controller_test.rb +0 -8
  302. data/examples/al-admin/test/integration/sign_up_test.rb +0 -44
  303. data/examples/al-admin/test/run-test.sh +0 -3
  304. data/examples/al-admin/test/test_helper.rb +0 -52
  305. data/examples/al-admin/test/unit/user_test.rb +0 -12
  306. data/examples/al-admin/vendor/plugins/exception_notification/README +0 -111
  307. data/examples/al-admin/vendor/plugins/exception_notification/init.rb +0 -1
  308. data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifiable.rb +0 -99
  309. data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier.rb +0 -66
  310. data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier_helper.rb +0 -78
  311. data/examples/al-admin/vendor/plugins/exception_notification/test/exception_notifier_helper_test.rb +0 -61
  312. data/examples/al-admin/vendor/plugins/exception_notification/test/test_helper.rb +0 -7
  313. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_backtrace.rhtml +0 -1
  314. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_environment.rhtml +0 -7
  315. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_inspect_model.rhtml +0 -16
  316. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_request.rhtml +0 -4
  317. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_session.rhtml +0 -2
  318. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_title.rhtml +0 -3
  319. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/exception_notification.rhtml +0 -6
@@ -1,170 +0,0 @@
1
- // Copyright (c) 2005 spinelz.org (http://script.spinelz.org/)
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining
4
- // a copy of this software and associated documentation files (the
5
- // "Software"), to deal in the Software without restriction, including
6
- // without limitation the rights to use, copy, modify, merge, publish,
7
- // distribute, sublicense, and/or sell copies of the Software, and to
8
- // permit persons to whom the Software is furnished to do so, subject to
9
- // the following conditions:
10
- //
11
- // The above copyright notice and this permission notice shall be
12
- // included in all copies or substantial portions of the Software.
13
- //
14
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- NavPanel = Class.create();
23
- NavPanel.className = {
24
- navPanel : 'navPanel',
25
- panel: 'navPanel_panel',
26
- tab : 'navPanel_tab',
27
- tabLeftInactive : 'navPanel_tabLeftInactive',
28
- tabLeftActive: 'navPanel_tabLeftActive',
29
- tabMiddleInactive : 'navPanel_tabMiddleInactive',
30
- tabMiddleActive : 'navPanel_tabMiddleActive',
31
- tabRightInactive : 'navPanel_tabRightInactive',
32
- tabRightActive : 'navPanel_tabRightActive'
33
- }
34
- NavPanel.prototype = {
35
-
36
- initialize: function(element) {
37
- var options = Object.extend({
38
- selected: 1,
39
- cssPrefix: 'custom_'
40
- }, arguments[1] || {});
41
-
42
- this.options = options;
43
- this.element = $(element);
44
- Element.setStyle(this.element, {visibility: 'hidden'});
45
- Element.hide(this.element);
46
-
47
- var customCss = CssUtil.appendPrefix(this.options.cssPrefix, NavPanel.className);
48
- this.classNames = new CssUtil([NavPanel.className, customCss]);
49
-
50
- this.classNames.addClassNames(this.element, 'navPanel');
51
-
52
- this.selected = (this.options.selected > 0) ? this.options.selected - 1 : 0 ;
53
- this.start();
54
-
55
- Element.setStyle(this.element, {visibility: 'visible'});
56
- Element.show(this.element);
57
- },
58
-
59
- start: function() {
60
- this.tabs = [];
61
- this.panels = [];
62
- this.panelList = [];
63
-
64
- this.tabId = this.element.id + '_tab';
65
- this.tabLeftId = this.tabId + '_left';
66
- this.tabMiddleId = this.tabId + '_middle';
67
- this.tabRightId = this.tabId + '_right';
68
- this.panelId = this.element.id + '_panel';
69
-
70
- this.build();
71
- },
72
-
73
- build: function() {
74
- Element.cleanWhitespace(this.element);
75
- this.panelList = this.element.childNodes;
76
-
77
- for (var i = 0; i < this.panelList.length; i++) {
78
- if (this.panelList[i].nodeType != 1) {
79
- Element.remove(this.panelList[i]);
80
- i--;
81
- continue;
82
- }
83
- Element.cleanWhitespace(this.panelList[i]);
84
- var navSet = this.panelList[i].childNodes;
85
- this.buildTab(navSet[0], i);
86
- this.buildPanel(navSet[0], i);
87
- }
88
- this.selectTab();
89
- },
90
-
91
-
92
- buildTab: function(tabTitle, i) {
93
- var tab = Builder.node('div', {id:this.tabId + i});
94
- this.classNames.addClassNames(tab, 'tab');
95
- var tabLeft = Builder.node('div', {id:this.tabLeftId + i});
96
- var tabMiddle = Builder.node('div', {id:this.tabMiddleId + i});
97
- tabMiddle.appendChild(tabTitle);
98
- var tabRight = Builder.node('div',{id:this.tabRightId + i});
99
-
100
- tab.appendChild(tabLeft);
101
- tab.appendChild(tabMiddle);
102
- tab.appendChild(tabRight);
103
- Event.observe(tab, 'click', this.selectTab.bindAsEventListener(this));
104
-
105
- this.tabs[i] = tab;
106
- this.setTabInactive(tab);
107
- this.panelList[i].appendChild(tab);
108
- },
109
-
110
- buildPanel: function(panelContent, i) {
111
- var panel = Builder.node('div', {id:this.panelId + i});
112
- this.classNames.addClassNames(panel, 'panel');
113
- panel.appendChild(panelContent);
114
- Element.hide(panel);
115
- this.panels[i] = panel;
116
- this.panelList[i].appendChild(panel);
117
- },
118
-
119
- selectTab: function(e) {
120
- if (!e) {
121
- if (!this.panels[this.selected]) this.selected = 0;
122
- Element.show(this.panels[this.selected]);
123
- this.setTabActive(this.tabs[this.selected]);
124
- return;
125
- }
126
-
127
- var targetElement = Event.element(e);
128
- var targetIndex = this.getTargetIndex(targetElement);
129
- if (targetIndex == this.selected) {
130
- return;
131
- }
132
-
133
- var currentPanel = this.panels[this.selected];
134
- var targetPanel = this.panels[targetIndex];
135
- this.setTabInactive(this.tabs[this.selected]);
136
- this.setTabActive(this.tabs[targetIndex]);
137
- Element.show(targetPanel);
138
- Element.hide(currentPanel);
139
- this.selected = targetIndex;
140
- },
141
-
142
- setTabActive: function(tab) {
143
- var tabChildren = tab.childNodes;
144
-
145
- this.classNames.refreshClassNames(tabChildren[0], 'tabLeftActive');
146
- this.classNames.refreshClassNames(tabChildren[1], 'tabMiddleActive');
147
- this.classNames.refreshClassNames(tabChildren[2], 'tabRightActive');
148
- },
149
-
150
- setTabInactive: function(tab) {
151
- var tabChildren = tab.childNodes;
152
-
153
- this.classNames.refreshClassNames(tabChildren[0], 'tabLeftInactive');
154
- this.classNames.refreshClassNames(tabChildren[1], 'tabMiddleInactive');
155
- this.classNames.refreshClassNames(tabChildren[2], 'tabRightInactive');
156
- },
157
-
158
- getTargetIndex: function(element) {
159
-
160
- while(element) {
161
- if (element.id && element.id.indexOf(this.tabId, 0) >= 0) {
162
- var index = element.id.substring(this.tabId.length);
163
- if (!isNaN(index)) {
164
- return index;
165
- }
166
- }
167
- element = element.parentNode;
168
- }
169
- }
170
- }
@@ -1,433 +0,0 @@
1
- // Copyright (c) 2005 spinelz.org (http://script.spinelz.org/)
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining
4
- // a copy of this software and associated documentation files (the
5
- // "Software"), to deal in the Software without restriction, including
6
- // without limitation the rights to use, copy, modify, merge, publish,
7
- // distribute, sublicense, and/or sell copies of the Software, and to
8
- // permit persons to whom the Software is furnished to do so, subject to
9
- // the following conditions:
10
- //
11
- // The above copyright notice and this permission notice shall be
12
- // included in all copies or substantial portions of the Software.
13
- //
14
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- var SelectableTable = Class.create();
23
-
24
- SelectableTable.classNames = {
25
- table: 'selectableTable_table',
26
- tr: 'selectableTable_tr',
27
- trHover: 'selectableTable_trHover',
28
- trSelected: 'selectableTable_trSelected'
29
- };
30
-
31
- SelectableTable.prototype = {
32
- initialize: function(element) {
33
- this.element = $(element);
34
- Element.setStyle(this.element, {visibility: 'hidden'});
35
- var defaultOptions = {
36
- arrayDefaultData: [],
37
- flagAllowUnselect: true,
38
- flagInitialAllowMultiple: false,
39
- flagKeypressAvailable: false,
40
- flagKeypressDeleteAvailable: false,
41
- flagKeypressInsertAvailable: false,
42
- functionClickCallback: Prototype.emptyFunction,
43
- functionDoubleClickCallback: Prototype.emptyFunction,
44
- functionPostAdd: Prototype.emptyFunction,
45
- functionPostBuild: Prototype.emptyFunction,
46
- functionPostDelete: Prototype.emptyFunction,
47
- functionPostPressLeft: Prototype.emptyFunction,
48
- functionPostPressRight: Prototype.emptyFunction,
49
- functionPostSelect: Prototype.emptyFunction,
50
- functionPostUnselect: Prototype.emptyFunction,
51
- functionPreAdd: function() {return true;},
52
- functionPreDelete: function() {return true;},
53
- functionSubmit: Prototype.emptyFunction,
54
- initialSelected: null,
55
- prefixTrId: 'selectable_table_',
56
- prefixCSS: 'custom_'
57
- }
58
- this.options = Object.extend(defaultOptions, arguments[1] || {});
59
- this.classNames = new CssUtil([SelectableTable.classNames, CssUtil.appendPrefix(this.options.prefixCSS, SelectableTable.classNames)]);
60
- this.flagAllowMultiple = this.options.flagInitialAllowMultiple;
61
- this.flagAvailable = true;
62
- this.focused = null;
63
- this.lastSelected = null;
64
- this.newNumber = 1;
65
- this.selected = new Object();
66
- this.build();
67
- if(arguments[2]) {
68
- this.selectEffect(this.buildTrId(arguments[2]));
69
- }
70
- Element.setStyle(this.element, {visibility: 'visible'});
71
- },
72
- add: function() {
73
- if(!this.flagAvailable) {return;}
74
- if(!this.options.functionPreAdd(this)) {return;}
75
- if(arguments[0] == null) {arguments[0] = this.options.arrayDefaultData;}
76
- if(typeof(arguments[0]) != 'string') {
77
- arguments = arguments[0];
78
- }
79
- if(arguments[0] == null) {return;}
80
- var objTr, objTd;
81
- objTr = document.createElement('tr');
82
- objTr.id = 'new_' + this.newNumber;
83
- this.buildTr(objTr);
84
- for(var i = 0; i < arguments.length; i++) {
85
- objTd = document.createElement('td');
86
- objTd.innerHTML = arguments[i];
87
- objTr.appendChild(objTd);
88
- }
89
- this.element.tBodies[0].appendChild(objTr);
90
- this.newNumber++;
91
- this.options.functionPostAdd(this);
92
- },
93
- addKeyboardEvent: function() {
94
- var self = this;
95
- if(this.options.flagKeypressAvailable) {
96
- this.shortcutManager = new ShortcutManager();
97
- var shortcut = [
98
- ['enter', function() {self.selectOrUnselect(self.focused, false);}],
99
- ['shift+enter', function() {self.selectOrUnselectRange(self.focused);}],
100
- ['ctrl+enter', function() {self.selectOrUnselect(self.focused, true);}],
101
- ['backspace', Prototype.emptyFunction],
102
- ['esc', Prototype.emptyFunction],
103
- ['up', function() {self.focusMove('up');}],
104
- ['down', function() {self.focusMove('down');}],
105
- ['left', function() {self.options.functionPostPressLeft(this);}],
106
- ['right', function() {self.options.functionPostPressRight(this);}]
107
- ];
108
- if(this.options.flagKeypressInsertAvailable) {
109
- shortcut.push(['insert', function() {self.add();}]);
110
- }
111
- if(this.options.flagKeypressDeleteAvailable) {
112
- shortcut.push(['delete', function() {self.deleteAll();}]);
113
- }
114
- this.shortcutManager.add(shortcut);
115
- }
116
- //===[for Mac]============================================================//
117
- this.cmdPressed = false;
118
- this.cmdManager = new ShortcutManager({detectKeyup:true});
119
- this.cmdManager.add('cmd', function() {self.cmdPressed = true;});
120
- this.cmdManager.add('cmd', function() {self.cmdPressed = false;}, true);
121
- //===[for Mac]===========================================================//
122
- },
123
- build: function() {
124
- var lines = this.element.tBodies[0].rows;
125
- this.classNames.addClassNames(this.element, 'table');
126
- this.addKeyboardEvent();
127
- for(var i = 0; i < lines.length; i++) {
128
- this.buildTr(lines[i]);
129
- }
130
- var selected = this.options.initialSelected
131
- if(selected) {
132
- this.selectEffect(this.buildTrId(selected));
133
- }
134
- this.options.functionPostBuild(this);
135
- },
136
- buildTr: function(objTr) {
137
- objTr.id = this.buildTrId(objTr.id);
138
- this.classNames.addClassNames(objTr, 'tr');
139
- Event.observe(objTr, 'click', this.eventClick.bindAsEventListener(this));
140
- Event.observe(objTr, 'dblclick', this.eventDoubleClick.bindAsEventListener(this));
141
- Event.observe(objTr, 'mouseout', this.eventFocusOut.bindAsEventListener(this));
142
- Event.observe(objTr, 'mouseover', this.eventFocusOver.bindAsEventListener(this));
143
- },
144
- buildTrId: function(strId) {
145
- return this.options.prefixTrId + strId
146
- },
147
- deleteAll: function() {
148
- if(!this.flagAvailable) {return;}
149
- if(!this.options.functionPreDelete(this)) {return;}
150
- for(var trId in this.selected) {
151
- this.element.tBodies[0].removeChild($(trId));
152
- delete this.selected[trId];
153
- }
154
- this.focused = null;
155
- this.options.functionPostDelete(this);
156
- },
157
- destroy: function() {
158
- if(this.options.flagKeypressAvailable) {
159
- this.shortcutManager.destroy();
160
- }
161
- //===[for Mac]============================================================//
162
- this.cmdManager.destroy();
163
- //===[for Mac]============================================================//
164
- },
165
- eventClick: function(event) {
166
- if(!this.flagAvailable) {return;}
167
- if(this.options.functionClickCallback.constructor == Function) {
168
- if(this.options.functionClickCallback != Prototype.emptyFunction) {
169
- this.options.functionClickCallback(Event.findElement(event, 'tr').id.replace(this.options.prefixTrId, ''));
170
- }
171
- }
172
- if(event.shiftKey) {
173
- this.selectOrUnselectRange(Event.findElement(event, 'tr').id);
174
- } else {
175
- this.selectOrUnselect(Event.findElement(event, 'tr').id, event.ctrlKey || this.cmdPressed);
176
- }
177
- },
178
- eventDoubleClick: function(event) {
179
- if(!this.flagAvailable) {return;}
180
- if(this.options.functionDoubleClickCallback.constructor == Function) {
181
- if(this.options.functionDoubleClickCallback != Prototype.emptyFunction) {
182
- this.options.functionDoubleClickCallback(Event.findElement(event, 'tr').id.replace(this.options.prefixTrId, ''));
183
- }
184
- }
185
- if(this.flagAllowMultiple) {
186
- this.select(Event.findElement(event, 'tr').id, false);
187
- this.submit();
188
- }
189
- },
190
- eventFocusOut: function(event) {
191
- if(!this.flagAvailable) {return;}
192
- this.focusOff();
193
- },
194
- eventFocusOver: function(event) {
195
- if(!this.flagAvailable) {return;}
196
- this.focusOn(Event.findElement(event, 'tr').id);
197
- Event.findElement(event, 'tr').focus();
198
- },
199
- focusMove: function(direction) {
200
- if(!this.flagAvailable) {return;}
201
- if(this.focused == null) {
202
- if(this.element.tBodies[0].rows[0]) {
203
- this.focusOn(this.element.tBodies[0].rows[0].id);
204
- }
205
- } else {
206
- var rowIndex = $(this.focused).rowIndex;
207
- var correctionValue, flagEdge;
208
- switch(direction) {
209
- case 'down':
210
- correctionValue = 1;
211
- flagEdge = this.isBottom(rowIndex);
212
- break;
213
- case 'up':
214
- correctionValue = -1;
215
- flagEdge = this.isTop(rowIndex);
216
- break;
217
- }
218
- if(!flagEdge) {
219
- this.focusOn(this.element.rows[rowIndex + correctionValue].id);
220
- }
221
- }
222
- },
223
- focusOff: function() {
224
- if(!this.flagAvailable) {return;}
225
- if(this.focused != null) {
226
- var objTr = $(this.focused);
227
- this.classNames.removeClassNames(objTr, 'trHover');
228
- this.focused = null;
229
- }
230
- },
231
- focusOn: function(trId) {
232
- if(!this.flagAvailable) {return;}
233
- if($(trId) != null) {
234
- this.focusOff();
235
- this.classNames.addClassNames($(trId), 'trHover');
236
- this.focused = trId;
237
- }
238
- },
239
- getSelected: function() {
240
- var selectedIdList = new Array();
241
- for(var trId in this.selected) {
242
- selectedIdList.push(trId.replace(this.options.prefixTrId, ''));
243
- }
244
- return selectedIdList;
245
- },
246
- getSelectedElement: function(id) {
247
- var trId = this.options.prefixTrId + id;
248
- return $(trId)
249
- },
250
- isBottom: function(rowIndex) {
251
- return (rowIndex == this.element.rows.length - 1) ? true : false;
252
- },
253
- isTop: function(rowIndex) {
254
- return (rowIndex == this.element.tBodies[0].rows[0].rowIndex) ? true : false;
255
- },
256
- makeAvailable: function() {
257
- this.flagAvailable = true;
258
- if(this.options.flagKeypressAvailable) {
259
- this.shortcutManager.start();
260
- }
261
- },
262
- makeMultiple: function() {
263
- this.flagAllowMultiple = true;
264
- },
265
- makeSingular: function() {
266
- this.flagAllowMultiple = false;
267
- this.unselectAll();
268
- },
269
- makeUnavailable: function() {
270
- if(this.options.flagKeypressAvailable) {
271
- this.shortcutManager.stop();
272
- }
273
- this.flagAvailable = false;
274
- },
275
- select: function(trId, ctrl) {
276
- if(!this.flagAvailable) {return;}
277
- this.selectEffect(trId, ctrl);
278
- this.lastSelected = trId;
279
- this.options.functionPostSelect(this);
280
- if(!this.flagAllowMultiple) {
281
- this.submit();
282
- }
283
- },
284
- selectAll: function() {
285
- if(!this.flagAvailable) {return;}
286
- if(!this.flagAllowMultiple) {return;}
287
- this.selected = new Object();
288
- var lines = this.element.tBodies[0].rows;
289
- for(var i = 0; i < lines.length; i++) {
290
- this.select(lines[i].id, true);
291
- }
292
- },
293
- selectEffect: function(trId, ctrl) {
294
- if($(trId)) {
295
- if(!this.flagAllowMultiple || !ctrl) {
296
- this.unselectAll();
297
- }
298
- this.classNames.addClassNames($(trId), 'trSelected');
299
- this.selected[trId] = true;
300
- }
301
- },
302
- selectOrUnselect: function(trId, ctrl) {
303
- if(!this.flagAvailable) {return;}
304
- if(trId == null) {return;}
305
- if(ctrl && this.selected[trId]) {
306
- if(!this.flagAllowMultiple && !this.options.flagAllowUnselect) {return;}
307
- this.unselect(trId);
308
- } else {
309
- this.select(trId, ctrl);
310
- }
311
- },
312
- selectOrUnselectRange: function(trId) {
313
- if(!this.flagAvailable) {return;}
314
- if(trId == null) {return;}
315
- if(this.lastSelected == null || this.lastSelected == trId) {
316
- this.selectOrUnselect(trId);
317
- return;
318
- }
319
- var flagSelect = false;
320
- var lines = this.element.tBodies[0].rows;
321
- var lastSelected = this.lastSelected
322
- for(var i = 0; i < lines.length; i++) {
323
- if(lines[i].id == trId || lines[i].id == lastSelected) {
324
- flagSelect = (flagSelect) ? false : true;
325
- } else if(!flagSelect) {
326
- continue;
327
- }
328
- if(this.selected[lastSelected]) {
329
- this.select(lines[i].id, true);
330
- } else {
331
- this.unselect(lines[i].id);
332
- }
333
- }
334
- },
335
- submit: function(trId) {
336
- if(!this.flagAvailable) {return;}
337
- var selected = this.getSelected();
338
- this.options.functionSubmit(selected[0]);
339
- },
340
- unselect: function(trId) {
341
- if(!this.flagAvailable) {return;}
342
- this.classNames.removeClassNames($(trId), 'trSelected');
343
- delete this.selected[trId];
344
- this.lastSelected = trId;
345
- this.options.functionPostUnselect(this);
346
- },
347
- unselectAll: function() {
348
- if(!this.flagAvailable) {return;}
349
- var lines = this.element.tBodies[0].rows;
350
- for(var i = 0; i < lines.length; i++) {
351
- this.unselect(lines[i].id);
352
- }
353
- }
354
- }
355
-
356
- var SelectableTableLib = {
357
- navi: function(direction, element) {
358
- var navigator = element || (SelectableTableManager.active || '') + '_navigation_top';
359
- var element = $(navigator + '_' + direction);
360
- if(element != null) {
361
- if(UserAgent.isIE()) {
362
- element.fireEvent('onclick');
363
- } else {
364
- var evt = document.createEvent('MouseEvents');
365
- evt.initEvent('click', true, true);
366
- element.dispatchEvent(evt);
367
- }
368
- }
369
- }
370
- };
371
-
372
- var SelectableTableCreator = {
373
- create: function() {
374
- var key = arguments[0];
375
- var options = arguments[1] || {};
376
- var old_st = arguments[2] || null;
377
- var manage = arguments[3] || false;
378
- if(old_st) {
379
- try {
380
- old_st.destroy();
381
- } catch(e) {}
382
- }
383
- var new_st = new SelectableTable(key, options);
384
- if(manage) {
385
- SelectableTableManager.push(key, new_st);
386
- }
387
- return new_st;
388
- }
389
- };
390
-
391
- var SelectableTableManager = {
392
- active: null,
393
- list: $H({}),
394
- activate: function(key) {
395
- this.stop();
396
- if(this.list[key]) {
397
- this.list[key].makeAvailable();
398
- this.active = key;
399
- } else {
400
- this.active = null;
401
- }
402
- },
403
- deactivate: function() {
404
- this.stop();
405
- this.active = null;
406
- },
407
- destroy: function() {
408
- this.deactivate();
409
- this.list = $H({});
410
- },
411
- push: function(key, element) {
412
- if(this.list[key]) {
413
- this.list[key].makeUnavailable();
414
- }
415
- this.list[key] = element;
416
- this.activate(key);
417
- },
418
- start: function() {
419
- var active = this.active
420
- if(active) {
421
- this.list[active].makeAvailable();
422
- }
423
- },
424
- stop: function() {
425
- this.list.each(
426
- function(el) {
427
- if(el[1]) {
428
- el[1].makeUnavailable();
429
- }
430
- }
431
- );
432
- }
433
- };