super-sharp-tool 0.0.1

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 (344) hide show
  1. checksums.yaml +7 -0
  2. data/activeadmin-3.5.1/CHANGELOG.md +1153 -0
  3. data/activeadmin-3.5.1/CODE_OF_CONDUCT.md +74 -0
  4. data/activeadmin-3.5.1/CONTRIBUTING.md +187 -0
  5. data/activeadmin-3.5.1/LICENSE +20 -0
  6. data/activeadmin-3.5.1/README.md +117 -0
  7. data/activeadmin-3.5.1/app/assets/javascripts/active_admin/base.js +520 -0
  8. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_base.scss +57 -0
  9. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_forms.scss +315 -0
  10. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_header.scss +188 -0
  11. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
  12. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_normalize.scss +349 -0
  13. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_print.scss +287 -0
  14. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_typography.scss +100 -0
  15. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_batch_actions.scss +6 -0
  16. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
  17. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  18. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
  19. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  20. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
  21. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_date_picker.scss +148 -0
  22. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +154 -0
  23. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  24. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
  25. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
  26. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
  27. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  28. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_pagination.scss +58 -0
  29. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  30. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_scopes.scss +13 -0
  31. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
  32. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_table_tools.scss +70 -0
  33. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tables.scss +112 -0
  34. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tabs.scss +68 -0
  35. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  36. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -0
  37. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
  38. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
  39. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
  40. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
  41. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
  42. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  43. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
  44. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_variables.scss +51 -0
  45. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  46. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_footer.scss +19 -0
  47. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
  48. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_title_bar.scss +43 -0
  49. data/activeadmin-3.5.1/app/javascript/active_admin/base.js +28 -0
  50. data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  51. data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery.js +9 -0
  52. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  53. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  54. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/datepicker.js +19 -0
  55. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  56. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/filters.js +10 -0
  57. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/has-many.js +98 -0
  58. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/per-page.js +13 -0
  59. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  60. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/tabs.js +6 -0
  61. data/activeadmin-3.5.1/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  62. data/activeadmin-3.5.1/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  63. data/activeadmin-3.5.1/app/javascript/active_admin/lib/filters.js +39 -0
  64. data/activeadmin-3.5.1/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  65. data/activeadmin-3.5.1/app/javascript/active_admin/lib/per-page.js +38 -0
  66. data/activeadmin-3.5.1/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  67. data/activeadmin-3.5.1/app/javascript/active_admin/lib/utils.js +40 -0
  68. data/activeadmin-3.5.1/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  69. data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  70. data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  71. data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
  72. data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/new.html.erb +15 -0
  73. data/activeadmin-3.5.1/app/views/active_admin/devise/registrations/new.html.erb +21 -0
  74. data/activeadmin-3.5.1/app/views/active_admin/devise/sessions/new.html.erb +20 -0
  75. data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  76. data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_links.erb +33 -0
  77. data/activeadmin-3.5.1/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
  78. data/activeadmin-3.5.1/app/views/active_admin/page/index.html.arb +2 -0
  79. data/activeadmin-3.5.1/app/views/active_admin/resource/edit.html.arb +2 -0
  80. data/activeadmin-3.5.1/app/views/active_admin/resource/index.html.arb +2 -0
  81. data/activeadmin-3.5.1/app/views/active_admin/resource/new.html.arb +2 -0
  82. data/activeadmin-3.5.1/app/views/active_admin/resource/show.html.arb +2 -0
  83. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  84. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  85. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  86. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  87. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_page.html.erb +12 -0
  88. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  89. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  90. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  91. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  92. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  93. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  94. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  95. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  96. data/activeadmin-3.5.1/app/views/layouts/active_admin.html.arb +2 -0
  97. data/activeadmin-3.5.1/app/views/layouts/active_admin_logged_out.html.erb +50 -0
  98. data/activeadmin-3.5.1/config/locales/ar.yml +128 -0
  99. data/activeadmin-3.5.1/config/locales/az.yml +131 -0
  100. data/activeadmin-3.5.1/config/locales/bg.yml +112 -0
  101. data/activeadmin-3.5.1/config/locales/bs.yml +114 -0
  102. data/activeadmin-3.5.1/config/locales/ca.yml +98 -0
  103. data/activeadmin-3.5.1/config/locales/cs.yml +102 -0
  104. data/activeadmin-3.5.1/config/locales/da.yml +130 -0
  105. data/activeadmin-3.5.1/config/locales/de-CH.yml +94 -0
  106. data/activeadmin-3.5.1/config/locales/de.yml +154 -0
  107. data/activeadmin-3.5.1/config/locales/el.yml +119 -0
  108. data/activeadmin-3.5.1/config/locales/en-CA.yml +132 -0
  109. data/activeadmin-3.5.1/config/locales/en-GB.yml +132 -0
  110. data/activeadmin-3.5.1/config/locales/en.yml +154 -0
  111. data/activeadmin-3.5.1/config/locales/eo.yml +137 -0
  112. data/activeadmin-3.5.1/config/locales/es-MX.yml +90 -0
  113. data/activeadmin-3.5.1/config/locales/es.yml +154 -0
  114. data/activeadmin-3.5.1/config/locales/fa.yml +112 -0
  115. data/activeadmin-3.5.1/config/locales/fi.yml +105 -0
  116. data/activeadmin-3.5.1/config/locales/fr.yml +133 -0
  117. data/activeadmin-3.5.1/config/locales/he.yml +132 -0
  118. data/activeadmin-3.5.1/config/locales/hr.yml +116 -0
  119. data/activeadmin-3.5.1/config/locales/hu.yml +94 -0
  120. data/activeadmin-3.5.1/config/locales/id.yml +128 -0
  121. data/activeadmin-3.5.1/config/locales/it.yml +154 -0
  122. data/activeadmin-3.5.1/config/locales/ja.yml +133 -0
  123. data/activeadmin-3.5.1/config/locales/ko.yml +113 -0
  124. data/activeadmin-3.5.1/config/locales/lt.yml +134 -0
  125. data/activeadmin-3.5.1/config/locales/lv.yml +85 -0
  126. data/activeadmin-3.5.1/config/locales/mk.yml +126 -0
  127. data/activeadmin-3.5.1/config/locales/nb.yml +122 -0
  128. data/activeadmin-3.5.1/config/locales/nl.yml +136 -0
  129. data/activeadmin-3.5.1/config/locales/pl.yml +160 -0
  130. data/activeadmin-3.5.1/config/locales/pt-BR.yml +135 -0
  131. data/activeadmin-3.5.1/config/locales/pt-PT.yml +85 -0
  132. data/activeadmin-3.5.1/config/locales/ro.yml +90 -0
  133. data/activeadmin-3.5.1/config/locales/ru.yml +135 -0
  134. data/activeadmin-3.5.1/config/locales/sk.yml +160 -0
  135. data/activeadmin-3.5.1/config/locales/sv-SE.yml +154 -0
  136. data/activeadmin-3.5.1/config/locales/tr.yml +133 -0
  137. data/activeadmin-3.5.1/config/locales/uk.yml +132 -0
  138. data/activeadmin-3.5.1/config/locales/vi.yml +154 -0
  139. data/activeadmin-3.5.1/config/locales/zh-CN.yml +154 -0
  140. data/activeadmin-3.5.1/config/locales/zh-TW.yml +128 -0
  141. data/activeadmin-3.5.1/lib/active_admin/abstract_view_factory.rb +48 -0
  142. data/activeadmin-3.5.1/lib/active_admin/application.rb +234 -0
  143. data/activeadmin-3.5.1/lib/active_admin/application_settings.rb +43 -0
  144. data/activeadmin-3.5.1/lib/active_admin/asset_registration.rb +30 -0
  145. data/activeadmin-3.5.1/lib/active_admin/authorization_adapter.rb +132 -0
  146. data/activeadmin-3.5.1/lib/active_admin/base_controller/authorization.rb +129 -0
  147. data/activeadmin-3.5.1/lib/active_admin/base_controller/menu.rb +35 -0
  148. data/activeadmin-3.5.1/lib/active_admin/base_controller.rb +82 -0
  149. data/activeadmin-3.5.1/lib/active_admin/batch_actions/controller.rb +41 -0
  150. data/activeadmin-3.5.1/lib/active_admin/batch_actions/resource_extension.rb +157 -0
  151. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_form.rb +39 -0
  152. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_selector.rb +59 -0
  153. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/selection_cells.rb +39 -0
  154. data/activeadmin-3.5.1/lib/active_admin/batch_actions.rb +17 -0
  155. data/activeadmin-3.5.1/lib/active_admin/callbacks.rb +89 -0
  156. data/activeadmin-3.5.1/lib/active_admin/cancan_adapter.rb +37 -0
  157. data/activeadmin-3.5.1/lib/active_admin/collection_decorator.rb +32 -0
  158. data/activeadmin-3.5.1/lib/active_admin/component.rb +6 -0
  159. data/activeadmin-3.5.1/lib/active_admin/controller_action.rb +14 -0
  160. data/activeadmin-3.5.1/lib/active_admin/csv_builder.rb +144 -0
  161. data/activeadmin-3.5.1/lib/active_admin/dependency.rb +97 -0
  162. data/activeadmin-3.5.1/lib/active_admin/devise.rb +91 -0
  163. data/activeadmin-3.5.1/lib/active_admin/dsl.rb +161 -0
  164. data/activeadmin-3.5.1/lib/active_admin/dynamic_setting.rb +39 -0
  165. data/activeadmin-3.5.1/lib/active_admin/dynamic_settings_node.rb +29 -0
  166. data/activeadmin-3.5.1/lib/active_admin/engine.rb +29 -0
  167. data/activeadmin-3.5.1/lib/active_admin/error.rb +63 -0
  168. data/activeadmin-3.5.1/lib/active_admin/filters/active.rb +30 -0
  169. data/activeadmin-3.5.1/lib/active_admin/filters/active_filter.rb +124 -0
  170. data/activeadmin-3.5.1/lib/active_admin/filters/active_sidebar.rb +28 -0
  171. data/activeadmin-3.5.1/lib/active_admin/filters/dsl.rb +22 -0
  172. data/activeadmin-3.5.1/lib/active_admin/filters/forms.rb +86 -0
  173. data/activeadmin-3.5.1/lib/active_admin/filters/formtastic_addons.rb +75 -0
  174. data/activeadmin-3.5.1/lib/active_admin/filters/resource_extension.rb +180 -0
  175. data/activeadmin-3.5.1/lib/active_admin/filters.rb +12 -0
  176. data/activeadmin-3.5.1/lib/active_admin/form_builder.rb +186 -0
  177. data/activeadmin-3.5.1/lib/active_admin/generators/boilerplate.rb +54 -0
  178. data/activeadmin-3.5.1/lib/active_admin/helpers/collection.rb +21 -0
  179. data/activeadmin-3.5.1/lib/active_admin/helpers/i18n.rb +8 -0
  180. data/activeadmin-3.5.1/lib/active_admin/helpers/optional_display.rb +39 -0
  181. data/activeadmin-3.5.1/lib/active_admin/helpers/routes/url_helpers.rb +16 -0
  182. data/activeadmin-3.5.1/lib/active_admin/helpers/scope_chain.rb +25 -0
  183. data/activeadmin-3.5.1/lib/active_admin/inputs/datepicker_input.rb +28 -0
  184. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base/search_method_select.rb +76 -0
  185. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base.rb +45 -0
  186. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/boolean_input.rb +25 -0
  187. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/check_boxes_input.rb +51 -0
  188. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_picker_input.rb +14 -0
  189. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_range_input.rb +53 -0
  190. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/numeric_input.rb +13 -0
  191. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/select_input.rb +59 -0
  192. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/string_input.rb +27 -0
  193. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/text_input.rb +26 -0
  194. data/activeadmin-3.5.1/lib/active_admin/inputs.rb +22 -0
  195. data/activeadmin-3.5.1/lib/active_admin/localizers/resource_localizer.rb +36 -0
  196. data/activeadmin-3.5.1/lib/active_admin/localizers.rb +12 -0
  197. data/activeadmin-3.5.1/lib/active_admin/menu.rb +107 -0
  198. data/activeadmin-3.5.1/lib/active_admin/menu_collection.rb +92 -0
  199. data/activeadmin-3.5.1/lib/active_admin/menu_item.rb +70 -0
  200. data/activeadmin-3.5.1/lib/active_admin/namespace.rb +267 -0
  201. data/activeadmin-3.5.1/lib/active_admin/namespace_settings.rb +127 -0
  202. data/activeadmin-3.5.1/lib/active_admin/order_clause.rb +49 -0
  203. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/comment.rb +40 -0
  204. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/namespace_helper.rb +15 -0
  205. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/resource_helper.rb +18 -0
  206. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/show_page_helper.rb +24 -0
  207. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +101 -0
  208. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views.rb +3 -0
  209. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments.rb +102 -0
  210. data/activeadmin-3.5.1/lib/active_admin/orm/active_record.rb +6 -0
  211. data/activeadmin-3.5.1/lib/active_admin/orm/mongoid.rb +2 -0
  212. data/activeadmin-3.5.1/lib/active_admin/page.rb +112 -0
  213. data/activeadmin-3.5.1/lib/active_admin/page_controller.rb +30 -0
  214. data/activeadmin-3.5.1/lib/active_admin/page_dsl.rb +33 -0
  215. data/activeadmin-3.5.1/lib/active_admin/page_presenter.rb +34 -0
  216. data/activeadmin-3.5.1/lib/active_admin/pundit_adapter.rb +123 -0
  217. data/activeadmin-3.5.1/lib/active_admin/resource/action_items.rb +121 -0
  218. data/activeadmin-3.5.1/lib/active_admin/resource/attributes.rb +55 -0
  219. data/activeadmin-3.5.1/lib/active_admin/resource/belongs_to.rb +53 -0
  220. data/activeadmin-3.5.1/lib/active_admin/resource/controllers.rb +20 -0
  221. data/activeadmin-3.5.1/lib/active_admin/resource/includes.rb +13 -0
  222. data/activeadmin-3.5.1/lib/active_admin/resource/menu.rb +68 -0
  223. data/activeadmin-3.5.1/lib/active_admin/resource/model.rb +16 -0
  224. data/activeadmin-3.5.1/lib/active_admin/resource/naming.rb +63 -0
  225. data/activeadmin-3.5.1/lib/active_admin/resource/ordering.rb +12 -0
  226. data/activeadmin-3.5.1/lib/active_admin/resource/page_presenters.rb +83 -0
  227. data/activeadmin-3.5.1/lib/active_admin/resource/pagination.rb +24 -0
  228. data/activeadmin-3.5.1/lib/active_admin/resource/routes.rb +146 -0
  229. data/activeadmin-3.5.1/lib/active_admin/resource/scope_to.rb +75 -0
  230. data/activeadmin-3.5.1/lib/active_admin/resource/scopes.rb +53 -0
  231. data/activeadmin-3.5.1/lib/active_admin/resource/sidebars.rb +29 -0
  232. data/activeadmin-3.5.1/lib/active_admin/resource.rb +227 -0
  233. data/activeadmin-3.5.1/lib/active_admin/resource_collection.rb +73 -0
  234. data/activeadmin-3.5.1/lib/active_admin/resource_controller/action_builder.rb +32 -0
  235. data/activeadmin-3.5.1/lib/active_admin/resource_controller/data_access.rb +348 -0
  236. data/activeadmin-3.5.1/lib/active_admin/resource_controller/decorators.rb +81 -0
  237. data/activeadmin-3.5.1/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  238. data/activeadmin-3.5.1/lib/active_admin/resource_controller/resource_class_methods.rb +27 -0
  239. data/activeadmin-3.5.1/lib/active_admin/resource_controller/scoping.rb +32 -0
  240. data/activeadmin-3.5.1/lib/active_admin/resource_controller/sidebars.rb +19 -0
  241. data/activeadmin-3.5.1/lib/active_admin/resource_controller/streaming.rb +45 -0
  242. data/activeadmin-3.5.1/lib/active_admin/resource_controller.rb +68 -0
  243. data/activeadmin-3.5.1/lib/active_admin/resource_dsl.rb +210 -0
  244. data/activeadmin-3.5.1/lib/active_admin/router.rb +115 -0
  245. data/activeadmin-3.5.1/lib/active_admin/scope.rb +65 -0
  246. data/activeadmin-3.5.1/lib/active_admin/settings_node.rb +20 -0
  247. data/activeadmin-3.5.1/lib/active_admin/sidebar_section.rb +40 -0
  248. data/activeadmin-3.5.1/lib/active_admin/version.rb +4 -0
  249. data/activeadmin-3.5.1/lib/active_admin/view_factory.rb +28 -0
  250. data/activeadmin-3.5.1/lib/active_admin/view_helpers/active_admin_application_helper.rb +13 -0
  251. data/activeadmin-3.5.1/lib/active_admin/view_helpers/auto_link_helper.rb +46 -0
  252. data/activeadmin-3.5.1/lib/active_admin/view_helpers/breadcrumb_helper.rb +34 -0
  253. data/activeadmin-3.5.1/lib/active_admin/view_helpers/display_helper.rb +119 -0
  254. data/activeadmin-3.5.1/lib/active_admin/view_helpers/download_format_links_helper.rb +60 -0
  255. data/activeadmin-3.5.1/lib/active_admin/view_helpers/fields_for.rb +51 -0
  256. data/activeadmin-3.5.1/lib/active_admin/view_helpers/flash_helper.rb +15 -0
  257. data/activeadmin-3.5.1/lib/active_admin/view_helpers/form_helper.rb +21 -0
  258. data/activeadmin-3.5.1/lib/active_admin/view_helpers/method_or_proc_helper.rb +101 -0
  259. data/activeadmin-3.5.1/lib/active_admin/view_helpers/scope_name_helper.rb +17 -0
  260. data/activeadmin-3.5.1/lib/active_admin/view_helpers/sidebar_helper.rb +16 -0
  261. data/activeadmin-3.5.1/lib/active_admin/view_helpers/title_helper.rb +12 -0
  262. data/activeadmin-3.5.1/lib/active_admin/view_helpers/view_factory_helper.rb +12 -0
  263. data/activeadmin-3.5.1/lib/active_admin/view_helpers.rb +21 -0
  264. data/activeadmin-3.5.1/lib/active_admin/views/action_items.rb +18 -0
  265. data/activeadmin-3.5.1/lib/active_admin/views/components/active_admin_form.rb +164 -0
  266. data/activeadmin-3.5.1/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  267. data/activeadmin-3.5.1/lib/active_admin/views/components/attributes_table.rb +95 -0
  268. data/activeadmin-3.5.1/lib/active_admin/views/components/blank_slate.rb +18 -0
  269. data/activeadmin-3.5.1/lib/active_admin/views/components/columns.rb +162 -0
  270. data/activeadmin-3.5.1/lib/active_admin/views/components/dropdown_menu.rb +69 -0
  271. data/activeadmin-3.5.1/lib/active_admin/views/components/index_list.rb +70 -0
  272. data/activeadmin-3.5.1/lib/active_admin/views/components/menu.rb +33 -0
  273. data/activeadmin-3.5.1/lib/active_admin/views/components/menu_item.rb +59 -0
  274. data/activeadmin-3.5.1/lib/active_admin/views/components/paginated_collection.rb +164 -0
  275. data/activeadmin-3.5.1/lib/active_admin/views/components/panel.rb +39 -0
  276. data/activeadmin-3.5.1/lib/active_admin/views/components/scopes.rb +75 -0
  277. data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar.rb +14 -0
  278. data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar_section.rb +35 -0
  279. data/activeadmin-3.5.1/lib/active_admin/views/components/site_title.rb +55 -0
  280. data/activeadmin-3.5.1/lib/active_admin/views/components/status_tag.rb +76 -0
  281. data/activeadmin-3.5.1/lib/active_admin/views/components/table_for.rb +211 -0
  282. data/activeadmin-3.5.1/lib/active_admin/views/components/tabs.rb +41 -0
  283. data/activeadmin-3.5.1/lib/active_admin/views/components/unsupported_browser.rb +12 -0
  284. data/activeadmin-3.5.1/lib/active_admin/views/footer.rb +32 -0
  285. data/activeadmin-3.5.1/lib/active_admin/views/header.rb +20 -0
  286. data/activeadmin-3.5.1/lib/active_admin/views/index_as_block.rb +37 -0
  287. data/activeadmin-3.5.1/lib/active_admin/views/index_as_blog.rb +156 -0
  288. data/activeadmin-3.5.1/lib/active_admin/views/index_as_grid.rb +81 -0
  289. data/activeadmin-3.5.1/lib/active_admin/views/index_as_table.rb +401 -0
  290. data/activeadmin-3.5.1/lib/active_admin/views/pages/base.rb +134 -0
  291. data/activeadmin-3.5.1/lib/active_admin/views/pages/form.rb +65 -0
  292. data/activeadmin-3.5.1/lib/active_admin/views/pages/index.rb +166 -0
  293. data/activeadmin-3.5.1/lib/active_admin/views/pages/layout.rb +27 -0
  294. data/activeadmin-3.5.1/lib/active_admin/views/pages/page.rb +31 -0
  295. data/activeadmin-3.5.1/lib/active_admin/views/pages/show.rb +60 -0
  296. data/activeadmin-3.5.1/lib/active_admin/views/tabbed_navigation.rb +12 -0
  297. data/activeadmin-3.5.1/lib/active_admin/views/title_bar.rb +56 -0
  298. data/activeadmin-3.5.1/lib/active_admin/views.rb +9 -0
  299. data/activeadmin-3.5.1/lib/active_admin.rb +135 -0
  300. data/activeadmin-3.5.1/lib/activeadmin.rb +2 -0
  301. data/activeadmin-3.5.1/lib/generators/active_admin/assets/assets_generator.rb +15 -0
  302. data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  303. data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
  304. data/activeadmin-3.5.1/lib/generators/active_admin/devise/devise_generator.rb +69 -0
  305. data/activeadmin-3.5.1/lib/generators/active_admin/install/install_generator.rb +56 -0
  306. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/active_admin.rb.erb +352 -0
  307. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
  308. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
  309. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
  310. data/activeadmin-3.5.1/lib/generators/active_admin/page/USAGE +8 -0
  311. data/activeadmin-3.5.1/lib/generators/active_admin/page/page_generator.rb +13 -0
  312. data/activeadmin-3.5.1/lib/generators/active_admin/page/templates/page.rb +6 -0
  313. data/activeadmin-3.5.1/lib/generators/active_admin/resource/resource_generator.rb +21 -0
  314. data/activeadmin-3.5.1/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  315. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  316. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  317. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  318. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  319. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  320. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/data.js +39 -0
  321. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/disable-selection.js +51 -0
  322. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/focusable.js +79 -0
  323. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +81 -0
  324. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/keycode.js +51 -0
  325. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/labels.js +70 -0
  326. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/plugin.js +49 -0
  327. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/position.js +513 -0
  328. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
  329. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/tabbable.js +41 -0
  330. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/unique-id.js +54 -0
  331. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/version.js +20 -0
  332. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widget.js +761 -0
  333. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/button.js +454 -0
  334. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +294 -0
  335. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
  336. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2240 -0
  337. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +957 -0
  338. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1264 -0
  339. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +226 -0
  340. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1281 -0
  341. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1614 -0
  342. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +918 -0
  343. data/super-sharp-tool.gemspec +12 -0
  344. metadata +383 -0
@@ -0,0 +1,401 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Views
4
+
5
+ # # Index as a Table
6
+ #
7
+ # By default, the index page is a table with each of the models content columns and links to
8
+ # show, edit and delete the object. There are many ways to customize what gets
9
+ # displayed.
10
+ #
11
+ # ## Defining Columns
12
+ #
13
+ # To display an attribute or a method on a resource, simply pass a symbol into the
14
+ # column method:
15
+ #
16
+ # ```ruby
17
+ # index do
18
+ # selectable_column
19
+ # column :title
20
+ # end
21
+ # ```
22
+ #
23
+ # For association columns we make an educated guess on what to display by
24
+ # calling the following methods in the following order:
25
+ #
26
+ # ```ruby
27
+ # :display_name, :full_name, :name, :username, :login, :title, :email, :to_s
28
+ # ```
29
+ #
30
+ # This can be customized in `config/initializers/active_admin.rb`.
31
+ #
32
+ # If the default title does not work for you, pass it as the first argument:
33
+ #
34
+ # ```ruby
35
+ # index do
36
+ # selectable_column
37
+ # column "My Custom Title", :title
38
+ # end
39
+ # ```
40
+ #
41
+ # Sometimes that just isn't enough and you need to write some view-specific code.
42
+ # For example, say we wanted a "Title" column that links to the posts admin screen.
43
+ #
44
+ # `column` accepts a block that will be rendered for each of the objects in the collection.
45
+ # The block is called once for each resource, which is passed as an argument to the block.
46
+ #
47
+ # ```ruby
48
+ # index do
49
+ # selectable_column
50
+ # column "Title" do |post|
51
+ # link_to post.title, admin_post_path(post)
52
+ # end
53
+ # end
54
+ # ```
55
+ #
56
+ # ## Defining Actions
57
+ #
58
+ # To setup links to View, Edit and Delete a resource, use the `actions` method:
59
+ #
60
+ # ```ruby
61
+ # index do
62
+ # selectable_column
63
+ # column :title
64
+ # actions
65
+ # end
66
+ # ```
67
+ #
68
+ # You can also append custom links to the default links:
69
+ #
70
+ # ```ruby
71
+ # index do
72
+ # selectable_column
73
+ # column :title
74
+ # actions do |post|
75
+ # item "Preview", admin_preview_post_path(post), class: "member_link"
76
+ # end
77
+ # end
78
+ # ```
79
+ #
80
+ # Or forego the default links entirely:
81
+ #
82
+ # ```ruby
83
+ # index do
84
+ # column :title
85
+ # actions defaults: false do |post|
86
+ # item "View", admin_post_path(post)
87
+ # end
88
+ # end
89
+ # ```
90
+ #
91
+ # Or append custom action with custom html via arbre:
92
+ #
93
+ # ```ruby
94
+ # index do
95
+ # column :title
96
+ # actions do |post|
97
+ # a "View", href: admin_post_path(post)
98
+ # end
99
+ # end
100
+ # ```
101
+ #
102
+ # In case you prefer to list actions links in a dropdown menu:
103
+ #
104
+ # ```ruby
105
+ # index do
106
+ # selectable_column
107
+ # column :title
108
+ # actions dropdown: true do |post|
109
+ # item "Preview", admin_preview_post_path(post)
110
+ # end
111
+ # end
112
+ # ```
113
+ #
114
+ # In addition, you can insert the position of the row in the greater
115
+ # collection by using the index_column special command:
116
+ #
117
+ # ```ruby
118
+ # index do
119
+ # selectable_column
120
+ # index_column
121
+ # column :title
122
+ # end
123
+ # ```
124
+ #
125
+ # index_column take an optional offset parameter to allow a developer to set
126
+ # the starting number for the index (default is 1).
127
+ #
128
+ # ## Sorting
129
+ #
130
+ # When a column is generated from an Active Record attribute, the table is
131
+ # sortable by default. If you are creating a custom column, you may need to give
132
+ # Active Admin a hint for how to sort the table.
133
+ #
134
+ # You can pass the key specifying the attribute which gets used to sort objects using Active Record.
135
+ # By default, this is the column on the resource's table that the attribute corresponds to.
136
+ # Otherwise, any attribute that the resource collection responds to can be used.
137
+ #
138
+ # ```ruby
139
+ # index do
140
+ # column :title, sortable: :title do |post|
141
+ # link_to post.title, admin_post_path(post)
142
+ # end
143
+ # end
144
+ # ```
145
+ #
146
+ # You can turn off sorting on any column by passing false:
147
+ #
148
+ # ```ruby
149
+ # index do
150
+ # column :title, sortable: false
151
+ # end
152
+ # ```
153
+ #
154
+ # It's also possible to sort by PostgreSQL's hstore column key. You should set `sortable`
155
+ # option to a `column->'key'` value:
156
+ #
157
+ # ```ruby
158
+ # index do
159
+ # column :keywords, sortable: "meta->'keywords'"
160
+ # end
161
+ # ```
162
+ #
163
+ # ## Custom sorting
164
+ #
165
+ # It is also possible to use database specific expressions and options for sorting by column
166
+ #
167
+ # ```ruby
168
+ # order_by(:title) do |order_clause|
169
+ # if order_clause.order == 'desc'
170
+ # [order_clause.to_sql, 'NULLS LAST'].join(' ')
171
+ # else
172
+ # [order_clause.to_sql, 'NULLS FIRST'].join(' ')
173
+ # end
174
+ # end
175
+ #
176
+ # index do
177
+ # column :title
178
+ # end
179
+ # ```
180
+ #
181
+ # ## Associated Sorting
182
+ #
183
+ # You're normally able to sort columns alphabetically, but by default you
184
+ # can't sort by associated objects. Though with a few simple changes, you can.
185
+ #
186
+ # Assuming you're on the Books index page, and Book has_one Publisher:
187
+ #
188
+ # ```ruby
189
+ # controller do
190
+ # def scoped_collection
191
+ # super.includes :publisher # prevents N+1 queries to your database
192
+ # end
193
+ # end
194
+ # ```
195
+ #
196
+ # You can also define associated objects to include outside of the
197
+ # `scoped_collection` method:
198
+ #
199
+ # ```ruby
200
+ # includes :publisher
201
+ # ```
202
+ #
203
+ # Then it's simple to sort by any Publisher attribute from within the index table:
204
+ #
205
+ # ```ruby
206
+ # index do
207
+ # column :publisher, sortable: 'publishers.name'
208
+ # end
209
+ # ```
210
+ #
211
+ # ## Showing and Hiding Columns
212
+ #
213
+ # The entire index block is rendered within the context of the view, so you can
214
+ # easily do things that show or hide columns based on the current context.
215
+ #
216
+ # For example, if you were using CanCan:
217
+ #
218
+ # ```ruby
219
+ # index do
220
+ # column :title, sortable: false
221
+ # column :secret_data if can? :manage, Post
222
+ # end
223
+ # ```
224
+ #
225
+ # ## Custom row class
226
+ #
227
+ # In order to add special class to table rows pass the proc object as a `:row_class` option
228
+ # of the `index` method.
229
+ #
230
+ # ```ruby
231
+ # index row_class: ->elem { 'active' if elem.active? } do
232
+ # # columns
233
+ # end
234
+ # ```
235
+ #
236
+ class IndexAsTable < ActiveAdmin::Component
237
+
238
+ def build(page_presenter, collection)
239
+ table_options = {
240
+ id: "index_table_#{active_admin_config.resource_name.plural}",
241
+ sortable: true,
242
+ class: "index_table index",
243
+ i18n: active_admin_config.resource_class,
244
+ paginator: page_presenter[:paginator] != false,
245
+ row_class: page_presenter[:row_class]
246
+ }
247
+
248
+ table_for collection, table_options do |t|
249
+ table_config_block = page_presenter.block || default_table
250
+ instance_exec(t, &table_config_block)
251
+ end
252
+ end
253
+
254
+ def table_for(*args, &block)
255
+ insert_tag IndexTableFor, *args, &block
256
+ end
257
+
258
+ def default_table
259
+ proc do
260
+ selectable_column
261
+ id_column if resource_class.primary_key
262
+ active_admin_config.resource_columns.each do |attribute|
263
+ column attribute
264
+ end
265
+ actions
266
+ end
267
+ end
268
+
269
+ def self.index_name
270
+ "table"
271
+ end
272
+
273
+ #
274
+ # Extend the default ActiveAdmin::Views::TableFor with some
275
+ # methods for quickly displaying items on the index page
276
+ #
277
+ class IndexTableFor < ::ActiveAdmin::Views::TableFor
278
+
279
+ # Display a column for checkbox
280
+ def selectable_column
281
+ return unless active_admin_config.batch_actions.any?
282
+ column resource_selection_toggle_cell, class: "col-selectable", sortable: false do |resource|
283
+ resource_selection_cell resource
284
+ end
285
+ end
286
+
287
+ def index_column(start_value = 1)
288
+ column "#", class: "col-index", sortable: false do |resource|
289
+ @collection.offset_value + @collection.index(resource) + start_value
290
+ end
291
+ end
292
+
293
+ # Display a column for the id
294
+ def id_column(*args)
295
+ raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key
296
+
297
+ options = args.extract_options!
298
+ title = args[0].presence || resource_class.human_attribute_name(resource_class.primary_key)
299
+ sortable = options.fetch(:sortable, resource_class.primary_key)
300
+
301
+ column(title, sortable: sortable) do |resource|
302
+ if controller.action_methods.include?("show")
303
+ link_to resource.id, resource_path(resource), class: "resource_id_link"
304
+ elsif controller.action_methods.include?("edit")
305
+ link_to resource.id, edit_resource_path(resource), class: "resource_id_link"
306
+ else
307
+ resource.id
308
+ end
309
+ end
310
+ end
311
+
312
+ # Add links to perform actions.
313
+ #
314
+ # ```ruby
315
+ # # Add default links.
316
+ # actions
317
+ #
318
+ # # Add default links with a custom column title (empty by default).
319
+ # actions name: 'A title!'
320
+ #
321
+ # # Append some actions onto the end of the default actions.
322
+ # actions do |admin_user|
323
+ # item 'Grant Admin', grant_admin_admin_user_path(admin_user)
324
+ # item 'Grant User', grant_user_admin_user_path(admin_user)
325
+ # end
326
+ #
327
+ # # Append some actions onto the end of the default actions using arbre dsl.
328
+ # actions do |admin_user|
329
+ # a 'Grant Admin', href: grant_admin_admin_user_path(admin_user)
330
+ # end
331
+ #
332
+ # # Custom actions without the defaults.
333
+ # actions defaults: false do |admin_user|
334
+ # item 'Grant Admin', grant_admin_admin_user_path(admin_user)
335
+ # end
336
+ #
337
+ # # Append some actions onto the end of the default actions displayed in a Dropdown Menu
338
+ # actions dropdown: true do |admin_user|
339
+ # item 'Grant Admin', grant_admin_admin_user_path(admin_user)
340
+ # end
341
+ #
342
+ # # Custom actions without the defaults displayed in a Dropdown Menu.
343
+ # actions defaults: false, dropdown: true, dropdown_name: 'Additional actions' do |admin_user|
344
+ # item 'Grant Admin', grant_admin_admin_user_path(admin_user)
345
+ # end
346
+ #
347
+ # ```
348
+ def actions(options = {}, &block)
349
+ name = options.delete(:name) { "" }
350
+ defaults = options.delete(:defaults) { true }
351
+ dropdown = options.delete(:dropdown) { false }
352
+ dropdown_name = options.delete(:dropdown_name) { I18n.t "active_admin.dropdown_actions.button_label", default: "Actions" }
353
+
354
+ options[:class] ||= "col-actions"
355
+
356
+ column name, options do |resource|
357
+ if dropdown
358
+ dropdown_menu dropdown_name do
359
+ defaults(resource) if defaults
360
+ instance_exec(resource, &block) if block_given?
361
+ end
362
+ else
363
+ table_actions do
364
+ defaults(resource, css_class: :member_link) if defaults
365
+ if block_given?
366
+ block_result = instance_exec(resource, &block)
367
+ text_node block_result unless block_result.is_a? Arbre::Element
368
+ end
369
+ end
370
+ end
371
+ end
372
+ end
373
+
374
+ private
375
+
376
+ def defaults(resource, options = {})
377
+ localizer = ActiveAdmin::Localizers.resource(active_admin_config)
378
+ if controller.action_methods.include?("show") && authorized?(ActiveAdmin::Auth::READ, resource)
379
+ item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
380
+ end
381
+ if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::EDIT, resource)
382
+ item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
383
+ end
384
+ if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
385
+ item localizer.t(:delete), resource_path(resource), class: "delete_link #{options[:css_class]}", title: localizer.t(:delete),
386
+ method: :delete, data: { confirm: localizer.t(:delete_confirmation) }
387
+ end
388
+ end
389
+
390
+ class TableActions < ActiveAdmin::Component
391
+ builder_method :table_actions
392
+
393
+ def item *args, **kwargs
394
+ text_node link_to(*args, **kwargs)
395
+ end
396
+ end
397
+ end # IndexTableFor
398
+
399
+ end
400
+ end
401
+ end
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Views
4
+ module Pages
5
+ class Base < Arbre::HTML::Document
6
+
7
+ def build(*args)
8
+ set_attribute :lang, I18n.locale
9
+ build_active_admin_head
10
+ build_page
11
+ end
12
+
13
+ alias_method :html_title, :title # Arbre::HTML::Title
14
+ def title
15
+ self.class.name
16
+ end
17
+
18
+ def main_content
19
+ I18n.t("active_admin.main_content", model: title).html_safe
20
+ end
21
+
22
+ private
23
+
24
+ delegate :active_admin_config, :controller, :params, to: :helpers
25
+
26
+ def build_active_admin_head
27
+ within head do
28
+ html_title [title, helpers.active_admin_namespace.site_title(self)].compact.join(" | ")
29
+
30
+ text_node(active_admin_namespace.head)
31
+
32
+ active_admin_application.stylesheets.each do |style, options|
33
+ stylesheet_tag = active_admin_namespace.use_webpacker ? stylesheet_pack_tag(style, **options) : stylesheet_link_tag(style, **options)
34
+ text_node(stylesheet_tag.html_safe) if stylesheet_tag
35
+ end
36
+
37
+ active_admin_namespace.meta_tags.each do |name, content|
38
+ text_node(meta(name: name, content: content))
39
+ end
40
+
41
+ active_admin_application.javascripts.each do |path, options|
42
+ javascript_tag = active_admin_namespace.use_webpacker ? javascript_pack_tag(path, **options) : javascript_include_tag(path, **options)
43
+ text_node(javascript_tag)
44
+ end
45
+
46
+ if active_admin_namespace.favicon
47
+ favicon = active_admin_namespace.favicon
48
+ favicon_tag = active_admin_namespace.use_webpacker ? favicon_pack_tag(favicon) : favicon_link_tag(favicon)
49
+ text_node(favicon_tag)
50
+ end
51
+
52
+ text_node csrf_meta_tags
53
+ text_node csp_meta_tag
54
+ end
55
+ end
56
+
57
+ def build_page
58
+ within body(class: body_classes) do
59
+ div id: "wrapper" do
60
+ build_unsupported_browser
61
+ header active_admin_namespace, current_menu
62
+ title_bar title, action_items_for_action
63
+ build_page_content
64
+ footer active_admin_namespace
65
+ end
66
+ end
67
+ end
68
+
69
+ def body_classes
70
+ Arbre::HTML::ClassList.new [
71
+ params[:action],
72
+ params[:controller].tr("/", "_"),
73
+ "active_admin", "logged_in",
74
+ active_admin_namespace.name.to_s + "_namespace"
75
+ ]
76
+ end
77
+
78
+ def build_unsupported_browser
79
+ if active_admin_namespace.unsupported_browser_matcher =~ controller.request.user_agent
80
+ unsupported_browser
81
+ end
82
+ end
83
+
84
+ def build_page_content
85
+ build_flash_messages
86
+ div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
87
+ build_main_content_wrapper
88
+ sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
89
+ end
90
+ end
91
+
92
+ def build_flash_messages
93
+ div class: "flashes" do
94
+ flash_messages.each do |type, messages|
95
+ [*messages].each do |message|
96
+ div message, class: "flash flash_#{type}"
97
+ end
98
+ end
99
+ end
100
+ end
101
+
102
+ def build_main_content_wrapper
103
+ div id: "main_content_wrapper" do
104
+ div id: "main_content" do
105
+ main_content
106
+ end
107
+ end
108
+ end
109
+
110
+ # Returns the sidebar sections to render for the current action
111
+ def sidebar_sections_for_action
112
+ if active_admin_config && active_admin_config.sidebar_sections?
113
+ active_admin_config.sidebar_sections_for(params[:action], self)
114
+ else
115
+ []
116
+ end
117
+ end
118
+
119
+ def action_items_for_action
120
+ if active_admin_config && active_admin_config.action_items?
121
+ active_admin_config.action_items_for(params[:action], self)
122
+ else
123
+ []
124
+ end
125
+ end
126
+
127
+ def skip_sidebar?
128
+ sidebar_sections_for_action.empty? || assigns[:skip_sidebar] == true
129
+ end
130
+
131
+ end
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Views
4
+ module Pages
5
+
6
+ class Form < Base
7
+
8
+ def title
9
+ if form_presenter[:title]
10
+ helpers.render_or_call_method_or_proc_on(resource, form_presenter[:title])
11
+ else
12
+ assigns[:page_title] || ActiveAdmin::Localizers.resource(active_admin_config).t("#{normalized_action}_model")
13
+ end
14
+ end
15
+
16
+ def form_presenter
17
+ active_admin_config.get_page_presenter(:form) || default_form_config
18
+ end
19
+
20
+ def main_content
21
+ options = default_form_options.merge form_presenter.options
22
+
23
+ if options[:partial]
24
+ render options[:partial]
25
+ else
26
+ active_admin_form_for resource, options, &form_presenter.block
27
+ end
28
+ end
29
+
30
+ private
31
+
32
+ def default_form_options
33
+ {
34
+ url: default_form_path,
35
+ as: active_admin_config.param_key
36
+ }
37
+ end
38
+
39
+ def default_form_path
40
+ resource.persisted? ? resource_path(resource) : collection_path
41
+ end
42
+
43
+ def default_form_config
44
+ ActiveAdmin::PagePresenter.new do |f|
45
+ f.semantic_errors # show errors on :base by default
46
+ f.inputs
47
+ f.actions
48
+ end
49
+ end
50
+
51
+ def normalized_action
52
+ case params[:action]
53
+ when "create"
54
+ "new"
55
+ when "update"
56
+ "edit"
57
+ else
58
+ params[:action]
59
+ end
60
+ end
61
+ end
62
+
63
+ end
64
+ end
65
+ end