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,29 @@
1
+ jQuery(document).ready(function() {
2
+
3
+ $('[data-sortable]').each(function() {
4
+ var sortable_list = jQuery(this);
5
+
6
+ sortable_list.sortable({
7
+ axes: 'y',
8
+ items: '[id]',
9
+ helper: function(e, ui){
10
+ ui.children().each(function(){
11
+ var item = jQuery(this);
12
+ item.width(item.width());
13
+ item.children().each(function(){
14
+ var subitem = jQuery(this);
15
+ subitem.width(subitem.width());
16
+ });
17
+ });
18
+ jQuery(ui).closest('table').find('th').each(function(){
19
+ var item = jQuery(this);
20
+ item.width(item.width());
21
+ });
22
+ return ui;
23
+ },
24
+ update: function(){
25
+ jQuery.post(sortable_list.attr('data-sortable'), sortable_list.sortable('serialize') + '&_method=post');
26
+ }
27
+ }).disableSelection();
28
+ });
29
+ });
@@ -0,0 +1,53 @@
1
+ class CreateReleafAdmins < ActiveRecord::Migration
2
+ def change
3
+ create_table :releaf_admins do |t|
4
+ t.string :name, :null => false
5
+ t.string :surname, :null => false
6
+ t.string :phone
7
+ t.string :avatar_uid
8
+ t.integer :role_id
9
+
10
+
11
+ ## Database authenticatable
12
+ t.string :email, :null => false, :default => ""
13
+ t.string :encrypted_password, :null => false, :default => ""
14
+
15
+ ## Recoverable
16
+ t.string :reset_password_token
17
+ t.datetime :reset_password_sent_at
18
+
19
+ ## Rememberable
20
+ t.datetime :remember_created_at
21
+
22
+ ## Trackable
23
+ t.integer :sign_in_count, :default => 0
24
+ t.datetime :current_sign_in_at
25
+ t.datetime :last_sign_in_at
26
+ t.string :current_sign_in_ip
27
+ t.string :last_sign_in_ip
28
+
29
+ ## Confirmable
30
+ # t.string :confirmation_token
31
+ # t.datetime :confirmed_at
32
+ # t.datetime :confirmation_sent_at
33
+ # t.string :unconfirmed_email # Only if using reconfirmable
34
+
35
+ ## Lockable
36
+ # t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
37
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
38
+ # t.datetime :locked_at
39
+
40
+ ## Token authenticatable
41
+ # t.string :authentication_token
42
+
43
+ t.timestamps
44
+ end
45
+
46
+ add_index :releaf_admins, :role_id
47
+ add_index :releaf_admins, :email, :unique => true
48
+ add_index :releaf_admins, :reset_password_token, :unique => true
49
+ # add_index :releaf_admins, :confirmation_token, :unique => true
50
+ # add_index :releaf_admins, :unlock_token, :unique => true
51
+ # add_index :releaf_admins, :authentication_token, :unique => true
52
+ end
53
+ end
@@ -0,0 +1,25 @@
1
+ class CreateReleafNodes < ActiveRecord::Migration
2
+ def change
3
+ create_table "releaf_nodes", :force => true do |t|
4
+ t.string "name"
5
+ t.string "slug"
6
+ t.integer "parent_id"
7
+ t.integer "lft"
8
+ t.integer "rgt"
9
+ t.string "content_type"
10
+ t.integer "content_id"
11
+ t.text "data"
12
+ t.datetime "created_at", :null => false
13
+ t.datetime "updated_at", :null => false
14
+ t.string "content_string"
15
+ t.integer "position"
16
+ t.boolean 'visible', :null => false, :default => true
17
+ t.boolean 'protected', :null => false, :default => false
18
+ end
19
+ add_index :releaf_nodes, :parent_id
20
+ add_index :releaf_nodes, [:content_type, :content_id]
21
+ add_index :releaf_nodes, :lft
22
+ add_index :releaf_nodes, :rgt
23
+ add_index :releaf_nodes, :slug
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ class CreateReleafRoles < ActiveRecord::Migration
2
+ def change
3
+ create_table :releaf_roles do |t|
4
+ t.string :name, :null => false
5
+ t.text :permissions
6
+ t.boolean :default, :null => false, :default => false
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ class CreateReleafTinymceAssets < ActiveRecord::Migration
2
+ def change
3
+ create_table :releaf_tinymce_assets do |t|
4
+ t.string :file_uid
5
+ t.string :file_name
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,31 @@
1
+ class CreateReleafTranslations < ActiveRecord::Migration
2
+ def change
3
+ create_table :releaf_translation_groups do |t|
4
+ t.string :scope, :null => false
5
+ t.timestamps
6
+ end
7
+ add_index :releaf_translation_groups, :scope, :unique => true
8
+
9
+
10
+ create_table :releaf_translations do |t|
11
+ t.integer :group_id, :null => false
12
+ t.string :key, :null => false
13
+
14
+ t.timestamps
15
+ end
16
+ add_index :releaf_translations, [:group_id, :key], :unique => true
17
+ add_index :releaf_translations, :group_id
18
+
19
+
20
+ create_table :releaf_translation_data do |t|
21
+ t.integer :translation_id, :null => false
22
+ t.string :lang, :null => false, :limit => 5
23
+ t.text :localization
24
+
25
+ t.timestamps
26
+ end
27
+ add_index :releaf_translation_data, :lang
28
+ add_index :releaf_translation_data, :translation_id
29
+ add_index :releaf_translation_data, [:lang, :translation_id], :unique => true
30
+ end
31
+ end
@@ -0,0 +1,51 @@
1
+ class AdminAbility
2
+ include CanCan::Ability
3
+
4
+ ## Example:
5
+ #
6
+ # PERMISSIONS = [
7
+ # 'admin',
8
+ # ['news', ['none', 'create', 'update', 'destroy']],
9
+ # ]
10
+
11
+ PERMISSIONS = [
12
+ 'admin',
13
+ 'manage_content',
14
+ 'manage_translations',
15
+ ]
16
+
17
+ def initialize admin=nil
18
+ role = admin.try(:role)
19
+ return unless role
20
+
21
+ if role.admin_permission
22
+ can :manage, :all
23
+ return
24
+ end
25
+
26
+ if role.manage_content_permission
27
+ can :manage, Releaf::Node
28
+ end
29
+
30
+ if role.manage_translations_permission
31
+ # Only manage is available for translation
32
+ can :manage, Translation
33
+ end
34
+
35
+ ## Example:
36
+ #
37
+ # if %w[create update destroy].include? role.news_permissions
38
+ # can :index, News
39
+ # can :create, News
40
+ # end
41
+ #
42
+ # if %w[update destroy].include? role.news_permissions
43
+ # can :update, News
44
+ # end
45
+ #
46
+ # if %w[destroy].include? role.news_permissions
47
+ # can :destroy, News
48
+ # end
49
+
50
+ end
51
+ end
@@ -0,0 +1,64 @@
1
+ # encoding: UTF-8
2
+
3
+ Releaf::Role.delete_all
4
+ Releaf::Admin.delete_all
5
+
6
+ Settings.delete_all
7
+
8
+ # Role {{{
9
+
10
+ puts "Creating roles"
11
+ roles = {
12
+ default: {
13
+ name: 'default role',
14
+ default: true
15
+ },
16
+ admins: {
17
+ name: 'admins',
18
+ default: false,
19
+ admin_permission: true
20
+ }
21
+ }
22
+
23
+ roles.each_value do |value|
24
+ value[:id] = Releaf::Role.create!(value).id
25
+ end
26
+
27
+ # }}}
28
+ # Admin {{{
29
+
30
+ puts "Creating admins"
31
+ admins = {
32
+ admin: {
33
+ name: 'Admin',
34
+ surname: 'User',
35
+ password: 'password',
36
+ password_confirmation: 'password',
37
+ email: 'admin@example.com',
38
+ role_id: roles[:admins][:id],
39
+ },
40
+ janis: {
41
+ name: 'Simple',
42
+ surname: 'User',
43
+ password: 'LetMeIn',
44
+ password_confirmation: 'LetMeIn',
45
+ email: 'user@example.com',
46
+ role_id: roles[:default][:id]
47
+ }
48
+ }
49
+
50
+ admins.each_value do |value|
51
+ value[:id] = Releaf::Admin.create!(value).id
52
+ end
53
+
54
+ # }}}
55
+ # Settings {{{
56
+
57
+ puts "Creating settings"
58
+ Settings.i18n_locales = %w[en]
59
+ Settings.email_from = "do_not_reply@example.com"
60
+
61
+ # }}}
62
+
63
+
64
+ # vim: set fdm=marker:
@@ -0,0 +1,1174 @@
1
+ /*! jQuery UI - v1.10.0 - 2013-01-17
2
+ * http://jqueryui.com
3
+ * 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
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/
5
+ * Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden {
10
+ display: none;
11
+ }
12
+ .ui-helper-hidden-accessible {
13
+ border: 0;
14
+ clip: rect(0 0 0 0);
15
+ height: 1px;
16
+ margin: -1px;
17
+ overflow: hidden;
18
+ padding: 0;
19
+ position: absolute;
20
+ width: 1px;
21
+ }
22
+ .ui-helper-reset {
23
+ margin: 0;
24
+ padding: 0;
25
+ border: 0;
26
+ outline: 0;
27
+ line-height: 1.3;
28
+ text-decoration: none;
29
+ font-size: 100%;
30
+ list-style: none;
31
+ }
32
+ .ui-helper-clearfix:before,
33
+ .ui-helper-clearfix:after {
34
+ content: "";
35
+ display: table;
36
+ }
37
+ .ui-helper-clearfix:after {
38
+ clear: both;
39
+ }
40
+ .ui-helper-clearfix {
41
+ min-height: 0; /* support: IE7 */
42
+ }
43
+ .ui-helper-zfix {
44
+ width: 100%;
45
+ height: 100%;
46
+ top: 0;
47
+ left: 0;
48
+ position: absolute;
49
+ opacity: 0;
50
+ filter:Alpha(Opacity=0);
51
+ }
52
+
53
+ .ui-front {
54
+ z-index: 100;
55
+ }
56
+
57
+
58
+ /* Interaction Cues
59
+ ----------------------------------*/
60
+ .ui-state-disabled {
61
+ cursor: default !important;
62
+ }
63
+
64
+
65
+ /* Icons
66
+ ----------------------------------*/
67
+
68
+ /* states and images */
69
+ .ui-icon {
70
+ display: block;
71
+ text-indent: -99999px;
72
+ overflow: hidden;
73
+ background-repeat: no-repeat;
74
+ }
75
+
76
+
77
+ /* Misc visuals
78
+ ----------------------------------*/
79
+
80
+ /* Overlays */
81
+ .ui-widget-overlay {
82
+ position: fixed;
83
+ top: 0;
84
+ left: 0;
85
+ width: 100%;
86
+ height: 100%;
87
+ }
88
+ .ui-accordion .ui-accordion-header {
89
+ display: block;
90
+ cursor: pointer;
91
+ position: relative;
92
+ margin-top: 2px;
93
+ padding: .5em .5em .5em .7em;
94
+ min-height: 0; /* support: IE7 */
95
+ }
96
+ .ui-accordion .ui-accordion-icons {
97
+ padding-left: 2.2em;
98
+ }
99
+ .ui-accordion .ui-accordion-noicons {
100
+ padding-left: .7em;
101
+ }
102
+ .ui-accordion .ui-accordion-icons .ui-accordion-icons {
103
+ padding-left: 2.2em;
104
+ }
105
+ .ui-accordion .ui-accordion-header .ui-accordion-header-icon {
106
+ position: absolute;
107
+ left: .5em;
108
+ top: 50%;
109
+ margin-top: -8px;
110
+ }
111
+ .ui-accordion .ui-accordion-content {
112
+ padding: 1em 2.2em;
113
+ border-top: 0;
114
+ overflow: auto;
115
+ }
116
+ .ui-autocomplete {
117
+ position: absolute;
118
+ top: 0;
119
+ left: 0;
120
+ cursor: default;
121
+ }
122
+ .ui-button {
123
+ display: inline-block;
124
+ position: relative;
125
+ padding: 0;
126
+ line-height: normal;
127
+ margin-right: .1em;
128
+ cursor: pointer;
129
+ vertical-align: middle;
130
+ text-align: center;
131
+ overflow: visible; /* removes extra width in IE */
132
+ }
133
+ .ui-button,
134
+ .ui-button:link,
135
+ .ui-button:visited,
136
+ .ui-button:hover,
137
+ .ui-button:active {
138
+ text-decoration: none;
139
+ }
140
+ /* to make room for the icon, a width needs to be set here */
141
+ .ui-button-icon-only {
142
+ width: 2.2em;
143
+ }
144
+ /* button elements seem to need a little more width */
145
+ button.ui-button-icon-only {
146
+ width: 2.4em;
147
+ }
148
+ .ui-button-icons-only {
149
+ width: 3.4em;
150
+ }
151
+ button.ui-button-icons-only {
152
+ width: 3.7em;
153
+ }
154
+
155
+ /* button text element */
156
+ .ui-button .ui-button-text {
157
+ display: block;
158
+ line-height: normal;
159
+ }
160
+ .ui-button-text-only .ui-button-text {
161
+ padding: .4em 1em;
162
+ }
163
+ .ui-button-icon-only .ui-button-text,
164
+ .ui-button-icons-only .ui-button-text {
165
+ padding: .4em;
166
+ text-indent: -9999999px;
167
+ }
168
+ .ui-button-text-icon-primary .ui-button-text,
169
+ .ui-button-text-icons .ui-button-text {
170
+ padding: .4em 1em .4em 2.1em;
171
+ }
172
+ .ui-button-text-icon-secondary .ui-button-text,
173
+ .ui-button-text-icons .ui-button-text {
174
+ padding: .4em 2.1em .4em 1em;
175
+ }
176
+ .ui-button-text-icons .ui-button-text {
177
+ padding-left: 2.1em;
178
+ padding-right: 2.1em;
179
+ }
180
+ /* no icon support for input elements, provide padding by default */
181
+ input.ui-button {
182
+ padding: .4em 1em;
183
+ }
184
+
185
+ /* button icon element(s) */
186
+ .ui-button-icon-only .ui-icon,
187
+ .ui-button-text-icon-primary .ui-icon,
188
+ .ui-button-text-icon-secondary .ui-icon,
189
+ .ui-button-text-icons .ui-icon,
190
+ .ui-button-icons-only .ui-icon {
191
+ position: absolute;
192
+ top: 50%;
193
+ margin-top: -8px;
194
+ }
195
+ .ui-button-icon-only .ui-icon {
196
+ left: 50%;
197
+ margin-left: -8px;
198
+ }
199
+ .ui-button-text-icon-primary .ui-button-icon-primary,
200
+ .ui-button-text-icons .ui-button-icon-primary,
201
+ .ui-button-icons-only .ui-button-icon-primary {
202
+ left: .5em;
203
+ }
204
+ .ui-button-text-icon-secondary .ui-button-icon-secondary,
205
+ .ui-button-text-icons .ui-button-icon-secondary,
206
+ .ui-button-icons-only .ui-button-icon-secondary {
207
+ right: .5em;
208
+ }
209
+
210
+ /* button sets */
211
+ .ui-buttonset {
212
+ margin-right: 7px;
213
+ }
214
+ .ui-buttonset .ui-button {
215
+ margin-left: 0;
216
+ margin-right: -.3em;
217
+ }
218
+
219
+ /* workarounds */
220
+ /* reset extra padding in Firefox, see h5bp.com/l */
221
+ input.ui-button::-moz-focus-inner,
222
+ button.ui-button::-moz-focus-inner {
223
+ border: 0;
224
+ padding: 0;
225
+ }
226
+ .ui-datepicker {
227
+ width: 17em;
228
+ padding: .2em .2em 0;
229
+ display: none;
230
+ }
231
+ .ui-datepicker .ui-datepicker-header {
232
+ position: relative;
233
+ padding: .2em 0;
234
+ }
235
+ .ui-datepicker .ui-datepicker-prev,
236
+ .ui-datepicker .ui-datepicker-next {
237
+ position: absolute;
238
+ top: 2px;
239
+ width: 1.8em;
240
+ height: 1.8em;
241
+ }
242
+ .ui-datepicker .ui-datepicker-prev-hover,
243
+ .ui-datepicker .ui-datepicker-next-hover {
244
+ top: 1px;
245
+ }
246
+ .ui-datepicker .ui-datepicker-prev {
247
+ left: 2px;
248
+ }
249
+ .ui-datepicker .ui-datepicker-next {
250
+ right: 2px;
251
+ }
252
+ .ui-datepicker .ui-datepicker-prev-hover {
253
+ left: 1px;
254
+ }
255
+ .ui-datepicker .ui-datepicker-next-hover {
256
+ right: 1px;
257
+ }
258
+ .ui-datepicker .ui-datepicker-prev span,
259
+ .ui-datepicker .ui-datepicker-next span {
260
+ display: block;
261
+ position: absolute;
262
+ left: 50%;
263
+ margin-left: -8px;
264
+ top: 50%;
265
+ margin-top: -8px;
266
+ }
267
+ .ui-datepicker .ui-datepicker-title {
268
+ margin: 0 2.3em;
269
+ line-height: 1.8em;
270
+ text-align: center;
271
+ }
272
+ .ui-datepicker .ui-datepicker-title select {
273
+ font-size: 1em;
274
+ margin: 1px 0;
275
+ }
276
+ .ui-datepicker select.ui-datepicker-month-year {
277
+ width: 100%;
278
+ }
279
+ .ui-datepicker select.ui-datepicker-month,
280
+ .ui-datepicker select.ui-datepicker-year {
281
+ width: 49%;
282
+ }
283
+ .ui-datepicker table {
284
+ width: 100%;
285
+ font-size: .9em;
286
+ border-collapse: collapse;
287
+ margin: 0 0 .4em;
288
+ }
289
+ .ui-datepicker th {
290
+ padding: .7em .3em;
291
+ text-align: center;
292
+ font-weight: bold;
293
+ border: 0;
294
+ }
295
+ .ui-datepicker td {
296
+ border: 0;
297
+ padding: 1px;
298
+ }
299
+ .ui-datepicker td span,
300
+ .ui-datepicker td a {
301
+ display: block;
302
+ padding: .2em;
303
+ text-align: right;
304
+ text-decoration: none;
305
+ }
306
+ .ui-datepicker .ui-datepicker-buttonpane {
307
+ background-image: none;
308
+ margin: .7em 0 0 0;
309
+ padding: 0 .2em;
310
+ border-left: 0;
311
+ border-right: 0;
312
+ border-bottom: 0;
313
+ }
314
+ .ui-datepicker .ui-datepicker-buttonpane button {
315
+ float: right;
316
+ margin: .5em .2em .4em;
317
+ cursor: pointer;
318
+ padding: .2em .6em .3em .6em;
319
+ width: auto;
320
+ overflow: visible;
321
+ }
322
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
323
+ float: left;
324
+ }
325
+
326
+ /* with multiple calendars */
327
+ .ui-datepicker.ui-datepicker-multi {
328
+ width: auto;
329
+ }
330
+ .ui-datepicker-multi .ui-datepicker-group {
331
+ float: left;
332
+ }
333
+ .ui-datepicker-multi .ui-datepicker-group table {
334
+ width: 95%;
335
+ margin: 0 auto .4em;
336
+ }
337
+ .ui-datepicker-multi-2 .ui-datepicker-group {
338
+ width: 50%;
339
+ }
340
+ .ui-datepicker-multi-3 .ui-datepicker-group {
341
+ width: 33.3%;
342
+ }
343
+ .ui-datepicker-multi-4 .ui-datepicker-group {
344
+ width: 25%;
345
+ }
346
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
347
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
348
+ border-left-width: 0;
349
+ }
350
+ .ui-datepicker-multi .ui-datepicker-buttonpane {
351
+ clear: left;
352
+ }
353
+ .ui-datepicker-row-break {
354
+ clear: both;
355
+ width: 100%;
356
+ font-size: 0;
357
+ }
358
+
359
+ /* RTL support */
360
+ .ui-datepicker-rtl {
361
+ direction: rtl;
362
+ }
363
+ .ui-datepicker-rtl .ui-datepicker-prev {
364
+ right: 2px;
365
+ left: auto;
366
+ }
367
+ .ui-datepicker-rtl .ui-datepicker-next {
368
+ left: 2px;
369
+ right: auto;
370
+ }
371
+ .ui-datepicker-rtl .ui-datepicker-prev:hover {
372
+ right: 1px;
373
+ left: auto;
374
+ }
375
+ .ui-datepicker-rtl .ui-datepicker-next:hover {
376
+ left: 1px;
377
+ right: auto;
378
+ }
379
+ .ui-datepicker-rtl .ui-datepicker-buttonpane {
380
+ clear: right;
381
+ }
382
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button {
383
+ float: left;
384
+ }
385
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
386
+ .ui-datepicker-rtl .ui-datepicker-group {
387
+ float: right;
388
+ }
389
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
390
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
391
+ border-right-width: 0;
392
+ border-left-width: 1px;
393
+ }
394
+ .ui-dialog {
395
+ position: absolute;
396
+ top: 0;
397
+ left: 0;
398
+ padding: .2em;
399
+ outline: 0;
400
+ }
401
+ .ui-dialog .ui-dialog-titlebar {
402
+ padding: .4em 1em;
403
+ position: relative;
404
+ }
405
+ .ui-dialog .ui-dialog-title {
406
+ float: left;
407
+ margin: .1em 0;
408
+ white-space: nowrap;
409
+ width: 90%;
410
+ overflow: hidden;
411
+ text-overflow: ellipsis;
412
+ }
413
+ .ui-dialog .ui-dialog-titlebar-close {
414
+ position: absolute;
415
+ right: .3em;
416
+ top: 50%;
417
+ width: 21px;
418
+ margin: -10px 0 0 0;
419
+ padding: 1px;
420
+ height: 20px;
421
+ }
422
+ .ui-dialog .ui-dialog-content {
423
+ position: relative;
424
+ border: 0;
425
+ padding: .5em 1em;
426
+ background: none;
427
+ overflow: auto;
428
+ }
429
+ .ui-dialog .ui-dialog-buttonpane {
430
+ text-align: left;
431
+ border-width: 1px 0 0 0;
432
+ background-image: none;
433
+ margin-top: .5em;
434
+ padding: .3em 1em .5em .4em;
435
+ }
436
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
437
+ float: right;
438
+ }
439
+ .ui-dialog .ui-dialog-buttonpane button {
440
+ margin: .5em .4em .5em 0;
441
+ cursor: pointer;
442
+ }
443
+ .ui-dialog .ui-resizable-se {
444
+ width: 12px;
445
+ height: 12px;
446
+ right: -5px;
447
+ bottom: -5px;
448
+ background-position: 16px 16px;
449
+ }
450
+ .ui-draggable .ui-dialog-titlebar {
451
+ cursor: move;
452
+ }
453
+ .ui-menu {
454
+ list-style: none;
455
+ padding: 2px;
456
+ margin: 0;
457
+ display: block;
458
+ outline: none;
459
+ }
460
+ .ui-menu .ui-menu {
461
+ margin-top: -3px;
462
+ position: absolute;
463
+ }
464
+ .ui-menu .ui-menu-item {
465
+ margin: 0;
466
+ padding: 0;
467
+ width: 100%;
468
+ }
469
+ .ui-menu .ui-menu-divider {
470
+ margin: 5px -2px 5px -2px;
471
+ height: 0;
472
+ font-size: 0;
473
+ line-height: 0;
474
+ border-width: 1px 0 0 0;
475
+ }
476
+ .ui-menu .ui-menu-item a {
477
+ text-decoration: none;
478
+ display: block;
479
+ padding: 2px .4em;
480
+ line-height: 1.5;
481
+ min-height: 0; /* support: IE7 */
482
+ font-weight: normal;
483
+ }
484
+ .ui-menu .ui-menu-item a.ui-state-focus,
485
+ .ui-menu .ui-menu-item a.ui-state-active {
486
+ font-weight: normal;
487
+ margin: -1px;
488
+ }
489
+
490
+ .ui-menu .ui-state-disabled {
491
+ font-weight: normal;
492
+ margin: .4em 0 .2em;
493
+ line-height: 1.5;
494
+ }
495
+ .ui-menu .ui-state-disabled a {
496
+ cursor: default;
497
+ }
498
+
499
+ /* icon support */
500
+ .ui-menu-icons {
501
+ position: relative;
502
+ }
503
+ .ui-menu-icons .ui-menu-item a {
504
+ position: relative;
505
+ padding-left: 2em;
506
+ }
507
+
508
+ /* left-aligned */
509
+ .ui-menu .ui-icon {
510
+ position: absolute;
511
+ top: .2em;
512
+ left: .2em;
513
+ }
514
+
515
+ /* right-aligned */
516
+ .ui-menu .ui-menu-icon {
517
+ position: static;
518
+ float: right;
519
+ }
520
+ .ui-progressbar {
521
+ height: 2em;
522
+ text-align: left;
523
+ overflow: hidden;
524
+ }
525
+ .ui-progressbar .ui-progressbar-value {
526
+ margin: -1px;
527
+ height: 100%;
528
+ }
529
+ .ui-progressbar .ui-progressbar-overlay {
530
+ background: url(<%= asset_path('3rd_party/jquery_ui/smoothness/animated-overlay.gif') %>);
531
+ height: 100%;
532
+ filter: alpha(opacity=25);
533
+ opacity: 0.25;
534
+ }
535
+ .ui-progressbar-indeterminate .ui-progressbar-value {
536
+ background-image: none;
537
+ }
538
+ .ui-resizable {
539
+ position: relative;
540
+ }
541
+ .ui-resizable-handle {
542
+ position: absolute;
543
+ font-size: 0.1px;
544
+ display: block;
545
+ }
546
+ .ui-resizable-disabled .ui-resizable-handle,
547
+ .ui-resizable-autohide .ui-resizable-handle {
548
+ display: none;
549
+ }
550
+ .ui-resizable-n {
551
+ cursor: n-resize;
552
+ height: 7px;
553
+ width: 100%;
554
+ top: -5px;
555
+ left: 0;
556
+ }
557
+ .ui-resizable-s {
558
+ cursor: s-resize;
559
+ height: 7px;
560
+ width: 100%;
561
+ bottom: -5px;
562
+ left: 0;
563
+ }
564
+ .ui-resizable-e {
565
+ cursor: e-resize;
566
+ width: 7px;
567
+ right: -5px;
568
+ top: 0;
569
+ height: 100%;
570
+ }
571
+ .ui-resizable-w {
572
+ cursor: w-resize;
573
+ width: 7px;
574
+ left: -5px;
575
+ top: 0;
576
+ height: 100%;
577
+ }
578
+ .ui-resizable-se {
579
+ cursor: se-resize;
580
+ width: 12px;
581
+ height: 12px;
582
+ right: 1px;
583
+ bottom: 1px;
584
+ }
585
+ .ui-resizable-sw {
586
+ cursor: sw-resize;
587
+ width: 9px;
588
+ height: 9px;
589
+ left: -5px;
590
+ bottom: -5px;
591
+ }
592
+ .ui-resizable-nw {
593
+ cursor: nw-resize;
594
+ width: 9px;
595
+ height: 9px;
596
+ left: -5px;
597
+ top: -5px;
598
+ }
599
+ .ui-resizable-ne {
600
+ cursor: ne-resize;
601
+ width: 9px;
602
+ height: 9px;
603
+ right: -5px;
604
+ top: -5px;
605
+ }
606
+ .ui-selectable-helper {
607
+ position: absolute;
608
+ z-index: 100;
609
+ border: 1px dotted black;
610
+ }
611
+ .ui-slider {
612
+ position: relative;
613
+ text-align: left;
614
+ }
615
+ .ui-slider .ui-slider-handle {
616
+ position: absolute;
617
+ z-index: 2;
618
+ width: 1.2em;
619
+ height: 1.2em;
620
+ cursor: default;
621
+ }
622
+ .ui-slider .ui-slider-range {
623
+ position: absolute;
624
+ z-index: 1;
625
+ font-size: .7em;
626
+ display: block;
627
+ border: 0;
628
+ background-position: 0 0;
629
+ }
630
+
631
+ /* For IE8 - See #6727 */
632
+ .ui-slider.ui-state-disabled .ui-slider-handle,
633
+ .ui-slider.ui-state-disabled .ui-slider-range {
634
+ filter: inherit;
635
+ }
636
+
637
+ .ui-slider-horizontal {
638
+ height: .8em;
639
+ }
640
+ .ui-slider-horizontal .ui-slider-handle {
641
+ top: -.3em;
642
+ margin-left: -.6em;
643
+ }
644
+ .ui-slider-horizontal .ui-slider-range {
645
+ top: 0;
646
+ height: 100%;
647
+ }
648
+ .ui-slider-horizontal .ui-slider-range-min {
649
+ left: 0;
650
+ }
651
+ .ui-slider-horizontal .ui-slider-range-max {
652
+ right: 0;
653
+ }
654
+
655
+ .ui-slider-vertical {
656
+ width: .8em;
657
+ height: 100px;
658
+ }
659
+ .ui-slider-vertical .ui-slider-handle {
660
+ left: -.3em;
661
+ margin-left: 0;
662
+ margin-bottom: -.6em;
663
+ }
664
+ .ui-slider-vertical .ui-slider-range {
665
+ left: 0;
666
+ width: 100%;
667
+ }
668
+ .ui-slider-vertical .ui-slider-range-min {
669
+ bottom: 0;
670
+ }
671
+ .ui-slider-vertical .ui-slider-range-max {
672
+ top: 0;
673
+ }
674
+ .ui-spinner {
675
+ position: relative;
676
+ display: inline-block;
677
+ overflow: hidden;
678
+ padding: 0;
679
+ vertical-align: middle;
680
+ }
681
+ .ui-spinner-input {
682
+ border: none;
683
+ background: none;
684
+ color: inherit;
685
+ padding: 0;
686
+ margin: .2em 0;
687
+ vertical-align: middle;
688
+ margin-left: .4em;
689
+ margin-right: 22px;
690
+ }
691
+ .ui-spinner-button {
692
+ width: 16px;
693
+ height: 50%;
694
+ font-size: .5em;
695
+ padding: 0;
696
+ margin: 0;
697
+ text-align: center;
698
+ position: absolute;
699
+ cursor: default;
700
+ display: block;
701
+ overflow: hidden;
702
+ right: 0;
703
+ }
704
+ /* more specificity required here to overide default borders */
705
+ .ui-spinner a.ui-spinner-button {
706
+ border-top: none;
707
+ border-bottom: none;
708
+ border-right: none;
709
+ }
710
+ /* vertical centre icon */
711
+ .ui-spinner .ui-icon {
712
+ position: absolute;
713
+ margin-top: -8px;
714
+ top: 50%;
715
+ left: 0;
716
+ }
717
+ .ui-spinner-up {
718
+ top: 0;
719
+ }
720
+ .ui-spinner-down {
721
+ bottom: 0;
722
+ }
723
+
724
+ /* TR overrides */
725
+ .ui-spinner .ui-icon-triangle-1-s {
726
+ /* need to fix icons sprite */
727
+ background-position: -65px -16px;
728
+ }
729
+ .ui-tabs {
730
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
731
+ padding: .2em;
732
+ }
733
+ .ui-tabs .ui-tabs-nav {
734
+ margin: 0;
735
+ padding: .2em .2em 0;
736
+ }
737
+ .ui-tabs .ui-tabs-nav li {
738
+ list-style: none;
739
+ float: left;
740
+ position: relative;
741
+ top: 0;
742
+ margin: 1px .2em 0 0;
743
+ border-bottom: 0;
744
+ padding: 0;
745
+ white-space: nowrap;
746
+ }
747
+ .ui-tabs .ui-tabs-nav li a {
748
+ float: left;
749
+ padding: .5em 1em;
750
+ text-decoration: none;
751
+ }
752
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active {
753
+ margin-bottom: -1px;
754
+ padding-bottom: 1px;
755
+ }
756
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
757
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
758
+ .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
759
+ cursor: text;
760
+ }
761
+ .ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
762
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
763
+ cursor: pointer;
764
+ }
765
+ .ui-tabs .ui-tabs-panel {
766
+ display: block;
767
+ border-width: 0;
768
+ padding: 1em 1.4em;
769
+ background: none;
770
+ }
771
+ .ui-tooltip {
772
+ padding: 8px;
773
+ position: absolute;
774
+ z-index: 9999;
775
+ max-width: 300px;
776
+ -webkit-box-shadow: 0 0 5px #aaa;
777
+ box-shadow: 0 0 5px #aaa;
778
+ }
779
+ body .ui-tooltip {
780
+ border-width: 2px;
781
+ }
782
+
783
+ /* Component containers
784
+ ----------------------------------*/
785
+ .ui-widget {
786
+ font-family: Verdana,Arial,sans-serif;
787
+ font-size: 1.1em;
788
+ }
789
+ .ui-widget .ui-widget {
790
+ font-size: 1em;
791
+ }
792
+ .ui-widget input,
793
+ .ui-widget select,
794
+ .ui-widget textarea,
795
+ .ui-widget button {
796
+ font-family: Verdana,Arial,sans-serif;
797
+ font-size: 1em;
798
+ }
799
+ .ui-widget-content {
800
+ border: 1px solid #aaaaaa;
801
+ background: #ffffff url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_flat_75_ffffff_40x100.png') %>) 50% 50% repeat-x;
802
+ color: #222222;
803
+ }
804
+ .ui-widget-content a {
805
+ color: #222222;
806
+ }
807
+ .ui-widget-header {
808
+ border: 1px solid #aaaaaa;
809
+ background: #cccccc url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png') %>) 50% 50% repeat-x;
810
+ color: #222222;
811
+ font-weight: bold;
812
+ }
813
+ .ui-widget-header a {
814
+ color: #222222;
815
+ }
816
+
817
+ /* Interaction states
818
+ ----------------------------------*/
819
+ .ui-state-default,
820
+ .ui-widget-content .ui-state-default,
821
+ .ui-widget-header .ui-state-default {
822
+ border: 1px solid #d3d3d3;
823
+ background: #e6e6e6 url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_glass_75_e6e6e6_1x400.png') %>) 50% 50% repeat-x;
824
+ font-weight: normal;
825
+ color: #555555;
826
+ }
827
+ .ui-state-default a,
828
+ .ui-state-default a:link,
829
+ .ui-state-default a:visited {
830
+ color: #555555;
831
+ text-decoration: none;
832
+ }
833
+ .ui-state-hover,
834
+ .ui-widget-content .ui-state-hover,
835
+ .ui-widget-header .ui-state-hover,
836
+ .ui-state-focus,
837
+ .ui-widget-content .ui-state-focus,
838
+ .ui-widget-header .ui-state-focus {
839
+ border: 1px solid #999999;
840
+ background: #dadada url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_glass_75_dadada_1x400.png') %>) 50% 50% repeat-x;
841
+ font-weight: normal;
842
+ color: #212121;
843
+ }
844
+ .ui-state-hover a,
845
+ .ui-state-hover a:hover,
846
+ .ui-state-hover a:link,
847
+ .ui-state-hover a:visited {
848
+ color: #212121;
849
+ text-decoration: none;
850
+ }
851
+ .ui-state-active,
852
+ .ui-widget-content .ui-state-active,
853
+ .ui-widget-header .ui-state-active {
854
+ border: 1px solid #aaaaaa;
855
+ background: #ffffff url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_glass_65_ffffff_1x400.png') %>) 50% 50% repeat-x;
856
+ font-weight: normal;
857
+ color: #212121;
858
+ }
859
+ .ui-state-active a,
860
+ .ui-state-active a:link,
861
+ .ui-state-active a:visited {
862
+ color: #212121;
863
+ text-decoration: none;
864
+ }
865
+
866
+ /* Interaction Cues
867
+ ----------------------------------*/
868
+ .ui-state-highlight,
869
+ .ui-widget-content .ui-state-highlight,
870
+ .ui-widget-header .ui-state-highlight {
871
+ border: 1px solid #fcefa1;
872
+ background: #fbf9ee url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_glass_55_fbf9ee_1x400.png') %>) 50% 50% repeat-x;
873
+ color: #363636;
874
+ }
875
+ .ui-state-highlight a,
876
+ .ui-widget-content .ui-state-highlight a,
877
+ .ui-widget-header .ui-state-highlight a {
878
+ color: #363636;
879
+ }
880
+ .ui-state-error,
881
+ .ui-widget-content .ui-state-error,
882
+ .ui-widget-header .ui-state-error {
883
+ border: 1px solid #cd0a0a;
884
+ background: #fef1ec url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_glass_95_fef1ec_1x400.png') %>) 50% 50% repeat-x;
885
+ color: #cd0a0a;
886
+ }
887
+ .ui-state-error a,
888
+ .ui-widget-content .ui-state-error a,
889
+ .ui-widget-header .ui-state-error a {
890
+ color: #cd0a0a;
891
+ }
892
+ .ui-state-error-text,
893
+ .ui-widget-content .ui-state-error-text,
894
+ .ui-widget-header .ui-state-error-text {
895
+ color: #cd0a0a;
896
+ }
897
+ .ui-priority-primary,
898
+ .ui-widget-content .ui-priority-primary,
899
+ .ui-widget-header .ui-priority-primary {
900
+ font-weight: bold;
901
+ }
902
+ .ui-priority-secondary,
903
+ .ui-widget-content .ui-priority-secondary,
904
+ .ui-widget-header .ui-priority-secondary {
905
+ opacity: .7;
906
+ filter:Alpha(Opacity=70);
907
+ font-weight: normal;
908
+ }
909
+ .ui-state-disabled,
910
+ .ui-widget-content .ui-state-disabled,
911
+ .ui-widget-header .ui-state-disabled {
912
+ opacity: .35;
913
+ filter:Alpha(Opacity=35);
914
+ background-image: none;
915
+ }
916
+ .ui-state-disabled .ui-icon {
917
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
918
+ }
919
+
920
+ /* Icons
921
+ ----------------------------------*/
922
+
923
+ /* states and images */
924
+ .ui-icon {
925
+ width: 16px;
926
+ height: 16px;
927
+ background-position: 16px 16px;
928
+ }
929
+ .ui-icon,
930
+ .ui-widget-content .ui-icon {
931
+ background-image: url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-icons_222222_256x240.png') %>);
932
+ }
933
+ .ui-widget-header .ui-icon {
934
+ background-image: url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-icons_222222_256x240.png') %>);
935
+ }
936
+ .ui-state-default .ui-icon {
937
+ background-image: url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-icons_888888_256x240.png') %>);
938
+ }
939
+ .ui-state-hover .ui-icon,
940
+ .ui-state-focus .ui-icon {
941
+ background-image: url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-icons_454545_256x240.png') %>);
942
+ }
943
+ .ui-state-active .ui-icon {
944
+ background-image: url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-icons_454545_256x240.png') %>);
945
+ }
946
+ .ui-state-highlight .ui-icon {
947
+ background-image: url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-icons_2e83ff_256x240.png') %>);
948
+ }
949
+ .ui-state-error .ui-icon,
950
+ .ui-state-error-text .ui-icon {
951
+ background-image: url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-icons_cd0a0a_256x240.png') %>);
952
+ }
953
+
954
+ /* positioning */
955
+ .ui-icon-carat-1-n { background-position: 0 0; }
956
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
957
+ .ui-icon-carat-1-e { background-position: -32px 0; }
958
+ .ui-icon-carat-1-se { background-position: -48px 0; }
959
+ .ui-icon-carat-1-s { background-position: -64px 0; }
960
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
961
+ .ui-icon-carat-1-w { background-position: -96px 0; }
962
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
963
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
964
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
965
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
966
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
967
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
968
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
969
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
970
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
971
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
972
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
973
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
974
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
975
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
976
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
977
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
978
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
979
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
980
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
981
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
982
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
983
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
984
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
985
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
986
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
987
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
988
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
989
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
990
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
991
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
992
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
993
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
994
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
995
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
996
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
997
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
998
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
999
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
1000
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
1001
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
1002
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
1003
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
1004
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
1005
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
1006
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
1007
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
1008
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
1009
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
1010
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
1011
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
1012
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
1013
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
1014
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
1015
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
1016
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
1017
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
1018
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
1019
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
1020
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
1021
+ .ui-icon-extlink { background-position: -32px -80px; }
1022
+ .ui-icon-newwin { background-position: -48px -80px; }
1023
+ .ui-icon-refresh { background-position: -64px -80px; }
1024
+ .ui-icon-shuffle { background-position: -80px -80px; }
1025
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
1026
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
1027
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
1028
+ .ui-icon-folder-open { background-position: -16px -96px; }
1029
+ .ui-icon-document { background-position: -32px -96px; }
1030
+ .ui-icon-document-b { background-position: -48px -96px; }
1031
+ .ui-icon-note { background-position: -64px -96px; }
1032
+ .ui-icon-mail-closed { background-position: -80px -96px; }
1033
+ .ui-icon-mail-open { background-position: -96px -96px; }
1034
+ .ui-icon-suitcase { background-position: -112px -96px; }
1035
+ .ui-icon-comment { background-position: -128px -96px; }
1036
+ .ui-icon-person { background-position: -144px -96px; }
1037
+ .ui-icon-print { background-position: -160px -96px; }
1038
+ .ui-icon-trash { background-position: -176px -96px; }
1039
+ .ui-icon-locked { background-position: -192px -96px; }
1040
+ .ui-icon-unlocked { background-position: -208px -96px; }
1041
+ .ui-icon-bookmark { background-position: -224px -96px; }
1042
+ .ui-icon-tag { background-position: -240px -96px; }
1043
+ .ui-icon-home { background-position: 0 -112px; }
1044
+ .ui-icon-flag { background-position: -16px -112px; }
1045
+ .ui-icon-calendar { background-position: -32px -112px; }
1046
+ .ui-icon-cart { background-position: -48px -112px; }
1047
+ .ui-icon-pencil { background-position: -64px -112px; }
1048
+ .ui-icon-clock { background-position: -80px -112px; }
1049
+ .ui-icon-disk { background-position: -96px -112px; }
1050
+ .ui-icon-calculator { background-position: -112px -112px; }
1051
+ .ui-icon-zoomin { background-position: -128px -112px; }
1052
+ .ui-icon-zoomout { background-position: -144px -112px; }
1053
+ .ui-icon-search { background-position: -160px -112px; }
1054
+ .ui-icon-wrench { background-position: -176px -112px; }
1055
+ .ui-icon-gear { background-position: -192px -112px; }
1056
+ .ui-icon-heart { background-position: -208px -112px; }
1057
+ .ui-icon-star { background-position: -224px -112px; }
1058
+ .ui-icon-link { background-position: -240px -112px; }
1059
+ .ui-icon-cancel { background-position: 0 -128px; }
1060
+ .ui-icon-plus { background-position: -16px -128px; }
1061
+ .ui-icon-plusthick { background-position: -32px -128px; }
1062
+ .ui-icon-minus { background-position: -48px -128px; }
1063
+ .ui-icon-minusthick { background-position: -64px -128px; }
1064
+ .ui-icon-close { background-position: -80px -128px; }
1065
+ .ui-icon-closethick { background-position: -96px -128px; }
1066
+ .ui-icon-key { background-position: -112px -128px; }
1067
+ .ui-icon-lightbulb { background-position: -128px -128px; }
1068
+ .ui-icon-scissors { background-position: -144px -128px; }
1069
+ .ui-icon-clipboard { background-position: -160px -128px; }
1070
+ .ui-icon-copy { background-position: -176px -128px; }
1071
+ .ui-icon-contact { background-position: -192px -128px; }
1072
+ .ui-icon-image { background-position: -208px -128px; }
1073
+ .ui-icon-video { background-position: -224px -128px; }
1074
+ .ui-icon-script { background-position: -240px -128px; }
1075
+ .ui-icon-alert { background-position: 0 -144px; }
1076
+ .ui-icon-info { background-position: -16px -144px; }
1077
+ .ui-icon-notice { background-position: -32px -144px; }
1078
+ .ui-icon-help { background-position: -48px -144px; }
1079
+ .ui-icon-check { background-position: -64px -144px; }
1080
+ .ui-icon-bullet { background-position: -80px -144px; }
1081
+ .ui-icon-radio-on { background-position: -96px -144px; }
1082
+ .ui-icon-radio-off { background-position: -112px -144px; }
1083
+ .ui-icon-pin-w { background-position: -128px -144px; }
1084
+ .ui-icon-pin-s { background-position: -144px -144px; }
1085
+ .ui-icon-play { background-position: 0 -160px; }
1086
+ .ui-icon-pause { background-position: -16px -160px; }
1087
+ .ui-icon-seek-next { background-position: -32px -160px; }
1088
+ .ui-icon-seek-prev { background-position: -48px -160px; }
1089
+ .ui-icon-seek-end { background-position: -64px -160px; }
1090
+ .ui-icon-seek-start { background-position: -80px -160px; }
1091
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
1092
+ .ui-icon-seek-first { background-position: -80px -160px; }
1093
+ .ui-icon-stop { background-position: -96px -160px; }
1094
+ .ui-icon-eject { background-position: -112px -160px; }
1095
+ .ui-icon-volume-off { background-position: -128px -160px; }
1096
+ .ui-icon-volume-on { background-position: -144px -160px; }
1097
+ .ui-icon-power { background-position: 0 -176px; }
1098
+ .ui-icon-signal-diag { background-position: -16px -176px; }
1099
+ .ui-icon-signal { background-position: -32px -176px; }
1100
+ .ui-icon-battery-0 { background-position: -48px -176px; }
1101
+ .ui-icon-battery-1 { background-position: -64px -176px; }
1102
+ .ui-icon-battery-2 { background-position: -80px -176px; }
1103
+ .ui-icon-battery-3 { background-position: -96px -176px; }
1104
+ .ui-icon-circle-plus { background-position: 0 -192px; }
1105
+ .ui-icon-circle-minus { background-position: -16px -192px; }
1106
+ .ui-icon-circle-close { background-position: -32px -192px; }
1107
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
1108
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
1109
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
1110
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
1111
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
1112
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
1113
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
1114
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
1115
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
1116
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
1117
+ .ui-icon-circle-check { background-position: -208px -192px; }
1118
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
1119
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
1120
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
1121
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
1122
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
1123
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
1124
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
1125
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
1126
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
1127
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
1128
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
1129
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
1130
+
1131
+
1132
+ /* Misc visuals
1133
+ ----------------------------------*/
1134
+
1135
+ /* Corner radius */
1136
+ .ui-corner-all,
1137
+ .ui-corner-top,
1138
+ .ui-corner-left,
1139
+ .ui-corner-tl {
1140
+ border-top-left-radius: 4px;
1141
+ }
1142
+ .ui-corner-all,
1143
+ .ui-corner-top,
1144
+ .ui-corner-right,
1145
+ .ui-corner-tr {
1146
+ border-top-right-radius: 4px;
1147
+ }
1148
+ .ui-corner-all,
1149
+ .ui-corner-bottom,
1150
+ .ui-corner-left,
1151
+ .ui-corner-bl {
1152
+ border-bottom-left-radius: 4px;
1153
+ }
1154
+ .ui-corner-all,
1155
+ .ui-corner-bottom,
1156
+ .ui-corner-right,
1157
+ .ui-corner-br {
1158
+ border-bottom-right-radius: 4px;
1159
+ }
1160
+
1161
+ /* Overlays */
1162
+ .ui-widget-overlay {
1163
+ background: #aaaaaa url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_flat_0_aaaaaa_40x100.png') %>) 50% 50% repeat-x;
1164
+ opacity: .3;
1165
+ filter: Alpha(Opacity=30);
1166
+ }
1167
+ .ui-widget-shadow {
1168
+ margin: -8px 0 0 -8px;
1169
+ padding: 8px;
1170
+ background: #aaaaaa url(<%= asset_path('3rd_party/jquery_ui/smoothness/ui-bg_flat_0_aaaaaa_40x100.png') %>) 50% 50% repeat-x;
1171
+ opacity: .3;
1172
+ filter: Alpha(Opacity=30);
1173
+ border-radius: 8px;
1174
+ }