cable 0.1.0 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (528) hide show
  1. data/app/controllers/admin/cable_settings_controller.rb +20 -0
  2. data/app/controllers/{cable/admin_controller.rb → admin_controller.rb} +1 -2
  3. data/app/controllers/attachable_assets_controller.rb +81 -0
  4. data/app/controllers/attachable_documents_controller.rb +22 -0
  5. data/app/controllers/attachable_images_controller.rb +22 -0
  6. data/app/controllers/cable/cable_admin_controller.rb +8 -0
  7. data/app/helpers/admin/menus_helper.rb +24 -0
  8. data/app/helpers/admin_helper.rb +2 -2
  9. data/app/models/attachable_asset.rb +11 -0
  10. data/app/models/attachable_document.rb +2 -0
  11. data/app/models/attachable_image.rb +5 -0
  12. data/app/views/admin/_admin_user_login.html.erb +5 -0
  13. data/app/views/admin/cable_settings/_cable_setting.html.erb +4 -0
  14. data/app/views/admin/cable_settings/edit.html.erb +1 -0
  15. data/app/views/admin/cable_settings/index.html.erb +47 -0
  16. data/app/views/admin/index.html.erb +10 -0
  17. data/app/views/attachable_assets/index.html.erb +4 -0
  18. data/app/views/attachable_assets/new.html.erb +7 -0
  19. data/app/views/attachable_assets/show.html.erb +2 -0
  20. data/app/views/{cable/layouts → layouts}/_messages.html.erb +0 -0
  21. data/app/views/layouts/admin.html.erb +56 -0
  22. data/config/admin_navigation.rb +18 -0
  23. data/config/navigation.rb +0 -0
  24. data/config/routes.rb +5 -1
  25. data/lib/cable.rb +88 -1
  26. data/lib/cable/acts_as_cable.rb +36 -0
  27. data/lib/cable/base.rb +19 -0
  28. data/lib/cable/block.rb +46 -0
  29. data/lib/cable/capistrano.rb +12 -0
  30. data/lib/cable/controllers/cable_controller_helpers.rb +27 -0
  31. data/lib/cable/engine.rb +6 -1
  32. data/lib/cable/errors/resource_association_error.rb +4 -0
  33. data/lib/cable/media/acts_as_attachable.rb +44 -0
  34. data/lib/cable/media/asset.rb +3 -0
  35. data/lib/cable/menu.rb +3 -0
  36. data/lib/cable/menu/acts_as_cable_menu.rb +46 -0
  37. data/lib/cable/menu/base.rb +166 -0
  38. data/lib/cable/menu/simple_navigation_methods.rb +24 -0
  39. data/lib/cable/menu/url_helper.rb +17 -0
  40. data/lib/cable/orm/active_record.rb +29 -0
  41. data/lib/cable/page.rb +3 -0
  42. data/lib/cable/rails/routes.rb +49 -0
  43. data/lib/cable/railtie.rb +32 -0
  44. data/lib/cable/schema.rb +52 -0
  45. data/lib/cable/setting.rb +3 -0
  46. data/lib/cable/special_action.rb +19 -0
  47. data/lib/generators/cable/install_generator.rb +61 -21
  48. data/lib/generators/cable/media/media_generator.rb +41 -0
  49. data/lib/generators/cable/media/templates/migration.rb +19 -0
  50. data/lib/generators/cable/media/templates/model.rb +3 -0
  51. data/lib/generators/cable/menu/menu_generator.rb +83 -0
  52. data/lib/generators/cable/menu/templates/controller.rb +118 -0
  53. data/lib/generators/cable/menu/templates/erb/menus/_menu.html.erb +31 -0
  54. data/lib/generators/cable/menu/templates/erb/menus/_menu_children_table.html.erb +60 -0
  55. data/lib/generators/cable/menu/templates/erb/menus/_menu_tree.html.erb +10 -0
  56. data/lib/generators/cable/menu/templates/erb/menus/_menu_vitals.html.erb +30 -0
  57. data/lib/generators/cable/menu/templates/erb/menus/_resource.html.erb +29 -0
  58. data/lib/generators/cable/menu/templates/erb/menus/_resource_fields.html.erb +10 -0
  59. data/lib/generators/cable/menu/templates/erb/menus/_tree.html.erb +16 -0
  60. data/lib/generators/cable/menu/templates/erb/menus/edit.html.erb +1 -0
  61. data/lib/generators/cable/menu/templates/erb/menus/index.html.erb +28 -0
  62. data/lib/generators/cable/menu/templates/erb/menus/move.html.erb +41 -0
  63. data/lib/generators/cable/menu/templates/erb/menus/new.html.erb +1 -0
  64. data/lib/generators/cable/menu/templates/erb/menus/show.html.erb +16 -0
  65. data/lib/generators/cable/menu/templates/erb/menus/table.html.erb +9 -0
  66. data/lib/generators/cable/menu/templates/erb/partials/_menu_fields.html.erb +12 -0
  67. data/lib/generators/cable/menu/templates/migration.rb +24 -0
  68. data/lib/generators/cable/menu/templates/model.rb +4 -0
  69. data/lib/generators/cable/orm_helpers.rb +18 -0
  70. data/lib/generators/cable/override_generator.rb +33 -0
  71. data/lib/generators/cable/resource/resource_generator.rb +70 -0
  72. data/lib/generators/cable/resource/templates/controller.rb +52 -0
  73. data/lib/generators/cable/resource/templates/erb/scaffold/_form.html.erb +30 -0
  74. data/lib/generators/cable/resource/templates/erb/scaffold/edit.html.erb +6 -0
  75. data/lib/generators/cable/resource/templates/erb/scaffold/index.html.erb +54 -0
  76. data/lib/generators/cable/resource/templates/erb/scaffold/new.html.erb +5 -0
  77. data/lib/generators/cable/resource/templates/erb/scaffold/show.html.erb +12 -0
  78. data/lib/generators/cable/resource/templates/migration.rb +14 -0
  79. data/lib/generators/cable/resource/templates/model.rb +3 -0
  80. data/lib/generators/templates/block.rb +3 -0
  81. data/lib/generators/templates/create_blocks.rb +27 -0
  82. data/lib/generators/templates/create_cable_settings.rb +25 -0
  83. data/lib/generators/templates/initializer.rb +18 -0
  84. data/lib/generators/templates/partials/_block.html.erb +10 -0
  85. data/lib/generators/templates/partials/_block_form.html.erb +24 -0
  86. data/lib/railties/tasks.rake +6 -1
  87. data/public/images/cable/background.png +0 -0
  88. data/public/images/cable/delete.png +0 -0
  89. data/public/images/cable/event-icon.png +0 -0
  90. data/public/images/cable/new-window.png +0 -0
  91. data/public/images/cable/nil-icon.png +0 -0
  92. data/public/images/cable/page-icon.png +0 -0
  93. data/public/images/cable/product-icon.jpg +0 -0
  94. data/public/images/cable/story-icon.jpg +0 -0
  95. data/public/images/iphone-style-checkboxes/off.png +0 -0
  96. data/public/images/iphone-style-checkboxes/on.png +0 -0
  97. data/public/images/iphone-style-checkboxes/slider.png +0 -0
  98. data/public/images/iphone-style-checkboxes/slider_center.png +0 -0
  99. data/public/images/iphone-style-checkboxes/slider_left.png +0 -0
  100. data/public/images/iphone-style-checkboxes/slider_right.png +0 -0
  101. data/public/javascripts/admin.js +35 -0
  102. data/public/javascripts/iphone-style-checkboxes.js +224 -0
  103. data/public/javascripts/jquery.columnview.js +84 -0
  104. data/public/javascripts/jquery.tablesorter.min.js +4 -0
  105. data/public/javascripts/jquery.tagsinput.js +195 -0
  106. data/public/javascripts/jstree/_lib/jquery.cookie.js +96 -0
  107. data/public/javascripts/jstree/_lib/jquery.hotkeys.js +99 -0
  108. data/public/javascripts/jstree/_lib/jquery.js +6240 -0
  109. data/public/javascripts/jstree/jquery.jstree.js +4526 -0
  110. data/public/javascripts/jstree/themes/apple/bg.jpg +0 -0
  111. data/public/javascripts/jstree/themes/apple/d.png +0 -0
  112. data/public/javascripts/jstree/themes/apple/dot_for_ie.gif +0 -0
  113. data/public/javascripts/jstree/themes/apple/style.css +61 -0
  114. data/public/javascripts/jstree/themes/apple/throbber.gif +0 -0
  115. data/public/javascripts/jstree/themes/classic/d.png +0 -0
  116. data/public/javascripts/jstree/themes/classic/dot_for_ie.gif +0 -0
  117. data/public/javascripts/jstree/themes/classic/style.css +59 -0
  118. data/public/javascripts/jstree/themes/classic/throbber.gif +0 -0
  119. data/public/javascripts/jstree/themes/default-rtl/d.gif +0 -0
  120. data/public/javascripts/jstree/themes/default-rtl/d.png +0 -0
  121. data/public/javascripts/jstree/themes/default-rtl/dots.gif +0 -0
  122. data/public/javascripts/jstree/themes/default-rtl/style.css +83 -0
  123. data/public/javascripts/jstree/themes/default-rtl/throbber.gif +0 -0
  124. data/public/javascripts/jstree/themes/default/d.gif +0 -0
  125. data/public/javascripts/jstree/themes/default/d.png +0 -0
  126. data/public/javascripts/jstree/themes/default/style.css +73 -0
  127. data/public/javascripts/jstree/themes/default/throbber.gif +0 -0
  128. data/public/javascripts/tinymce/jquery.tinymce.js +1 -0
  129. data/public/javascripts/tinymce/langs/en.js +170 -0
  130. data/public/javascripts/tinymce/license.txt +504 -0
  131. data/public/javascripts/tinymce/plugins/advhr/css/advhr.css +5 -0
  132. data/public/javascripts/tinymce/plugins/advhr/editor_plugin.js +1 -0
  133. data/public/javascripts/tinymce/plugins/advhr/editor_plugin_src.js +57 -0
  134. data/public/javascripts/tinymce/plugins/advhr/js/rule.js +43 -0
  135. data/public/javascripts/tinymce/plugins/advhr/langs/en_dlg.js +5 -0
  136. data/public/javascripts/tinymce/plugins/advhr/rule.htm +57 -0
  137. data/public/javascripts/tinymce/plugins/advimage/css/advimage.css +13 -0
  138. data/public/javascripts/tinymce/plugins/advimage/editor_plugin.js +1 -0
  139. data/public/javascripts/tinymce/plugins/advimage/editor_plugin_src.js +50 -0
  140. data/public/javascripts/tinymce/plugins/advimage/image.htm +232 -0
  141. data/public/javascripts/tinymce/plugins/advimage/img/sample.gif +0 -0
  142. data/public/javascripts/tinymce/plugins/advimage/js/image.js +443 -0
  143. data/public/javascripts/tinymce/plugins/advimage/langs/en_dlg.js +43 -0
  144. data/public/javascripts/tinymce/plugins/advlink/css/advlink.css +8 -0
  145. data/public/javascripts/tinymce/plugins/advlink/editor_plugin.js +1 -0
  146. data/public/javascripts/tinymce/plugins/advlink/editor_plugin_src.js +61 -0
  147. data/public/javascripts/tinymce/plugins/advlink/js/advlink.js +528 -0
  148. data/public/javascripts/tinymce/plugins/advlink/langs/en_dlg.js +52 -0
  149. data/public/javascripts/tinymce/plugins/advlink/link.htm +333 -0
  150. data/public/javascripts/tinymce/plugins/advlist/editor_plugin.js +1 -0
  151. data/public/javascripts/tinymce/plugins/advlist/editor_plugin_src.js +154 -0
  152. data/public/javascripts/tinymce/plugins/autoresize/editor_plugin.js +1 -0
  153. data/public/javascripts/tinymce/plugins/autoresize/editor_plugin_src.js +119 -0
  154. data/public/javascripts/tinymce/plugins/autosave/editor_plugin.js +1 -0
  155. data/public/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +422 -0
  156. data/public/javascripts/tinymce/plugins/autosave/langs/en.js +4 -0
  157. data/public/javascripts/tinymce/plugins/bbcode/editor_plugin.js +1 -0
  158. data/public/javascripts/tinymce/plugins/bbcode/editor_plugin_src.js +120 -0
  159. data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +1 -0
  160. data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +147 -0
  161. data/public/javascripts/tinymce/plugins/directionality/editor_plugin.js +1 -0
  162. data/public/javascripts/tinymce/plugins/directionality/editor_plugin_src.js +82 -0
  163. data/public/javascripts/tinymce/plugins/emotions/editor_plugin.js +1 -0
  164. data/public/javascripts/tinymce/plugins/emotions/editor_plugin_src.js +43 -0
  165. data/public/javascripts/tinymce/plugins/emotions/emotions.htm +40 -0
  166. data/public/javascripts/tinymce/plugins/emotions/img/smiley-cool.gif +0 -0
  167. data/public/javascripts/tinymce/plugins/emotions/img/smiley-cry.gif +0 -0
  168. data/public/javascripts/tinymce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  169. data/public/javascripts/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  170. data/public/javascripts/tinymce/plugins/emotions/img/smiley-frown.gif +0 -0
  171. data/public/javascripts/tinymce/plugins/emotions/img/smiley-innocent.gif +0 -0
  172. data/public/javascripts/tinymce/plugins/emotions/img/smiley-kiss.gif +0 -0
  173. data/public/javascripts/tinymce/plugins/emotions/img/smiley-laughing.gif +0 -0
  174. data/public/javascripts/tinymce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  175. data/public/javascripts/tinymce/plugins/emotions/img/smiley-sealed.gif +0 -0
  176. data/public/javascripts/tinymce/plugins/emotions/img/smiley-smile.gif +0 -0
  177. data/public/javascripts/tinymce/plugins/emotions/img/smiley-surprised.gif +0 -0
  178. data/public/javascripts/tinymce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  179. data/public/javascripts/tinymce/plugins/emotions/img/smiley-undecided.gif +0 -0
  180. data/public/javascripts/tinymce/plugins/emotions/img/smiley-wink.gif +0 -0
  181. data/public/javascripts/tinymce/plugins/emotions/img/smiley-yell.gif +0 -0
  182. data/public/javascripts/tinymce/plugins/emotions/js/emotions.js +22 -0
  183. data/public/javascripts/tinymce/plugins/emotions/langs/en_dlg.js +20 -0
  184. data/public/javascripts/tinymce/plugins/example/dialog.htm +22 -0
  185. data/public/javascripts/tinymce/plugins/example/editor_plugin.js +1 -0
  186. data/public/javascripts/tinymce/plugins/example/editor_plugin_src.js +84 -0
  187. data/public/javascripts/tinymce/plugins/example/img/example.gif +0 -0
  188. data/public/javascripts/tinymce/plugins/example/js/dialog.js +19 -0
  189. data/public/javascripts/tinymce/plugins/example/langs/en.js +3 -0
  190. data/public/javascripts/tinymce/plugins/example/langs/en_dlg.js +3 -0
  191. data/public/javascripts/tinymce/plugins/fullpage/css/fullpage.css +182 -0
  192. data/public/javascripts/tinymce/plugins/fullpage/editor_plugin.js +1 -0
  193. data/public/javascripts/tinymce/plugins/fullpage/editor_plugin_src.js +153 -0
  194. data/public/javascripts/tinymce/plugins/fullpage/fullpage.htm +571 -0
  195. data/public/javascripts/tinymce/plugins/fullpage/js/fullpage.js +471 -0
  196. data/public/javascripts/tinymce/plugins/fullpage/langs/en_dlg.js +85 -0
  197. data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +1 -0
  198. data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +151 -0
  199. data/public/javascripts/tinymce/plugins/fullscreen/fullscreen.htm +109 -0
  200. data/public/javascripts/tinymce/plugins/iespell/editor_plugin.js +1 -0
  201. data/public/javascripts/tinymce/plugins/iespell/editor_plugin_src.js +54 -0
  202. data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin.js +1 -0
  203. data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin_src.js +635 -0
  204. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  205. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  206. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  207. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  208. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  209. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  210. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  211. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +100 -0
  212. data/public/javascripts/tinymce/plugins/inlinepopups/template.htm +387 -0
  213. data/public/javascripts/tinymce/plugins/insertdatetime/editor_plugin.js +1 -0
  214. data/public/javascripts/tinymce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  215. data/public/javascripts/tinymce/plugins/layer/editor_plugin.js +1 -0
  216. data/public/javascripts/tinymce/plugins/layer/editor_plugin_src.js +212 -0
  217. data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +1 -0
  218. data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  219. data/public/javascripts/tinymce/plugins/media/css/content.css +6 -0
  220. data/public/javascripts/tinymce/plugins/media/css/media.css +16 -0
  221. data/public/javascripts/tinymce/plugins/media/editor_plugin.js +1 -0
  222. data/public/javascripts/tinymce/plugins/media/editor_plugin_src.js +414 -0
  223. data/public/javascripts/tinymce/plugins/media/img/flash.gif +0 -0
  224. data/public/javascripts/tinymce/plugins/media/img/flv_player.swf +0 -0
  225. data/public/javascripts/tinymce/plugins/media/img/quicktime.gif +0 -0
  226. data/public/javascripts/tinymce/plugins/media/img/realmedia.gif +0 -0
  227. data/public/javascripts/tinymce/plugins/media/img/shockwave.gif +0 -0
  228. data/public/javascripts/tinymce/plugins/media/img/trans.gif +0 -0
  229. data/public/javascripts/tinymce/plugins/media/img/windowsmedia.gif +0 -0
  230. data/public/javascripts/tinymce/plugins/media/js/embed.js +73 -0
  231. data/public/javascripts/tinymce/plugins/media/js/media.js +630 -0
  232. data/public/javascripts/tinymce/plugins/media/langs/en_dlg.js +103 -0
  233. data/public/javascripts/tinymce/plugins/media/media.htm +817 -0
  234. data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin.js +1 -0
  235. data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin_src.js +53 -0
  236. data/public/javascripts/tinymce/plugins/noneditable/editor_plugin.js +1 -0
  237. data/public/javascripts/tinymce/plugins/noneditable/editor_plugin_src.js +90 -0
  238. data/public/javascripts/tinymce/plugins/pagebreak/css/content.css +1 -0
  239. data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin.js +1 -0
  240. data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin_src.js +77 -0
  241. data/public/javascripts/tinymce/plugins/pagebreak/img/pagebreak.gif +0 -0
  242. data/public/javascripts/tinymce/plugins/pagebreak/img/trans.gif +0 -0
  243. data/public/javascripts/tinymce/plugins/paste/editor_plugin.js +1 -0
  244. data/public/javascripts/tinymce/plugins/paste/editor_plugin_src.js +952 -0
  245. data/public/javascripts/tinymce/plugins/paste/js/pastetext.js +36 -0
  246. data/public/javascripts/tinymce/plugins/paste/js/pasteword.js +51 -0
  247. data/public/javascripts/tinymce/plugins/paste/langs/en_dlg.js +5 -0
  248. data/public/javascripts/tinymce/plugins/paste/pastetext.htm +27 -0
  249. data/public/javascripts/tinymce/plugins/paste/pasteword.htm +21 -0
  250. data/public/javascripts/tinymce/plugins/pdw/editor_plugin.js +4 -0
  251. data/public/javascripts/tinymce/plugins/pdw/editor_plugin_src.js +158 -0
  252. data/public/javascripts/tinymce/plugins/pdw/img/toolbars.gif +0 -0
  253. data/public/javascripts/tinymce/plugins/pdw/langs/en.js +3 -0
  254. data/public/javascripts/tinymce/plugins/pdw/langs/nl.js +3 -0
  255. data/public/javascripts/tinymce/plugins/preview/editor_plugin.js +1 -0
  256. data/public/javascripts/tinymce/plugins/preview/editor_plugin_src.js +53 -0
  257. data/public/javascripts/tinymce/plugins/preview/example.html +28 -0
  258. data/public/javascripts/tinymce/plugins/preview/jscripts/embed.js +73 -0
  259. data/public/javascripts/tinymce/plugins/preview/preview.html +17 -0
  260. data/public/javascripts/tinymce/plugins/print/editor_plugin.js +1 -0
  261. data/public/javascripts/tinymce/plugins/print/editor_plugin_src.js +34 -0
  262. data/public/javascripts/tinymce/plugins/save/editor_plugin.js +1 -0
  263. data/public/javascripts/tinymce/plugins/save/editor_plugin_src.js +101 -0
  264. data/public/javascripts/tinymce/plugins/searchreplace/css/searchreplace.css +6 -0
  265. data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin.js +1 -0
  266. data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin_src.js +57 -0
  267. data/public/javascripts/tinymce/plugins/searchreplace/js/searchreplace.js +138 -0
  268. data/public/javascripts/tinymce/plugins/searchreplace/langs/en_dlg.js +16 -0
  269. data/public/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +99 -0
  270. data/public/javascripts/tinymce/plugins/spellchecker/css/content.css +1 -0
  271. data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +1 -0
  272. data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +417 -0
  273. data/public/javascripts/tinymce/plugins/spellchecker/img/wline.gif +0 -0
  274. data/public/javascripts/tinymce/plugins/style/css/props.css +13 -0
  275. data/public/javascripts/tinymce/plugins/style/editor_plugin.js +1 -0
  276. data/public/javascripts/tinymce/plugins/style/editor_plugin_src.js +55 -0
  277. data/public/javascripts/tinymce/plugins/style/js/props.js +641 -0
  278. data/public/javascripts/tinymce/plugins/style/langs/en_dlg.js +63 -0
  279. data/public/javascripts/tinymce/plugins/style/props.htm +723 -0
  280. data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +1 -0
  281. data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +112 -0
  282. data/public/javascripts/tinymce/plugins/table/cell.htm +178 -0
  283. data/public/javascripts/tinymce/plugins/table/css/cell.css +17 -0
  284. data/public/javascripts/tinymce/plugins/table/css/row.css +25 -0
  285. data/public/javascripts/tinymce/plugins/table/css/table.css +13 -0
  286. data/public/javascripts/tinymce/plugins/table/editor_plugin.js +1 -0
  287. data/public/javascripts/tinymce/plugins/table/editor_plugin_src.js +1139 -0
  288. data/public/javascripts/tinymce/plugins/table/js/cell.js +286 -0
  289. data/public/javascripts/tinymce/plugins/table/js/merge_cells.js +27 -0
  290. data/public/javascripts/tinymce/plugins/table/js/row.js +237 -0
  291. data/public/javascripts/tinymce/plugins/table/js/table.js +454 -0
  292. data/public/javascripts/tinymce/plugins/table/langs/en_dlg.js +74 -0
  293. data/public/javascripts/tinymce/plugins/table/merge_cells.htm +32 -0
  294. data/public/javascripts/tinymce/plugins/table/row.htm +155 -0
  295. data/public/javascripts/tinymce/plugins/table/table.htm +187 -0
  296. data/public/javascripts/tinymce/plugins/template/blank.htm +12 -0
  297. data/public/javascripts/tinymce/plugins/template/css/template.css +23 -0
  298. data/public/javascripts/tinymce/plugins/template/editor_plugin.js +1 -0
  299. data/public/javascripts/tinymce/plugins/template/editor_plugin_src.js +159 -0
  300. data/public/javascripts/tinymce/plugins/template/js/template.js +106 -0
  301. data/public/javascripts/tinymce/plugins/template/langs/en_dlg.js +15 -0
  302. data/public/javascripts/tinymce/plugins/template/template.htm +31 -0
  303. data/public/javascripts/tinymce/plugins/visualchars/editor_plugin.js +1 -0
  304. data/public/javascripts/tinymce/plugins/visualchars/editor_plugin_src.js +83 -0
  305. data/public/javascripts/tinymce/plugins/wordcount/editor_plugin.js +1 -0
  306. data/public/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +98 -0
  307. data/public/javascripts/tinymce/plugins/xhtmlxtras/abbr.htm +141 -0
  308. data/public/javascripts/tinymce/plugins/xhtmlxtras/acronym.htm +141 -0
  309. data/public/javascripts/tinymce/plugins/xhtmlxtras/attributes.htm +148 -0
  310. data/public/javascripts/tinymce/plugins/xhtmlxtras/cite.htm +141 -0
  311. data/public/javascripts/tinymce/plugins/xhtmlxtras/css/attributes.css +11 -0
  312. data/public/javascripts/tinymce/plugins/xhtmlxtras/css/popup.css +9 -0
  313. data/public/javascripts/tinymce/plugins/xhtmlxtras/del.htm +161 -0
  314. data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  315. data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin_src.js +132 -0
  316. data/public/javascripts/tinymce/plugins/xhtmlxtras/ins.htm +161 -0
  317. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/abbr.js +28 -0
  318. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/acronym.js +28 -0
  319. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/attributes.js +126 -0
  320. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/cite.js +28 -0
  321. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/del.js +53 -0
  322. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/element_common.js +231 -0
  323. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/ins.js +52 -0
  324. data/public/javascripts/tinymce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  325. data/public/javascripts/tinymce/themes/advanced/about.htm +54 -0
  326. data/public/javascripts/tinymce/themes/advanced/anchor.htm +26 -0
  327. data/public/javascripts/tinymce/themes/advanced/charmap.htm +52 -0
  328. data/public/javascripts/tinymce/themes/advanced/color_picker.htm +73 -0
  329. data/public/javascripts/tinymce/themes/advanced/editor_template.js +1 -0
  330. data/public/javascripts/tinymce/themes/advanced/editor_template_src.js +1229 -0
  331. data/public/javascripts/tinymce/themes/advanced/image.htm +80 -0
  332. data/public/javascripts/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
  333. data/public/javascripts/tinymce/themes/advanced/img/icons.gif +0 -0
  334. data/public/javascripts/tinymce/themes/advanced/js/about.js +72 -0
  335. data/public/javascripts/tinymce/themes/advanced/js/anchor.js +37 -0
  336. data/public/javascripts/tinymce/themes/advanced/js/charmap.js +335 -0
  337. data/public/javascripts/tinymce/themes/advanced/js/color_picker.js +253 -0
  338. data/public/javascripts/tinymce/themes/advanced/js/image.js +245 -0
  339. data/public/javascripts/tinymce/themes/advanced/js/link.js +156 -0
  340. data/public/javascripts/tinymce/themes/advanced/js/source_editor.js +56 -0
  341. data/public/javascripts/tinymce/themes/advanced/langs/en.js +62 -0
  342. data/public/javascripts/tinymce/themes/advanced/langs/en_dlg.js +51 -0
  343. data/public/javascripts/tinymce/themes/advanced/link.htm +58 -0
  344. data/public/javascripts/tinymce/themes/advanced/skins/default/content.css +36 -0
  345. data/public/javascripts/tinymce/themes/advanced/skins/default/dialog.css +117 -0
  346. data/public/javascripts/tinymce/themes/advanced/skins/default/img/buttons.png +0 -0
  347. data/public/javascripts/tinymce/themes/advanced/skins/default/img/items.gif +0 -0
  348. data/public/javascripts/tinymce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  349. data/public/javascripts/tinymce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  350. data/public/javascripts/tinymce/themes/advanced/skins/default/img/progress.gif +0 -0
  351. data/public/javascripts/tinymce/themes/advanced/skins/default/img/tabs.gif +0 -0
  352. data/public/javascripts/tinymce/themes/advanced/skins/default/ui.css +213 -0
  353. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/content.css +36 -0
  354. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +116 -0
  355. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  356. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  357. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  358. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +215 -0
  359. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  360. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  361. data/public/javascripts/tinymce/themes/advanced/source_editor.htm +25 -0
  362. data/public/javascripts/tinymce/themes/simple/editor_template.js +1 -0
  363. data/public/javascripts/tinymce/themes/simple/editor_template_src.js +85 -0
  364. data/public/javascripts/tinymce/themes/simple/img/icons.gif +0 -0
  365. data/public/javascripts/tinymce/themes/simple/langs/en.js +11 -0
  366. data/public/javascripts/tinymce/themes/simple/skins/default/content.css +25 -0
  367. data/public/javascripts/tinymce/themes/simple/skins/default/ui.css +32 -0
  368. data/public/javascripts/tinymce/themes/simple/skins/o2k7/content.css +17 -0
  369. data/public/javascripts/tinymce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  370. data/public/javascripts/tinymce/themes/simple/skins/o2k7/ui.css +35 -0
  371. data/public/javascripts/tinymce/tiny_mce.js +1 -0
  372. data/public/javascripts/tinymce/tiny_mce_popup.js +5 -0
  373. data/public/javascripts/tinymce/tiny_mce_src.js +13394 -0
  374. data/public/javascripts/tinymce/utils/editable_selects.js +70 -0
  375. data/public/javascripts/tinymce/utils/form_utils.js +200 -0
  376. data/public/javascripts/tinymce/utils/mctabs.js +77 -0
  377. data/public/javascripts/tinymce/utils/validate.js +220 -0
  378. data/public/stylesheets/cable.css +862 -0
  379. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/ie.css +0 -0
  380. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/buttons/icons/cross.png +0 -0
  381. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/buttons/icons/key.png +0 -0
  382. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/buttons/icons/tick.png +0 -0
  383. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/buttons/readme.txt +0 -0
  384. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/buttons/screen.css +0 -0
  385. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/fancy-type/readme.txt +0 -0
  386. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/fancy-type/screen.css +0 -0
  387. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/doc.png +0 -0
  388. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/email.png +0 -0
  389. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/external.png +0 -0
  390. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/feed.png +0 -0
  391. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/im.png +0 -0
  392. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  393. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/visited.png +0 -0
  394. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/icons/xls.png +0 -0
  395. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/readme.txt +0 -0
  396. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/link-icons/screen.css +0 -0
  397. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/rtl/readme.txt +0 -0
  398. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/plugins/rtl/screen.css +0 -0
  399. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/print.css +0 -0
  400. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/screen.css +0 -0
  401. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/src/forms.css +0 -0
  402. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/src/grid.css +0 -0
  403. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/src/grid.png +0 -0
  404. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/src/ie.css +0 -0
  405. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/src/print.css +0 -0
  406. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/src/reset.css +0 -0
  407. data/{lib/generators/cable/templates/stylesheets/admin → public/stylesheets/cable}/blueprint/src/typography.css +0 -0
  408. data/public/stylesheets/columnview.css +61 -0
  409. data/public/stylesheets/formtastic.css +148 -0
  410. data/public/stylesheets/formtastic_changes.css +66 -0
  411. data/public/stylesheets/iphone_checkboxes.css +76 -0
  412. data/public/stylesheets/ui/aristo/aristo.css +524 -0
  413. data/public/stylesheets/ui/aristo/icons.psd +0 -0
  414. data/public/stylesheets/ui/aristo/images/button_bg.png +0 -0
  415. data/public/stylesheets/ui/aristo/images/datepicker.gif +0 -0
  416. data/public/stylesheets/ui/aristo/images/icon_sprite.png +0 -0
  417. data/public/stylesheets/ui/aristo/images/progress_bar.gif +0 -0
  418. data/public/stylesheets/ui/aristo/images/right-arrow.png +0 -0
  419. data/public/stylesheets/ui/aristo/images/slider_h_bg.gif +0 -0
  420. data/public/stylesheets/ui/aristo/images/slider_handles.png +0 -0
  421. data/public/stylesheets/ui/aristo/images/slider_v_bg.gif +0 -0
  422. data/public/stylesheets/ui/aristo/images/tab_bg.gif +0 -0
  423. data/public/stylesheets/ui/aristo/images/the_gradient.gif +0 -0
  424. data/public/stylesheets/ui/aristo/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  425. data/public/stylesheets/ui/aristo/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  426. data/public/stylesheets/ui/aristo/images/ui-bg_flat_10_000000_40x100.png +0 -0
  427. data/public/stylesheets/ui/aristo/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  428. data/public/stylesheets/ui/aristo/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  429. data/public/stylesheets/ui/aristo/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  430. data/public/stylesheets/ui/aristo/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  431. data/public/stylesheets/ui/aristo/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  432. data/public/stylesheets/ui/aristo/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  433. data/public/stylesheets/ui/aristo/images/ui-icons_222222_256x240.png +0 -0
  434. data/public/stylesheets/ui/aristo/images/ui-icons_228ef1_256x240.png +0 -0
  435. data/public/stylesheets/ui/aristo/images/ui-icons_ef8c08_256x240.png +0 -0
  436. data/public/stylesheets/ui/aristo/images/ui-icons_ffd27a_256x240.png +0 -0
  437. data/public/stylesheets/ui/aristo/images/ui-icons_ffffff_256x240.png +0 -0
  438. data/public/stylesheets/ui/images/sprite-aristo.png +0 -0
  439. data/public/stylesheets/ui/images/uniform/sprite.png +0 -0
  440. data/public/stylesheets/ui/uniform/uniform.aristo.css +470 -0
  441. data/public/stylesheets/ui/uniform/uniform.default.css +477 -0
  442. metadata +473 -131
  443. data/app/models/cable/global_setting.rb +0 -3
  444. data/app/views/cable/admin/index.html.erb +0 -2
  445. data/app/views/cable/layouts/admin.html.erb +0 -49
  446. data/lib/generators/cable/controllers_generator.rb +0 -21
  447. data/lib/generators/cable/templates/admin_navigation.rb +0 -5
  448. data/lib/generators/cable/templates/javascripts/admin.js +0 -24
  449. data/lib/generators/cable/templates/javascripts/wymeditor/GPL-license.txt +0 -278
  450. data/lib/generators/cable/templates/javascripts/wymeditor/MIT-license.txt +0 -20
  451. data/lib/generators/cable/templates/javascripts/wymeditor/README +0 -33
  452. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-blockquote.png +0 -0
  453. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-h1.png +0 -0
  454. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-h2.png +0 -0
  455. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-h3.png +0 -0
  456. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-h4.png +0 -0
  457. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-h5.png +0 -0
  458. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-h6.png +0 -0
  459. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-p.png +0 -0
  460. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/lbl-pre.png +0 -0
  461. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/wymiframe.css +0 -93
  462. data/lib/generators/cable/templates/javascripts/wymeditor/iframe/default/wymiframe.html +0 -26
  463. data/lib/generators/cable/templates/javascripts/wymeditor/jquery.wymeditor.js +0 -4724
  464. data/lib/generators/cable/templates/javascripts/wymeditor/jquery.wymeditor.min.js +0 -1
  465. data/lib/generators/cable/templates/javascripts/wymeditor/jquery.wymeditor.pack.js +0 -1
  466. data/lib/generators/cable/templates/javascripts/wymeditor/lang/bg.js +0 -45
  467. data/lib/generators/cable/templates/javascripts/wymeditor/lang/ca.js +0 -45
  468. data/lib/generators/cable/templates/javascripts/wymeditor/lang/cs.js +0 -45
  469. data/lib/generators/cable/templates/javascripts/wymeditor/lang/cy.js +0 -45
  470. data/lib/generators/cable/templates/javascripts/wymeditor/lang/de.js +0 -45
  471. data/lib/generators/cable/templates/javascripts/wymeditor/lang/en.js +0 -46
  472. data/lib/generators/cable/templates/javascripts/wymeditor/lang/es.js +0 -45
  473. data/lib/generators/cable/templates/javascripts/wymeditor/lang/fa.js +0 -46
  474. data/lib/generators/cable/templates/javascripts/wymeditor/lang/fi.js +0 -44
  475. data/lib/generators/cable/templates/javascripts/wymeditor/lang/fr.js +0 -45
  476. data/lib/generators/cable/templates/javascripts/wymeditor/lang/gl.js +0 -45
  477. data/lib/generators/cable/templates/javascripts/wymeditor/lang/he.js +0 -45
  478. data/lib/generators/cable/templates/javascripts/wymeditor/lang/hr.js +0 -45
  479. data/lib/generators/cable/templates/javascripts/wymeditor/lang/hu.js +0 -45
  480. data/lib/generators/cable/templates/javascripts/wymeditor/lang/it.js +0 -45
  481. data/lib/generators/cable/templates/javascripts/wymeditor/lang/ja.js +0 -44
  482. data/lib/generators/cable/templates/javascripts/wymeditor/lang/nb.js +0 -45
  483. data/lib/generators/cable/templates/javascripts/wymeditor/lang/nl.js +0 -45
  484. data/lib/generators/cable/templates/javascripts/wymeditor/lang/nn.js +0 -45
  485. data/lib/generators/cable/templates/javascripts/wymeditor/lang/pl.js +0 -45
  486. data/lib/generators/cable/templates/javascripts/wymeditor/lang/pt-br.js +0 -45
  487. data/lib/generators/cable/templates/javascripts/wymeditor/lang/pt.js +0 -45
  488. data/lib/generators/cable/templates/javascripts/wymeditor/lang/ru.js +0 -45
  489. data/lib/generators/cable/templates/javascripts/wymeditor/lang/sv.js +0 -46
  490. data/lib/generators/cable/templates/javascripts/wymeditor/lang/tr.js +0 -45
  491. data/lib/generators/cable/templates/javascripts/wymeditor/lang/zh_cn.js +0 -47
  492. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/embed/jquery.wymeditor.embed.js +0 -52
  493. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/fullscreen/icon_fullscreen.gif +0 -0
  494. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js +0 -127
  495. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js +0 -57
  496. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/mediabrowser/browser.png +0 -0
  497. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/mediabrowser/jquery.wymeditor.mediabrowser.js +0 -115
  498. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js +0 -91
  499. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/resizable/readme.txt +0 -124
  500. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/tidy/README +0 -19
  501. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/tidy/jquery.wymeditor.tidy.js +0 -82
  502. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/tidy/tidy.php +0 -36
  503. data/lib/generators/cable/templates/javascripts/wymeditor/plugins/tidy/wand.png +0 -0
  504. data/lib/generators/cable/templates/javascripts/wymeditor/skins/compact/icons.png +0 -0
  505. data/lib/generators/cable/templates/javascripts/wymeditor/skins/compact/skin.css +0 -134
  506. data/lib/generators/cable/templates/javascripts/wymeditor/skins/compact/skin.js +0 -35
  507. data/lib/generators/cable/templates/javascripts/wymeditor/skins/default/icons.png +0 -0
  508. data/lib/generators/cable/templates/javascripts/wymeditor/skins/default/skin.css +0 -158
  509. data/lib/generators/cable/templates/javascripts/wymeditor/skins/default/skin.js +0 -40
  510. data/lib/generators/cable/templates/javascripts/wymeditor/skins/minimal/images/bg.header.gif +0 -0
  511. data/lib/generators/cable/templates/javascripts/wymeditor/skins/minimal/images/bg.selector.silver.gif +0 -0
  512. data/lib/generators/cable/templates/javascripts/wymeditor/skins/minimal/images/bg.wymeditor.png +0 -0
  513. data/lib/generators/cable/templates/javascripts/wymeditor/skins/minimal/images/icons.silver.gif +0 -0
  514. data/lib/generators/cable/templates/javascripts/wymeditor/skins/minimal/skin.css +0 -131
  515. data/lib/generators/cable/templates/javascripts/wymeditor/skins/minimal/skin.js +0 -30
  516. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/COPYING +0 -674
  517. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/README +0 -27
  518. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/images/bg.header.gif +0 -0
  519. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/images/bg.selector.silver.gif +0 -0
  520. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/images/bg.wymeditor.png +0 -0
  521. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/images/icons.silver.gif +0 -0
  522. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/skin.css +0 -297
  523. data/lib/generators/cable/templates/javascripts/wymeditor/skins/silver/skin.js +0 -61
  524. data/lib/generators/cable/templates/javascripts/wymeditor/skins/twopanels/icons.png +0 -0
  525. data/lib/generators/cable/templates/javascripts/wymeditor/skins/twopanels/skin.css +0 -134
  526. data/lib/generators/cable/templates/javascripts/wymeditor/skins/twopanels/skin.js +0 -39
  527. data/lib/generators/cable/templates/javascripts/wymeditor/skins/wymeditor_icon.png +0 -0
  528. data/lib/generators/cable/templates/stylesheets/admin.css +0 -417
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,35 @@
1
+ $(document).ready(function(){
2
+ $('.sortable-table').tablesorter();
3
+ $().ready(function() {
4
+ $('textarea.tinymce').tinymce({
5
+ script_url : '/javascripts/tinymce/tiny_mce.js',
6
+ theme : "advanced",
7
+ height : "400px",
8
+ plugins : "pdw,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",
9
+ theme_advanced_buttons1 : "pdw_toggle,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,cut,copy,paste,pastetext,pasteword",
10
+ theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,preview",
11
+ theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,media|,fullscreen",
12
+ theme_advanced_toolbar_location : "top",
13
+ theme_advanced_toolbar_align : "left",
14
+ theme_advanced_statusbar_location : "bottom",
15
+ theme_advanced_resizing : true,
16
+ theme_advanced_resize_horizontal : false,
17
+ pdw_toggle_on : 1,
18
+ pdw_toggle_toolbars : "2,3"
19
+ });
20
+ });
21
+ $('.disabled-button').button({disabled: true});
22
+ // $('.yes_no :checkbox').iphoneStyle({
23
+ // checkedLabel: 'YES',
24
+ // uncheckedLabel: 'NO'
25
+ // });
26
+
27
+ $(".collapsible ol").hide();
28
+ $(".collapsible legend").click(function(){
29
+ $(this).nextAll("ol").slideToggle(500);
30
+ $(this).parent().toggleClass("open")
31
+ });
32
+ $(".collapsible legend").append(" <span class='expand'>Expand</span> <span class='close'>Close</span>");
33
+ $(".collapsible legend").css({"cursor":"pointer"});
34
+ $(".selected").last().addClass("last");
35
+ });
@@ -0,0 +1,224 @@
1
+ /*!
2
+ // iPhone-style Checkboxes jQuery plugin
3
+ // Copyright Thomas Reynolds, licensed GPL & MIT
4
+ */
5
+ ;(function($, iphoneStyle) {
6
+
7
+ // Constructor
8
+ $[iphoneStyle] = function(elem, options) {
9
+ this.$elem = $(elem);
10
+
11
+ // Import options into instance variables
12
+ var obj = this;
13
+ $.each(options, function(key, value) {
14
+ obj[key] = value;
15
+ });
16
+
17
+ // Initialize the control
18
+ this.wrapCheckboxWithDivs();
19
+ this.attachEvents();
20
+ this.disableTextSelection();
21
+
22
+ if (this.resizeHandle) { this.optionallyResize('handle'); }
23
+ if (this.resizeContainer) { this.optionallyResize('container'); }
24
+
25
+ this.initialPosition();
26
+ };
27
+
28
+ $.extend($[iphoneStyle].prototype, {
29
+ // Wrap the existing input[type=checkbox] with divs for styling and grab DOM references to the created nodes
30
+ wrapCheckboxWithDivs: function() {
31
+ this.$elem.wrap('<div class="' + this.containerClass + '" />');
32
+ this.container = this.$elem.parent();
33
+
34
+ this.offLabel = $('<label class="'+ this.labelOffClass +'">' +
35
+ '<span>'+ this.uncheckedLabel +'</span>' +
36
+ '</label>').appendTo(this.container);
37
+ this.offSpan = this.offLabel.children('span');
38
+
39
+ this.onLabel = $('<label class="'+ this.labelOnClass +'">' +
40
+ '<span>'+ this.checkedLabel +'</span>' +
41
+ '</label>').appendTo(this.container);
42
+ this.onSpan = this.onLabel.children('span');
43
+
44
+ this.handle = $('<div class="' + this.handleClass + '">' +
45
+ '<div class="' + this.handleRightClass + '">' +
46
+ '<div class="' + this.handleCenterClass + '" />' +
47
+ '</div>' +
48
+ '</div>').appendTo(this.container);
49
+ },
50
+
51
+ // Disable IE text selection, other browsers are handled in CSS
52
+ disableTextSelection: function() {
53
+ if (!$.browser.msie) { return; }
54
+
55
+ // Elements containing text should be unselectable
56
+ $.each([this.handle, this.offLabel, this.onLabel, this.container], function(el) {
57
+ $(el).attr("unselectable", "on");
58
+ });
59
+ },
60
+
61
+ // Automatically resize the handle or container
62
+ optionallyResize: function(mode) {
63
+ var onLabelWidth = this.onLabel.width(),
64
+ offLabelWidth = this.offLabel.width();
65
+
66
+ if (mode == 'container') {
67
+ var newWidth = (onLabelWidth > offLabelWidth) ? onLabelWidth : offLabelWidth;
68
+ newWidth += this.handle.width() + 15;
69
+ } else {
70
+ var newWidth = (onLabelWidth < offLabelWidth) ? onLabelWidth : offLabelWidth;
71
+ }
72
+
73
+ this[mode].css({ width: newWidth });
74
+ },
75
+
76
+ attachEvents: function() {
77
+ var obj = this;
78
+
79
+ // A mousedown anywhere in the control will start tracking for dragging
80
+ this.container
81
+ .bind('mousedown touchstart', function(event) {
82
+ event.preventDefault();
83
+
84
+ if (obj.$elem.is(':disabled')) { return; }
85
+
86
+ var x = event.pageX || event.originalEvent.changedTouches[0].pageX;
87
+ $[iphoneStyle].currentlyClicking = obj.handle;
88
+ $[iphoneStyle].dragStartPosition = x;
89
+ $[iphoneStyle].handleLeftOffset = parseInt(obj.handle.css('left'), 10) || 0;
90
+ })
91
+
92
+ // Utilize event bubbling to handle drag on any element beneath the container
93
+ .bind('iPhoneDrag', function(event, x) {
94
+ event.preventDefault();
95
+
96
+ if (obj.$elem.is(':disabled')) { return; }
97
+
98
+ var p = (x + $[iphoneStyle].handleLeftOffset - $[iphoneStyle].dragStartPosition) / obj.rightSide;
99
+ if (p < 0) { p = 0; }
100
+ if (p > 1) { p = 1; }
101
+ obj.handle.css({ left: p * obj.rightSide });
102
+ obj.onLabel.css({ width: p * obj.rightSide + 4 });
103
+ obj.offSpan.css({ marginRight: -p * obj.rightSide });
104
+ obj.onSpan.css({ marginLeft: -(1 - p) * obj.rightSide });
105
+ })
106
+
107
+ // Utilize event bubbling to handle drag end on any element beneath the container
108
+ .bind('iPhoneDragEnd', function(event, x) {
109
+ if (obj.$elem.is(':disabled')) { return; }
110
+
111
+ if ($[iphoneStyle].dragging) {
112
+ var p = (x - $[iphoneStyle].dragStartPosition) / obj.rightSide;
113
+ obj.$elem.attr('checked', (p >= 0.5));
114
+ } else {
115
+ obj.$elem.attr('checked', !obj.$elem.attr('checked'));
116
+ }
117
+
118
+ $[iphoneStyle].currentlyClicking = null;
119
+ $[iphoneStyle].dragging = null;
120
+ obj.$elem.change();
121
+ });
122
+
123
+ // Animate when we get a change event
124
+ this.$elem.change(function() {
125
+ if (obj.$elem.is(':disabled')) {
126
+ obj.container.addClass(obj.disabledClass);
127
+ return false;
128
+ } else {
129
+ obj.container.removeClass(obj.disabledClass);
130
+ }
131
+
132
+ var new_left = obj.$elem.attr('checked') ? obj.rightSide : 0;
133
+
134
+ obj.handle.animate({ left: new_left }, obj.duration);
135
+ obj.onLabel.animate({ width: new_left + 4 }, obj.duration);
136
+ obj.offSpan.animate({ marginRight: -new_left }, obj.duration);
137
+ obj.onSpan.animate({ marginLeft: new_left - obj.rightSide }, obj.duration);
138
+ });
139
+ },
140
+
141
+ // Setup the control's inital position
142
+ initialPosition: function() {
143
+ this.offLabel.css({ width: this.container.width() - 5 });
144
+
145
+ var offset = ($.browser.msie && $.browser.version < 7) ? 3 : 6;
146
+ this.rightSide = this.container.width() - this.handle.width() - offset;
147
+
148
+ if (this.$elem.is(':checked')) {
149
+ this.handle.css({ left: this.rightSide });
150
+ this.onLabel.css({ width: this.rightSide + 4 });
151
+ this.offSpan.css({ marginRight: -this.rightSide });
152
+ } else {
153
+ this.onLabel.css({ width: 0 });
154
+ this.onSpan.css({ marginLeft: -this.rightSide });
155
+ }
156
+
157
+ if (this.$elem.is(':disabled')) {
158
+ this.container.addClass(this.disabledClass);
159
+ }
160
+ }
161
+ });
162
+
163
+ // jQuery-specific code
164
+ $.fn[iphoneStyle] = function(options) {
165
+ var checkboxes = this.filter(':checkbox');
166
+
167
+ // Fail early if we don't have any checkboxes passed in
168
+ if (!checkboxes.length) { return this; }
169
+
170
+ // Merge options passed in with global defaults
171
+ var opt = $.extend({}, $[iphoneStyle].defaults, options);
172
+
173
+ checkboxes.each(function() {
174
+ $(this).data(iphoneStyle, new $[iphoneStyle](this, opt));
175
+ });
176
+
177
+ if (!$[iphoneStyle].initComplete) {
178
+ // As the mouse moves on the page, animate if we are in a drag state
179
+ $(document)
180
+ .bind('mousemove touchmove', function(event) {
181
+ if (!$[iphoneStyle].currentlyClicking) { return; }
182
+ event.preventDefault();
183
+
184
+ var x = event.pageX || event.originalEvent.changedTouches[0].pageX;
185
+ if (!$[iphoneStyle].dragging &&
186
+ (Math.abs($[iphoneStyle].dragStartPosition - x) > opt.dragThreshold)) {
187
+ $[iphoneStyle].dragging = true;
188
+ }
189
+
190
+ $(event.target).trigger('iPhoneDrag', [x]);
191
+ })
192
+
193
+ // When the mouse comes up, leave drag state
194
+ .bind('mouseup touchend', function(event) {
195
+ if (!$[iphoneStyle].currentlyClicking) { return; }
196
+ event.preventDefault();
197
+
198
+ var x = event.pageX || event.originalEvent.changedTouches[0].pageX;
199
+ $($[iphoneStyle].currentlyClicking).trigger('iPhoneDragEnd', [x]);
200
+ });
201
+
202
+ $[iphoneStyle].initComplete = true;
203
+ }
204
+
205
+ return this;
206
+ }; // End of $.fn[iphoneStyle]
207
+
208
+ $[iphoneStyle].defaults = {
209
+ duration: 200, // Time spent during slide animation
210
+ checkedLabel: 'ON', // Text content of "on" state
211
+ uncheckedLabel: 'OFF', // Text content of "off" state
212
+ resizeHandle: true, // Automatically resize the handle to cover either label
213
+ resizeContainer: true, // Automatically resize the widget to contain the labels
214
+ disabledClass: 'iPhoneCheckDisabled',
215
+ containerClass: 'iPhoneCheckContainer',
216
+ labelOnClass: 'iPhoneCheckLabelOn',
217
+ labelOffClass: 'iPhoneCheckLabelOff',
218
+ handleClass: 'iPhoneCheckHandle',
219
+ handleCenterClass: 'iPhoneCheckHandleCenter',
220
+ handleRightClass: 'iPhoneCheckHandleRight',
221
+ dragThreshold: 5 // Pixels that must be dragged for a click to be ignored
222
+ };
223
+
224
+ })(jQuery, 'iphoneStyle');
@@ -0,0 +1,84 @@
1
+ /**
2
+ * jquery.columnview-1.2.js
3
+ *
4
+ * Created by Chris Yates on 2009-02-26.
5
+ * http://christianyates.com
6
+ * Copyright 2009 Christian Yates and ASU Mars Space Flight Facility. All rights reserved.
7
+ *
8
+ * Supported under jQuery 1.2.x or later
9
+ * Keyboard navigation supported under 1.3.x or later
10
+ *
11
+ * Dual licensed under MIT and GPL.
12
+ */
13
+
14
+ (function($){
15
+ function probe_tree(tree){
16
+
17
+ $(tree).children().each(function(index){
18
+
19
+ if($(this).is("ul")){
20
+ o1 = $('.columnview').offset();
21
+ o2 = $(this).parent().offset();
22
+ dy = o1.top - o2.top;
23
+ $(this).css({"top":dy});
24
+ $(this).addClass("level");
25
+ $(this).sortable({
26
+ connectWith : ".level"
27
+ })
28
+ }
29
+
30
+ if($(this).is("li")){
31
+ $(this).addClass("level_wrapper");
32
+ }
33
+ });
34
+ }
35
+ function make_active(item){
36
+ $(item).parentsUntil(".columview").addClass("active");
37
+ }
38
+
39
+ $.fn.columnview = function(options){
40
+ var settings = $.extend({}, $.fn.columnview.defaults, options);
41
+
42
+ probe_tree(this, 0);
43
+
44
+ var key_event = $.browser.mozilla ? 'keypress' : 'keydown';
45
+
46
+ $(this).bind("click " + key_event, function(event){
47
+
48
+ if ($(event.target).is("a,span")) {
49
+ if ($(event.target).is("span")){
50
+ var self = $(event.target).parent();
51
+ }else {
52
+ var self = event.target;
53
+ }
54
+
55
+
56
+ self.focus();
57
+
58
+ var container = $(self).parents('.containerobj');
59
+
60
+ // Handle clicks
61
+ if (event.type == "click"){
62
+ probe_tree($(self).parent());
63
+ $(".active").removeClass("active");
64
+ $(".targeted").removeClass("targeted");
65
+ $(self).addClass("targeted");
66
+ make_active(self);
67
+
68
+ }
69
+ }
70
+ });
71
+ };
72
+
73
+
74
+
75
+ $.fn.columnview.defaults = {
76
+ multi: false, // Allow multiple selections
77
+ preview: false, // Handler for preview pane
78
+ fixedwidth: false,// Use fixed width columns
79
+ onchange: false // Handler for selection change
80
+ };
81
+
82
+
83
+
84
+ })(jQuery);
@@ -0,0 +1,4 @@
1
+
2
+ (function($){$.extend({tablesorter:new
3
+ function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,rows,-1,i);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==''&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log('Checking if value was empty on row:'+rowIndex);}}else{keepLooking=false;}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i];}}return parsers[0];}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex];}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node));}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue;}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]));}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent;}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML;}else{text=node.innerHTML;}}}else{if(typeof(config.textExtraction)=="function"){text=config.textExtraction(node);}else{text=$(node).text();}}return text;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName('THEAD')[0];var trs=thead.getElementsByTagName('TR');for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1
4
+ var firstAvailCol;if(typeof(matrix[rowIndex])=="undefined"){matrix[rowIndex]=[];}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof(matrix[rowIndex][k])=="undefined"){firstAvailCol=k;break;}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof(matrix[k])=="undefined"){matrix[k]=[];}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x";}}}}return lookup;}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHeaderOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){return(v.toLowerCase()=="desc")?1:0;}else{return(v==1)?1:0;}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(table.config.parsers[c].type=="text")?((order==0)?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c)):((order==0)?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c));var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date());}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=='text'&&direction=='asc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));";}else if(type=='text'&&direction=='desc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));";}else if(type=='numeric'&&direction=='asc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));";}else if(type=='numeric'&&direction=='desc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));";}};function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me);},1);}).bind("updateCell",function(e,cell){var config=this.config;var pos=[(cell.parentNode.rowIndex-1),cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,'')));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLocaleLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=(row%2==0);$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);
@@ -0,0 +1,195 @@
1
+ /*
2
+
3
+ jQuery Tags Input Plugin 1.1
4
+
5
+ Copyright (c) 2010 XOXCO, Inc
6
+
7
+ Documentation for this plugin lives here:
8
+ http://xoxco.com/clickable/jquery-tags-input
9
+
10
+ Licensed under the MIT license:
11
+ http://www.opensource.org/licenses/mit-license.php
12
+
13
+ ben@xoxco.com
14
+
15
+ */
16
+
17
+ (function($) {
18
+
19
+ var delimiter = new Array();
20
+
21
+ jQuery.fn.addTag = function(value,options) {
22
+
23
+ var options = jQuery.extend({focus:false},options);
24
+ this.each(function() {
25
+ id = $(this).attr('id');
26
+
27
+ var tagslist = $(this).val().split(delimiter[id]);
28
+ if (tagslist[0] == '') {
29
+ tagslist = new Array();
30
+ }
31
+ value = jQuery.trim(value);
32
+ if (value !='') {
33
+
34
+ $('<span class="tag">'+value + '&nbsp;&nbsp;<a href="#" title="Remove tag" onclick="return $(\'#'+id + '\').removeTag(\'' + escape(value) + '\');">x</a></span>').insertBefore('#'+id+'_addTag');
35
+ tagslist.push(value);
36
+
37
+ $('#'+id+'_tag').val('');
38
+ if (options.focus) {
39
+ $('#'+id+'_tag').focus();
40
+ } else {
41
+ $('#'+id+'_tag').blur();
42
+ }
43
+ }
44
+ jQuery.fn.tagsInput.updateTagsField(this,tagslist);
45
+
46
+ });
47
+
48
+ return false;
49
+ };
50
+
51
+ jQuery.fn.removeTag = function(value) {
52
+
53
+ this.each(function() {
54
+ id = $(this).attr('id');
55
+
56
+ var old = $(this).val().split(delimiter[id]);
57
+
58
+
59
+ $('#'+id+'_tagsinput .tag').remove();
60
+ str = '';
61
+ for (i=0; i< old.length; i++) {
62
+ if (escape(old[i])!=value) {
63
+ str = str + delimiter[id] +old[i];
64
+ }
65
+ }
66
+
67
+ jQuery.fn.tagsInput.importTags(this,str);
68
+ });
69
+
70
+ return false;
71
+
72
+ };
73
+
74
+
75
+ jQuery.fn.tagsInput = function(options) {
76
+
77
+ var settings = jQuery.extend({defaultText:'add a tag',width:'300px','hide':true,'delimiter':',',autocomplete:{selectFirst:false}},options);
78
+
79
+ this.each(function() {
80
+ if (settings.hide) {
81
+ $(this).hide();
82
+ }
83
+
84
+ id = $(this).attr('id')
85
+
86
+ data = jQuery.extend({
87
+ pid:id,
88
+ real_input: '#'+id,
89
+ holder: '#'+id+'_tagsinput',
90
+ input_wrapper: '#'+id+'_addTag',
91
+ fake_input: '#'+id+'_tag',
92
+ },settings);
93
+
94
+
95
+ delimiter[id] = data.delimiter;
96
+
97
+ $('<div id="'+id+'_tagsinput" class="tagsinput"><div id="'+id+'_addTag"><input id="'+id+'_tag" value="" default="'+settings.defaultText+'" /></div><div class="tags_clear"></div></div>').insertAfter(this);
98
+
99
+ $(data.holder).css('width',settings.width);
100
+
101
+
102
+ if ($(data.real_input).val()!='') {
103
+ jQuery.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val());
104
+ } else {
105
+ $(data.fake_input).val($(data.fake_input).attr('default'));
106
+ $(data.fake_input).css('color','#666666');
107
+ }
108
+
109
+
110
+ $(data.holder).bind('click',data,function(event) {
111
+ $(event.data.fake_input).focus();
112
+ });
113
+
114
+ // if user types a comma, create a new tag
115
+ $(data.fake_input).bind('keypress',data,function(event) {
116
+ if (event.which==event.data.delimiter.charCodeAt(0) || event.which==13) {
117
+
118
+ $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true});
119
+ return false;
120
+ }
121
+ });
122
+
123
+
124
+ $(data.fake_input).bind('focus',data,function(event) {
125
+ if ($(event.data.fake_input).val()==$(event.data.fake_input).attr('default')) {
126
+ $(event.data.fake_input).val('');
127
+ }
128
+ $(event.data.fake_input).css('color','#000000');
129
+ });
130
+
131
+ if (settings.autocomplete_url != undefined) {
132
+ $(data.fake_input).autocomplete(settings.autocomplete_url,settings.autocomplete).bind('result',data,function(event,data,formatted) {
133
+ if (data) {
134
+ d = data + "";
135
+ $(event.data.real_input).addTag(d,{focus:true});
136
+ }
137
+ });;
138
+
139
+
140
+ $(data.fake_input).bind('blur',data,function(event) {
141
+ if ($(event.data.fake_input).val() != $(event.data.fake_input).attr('default')) {
142
+ $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:false});
143
+ }
144
+
145
+ $(event.data.fake_input).val($(event.data.fake_input).attr('default'));
146
+ $(event.data.fake_input).css('color','#666666');
147
+ return false;
148
+ });
149
+
150
+
151
+ } else {
152
+
153
+ // if a user tabs out of the field, create a new tag
154
+ // this is only available if autocomplete is not used.
155
+ $(data.fake_input).bind('blur',data,function(event) {
156
+ var d = $(this).attr('default');
157
+ if ($(event.data.fake_input).val()!='' && $(event.data.fake_input).val()!=d) {
158
+ event.preventDefault();
159
+ $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true});
160
+ } else {
161
+ $(event.data.fake_input).val($(event.data.fake_input).attr('default'));
162
+ $(event.data.fake_input).css('color','#666666');
163
+ }
164
+ return false;
165
+ });
166
+
167
+ }
168
+
169
+ $(data.fake_input).blur();
170
+ });
171
+
172
+ return this;
173
+
174
+ };
175
+
176
+
177
+ jQuery.fn.tagsInput.updateTagsField = function(obj,tagslist) {
178
+
179
+ id = $(obj).attr('id');
180
+ $(obj).val(tagslist.join(delimiter[id]));
181
+ };
182
+
183
+
184
+
185
+ jQuery.fn.tagsInput.importTags = function(obj,val) {
186
+
187
+ $(obj).val('');
188
+ id = $(obj).attr('id');
189
+ var tags = val.split(delimiter[id]);
190
+ for (i=0; i<tags.length; i++) {
191
+ $(obj).addTag(tags[i],{focus:false});
192
+ }
193
+ };
194
+
195
+ })(jQuery);