activeadmin 1.0.0.pre1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +587 -939
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/CONTRIBUTING.md +110 -59
  5. data/LICENSE +0 -5
  6. data/README.md +80 -61
  7. data/app/assets/javascripts/active_admin/base.js +517 -0
  8. data/app/assets/stylesheets/active_admin/_base.scss +31 -34
  9. data/app/assets/stylesheets/active_admin/_forms.scss +33 -35
  10. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  11. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  12. data/app/assets/stylesheets/active_admin/_normalize.scss +447 -0
  13. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  14. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -5
  15. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  16. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  17. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  18. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  19. data/app/assets/stylesheets/active_admin/components/_tables.scss +5 -3
  20. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  21. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -11
  22. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  23. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +1 -1
  25. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +9 -1
  26. data/app/assets/stylesheets/active_admin/print.scss +3 -4
  27. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -5
  29. data/app/javascript/active_admin/base.js +28 -0
  30. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  31. data/app/javascript/active_admin/ext/jquery.js +9 -0
  32. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  33. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  34. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  35. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  36. data/app/javascript/active_admin/initializers/filters.js +10 -0
  37. data/app/javascript/active_admin/initializers/has-many.js +95 -0
  38. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  39. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  40. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  41. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  42. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  43. data/app/javascript/active_admin/lib/filters.js +39 -0
  44. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  45. data/app/javascript/active_admin/lib/per-page.js +38 -0
  46. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  47. data/app/javascript/active_admin/lib/utils.js +40 -0
  48. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  49. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  50. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  51. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  52. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  53. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  54. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  55. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  56. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  57. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  58. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  59. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  60. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  61. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  62. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  63. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  64. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  65. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  66. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  67. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  68. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  69. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  70. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  71. data/app/views/layouts/active_admin_logged_out.html.erb +21 -7
  72. data/config/locales/ar.yml +62 -47
  73. data/config/locales/az.yml +138 -0
  74. data/config/locales/bg.yml +1 -3
  75. data/config/locales/bs.yml +1 -2
  76. data/config/locales/ca.yml +2 -4
  77. data/config/locales/cs.yml +1 -2
  78. data/config/locales/da.yml +45 -14
  79. data/config/locales/de-CH.yml +4 -3
  80. data/config/locales/de.yml +46 -3
  81. data/config/locales/el.yml +3 -4
  82. data/config/locales/en-CA.yml +139 -0
  83. data/config/locales/en-GB.yml +46 -5
  84. data/config/locales/en.yml +44 -9
  85. data/config/locales/eo.yml +145 -0
  86. data/config/locales/es-MX.yml +9 -6
  87. data/config/locales/es.yml +63 -14
  88. data/config/locales/fa.yml +1 -2
  89. data/config/locales/fi.yml +2 -3
  90. data/config/locales/fr.yml +36 -8
  91. data/config/locales/he.yml +53 -7
  92. data/config/locales/hr.yml +1 -2
  93. data/config/locales/hu.yml +6 -3
  94. data/config/locales/id.yml +135 -0
  95. data/config/locales/it.yml +49 -4
  96. data/config/locales/ja.yml +31 -7
  97. data/config/locales/ko.yml +66 -36
  98. data/config/locales/lt.yml +27 -6
  99. data/config/locales/lv.yml +3 -4
  100. data/config/locales/mk.yml +134 -0
  101. data/config/locales/nb.yml +22 -8
  102. data/config/locales/nl.yml +26 -3
  103. data/config/locales/pl.yml +75 -5
  104. data/config/locales/pt-BR.yml +24 -2
  105. data/config/locales/pt-PT.yml +1 -2
  106. data/config/locales/ro.yml +1 -2
  107. data/config/locales/ru.yml +21 -4
  108. data/config/locales/sk.yml +168 -0
  109. data/config/locales/sv-SE.yml +50 -8
  110. data/config/locales/tr.yml +92 -45
  111. data/config/locales/uk.yml +30 -16
  112. data/config/locales/vi.yml +53 -12
  113. data/config/locales/zh-CN.yml +44 -7
  114. data/config/locales/zh-TW.yml +42 -3
  115. data/docs/.gitignore +1 -0
  116. data/docs/0-installation.md +68 -18
  117. data/docs/1-general-configuration.md +88 -4
  118. data/docs/10-custom-pages.md +56 -2
  119. data/docs/11-decorators.md +20 -5
  120. data/docs/12-arbre-components.md +75 -11
  121. data/docs/13-authorization-adapter.md +73 -36
  122. data/docs/14-gotchas.md +64 -18
  123. data/docs/2-resource-customization.md +91 -23
  124. data/docs/3-index-pages/custom-index.md +5 -1
  125. data/docs/3-index-pages/index-as-block.md +3 -5
  126. data/docs/3-index-pages/index-as-blog.md +4 -6
  127. data/docs/3-index-pages/index-as-grid.md +3 -5
  128. data/docs/3-index-pages/index-as-table.md +46 -9
  129. data/docs/3-index-pages.md +73 -10
  130. data/docs/4-csv-format.md +35 -0
  131. data/docs/5-forms.md +96 -18
  132. data/docs/6-show-pages.md +13 -25
  133. data/docs/7-sidebars.md +13 -1
  134. data/docs/8-custom-actions.md +18 -1
  135. data/docs/9-batch-actions.md +9 -5
  136. data/docs/CNAME +1 -0
  137. data/docs/Gemfile +3 -0
  138. data/docs/Gemfile.lock +259 -0
  139. data/docs/_config.yml +4 -0
  140. data/docs/_includes/footer.html +8 -0
  141. data/docs/_includes/google-analytics.html +16 -0
  142. data/docs/_includes/head.html +7 -0
  143. data/docs/_includes/toc.html +98 -0
  144. data/docs/_includes/top-menu.html +17 -0
  145. data/docs/_layouts/default.html +21 -0
  146. data/docs/documentation.md +60 -0
  147. data/docs/images/activeadmin.png +0 -0
  148. data/docs/images/code-header.png +0 -0
  149. data/docs/images/divider.png +0 -0
  150. data/docs/images/features.png +0 -0
  151. data/docs/images/tidelift.svg +14 -0
  152. data/docs/index.html +226 -0
  153. data/docs/stylesheets/main.css +1205 -0
  154. data/lib/active_admin/abstract_view_factory.rb +13 -51
  155. data/lib/active_admin/application.rb +105 -138
  156. data/lib/active_admin/application_settings.rb +42 -0
  157. data/lib/active_admin/authorization_adapter.rb +4 -7
  158. data/lib/active_admin/base_controller/authorization.rb +16 -21
  159. data/lib/active_admin/base_controller/menu.rb +10 -10
  160. data/lib/active_admin/base_controller.rb +15 -11
  161. data/lib/active_admin/batch_actions/controller.rb +6 -7
  162. data/lib/active_admin/batch_actions/resource_extension.rb +15 -15
  163. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -4
  164. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -7
  165. data/lib/active_admin/batch_actions/views/selection_cells.rb +7 -6
  166. data/lib/active_admin/batch_actions.rb +0 -1
  167. data/lib/active_admin/callbacks.rb +2 -2
  168. data/lib/active_admin/cancan_adapter.rb +1 -1
  169. data/lib/active_admin/collection_decorator.rb +31 -0
  170. data/lib/active_admin/controller_action.rb +2 -1
  171. data/lib/active_admin/csv_builder.rb +30 -20
  172. data/lib/active_admin/dependency.rb +36 -29
  173. data/lib/active_admin/deprecation.rb +0 -25
  174. data/lib/active_admin/devise.rb +9 -9
  175. data/lib/active_admin/dsl.rb +5 -18
  176. data/lib/active_admin/dynamic_setting.rb +38 -0
  177. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  178. data/lib/active_admin/engine.rb +14 -7
  179. data/lib/active_admin/error.rb +6 -6
  180. data/lib/active_admin/filters/active.rb +29 -0
  181. data/lib/active_admin/filters/active_filter.rb +123 -0
  182. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  183. data/lib/active_admin/filters/forms.rb +17 -10
  184. data/lib/active_admin/filters/formtastic_addons.rb +2 -7
  185. data/lib/active_admin/filters/resource_extension.rb +50 -14
  186. data/lib/active_admin/filters.rb +7 -5
  187. data/lib/active_admin/form_builder.rb +112 -67
  188. data/lib/active_admin/generators/boilerplate.rb +53 -0
  189. data/lib/active_admin/helpers/collection.rb +2 -0
  190. data/lib/active_admin/helpers/optional_display.rb +2 -2
  191. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -1
  192. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  193. data/lib/active_admin/inputs/datepicker_input.rb +13 -6
  194. data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -9
  195. data/lib/active_admin/inputs/filters/base.rb +3 -1
  196. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
  197. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
  198. data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
  199. data/lib/active_admin/inputs/filters/date_range_input.rb +25 -9
  200. data/lib/active_admin/inputs/filters/select_input.rb +8 -4
  201. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  202. data/lib/active_admin/inputs.rb +2 -0
  203. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  204. data/lib/active_admin/localizers.rb +11 -0
  205. data/lib/active_admin/menu.rb +13 -15
  206. data/lib/active_admin/menu_collection.rb +0 -2
  207. data/lib/active_admin/menu_item.rb +10 -38
  208. data/lib/active_admin/namespace.rb +51 -32
  209. data/lib/active_admin/namespace_settings.rb +126 -0
  210. data/lib/active_admin/order_clause.rb +30 -8
  211. data/lib/active_admin/orm/active_record/comments/comment.rb +6 -20
  212. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +44 -21
  213. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  214. data/lib/active_admin/orm/active_record/comments.rb +49 -29
  215. data/lib/active_admin/orm/active_record.rb +1 -1
  216. data/lib/active_admin/page.rb +24 -5
  217. data/lib/active_admin/page_controller.rb +2 -2
  218. data/lib/active_admin/page_dsl.rb +5 -1
  219. data/lib/active_admin/page_presenter.rb +2 -1
  220. data/lib/active_admin/pundit_adapter.rb +22 -9
  221. data/lib/active_admin/resource/action_items.rb +34 -12
  222. data/lib/active_admin/resource/attributes.rb +47 -0
  223. data/lib/active_admin/resource/belongs_to.rb +17 -4
  224. data/lib/active_admin/resource/controllers.rb +1 -1
  225. data/lib/active_admin/resource/menu.rb +9 -6
  226. data/lib/active_admin/resource/model.rb +15 -0
  227. data/lib/active_admin/resource/naming.rb +5 -5
  228. data/lib/active_admin/resource/ordering.rb +11 -0
  229. data/lib/active_admin/resource/page_presenters.rb +1 -1
  230. data/lib/active_admin/resource/pagination.rb +4 -0
  231. data/lib/active_admin/resource/routes.rb +56 -26
  232. data/lib/active_admin/resource/scope_to.rb +7 -7
  233. data/lib/active_admin/resource/scopes.rb +5 -3
  234. data/lib/active_admin/resource/sidebars.rb +2 -2
  235. data/lib/active_admin/resource.rb +80 -22
  236. data/lib/active_admin/resource_collection.rb +5 -3
  237. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  238. data/lib/active_admin/resource_controller/data_access.rb +56 -43
  239. data/lib/active_admin/resource_controller/decorators.rb +9 -31
  240. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  241. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  242. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  243. data/lib/active_admin/resource_controller/streaming.rb +12 -5
  244. data/lib/active_admin/resource_controller.rb +26 -10
  245. data/lib/active_admin/resource_dsl.rb +67 -21
  246. data/lib/active_admin/router.rb +90 -82
  247. data/lib/active_admin/scope.rb +21 -14
  248. data/lib/active_admin/settings_node.rb +19 -0
  249. data/lib/active_admin/sidebar_section.rb +6 -12
  250. data/lib/active_admin/version.rb +1 -1
  251. data/lib/active_admin/view_factory.rb +17 -18
  252. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  253. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
  254. data/lib/active_admin/view_helpers/display_helper.rb +51 -9
  255. data/lib/active_admin/view_helpers/download_format_links_helper.rb +14 -1
  256. data/lib/active_admin/view_helpers/fields_for.rb +4 -4
  257. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  258. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +11 -4
  259. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  260. data/lib/active_admin/view_helpers.rb +2 -2
  261. data/lib/active_admin/views/action_items.rb +1 -1
  262. data/lib/active_admin/views/components/active_admin_form.rb +45 -13
  263. data/lib/active_admin/views/components/attributes_table.rb +11 -29
  264. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  265. data/lib/active_admin/views/components/columns.rb +12 -7
  266. data/lib/active_admin/views/components/dropdown_menu.rb +11 -13
  267. data/lib/active_admin/views/components/index_list.rb +6 -5
  268. data/lib/active_admin/views/components/menu.rb +32 -0
  269. data/lib/active_admin/views/components/menu_item.rb +58 -0
  270. data/lib/active_admin/views/components/paginated_collection.rb +52 -33
  271. data/lib/active_admin/views/components/panel.rb +2 -4
  272. data/lib/active_admin/views/components/scopes.rb +20 -12
  273. data/lib/active_admin/views/components/sidebar.rb +13 -0
  274. data/lib/active_admin/views/components/sidebar_section.rb +6 -1
  275. data/lib/active_admin/views/components/site_title.rb +6 -7
  276. data/lib/active_admin/views/components/status_tag.rb +19 -23
  277. data/lib/active_admin/views/components/table_for.rb +31 -57
  278. data/lib/active_admin/views/components/tabs.rb +17 -5
  279. data/lib/active_admin/views/footer.rb +15 -4
  280. data/lib/active_admin/views/header.rb +3 -16
  281. data/lib/active_admin/views/index_as_blog.rb +3 -4
  282. data/lib/active_admin/views/index_as_grid.rb +28 -28
  283. data/lib/active_admin/views/index_as_table.rb +76 -28
  284. data/lib/active_admin/views/pages/base.rb +45 -58
  285. data/lib/active_admin/views/pages/form.rb +5 -2
  286. data/lib/active_admin/views/pages/index.rb +15 -13
  287. data/lib/active_admin/views/pages/layout.rb +1 -1
  288. data/lib/active_admin/views/pages/show.rb +9 -3
  289. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  290. data/lib/active_admin/views/title_bar.rb +6 -6
  291. data/lib/active_admin/views.rb +1 -1
  292. data/lib/active_admin.rb +69 -67
  293. data/lib/activeadmin.rb +1 -1
  294. data/lib/generators/active_admin/assets/assets_generator.rb +3 -3
  295. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  296. data/lib/generators/active_admin/assets/templates/{active_admin.css.scss → active_admin.scss} +3 -3
  297. data/lib/generators/active_admin/devise/devise_generator.rb +17 -26
  298. data/lib/generators/active_admin/install/install_generator.rb +18 -8
  299. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +107 -5
  300. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  301. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  302. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  303. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  304. data/lib/generators/active_admin/page/templates/page.rb +1 -1
  305. data/lib/generators/active_admin/resource/resource_generator.rb +8 -2
  306. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  307. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  308. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  309. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  310. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  311. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
  312. data/lib/ransack_ext.rb +11 -3
  313. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  314. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  315. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  316. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  317. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  318. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  319. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  320. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  321. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  322. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  323. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  324. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  325. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  326. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  327. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  328. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  329. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  330. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  331. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  332. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  333. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  334. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  335. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  336. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  337. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  338. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  339. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  340. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  341. metadata +182 -553
  342. data/.gitignore +0 -49
  343. data/.hound.yml +0 -11
  344. data/.travis.yml +0 -42
  345. data/.yardopts +0 -8
  346. data/Gemfile +0 -54
  347. data/Guardfile +0 -8
  348. data/Rakefile +0 -33
  349. data/activeadmin.gemspec +0 -28
  350. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  351. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  352. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  353. data/app/assets/images/active_admin/orderable.png +0 -0
  354. data/app/assets/javascripts/active_admin/application.js.coffee +0 -32
  355. data/app/assets/javascripts/active_admin/base.js.coffee +0 -14
  356. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  357. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  358. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  359. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  360. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  361. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  362. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  363. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -37
  364. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -27
  365. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +0 -68
  366. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  367. data/app/assets/stylesheets/active_admin/components/_popovers.scss +0 -122
  368. data/app/assets/stylesheets/active_admin/mixins/_icons.scss +0 -20
  369. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  370. data/cucumber.yml +0 -3
  371. data/features/action_item.feature +0 -73
  372. data/features/authorization.feature +0 -64
  373. data/features/authorization_cancan.feature +0 -52
  374. data/features/authorization_pundit.feature +0 -37
  375. data/features/belongs_to.feature +0 -66
  376. data/features/breadcrumb.feature +0 -75
  377. data/features/comments/commenting.feature +0 -171
  378. data/features/comments/viewing_index.feature +0 -19
  379. data/features/dashboard.feature +0 -16
  380. data/features/decorators.feature +0 -41
  381. data/features/development_reloading.feature +0 -30
  382. data/features/edit_page.feature +0 -117
  383. data/features/favicon.feature +0 -20
  384. data/features/first_boot.feature +0 -16
  385. data/features/global_navigation.feature +0 -29
  386. data/features/i18n.feature +0 -43
  387. data/features/index/batch_actions.feature +0 -164
  388. data/features/index/filters.feature +0 -161
  389. data/features/index/format_as_csv.feature +0 -203
  390. data/features/index/formats.feature +0 -66
  391. data/features/index/index_as_block.feature +0 -15
  392. data/features/index/index_as_blog.feature +0 -69
  393. data/features/index/index_as_grid.feature +0 -45
  394. data/features/index/index_as_table.feature +0 -291
  395. data/features/index/index_blank_slate.feature +0 -83
  396. data/features/index/index_parameters.feature +0 -75
  397. data/features/index/index_scope_to.feature +0 -56
  398. data/features/index/index_scopes.feature +0 -251
  399. data/features/index/page_title.feature +0 -41
  400. data/features/index/pagination.feature +0 -59
  401. data/features/index/switch_index_view.feature +0 -73
  402. data/features/menu.feature +0 -53
  403. data/features/new_page.feature +0 -109
  404. data/features/registering_assets.feature +0 -35
  405. data/features/registering_pages.feature +0 -148
  406. data/features/registering_resources.feature +0 -33
  407. data/features/renamed_resource.feature +0 -32
  408. data/features/root_to.feature +0 -17
  409. data/features/show/default_content.feature +0 -43
  410. data/features/show/page_title.feature +0 -58
  411. data/features/show/tabs.feature +0 -27
  412. data/features/sidebar_sections.feature +0 -210
  413. data/features/site_title.feature +0 -47
  414. data/features/specifying_actions.feature +0 -93
  415. data/features/step_definitions/action_item_steps.rb +0 -7
  416. data/features/step_definitions/action_link_steps.rb +0 -20
  417. data/features/step_definitions/additional_web_steps.rb +0 -81
  418. data/features/step_definitions/asset_steps.rb +0 -15
  419. data/features/step_definitions/attribute_steps.rb +0 -18
  420. data/features/step_definitions/batch_action_steps.rb +0 -72
  421. data/features/step_definitions/blog_steps.rb +0 -3
  422. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  423. data/features/step_definitions/comment_steps.rb +0 -12
  424. data/features/step_definitions/configuration_steps.rb +0 -100
  425. data/features/step_definitions/dashboard_steps.rb +0 -15
  426. data/features/step_definitions/factory_steps.rb +0 -34
  427. data/features/step_definitions/filter_steps.rb +0 -39
  428. data/features/step_definitions/flash_steps.rb +0 -11
  429. data/features/step_definitions/format_steps.rb +0 -52
  430. data/features/step_definitions/i18n_steps.rb +0 -3
  431. data/features/step_definitions/index_scope_steps.rb +0 -21
  432. data/features/step_definitions/index_views_steps.rb +0 -3
  433. data/features/step_definitions/layout_steps.rb +0 -3
  434. data/features/step_definitions/member_link_steps.rb +0 -7
  435. data/features/step_definitions/menu_steps.rb +0 -11
  436. data/features/step_definitions/pagination_steps.rb +0 -7
  437. data/features/step_definitions/sidebar_steps.rb +0 -13
  438. data/features/step_definitions/site_title_steps.rb +0 -17
  439. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  440. data/features/step_definitions/tab_steps.rb +0 -8
  441. data/features/step_definitions/table_steps.rb +0 -119
  442. data/features/step_definitions/user_steps.rb +0 -45
  443. data/features/step_definitions/web_steps.rb +0 -85
  444. data/features/sti_resource.feature +0 -65
  445. data/features/strong_parameters.feature +0 -73
  446. data/features/support/env.rb +0 -145
  447. data/features/support/paths.rb +0 -71
  448. data/features/support/selectors.rb +0 -45
  449. data/features/symbol_leak.feature +0 -35
  450. data/features/users/logging_in.feature +0 -34
  451. data/features/users/logging_out.feature +0 -13
  452. data/features/users/resetting_password.feature +0 -34
  453. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +0 -28
  454. data/lib/active_admin/event.rb +0 -33
  455. data/lib/active_admin/helpers/settings.rb +0 -115
  456. data/lib/active_admin/iconic/icons.rb +0 -142
  457. data/lib/active_admin/iconic.rb +0 -53
  458. data/lib/active_admin/view_helpers/icon_helper.rb +0 -12
  459. data/lib/active_admin/views/components/action_list_popover.rb +0 -29
  460. data/lib/active_admin/views/components/popover.rb +0 -27
  461. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  462. data/lib/generators/active_admin/resource/templates/admin.rb +0 -18
  463. data/script/local +0 -44
  464. data/script/travis_cache +0 -107
  465. data/script/use_rails +0 -53
  466. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  467. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  468. data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +0 -82
  469. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  470. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  471. data/spec/javascripts/fixtures/flashes.html +0 -2
  472. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  473. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  474. data/spec/javascripts/support/jasmine.yml +0 -74
  475. data/spec/javascripts/support/jasmine_config.rb +0 -23
  476. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  477. data/spec/rails_helper.rb +0 -154
  478. data/spec/requests/default_namespace_spec.rb +0 -61
  479. data/spec/requests/javascript_spec.rb +0 -20
  480. data/spec/requests/memory_spec.rb +0 -23
  481. data/spec/requests/stylesheets_spec.rb +0 -18
  482. data/spec/spec_helper.rb +0 -17
  483. data/spec/support/deferred_garbage_collection.rb +0 -19
  484. data/spec/support/detect_rails_version.rb +0 -34
  485. data/spec/support/integration_example_group.rb +0 -31
  486. data/spec/support/jslint.yml +0 -80
  487. data/spec/support/rails_template.rb +0 -138
  488. data/spec/support/rails_template_with_data.rb +0 -59
  489. data/spec/support/templates/admin/stores.rb +0 -9
  490. data/spec/support/templates/cucumber.rb +0 -24
  491. data/spec/support/templates/cucumber_with_reloading.rb +0 -5
  492. data/spec/support/templates/en.yml +0 -8
  493. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  494. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  495. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  496. data/spec/support/templates/policies/application_policy.rb +0 -45
  497. data/spec/support/templates/policies/category_policy.rb +0 -7
  498. data/spec/support/templates/policies/post_policy.rb +0 -15
  499. data/spec/support/templates/policies/store_policy.rb +0 -11
  500. data/spec/support/templates/policies/user_policy.rb +0 -11
  501. data/spec/support/templates/post_decorator.rb +0 -11
  502. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  503. data/spec/unit/action_builder_spec.rb +0 -132
  504. data/spec/unit/active_admin_spec.rb +0 -11
  505. data/spec/unit/application_spec.rb +0 -140
  506. data/spec/unit/asset_registration_spec.rb +0 -52
  507. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  508. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  509. data/spec/unit/authorization/index_overriding_spec.rb +0 -22
  510. data/spec/unit/auto_link_spec.rb +0 -69
  511. data/spec/unit/batch_actions/resource_spec.rb +0 -92
  512. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  513. data/spec/unit/belongs_to_spec.rb +0 -51
  514. data/spec/unit/cancan_adapter_spec.rb +0 -43
  515. data/spec/unit/comments_spec.rb +0 -166
  516. data/spec/unit/component_spec.rb +0 -18
  517. data/spec/unit/config_shared_examples.rb +0 -59
  518. data/spec/unit/controller_filters_spec.rb +0 -44
  519. data/spec/unit/csv_builder_spec.rb +0 -244
  520. data/spec/unit/dependency_spec.rb +0 -135
  521. data/spec/unit/devise_spec.rb +0 -96
  522. data/spec/unit/dsl_spec.rb +0 -122
  523. data/spec/unit/event_spec.rb +0 -47
  524. data/spec/unit/filters/filter_form_builder_spec.rb +0 -433
  525. data/spec/unit/filters/resource_spec.rb +0 -121
  526. data/spec/unit/form_builder_spec.rb +0 -752
  527. data/spec/unit/generators/install_spec.rb +0 -23
  528. data/spec/unit/helpers/collection_spec.rb +0 -65
  529. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  530. data/spec/unit/helpers/settings_spec.rb +0 -30
  531. data/spec/unit/i18n_spec.rb +0 -12
  532. data/spec/unit/menu_collection_spec.rb +0 -62
  533. data/spec/unit/menu_item_spec.rb +0 -143
  534. data/spec/unit/menu_spec.rb +0 -71
  535. data/spec/unit/namespace/authorization_spec.rb +0 -27
  536. data/spec/unit/namespace/register_page_spec.rb +0 -74
  537. data/spec/unit/namespace/register_resource_spec.rb +0 -161
  538. data/spec/unit/namespace_spec.rb +0 -103
  539. data/spec/unit/order_clause_spec.rb +0 -81
  540. data/spec/unit/page_controller_spec.rb +0 -5
  541. data/spec/unit/page_spec.rb +0 -78
  542. data/spec/unit/pretty_format_spec.rb +0 -63
  543. data/spec/unit/pundit_adapter_spec.rb +0 -98
  544. data/spec/unit/resource/action_items_spec.rb +0 -65
  545. data/spec/unit/resource/includes_spec.rb +0 -21
  546. data/spec/unit/resource/menu_spec.rb +0 -18
  547. data/spec/unit/resource/naming_spec.rb +0 -122
  548. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  549. data/spec/unit/resource/pagination_spec.rb +0 -38
  550. data/spec/unit/resource/routes_spec.rb +0 -73
  551. data/spec/unit/resource/scopes_spec.rb +0 -50
  552. data/spec/unit/resource/sidebars_spec.rb +0 -43
  553. data/spec/unit/resource_collection_spec.rb +0 -158
  554. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  555. data/spec/unit/resource_controller/decorators_spec.rb +0 -83
  556. data/spec/unit/resource_controller/sidebars_spec.rb +0 -45
  557. data/spec/unit/resource_controller_spec.rb +0 -269
  558. data/spec/unit/resource_registration_spec.rb +0 -56
  559. data/spec/unit/resource_spec.rb +0 -278
  560. data/spec/unit/routing_spec.rb +0 -180
  561. data/spec/unit/scope_spec.rb +0 -190
  562. data/spec/unit/settings_spec.rb +0 -118
  563. data/spec/unit/view_factory_spec.rb +0 -21
  564. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  565. data/spec/unit/view_helpers/display_name_spec.rb +0 -69
  566. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  567. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  568. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  569. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  570. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  571. data/spec/unit/views/components/action_list_popover_spec.rb +0 -40
  572. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  573. data/spec/unit/views/components/batch_action_popover_spec.rb +0 -47
  574. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  575. data/spec/unit/views/components/columns_spec.rb +0 -172
  576. data/spec/unit/views/components/index_list_spec.rb +0 -35
  577. data/spec/unit/views/components/index_table_for_spec.rb +0 -46
  578. data/spec/unit/views/components/paginated_collection_spec.rb +0 -236
  579. data/spec/unit/views/components/panel_spec.rb +0 -62
  580. data/spec/unit/views/components/popover_spec.rb +0 -33
  581. data/spec/unit/views/components/sidebar_section_spec.rb +0 -47
  582. data/spec/unit/views/components/site_title_spec.rb +0 -78
  583. data/spec/unit/views/components/status_tag_spec.rb +0 -235
  584. data/spec/unit/views/components/table_for_spec.rb +0 -384
  585. data/spec/unit/views/components/tabs_spec.rb +0 -39
  586. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -47
  587. data/spec/unit/views/pages/form_spec.rb +0 -42
  588. data/spec/unit/views/pages/index_spec.rb +0 -60
  589. data/spec/unit/views/pages/layout_spec.rb +0 -59
  590. data/spec/unit/views/pages/show_spec.rb +0 -33
  591. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  592. data/tasks/docs.rake +0 -37
  593. data/tasks/parallel_tests.rake +0 -66
  594. data/tasks/test.rake +0 -83
  595. data/tasks/yard.rake +0 -9
@@ -1,35 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Views::IndexList do
4
-
5
- describe "#index_list_renderer" do
6
-
7
-
8
- let(:index_classes) { [ActiveAdmin::Views::IndexAsTable, ActiveAdmin::Views::IndexAsBlock] }
9
-
10
- let(:helpers) do
11
- helpers = mock_action_view
12
- allow(helpers).to receive(:url_for).and_return("/")
13
- allow(helpers).to receive(:params).and_return as: "table"
14
- helpers
15
- end
16
-
17
- subject do
18
- render_arbre_component({index_classes: index_classes}, helpers) do
19
- index_list_renderer(index_classes)
20
- end
21
- end
22
-
23
- describe '#tag_name' do
24
- subject { super().tag_name }
25
- it { is_expected.to eq 'ul'}
26
- end
27
-
28
- it "should contain the names of available indexes in links" do
29
- a_tags = subject.find_by_tag("a")
30
- expect(a_tags.size).to eq 2
31
- expect(a_tags.first.to_s).to include("Table")
32
- expect(a_tags.last.to_s).to include("List")
33
- end
34
- end
35
- end
@@ -1,46 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Views::IndexAsTable::IndexTableFor do
4
- describe 'creating with the dsl' do
5
- let(:collection) do
6
- [Post.new(title: 'First Post', starred: true)]
7
- end
8
- let(:active_admin_config) do
9
- namespace = ActiveAdmin::Namespace.new(ActiveAdmin::Application.new, :admin)
10
- namespace.batch_actions = [ActiveAdmin::BatchAction.new(:flag, 'Flag') {}]
11
- namespace
12
- end
13
-
14
- let(:assigns) do
15
- {
16
- collection: collection,
17
- active_admin_config: active_admin_config
18
- }
19
- end
20
- let(:helpers) { mock_action_view }
21
-
22
- context 'when creating a selectable column' do
23
- let(:table) do
24
- render_arbre_component assigns, helpers do
25
- insert_tag(ActiveAdmin::Views::IndexAsTable::IndexTableFor, collection, {sortable: true}) do
26
- selectable_column
27
- end
28
- end
29
- end
30
-
31
- context 'creates a table header based on the selectable column' do
32
- let(:header) do
33
- table.find_by_tag('th').first
34
- end
35
-
36
- it 'with selectable column class name' do
37
- expect(header.attributes[:class]).to include 'col-selectable'
38
- end
39
-
40
- it 'not sortable' do
41
- expect(header.attributes[:class]).not_to include 'sortable'
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,236 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Views::PaginatedCollection do
4
- describe "creating with the dsl" do
5
-
6
- before :all do
7
- load_defaults!
8
- reload_routes!
9
- end
10
-
11
- let(:view) do
12
- view = mock_action_view
13
- allow(view.request).to receive(:query_parameters).and_return page: '1'
14
- allow(view.request).to receive(:path_parameters).and_return controller: 'admin/posts', action: 'index'
15
- view
16
- end
17
-
18
- # Helper to render paginated collections within an arbre context
19
- def paginated_collection(*args)
20
- render_arbre_component({paginated_collection_args: args}, view) do
21
- paginated_collection(*paginated_collection_args)
22
- end
23
- end
24
-
25
- let(:collection) do
26
- posts = [Post.new(title: "First Post"), Post.new(title: "Second Post"), Post.new(title: "Third Post")]
27
- Kaminari.paginate_array(posts).page(1).per(5)
28
- end
29
-
30
- before do
31
- allow(collection).to receive(:except) { collection } unless collection.respond_to? :except
32
- allow(collection).to receive(:group_values) { [] } unless collection.respond_to? :group_values
33
- end
34
-
35
- let(:pagination){ paginated_collection collection }
36
-
37
- it "should set :collection as the passed in collection" do
38
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>all 3</b> posts"
39
- end
40
-
41
- it "should raise error if collection has no pagination scope" do
42
- expect {
43
- paginated_collection([Post.new, Post.new])
44
- }.to raise_error(StandardError, "Collection is not a paginated scope. Set collection.page(params[:page]).per(10) before calling :paginated_collection.")
45
- end
46
-
47
- it 'should preserve custom query params' do
48
- allow(view.request).to receive(:query_parameters).and_return page: '1', something: 'else'
49
- pagination_content = pagination.content
50
- expect(pagination_content).to include '/admin/posts.csv?page=1&amp;something=else'
51
- expect(pagination_content).to include '/admin/posts.xml?page=1&amp;something=else'
52
- expect(pagination_content).to include '/admin/posts.json?page=1&amp;something=else'
53
- end
54
-
55
- context "when specifying :param_name option" do
56
- let(:collection) do
57
- posts = 10.times.map{ Post.new }
58
- Kaminari.paginate_array(posts).page(1).per(5)
59
- end
60
-
61
- let(:pagination) { paginated_collection(collection, param_name: :post_page) }
62
-
63
- it "should customize the page number parameter in pagination links" do
64
- expect(pagination.children.last.content).to match(/\/admin\/posts\?post_page=2/)
65
- end
66
- end
67
-
68
- context "when specifying download_links: false option" do
69
- let(:collection) do
70
- posts = 10.times.map{ Post.new }
71
- Kaminari.paginate_array(posts).page(1).per(5)
72
- end
73
-
74
- let(:pagination) { paginated_collection(collection, download_links: false) }
75
-
76
- it "should not render download links" do
77
- expect(pagination.find_by_tag('div').last.content).to_not match(/Download:/)
78
- end
79
- end
80
-
81
- context "when specifying :entry_name option with a single item" do
82
- let(:collection) do
83
- posts = [Post.new]
84
- Kaminari.paginate_array(posts).page(1).per(5)
85
- end
86
-
87
- let(:pagination) { paginated_collection(collection, entry_name: "message") }
88
-
89
- it "should use :entry_name as the collection name" do
90
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>1</b> message"
91
- end
92
- end
93
-
94
- context "when specifying :entry_name option with multiple items" do
95
- let(:pagination) { paginated_collection(collection, entry_name: "message") }
96
-
97
- it "should use :entry_name as the collection name" do
98
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>all 3</b> messages"
99
- end
100
- end
101
-
102
- context "when specifying :entry_name and :entries_name option with a single item" do
103
- let(:collection) do
104
- posts = [Post.new]
105
- Kaminari.paginate_array(posts).page(1).per(5)
106
- end
107
-
108
- let(:pagination) { paginated_collection(collection, entry_name: "singular", entries_name: "plural") }
109
-
110
- it "should use :entry_name as the collection name" do
111
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>1</b> singular"
112
- end
113
- end
114
-
115
- context "when specifying :entry_name and :entries_name option with a multiple items" do
116
- let(:pagination) { paginated_collection(collection, entry_name: "singular", entries_name: "plural") }
117
-
118
- it "should use :entries_name as the collection name" do
119
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>all 3</b> plural"
120
- end
121
- end
122
-
123
- context "when omitting :entry_name with a single item" do
124
- let(:collection) do
125
- posts = [Post.new]
126
- Kaminari.paginate_array(posts).page(1).per(5)
127
- end
128
-
129
- it "should use 'post' as the collection name when there is no I18n translation" do
130
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>1</b> post"
131
- end
132
-
133
- it "should use 'Singular' as the collection name when there is an I18n translation" do
134
- allow(I18n).to receive(:translate) { "Singular" }
135
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>1</b> Singular"
136
- end
137
- end
138
-
139
- context "when omitting :entry_name with multiple items" do
140
- it "should use 'posts' as the collection name when there is no I18n translation" do
141
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>all 3</b> posts"
142
- end
143
-
144
- it "should use 'Plural' as the collection name when there is an I18n translation" do
145
- allow(I18n).to receive(:translate) { "Plural" }
146
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>all 3</b> Plural"
147
- end
148
- end
149
-
150
- context "when specifying an empty collection" do
151
- let(:collection) do
152
- posts = []
153
- Kaminari.paginate_array(posts).page(1).per(5)
154
- end
155
-
156
- it "should display 'No entries found'" do
157
- expect(pagination.find_by_class('pagination_information').first.content).to eq "No entries found"
158
- end
159
- end
160
-
161
- context "when collection comes from find with GROUP BY" do
162
- let(:collection) do
163
- %w{Foo Foo Bar}.each {|title| Post.create(title: title) }
164
- Post.select(:title).group(:title).page(1).per(5)
165
- end
166
-
167
- it "should display proper message (including number and not hash)" do
168
- expect(pagination.find_by_class('pagination_information').first.content).to eq "Displaying <b>all 2</b> posts"
169
- end
170
- end
171
-
172
- context "when collection with many pages comes from find with GROUP BY" do
173
- let(:collection) do
174
- %w{Foo Foo Bar Baz}.each {|title| Post.create(title: title) }
175
- Post.select(:title).group(:title).page(1).per(2)
176
- end
177
-
178
- it "should display proper message (including number and not hash)" do
179
- expect(pagination.find_by_class('pagination_information').first.content.gsub('&nbsp;',' ')).
180
- to eq "Displaying posts <b>1 - 2</b> of <b>3</b> in total"
181
- end
182
- end
183
-
184
- context "when viewing the last page of a collection that has multiple pages" do
185
- let(:collection) do
186
- Kaminari.paginate_array([Post.new] * 81).page(3).per(30)
187
- end
188
-
189
- it "should show the proper item counts" do
190
- expect(pagination.find_by_class('pagination_information').first.content.gsub('&nbsp;',' ')).
191
- to eq "Displaying posts <b>61 - 81</b> of <b>81</b> in total"
192
- end
193
- end
194
-
195
- context "with :pagination_total" do
196
- let(:collection) do
197
- Kaminari.paginate_array([Post.new] * 256).page(1).per(30)
198
- end
199
-
200
- describe "set to false" do
201
- let(:pagination) { paginated_collection(collection, pagination_total: false) }
202
-
203
- it "should not show the total item counts" do
204
- info = pagination.find_by_class('pagination_information').first.content.gsub('&nbsp;',' ')
205
- expect(info).to eq "Displaying posts <b>1 - 30</b>"
206
- end
207
- end
208
-
209
- describe "set to true" do
210
- let(:pagination) { paginated_collection(collection, pagination_total: true) }
211
-
212
- it "should show the total item counts" do
213
- info = pagination.find_by_class('pagination_information').first.content.gsub('&nbsp;',' ')
214
- expect(info).to eq "Displaying posts <b>1 - 30</b> of <b>256</b> in total"
215
- end
216
- end
217
- end
218
-
219
- context "when specifying per_page: array option" do
220
- let(:collection) do
221
- posts = 10.times.map { Post.new }
222
- Kaminari.paginate_array(posts).page(1).per(5)
223
- end
224
-
225
- let(:pagination) { paginated_collection(collection, per_page: [1, 2, 3]) }
226
- let(:pagination_html) { pagination.find_by_class("pagination_per_page").first }
227
- let(:pagination_node) { Capybara.string(pagination_html.to_s) }
228
-
229
- it "should render per_page select tag" do
230
- expect(pagination_html.content).to match(/Per page:/)
231
- expect(pagination_node).to have_css("select option", count: 3)
232
- end
233
- end
234
-
235
- end
236
- end
@@ -1,62 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Views::Panel do
4
- let(:arbre_panel) do
5
- render_arbre_component do
6
- panel "My Title", icon: :arrow_down do
7
- header_action link_to("My Link", "https://www.github.com/activeadmin/activeadmin")
8
- span("Hello World")
9
- end
10
- end
11
- end
12
-
13
- let(:panel_html) { Capybara.string(arbre_panel.to_s) }
14
-
15
- it "should have a title h3" do
16
- expect(panel_html).to have_css 'h3', text: "My Title"
17
- end
18
-
19
- it "should add panel actions to the panel header" do
20
- link = panel_html.find('h3 > div.header_action a')
21
- expect(link.text).to eq('My Link')
22
- expect(link[:href]).to eq("https://www.github.com/activeadmin/activeadmin")
23
- end
24
-
25
- it "should have a contents div" do
26
- expect(panel_html).to have_css 'div.panel_contents'
27
- end
28
-
29
- it "should add children to the contents div" do
30
- expect(panel_html).to have_css 'div.panel_contents > span', text: "Hello World"
31
- end
32
-
33
- it "should set the icon" do
34
- expect(panel_html).to have_css "h3 > span.icon"
35
- end
36
-
37
- context "with html-safe title" do
38
- let(:arbre_panel) do
39
- title_with_html = %q[Title with <abbr>HTML</abbr>].html_safe
40
- render_arbre_component do
41
- panel(title_with_html)
42
- end
43
- end
44
-
45
- it "should allow a html_safe title" do
46
- expect(panel_html).to have_css "h3", text: "Title with HTML"
47
- expect(panel_html).to have_css "h3 > abbr", text: "HTML"
48
- end
49
- end
50
-
51
- describe "#children?" do
52
- let(:arbre_panel) do
53
- render_arbre_component do
54
- panel("A Panel")
55
- end
56
- end
57
-
58
- it "returns false if no children have been added to the panel" do
59
- expect(arbre_panel.children?).to eq false
60
- end
61
- end
62
- end
@@ -1,33 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Views::Popover do
4
-
5
- let(:the_popover) do
6
- render_arbre_component do
7
- popover id: "my_awesome_popover" do
8
- para "Hello World, this is popover content baby."
9
- end
10
- end
11
- end
12
-
13
- it "should have the class of 'sidebar_section'" do
14
- expect(the_popover.class_list).to include("popover")
15
- end
16
-
17
- it "should have an inner content element class of 'popover_contents'" do
18
- expect(the_popover.find_by_tag("div").first.class_list).to include("popover_contents")
19
- end
20
-
21
- it "should have the popover content in the inner content element" do
22
- expect(the_popover.find_by_class("popover_contents").first.content).to include("Hello World, this is popover content baby.")
23
- end
24
-
25
- it "should have an id" do
26
- expect(the_popover.id).to eq "my_awesome_popover"
27
- end
28
-
29
- it "should be hidden" do
30
- expect(the_popover.attributes).to include(style: "display: none");
31
- end
32
-
33
- end
@@ -1,47 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Views::SidebarSection do
4
-
5
- let(:options) { {} }
6
-
7
- let(:section) do
8
- ActiveAdmin::SidebarSection.new("Help Section", options) do
9
- span "Help Me"
10
- end
11
- end
12
-
13
- let(:html) do
14
- render_arbre_component section: section do
15
- sidebar_section(assigns[:section])
16
- end
17
- end
18
-
19
- it "should have a title h3" do
20
- expect(html.find_by_tag("h3").first.content).to eq "Help Section"
21
- end
22
-
23
- it "should have the class of 'sidebar_section'" do
24
- expect(html.class_list).to include("sidebar_section")
25
- end
26
-
27
- it "should have an id based on the title" do
28
- expect(html.id).to eq "help-section_sidebar_section"
29
- end
30
-
31
- it "should have a contents div" do
32
- expect(html.find_by_tag("div").first.class_list).to include("panel_contents")
33
- end
34
-
35
- it "should add children to the contents div" do
36
- expect(html.find_by_tag("span").first.parent).to eq html.find_by_tag("div").first
37
- end
38
-
39
- context 'with a custom class attribute' do
40
- let(:options) { { class: 'custom_class' } }
41
-
42
- it "should have 'custom_class' class" do
43
- expect(html.class_list).to include("custom_class")
44
- end
45
- end
46
-
47
- end
@@ -1,78 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Views::SiteTitle do
4
-
5
- let(:helpers){ mock_action_view }
6
-
7
- def build_title(namespace)
8
- render_arbre_component({namespace: namespace}, helpers) do
9
- insert_tag ActiveAdmin::Views::SiteTitle, assigns[:namespace]
10
- end
11
- end
12
-
13
- context "when a value" do
14
-
15
- it "renders the string when a string is passed in" do
16
- namespace = double site_title: "Hello World",
17
- site_title_image: nil,
18
- site_title_link: nil
19
-
20
- site_title = build_title(namespace)
21
- expect(site_title.content).to eq "Hello World"
22
- end
23
-
24
- it "renders the return value of a method when a symbol" do
25
- expect(helpers).to receive(:hello_world).and_return("Hello World")
26
-
27
- namespace = double site_title: :hello_world,
28
- site_title_image: nil,
29
- site_title_link: nil
30
-
31
- site_title = build_title(namespace)
32
- expect(site_title.content).to eq "Hello World"
33
- end
34
-
35
- it "renders the return value of a proc" do
36
- namespace = double site_title: proc{ "Hello World" },
37
- site_title_image: nil,
38
- site_title_link: nil
39
-
40
- site_title = build_title(namespace)
41
- expect(site_title.content).to eq "Hello World"
42
- end
43
-
44
- end
45
-
46
- context "when an image" do
47
-
48
- it "renders the string when a string is passed in" do
49
- expect(helpers).to receive(:image_tag).
50
- with("an/image.png", alt: nil, id: "site_title_image").
51
- and_return '<img src="/assets/an/image.png" />'.html_safe
52
-
53
- namespace = double site_title: nil,
54
- site_title_image: "an/image.png",
55
- site_title_link: nil
56
-
57
- site_title = build_title(namespace)
58
- expect(site_title.content.strip).to eq '<img src="/assets/an/image.png" />'
59
- end
60
-
61
- end
62
-
63
- context "when a link is present" do
64
-
65
- it "renders the string when a string is passed in" do
66
- namespace = double site_title: "Hello World",
67
- site_title_image: nil,
68
- site_title_link: "/"
69
-
70
- site_title = build_title(namespace)
71
- expect(site_title.content).to eq '<a href="/">Hello World</a>'
72
- end
73
-
74
- end
75
-
76
-
77
-
78
- end