activeadmin 1.0.0 → 2.11.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (618) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +778 -68
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +80 -82
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +524 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  8. data/app/assets/stylesheets/active_admin/_forms.scss +7 -35
  9. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  10. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  11. data/app/assets/stylesheets/active_admin/_normalize.scss +349 -0
  12. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +3 -4
  13. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  14. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  15. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  16. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  17. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  18. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  19. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  20. data/app/assets/stylesheets/active_admin/components/_tables.scss +5 -3
  21. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  22. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -10
  23. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  25. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  26. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  27. data/app/javascript/active_admin/base.js +28 -0
  28. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  29. data/app/javascript/active_admin/ext/jquery.js +9 -0
  30. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  31. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  32. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  33. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  34. data/app/javascript/active_admin/initializers/filters.js +10 -0
  35. data/app/javascript/active_admin/initializers/has-many.js +95 -0
  36. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  37. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  38. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  39. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  40. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  41. data/app/javascript/active_admin/lib/filters.js +39 -0
  42. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  43. data/app/javascript/active_admin/lib/per-page.js +38 -0
  44. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  45. data/app/javascript/active_admin/lib/utils.js +40 -0
  46. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  47. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  48. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  49. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  50. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  51. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  52. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  53. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  54. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  55. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  56. data/app/views/active_admin/page/index.html.arb +1 -0
  57. data/app/views/active_admin/resource/edit.html.arb +1 -0
  58. data/app/views/active_admin/resource/index.html.arb +1 -0
  59. data/app/views/active_admin/resource/new.html.arb +1 -0
  60. data/app/views/active_admin/resource/show.html.arb +1 -0
  61. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  62. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  63. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  64. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  65. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  66. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  67. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  68. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  69. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  70. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  71. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  72. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  73. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  74. data/app/views/layouts/active_admin.html.arb +1 -0
  75. data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
  76. data/config/locales/ar.yml +10 -11
  77. data/config/locales/az.yml +138 -0
  78. data/config/locales/bg.yml +1 -3
  79. data/config/locales/bs.yml +1 -2
  80. data/config/locales/ca.yml +1 -3
  81. data/config/locales/cs.yml +1 -2
  82. data/config/locales/da.yml +2 -3
  83. data/config/locales/de-CH.yml +2 -3
  84. data/config/locales/de.yml +30 -3
  85. data/config/locales/el.yml +2 -3
  86. data/config/locales/en-CA.yml +139 -0
  87. data/config/locales/en-GB.yml +46 -5
  88. data/config/locales/en.yml +32 -8
  89. data/config/locales/eo.yml +145 -0
  90. data/config/locales/es-MX.yml +6 -3
  91. data/config/locales/es.yml +36 -10
  92. data/config/locales/fa.yml +1 -2
  93. data/config/locales/fi.yml +2 -3
  94. data/config/locales/fr.yml +15 -7
  95. data/config/locales/he.yml +53 -7
  96. data/config/locales/hr.yml +1 -2
  97. data/config/locales/hu.yml +5 -2
  98. data/config/locales/id.yml +2 -3
  99. data/config/locales/it.yml +33 -7
  100. data/config/locales/ja.yml +9 -5
  101. data/config/locales/ko.yml +2 -3
  102. data/config/locales/lt.yml +27 -6
  103. data/config/locales/lv.yml +3 -4
  104. data/config/locales/mk.yml +134 -0
  105. data/config/locales/nb.yml +16 -7
  106. data/config/locales/nl.yml +14 -4
  107. data/config/locales/pl.yml +75 -5
  108. data/config/locales/pt-BR.yml +10 -3
  109. data/config/locales/pt-PT.yml +1 -2
  110. data/config/locales/ro.yml +4 -4
  111. data/config/locales/ru.yml +4 -3
  112. data/config/locales/sk.yml +60 -2
  113. data/config/locales/sv-SE.yml +4 -3
  114. data/config/locales/tr.yml +10 -2
  115. data/config/locales/uk.yml +4 -3
  116. data/config/locales/vi.yml +53 -12
  117. data/config/locales/zh-CN.yml +34 -7
  118. data/config/locales/zh-TW.yml +2 -3
  119. data/docs/.gitignore +1 -0
  120. data/docs/0-installation.md +42 -15
  121. data/docs/1-general-configuration.md +46 -4
  122. data/docs/10-custom-pages.md +24 -5
  123. data/docs/11-decorators.md +17 -5
  124. data/docs/12-arbre-components.md +47 -9
  125. data/docs/13-authorization-adapter.md +69 -35
  126. data/docs/14-gotchas.md +41 -22
  127. data/docs/2-resource-customization.md +57 -20
  128. data/docs/3-index-pages/custom-index.md +2 -1
  129. data/docs/3-index-pages/index-as-block.md +0 -5
  130. data/docs/3-index-pages/index-as-blog.md +1 -6
  131. data/docs/3-index-pages/index-as-grid.md +0 -5
  132. data/docs/3-index-pages/index-as-table.md +13 -14
  133. data/docs/3-index-pages.md +47 -12
  134. data/docs/4-csv-format.md +2 -1
  135. data/docs/5-forms.md +65 -22
  136. data/docs/6-show-pages.md +14 -1
  137. data/docs/7-sidebars.md +2 -1
  138. data/docs/8-custom-actions.md +16 -2
  139. data/docs/9-batch-actions.md +5 -3
  140. data/docs/CNAME +1 -1
  141. data/docs/Gemfile +4 -2
  142. data/docs/Gemfile.lock +283 -0
  143. data/docs/_config.yml +3 -1
  144. data/docs/_includes/toc.html +1 -1
  145. data/docs/_includes/top-menu.html +9 -1
  146. data/docs/documentation.md +21 -23
  147. data/docs/images/tidelift.svg +14 -0
  148. data/docs/index.html +110 -9
  149. data/docs/stylesheets/main.css +55 -2
  150. data/lib/active_admin/abstract_view_factory.rb +14 -51
  151. data/lib/active_admin/application.rb +65 -170
  152. data/lib/active_admin/application_settings.rb +43 -0
  153. data/lib/active_admin/asset_registration.rb +1 -0
  154. data/lib/active_admin/authorization_adapter.rb +4 -6
  155. data/lib/active_admin/base_controller/authorization.rb +18 -19
  156. data/lib/active_admin/base_controller/menu.rb +10 -9
  157. data/lib/active_admin/base_controller.rb +12 -12
  158. data/lib/active_admin/batch_actions/controller.rb +6 -5
  159. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  160. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  161. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  162. data/lib/active_admin/batch_actions/views/selection_cells.rb +8 -6
  163. data/lib/active_admin/batch_actions.rb +1 -0
  164. data/lib/active_admin/callbacks.rb +2 -1
  165. data/lib/active_admin/cancan_adapter.rb +2 -1
  166. data/lib/active_admin/collection_decorator.rb +32 -0
  167. data/lib/active_admin/component.rb +1 -0
  168. data/lib/active_admin/controller_action.rb +3 -1
  169. data/lib/active_admin/csv_builder.rb +22 -14
  170. data/lib/active_admin/dependency.rb +15 -78
  171. data/lib/active_admin/deprecation.rb +1 -25
  172. data/lib/active_admin/devise.rb +18 -7
  173. data/lib/active_admin/dsl.rb +5 -11
  174. data/lib/active_admin/dynamic_setting.rb +39 -0
  175. data/lib/active_admin/dynamic_settings_node.rb +29 -0
  176. data/lib/active_admin/engine.rb +16 -7
  177. data/lib/active_admin/error.rb +5 -4
  178. data/lib/active_admin/filters/active.rb +14 -14
  179. data/lib/active_admin/filters/active_filter.rb +124 -0
  180. data/lib/active_admin/filters/active_sidebar.rb +28 -0
  181. data/lib/active_admin/filters/dsl.rb +1 -0
  182. data/lib/active_admin/filters/forms.rb +12 -9
  183. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  184. data/lib/active_admin/filters/resource_extension.rb +32 -35
  185. data/lib/active_admin/filters.rb +8 -5
  186. data/lib/active_admin/form_builder.rb +110 -70
  187. data/lib/active_admin/generators/boilerplate.rb +13 -4
  188. data/lib/active_admin/helpers/collection.rb +2 -0
  189. data/lib/active_admin/helpers/i18n.rb +1 -0
  190. data/lib/active_admin/helpers/optional_display.rb +3 -2
  191. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  192. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  193. data/lib/active_admin/inputs/datepicker_input.rb +14 -6
  194. data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
  195. data/lib/active_admin/inputs/filters/base.rb +2 -1
  196. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  197. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  198. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  199. data/lib/active_admin/inputs/filters/date_range_input.rb +24 -12
  200. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  201. data/lib/active_admin/inputs/filters/select_input.rb +8 -3
  202. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  203. data/lib/active_admin/inputs/filters/text_input.rb +1 -1
  204. data/lib/active_admin/inputs.rb +1 -0
  205. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  206. data/lib/active_admin/localizers.rb +2 -1
  207. data/lib/active_admin/menu.rb +13 -15
  208. data/lib/active_admin/menu_collection.rb +1 -2
  209. data/lib/active_admin/menu_item.rb +11 -38
  210. data/lib/active_admin/namespace.rb +33 -20
  211. data/lib/active_admin/namespace_settings.rb +127 -0
  212. data/lib/active_admin/order_clause.rb +4 -3
  213. data/lib/active_admin/orm/active_record/comments/comment.rb +6 -9
  214. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  215. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  216. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  217. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +37 -24
  218. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  219. data/lib/active_admin/orm/active_record/comments.rb +35 -23
  220. data/lib/active_admin/orm/active_record.rb +2 -1
  221. data/lib/active_admin/orm/mongoid.rb +1 -0
  222. data/lib/active_admin/page.rb +2 -1
  223. data/lib/active_admin/page_controller.rb +2 -1
  224. data/lib/active_admin/page_dsl.rb +2 -1
  225. data/lib/active_admin/page_presenter.rb +3 -1
  226. data/lib/active_admin/pundit_adapter.rb +23 -9
  227. data/lib/active_admin/resource/action_items.rb +16 -6
  228. data/lib/active_admin/resource/attributes.rb +10 -6
  229. data/lib/active_admin/resource/belongs_to.rb +9 -3
  230. data/lib/active_admin/resource/controllers.rb +2 -1
  231. data/lib/active_admin/resource/includes.rb +1 -0
  232. data/lib/active_admin/resource/menu.rb +6 -5
  233. data/lib/active_admin/resource/model.rb +16 -0
  234. data/lib/active_admin/resource/naming.rb +6 -5
  235. data/lib/active_admin/resource/ordering.rb +1 -0
  236. data/lib/active_admin/resource/page_presenters.rb +2 -1
  237. data/lib/active_admin/resource/pagination.rb +1 -0
  238. data/lib/active_admin/resource/routes.rb +26 -15
  239. data/lib/active_admin/resource/scope_to.rb +8 -7
  240. data/lib/active_admin/resource/scopes.rb +5 -3
  241. data/lib/active_admin/resource/sidebars.rb +3 -2
  242. data/lib/active_admin/resource.rb +37 -22
  243. data/lib/active_admin/resource_collection.rb +3 -2
  244. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  245. data/lib/active_admin/resource_controller/data_access.rb +16 -12
  246. data/lib/active_admin/resource_controller/decorators.rb +10 -31
  247. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  248. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  249. data/lib/active_admin/resource_controller/scoping.rb +2 -1
  250. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  251. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  252. data/lib/active_admin/resource_controller.rb +15 -11
  253. data/lib/active_admin/resource_dsl.rb +18 -28
  254. data/lib/active_admin/router.rb +91 -84
  255. data/lib/active_admin/scope.rb +22 -13
  256. data/lib/active_admin/settings_node.rb +20 -0
  257. data/lib/active_admin/sidebar_section.rb +4 -1
  258. data/lib/active_admin/version.rb +2 -1
  259. data/lib/active_admin/view_factory.rb +18 -17
  260. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  261. data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
  262. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  263. data/lib/active_admin/view_helpers/display_helper.rb +26 -9
  264. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  265. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  266. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  267. data/lib/active_admin/view_helpers/form_helper.rb +2 -1
  268. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
  269. data/lib/active_admin/view_helpers/scope_name_helper.rb +17 -0
  270. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  271. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  272. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  273. data/lib/active_admin/view_helpers.rb +3 -1
  274. data/lib/active_admin/views/action_items.rb +2 -1
  275. data/lib/active_admin/views/components/active_admin_form.rb +15 -9
  276. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  277. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  278. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  279. data/lib/active_admin/views/components/columns.rb +1 -0
  280. data/lib/active_admin/views/components/dropdown_menu.rb +9 -11
  281. data/lib/active_admin/views/components/index_list.rb +4 -5
  282. data/lib/active_admin/views/components/menu.rb +33 -0
  283. data/lib/active_admin/views/components/menu_item.rb +59 -0
  284. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  285. data/lib/active_admin/views/components/panel.rb +2 -1
  286. data/lib/active_admin/views/components/scopes.rb +19 -17
  287. data/lib/active_admin/views/components/sidebar.rb +14 -0
  288. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  289. data/lib/active_admin/views/components/site_title.rb +7 -7
  290. data/lib/active_admin/views/components/status_tag.rb +19 -23
  291. data/lib/active_admin/views/components/table_for.rb +22 -29
  292. data/lib/active_admin/views/components/tabs.rb +18 -5
  293. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  294. data/lib/active_admin/views/footer.rb +6 -8
  295. data/lib/active_admin/views/header.rb +4 -16
  296. data/lib/active_admin/views/index_as_block.rb +1 -0
  297. data/lib/active_admin/views/index_as_blog.rb +4 -4
  298. data/lib/active_admin/views/index_as_grid.rb +27 -26
  299. data/lib/active_admin/views/index_as_table.rb +53 -26
  300. data/lib/active_admin/views/pages/base.rb +47 -63
  301. data/lib/active_admin/views/pages/form.rb +1 -0
  302. data/lib/active_admin/views/pages/index.rb +16 -13
  303. data/lib/active_admin/views/pages/layout.rb +1 -0
  304. data/lib/active_admin/views/pages/page.rb +1 -0
  305. data/lib/active_admin/views/pages/show.rb +7 -1
  306. data/lib/active_admin/views/tabbed_navigation.rb +5 -59
  307. data/lib/active_admin/views/title_bar.rb +6 -5
  308. data/lib/active_admin/views.rb +2 -1
  309. data/lib/active_admin.rb +70 -68
  310. data/lib/activeadmin.rb +2 -1
  311. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  312. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  313. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  314. data/lib/generators/active_admin/devise/devise_generator.rb +7 -6
  315. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  316. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
  317. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -1
  318. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  319. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  320. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  321. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  322. data/lib/generators/active_admin/resource/resource_generator.rb +5 -4
  323. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  324. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  325. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  326. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  327. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  328. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  329. data/lib/ransack_ext.rb +10 -9
  330. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  331. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  332. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  333. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  334. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  335. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  336. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  337. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  338. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  339. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  340. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  341. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  342. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  343. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  344. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  345. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  346. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  347. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  348. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  349. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  350. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  351. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  352. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  353. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  354. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  355. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  356. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  357. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  358. metadata +158 -580
  359. data/.gitignore +0 -49
  360. data/.hound.yml +0 -14
  361. data/.rubocop.yml +0 -27
  362. data/.travis.yml +0 -66
  363. data/.yardopts +0 -8
  364. data/Appraisals +0 -41
  365. data/Gemfile +0 -49
  366. data/Rakefile +0 -65
  367. data/activeadmin.gemspec +0 -34
  368. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  369. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  370. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  371. data/app/assets/images/active_admin/orderable.png +0 -0
  372. data/app/assets/javascripts/active_admin/base.js.coffee +0 -9
  373. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  374. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  375. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -7
  376. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
  377. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -22
  378. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
  379. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
  380. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  381. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -44
  382. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  383. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  384. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  385. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  386. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -42
  387. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  388. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  389. data/codecov.yml +0 -23
  390. data/cucumber.yml +0 -3
  391. data/features/action_item.feature +0 -73
  392. data/features/authorization.feature +0 -64
  393. data/features/authorization_cancan.feature +0 -52
  394. data/features/authorization_pundit.feature +0 -37
  395. data/features/belongs_to.feature +0 -124
  396. data/features/breadcrumb.feature +0 -75
  397. data/features/comments/commenting.feature +0 -158
  398. data/features/comments/viewing_index.feature +0 -19
  399. data/features/create_another.feature +0 -55
  400. data/features/dashboard.feature +0 -16
  401. data/features/decorators.feature +0 -43
  402. data/features/development_reloading.feature +0 -28
  403. data/features/edit_page.feature +0 -116
  404. data/features/favicon.feature +0 -20
  405. data/features/first_boot.feature +0 -16
  406. data/features/footer.feature +0 -28
  407. data/features/global_navigation.feature +0 -29
  408. data/features/i18n.feature +0 -55
  409. data/features/index/batch_actions.feature +0 -218
  410. data/features/index/filters.feature +0 -199
  411. data/features/index/format_as_csv.feature +0 -203
  412. data/features/index/formats.feature +0 -88
  413. data/features/index/index_as_block.feature +0 -15
  414. data/features/index/index_as_blog.feature +0 -69
  415. data/features/index/index_as_grid.feature +0 -45
  416. data/features/index/index_as_table.feature +0 -291
  417. data/features/index/index_blank_slate.feature +0 -83
  418. data/features/index/index_parameters.feature +0 -75
  419. data/features/index/index_scope_to.feature +0 -56
  420. data/features/index/index_scopes.feature +0 -270
  421. data/features/index/page_title.feature +0 -41
  422. data/features/index/pagination.feature +0 -63
  423. data/features/index/switch_index_view.feature +0 -73
  424. data/features/menu.feature +0 -72
  425. data/features/meta_tags.feature +0 -21
  426. data/features/new_page.feature +0 -107
  427. data/features/registering_assets.feature +0 -34
  428. data/features/registering_pages.feature +0 -237
  429. data/features/registering_resources.feature +0 -33
  430. data/features/renamed_resource.feature +0 -30
  431. data/features/root_to.feature +0 -17
  432. data/features/show/columns.feature +0 -40
  433. data/features/show/default_content.feature +0 -44
  434. data/features/show/page_title.feature +0 -58
  435. data/features/show/tabs.feature +0 -27
  436. data/features/sidebar_sections.feature +0 -210
  437. data/features/site_title.feature +0 -47
  438. data/features/specifying_actions.feature +0 -118
  439. data/features/step_definitions/action_item_steps.rb +0 -7
  440. data/features/step_definitions/action_link_steps.rb +0 -20
  441. data/features/step_definitions/additional_web_steps.rb +0 -81
  442. data/features/step_definitions/asset_steps.rb +0 -15
  443. data/features/step_definitions/attribute_steps.rb +0 -18
  444. data/features/step_definitions/batch_action_steps.rb +0 -81
  445. data/features/step_definitions/blog_steps.rb +0 -3
  446. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  447. data/features/step_definitions/column_steps.rb +0 -8
  448. data/features/step_definitions/comment_steps.rb +0 -12
  449. data/features/step_definitions/configuration_steps.rb +0 -100
  450. data/features/step_definitions/dashboard_steps.rb +0 -15
  451. data/features/step_definitions/factory_steps.rb +0 -35
  452. data/features/step_definitions/filter_steps.rb +0 -39
  453. data/features/step_definitions/flash_steps.rb +0 -11
  454. data/features/step_definitions/footer_steps.rb +0 -11
  455. data/features/step_definitions/format_steps.rb +0 -56
  456. data/features/step_definitions/i18n_steps.rb +0 -11
  457. data/features/step_definitions/index_scope_steps.rb +0 -25
  458. data/features/step_definitions/index_views_steps.rb +0 -3
  459. data/features/step_definitions/layout_steps.rb +0 -3
  460. data/features/step_definitions/member_link_steps.rb +0 -7
  461. data/features/step_definitions/menu_steps.rb +0 -11
  462. data/features/step_definitions/meta_tag_steps.rb +0 -3
  463. data/features/step_definitions/pagination_steps.rb +0 -15
  464. data/features/step_definitions/sidebar_steps.rb +0 -11
  465. data/features/step_definitions/site_title_steps.rb +0 -17
  466. data/features/step_definitions/tab_steps.rb +0 -8
  467. data/features/step_definitions/table_steps.rb +0 -116
  468. data/features/step_definitions/user_steps.rb +0 -52
  469. data/features/step_definitions/web_steps.rb +0 -86
  470. data/features/sti_resource.feature +0 -65
  471. data/features/strong_parameters.feature +0 -69
  472. data/features/support/env.rb +0 -121
  473. data/features/support/paths.rb +0 -73
  474. data/features/support/selectors.rb +0 -45
  475. data/features/users/logging_in.feature +0 -36
  476. data/features/users/logging_out.feature +0 -13
  477. data/features/users/resetting_password.feature +0 -34
  478. data/gemfiles/rails_42.gemfile +0 -45
  479. data/gemfiles/rails_50.gemfile +0 -45
  480. data/gemfiles/rails_51.gemfile +0 -45
  481. data/lib/active_admin/event.rb +0 -24
  482. data/lib/active_admin/filters/humanized.rb +0 -68
  483. data/lib/active_admin/helpers/settings.rb +0 -115
  484. data/lib/active_admin/reloader.rb +0 -25
  485. data/lib/bug_report_templates/rails_5_master.rb +0 -118
  486. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  487. data/spec/bug_report_templates_spec.rb +0 -27
  488. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  489. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  490. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  491. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  492. data/spec/javascripts/fixtures/flashes.html +0 -2
  493. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  494. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  495. data/spec/javascripts/support/jasmine.yml +0 -74
  496. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  497. data/spec/rails_helper.rb +0 -62
  498. data/spec/requests/default_namespace_spec.rb +0 -81
  499. data/spec/requests/javascript_spec.rb +0 -22
  500. data/spec/requests/memory_spec.rb +0 -25
  501. data/spec/requests/stylesheets_spec.rb +0 -18
  502. data/spec/spec_helper.rb +0 -12
  503. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  504. data/spec/support/active_admin_request_helpers.rb +0 -39
  505. data/spec/support/jslint.yml +0 -80
  506. data/spec/support/rails_template.rb +0 -182
  507. data/spec/support/rails_template_with_data.rb +0 -68
  508. data/spec/support/templates/admin/stores.rb +0 -7
  509. data/spec/support/templates/en.yml +0 -8
  510. data/spec/support/templates/manifest.js +0 -3
  511. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  512. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  513. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  514. data/spec/support/templates/policies/application_policy.rb +0 -45
  515. data/spec/support/templates/policies/category_policy.rb +0 -7
  516. data/spec/support/templates/policies/post_policy.rb +0 -15
  517. data/spec/support/templates/policies/store_policy.rb +0 -11
  518. data/spec/support/templates/policies/user_policy.rb +0 -11
  519. data/spec/support/templates/post_decorator.rb +0 -11
  520. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  521. data/spec/unit/action_builder_spec.rb +0 -125
  522. data/spec/unit/active_admin_spec.rb +0 -11
  523. data/spec/unit/application_spec.rb +0 -180
  524. data/spec/unit/asset_registration_spec.rb +0 -52
  525. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  526. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  527. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  528. data/spec/unit/auto_link_spec.rb +0 -93
  529. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  530. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  531. data/spec/unit/belongs_to_spec.rb +0 -77
  532. data/spec/unit/cancan_adapter_spec.rb +0 -43
  533. data/spec/unit/comments_spec.rb +0 -176
  534. data/spec/unit/component_spec.rb +0 -18
  535. data/spec/unit/config_shared_examples.rb +0 -59
  536. data/spec/unit/controller_filters_spec.rb +0 -41
  537. data/spec/unit/csv_builder_spec.rb +0 -306
  538. data/spec/unit/dependency_spec.rb +0 -135
  539. data/spec/unit/devise_spec.rb +0 -110
  540. data/spec/unit/dsl_spec.rb +0 -122
  541. data/spec/unit/filters/active_spec.rb +0 -14
  542. data/spec/unit/filters/filter_form_builder_spec.rb +0 -500
  543. data/spec/unit/filters/humanized_spec.rb +0 -64
  544. data/spec/unit/filters/resource_spec.rb +0 -128
  545. data/spec/unit/form_builder_spec.rb +0 -990
  546. data/spec/unit/generators/install_spec.rb +0 -31
  547. data/spec/unit/helpers/collection_spec.rb +0 -68
  548. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  549. data/spec/unit/helpers/settings_spec.rb +0 -30
  550. data/spec/unit/i18n_spec.rb +0 -12
  551. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  552. data/spec/unit/menu_collection_spec.rb +0 -62
  553. data/spec/unit/menu_item_spec.rb +0 -143
  554. data/spec/unit/menu_spec.rb +0 -71
  555. data/spec/unit/namespace/authorization_spec.rb +0 -27
  556. data/spec/unit/namespace/register_page_spec.rb +0 -99
  557. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  558. data/spec/unit/namespace_spec.rb +0 -125
  559. data/spec/unit/order_clause_spec.rb +0 -81
  560. data/spec/unit/page_controller_spec.rb +0 -5
  561. data/spec/unit/page_spec.rb +0 -131
  562. data/spec/unit/pretty_format_spec.rb +0 -82
  563. data/spec/unit/pundit_adapter_spec.rb +0 -98
  564. data/spec/unit/resource/action_items_spec.rb +0 -65
  565. data/spec/unit/resource/attributes_spec.rb +0 -50
  566. data/spec/unit/resource/includes_spec.rb +0 -21
  567. data/spec/unit/resource/menu_spec.rb +0 -18
  568. data/spec/unit/resource/naming_spec.rb +0 -122
  569. data/spec/unit/resource/ordering_spec.rb +0 -38
  570. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  571. data/spec/unit/resource/pagination_spec.rb +0 -38
  572. data/spec/unit/resource/routes_spec.rb +0 -125
  573. data/spec/unit/resource/scopes_spec.rb +0 -50
  574. data/spec/unit/resource/sidebars_spec.rb +0 -43
  575. data/spec/unit/resource_collection_spec.rb +0 -175
  576. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  577. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  578. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  579. data/spec/unit/resource_controller_spec.rb +0 -274
  580. data/spec/unit/resource_registration_spec.rb +0 -61
  581. data/spec/unit/resource_spec.rb +0 -313
  582. data/spec/unit/routing_spec.rb +0 -213
  583. data/spec/unit/scope_spec.rb +0 -209
  584. data/spec/unit/settings_spec.rb +0 -118
  585. data/spec/unit/view_factory_spec.rb +0 -19
  586. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  587. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  588. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  589. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  590. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  591. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  592. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  593. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  594. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  595. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  596. data/spec/unit/views/components/columns_spec.rb +0 -189
  597. data/spec/unit/views/components/index_list_spec.rb +0 -49
  598. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  599. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  600. data/spec/unit/views/components/panel_spec.rb +0 -58
  601. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  602. data/spec/unit/views/components/site_title_spec.rb +0 -78
  603. data/spec/unit/views/components/status_tag_spec.rb +0 -249
  604. data/spec/unit/views/components/table_for_spec.rb +0 -436
  605. data/spec/unit/views/components/tabs_spec.rb +0 -39
  606. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  607. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  608. data/spec/unit/views/pages/form_spec.rb +0 -54
  609. data/spec/unit/views/pages/index_spec.rb +0 -60
  610. data/spec/unit/views/pages/layout_spec.rb +0 -59
  611. data/spec/unit/views/pages/show_spec.rb +0 -32
  612. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  613. data/tasks/docs.rake +0 -37
  614. data/tasks/lint.rake +0 -8
  615. data/tasks/local.rake +0 -25
  616. data/tasks/parallel_tests.rake +0 -66
  617. data/tasks/test.rake +0 -46
  618. data/tasks/yard.rake +0 -9
@@ -1,139 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe MethodOrProcHelper do
4
- let(:receiver) { double }
5
-
6
- let(:context) do
7
- obj = double receiver_in_context: receiver
8
- obj.extend MethodOrProcHelper
9
- obj
10
- end
11
-
12
- describe "#call_method_or_exec_proc" do
13
-
14
- it "should call the method in the context when a symbol" do
15
- expect(context.call_method_or_exec_proc(:receiver_in_context)).to eq receiver
16
- end
17
-
18
- it "should call the method in the context when a string" do
19
- expect(context.call_method_or_exec_proc("receiver_in_context")).to eq receiver
20
- end
21
-
22
- it "should exec a proc in the context" do
23
- test_proc = Proc.new{ raise "Success" if receiver_in_context }
24
-
25
- expect {
26
- context.call_method_or_exec_proc(test_proc)
27
- }.to raise_error("Success")
28
- end
29
-
30
- end
31
-
32
- describe "#call_method_or_proc_on" do
33
-
34
- [:hello, 'hello'].each do |key|
35
- context "when a #{key.class}" do
36
- it "should call the method on the receiver" do
37
- expect(receiver).to receive(key).and_return 'hello'
38
-
39
- expect(context.call_method_or_proc_on(receiver, key)).to eq 'hello'
40
- end
41
-
42
- it "should receive additional arguments" do
43
- expect(receiver).to receive(key).with(:world).and_return 'hello world'
44
-
45
- expect(context.call_method_or_proc_on(receiver, key, :world)).to eq 'hello world'
46
- end
47
- end
48
- end
49
-
50
- context "when a proc" do
51
-
52
- it "should exec the block in the context and pass in the receiver" do
53
- test_proc = Proc.new do |arg|
54
- raise "Success!" if arg == receiver_in_context
55
- end
56
-
57
- expect {
58
- context.call_method_or_proc_on(receiver, test_proc)
59
- }.to raise_error("Success!")
60
- end
61
-
62
- it "should receive additional arguments" do
63
- test_proc = Proc.new do |arg1, arg2|
64
- raise "Success!" if arg1 == receiver_in_context && arg2 == "Hello"
65
- end
66
-
67
- expect {
68
- context.call_method_or_proc_on(receiver, test_proc, "Hello")
69
- }.to raise_error("Success!")
70
- end
71
-
72
- end
73
-
74
- context "when a proc and exec: false" do
75
-
76
- it "should call the proc and pass in the receiver" do
77
- obj_not_in_context = double
78
-
79
- test_proc = Proc.new do |arg|
80
- raise "Success!" if arg == receiver && obj_not_in_context
81
- end
82
-
83
- expect {
84
- context.call_method_or_proc_on(receiver, test_proc, exec: false)
85
- }.to raise_error("Success!")
86
- end
87
-
88
- end
89
-
90
-
91
- end
92
-
93
- describe "#render_or_call_method_or_proc_on" do
94
- [ :symbol, Proc.new{} ].each do |key|
95
- context "when a #{key.class}" do
96
- it "should call #call_method_or_proc_on" do
97
- options = { foo: :bar }
98
- expect(context).to receive(:call_method_or_proc_on).with(receiver, key, options).and_return("data")
99
- expect(context.render_or_call_method_or_proc_on(receiver, key, options)).to eq "data"
100
- end
101
- end
102
- end
103
-
104
- context "when a string" do
105
- it "should return the string" do
106
- expect(context.render_or_call_method_or_proc_on(receiver, "string")).to eq "string"
107
- end
108
- end
109
- end
110
-
111
- describe "#render_in_context" do
112
- let(:args) { [1, 2, 3] }
113
-
114
- context "when a Proc" do
115
- let(:object) { Proc.new { } }
116
-
117
- it "should instance_exec the Proc" do
118
- expect(receiver).to receive(:instance_exec).with(args, &object).and_return("data")
119
- expect(context.render_in_context(receiver, object, args)).to eq "data"
120
- end
121
- end
122
-
123
- context "when a Symbol" do
124
- it "should send the symbol" do
125
- expect(receiver).to receive(:public_send).with(:symbol, args).and_return("data")
126
- expect(context.render_in_context(receiver, :symbol, args)).to eq "data"
127
- end
128
- end
129
-
130
- context "when a Object (not Proc or String)" do
131
- let(:object) { Object.new }
132
-
133
- it "should return the Object" do
134
- expect(context.render_in_context(receiver, object)).to eq object
135
- end
136
- end
137
- end
138
-
139
- end
@@ -1,272 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::AttributesTable do
4
-
5
- describe "creating with the dsl" do
6
- let(:helpers) { action_view }
7
-
8
- let(:post) do
9
- post = Post.new title: "Hello World", body: nil
10
- allow(post).to receive(:id){ 1 }
11
- allow(post).to receive(:new_record?){ false }
12
- post
13
- end
14
-
15
- let(:assigns){ { post: post } }
16
-
17
- # Loop through a few different ways to make the same table
18
- # and ensure that they produce the same results
19
- {
20
- "when attributes are passed in to the builder methods" => proc {
21
- render_arbre_component(assigns) {
22
- attributes_table_for post, :id, :title, :body
23
- }
24
- },
25
- "when attributes are built using the block" => proc {
26
- render_arbre_component(assigns) {
27
- attributes_table_for post do
28
- rows :id, :title, :body
29
- end
30
- }
31
- },
32
- "when each attribute is passed in by itself" => proc {
33
- render_arbre_component(assigns) {
34
- attributes_table_for post do
35
- row :id
36
- row :title
37
- row :body
38
- end
39
- }
40
- },
41
- "when you create each row with a custom block" => proc {
42
- render_arbre_component(assigns) {
43
- attributes_table_for post do
44
- row("Id") { post.id }
45
- row("Title"){ post.title }
46
- row("Body") { post.body }
47
- end
48
- }
49
- },
50
- "when you create each row with a custom block that returns nil" => proc {
51
- render_arbre_component(assigns) {
52
- attributes_table_for post do
53
- row("Id") { text_node post.id; nil }
54
- row("Title"){ text_node post.title; nil }
55
- row("Body") { text_node post.body; nil }
56
- end
57
- }
58
- },
59
- }.each do |context_title, table_decleration|
60
- context context_title do
61
- let(:table) { instance_eval &table_decleration }
62
-
63
- it "should render a div wrapper with the class '.attributes_table'" do
64
- expect(table.tag_name).to eq 'div'
65
- expect(table.attr(:class)).to include('attributes_table')
66
- end
67
-
68
- it "should add id and type class" do
69
- expect(table.class_names).to include("post")
70
- expect(table.id).to eq "attributes_table_post_1"
71
- end
72
-
73
- it "should render 3 rows" do
74
- expect(table.find_by_tag("tr").size).to eq 3
75
- end
76
-
77
- describe "rendering the rows" do
78
- [
79
- ["Id" , "1"],
80
- ["Title" , "Hello World"],
81
- ["Body" , "<span class=\"empty\">Empty</span>"]
82
- ].each_with_index do |(title, content), i|
83
- describe "for #{title}" do
84
- let(:current_row){ table.find_by_tag("tr")[i] }
85
-
86
- it "should have the title '#{title}'" do
87
- expect(current_row.find_by_tag("th").first.content).to eq title
88
- end
89
-
90
- it "should have the content '#{content}'" do
91
- expect(current_row.find_by_tag("td").first.content.chomp.strip).to eq content
92
- end
93
- end
94
- end
95
- end # describe rendering rows
96
-
97
- end
98
- end # describe dsl styles
99
-
100
- it "should add a class for each row based on the col name" do
101
- table = render_arbre_component(assigns) {
102
- attributes_table_for(post) do
103
- row :title
104
- row :created_at
105
- end
106
- }
107
- expect(table.find_by_tag("tr").first.to_s.
108
- split("\n").first.lstrip).
109
- to eq '<tr class="row row-title">'
110
-
111
- expect(table.find_by_tag("tr").last.to_s.
112
- split("\n").first.lstrip).
113
- to eq '<tr class="row row-created_at">'
114
- end
115
-
116
- it "should allow html options for the row itself" do
117
- table = render_arbre_component(assigns) {
118
- attributes_table_for(post) do
119
- row("Wee", class: "custom_row", style: "custom_style") { }
120
- end
121
- }
122
- expect(table.find_by_tag("tr").first.to_s.split("\n").first.lstrip).
123
- to eq '<tr class="row custom_row" style="custom_style">'
124
- end
125
-
126
- it "should allow html content inside the attributes table" do
127
- table = render_arbre_component(assigns) {
128
- attributes_table_for(post) do
129
- row("ID"){ span(post.id, class: 'id') }
130
- end
131
- }
132
- expect(table.find_by_tag("td").first.content.chomp.strip).to eq "<span class=\"id\">1</span>"
133
- end
134
-
135
- context 'an attribute ending in _id' do
136
- before do
137
- post.foo_id = 23
138
- post.author = User.new username: 'john_doe', first_name: 'John', last_name: 'Doe'
139
- end
140
- it 'should call the association if one exists' do
141
- table = render_arbre_component assigns do
142
- attributes_table_for post, :author
143
- end
144
- expect(table.find_by_tag('th').first.content).to eq 'Author'
145
- expect(table.find_by_tag('td').first.content).to eq 'John Doe'
146
- end
147
- it 'should not attempt to call a nonexistant association' do
148
- table = render_arbre_component assigns do
149
- attributes_table_for post, :foo_id
150
- end
151
- expect(table.find_by_tag('th').first.content).to eq 'Foo'
152
- expect(table.find_by_tag('td').first.content).to eq '23'
153
- end
154
- end
155
-
156
- context "with a collection" do
157
- let(:posts) do
158
- [Post.new(title: "Hello World", id: 1), Post.new(title: "Multi Column", id: 2)].each_with_index do |post, index|
159
- allow(post).to receive(:id).and_return(index + 1)
160
- allow(post).to receive(:new_record?).and_return(false)
161
- end
162
- end
163
-
164
- let(:assigns) { { posts: posts } }
165
-
166
- let(:table) do
167
- render_arbre_component(assigns) do
168
- attributes_table_for posts, :id, :title
169
- end
170
- end
171
-
172
- it "does not set id on the table" do
173
- expect(table.attr(:id)).to eq nil
174
- end
175
-
176
- context "colgroup" do
177
- let(:cols) { table.find_by_tag "col" }
178
-
179
- it "contains a col for each record (plus headers)" do
180
- expect(cols.size).to eq (2 + 1)
181
- end
182
-
183
- it "assigns an id to each col" do
184
- cols[1..-1].each_with_index do |col, index|
185
- expect(col.id).to eq "attributes_table_post_#{index + 1}"
186
- end
187
- end
188
-
189
- it "assigns a class to each col" do
190
- cols[1..-1].each_with_index do |col, index|
191
- expect(col.class_names).to include("post")
192
- end
193
- end
194
-
195
- it "assigns alternation classes to each col" do
196
- cols[1..-1].each_with_index do |col, index|
197
- expect(col.class_names).to include(["even", "odd"][index % 2])
198
- end
199
- end
200
- end
201
-
202
- context "when rendering the rows" do
203
- it "should contain 3 columns" do
204
- expect(table.find_by_tag("tr").first.children.size).to eq 3
205
- end
206
-
207
- [
208
- ["Id" , "1", "2"],
209
- ["Title", "Hello World", "Multi Column"],
210
- ].each_with_index do |set, i|
211
- describe "for #{set[0]}" do
212
- let(:title){ set[0] }
213
- let(:content){ set[1] }
214
- let(:current_row){ table.find_by_tag("tr")[i] }
215
-
216
- it "should have the title '#{set[0]}'" do
217
- expect(current_row.find_by_tag("th").first.content).to eq title
218
- end
219
-
220
- context "with defined attribute name translation" do
221
- it "should have the translated attribute name in the title" do
222
- with_translation activerecord: {attributes: {post: {title: 'Translated Title', id: 'Translated Id'}}} do
223
- expect(current_row.find_by_tag("th").first.content).to eq "Translated #{title}"
224
- end
225
- end
226
- end
227
-
228
- set[1..-1].each_with_index do |content, index|
229
- it "column #{index} should have the content '#{content}'" do
230
- expect(current_row.find_by_tag("td")[index].content.chomp.strip).to eq content
231
- end
232
- end
233
- end
234
- end
235
- end # describe rendering rows
236
- end # with a collection
237
-
238
-
239
- context "when using a single Hash" do
240
- let(:table) do
241
- render_arbre_component nil, helpers do
242
- attributes_table_for foo: 1, bar: 2 do
243
- row :foo
244
- row :bar
245
- end
246
- end
247
- end
248
- it "should render" do
249
- expect(table.find_by_tag("th")[0].content).to eq "Foo"
250
- expect(table.find_by_tag("th")[1].content).to eq "Bar"
251
- expect(table.find_by_tag("td")[0].content).to eq "1"
252
- expect(table.find_by_tag("td")[1].content).to eq "2"
253
- end
254
- end
255
-
256
- context "when using an Array of Hashes" do
257
- let(:table) do
258
- render_arbre_component nil, helpers do
259
- attributes_table_for [{foo: 1}, {foo: 2}] do
260
- row :foo
261
- end
262
- end
263
- end
264
- it "should render" do
265
- expect(table.find_by_tag("th")[0].content).to eq "Foo"
266
- expect(table.find_by_tag("td")[0].content).to eq "1"
267
- expect(table.find_by_tag("td")[1].content).to eq "2"
268
- end
269
- end
270
- end
271
-
272
- end
@@ -1,43 +0,0 @@
1
- require 'rails_helper'
2
- require 'active_admin/batch_actions/views/batch_action_selector'
3
-
4
- RSpec.describe ActiveAdmin::BatchActions::BatchActionSelector do
5
-
6
- let(:dropdown) do
7
- render_arbre_component do
8
- batch_action_selector [
9
- ActiveAdmin::BatchAction.new(:action_1, "Action 1"),
10
- ActiveAdmin::BatchAction.new(:action_2, "Action 2"),
11
- ActiveAdmin::BatchAction.new(:action_3, "Action 3")
12
- ]
13
- end
14
- end
15
-
16
- describe "the action list" do
17
- subject do
18
- dropdown.find_by_class("dropdown_menu_list").first
19
- end
20
-
21
- describe '#tag_name' do
22
- subject { super().tag_name }
23
- it { is_expected.to eql("ul") }
24
- end
25
-
26
- describe '#content' do
27
- subject { super().content }
28
- it{ is_expected.to include("class=\"batch_action\" data-action=\"action_1\"") }
29
- end
30
-
31
- describe '#content' do
32
- subject { super().content }
33
- it{ is_expected.to include("class=\"batch_action\" data-action=\"action_2\"") }
34
- end
35
-
36
- describe '#content' do
37
- subject { super().content }
38
- it{ is_expected.to include("class=\"batch_action\" data-action=\"action_3\"") }
39
- end
40
-
41
- end
42
-
43
- end
@@ -1,27 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::BlankSlate do
4
-
5
- describe "#blank_slate" do
6
- subject do
7
- render_arbre_component do
8
- blank_slate("There are no Posts yet. <a href=\"/posts/new\">Create one</a></span>")
9
- end
10
- end
11
-
12
- describe '#tag_name' do
13
- subject { super().tag_name }
14
- it { is_expected.to eql 'div' }
15
- end
16
-
17
- describe '#class_list' do
18
- subject { super().class_list }
19
- it { is_expected.to include('blank_slate_container') }
20
- end
21
-
22
- describe '#content' do
23
- subject { super().content }
24
- it { is_expected.to include '<span class="blank_slate">There are no Posts yet. <a href="/posts/new">Create one</a></span>' }
25
- end
26
- end
27
- end
@@ -1,189 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::Columns do
4
-
5
- describe "Rendering zero columns" do
6
- let(:cols) do
7
- render_arbre_component do
8
- columns do
9
- end
10
- end
11
- end
12
-
13
- it "should have the class .columns" do
14
- expect(cols.class_list).to include("columns")
15
- end
16
-
17
- it "should have one column" do
18
- expect(cols.children.first.class_list).not_to include("column")
19
- end
20
- end
21
-
22
- describe "Rendering one column" do
23
- let(:cols) do
24
- render_arbre_component do
25
- columns do
26
- column { span "Hello World" }
27
- end
28
- end
29
- end
30
-
31
- it "should have the class .columns" do
32
- expect(cols.class_list).to include("columns")
33
- end
34
-
35
- it "should have one column" do
36
- expect(cols.children.size).to eq 1
37
- expect(cols.children.first.class_list).to include("column")
38
- end
39
-
40
- it "should have one column with the width 100.0%" do
41
- expect(cols.children.first.attr(:style)).to include("width: 100.0%")
42
- end
43
- end
44
-
45
- describe "Rendering two columns" do
46
- let(:cols) do
47
- render_arbre_component do
48
- columns do
49
- column { span "Hello World" }
50
- column { span "Hello World" }
51
- end
52
- end
53
- end
54
-
55
- it "should have two columns" do
56
- expect(cols.children.size).to eq 2
57
- end
58
-
59
- it "should have a first column with width 49% and margin 2%" do
60
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; margin-right: 2%;"
61
- end
62
-
63
- it "should have a second column with width 49% and no right margin" do
64
- expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
65
- end
66
- end
67
-
68
- describe "Rendering four columns" do
69
- let(:cols) do
70
- render_arbre_component do
71
- columns do
72
- column { span "Hello World" }
73
- column { span "Hello World" }
74
- column { span "Hello World" }
75
- column { span "Hello World" }
76
- end
77
- end
78
- end
79
-
80
- it "should have four columns" do
81
- expect(cols.children.size).to eq 4
82
- end
83
-
84
-
85
- (0..2).to_a.each do |index|
86
- it "should have column #{index + 1} with width 49% and margin 2%" do
87
- expect(cols.children[index].attr(:style)).to eq "width: 23.5%; margin-right: 2%;"
88
- end
89
- end
90
-
91
- it "should have column 4 with width 49% and no margin" do
92
- expect(cols.children[3].attr(:style)).to eq "width: 23.5%;"
93
- end
94
- end
95
-
96
-
97
- describe "Column Spans" do
98
- let(:cols) do
99
- render_arbre_component do
100
- columns do
101
- column(span: 2){ "Hello World" }
102
- column(){ "Hello World" }
103
- column(){ "Hello World" }
104
- end
105
- end
106
- end
107
-
108
- it "should set the span when declared" do
109
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; margin-right: 2%;"
110
- end
111
-
112
- it "should default to 1 if not passed in" do
113
- expect(cols.children.last.attr(:style)).to eq "width: 23.5%;"
114
- end
115
- end
116
-
117
- describe "Column max width" do
118
-
119
- let(:cols) do
120
- render_arbre_component do
121
- columns do
122
- column(max_width: "100px"){ "Hello World" }
123
- column(){ "Hello World" }
124
- end
125
- end
126
- end
127
-
128
- it "should set the max with if passed in" do
129
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; max-width: 100px; margin-right: 2%;"
130
- end
131
-
132
- it "should omit the value if not present" do
133
- expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
134
- end
135
-
136
- context "when passed an integer value" do
137
- let(:cols) do
138
- render_arbre_component do
139
- columns do
140
- column(max_width: 100){ "Hello World" }
141
- column(){ "Hello World" }
142
- end
143
- end
144
- end
145
-
146
- it "should be treated as pixels" do
147
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; max-width: 100px; margin-right: 2%;"
148
- end
149
- end
150
-
151
- end
152
-
153
- describe "Column min width" do
154
-
155
- let(:cols) do
156
- render_arbre_component do
157
- columns do
158
- column(min_width: "100px"){ "Hello World" }
159
- column(){ "Hello World" }
160
- end
161
- end
162
- end
163
-
164
- it "should set the min with if passed in" do
165
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; min-width: 100px; margin-right: 2%;"
166
- end
167
-
168
- it "should omit the value if not present" do
169
- expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
170
- end
171
-
172
- context "when passed an integer value" do
173
- let(:cols) do
174
- render_arbre_component do
175
- columns do
176
- column(min_width: 100){ "Hello World" }
177
- column(){ "Hello World" }
178
- end
179
- end
180
- end
181
-
182
- it "should be treated as pixels" do
183
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; min-width: 100px; margin-right: 2%;"
184
- end
185
- end
186
-
187
- end
188
-
189
- end