ultra-quick-hub 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.

Potentially problematic release.


This version of ultra-quick-hub might be problematic. Click here for more details.

Files changed (345) 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/core_ext.rb +148 -0
  63. data/activeadmin-3.5.1/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  64. data/activeadmin-3.5.1/app/javascript/active_admin/lib/filters.js +39 -0
  65. data/activeadmin-3.5.1/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  66. data/activeadmin-3.5.1/app/javascript/active_admin/lib/per-page.js +38 -0
  67. data/activeadmin-3.5.1/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  68. data/activeadmin-3.5.1/app/javascript/active_admin/lib/utils.js +40 -0
  69. data/activeadmin-3.5.1/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  70. data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  71. data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  72. data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
  73. data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/new.html.erb +15 -0
  74. data/activeadmin-3.5.1/app/views/active_admin/devise/registrations/new.html.erb +21 -0
  75. data/activeadmin-3.5.1/app/views/active_admin/devise/sessions/new.html.erb +20 -0
  76. data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  77. data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_links.erb +33 -0
  78. data/activeadmin-3.5.1/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
  79. data/activeadmin-3.5.1/app/views/active_admin/page/index.html.arb +2 -0
  80. data/activeadmin-3.5.1/app/views/active_admin/resource/edit.html.arb +2 -0
  81. data/activeadmin-3.5.1/app/views/active_admin/resource/index.html.arb +2 -0
  82. data/activeadmin-3.5.1/app/views/active_admin/resource/new.html.arb +2 -0
  83. data/activeadmin-3.5.1/app/views/active_admin/resource/show.html.arb +2 -0
  84. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  85. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  86. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  87. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  88. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_page.html.erb +12 -0
  89. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  90. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  91. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  92. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  93. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  94. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  95. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  96. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  97. data/activeadmin-3.5.1/app/views/layouts/active_admin.html.arb +2 -0
  98. data/activeadmin-3.5.1/app/views/layouts/active_admin_logged_out.html.erb +50 -0
  99. data/activeadmin-3.5.1/config/locales/ar.yml +128 -0
  100. data/activeadmin-3.5.1/config/locales/az.yml +131 -0
  101. data/activeadmin-3.5.1/config/locales/bg.yml +112 -0
  102. data/activeadmin-3.5.1/config/locales/bs.yml +114 -0
  103. data/activeadmin-3.5.1/config/locales/ca.yml +98 -0
  104. data/activeadmin-3.5.1/config/locales/cs.yml +102 -0
  105. data/activeadmin-3.5.1/config/locales/da.yml +130 -0
  106. data/activeadmin-3.5.1/config/locales/de-CH.yml +94 -0
  107. data/activeadmin-3.5.1/config/locales/de.yml +154 -0
  108. data/activeadmin-3.5.1/config/locales/el.yml +119 -0
  109. data/activeadmin-3.5.1/config/locales/en-CA.yml +132 -0
  110. data/activeadmin-3.5.1/config/locales/en-GB.yml +132 -0
  111. data/activeadmin-3.5.1/config/locales/en.yml +154 -0
  112. data/activeadmin-3.5.1/config/locales/eo.yml +137 -0
  113. data/activeadmin-3.5.1/config/locales/es-MX.yml +90 -0
  114. data/activeadmin-3.5.1/config/locales/es.yml +154 -0
  115. data/activeadmin-3.5.1/config/locales/fa.yml +112 -0
  116. data/activeadmin-3.5.1/config/locales/fi.yml +105 -0
  117. data/activeadmin-3.5.1/config/locales/fr.yml +133 -0
  118. data/activeadmin-3.5.1/config/locales/he.yml +132 -0
  119. data/activeadmin-3.5.1/config/locales/hr.yml +116 -0
  120. data/activeadmin-3.5.1/config/locales/hu.yml +94 -0
  121. data/activeadmin-3.5.1/config/locales/id.yml +128 -0
  122. data/activeadmin-3.5.1/config/locales/it.yml +154 -0
  123. data/activeadmin-3.5.1/config/locales/ja.yml +133 -0
  124. data/activeadmin-3.5.1/config/locales/ko.yml +113 -0
  125. data/activeadmin-3.5.1/config/locales/lt.yml +134 -0
  126. data/activeadmin-3.5.1/config/locales/lv.yml +85 -0
  127. data/activeadmin-3.5.1/config/locales/mk.yml +126 -0
  128. data/activeadmin-3.5.1/config/locales/nb.yml +122 -0
  129. data/activeadmin-3.5.1/config/locales/nl.yml +136 -0
  130. data/activeadmin-3.5.1/config/locales/pl.yml +160 -0
  131. data/activeadmin-3.5.1/config/locales/pt-BR.yml +135 -0
  132. data/activeadmin-3.5.1/config/locales/pt-PT.yml +85 -0
  133. data/activeadmin-3.5.1/config/locales/ro.yml +90 -0
  134. data/activeadmin-3.5.1/config/locales/ru.yml +135 -0
  135. data/activeadmin-3.5.1/config/locales/sk.yml +160 -0
  136. data/activeadmin-3.5.1/config/locales/sv-SE.yml +154 -0
  137. data/activeadmin-3.5.1/config/locales/tr.yml +133 -0
  138. data/activeadmin-3.5.1/config/locales/uk.yml +132 -0
  139. data/activeadmin-3.5.1/config/locales/vi.yml +154 -0
  140. data/activeadmin-3.5.1/config/locales/zh-CN.yml +154 -0
  141. data/activeadmin-3.5.1/config/locales/zh-TW.yml +128 -0
  142. data/activeadmin-3.5.1/lib/active_admin/abstract_view_factory.rb +48 -0
  143. data/activeadmin-3.5.1/lib/active_admin/application.rb +234 -0
  144. data/activeadmin-3.5.1/lib/active_admin/application_settings.rb +43 -0
  145. data/activeadmin-3.5.1/lib/active_admin/asset_registration.rb +30 -0
  146. data/activeadmin-3.5.1/lib/active_admin/authorization_adapter.rb +132 -0
  147. data/activeadmin-3.5.1/lib/active_admin/base_controller/authorization.rb +129 -0
  148. data/activeadmin-3.5.1/lib/active_admin/base_controller/menu.rb +35 -0
  149. data/activeadmin-3.5.1/lib/active_admin/base_controller.rb +82 -0
  150. data/activeadmin-3.5.1/lib/active_admin/batch_actions/controller.rb +41 -0
  151. data/activeadmin-3.5.1/lib/active_admin/batch_actions/resource_extension.rb +157 -0
  152. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_form.rb +39 -0
  153. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_selector.rb +59 -0
  154. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/selection_cells.rb +39 -0
  155. data/activeadmin-3.5.1/lib/active_admin/batch_actions.rb +17 -0
  156. data/activeadmin-3.5.1/lib/active_admin/callbacks.rb +89 -0
  157. data/activeadmin-3.5.1/lib/active_admin/cancan_adapter.rb +37 -0
  158. data/activeadmin-3.5.1/lib/active_admin/collection_decorator.rb +32 -0
  159. data/activeadmin-3.5.1/lib/active_admin/component.rb +6 -0
  160. data/activeadmin-3.5.1/lib/active_admin/controller_action.rb +14 -0
  161. data/activeadmin-3.5.1/lib/active_admin/csv_builder.rb +144 -0
  162. data/activeadmin-3.5.1/lib/active_admin/dependency.rb +97 -0
  163. data/activeadmin-3.5.1/lib/active_admin/devise.rb +91 -0
  164. data/activeadmin-3.5.1/lib/active_admin/dsl.rb +161 -0
  165. data/activeadmin-3.5.1/lib/active_admin/dynamic_setting.rb +39 -0
  166. data/activeadmin-3.5.1/lib/active_admin/dynamic_settings_node.rb +29 -0
  167. data/activeadmin-3.5.1/lib/active_admin/engine.rb +29 -0
  168. data/activeadmin-3.5.1/lib/active_admin/error.rb +63 -0
  169. data/activeadmin-3.5.1/lib/active_admin/filters/active.rb +30 -0
  170. data/activeadmin-3.5.1/lib/active_admin/filters/active_filter.rb +124 -0
  171. data/activeadmin-3.5.1/lib/active_admin/filters/active_sidebar.rb +28 -0
  172. data/activeadmin-3.5.1/lib/active_admin/filters/dsl.rb +22 -0
  173. data/activeadmin-3.5.1/lib/active_admin/filters/forms.rb +86 -0
  174. data/activeadmin-3.5.1/lib/active_admin/filters/formtastic_addons.rb +75 -0
  175. data/activeadmin-3.5.1/lib/active_admin/filters/resource_extension.rb +180 -0
  176. data/activeadmin-3.5.1/lib/active_admin/filters.rb +12 -0
  177. data/activeadmin-3.5.1/lib/active_admin/form_builder.rb +186 -0
  178. data/activeadmin-3.5.1/lib/active_admin/generators/boilerplate.rb +54 -0
  179. data/activeadmin-3.5.1/lib/active_admin/helpers/collection.rb +21 -0
  180. data/activeadmin-3.5.1/lib/active_admin/helpers/i18n.rb +8 -0
  181. data/activeadmin-3.5.1/lib/active_admin/helpers/optional_display.rb +39 -0
  182. data/activeadmin-3.5.1/lib/active_admin/helpers/routes/url_helpers.rb +16 -0
  183. data/activeadmin-3.5.1/lib/active_admin/helpers/scope_chain.rb +25 -0
  184. data/activeadmin-3.5.1/lib/active_admin/inputs/datepicker_input.rb +28 -0
  185. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base/search_method_select.rb +76 -0
  186. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base.rb +45 -0
  187. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/boolean_input.rb +25 -0
  188. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/check_boxes_input.rb +51 -0
  189. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_picker_input.rb +14 -0
  190. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_range_input.rb +53 -0
  191. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/numeric_input.rb +13 -0
  192. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/select_input.rb +59 -0
  193. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/string_input.rb +27 -0
  194. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/text_input.rb +26 -0
  195. data/activeadmin-3.5.1/lib/active_admin/inputs.rb +22 -0
  196. data/activeadmin-3.5.1/lib/active_admin/localizers/resource_localizer.rb +36 -0
  197. data/activeadmin-3.5.1/lib/active_admin/localizers.rb +12 -0
  198. data/activeadmin-3.5.1/lib/active_admin/menu.rb +107 -0
  199. data/activeadmin-3.5.1/lib/active_admin/menu_collection.rb +92 -0
  200. data/activeadmin-3.5.1/lib/active_admin/menu_item.rb +70 -0
  201. data/activeadmin-3.5.1/lib/active_admin/namespace.rb +267 -0
  202. data/activeadmin-3.5.1/lib/active_admin/namespace_settings.rb +127 -0
  203. data/activeadmin-3.5.1/lib/active_admin/order_clause.rb +49 -0
  204. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/comment.rb +40 -0
  205. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/namespace_helper.rb +15 -0
  206. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/resource_helper.rb +18 -0
  207. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/show_page_helper.rb +24 -0
  208. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +101 -0
  209. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views.rb +3 -0
  210. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments.rb +102 -0
  211. data/activeadmin-3.5.1/lib/active_admin/orm/active_record.rb +6 -0
  212. data/activeadmin-3.5.1/lib/active_admin/orm/mongoid.rb +2 -0
  213. data/activeadmin-3.5.1/lib/active_admin/page.rb +112 -0
  214. data/activeadmin-3.5.1/lib/active_admin/page_controller.rb +30 -0
  215. data/activeadmin-3.5.1/lib/active_admin/page_dsl.rb +33 -0
  216. data/activeadmin-3.5.1/lib/active_admin/page_presenter.rb +34 -0
  217. data/activeadmin-3.5.1/lib/active_admin/pundit_adapter.rb +123 -0
  218. data/activeadmin-3.5.1/lib/active_admin/resource/action_items.rb +121 -0
  219. data/activeadmin-3.5.1/lib/active_admin/resource/attributes.rb +55 -0
  220. data/activeadmin-3.5.1/lib/active_admin/resource/belongs_to.rb +53 -0
  221. data/activeadmin-3.5.1/lib/active_admin/resource/controllers.rb +20 -0
  222. data/activeadmin-3.5.1/lib/active_admin/resource/includes.rb +13 -0
  223. data/activeadmin-3.5.1/lib/active_admin/resource/menu.rb +68 -0
  224. data/activeadmin-3.5.1/lib/active_admin/resource/model.rb +16 -0
  225. data/activeadmin-3.5.1/lib/active_admin/resource/naming.rb +63 -0
  226. data/activeadmin-3.5.1/lib/active_admin/resource/ordering.rb +12 -0
  227. data/activeadmin-3.5.1/lib/active_admin/resource/page_presenters.rb +83 -0
  228. data/activeadmin-3.5.1/lib/active_admin/resource/pagination.rb +24 -0
  229. data/activeadmin-3.5.1/lib/active_admin/resource/routes.rb +146 -0
  230. data/activeadmin-3.5.1/lib/active_admin/resource/scope_to.rb +75 -0
  231. data/activeadmin-3.5.1/lib/active_admin/resource/scopes.rb +53 -0
  232. data/activeadmin-3.5.1/lib/active_admin/resource/sidebars.rb +29 -0
  233. data/activeadmin-3.5.1/lib/active_admin/resource.rb +227 -0
  234. data/activeadmin-3.5.1/lib/active_admin/resource_collection.rb +73 -0
  235. data/activeadmin-3.5.1/lib/active_admin/resource_controller/action_builder.rb +32 -0
  236. data/activeadmin-3.5.1/lib/active_admin/resource_controller/data_access.rb +348 -0
  237. data/activeadmin-3.5.1/lib/active_admin/resource_controller/decorators.rb +81 -0
  238. data/activeadmin-3.5.1/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  239. data/activeadmin-3.5.1/lib/active_admin/resource_controller/resource_class_methods.rb +27 -0
  240. data/activeadmin-3.5.1/lib/active_admin/resource_controller/scoping.rb +32 -0
  241. data/activeadmin-3.5.1/lib/active_admin/resource_controller/sidebars.rb +19 -0
  242. data/activeadmin-3.5.1/lib/active_admin/resource_controller/streaming.rb +45 -0
  243. data/activeadmin-3.5.1/lib/active_admin/resource_controller.rb +68 -0
  244. data/activeadmin-3.5.1/lib/active_admin/resource_dsl.rb +210 -0
  245. data/activeadmin-3.5.1/lib/active_admin/router.rb +115 -0
  246. data/activeadmin-3.5.1/lib/active_admin/scope.rb +65 -0
  247. data/activeadmin-3.5.1/lib/active_admin/settings_node.rb +20 -0
  248. data/activeadmin-3.5.1/lib/active_admin/sidebar_section.rb +40 -0
  249. data/activeadmin-3.5.1/lib/active_admin/version.rb +4 -0
  250. data/activeadmin-3.5.1/lib/active_admin/view_factory.rb +28 -0
  251. data/activeadmin-3.5.1/lib/active_admin/view_helpers/active_admin_application_helper.rb +13 -0
  252. data/activeadmin-3.5.1/lib/active_admin/view_helpers/auto_link_helper.rb +46 -0
  253. data/activeadmin-3.5.1/lib/active_admin/view_helpers/breadcrumb_helper.rb +34 -0
  254. data/activeadmin-3.5.1/lib/active_admin/view_helpers/display_helper.rb +119 -0
  255. data/activeadmin-3.5.1/lib/active_admin/view_helpers/download_format_links_helper.rb +60 -0
  256. data/activeadmin-3.5.1/lib/active_admin/view_helpers/fields_for.rb +51 -0
  257. data/activeadmin-3.5.1/lib/active_admin/view_helpers/flash_helper.rb +15 -0
  258. data/activeadmin-3.5.1/lib/active_admin/view_helpers/form_helper.rb +21 -0
  259. data/activeadmin-3.5.1/lib/active_admin/view_helpers/method_or_proc_helper.rb +101 -0
  260. data/activeadmin-3.5.1/lib/active_admin/view_helpers/scope_name_helper.rb +17 -0
  261. data/activeadmin-3.5.1/lib/active_admin/view_helpers/sidebar_helper.rb +16 -0
  262. data/activeadmin-3.5.1/lib/active_admin/view_helpers/title_helper.rb +12 -0
  263. data/activeadmin-3.5.1/lib/active_admin/view_helpers/view_factory_helper.rb +12 -0
  264. data/activeadmin-3.5.1/lib/active_admin/view_helpers.rb +21 -0
  265. data/activeadmin-3.5.1/lib/active_admin/views/action_items.rb +18 -0
  266. data/activeadmin-3.5.1/lib/active_admin/views/components/active_admin_form.rb +164 -0
  267. data/activeadmin-3.5.1/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  268. data/activeadmin-3.5.1/lib/active_admin/views/components/attributes_table.rb +95 -0
  269. data/activeadmin-3.5.1/lib/active_admin/views/components/blank_slate.rb +18 -0
  270. data/activeadmin-3.5.1/lib/active_admin/views/components/columns.rb +162 -0
  271. data/activeadmin-3.5.1/lib/active_admin/views/components/dropdown_menu.rb +69 -0
  272. data/activeadmin-3.5.1/lib/active_admin/views/components/index_list.rb +70 -0
  273. data/activeadmin-3.5.1/lib/active_admin/views/components/menu.rb +33 -0
  274. data/activeadmin-3.5.1/lib/active_admin/views/components/menu_item.rb +59 -0
  275. data/activeadmin-3.5.1/lib/active_admin/views/components/paginated_collection.rb +164 -0
  276. data/activeadmin-3.5.1/lib/active_admin/views/components/panel.rb +39 -0
  277. data/activeadmin-3.5.1/lib/active_admin/views/components/scopes.rb +75 -0
  278. data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar.rb +14 -0
  279. data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar_section.rb +35 -0
  280. data/activeadmin-3.5.1/lib/active_admin/views/components/site_title.rb +55 -0
  281. data/activeadmin-3.5.1/lib/active_admin/views/components/status_tag.rb +76 -0
  282. data/activeadmin-3.5.1/lib/active_admin/views/components/table_for.rb +211 -0
  283. data/activeadmin-3.5.1/lib/active_admin/views/components/tabs.rb +41 -0
  284. data/activeadmin-3.5.1/lib/active_admin/views/components/unsupported_browser.rb +12 -0
  285. data/activeadmin-3.5.1/lib/active_admin/views/footer.rb +32 -0
  286. data/activeadmin-3.5.1/lib/active_admin/views/header.rb +20 -0
  287. data/activeadmin-3.5.1/lib/active_admin/views/index_as_block.rb +37 -0
  288. data/activeadmin-3.5.1/lib/active_admin/views/index_as_blog.rb +156 -0
  289. data/activeadmin-3.5.1/lib/active_admin/views/index_as_grid.rb +81 -0
  290. data/activeadmin-3.5.1/lib/active_admin/views/index_as_table.rb +401 -0
  291. data/activeadmin-3.5.1/lib/active_admin/views/pages/base.rb +134 -0
  292. data/activeadmin-3.5.1/lib/active_admin/views/pages/form.rb +65 -0
  293. data/activeadmin-3.5.1/lib/active_admin/views/pages/index.rb +166 -0
  294. data/activeadmin-3.5.1/lib/active_admin/views/pages/layout.rb +27 -0
  295. data/activeadmin-3.5.1/lib/active_admin/views/pages/page.rb +31 -0
  296. data/activeadmin-3.5.1/lib/active_admin/views/pages/show.rb +60 -0
  297. data/activeadmin-3.5.1/lib/active_admin/views/tabbed_navigation.rb +12 -0
  298. data/activeadmin-3.5.1/lib/active_admin/views/title_bar.rb +56 -0
  299. data/activeadmin-3.5.1/lib/active_admin/views.rb +9 -0
  300. data/activeadmin-3.5.1/lib/active_admin.rb +135 -0
  301. data/activeadmin-3.5.1/lib/activeadmin.rb +2 -0
  302. data/activeadmin-3.5.1/lib/generators/active_admin/assets/assets_generator.rb +15 -0
  303. data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  304. data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
  305. data/activeadmin-3.5.1/lib/generators/active_admin/devise/devise_generator.rb +69 -0
  306. data/activeadmin-3.5.1/lib/generators/active_admin/install/install_generator.rb +56 -0
  307. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/active_admin.rb.erb +352 -0
  308. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
  309. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
  310. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
  311. data/activeadmin-3.5.1/lib/generators/active_admin/page/USAGE +8 -0
  312. data/activeadmin-3.5.1/lib/generators/active_admin/page/page_generator.rb +13 -0
  313. data/activeadmin-3.5.1/lib/generators/active_admin/page/templates/page.rb +6 -0
  314. data/activeadmin-3.5.1/lib/generators/active_admin/resource/resource_generator.rb +21 -0
  315. data/activeadmin-3.5.1/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  316. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  317. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  318. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  319. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  320. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  321. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/data.js +39 -0
  322. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/disable-selection.js +51 -0
  323. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/focusable.js +79 -0
  324. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +81 -0
  325. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/keycode.js +51 -0
  326. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/labels.js +70 -0
  327. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/plugin.js +49 -0
  328. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/position.js +513 -0
  329. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
  330. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/tabbable.js +41 -0
  331. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/unique-id.js +54 -0
  332. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/version.js +20 -0
  333. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widget.js +761 -0
  334. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/button.js +454 -0
  335. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +294 -0
  336. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
  337. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2240 -0
  338. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +957 -0
  339. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1264 -0
  340. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +226 -0
  341. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1281 -0
  342. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1614 -0
  343. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +918 -0
  344. data/ultra-quick-hub.gemspec +12 -0
  345. metadata +384 -0
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Helpers
4
+ module Routes
5
+ module UrlHelpers
6
+ include Rails.application.routes.url_helpers
7
+ end
8
+
9
+ extend UrlHelpers
10
+
11
+ def self.default_url_options
12
+ Rails.application.routes.default_url_options || {}
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ScopeChain
4
+ private
5
+ # Scope an ActiveRecord::Relation chain
6
+ #
7
+ # Example:
8
+ # scope_chain(Scope.new(:published), Article)
9
+ # # => Article.published
10
+ #
11
+ # @param scope The <ActiveAdmin::Scope> we want to scope on
12
+ # @param chain The ActiveRecord::Relation chain or ActiveRecord::Base class to scope
13
+ # @return <ActiveRecord::Relation or ActiveRecord::Base> The scoped relation chain
14
+ #
15
+ def scope_chain(scope, chain)
16
+ if scope.scope_method
17
+ chain.public_send scope.scope_method
18
+ elsif scope.scope_block
19
+ instance_exec chain, &scope.scope_block
20
+ else
21
+ chain
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ class DatepickerInput < ::Formtastic::Inputs::StringInput
5
+ def input_html_options
6
+ super.tap do |options|
7
+ options[:class] = [options[:class], "datepicker"].compact.join(" ")
8
+ options[:data] ||= {}
9
+ options[:data].merge! datepicker_options
10
+ end
11
+ end
12
+
13
+ # Can pass proc to filter label option
14
+ def label_from_options
15
+ res = super
16
+ res = res.call if res.is_a? Proc
17
+ res
18
+ end
19
+
20
+ private
21
+ def datepicker_options
22
+ options = self.options.fetch(:datepicker_options, {})
23
+ options = Hash[options.map { |k, v| [k.to_s.camelcase(:lower), v] }]
24
+ { datepicker_options: options }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+ # This is a common set of Formtastic overrides needed to build a filter form
3
+ # that lets you select from a set of search methods for a given attribute.
4
+ #
5
+ # Your class must declare available filters for this module to work.
6
+ # Those filters must be recognizable by Ransack. For example:
7
+ #
8
+ # class NumericInput < ::Formtastic::Inputs::NumberInput
9
+ # include Base
10
+ # include Base::SearchMethodSelect
11
+ #
12
+ # filter :eq, :gt, :lt
13
+ # end
14
+ #
15
+ module ActiveAdmin
16
+ module Inputs
17
+ module Filters
18
+ module Base
19
+ module SearchMethodSelect
20
+
21
+ def self.included(base)
22
+ base.extend ClassMethods
23
+ end
24
+
25
+ module ClassMethods
26
+ attr_reader :filters
27
+
28
+ def filter(*filters)
29
+ (@filters ||= []).push *filters
30
+ end
31
+ end
32
+
33
+ def wrapper_html_options
34
+ opts = super
35
+ (opts[:class] ||= "") << " select_and_search" unless seems_searchable?
36
+ opts
37
+ end
38
+
39
+ def to_html
40
+ input_wrapping do
41
+ label_html << # your label
42
+ select_html << # the dropdown that holds the available search methods
43
+ input_html # your input field
44
+ end
45
+ end
46
+
47
+ def input_html
48
+ builder.text_field current_filter, input_html_options
49
+ end
50
+
51
+ def select_html
52
+ template.select_tag "", template.options_for_select(filter_options, current_filter)
53
+ end
54
+
55
+ def filters
56
+ options[:filters] || self.class.filters
57
+ end
58
+
59
+ def current_filter
60
+ @current_filter ||= begin
61
+ methods = filters.map { |f| "#{method}_#{f}" }
62
+ methods.detect { |m| @object.public_send m } || methods.first
63
+ end
64
+ end
65
+
66
+ def filter_options
67
+ filters.collect do |filter|
68
+ [I18n.t("ransack.predicates.#{filter}").capitalize, "#{method}_#{filter}"]
69
+ end
70
+ end
71
+
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ module Base
6
+ include ::Formtastic::Inputs::Base
7
+ include ::ActiveAdmin::Filters::FormtasticAddons
8
+
9
+ extend ::ActiveSupport::Autoload
10
+ autoload :SearchMethodSelect
11
+
12
+ def input_wrapping(&block)
13
+ template.content_tag :div, template.capture(&block), wrapper_html_options
14
+ end
15
+
16
+ def required?
17
+ false
18
+ end
19
+
20
+ # Can pass proc to filter label option
21
+ def label_from_options
22
+ res = super
23
+ res = res.call if res.is_a? Proc
24
+ res
25
+ end
26
+
27
+ def wrapper_html_options
28
+ opts = super
29
+ (opts[:class] ||= "") << " filter_form_field filter_#{as}"
30
+ opts
31
+ end
32
+
33
+ # Override the standard finder to accept a proc
34
+ def collection_from_options
35
+ if options[:collection].is_a?(Proc)
36
+ template.instance_exec(&options[:collection])
37
+ else
38
+ super
39
+ end
40
+ end
41
+
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class BooleanInput < ::Formtastic::Inputs::SelectInput
6
+ include Base
7
+
8
+ def input_name
9
+ return method if seems_searchable?
10
+
11
+ "#{method}_eq"
12
+ end
13
+
14
+ def input_html_options_name
15
+ "#{object_name}[#{input_name}]" # was "#{object_name}[#{association_primary_key}]"
16
+ end
17
+
18
+ # Provide the AA translation to the blank input field.
19
+ def include_blank
20
+ I18n.t "active_admin.any" if super
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class CheckBoxesInput < ::Formtastic::Inputs::CheckBoxesInput
6
+ include Base
7
+
8
+ def input_name
9
+ "#{object_name}[#{searchable_method_name}_in][]"
10
+ end
11
+
12
+ def selected_values
13
+ @object.public_send("#{searchable_method_name}_in") || []
14
+ end
15
+
16
+ def searchable_method_name
17
+ if searchable_has_many_through?
18
+ "#{reflection.through_reflection.name}_#{reflection.foreign_key}"
19
+ else
20
+ association_primary_key || method
21
+ end
22
+ end
23
+
24
+ # Add whitespace before label
25
+ def choice_label(choice)
26
+ " " + super
27
+ end
28
+
29
+ # Don't wrap in UL tag
30
+ def choices_group_wrapping(&block)
31
+ template.capture(&block)
32
+ end
33
+
34
+ # Don't wrap in LI tag
35
+ def choice_wrapping(html_options, &block)
36
+ template.capture(&block)
37
+ end
38
+
39
+ # Don't render hidden fields
40
+ def hidden_field_for_all
41
+ ""
42
+ end
43
+
44
+ # Don't render hidden fields
45
+ def hidden_fields?
46
+ false
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class DatePickerInput < ::Formtastic::Inputs::DatePickerInput
6
+ include Base
7
+
8
+ def input_html_options
9
+ super.merge(class: "datepicker")
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class DateRangeInput < ::Formtastic::Inputs::StringInput
6
+ include Base
7
+
8
+ def to_html
9
+ input_wrapping do
10
+ [ label_html,
11
+ builder.text_field(gt_input_name, input_html_options_for(gt_input_name, gt_input_placeholder)),
12
+ builder.text_field(lt_input_name, input_html_options_for(lt_input_name, lt_input_placeholder)),
13
+ ].join("\n").html_safe
14
+ end
15
+ end
16
+
17
+ def gt_input_name
18
+ "#{method}_gteq"
19
+ end
20
+ alias :input_name :gt_input_name
21
+
22
+ def lt_input_name
23
+ "#{method}_lteq"
24
+ end
25
+
26
+ def input_html_options
27
+ { size: 12,
28
+ class: "datepicker",
29
+ maxlength: 10 }.merge(options[:input_html] || {})
30
+ end
31
+
32
+ def input_html_options_for(input_name, placeholder)
33
+ current_value = begin
34
+ #cast value to date object before rendering input
35
+ @object.public_send(input_name).to_s.to_date
36
+ rescue
37
+ nil
38
+ end
39
+ { placeholder: placeholder,
40
+ value: current_value ? current_value.strftime("%Y-%m-%d") : "" }.merge(input_html_options)
41
+ end
42
+
43
+ def gt_input_placeholder
44
+ I18n.t("active_admin.filters.predicates.from")
45
+ end
46
+
47
+ def lt_input_placeholder
48
+ I18n.t("active_admin.filters.predicates.to")
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class NumericInput < ::Formtastic::Inputs::NumberInput
6
+ include Base
7
+ include Base::SearchMethodSelect
8
+
9
+ filter :eq, :gt, :lt
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class SelectInput < ::Formtastic::Inputs::SelectInput
6
+ include Base
7
+
8
+ def input_name
9
+ return method if seems_searchable?
10
+
11
+ searchable_method_name + (multiple? ? "_in" : "_eq")
12
+ end
13
+
14
+ def searchable_method_name
15
+ if searchable_has_many_through?
16
+ "#{reflection.through_reflection.name}_#{reflection.foreign_key}"
17
+ else
18
+ reflection_searchable? ? "#{method}_#{reflection.association_primary_key}" : method.to_s
19
+ end
20
+ end
21
+
22
+ # Provide the AA translation to the blank input field.
23
+ def include_blank
24
+ I18n.t "active_admin.any" if super
25
+ end
26
+
27
+ def input_html_options_name
28
+ "#{object_name}[#{input_name}]" # was "#{object_name}[#{association_primary_key}]"
29
+ end
30
+
31
+ # Would normally return true for has_many and HABTM, which would subsequently
32
+ # cause the select field to be multi-select instead of a dropdown.
33
+ def multiple_by_association?
34
+ false
35
+ end
36
+
37
+ # Provides an efficient default lookup query if the attribute is a DB column.
38
+ def collection
39
+ if !options[:collection] && column
40
+ pluck_column
41
+ else
42
+ super
43
+ end
44
+ rescue ActiveRecord::QueryCanceled => error
45
+ raise ActiveRecord::QueryCanceled.new "#{error.message.strip} while querying the values for the ActiveAdmin :#{method} filter"
46
+ end
47
+
48
+ def pluck_column
49
+ klass.reorder("#{method} asc").distinct.pluck method
50
+ end
51
+
52
+ def reflection_searchable?
53
+ reflection && !reflection.polymorphic?
54
+ end
55
+
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class StringInput < ::Formtastic::Inputs::StringInput
6
+ include Base
7
+ include Base::SearchMethodSelect
8
+
9
+ filter :cont, :eq, :start, :end
10
+
11
+ # If the filter method includes a search condition, build a normal string search field.
12
+ # Else, build a search field with a companion dropdown to choose a search condition from.
13
+ def to_html
14
+ if seems_searchable?
15
+ input_wrapping do
16
+ label_html <<
17
+ builder.text_field(method, input_html_options)
18
+ end
19
+ else
20
+ super # SearchMethodSelect#to_html
21
+ end
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ module Filters
5
+ class TextInput < ::Formtastic::Inputs::TextInput
6
+ include Base
7
+ include Base::SearchMethodSelect
8
+
9
+ def input_html_options
10
+ {
11
+ cols: builder.default_text_area_width,
12
+ rows: builder.default_text_area_height
13
+ }.merge(super)
14
+ end
15
+
16
+ def to_html
17
+ input_wrapping do
18
+ label_html <<
19
+ builder.text_area(method, input_html_options)
20
+ end
21
+ end
22
+
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Inputs
4
+ extend ActiveSupport::Autoload
5
+
6
+ autoload :DatepickerInput
7
+
8
+ module Filters
9
+ extend ActiveSupport::Autoload
10
+
11
+ autoload :Base
12
+ autoload :StringInput
13
+ autoload :TextInput
14
+ autoload :DatePickerInput
15
+ autoload :DateRangeInput
16
+ autoload :NumericInput
17
+ autoload :SelectInput
18
+ autoload :CheckBoxesInput
19
+ autoload :BooleanInput
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Localizers
4
+ class ResourceLocalizer
5
+ class << self
6
+ def from_resource(resource_config)
7
+ new(resource_config.resource_name.i18n_key, resource_config.resource_label)
8
+ end
9
+
10
+ def translate(key, options)
11
+ new(options.delete(:model_name), options.delete(:model)).translate(key, options)
12
+ end
13
+ alias_method :t, :translate
14
+ end
15
+
16
+ def initialize(model_name, model = nil)
17
+ @model_name = model_name
18
+ @model = model || model_name.to_s.titleize
19
+ end
20
+
21
+ def translate(key, options = {})
22
+ scope = options.delete(:scope)
23
+ specific_key = array_to_key("resources", @model_name, scope, key)
24
+ defaults = [array_to_key(scope, key), key.to_s.titleize]
25
+ ::I18n.t specific_key, **options.reverse_merge(model: @model, default: defaults, scope: "active_admin")
26
+ end
27
+ alias_method :t, :translate
28
+
29
+ protected
30
+
31
+ def array_to_key(*arr)
32
+ arr.flatten.compact.join(".").to_sym
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ require "active_admin/localizers/resource_localizer"
3
+
4
+ module ActiveAdmin
5
+ module Localizers
6
+ class << self
7
+ def resource(active_admin_config)
8
+ ResourceLocalizer.from_resource(active_admin_config)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+
4
+ # Each Namespace builds up it's own menu as the global navigation
5
+ #
6
+ # To build a new menu:
7
+ #
8
+ # menu = Menu.new do |m|
9
+ # m.add label: 'Dashboard', url: '/'
10
+ # m.add label: 'Users', url: '/users'
11
+ # end
12
+ #
13
+ # If you're interested in configuring a menu item, take a look at the
14
+ # options available in `ActiveAdmin::MenuItem`
15
+ #
16
+ class Menu
17
+
18
+ def initialize
19
+ super # MenuNode
20
+ yield(self) if block_given?
21
+ end
22
+
23
+ module MenuNode
24
+ def initialize
25
+ @children = {}
26
+ end
27
+
28
+ def [](id)
29
+ @children[normalize_id(id)]
30
+ end
31
+
32
+ def []=(id, child)
33
+ @children[normalize_id(id)] = child
34
+ end
35
+
36
+ # Recursively builds any given menu items. There are two syntaxes supported,
37
+ # as shown in the below examples. Both create an identical menu structure.
38
+ #
39
+ # Example 1:
40
+ # menu = Menu.new
41
+ # menu.add label: 'Dashboard' do |dash|
42
+ # dash.add label: 'My Child Dashboard'
43
+ # end
44
+ #
45
+ # Example 2:
46
+ # menu = Menu.new
47
+ # menu.add label: 'Dashboard'
48
+ # menu.add parent: 'Dashboard', label: 'My Child Dashboard'
49
+ #
50
+ def add(options)
51
+ options = options.dup # Make sure parameter is not modified
52
+ parent_chain = Array.wrap(options.delete(:parent))
53
+
54
+ item = if parent = parent_chain.shift
55
+ options[:parent] = parent_chain if parent_chain.any?
56
+ (self[parent] || add(label: parent)).add options
57
+ else
58
+ _add options.merge parent: self
59
+ end
60
+
61
+ yield(item) if block_given?
62
+
63
+ item
64
+ end
65
+
66
+ # Whether any children match the given item.
67
+ def include?(item)
68
+ @children.values.include?(item) || @children.values.any? { |child| child.include?(item) }
69
+ end
70
+
71
+ # Used in the UI to visually distinguish which menu item is selected.
72
+ def current?(item)
73
+ self == item || include?(item)
74
+ end
75
+
76
+ def items
77
+ @children.values
78
+ end
79
+
80
+ attr_reader :children
81
+ private
82
+ attr_writer :children
83
+
84
+ # The method that actually adds new menu items. Called by the public method.
85
+ # If this ID is already taken, transfer the children of the existing item to the new item.
86
+ def _add(options)
87
+ item = ActiveAdmin::MenuItem.new(options)
88
+ item.send :children=, self[item.id].children if self[item.id]
89
+ self[item.id] = item
90
+ end
91
+
92
+ def normalize_id(id)
93
+ case id
94
+ when String, Symbol, ActiveModel::Name
95
+ id.to_s.downcase.tr " ", "_"
96
+ when ActiveAdmin::Resource::Name
97
+ id.param_key
98
+ else
99
+ raise TypeError, "#{id.class} isn't supported as a Menu ID"
100
+ end
101
+ end
102
+ end
103
+
104
+ include MenuNode
105
+
106
+ end
107
+ end