releaf 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (323) hide show
  1. data/LICENSE +24 -0
  2. data/README.md +74 -0
  3. data/Rakefile +62 -0
  4. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  5. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_75_ffffff_40x100.png +0 -0
  6. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  7. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_65_ffffff_1x400.png +0 -0
  8. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_dadada_1x400.png +0 -0
  9. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  10. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  11. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  12. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_222222_256x240.png +0 -0
  13. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_2e83ff_256x240.png +0 -0
  14. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_454545_256x240.png +0 -0
  15. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_888888_256x240.png +0 -0
  16. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_cd0a0a_256x240.png +0 -0
  17. data/app/assets/images/releaf/3rd_party/lightbox/close.png +0 -0
  18. data/app/assets/images/releaf/3rd_party/lightbox/loading.gif +0 -0
  19. data/app/assets/images/releaf/3rd_party/lightbox/next.png +0 -0
  20. data/app/assets/images/releaf/3rd_party/lightbox/prev.png +0 -0
  21. data/app/assets/images/releaf/add.png +0 -0
  22. data/app/assets/images/releaf/background.jpg +0 -0
  23. data/app/assets/images/releaf/button/button_bgr.gif +0 -0
  24. data/app/assets/images/releaf/button/button_hover_bgr.png +0 -0
  25. data/app/assets/images/releaf/controllers/content/close.gif +0 -0
  26. data/app/assets/images/releaf/controllers/content/close_active.gif +0 -0
  27. data/app/assets/images/releaf/controllers/content/close_hover.gif +0 -0
  28. data/app/assets/images/releaf/controllers/content/global_fields_bgr.png +0 -0
  29. data/app/assets/images/releaf/controllers/content/open.gif +0 -0
  30. data/app/assets/images/releaf/controllers/content/open_2.gif +0 -0
  31. data/app/assets/images/releaf/controllers/content/open_active.gif +0 -0
  32. data/app/assets/images/releaf/controllers/content/open_hover.gif +0 -0
  33. data/app/assets/images/releaf/controllers/sessions/background.jpg +0 -0
  34. data/app/assets/images/releaf/controllers/sessions/logo.jpg +0 -0
  35. data/app/assets/images/releaf/expand_tool/close.png +0 -0
  36. data/app/assets/images/releaf/expand_tool/close_hover.png +0 -0
  37. data/app/assets/images/releaf/expand_tool/close_hover_shim.png +0 -0
  38. data/app/assets/images/releaf/expand_tool/close_shim.png +0 -0
  39. data/app/assets/images/releaf/expand_tool/loader.gif +0 -0
  40. data/app/assets/images/releaf/expand_tool/open.png +0 -0
  41. data/app/assets/images/releaf/expand_tool/open_hover.png +0 -0
  42. data/app/assets/images/releaf/expand_tool/open_hover_shim.png +0 -0
  43. data/app/assets/images/releaf/expand_tool/open_shim.png +0 -0
  44. data/app/assets/images/releaf/favicon.ico +0 -0
  45. data/app/assets/images/releaf/globalFieldContainerBgr.png +0 -0
  46. data/app/assets/images/releaf/icons/129.png +0 -0
  47. data/app/assets/images/releaf/icons/130.png +0 -0
  48. data/app/assets/images/releaf/icons/accept.png +0 -0
  49. data/app/assets/images/releaf/icons/add.png +0 -0
  50. data/app/assets/images/releaf/icons/arrow_down.png +0 -0
  51. data/app/assets/images/releaf/icons/arrow_left.png +0 -0
  52. data/app/assets/images/releaf/icons/arrow_refresh.png +0 -0
  53. data/app/assets/images/releaf/icons/arrow_up.png +0 -0
  54. data/app/assets/images/releaf/icons/bin_empty.png +0 -0
  55. data/app/assets/images/releaf/icons/bullet_black.png +0 -0
  56. data/app/assets/images/releaf/icons/bullet_connect.png +0 -0
  57. data/app/assets/images/releaf/icons/bullet_start.png +0 -0
  58. data/app/assets/images/releaf/icons/bullet_tick.png +0 -0
  59. data/app/assets/images/releaf/icons/chrome.png +0 -0
  60. data/app/assets/images/releaf/icons/control_play.png +0 -0
  61. data/app/assets/images/releaf/icons/date.png +0 -0
  62. data/app/assets/images/releaf/icons/delete.png +0 -0
  63. data/app/assets/images/releaf/icons/disk.png +0 -0
  64. data/app/assets/images/releaf/icons/drag-handle.png +0 -0
  65. data/app/assets/images/releaf/icons/error.png +0 -0
  66. data/app/assets/images/releaf/icons/eye.png +0 -0
  67. data/app/assets/images/releaf/icons/firefox.png +0 -0
  68. data/app/assets/images/releaf/icons/google-not-available.gif +0 -0
  69. data/app/assets/images/releaf/icons/google.gif +0 -0
  70. data/app/assets/images/releaf/icons/keyboard.png +0 -0
  71. data/app/assets/images/releaf/icons/left_16.png +0 -0
  72. data/app/assets/images/releaf/icons/link.png +0 -0
  73. data/app/assets/images/releaf/icons/magnifier.png +0 -0
  74. data/app/assets/images/releaf/icons/notAllowed.png +0 -0
  75. data/app/assets/images/releaf/icons/page_white_add.png +0 -0
  76. data/app/assets/images/releaf/icons/page_white_edit.png +0 -0
  77. data/app/assets/images/releaf/icons/page_white_put.png +0 -0
  78. data/app/assets/images/releaf/icons/page_white_text.png +0 -0
  79. data/app/assets/images/releaf/icons/pencil.png +0 -0
  80. data/app/assets/images/releaf/icons/picture.png +0 -0
  81. data/app/assets/images/releaf/icons/right_16.png +0 -0
  82. data/app/assets/images/releaf/icons/tick.png +0 -0
  83. data/app/assets/images/releaf/icons/warning.png +0 -0
  84. data/app/assets/images/releaf/icons/world_go.png +0 -0
  85. data/app/assets/images/releaf/icons/world_link.png +0 -0
  86. data/app/assets/images/releaf/input/autocompleteExpandIcon.png +0 -0
  87. data/app/assets/images/releaf/input/input_bgr.gif +0 -0
  88. data/app/assets/images/releaf/language_root.png +0 -0
  89. data/app/assets/images/releaf/loader.gif +0 -0
  90. data/app/assets/images/releaf/logout.png +0 -0
  91. data/app/assets/images/releaf/main_menu/active_bgr.png +0 -0
  92. data/app/assets/images/releaf/main_menu/bgr.png +0 -0
  93. data/app/assets/images/releaf/main_menu/hover_bgr.png +0 -0
  94. data/app/assets/images/releaf/module.png +0 -0
  95. data/app/assets/images/releaf/panel_layout/active_bgr.png +0 -0
  96. data/app/assets/images/releaf/panel_layout/secondary_panel_horizontal_bgr.png +0 -0
  97. data/app/assets/images/releaf/panel_layout/secondary_panel_vertical_bgr.png +0 -0
  98. data/app/assets/images/releaf/releaf_table/selected_bgr.png +0 -0
  99. data/app/assets/images/releaf/releaf_table/th_bgr.gif +0 -0
  100. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/README.md +73 -0
  101. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/jquery.cookie.js +47 -0
  102. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/server.js +24 -0
  103. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.html +19 -0
  104. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.js +80 -0
  105. data/app/assets/javascripts/releaf/3rd_party/jquery-ui-timepicker-addon.js +1882 -0
  106. data/app/assets/javascripts/releaf/3rd_party/lightbox.js.erb +379 -0
  107. data/app/assets/javascripts/releaf/application.js +14 -0
  108. data/app/assets/javascripts/releaf/controllers/base.js +170 -0
  109. data/app/assets/javascripts/releaf/controllers/releaf/content.js +90 -0
  110. data/app/assets/javascripts/releaf/controllers/releaf/translations.js +31 -0
  111. data/app/assets/javascripts/releaf/include/continuous_scroll.js +321 -0
  112. data/app/assets/javascripts/releaf/include/field.type_autocomplete.js +58 -0
  113. data/app/assets/javascripts/releaf/include/field.type_richtext.js +90 -0
  114. data/app/assets/javascripts/releaf/include/localization.js +12 -0
  115. data/app/assets/javascripts/releaf/include/nested_fields.js +71 -0
  116. data/app/assets/javascripts/releaf/include/sortable.js +27 -0
  117. data/app/assets/javascripts/releaf/lib/request_url.js +183 -0
  118. data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-1.9.2.custom.css.erb +464 -0
  119. data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-timepicker-addon.css +10 -0
  120. data/app/assets/stylesheets/releaf/3rd_party/lightbox.css.erb +157 -0
  121. data/app/assets/stylesheets/releaf/application.css.erb +122 -0
  122. data/app/assets/stylesheets/releaf/controllers/base.css.erb +205 -0
  123. data/app/assets/stylesheets/releaf/controllers/releaf/content.css.erb +416 -0
  124. data/app/assets/stylesheets/releaf/controllers/releaf/sessions.css.scss.erb +116 -0
  125. data/app/assets/stylesheets/releaf/controllers/releaf/translations.css.erb +205 -0
  126. data/app/assets/stylesheets/releaf/include/button.css.erb +176 -0
  127. data/app/assets/stylesheets/releaf/include/field.css.erb +257 -0
  128. data/app/assets/stylesheets/releaf/include/input.css.erb +40 -0
  129. data/app/assets/stylesheets/releaf/include/main_menu.css.erb +66 -0
  130. data/app/assets/stylesheets/releaf/include/pagination.css.erb +29 -0
  131. data/app/assets/stylesheets/releaf/include/panel_layout.css.erb +251 -0
  132. data/app/assets/stylesheets/releaf/include/releaf_table.css.erb +112 -0
  133. data/app/assets/stylesheets/releaf/include/sortable.css.erb +12 -0
  134. data/app/controllers/releaf/admins_controller.rb +48 -0
  135. data/app/controllers/releaf/application_controller.rb +11 -0
  136. data/app/controllers/releaf/base_application_controller.rb +15 -0
  137. data/app/controllers/releaf/base_controller.rb +310 -0
  138. data/app/controllers/releaf/content_controller.rb +166 -0
  139. data/app/controllers/releaf/roles_controller.rb +36 -0
  140. data/app/controllers/releaf/sessions_controller.rb +5 -0
  141. data/app/controllers/releaf/tinymce_assets_controller.rb +26 -0
  142. data/app/controllers/releaf/translations_controller.rb +121 -0
  143. data/app/helpers/releaf/admin_helper.rb +79 -0
  144. data/app/helpers/releaf/application_helper.rb +4 -0
  145. data/app/helpers/releaf/pagination_renderer.rb +44 -0
  146. data/app/helpers/releaf/releaf_devise_helper.rb +8 -0
  147. data/app/models/releaf/admin.rb +51 -0
  148. data/app/models/releaf/node.rb +221 -0
  149. data/app/models/releaf/node_base.rb +25 -0
  150. data/app/models/releaf/role.rb +119 -0
  151. data/app/models/releaf/tinymce_asset.rb +6 -0
  152. data/app/views/layouts/releaf/admin.html.haml +51 -0
  153. data/app/views/releaf/aliases/_edit.body.haml +50 -0
  154. data/app/views/releaf/aliases/_edit.header.haml +19 -0
  155. data/app/views/releaf/aliases/_index.row.haml +5 -0
  156. data/app/views/releaf/aliases/_secondary_panel.haml +13 -0
  157. data/app/views/releaf/base/_edit.body.haml +19 -0
  158. data/app/views/releaf/base/_edit.field.haml +96 -0
  159. data/app/views/releaf/base/_edit.field.type_autocomplete.haml +15 -0
  160. data/app/views/releaf/base/_edit.field.type_checkbox.haml +5 -0
  161. data/app/views/releaf/base/_edit.field.type_date.haml +8 -0
  162. data/app/views/releaf/base/_edit.field.type_datetime.haml +8 -0
  163. data/app/views/releaf/base/_edit.field.type_delete_nested.haml +3 -0
  164. data/app/views/releaf/base/_edit.field.type_file.haml +10 -0
  165. data/app/views/releaf/base/_edit.field.type_image.haml +14 -0
  166. data/app/views/releaf/base/_edit.field.type_link.haml +4 -0
  167. data/app/views/releaf/base/_edit.field.type_password.haml +4 -0
  168. data/app/views/releaf/base/_edit.field.type_richtext.haml +4 -0
  169. data/app/views/releaf/base/_edit.field.type_richtext_i18n.haml +27 -0
  170. data/app/views/releaf/base/_edit.field.type_select.haml +11 -0
  171. data/app/views/releaf/base/_edit.field.type_text.haml +4 -0
  172. data/app/views/releaf/base/_edit.field.type_text_i18n.haml +27 -0
  173. data/app/views/releaf/base/_edit.field.type_textarea.haml +4 -0
  174. data/app/views/releaf/base/_edit.field.type_textarea_i18n.haml +27 -0
  175. data/app/views/releaf/base/_edit.field.type_time.haml +8 -0
  176. data/app/views/releaf/base/_edit.footer.haml +14 -0
  177. data/app/views/releaf/base/_edit.form.haml +4 -0
  178. data/app/views/releaf/base/_edit.has_many_associations.haml +45 -0
  179. data/app/views/releaf/base/_edit.header.haml +3 -0
  180. data/app/views/releaf/base/_index.body.haml +6 -0
  181. data/app/views/releaf/base/_index.cell.haml +19 -0
  182. data/app/views/releaf/base/_index.footer.haml +22 -0
  183. data/app/views/releaf/base/_index.header.haml +4 -0
  184. data/app/views/releaf/base/_index.row.haml +6 -0
  185. data/app/views/releaf/base/_index.search.haml +5 -0
  186. data/app/views/releaf/base/_index.table.haml +8 -0
  187. data/app/views/releaf/base/_secondary_panel.haml +9 -0
  188. data/app/views/releaf/base/_show.body.haml +7 -0
  189. data/app/views/releaf/base/_show.field.haml +78 -0
  190. data/app/views/releaf/base/_show.field.type_html.haml +1 -0
  191. data/app/views/releaf/base/_show.footer.haml +16 -0
  192. data/app/views/releaf/base/_show.header.haml +3 -0
  193. data/app/views/releaf/base/confirm_destroy.haml +10 -0
  194. data/app/views/releaf/base/edit.haml +1 -0
  195. data/app/views/releaf/base/index.haml +3 -0
  196. data/app/views/releaf/base/new.haml +1 -0
  197. data/app/views/releaf/base/show.haml +3 -0
  198. data/app/views/releaf/content/_edit.body.haml +45 -0
  199. data/app/views/releaf/content/_edit.content_fields.haml +19 -0
  200. data/app/views/releaf/content/_edit.slug.haml +12 -0
  201. data/app/views/releaf/content/_get_content_form.haml +7 -0
  202. data/app/views/releaf/content/_secondary_panel.haml +3 -0
  203. data/app/views/releaf/content/_show.field.content.haml +11 -0
  204. data/app/views/releaf/content/_tree_level.haml +16 -0
  205. data/app/views/releaf/content/ajax.new.haml +3 -0
  206. data/app/views/releaf/content/index.haml +0 -0
  207. data/app/views/releaf/roles/_edit.field.admins.haml +0 -0
  208. data/app/views/releaf/roles/_edit.field.permissions.haml +5 -0
  209. data/app/views/releaf/roles/_show.field.default.haml +6 -0
  210. data/app/views/releaf/roles/_show.field.permissions.haml +11 -0
  211. data/app/views/releaf/sessions/new.html.haml +17 -0
  212. data/app/views/releaf/translations/_edit.body.haml +50 -0
  213. data/app/views/releaf/translations/_edit.header.haml +19 -0
  214. data/app/views/releaf/translations/_index.row.haml +5 -0
  215. data/app/views/releaf/translations/_secondary_panel.haml +13 -0
  216. data/bin/releaf +25 -0
  217. data/lib/generators/releaf/install_generator.rb +87 -0
  218. data/lib/generators/releaf/templates/config/common_fields.yml.example +17 -0
  219. data/lib/generators/releaf/templates/controllers/home_controller.rb +4 -0
  220. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  221. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
  222. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  223. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  224. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  225. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  226. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  227. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  228. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_222222_256x240.png +0 -0
  229. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_2e83ff_256x240.png +0 -0
  230. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_454545_256x240.png +0 -0
  231. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_888888_256x240.png +0 -0
  232. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  233. data/lib/generators/releaf/templates/images/3rd_party/lightbox/close.png +0 -0
  234. data/lib/generators/releaf/templates/images/3rd_party/lightbox/loading.gif +0 -0
  235. data/lib/generators/releaf/templates/images/3rd_party/lightbox/next.png +0 -0
  236. data/lib/generators/releaf/templates/images/3rd_party/lightbox/prev.png +0 -0
  237. data/lib/generators/releaf/templates/initializers/releaf.rb +59 -0
  238. data/lib/generators/releaf/templates/initializers/releaf_i18n.rb +8 -0
  239. data/lib/generators/releaf/templates/initializers/releaf_store_current_template.rb +25 -0
  240. data/lib/generators/releaf/templates/javascripts/3rd_party/jquery_ui.js +14850 -0
  241. data/lib/generators/releaf/templates/javascripts/3rd_party/lightbox.js.erb +379 -0
  242. data/lib/generators/releaf/templates/javascripts/application.js +15 -0
  243. data/lib/generators/releaf/templates/javascripts/lib/js_check.js +8 -0
  244. data/lib/generators/releaf/templates/javascripts/lib/request_url.js +169 -0
  245. data/lib/generators/releaf/templates/javascripts/lib/sortable.js +29 -0
  246. data/lib/generators/releaf/templates/migrations/create_releaf_admins.rb +53 -0
  247. data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +25 -0
  248. data/lib/generators/releaf/templates/migrations/create_releaf_roles.rb +11 -0
  249. data/lib/generators/releaf/templates/migrations/create_releaf_tinymce_assets.rb +10 -0
  250. data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +31 -0
  251. data/lib/generators/releaf/templates/models/admin_ability.rb +51 -0
  252. data/lib/generators/releaf/templates/seeds.rb +64 -0
  253. data/lib/generators/releaf/templates/stylesheets/3rd_party/jquery_ui/smoothness.css.erb +1174 -0
  254. data/lib/generators/releaf/templates/stylesheets/3rd_party/lightbox.css.erb +157 -0
  255. data/lib/generators/releaf/templates/stylesheets/3rd_party/reset.css +48 -0
  256. data/lib/generators/releaf/templates/stylesheets/application.scss +15 -0
  257. data/lib/generators/releaf/templates/stylesheets/style.scss +45 -0
  258. data/lib/generators/releaf/templates/views/home/index.html.haml +1 -0
  259. data/lib/generators/releaf/templates/views/layouts/application.html.haml +26 -0
  260. data/lib/i18n/backend/releaf.rb +96 -0
  261. data/lib/i18n/backend/releaf/translation.rb +56 -0
  262. data/lib/i18n/backend/releaf/translation_data.rb +32 -0
  263. data/lib/i18n/backend/releaf/translation_group.rb +30 -0
  264. data/lib/i18n/releaf.rb +1 -0
  265. data/lib/releaf.rb +30 -0
  266. data/lib/releaf/engine.rb +4 -0
  267. data/lib/releaf/slug.rb +79 -0
  268. data/lib/releaf/version.rb +3 -0
  269. data/lib/tasks/releaf_tasks.rake +4 -0
  270. data/spec/dummy/README.rdoc +261 -0
  271. data/spec/dummy/Rakefile +7 -0
  272. data/spec/dummy/app/assets/images/rails.png +0 -0
  273. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  274. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  275. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  276. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  277. data/spec/dummy/app/models/admin_ability.rb +51 -0
  278. data/spec/dummy/app/models/settings.rb +2 -0
  279. data/spec/dummy/app/views/layouts/application.html.haml +10 -0
  280. data/spec/dummy/config.ru +4 -0
  281. data/spec/dummy/config/application.rb +68 -0
  282. data/spec/dummy/config/boot.rb +6 -0
  283. data/spec/dummy/config/common_fields.yml.example +17 -0
  284. data/spec/dummy/config/database.yml +42 -0
  285. data/spec/dummy/config/environment.rb +5 -0
  286. data/spec/dummy/config/environments/development.rb +37 -0
  287. data/spec/dummy/config/environments/production.rb +67 -0
  288. data/spec/dummy/config/environments/test.rb +37 -0
  289. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  290. data/spec/dummy/config/initializers/devise.rb +232 -0
  291. data/spec/dummy/config/initializers/dragonfly.rb +1 -0
  292. data/spec/dummy/config/initializers/inflections.rb +15 -0
  293. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  294. data/spec/dummy/config/initializers/releaf.rb +59 -0
  295. data/spec/dummy/config/initializers/releaf_i18n.rb +8 -0
  296. data/spec/dummy/config/initializers/releaf_store_current_template.rb +25 -0
  297. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  298. data/spec/dummy/config/initializers/session_store.rb +8 -0
  299. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  300. data/spec/dummy/config/locales/devise.en.yml +58 -0
  301. data/spec/dummy/config/locales/en.yml +5 -0
  302. data/spec/dummy/config/routes.rb +11 -0
  303. data/spec/dummy/db/migrate/20130204164516_create_settings.rb +17 -0
  304. data/spec/dummy/db/migrate/20130204164523_create_releaf_nodes.rb +25 -0
  305. data/spec/dummy/db/migrate/20130204164524_create_releaf_roles.rb +11 -0
  306. data/spec/dummy/db/migrate/20130204164525_create_releaf_translations.rb +31 -0
  307. data/spec/dummy/db/migrate/20130204164526_create_releaf_admins.rb +53 -0
  308. data/spec/dummy/db/schema.rb +112 -0
  309. data/spec/dummy/db/seeds.rb +64 -0
  310. data/spec/dummy/doc/README_FOR_APP +2 -0
  311. data/spec/dummy/log/development.log +74 -0
  312. data/spec/dummy/log/test.log +129 -0
  313. data/spec/dummy/public/404.html +26 -0
  314. data/spec/dummy/public/422.html +26 -0
  315. data/spec/dummy/public/500.html +25 -0
  316. data/spec/dummy/public/favicon.ico +0 -0
  317. data/spec/dummy/script/rails +6 -0
  318. data/spec/dummy/tmp/cache/9C5/660/settings%3Ai18n_updated_at +1 -0
  319. data/spec/factories/factories.rb +24 -0
  320. data/spec/features/admin_spec.rb +41 -0
  321. data/spec/spec_helper.rb +23 -0
  322. data/templates/releaf/installer.rb +196 -0
  323. metadata +777 -0
@@ -0,0 +1,90 @@
1
+ //= G
2
+ jQuery(function()
3
+ {
4
+ // richtext config
5
+ var plugins = [ 'inlinepopups', 'iespell', 'insertdatetime', 'preview', 'searchreplace', 'contextmenu', 'safari', 'uploadimage' ];
6
+
7
+ // remove inlinepopups plugin for Opera 10
8
+ if( typeof BrowserDetect != 'undefined' )
9
+ {
10
+ if( BrowserDetect.browser == 'Opera' && BrowserDetect.version == 9.8 )
11
+ {
12
+ for( var i = 0; i < plugins.length; i++ )
13
+ {
14
+ if( plugins[i] == 'inlinepopups' )
15
+ {
16
+ delete plugins[i];
17
+ }
18
+ }
19
+ }
20
+ }
21
+
22
+ var tinymce_config =
23
+ {
24
+ mode: 'exact',
25
+ elements: '',
26
+ theme : 'advanced',
27
+ entities : '160,nbsp,38,amp,60,lt,62,gt',
28
+ body_class : 'content',
29
+ plugins : plugins.join(','),
30
+ theme_advanced_buttons1 : 'bold,italic,formatselect,justifyleft,justifycenter,justifyright,justifyfull,|,sub,sup,|,bullist,numlist,|,link,unlink,uploadimage,image,embed,|,code,cleanup,removeformat',
31
+ theme_advanced_blockformats : 'p,address,pre,h2,h3,h4,h5,h6',
32
+ theme_advanced_buttons2 : '',
33
+ theme_advanced_buttons3 : '',
34
+ theme_advanced_toolbar_location : 'top',
35
+ theme_advanced_toolbar_align : 'left',
36
+ theme_advanced_statusbar_location : 'bottom',
37
+ plugin_insertdate_dateFormat : '%Y-%m-%d',
38
+ plugin_insertdate_timeFormat : '%H:%M:%S',
39
+ extended_valid_elements : 'a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]',
40
+ relative_urls : false,
41
+ theme_advanced_resizing : true,
42
+ object_resizing : false,
43
+ //content_css: '/styles/textFormat.css',
44
+ init_instance_callback: function( instance )
45
+ {
46
+ jQuery( instance.contentAreaContainer ).trigger( 'tinymceinit', [ instance ] );
47
+ }
48
+ };
49
+ tinymce_config.setup = function( editor )
50
+ {
51
+ // skip first onBeforeGetContent call because textFormat.css has not loaded yet
52
+ editor.onInit.add( function( editor )
53
+ {
54
+ // richtext focus effect
55
+ tinymce.dom.Event.add
56
+ (
57
+ editor.settings.content_editable ? editor.getBody() : (tinymce.isGecko ? editor.getDoc() : editor.getWin()), 'focus', function()
58
+ {
59
+ // jQuery's internal selector engine requires colons and periods to be escaped
60
+ jQuery( ( '#' + editor.editorContainer ).replace(/(:|\.)/g, '\\$1') ).children('.mceLayout').addClass('focus');
61
+ }
62
+ );
63
+ tinymce.dom.Event.add
64
+ (
65
+ editor.settings.content_editable ? editor.getBody() : (tinymce.isGecko ? editor.getDoc() : editor.getWin()), 'blur', function()
66
+ {
67
+ // jQuery's internal selector engine requires colons and periods to be escaped
68
+ jQuery( ( '#' + editor.editorContainer ).replace(/(:|\.)/g, '\\$1') ).children('.mceLayout').removeClass('focus');
69
+ tinyMCE.triggerSave(); // update textarea contents
70
+ }
71
+ );
72
+ });
73
+ }
74
+
75
+ jQuery( document ).on( 'richtextinit', function( event )
76
+ {
77
+ var textarea = jQuery( event.target );
78
+ if( !textarea.attr( 'id' ) )
79
+ {
80
+ textarea.attr( 'id', 'richtext_' + String((new Date()).getTime()).replace(/\D/gi,'') );
81
+ }
82
+ textarea.tinymce(tinymce_config);
83
+ });
84
+
85
+ jQuery(document).on('itemadd', function(e) {
86
+ jQuery(e.target).find('.field.type_richtext textarea' ).trigger( 'richtextinit');
87
+ })
88
+
89
+ jQuery( '.field.type_richtext textarea' ).trigger( 'richtextinit' );
90
+ });
@@ -0,0 +1,12 @@
1
+ jQuery(document).ready(function() {
2
+ jQuery('form').on('click', 'button[data-locale]', function(e) {
3
+ var form = jQuery(e.delegateTarget);
4
+ var button = jQuery(e.currentTarget);
5
+ var locale = button.attr('data-locale')
6
+
7
+ form.find('.localization[data-locale]').hide();
8
+ form.find('button[data-locale]').removeClass('active');
9
+ form.find('button[data-locale="' + locale + '"]').addClass('active');
10
+ form.find('.localization[data-locale="' + locale + '"]').show();
11
+ });
12
+ });
@@ -0,0 +1,71 @@
1
+ jQuery(function()
2
+ {
3
+ var forms = jQuery('form');
4
+
5
+ forms.each(function()
6
+ {
7
+ var form = jQuery( this );
8
+ form.find( '.nested_wrap' ).each(function()
9
+ {
10
+ var nested = jQuery( this );
11
+ var list = nested.find( '.list:first' );
12
+ var template = jQuery( '<div></div>' ).append( nested.find( '.template:first' ).clone().removeClass( 'template' ) ).html();
13
+
14
+ nested.on( 'click', '.add', function()
15
+ {
16
+ var key = 'on-' + new Date().getTime();
17
+ var item = jQuery( template.replace( /(".*?)(_template_)(.*?")/g, '$1' + key + '$3' ) );
18
+ list.append( item );
19
+ if( item.is('tr') )
20
+ {
21
+ item.fadeIn( 'normal' );
22
+ item.trigger('itemadd');
23
+ }
24
+ else
25
+ {
26
+ item.css({ opacity: 0 });
27
+ item.slideDown( 'fast', function()
28
+ {
29
+ item.css({ opacity: '' });
30
+ item.find( 'input:first' ).focus();
31
+ item.hide();
32
+ item.fadeIn( 'fast' );
33
+ item.trigger('itemadd');
34
+ });
35
+ }
36
+ });
37
+
38
+ nested.on( 'click', '.remove', function()
39
+ {
40
+ var item = jQuery( this ).parents( '.item' );
41
+ var destroy = item.find( '.destroy' );
42
+ var end = function()
43
+ {
44
+ item.hide();
45
+ item.trigger('itemremoveend');
46
+ if( destroy.length > 0 )
47
+ {
48
+ destroy.val( true );
49
+ }
50
+ else
51
+ {
52
+ item.remove();
53
+ }
54
+ }
55
+ if( item.is('tr') )
56
+ {
57
+ item.fadeOut( 'fast', end );
58
+ }
59
+ else
60
+ {
61
+ item.fadeOut( 'fast', function()
62
+ {
63
+ item.css( 'opacity', 0 ).show().slideUp( 'fast', end );
64
+ });
65
+ }
66
+ item.trigger('itemremove');
67
+ });
68
+ });
69
+ });
70
+
71
+ });
@@ -0,0 +1,27 @@
1
+ jQuery(document).ready(function() {
2
+ jQuery('.list[data-sortable]').sortable({
3
+ axis: "y",
4
+ ontainment: "parent",
5
+ cursor: "move",
6
+ delay: 150,
7
+ distance: 5,
8
+ handle: '> .handle',
9
+ items: "> .item",
10
+ scroll: true,
11
+ update: function( event, ui ) {
12
+ jQuery(this).trigger('sortableupdate');
13
+ }
14
+ });
15
+
16
+ jQuery('[data-sortable]').on('sortableupdate', function() {
17
+ var sortable_container = jQuery(this);
18
+ sortable_container.find('> .item > input[type="hidden"].position').each(function(i) {
19
+ jQuery(this).attr('value', i);
20
+ });
21
+ });
22
+
23
+ jQuery( document.body ).on('itemadd', '.list[data-sortable]', function (e) {
24
+ jQuery(e.target).trigger('sortableupdate');
25
+ });
26
+
27
+ });
@@ -0,0 +1,183 @@
1
+ // constructor
2
+ function RequestUrl( params )
3
+ {
4
+ if( params === undefined )
5
+ {
6
+ params = {};
7
+ }
8
+ var keepCurrentQuery = true;
9
+ if( params === false || params.baseUrl !== undefined )
10
+ {
11
+ keepCurrentQuery = false;
12
+ }
13
+ if( typeof params == 'string' )
14
+ {
15
+ params = { baseUrl: params };
16
+ }
17
+ // setup members
18
+ this.path = '';
19
+ this.query = {};
20
+ // get url
21
+ var baseUrl = params.baseUrl || location.href;
22
+ // remove anchor
23
+ baseUrl = baseUrl.split( '#' ).shift();
24
+ // split url
25
+ var urlParts = baseUrl.split( '?' );
26
+ this.path = urlParts.shift();
27
+ if( keepCurrentQuery && urlParts.length > 0 )
28
+ {
29
+ var queryParts = urlParts.shift().split( '&' );
30
+ for( var i = 0; i < queryParts.length; i++ )
31
+ {
32
+ if( queryParts[ i ].length > 0 )
33
+ {
34
+ var variable = queryParts[ i ].split( '=' );
35
+ var name = variable.shift();
36
+
37
+ if( variable.length > 0 )
38
+ {
39
+ var value = variable.shift();
40
+ }
41
+ else
42
+ {
43
+ var value = '';
44
+ }
45
+
46
+ if( unescape( name ).substr( unescape( name ).length - 2, 2 ) == '[]' )
47
+ {
48
+ name = unescape( name );
49
+ }
50
+
51
+ if( name.substr( name.length - 2, 2 ) == '[]' )
52
+ {
53
+ name = name.substr( 0, name.length - 2 );
54
+ if( this.query[ name ] === undefined || !(this.query[ name ] instanceof Array) )
55
+ {
56
+ this.query[ name ] = [];
57
+ }
58
+ this.query[ name ].push( value );
59
+ }
60
+ else
61
+ {
62
+ this.query[ name ] = value;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ if( params.keep !== undefined && params.keep instanceof Array )
68
+ {
69
+ var filteredQuery = {};
70
+ for( var i = 0; i < params.keep.length; i++ )
71
+ {
72
+ if( this.query[ params.keep[i] ] !== undefined )
73
+ {
74
+ filteredQuery[ params.keep[i] ] = this.query[ params.keep[i] ];
75
+ }
76
+ }
77
+ this.query = filteredQuery;
78
+ }
79
+ }
80
+
81
+ RequestUrl.prototype.add = function( params, value )
82
+ {
83
+ if( params instanceof Array )
84
+ {
85
+ for( var i = 0; i < params.length; i++ )
86
+ {
87
+ if( params[ i ].name !== undefined && params[ i ].value !== undefined )
88
+ {
89
+ var name = params[ i ].name;
90
+ if( name.substr( name.length - 2, 2 ) == '[]' )
91
+ {
92
+ name = name.substr( 0, name.length - 2 );
93
+ if( this.query[ name ] === undefined || !(this.query[ name ] instanceof Array) )
94
+ {
95
+ this.query[ name ] = [];
96
+ }
97
+ this.query[ name ].push( params[ i ].value );
98
+ }
99
+ else
100
+ {
101
+ this.query[ params[ i ].name ] = params[ i ].value;
102
+ }
103
+ }
104
+ }
105
+ }
106
+ else if( params instanceof Object )
107
+ {
108
+ for( var i in params )
109
+ {
110
+ this.query[ i ] = params[ i ];
111
+ }
112
+ }
113
+ else if( typeof params == 'string' )
114
+ {
115
+ if( value === undefined )
116
+ {
117
+ var temp = new RequestUrl( '?' + params );
118
+ for( var i in temp.query )
119
+ {
120
+ this.query[ i ] = temp.query[i];
121
+ }
122
+ }
123
+ else
124
+ {
125
+ this.query[ params ] = value;
126
+ }
127
+ }
128
+ return this;
129
+ }
130
+
131
+ RequestUrl.prototype.removeAll = function( preserveParams )
132
+ {
133
+ for( var i in this.query )
134
+ {
135
+ if( preserveParams === undefined || jQuery.inArray(i, preserveParams) == -1 )
136
+ {
137
+ this.remove(i);
138
+ }
139
+ }
140
+ return this;
141
+ }
142
+
143
+ RequestUrl.prototype.remove = function( name )
144
+ {
145
+ delete this.query[ name ];
146
+ return this;
147
+ }
148
+
149
+ RequestUrl.prototype.get = function( name )
150
+ {
151
+ if( this.query[ name ] !== undefined )
152
+ {
153
+ return this.query[ name ];
154
+ }
155
+ return null;
156
+ }
157
+
158
+ RequestUrl.prototype.getUrl = function()
159
+ {
160
+ var query = '';
161
+ var isFirst = true;
162
+ for( var i in this.query )
163
+ {
164
+ if( !isFirst )
165
+ {
166
+ query += '&';
167
+ }
168
+ else
169
+ {
170
+ isFirst = false;
171
+ }
172
+ if( this.query[ i ] instanceof Array )
173
+ {
174
+ query += i + '[]=' + this.query[ i ].join( '&' + i + '[]=' );
175
+ }
176
+ else
177
+ {
178
+ query += i + '=' + this.query[ i ];
179
+ }
180
+ }
181
+
182
+ return this.path + '?' + query;
183
+ }
@@ -0,0 +1,464 @@
1
+ <% img_path = "releaf/3rd_party/jquery-ui-1.9.2.custom" %>
2
+
3
+ /*! jQuery UI - v1.9.2 - 2012-11-23
4
+ * http://jqueryui.com
5
+ * Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
6
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/
7
+ * Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */
8
+
9
+ /* Layout helpers
10
+ ----------------------------------*/
11
+ .ui-helper-hidden { display: none; }
12
+ .ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
13
+ .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
14
+ .ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
15
+ .ui-helper-clearfix:after { clear: both; }
16
+ .ui-helper-clearfix { zoom: 1; }
17
+ .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
18
+
19
+
20
+ /* Interaction Cues
21
+ ----------------------------------*/
22
+ .ui-state-disabled { cursor: default !important; }
23
+
24
+
25
+ /* Icons
26
+ ----------------------------------*/
27
+
28
+ /* states and images */
29
+ .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
30
+
31
+
32
+ /* Misc visuals
33
+ ----------------------------------*/
34
+
35
+ /* Overlays */
36
+ .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
37
+ .ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin-top: 2px; padding: .5em .5em .5em .7em; zoom: 1; }
38
+ .ui-accordion .ui-accordion-icons { padding-left: 2.2em; }
39
+ .ui-accordion .ui-accordion-noicons { padding-left: .7em; }
40
+ .ui-accordion .ui-accordion-icons .ui-accordion-icons { padding-left: 2.2em; }
41
+ .ui-accordion .ui-accordion-header .ui-accordion-header-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
42
+ .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; zoom: 1; }
43
+ .ui-autocomplete {
44
+ position: absolute;
45
+ top: 0;
46
+ left: 0;
47
+ cursor: default;
48
+ }
49
+
50
+ /* workarounds */
51
+ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
52
+ .ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
53
+ .ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { text-decoration: none; }
54
+ .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
55
+ button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
56
+ .ui-button-icons-only { width: 3.4em; }
57
+ button.ui-button-icons-only { width: 3.7em; }
58
+
59
+ /*button text element */
60
+ .ui-button .ui-button-text { display: block; line-height: 1.4; }
61
+ .ui-button-text-only .ui-button-text { padding: .4em 1em; }
62
+ .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
63
+ .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
64
+ .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
65
+ .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
66
+ /* no icon support for input elements, provide padding by default */
67
+ input.ui-button { padding: .4em 1em; }
68
+
69
+ /*button icon element(s) */
70
+ .ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
71
+ .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
72
+ .ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
73
+ .ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
74
+ .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
75
+
76
+ /*button sets*/
77
+ .ui-buttonset { margin-right: 7px; }
78
+ .ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
79
+
80
+ /* workarounds */
81
+ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
82
+ .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
83
+ .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
84
+ .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
85
+ .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
86
+ .ui-datepicker .ui-datepicker-prev { left:2px; }
87
+ .ui-datepicker .ui-datepicker-next { right:2px; }
88
+ .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
89
+ .ui-datepicker .ui-datepicker-next-hover { right:1px; }
90
+ .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
91
+ .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
92
+ .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
93
+ .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
94
+ .ui-datepicker select.ui-datepicker-month,
95
+ .ui-datepicker select.ui-datepicker-year { width: 49%;}
96
+ .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
97
+ .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
98
+ .ui-datepicker td { border: 0; padding: 1px; }
99
+ .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
100
+ .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
101
+ .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
102
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
103
+
104
+ /* with multiple calendars */
105
+ .ui-datepicker.ui-datepicker-multi { width:auto; }
106
+ .ui-datepicker-multi .ui-datepicker-group { float:left; }
107
+ .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
108
+ .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
109
+ .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
110
+ .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
111
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
112
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
113
+ .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
114
+ .ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
115
+
116
+ /* RTL support */
117
+ .ui-datepicker-rtl { direction: rtl; }
118
+ .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
119
+ .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
120
+ .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
121
+ .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
122
+ .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
123
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
124
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
125
+ .ui-datepicker-rtl .ui-datepicker-group { float:right; }
126
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
127
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
128
+
129
+ /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
130
+ .ui-datepicker-cover {
131
+ position: absolute; /*must have*/
132
+ z-index: -1; /*must have*/
133
+ filter: mask(); /*must have*/
134
+ top: -4px; /*must have*/
135
+ left: -4px; /*must have*/
136
+ width: 200px; /*must have*/
137
+ height: 200px; /*must have*/
138
+ }.ui-dialog { position: absolute; top: 0; left: 0; padding: .2em; width: 300px; overflow: hidden; }
139
+ .ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
140
+ .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
141
+ .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
142
+ .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
143
+ .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
144
+ .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
145
+ .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
146
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
147
+ .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
148
+ .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
149
+ .ui-draggable .ui-dialog-titlebar { cursor: move; }
150
+ .ui-menu { list-style:none; padding: 2px; margin: 0; display:block; outline: none; }
151
+ .ui-menu .ui-menu { margin-top: -3px; position: absolute; }
152
+ .ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1; width: 100%; }
153
+ .ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; }
154
+ .ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; }
155
+ .ui-menu .ui-menu-item a.ui-state-focus,
156
+ .ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; }
157
+
158
+ .ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }
159
+ .ui-menu .ui-state-disabled a { cursor: default; }
160
+
161
+ /* icon support */
162
+ .ui-menu-icons { position: relative; }
163
+ .ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }
164
+
165
+ /* left-aligned */
166
+ .ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }
167
+
168
+ /* right-aligned */
169
+ .ui-menu .ui-menu-icon { position: static; float: right; }
170
+ .ui-progressbar { height:2em; text-align: left; overflow: hidden; }
171
+ .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }.ui-resizable { position: relative;}
172
+ .ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
173
+ .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
174
+ .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
175
+ .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
176
+ .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
177
+ .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
178
+ .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
179
+ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
180
+ .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
181
+ .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
182
+ .ui-slider { position: relative; text-align: left; }
183
+ .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
184
+ .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
185
+
186
+ .ui-slider-horizontal { height: .8em; }
187
+ .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
188
+ .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
189
+ .ui-slider-horizontal .ui-slider-range-min { left: 0; }
190
+ .ui-slider-horizontal .ui-slider-range-max { right: 0; }
191
+
192
+ .ui-slider-vertical { width: .8em; height: 100px; }
193
+ .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
194
+ .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
195
+ .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
196
+ .ui-slider-vertical .ui-slider-range-max { top: 0; }.ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }
197
+ .ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }
198
+ .ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }
199
+ .ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */
200
+ .ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */
201
+ .ui-spinner-up { top: 0; }
202
+ .ui-spinner-down { bottom: 0; }
203
+
204
+ /* TR overrides */
205
+ .ui-spinner .ui-icon-triangle-1-s {
206
+ /* need to fix icons sprite */
207
+ background-position:-65px -16px;
208
+ }
209
+ .ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
210
+ .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
211
+ .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom: 0; padding: 0; white-space: nowrap; }
212
+ .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
213
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; }
214
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }
215
+ .ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
216
+ .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
217
+ .ui-tooltip {
218
+ padding: 8px;
219
+ position: absolute;
220
+ z-index: 9999;
221
+ max-width: 300px;
222
+ -webkit-box-shadow: 0 0 5px #aaa;
223
+ box-shadow: 0 0 5px #aaa;
224
+ }
225
+ /* Fades and background-images don't work well together in IE6, drop the image */
226
+ * html .ui-tooltip {
227
+ background-image: none;
228
+ }
229
+ body .ui-tooltip { border-width: 2px; }
230
+
231
+ /* Component containers
232
+ ----------------------------------*/
233
+ .ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
234
+ .ui-widget .ui-widget { font-size: 1em; }
235
+ .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
236
+ .ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url("<%= asset_path("#{img_path}/ui-bg_flat_75_ffffff_40x100.png") %>") 50% 50% repeat-x; color: #222222; }
237
+ .ui-widget-content a { color: #222222; }
238
+ .ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url("<%= asset_path("#{img_path}/ui-bg_highlight-soft_75_cccccc_1x100.png") %>") 50% 50% repeat-x; color: #222222; font-weight: bold; }
239
+ .ui-widget-header a { color: #222222; }
240
+
241
+ /* Interaction states
242
+ ----------------------------------*/
243
+ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url("<%= asset_path("#{img_path}/ui-bg_glass_75_e6e6e6_1x400.png") %>") 50% 50% repeat-x; font-weight: normal; color: #555555; }
244
+ .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
245
+ .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url("<%= asset_path("#{img_path}/ui-bg_glass_75_dadada_1x400.png") %>") 50% 50% repeat-x; font-weight: normal; color: #212121; }
246
+ .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { color: #212121; text-decoration: none; }
247
+ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url("<%= asset_path("#{img_path}/ui-bg_glass_65_ffffff_1x400.png") %>") 50% 50% repeat-x; font-weight: normal; color: #212121; }
248
+ .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
249
+
250
+ /* Interaction Cues
251
+ ----------------------------------*/
252
+ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url("<%= asset_path("#{img_path}/ui-bg_glass_55_fbf9ee_1x400.png") %>") 50% 50% repeat-x; color: #363636; }
253
+ .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
254
+ .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url("<%= asset_path("#{img_path}/ui-bg_glass_95_fef1ec_1x400.png") %>") 50% 50% repeat-x; color: #cd0a0a; }
255
+ .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
256
+ .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
257
+ .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
258
+ .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
259
+ .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
260
+ .ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); } /* For IE8 - See #6059 */
261
+
262
+ /* Icons
263
+ ----------------------------------*/
264
+
265
+ /* states and images */
266
+ .ui-icon { width: 16px; height: 16px; background-image: url("<%= asset_path("#{img_path}/ui-icons_222222_256x240.png") %>"); }
267
+ .ui-widget-content .ui-icon {background-image: url("<%= asset_path("#{img_path}/ui-icons_222222_256x240.png") %>"); }
268
+ .ui-widget-header .ui-icon {background-image: url("<%= asset_path("#{img_path}/ui-icons_222222_256x240.png") %>"); }
269
+ .ui-state-default .ui-icon { background-image: url("<%= asset_path("#{img_path}/ui-icons_888888_256x240.png") %>"); }
270
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url("<%= asset_path("#{img_path}/ui-icons_454545_256x240.png") %>"); }
271
+ .ui-state-active .ui-icon {background-image: url("<%= asset_path("#{img_path}/ui-icons_454545_256x240.png") %>"); }
272
+ .ui-state-highlight .ui-icon {background-image: url("<%= asset_path("#{img_path}/ui-icons_2e83ff_256x240.png") %>"); }
273
+ .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url("<%= asset_path("#{img_path}/ui-icons_cd0a0a_256x240.png") %>"); }
274
+
275
+ /* positioning */
276
+ .ui-icon-carat-1-n { background-position: 0 0; }
277
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
278
+ .ui-icon-carat-1-e { background-position: -32px 0; }
279
+ .ui-icon-carat-1-se { background-position: -48px 0; }
280
+ .ui-icon-carat-1-s { background-position: -64px 0; }
281
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
282
+ .ui-icon-carat-1-w { background-position: -96px 0; }
283
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
284
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
285
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
286
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
287
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
288
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
289
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
290
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
291
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
292
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
293
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
294
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
295
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
296
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
297
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
298
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
299
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
300
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
301
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
302
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
303
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
304
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
305
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
306
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
307
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
308
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
309
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
310
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
311
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
312
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
313
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
314
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
315
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
316
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
317
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
318
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
319
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
320
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
321
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
322
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
323
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
324
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
325
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
326
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
327
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
328
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
329
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
330
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
331
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
332
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
333
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
334
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
335
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
336
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
337
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
338
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
339
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
340
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
341
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
342
+ .ui-icon-extlink { background-position: -32px -80px; }
343
+ .ui-icon-newwin { background-position: -48px -80px; }
344
+ .ui-icon-refresh { background-position: -64px -80px; }
345
+ .ui-icon-shuffle { background-position: -80px -80px; }
346
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
347
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
348
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
349
+ .ui-icon-folder-open { background-position: -16px -96px; }
350
+ .ui-icon-document { background-position: -32px -96px; }
351
+ .ui-icon-document-b { background-position: -48px -96px; }
352
+ .ui-icon-note { background-position: -64px -96px; }
353
+ .ui-icon-mail-closed { background-position: -80px -96px; }
354
+ .ui-icon-mail-open { background-position: -96px -96px; }
355
+ .ui-icon-suitcase { background-position: -112px -96px; }
356
+ .ui-icon-comment { background-position: -128px -96px; }
357
+ .ui-icon-person { background-position: -144px -96px; }
358
+ .ui-icon-print { background-position: -160px -96px; }
359
+ .ui-icon-trash { background-position: -176px -96px; }
360
+ .ui-icon-locked { background-position: -192px -96px; }
361
+ .ui-icon-unlocked { background-position: -208px -96px; }
362
+ .ui-icon-bookmark { background-position: -224px -96px; }
363
+ .ui-icon-tag { background-position: -240px -96px; }
364
+ .ui-icon-home { background-position: 0 -112px; }
365
+ .ui-icon-flag { background-position: -16px -112px; }
366
+ .ui-icon-calendar { background-position: -32px -112px; }
367
+ .ui-icon-cart { background-position: -48px -112px; }
368
+ .ui-icon-pencil { background-position: -64px -112px; }
369
+ .ui-icon-clock { background-position: -80px -112px; }
370
+ .ui-icon-disk { background-position: -96px -112px; }
371
+ .ui-icon-calculator { background-position: -112px -112px; }
372
+ .ui-icon-zoomin { background-position: -128px -112px; }
373
+ .ui-icon-zoomout { background-position: -144px -112px; }
374
+ .ui-icon-search { background-position: -160px -112px; }
375
+ .ui-icon-wrench { background-position: -176px -112px; }
376
+ .ui-icon-gear { background-position: -192px -112px; }
377
+ .ui-icon-heart { background-position: -208px -112px; }
378
+ .ui-icon-star { background-position: -224px -112px; }
379
+ .ui-icon-link { background-position: -240px -112px; }
380
+ .ui-icon-cancel { background-position: 0 -128px; }
381
+ .ui-icon-plus { background-position: -16px -128px; }
382
+ .ui-icon-plusthick { background-position: -32px -128px; }
383
+ .ui-icon-minus { background-position: -48px -128px; }
384
+ .ui-icon-minusthick { background-position: -64px -128px; }
385
+ .ui-icon-close { background-position: -80px -128px; }
386
+ .ui-icon-closethick { background-position: -96px -128px; }
387
+ .ui-icon-key { background-position: -112px -128px; }
388
+ .ui-icon-lightbulb { background-position: -128px -128px; }
389
+ .ui-icon-scissors { background-position: -144px -128px; }
390
+ .ui-icon-clipboard { background-position: -160px -128px; }
391
+ .ui-icon-copy { background-position: -176px -128px; }
392
+ .ui-icon-contact { background-position: -192px -128px; }
393
+ .ui-icon-image { background-position: -208px -128px; }
394
+ .ui-icon-video { background-position: -224px -128px; }
395
+ .ui-icon-script { background-position: -240px -128px; }
396
+ .ui-icon-alert { background-position: 0 -144px; }
397
+ .ui-icon-info { background-position: -16px -144px; }
398
+ .ui-icon-notice { background-position: -32px -144px; }
399
+ .ui-icon-help { background-position: -48px -144px; }
400
+ .ui-icon-check { background-position: -64px -144px; }
401
+ .ui-icon-bullet { background-position: -80px -144px; }
402
+ .ui-icon-radio-on { background-position: -96px -144px; }
403
+ .ui-icon-radio-off { background-position: -112px -144px; }
404
+ .ui-icon-pin-w { background-position: -128px -144px; }
405
+ .ui-icon-pin-s { background-position: -144px -144px; }
406
+ .ui-icon-play { background-position: 0 -160px; }
407
+ .ui-icon-pause { background-position: -16px -160px; }
408
+ .ui-icon-seek-next { background-position: -32px -160px; }
409
+ .ui-icon-seek-prev { background-position: -48px -160px; }
410
+ .ui-icon-seek-end { background-position: -64px -160px; }
411
+ .ui-icon-seek-start { background-position: -80px -160px; }
412
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
413
+ .ui-icon-seek-first { background-position: -80px -160px; }
414
+ .ui-icon-stop { background-position: -96px -160px; }
415
+ .ui-icon-eject { background-position: -112px -160px; }
416
+ .ui-icon-volume-off { background-position: -128px -160px; }
417
+ .ui-icon-volume-on { background-position: -144px -160px; }
418
+ .ui-icon-power { background-position: 0 -176px; }
419
+ .ui-icon-signal-diag { background-position: -16px -176px; }
420
+ .ui-icon-signal { background-position: -32px -176px; }
421
+ .ui-icon-battery-0 { background-position: -48px -176px; }
422
+ .ui-icon-battery-1 { background-position: -64px -176px; }
423
+ .ui-icon-battery-2 { background-position: -80px -176px; }
424
+ .ui-icon-battery-3 { background-position: -96px -176px; }
425
+ .ui-icon-circle-plus { background-position: 0 -192px; }
426
+ .ui-icon-circle-minus { background-position: -16px -192px; }
427
+ .ui-icon-circle-close { background-position: -32px -192px; }
428
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
429
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
430
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
431
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
432
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
433
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
434
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
435
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
436
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
437
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
438
+ .ui-icon-circle-check { background-position: -208px -192px; }
439
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
440
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
441
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
442
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
443
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
444
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
445
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
446
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
447
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
448
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
449
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
450
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
451
+
452
+
453
+ /* Misc visuals
454
+ ----------------------------------*/
455
+
456
+ /* Corner radius */
457
+ .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
458
+ .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
459
+ .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
460
+ .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
461
+
462
+ /* Overlays */
463
+ .ui-widget-overlay { background: #aaaaaa url("<%= asset_path("#{img_path}/ui-bg_flat_0_aaaaaa_40x100.png") %>") 50% 50% repeat-x; opacity: .3;filter:Alpha(Opacity=30); }
464
+ .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url("<%= asset_path("#{img_path}/ui-bg_flat_0_aaaaaa_40x100.png") %>") 50% 50% repeat-x; opacity: .3;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }