adminterface 0.0.0 → 0.2.3
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.
- checksums.yaml +4 -4
- data/LICENSE.md +1 -1
- data/README.md +69 -0
- data/Rakefile +43 -0
- data/app/assets/config/adminterface_manifest.js +1 -0
- data/app/assets/stylesheets/adminterface/_base.scss +20 -0
- data/app/assets/stylesheets/adminterface/_print.scss +56 -0
- data/app/assets/stylesheets/adminterface/components/_active_admin_comment.scss +19 -0
- data/app/assets/stylesheets/adminterface/components/_all.scss +24 -0
- data/app/assets/stylesheets/adminterface/components/_aside.scss +28 -0
- data/app/assets/stylesheets/adminterface/components/_attributes_table.scss +19 -0
- data/app/assets/stylesheets/adminterface/components/_comments.scss +7 -0
- data/app/assets/stylesheets/adminterface/components/_divider.scss +28 -0
- data/app/assets/stylesheets/adminterface/components/_filters.scss +27 -0
- data/app/assets/stylesheets/adminterface/components/_flash.scss +4 -0
- data/app/assets/stylesheets/adminterface/components/_footer.scss +4 -0
- data/app/assets/stylesheets/adminterface/components/_form.scss +219 -0
- data/app/assets/stylesheets/adminterface/components/_header.scss +30 -0
- data/app/assets/stylesheets/adminterface/components/_index.scss +1 -0
- data/app/assets/stylesheets/adminterface/components/_index_as_grid.scss +5 -0
- data/app/assets/stylesheets/adminterface/components/_index_as_table.scss +1 -0
- data/app/assets/stylesheets/adminterface/components/_index_footer.scss +19 -0
- data/app/assets/stylesheets/adminterface/components/_modal_dialog.scss +4 -0
- data/app/assets/stylesheets/adminterface/components/_pagination.scss +3 -0
- data/app/assets/stylesheets/adminterface/components/_panel.scss +21 -0
- data/app/assets/stylesheets/adminterface/components/_sidebar.scss +13 -0
- data/app/assets/stylesheets/adminterface/components/_site_title.scss +17 -0
- data/app/assets/stylesheets/adminterface/components/_table_for.scss +37 -0
- data/app/assets/stylesheets/adminterface/components/_table_tools.scss +19 -0
- data/app/assets/stylesheets/adminterface/components/_thumbnail.scss +29 -0
- data/app/assets/stylesheets/adminterface/components/_title_bar.scss +36 -0
- data/app/assets/stylesheets/adminterface/components/inputs/_all.scss +2 -0
- data/app/assets/stylesheets/adminterface/components/inputs/_password.scss +28 -0
- data/app/assets/stylesheets/adminterface/components/inputs/_text.scss +30 -0
- data/app/assets/stylesheets/adminterface/helpers/_aa_icon.scss +1 -0
- data/app/assets/stylesheets/adminterface/helpers/_all.scss +2 -0
- data/app/assets/stylesheets/adminterface/helpers/_pointer.scss +1 -0
- data/app/assets/stylesheets/adminterface/layouts/_all.scss +4 -0
- data/app/assets/stylesheets/adminterface/layouts/_base.scss +5 -0
- data/app/assets/stylesheets/adminterface/layouts/_logged_in.scss +30 -0
- data/app/assets/stylesheets/adminterface/layouts/_logged_out.scss +14 -0
- data/app/assets/stylesheets/adminterface/layouts/types/_all.scss +4 -0
- data/app/assets/stylesheets/adminterface/layouts/types/_mixins.scss +195 -0
- data/app/assets/stylesheets/adminterface/layouts/types/_navigation_aside.scss +33 -0
- data/app/assets/stylesheets/adminterface/layouts/types/_navigation_sidebar.scss +15 -0
- data/app/assets/stylesheets/adminterface/layouts/types/_navigation_top.scss +33 -0
- data/app/assets/stylesheets/adminterface/mixins/_all.scss +3 -0
- data/app/assets/stylesheets/adminterface/mixins/_layouts.scss +38 -0
- data/app/assets/stylesheets/adminterface/mixins/_utilities.scss +39 -0
- data/app/assets/stylesheets/adminterface/mixins/_variables.scss +100 -0
- data/app/assets/stylesheets/adminterface/placeholders/_aa_icon.scss +10 -0
- data/app/assets/stylesheets/adminterface/placeholders/_all.scss +3 -0
- data/app/assets/stylesheets/adminterface/placeholders/_background.scss +5 -0
- data/app/assets/stylesheets/adminterface/placeholders/_typography.scss +11 -0
- data/app/assets/stylesheets/adminterface/vendors/_all.scss +4 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/_all.scss +6 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/_variables.scss +51 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/components/_buttons.scss +5 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/components/_dropdowns.scss +28 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/components/_navs.scss +25 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/components/form/_labels.scss +5 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/content/_tables.scss +2 -0
- data/app/assets/stylesheets/adminterface/vendors/bootstrap/content/_typography.scss +2 -0
- data/app/assets/stylesheets/adminterface/vendors/flatpickr/_all.scss +2 -0
- data/app/assets/stylesheets/adminterface/vendors/flatpickr/_variables.scss +7 -0
- data/app/assets/stylesheets/adminterface/vendors/flatpickr/main.scss +50 -0
- data/app/assets/stylesheets/adminterface/vendors/tom_select/_all.scss +1 -0
- data/app/assets/stylesheets/adminterface/vendors/tom_select/_main.scss +6 -0
- data/app/assets/stylesheets/adminterface/vendors/trix/_actiontext.scss +36 -0
- data/app/assets/stylesheets/adminterface/vendors/trix/_all.scss +3 -0
- data/app/assets/stylesheets/adminterface/vendors/trix/_trix_editor.scss +86 -0
- data/app/assets/stylesheets/adminterface/vendors/trix/_variables.scss +31 -0
- data/app/javascript/adminterface/base.js +14 -0
- data/app/javascript/adminterface/config.js +129 -0
- data/app/javascript/adminterface/initializers/batch_actions.js +9 -0
- data/app/javascript/adminterface/initializers/bootstrap.js +29 -0
- data/app/javascript/adminterface/initializers/confirm_dialog.js +23 -0
- data/app/javascript/adminterface/initializers/detached_dropdown.js +16 -0
- data/app/javascript/adminterface/initializers/drawer_menu_item_toggler.js +15 -0
- data/app/javascript/adminterface/initializers/filters.js +23 -0
- data/app/javascript/adminterface/initializers/has_many.js +7 -0
- data/app/javascript/adminterface/initializers/header_toggler.js +10 -0
- data/app/javascript/adminterface/initializers/index.js +2 -0
- data/app/javascript/adminterface/initializers/per_page.js +12 -0
- data/app/javascript/adminterface/initializers/plugins/flatpickr.js +24 -0
- data/app/javascript/adminterface/initializers/plugins/input_counter.js +21 -0
- data/app/javascript/adminterface/initializers/plugins/password_visibility.js +23 -0
- data/app/javascript/adminterface/initializers/plugins/tom_select.js +24 -0
- data/app/javascript/adminterface/lib/__tests__/checkbox_toggler.html +5 -0
- data/app/javascript/adminterface/lib/__tests__/checkbox_toggler.spec.js +110 -0
- data/app/javascript/adminterface/lib/__tests__/detached_dropdown.spec.js +69 -0
- data/app/javascript/adminterface/lib/__tests__/filters.spec.js +150 -0
- data/app/javascript/adminterface/lib/__tests__/has_many.html +14 -0
- data/app/javascript/adminterface/lib/__tests__/has_many.spec.js +224 -0
- data/app/javascript/adminterface/lib/__tests__/utils.spec.js +280 -0
- data/app/javascript/adminterface/lib/batch_actions.js +106 -0
- data/app/javascript/adminterface/lib/checkbox_toggler.js +55 -0
- data/app/javascript/adminterface/lib/confirm_dialog.js +113 -0
- data/app/javascript/adminterface/lib/detached_dropdown.js +34 -0
- data/app/javascript/adminterface/lib/filters.js +34 -0
- data/app/javascript/adminterface/lib/has_many.js +125 -0
- data/app/javascript/adminterface/lib/header_toggler.js +54 -0
- data/app/javascript/adminterface/lib/input.js +108 -0
- data/app/javascript/adminterface/lib/inputs/base/groupish.js +55 -0
- data/app/javascript/adminterface/lib/inputs/base/pluginish.js +63 -0
- data/app/javascript/adminterface/lib/inputs/base_input.js +87 -0
- data/app/javascript/adminterface/lib/inputs/boolean_input.js +30 -0
- data/app/javascript/adminterface/lib/inputs/check_boxes_input.js +14 -0
- data/app/javascript/adminterface/lib/inputs/choices_input.js +96 -0
- data/app/javascript/adminterface/lib/inputs/color_input.js +14 -0
- data/app/javascript/adminterface/lib/inputs/country_input.js +90 -0
- data/app/javascript/adminterface/lib/inputs/datalist_input.js +41 -0
- data/app/javascript/adminterface/lib/inputs/date_picker_input.js +11 -0
- data/app/javascript/adminterface/lib/inputs/datetime_picker_input.js +11 -0
- data/app/javascript/adminterface/lib/inputs/hidden_input.js +21 -0
- data/app/javascript/adminterface/lib/inputs/password_input.js +13 -0
- data/app/javascript/adminterface/lib/inputs/radio_input.js +13 -0
- data/app/javascript/adminterface/lib/inputs/select_input.js +68 -0
- data/app/javascript/adminterface/lib/inputs/string_input.js +13 -0
- data/app/javascript/adminterface/lib/inputs/switch_input.js +9 -0
- data/app/javascript/adminterface/lib/inputs/text_input.js +12 -0
- data/app/javascript/adminterface/lib/inputs/time_picker_input.js +13 -0
- data/app/javascript/adminterface/lib/inputs/time_zone_input.js +66 -0
- data/app/javascript/adminterface/lib/per_page.js +18 -0
- data/app/javascript/adminterface/lib/plugins/input_counter.js +94 -0
- data/app/javascript/adminterface/lib/plugins/password_visibility.js +70 -0
- data/app/javascript/adminterface/lib/table_checkbox_toggler.js +47 -0
- data/app/javascript/adminterface/lib/utils.js +148 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +19 -0
- data/app/views/active_admin/devise/passwords/edit.html.erb +21 -0
- data/app/views/active_admin/devise/passwords/new.html.erb +19 -0
- data/app/views/active_admin/devise/registrations/new.html.erb +24 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +23 -0
- data/app/views/active_admin/devise/shared/_links.html.erb +25 -0
- data/app/views/active_admin/devise/shared/_omniauth.html.erb +10 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +19 -0
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +12 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +27 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +56 -0
- data/config/locales/active_admin.en.yml +25 -0
- data/lib/adminterface/callable.rb +7 -0
- data/lib/adminterface/configs.rb +76 -0
- data/lib/adminterface/data/base.rb +11 -0
- data/lib/adminterface/data/countries.rb +44 -0
- data/lib/adminterface/data/time_zones.rb +31 -0
- data/lib/adminterface/data.rb +6 -0
- data/lib/adminterface/encryption/encryptor.rb +26 -0
- data/lib/adminterface/engine.rb +22 -0
- data/lib/adminterface/extensions/base_controller.rb +59 -0
- data/lib/adminterface/extensions/batch_actions/resource_extension.rb +64 -0
- data/lib/adminterface/extensions/batch_actions/views/batch_action_selector.rb +48 -0
- data/lib/adminterface/extensions/batch_actions/views/selection_cells.rb +39 -0
- data/lib/adminterface/extensions/dsl.rb +13 -0
- data/lib/adminterface/extensions/dynamic_settings_node.rb +26 -0
- data/lib/adminterface/extensions/filters/forms.rb +76 -0
- data/lib/adminterface/extensions/form_builder.rb +165 -0
- data/lib/adminterface/extensions/inputs/base/active_admin_config.rb +21 -0
- data/lib/adminterface/extensions/inputs/base/choices.rb +33 -0
- data/lib/adminterface/extensions/inputs/base/groupish.rb +50 -0
- data/lib/adminterface/extensions/inputs/base/html.rb +15 -0
- data/lib/adminterface/extensions/inputs/base/labelling.rb +15 -0
- data/lib/adminterface/extensions/inputs/base/pluginish.rb +56 -0
- data/lib/adminterface/extensions/inputs/base/stringish.rb +19 -0
- data/lib/adminterface/extensions/inputs/base/wrapping.rb +25 -0
- data/lib/adminterface/extensions/inputs/base.rb +19 -0
- data/lib/adminterface/extensions/inputs/boolean_input.rb +42 -0
- data/lib/adminterface/extensions/inputs/check_boxes_input.rb +34 -0
- data/lib/adminterface/extensions/inputs/color_input.rb +29 -0
- data/lib/adminterface/extensions/inputs/country_input.rb +33 -0
- data/lib/adminterface/extensions/inputs/datalist_input.rb +26 -0
- data/lib/adminterface/extensions/inputs/date_picker_input.rb +30 -0
- data/lib/adminterface/extensions/inputs/date_select_input.rb +7 -0
- data/lib/adminterface/extensions/inputs/datetime_picker_input.rb +19 -0
- data/lib/adminterface/extensions/inputs/datetime_select_input.rb +7 -0
- data/lib/adminterface/extensions/inputs/email_input.rb +23 -0
- data/lib/adminterface/extensions/inputs/file_input.rb +19 -0
- data/lib/adminterface/extensions/inputs/filters/base/search_method_select.rb +37 -0
- data/lib/adminterface/extensions/inputs/filters/base.rb +3 -0
- data/lib/adminterface/extensions/inputs/filters/boolean_input.rb +4 -0
- data/lib/adminterface/extensions/inputs/filters/check_boxes_input.rb +12 -0
- data/lib/adminterface/extensions/inputs/filters/date_picker_input.rb +4 -0
- data/lib/adminterface/extensions/inputs/filters/date_range_input.rb +50 -0
- data/lib/adminterface/extensions/inputs/filters/select_input.rb +4 -0
- data/lib/adminterface/extensions/inputs/number_input.rb +23 -0
- data/lib/adminterface/extensions/inputs/password_input.rb +23 -0
- data/lib/adminterface/extensions/inputs/phone_input.rb +23 -0
- data/lib/adminterface/extensions/inputs/radio_input.rb +41 -0
- data/lib/adminterface/extensions/inputs/range_input.rb +22 -0
- data/lib/adminterface/extensions/inputs/rich_text_area_input.rb +21 -0
- data/lib/adminterface/extensions/inputs/search_input.rb +23 -0
- data/lib/adminterface/extensions/inputs/select_input.rb +33 -0
- data/lib/adminterface/extensions/inputs/string_input.rb +19 -0
- data/lib/adminterface/extensions/inputs/switch_input.rb +11 -0
- data/lib/adminterface/extensions/inputs/text_input.rb +27 -0
- data/lib/adminterface/extensions/inputs/time_picker_input.rb +19 -0
- data/lib/adminterface/extensions/inputs/time_select_input.rb +7 -0
- data/lib/adminterface/extensions/inputs/time_zone_input.rb +33 -0
- data/lib/adminterface/extensions/inputs/url_input.rb +23 -0
- data/lib/adminterface/extensions/menu_item.rb +16 -0
- data/lib/adminterface/extensions/namespace_settings.rb +30 -0
- data/lib/adminterface/extensions/orm/active_record/comments/views/active_admin_comments.rb +122 -0
- data/lib/adminterface/extensions/resource/action_items.rb +117 -0
- data/lib/adminterface/extensions/sidebar_section.rb +35 -0
- data/lib/adminterface/extensions/view_helpers/alert_helper.rb +38 -0
- data/lib/adminterface/extensions/view_helpers/component_helper.rb +23 -0
- data/lib/adminterface/extensions/views/action_items.rb +39 -0
- data/lib/adminterface/extensions/views/columns.rb +59 -0
- data/lib/adminterface/extensions/views/components/active_admin_form.rb +47 -0
- data/lib/adminterface/extensions/views/components/attributes_table.rb +28 -0
- data/lib/adminterface/extensions/views/components/blank_slate.rb +19 -0
- data/lib/adminterface/extensions/views/components/dropdown_menu.rb +58 -0
- data/lib/adminterface/extensions/views/components/icon.rb +26 -0
- data/lib/adminterface/extensions/views/components/index_list.rb +43 -0
- data/lib/adminterface/extensions/views/components/menu.rb +18 -0
- data/lib/adminterface/extensions/views/components/menu_item.rb +69 -0
- data/lib/adminterface/extensions/views/components/paginated_collection.rb +52 -0
- data/lib/adminterface/extensions/views/components/panel.rb +71 -0
- data/lib/adminterface/extensions/views/components/scopes.rb +53 -0
- data/lib/adminterface/extensions/views/components/sidebar_section.rb +39 -0
- data/lib/adminterface/extensions/views/components/site_title.rb +36 -0
- data/lib/adminterface/extensions/views/components/status_tag.rb +26 -0
- data/lib/adminterface/extensions/views/components/table_for.rb +23 -0
- data/lib/adminterface/extensions/views/components/tabs.rb +101 -0
- data/lib/adminterface/extensions/views/footer.rb +27 -0
- data/lib/adminterface/extensions/views/header.rb +60 -0
- data/lib/adminterface/extensions/views/index_as_grid.rb +53 -0
- data/lib/adminterface/extensions/views/index_as_table.rb +77 -0
- data/lib/adminterface/extensions/views/pages/base.rb +165 -0
- data/lib/adminterface/extensions/views/pages/form.rb +27 -0
- data/lib/adminterface/extensions/views/pages/index.rb +136 -0
- data/lib/adminterface/extensions/views/pages/page.rb +18 -0
- data/lib/adminterface/extensions/views/title_bar.rb +74 -0
- data/lib/adminterface/fixtures/components.yml +73 -0
- data/lib/adminterface/fixtures/css_classes.yml +107 -0
- data/lib/adminterface/initializers/batch_actions.rb +15 -0
- data/lib/adminterface/initializers/comments.rb +13 -0
- data/lib/adminterface/initializers/configurations.rb +38 -0
- data/lib/adminterface/initializers/formtastic.rb +58 -0
- data/lib/adminterface/initializers/resource.rb +20 -0
- data/lib/adminterface/initializers/view_helpers.rb +14 -0
- data/lib/adminterface/initializers/views.rb +39 -0
- data/lib/adminterface/license.rb +18 -0
- data/lib/adminterface/licensing/base.rb +99 -0
- data/lib/adminterface/licensing/commercial.rb +7 -0
- data/lib/adminterface/licensing/notice.rb +54 -0
- data/lib/adminterface/licensing/personal.rb +13 -0
- data/lib/adminterface/public.pem +9 -0
- data/lib/adminterface/version.rb +3 -0
- data/lib/adminterface.rb +55 -0
- data/lib/generators/adminterface/comments/comments_generator.rb +33 -0
- data/lib/generators/adminterface/comments/templates/README +13 -0
- data/lib/generators/adminterface/comments/templates/active_admin_comment_action_text.rb +18 -0
- data/lib/generators/adminterface/comments/templates/migrations/drop_body_for_active_admin_comments.rb.erb +28 -0
- data/lib/generators/adminterface/configs/configs_generator.rb +19 -0
- data/lib/generators/adminterface/configs/templates/README +33 -0
- data/lib/generators/adminterface/install/install_generator.rb +39 -0
- data/lib/generators/adminterface/install/templates/dashboard.rb +32 -0
- data/lib/generators/adminterface/views/views_generator.rb +15 -0
- data/lib/generators/adminterface/webpacker/templates/README +27 -0
- data/lib/generators/adminterface/webpacker/templates/active_admin.js +12 -0
- data/lib/generators/adminterface/webpacker/templates/active_admin.scss +8 -0
- data/lib/generators/adminterface/webpacker/templates/print.scss +3 -0
- data/lib/generators/adminterface/webpacker/webpacker_generator.rb +69 -0
- data/lib/tasks/adminterface_tasks.rake +4 -0
- metadata +291 -10
- data/lib/name.rb +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
class FileInput < ::Formtastic::Inputs::FileInput
|
|
4
|
+
include ::Adminterface::Extensions::Inputs::Base
|
|
5
|
+
prepend ::Adminterface::Extensions::Inputs::Base::Groupish
|
|
6
|
+
|
|
7
|
+
# @TODO: use custom component so we can change the translations in I18n YAML files
|
|
8
|
+
def to_html
|
|
9
|
+
input_wrapping do
|
|
10
|
+
label_html << input_html
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def input_html
|
|
15
|
+
builder.file_field(method, input_html_options)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module Filters
|
|
5
|
+
module Base
|
|
6
|
+
module SearchMethodSelect
|
|
7
|
+
def to_html
|
|
8
|
+
input_wrapping do
|
|
9
|
+
label_html << fields_html
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def fields_html
|
|
14
|
+
template.content_tag :div, class: "row g-3" do
|
|
15
|
+
template.content_tag(:div, select_html, class: "col") +
|
|
16
|
+
template.content_tag(:div, input_html, class: "col")
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def select_html
|
|
21
|
+
template.select_tag(
|
|
22
|
+
"",
|
|
23
|
+
template.options_for_select(filter_options, current_filter),
|
|
24
|
+
class: "form-select"
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Overwrite activeadmin/lib/active_admin/inputs/filters/base/search_method_select.rb
|
|
35
|
+
ActiveAdmin::Inputs::Filters::Base::SearchMethodSelect.module_eval do
|
|
36
|
+
prepend Adminterface::Extensions::Inputs::Filters::Base::SearchMethodSelect
|
|
37
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Overwrite activeadmin/lib/active_admin/inputs/filters/check_boxes_input.rb
|
|
2
|
+
ActiveAdmin::Inputs::Filters::CheckBoxesInput.class_eval do
|
|
3
|
+
prepend ::Adminterface::Extensions::Inputs::CheckBoxesInput
|
|
4
|
+
|
|
5
|
+
def choices_group_wrapping(&block)
|
|
6
|
+
template.content_tag(:ol, template.capture(&block), choices_group_wrapping_html_options)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def choice_wrapping(html_options, &block)
|
|
10
|
+
template.content_tag(:li, template.capture(&block), html_options)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module Filters
|
|
5
|
+
module DateRangeInput
|
|
6
|
+
def to_html
|
|
7
|
+
input_wrapping do
|
|
8
|
+
[
|
|
9
|
+
label_html,
|
|
10
|
+
fields
|
|
11
|
+
].join("\n")&.html_safe
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def fields
|
|
16
|
+
template.content_tag :div, class: "row g-3" do
|
|
17
|
+
template.content_tag(:div, gt_input, class: "col") +
|
|
18
|
+
template.content_tag(:div, lt_input, class: "col")
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def input_html_options_for(input_name, placeholder)
|
|
23
|
+
opts = super
|
|
24
|
+
opts[:class] = "#{opts[:class]} form-control".squish
|
|
25
|
+
opts.merge(plugins_options)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def plugins_configs_key
|
|
31
|
+
:date_picker
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def gt_input
|
|
35
|
+
builder.text_field(gt_input_name, input_html_options_for(gt_input_name, gt_input_placeholder))
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def lt_input
|
|
39
|
+
builder.text_field(lt_input_name, input_html_options_for(lt_input_name, lt_input_placeholder))
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Overwrite activeadmin/lib/active_admin/inputs/filters/date_range_input.rb
|
|
48
|
+
ActiveAdmin::Inputs::Filters::DateRangeInput.class_eval do
|
|
49
|
+
prepend Adminterface::Extensions::Inputs::Filters::DateRangeInput
|
|
50
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module NumberInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Stringish
|
|
7
|
+
prepend Base::Groupish
|
|
8
|
+
|
|
9
|
+
def input_html
|
|
10
|
+
builder.number_field(method, input_html_options)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
module ActiveAdmin
|
|
18
|
+
module Inputs
|
|
19
|
+
class NumberInput < ::Formtastic::Inputs::NumberInput
|
|
20
|
+
include ::Adminterface::Extensions::Inputs::NumberInput
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module PasswordInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Stringish
|
|
7
|
+
prepend Base::Groupish
|
|
8
|
+
|
|
9
|
+
def input_html
|
|
10
|
+
builder.password_field(method, input_html_options)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
module ActiveAdmin
|
|
18
|
+
module Inputs
|
|
19
|
+
class PasswordInput < ::Formtastic::Inputs::PasswordInput
|
|
20
|
+
include ::Adminterface::Extensions::Inputs::PasswordInput
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module PhoneInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Stringish
|
|
7
|
+
prepend Base::Groupish
|
|
8
|
+
|
|
9
|
+
def input_html
|
|
10
|
+
builder.phone_field(method, input_html_options)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
module ActiveAdmin
|
|
18
|
+
module Inputs
|
|
19
|
+
class PhoneInput < ::Formtastic::Inputs::PhoneInput
|
|
20
|
+
include ::Adminterface::Extensions::Inputs::PhoneInput
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module RadioInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Choices
|
|
7
|
+
|
|
8
|
+
def choice_html(choice)
|
|
9
|
+
radio_html(choice) +
|
|
10
|
+
template.content_tag(
|
|
11
|
+
:label, choice_label(choice),
|
|
12
|
+
label_html_options.merge(for: choice_input_dom_id(choice))
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def label_html_options
|
|
17
|
+
super.merge(class: "form-check-label")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
def radio_html(choice)
|
|
23
|
+
builder.radio_button(
|
|
24
|
+
input_name,
|
|
25
|
+
choice_value(choice),
|
|
26
|
+
input_html_options.merge(choice_html_options(choice))
|
|
27
|
+
.merge(required: false, class: "form-check-input")
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
module ActiveAdmin
|
|
36
|
+
module Inputs
|
|
37
|
+
class RadioInput < ::Formtastic::Inputs::RadioInput
|
|
38
|
+
include ::Adminterface::Extensions::Inputs::RadioInput
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module RangeInput
|
|
5
|
+
include Base
|
|
6
|
+
|
|
7
|
+
def input_html_options
|
|
8
|
+
opts = options[:input_html] || {}
|
|
9
|
+
super.merge(class: "form-range #{opts[:class]}".squish)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
module ActiveAdmin
|
|
17
|
+
module Inputs
|
|
18
|
+
class RangeInput < ::Formtastic::Inputs::RangeInput
|
|
19
|
+
include ::Adminterface::Extensions::Inputs::RangeInput
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require_relative("./text_input")
|
|
2
|
+
|
|
3
|
+
module ActiveAdmin
|
|
4
|
+
module Inputs
|
|
5
|
+
class RichTextAreaInput < TextInput
|
|
6
|
+
include ::Adminterface::Extensions::Inputs::Base
|
|
7
|
+
|
|
8
|
+
def input_html_options
|
|
9
|
+
opts = super
|
|
10
|
+
opts.merge(class: "trix-content #{opts[:class]}".squish)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def to_html
|
|
14
|
+
input_wrapping do
|
|
15
|
+
label_html <<
|
|
16
|
+
builder.rich_text_area(method, input_html_options)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module SearchInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Stringish
|
|
7
|
+
prepend Base::Groupish
|
|
8
|
+
|
|
9
|
+
def input_html
|
|
10
|
+
builder.search_field(method, input_html_options)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
module ActiveAdmin
|
|
18
|
+
module Inputs
|
|
19
|
+
class SearchInput < ::Formtastic::Inputs::SearchInput
|
|
20
|
+
include ::Adminterface::Extensions::Inputs::SearchInput
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module SelectInput
|
|
5
|
+
include Base
|
|
6
|
+
prepend Base::Groupish
|
|
7
|
+
|
|
8
|
+
def to_html
|
|
9
|
+
input_wrapping do
|
|
10
|
+
label_html << input_html
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def input_html
|
|
15
|
+
select_html
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def input_html_options
|
|
19
|
+
opts = options[:input_html] || {}
|
|
20
|
+
super.merge(class: "form-select #{opts[:class]}".squish)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
module ActiveAdmin
|
|
28
|
+
module Inputs
|
|
29
|
+
class SelectInput < ::Formtastic::Inputs::SelectInput
|
|
30
|
+
include ::Adminterface::Extensions::Inputs::SelectInput
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module StringInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Stringish
|
|
7
|
+
prepend Base::Groupish
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
module ActiveAdmin
|
|
14
|
+
module Inputs
|
|
15
|
+
class StringInput < ::Formtastic::Inputs::StringInput
|
|
16
|
+
include ::Adminterface::Extensions::Inputs::StringInput
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module TextInput
|
|
5
|
+
include Base
|
|
6
|
+
|
|
7
|
+
def to_html
|
|
8
|
+
input_wrapping do
|
|
9
|
+
label_html << input_html
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def input_html
|
|
14
|
+
builder.text_area(method, input_html_options)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
module ActiveAdmin
|
|
22
|
+
module Inputs
|
|
23
|
+
class TextInput < ::Formtastic::Inputs::TextInput
|
|
24
|
+
include ::Adminterface::Extensions::Inputs::TextInput
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module TimePickerInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Stringish
|
|
7
|
+
prepend Base::Groupish
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
module ActiveAdmin
|
|
14
|
+
module Inputs
|
|
15
|
+
class TimePickerInput < ::Formtastic::Inputs::TimePickerInput
|
|
16
|
+
include ::Adminterface::Extensions::Inputs::TimePickerInput
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module TimeZoneInput
|
|
5
|
+
include Base
|
|
6
|
+
prepend Base::Groupish
|
|
7
|
+
|
|
8
|
+
def to_html
|
|
9
|
+
input_wrapping do
|
|
10
|
+
label_html << input_html
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def input_html
|
|
15
|
+
builder.time_zone_select(method, priority_zones, input_options, input_html_options)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def input_html_options
|
|
19
|
+
opts = options[:input_html] || {}
|
|
20
|
+
super.merge(class: "form-select #{opts[:class]}".squish)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
module ActiveAdmin
|
|
28
|
+
module Inputs
|
|
29
|
+
class TimeZoneInput < ::Formtastic::Inputs::TimeZoneInput
|
|
30
|
+
include ::Adminterface::Extensions::Inputs::TimeZoneInput
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Inputs
|
|
4
|
+
module UrlInput
|
|
5
|
+
include Base
|
|
6
|
+
include Base::Stringish
|
|
7
|
+
prepend Base::Groupish
|
|
8
|
+
|
|
9
|
+
def input_html
|
|
10
|
+
builder.url_field(method, input_html_options)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
module ActiveAdmin
|
|
18
|
+
module Inputs
|
|
19
|
+
class UrlInput < ::Formtastic::Inputs::UrlInput
|
|
20
|
+
include ::Adminterface::Extensions::Inputs::UrlInput
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module MenuItem
|
|
4
|
+
def initialize(options = {})
|
|
5
|
+
@icon = options[:icon]
|
|
6
|
+
super
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Overwrite activeadmin/lib/active_admin/menu_item.rb
|
|
13
|
+
ActiveAdmin::MenuItem.class_eval do
|
|
14
|
+
prepend Adminterface::Extensions::MenuItem
|
|
15
|
+
attr_reader :icon
|
|
16
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module NamespaceSettings
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
CONFIGS = Adminterface::Configs::DEFAULTS
|
|
7
|
+
|
|
8
|
+
included do
|
|
9
|
+
# The default component configs
|
|
10
|
+
register :components, CONFIGS[:components]
|
|
11
|
+
|
|
12
|
+
# The default css_classes
|
|
13
|
+
register :css_classes, CONFIGS[:css_classes]
|
|
14
|
+
|
|
15
|
+
# Comments
|
|
16
|
+
register :comments_pager, {window: 2}
|
|
17
|
+
register :comments_per_page, 30
|
|
18
|
+
register :comments_input, :text
|
|
19
|
+
|
|
20
|
+
# Resource
|
|
21
|
+
register :pager, {window: 2}
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Overwrite activeadmin/lib/active_admin/namespace_settings.rb
|
|
28
|
+
ActiveAdmin::NamespaceSettings.class_eval do
|
|
29
|
+
include Adminterface::Extensions::NamespaceSettings
|
|
30
|
+
end
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Comments
|
|
5
|
+
def default_title_class
|
|
6
|
+
"title #{comments_css_classes.dig(:header, :title)}".squish
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def default_wrapper_class
|
|
10
|
+
"panel #{comments_css_classes[:wrapper]}".squish
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def default_header_class
|
|
14
|
+
"panel-header #{comments_css_classes.dig(:header, :wrapper)}".squish
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def default_body_class
|
|
18
|
+
"panel-body #{comments_css_classes[:body]}".squish
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def item_class
|
|
22
|
+
@item_class ||= comments_css_classes.dig(:item)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
protected
|
|
26
|
+
|
|
27
|
+
def build_comments
|
|
28
|
+
build_comment_form
|
|
29
|
+
|
|
30
|
+
div id: "active_admin_comments_wrap", class: "active_admin_comments" do
|
|
31
|
+
if @comments.any?
|
|
32
|
+
div class: "active_admin_comments_collection #{item_class[:group]}".squish do
|
|
33
|
+
@comments.each(&method(:build_comment))
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
div class: "paginating-footer" do
|
|
37
|
+
defaults = {theme: "active_admin", params: {anchor: "active_admin_comments_wrap"}}
|
|
38
|
+
text_node paginate @comments, **defaults.merge(configs.comments_pager)
|
|
39
|
+
div page_entries_info(@comments).html_safe, class: "pagination_information"
|
|
40
|
+
end
|
|
41
|
+
else
|
|
42
|
+
build_empty_message
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def build_comment(comment)
|
|
48
|
+
div for: comment, class: "active_admin_comment #{item_class[:wrapper]}".squish do
|
|
49
|
+
div class: "active_admin_comment_header #{item_class.dig(:header, :wrapper)}".squish do
|
|
50
|
+
div class: "active_admin_comment_meta #{item_class.dig(:header, :meta)}".squish do
|
|
51
|
+
div class: "active_admin_comment_author #{item_class.dig(:header, :author)}".squish do
|
|
52
|
+
comment.author ? auto_link(comment.author) : I18n.t("active_admin.comments.author_missing")
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
div pretty_format(comment.created_at), class: "timestamp"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
comments_actions(comment)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
div class: "active_admin_comment_body #{item_class[:body]}".squish do
|
|
62
|
+
if comment.body.is_a?(ActionText::RichText)
|
|
63
|
+
text_node comment.body
|
|
64
|
+
else
|
|
65
|
+
simple_format comment.body
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def comments_actions(comment)
|
|
72
|
+
return unless authorized?(ActiveAdmin::Auth::DESTROY, comment)
|
|
73
|
+
|
|
74
|
+
div class: "actions" do
|
|
75
|
+
dropdown_menu "",
|
|
76
|
+
button: {class: item_class[:actions]},
|
|
77
|
+
menu: {class: "dropdown-menu-right"} do
|
|
78
|
+
item(I18n.t("active_admin.comments.delete"), comments_url(comment.id),
|
|
79
|
+
method: :delete, data: {confirm: I18n.t("active_admin.comments.delete_confirmation")})
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def build_comment_form
|
|
85
|
+
return unless authorized?(ActiveAdmin::Auth::CREATE, ActiveAdmin::Comment)
|
|
86
|
+
|
|
87
|
+
input_type = configs.comments_input
|
|
88
|
+
css_classes = comments_css_classes
|
|
89
|
+
|
|
90
|
+
active_admin_form_for(ActiveAdmin::Comment.new, url: comment_form_url) do |f|
|
|
91
|
+
f.inputs do
|
|
92
|
+
f.input :resource_type, as: :hidden, input_html: {value: ActiveAdmin::Comment.resource_type(parent.resource)}
|
|
93
|
+
f.input :resource_id, as: :hidden, input_html: {value: parent.resource.id}
|
|
94
|
+
f.input :body, as: input_type, label: false, input_html: {rows: "3"}
|
|
95
|
+
end
|
|
96
|
+
f.actions do
|
|
97
|
+
f.action :submit, label: I18n.t("active_admin.comments.add"), button_html: {class: css_classes["submit"]}
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# Overwrite activeadmin/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb
|
|
107
|
+
ActiveAdmin::Comments::Views::Comments.class_eval do
|
|
108
|
+
prepend Adminterface::Extensions::Views::Comments
|
|
109
|
+
has_css_classes_for :comments
|
|
110
|
+
|
|
111
|
+
def build(resource)
|
|
112
|
+
if authorized?(ActiveAdmin::Auth::READ, ActiveAdmin::Comment)
|
|
113
|
+
@resource = resource
|
|
114
|
+
@comments =
|
|
115
|
+
active_admin_authorization
|
|
116
|
+
.scope_collection(ActiveAdmin::Comment.find_for_resource_in_namespace(resource, active_admin_namespace.name)
|
|
117
|
+
.includes(:author).public_send(Kaminari.config.page_method_name, params[:page])).per(configs.comments_per_page)
|
|
118
|
+
super(title, for: resource)
|
|
119
|
+
build_comments
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|