adminterface 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE.md +1 -1
- data/README.md +61 -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__/detached_dropdown.spec.js +70 -0
- data/app/javascript/adminterface/lib/__tests__/filters.spec.js +151 -0
- data/app/javascript/adminterface/lib/__tests__/utils.spec.js +281 -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 +122 -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 +55 -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 +36 -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 +55 -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 +64 -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 +76 -0
- data/lib/adminterface/extensions/views/footer.rb +27 -0
- data/lib/adminterface/extensions/views/header.rb +59 -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 +164 -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 +29 -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 +41 -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 +55 -0
- data/lib/tasks/adminterface_tasks.rake +4 -0
- metadata +285 -9
- data/lib/name.rb +0 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Columns
|
|
5
|
+
def build(...)
|
|
6
|
+
super(...)
|
|
7
|
+
add_class "row"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def default_class_name
|
|
11
|
+
columns_css_classes
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
protected
|
|
15
|
+
|
|
16
|
+
def calculate_columns!
|
|
17
|
+
columns.each(&:assign_column_span)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
module Column
|
|
22
|
+
def assign_column_span
|
|
23
|
+
set_attribute :class, "#{column_klass} #{css_class}".squish
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def column_klass
|
|
27
|
+
["col", size, span_size].delete_if(&:blank?).join("-")
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Overwrite activeadmin/lib/active_admin/views/columns.rb
|
|
35
|
+
ActiveAdmin::Views::Columns.class_eval do
|
|
36
|
+
prepend Adminterface::Extensions::Views::Columns
|
|
37
|
+
has_css_classes_for :columns
|
|
38
|
+
|
|
39
|
+
protected
|
|
40
|
+
|
|
41
|
+
def closing_tag
|
|
42
|
+
super
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
ActiveAdmin::Views::Column.class_eval do
|
|
47
|
+
prepend Adminterface::Extensions::Views::Column
|
|
48
|
+
has_components_for :columns
|
|
49
|
+
|
|
50
|
+
attr_reader :size, :span_size, :css_class
|
|
51
|
+
|
|
52
|
+
def build(options = {})
|
|
53
|
+
options = options.dup
|
|
54
|
+
@css_class = options.delete(:class)
|
|
55
|
+
@span_size = options.delete(:span)
|
|
56
|
+
@size = options.delete(:size) { columns_components[:breakpoint] }
|
|
57
|
+
super(options)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module ActiveAdminForm
|
|
5
|
+
def input(...)
|
|
6
|
+
default_field_error_proc = ::ActionView::Base.field_error_proc
|
|
7
|
+
::ActionView::Base.field_error_proc = proc { |html_tag, _instance_tag| html_tag }
|
|
8
|
+
super
|
|
9
|
+
ensure
|
|
10
|
+
::ActionView::Base.field_error_proc = default_field_error_proc
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def action(method, options = {})
|
|
14
|
+
if method.eql?(:submit)
|
|
15
|
+
options.reverse_merge!(button_html: {class: form_css_classes.dig(:actions, :submit)})
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
super(method, options)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def cancel_link(url = {action: "index"}, html_options = {class: form_css_classes.dig(:actions, :cancel)}, li_attrs = {})
|
|
22
|
+
super(url, html_options, li_attrs)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Overwrite activeadmin/lib/active_admin/views/active_admin_form.rb
|
|
30
|
+
ActiveAdmin::Views::ActiveAdminForm.class_eval do
|
|
31
|
+
prepend Adminterface::Extensions::Views::ActiveAdminForm
|
|
32
|
+
has_css_classes_for :form
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
ActiveAdmin::Views::SemanticInputsProxy.class_eval do
|
|
36
|
+
def build(form_builder, *args, &block)
|
|
37
|
+
html_options = args.extract_options!
|
|
38
|
+
html_options[:class] ||= "inputs"
|
|
39
|
+
legend = args.shift if args.first.is_a?(::String)
|
|
40
|
+
legend = html_options.delete(:name) if html_options.key?(:name)
|
|
41
|
+
legend_tag = legend ? "<legend><span>#{legend}</span></legend>" : ""
|
|
42
|
+
fieldset_attrs = html_options.map { |k, v| %(#{k}="#{v}") }.join(" ")
|
|
43
|
+
@opening_tag = "<fieldset #{fieldset_attrs}>#{legend_tag}"
|
|
44
|
+
@closing_tag = "</fieldset>"
|
|
45
|
+
super(*(args << html_options), &block)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module AttributesTable
|
|
6
|
+
def table
|
|
7
|
+
super(class: attributes_table_css_classes[:table])
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def default_class_name
|
|
11
|
+
"#{super} #{attributes_table_css_classes[:wrapper]}".squish
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def tr(options = {})
|
|
15
|
+
options[:class] = options[:class].split.reject { |x| x.eql?("row") }.join(" ")
|
|
16
|
+
super(options)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Overwirte lib/active_admin/views/components/attributes_table.rb
|
|
25
|
+
ActiveAdmin::Views::AttributesTable.class_eval do
|
|
26
|
+
prepend Adminterface::Extensions::Views::Components::AttributesTable
|
|
27
|
+
has_css_classes_for :attributes_table
|
|
28
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module BlankSlate
|
|
6
|
+
def default_class_name
|
|
7
|
+
"#{super} #{blank_slate_css_classes}".squish
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Overwrite activeadmin/lib/active_admin/views/components/blank_slate.rb
|
|
16
|
+
ActiveAdmin::Views::BlankSlate.class_eval do
|
|
17
|
+
prepend Adminterface::Extensions::Views::Components::BlankSlate
|
|
18
|
+
has_css_classes_for :blank_slate
|
|
19
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module DropdownMenu
|
|
6
|
+
def item_divider
|
|
7
|
+
within @menu do
|
|
8
|
+
li class: "dropdown-divider"
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def item_html
|
|
13
|
+
within @menu do
|
|
14
|
+
li { yield }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def link_to(*args, &block)
|
|
19
|
+
options = args.extract_options!
|
|
20
|
+
options[:class] = "dropdown-item #{options[:class]}".squish
|
|
21
|
+
super(*args, options, &block)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def build_menu(options)
|
|
27
|
+
options[:class] ||= ""
|
|
28
|
+
options[:class] = "#{options[:class]} dropdown_menu_list dropdown-menu".squish
|
|
29
|
+
ul(options)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Overwrite activeadmin/lib/active_admin/views/components/dropdown_menu.rb
|
|
38
|
+
ActiveAdmin::Views::DropdownMenu.class_eval do
|
|
39
|
+
prepend Adminterface::Extensions::Views::Components::DropdownMenu
|
|
40
|
+
|
|
41
|
+
def build(name, options = {})
|
|
42
|
+
options = options.dup
|
|
43
|
+
|
|
44
|
+
# Easily set options for the button or menu
|
|
45
|
+
button_options = options.delete(:button) || {}
|
|
46
|
+
menu_options = options.delete(:menu) || {}
|
|
47
|
+
button_options[:class] = "#{button_options[:class]} dropdown-toggle".squish
|
|
48
|
+
options[:class] = "#{options[:class]} dropdown".squish
|
|
49
|
+
|
|
50
|
+
@button = build_button(name, button_options.merge("data-bs-toggle": "dropdown"))
|
|
51
|
+
@menu = build_menu(menu_options)
|
|
52
|
+
|
|
53
|
+
super(options)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
# Custom component for icon
|
|
6
|
+
class Icon < ActiveAdmin::Component
|
|
7
|
+
builder_method :aa_icon
|
|
8
|
+
has_css_classes_for :icon
|
|
9
|
+
|
|
10
|
+
def build(icon, attributes = {})
|
|
11
|
+
super(attributes)
|
|
12
|
+
add_class icon
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def tag_name
|
|
16
|
+
:i
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def default_class_name
|
|
20
|
+
"aa-icon #{icon_css_classes}".squish
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module IndexList
|
|
6
|
+
def default_class_name
|
|
7
|
+
"#{super} nav #{table_tools_css_classes.dig(:indexes, :tabs)}".squish
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def tag_name
|
|
11
|
+
:div
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
protected
|
|
15
|
+
|
|
16
|
+
def build_index_list(index_class)
|
|
17
|
+
params = request.query_parameters.except :page, :commit, :format
|
|
18
|
+
url_with_params = url_for(params.merge(as: index_class.index_name.to_sym))
|
|
19
|
+
name = index_class.index_name
|
|
20
|
+
|
|
21
|
+
a(href: url_with_params,
|
|
22
|
+
class: "index-mode-#{name} #{classes_for_link(index_class)}",
|
|
23
|
+
title: name) do
|
|
24
|
+
span I18n.t("active_admin.index_list.#{name}", default: name.to_s.titleize)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def classes_for_link(index_class)
|
|
29
|
+
klass = "nav-item nav-link"
|
|
30
|
+
klass += " active" if current_index?(index_class)
|
|
31
|
+
klass
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Overwrite activeadmin/lib/active_admin/views/components/index_list.rb
|
|
40
|
+
ActiveAdmin::Views::IndexList.class_eval do
|
|
41
|
+
prepend Adminterface::Extensions::Views::Components::IndexList
|
|
42
|
+
has_css_classes_for :table_tools
|
|
43
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Overwrite activeadmin/lib/active_admin/views/components/menu.rb
|
|
2
|
+
ActiveAdmin::Views::Menu.class_eval do
|
|
3
|
+
def build(menu, options = {})
|
|
4
|
+
dropdown = options.delete(:dropdown) { false }
|
|
5
|
+
menu_class = dropdown ? "dropdown-menu" : ""
|
|
6
|
+
item_class = dropdown ? "dropdown-item" : ""
|
|
7
|
+
|
|
8
|
+
@menu = menu
|
|
9
|
+
super(options.reverse_merge!(class: menu_class))
|
|
10
|
+
|
|
11
|
+
menu.items.each do |item|
|
|
12
|
+
next unless helpers.render_in_context self, item.should_display
|
|
13
|
+
|
|
14
|
+
menu_item(item, class: item_class, dropdown: dropdown)
|
|
15
|
+
end
|
|
16
|
+
children.sort!
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module MenuItem
|
|
6
|
+
private
|
|
7
|
+
|
|
8
|
+
def menu_label
|
|
9
|
+
if icon.present?
|
|
10
|
+
Arbre::Context.new({}, self) do
|
|
11
|
+
aa_icon(icon)
|
|
12
|
+
end + helpers.content_tag(:span, label)
|
|
13
|
+
else
|
|
14
|
+
label
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def item_class(item)
|
|
19
|
+
"#{item.html_options[:class]} #{item.current?(assigns[:current_tab]) ? "active" : nil}".squish
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Overwrite activeadmin/lib/active_admin/views/components/menu_item.rb
|
|
28
|
+
ActiveAdmin::Views::MenuItem.class_eval do
|
|
29
|
+
prepend Adminterface::Extensions::Views::Components::MenuItem
|
|
30
|
+
attr_reader :icon
|
|
31
|
+
|
|
32
|
+
def build(item, options = {})
|
|
33
|
+
dropdown = options.delete(:dropdown) { false }
|
|
34
|
+
|
|
35
|
+
super(options.merge(id: item.id))
|
|
36
|
+
@label = helpers.render_in_context self, item.label
|
|
37
|
+
@url = helpers.render_in_context self, item.url
|
|
38
|
+
@icon = helpers.render_in_context self, item.icon
|
|
39
|
+
@priority = item.priority
|
|
40
|
+
@submenu = nil
|
|
41
|
+
|
|
42
|
+
unless dropdown
|
|
43
|
+
add_class "nav-item"
|
|
44
|
+
item.html_options.reverse_merge!(class: "nav-link")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
add_class "active" if item.current?(assigns[:current_tab])
|
|
48
|
+
|
|
49
|
+
if item.items.any?
|
|
50
|
+
item.html_options.merge!(class: "nav-link dropdown-toggle", "data-bs-toggle": "dropdown")
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
if url
|
|
54
|
+
item_options = item.html_options.merge(class: item_class(item)).delete_if { |_k, v| v.blank? }
|
|
55
|
+
text_node link_to(menu_label, url, **item_options)
|
|
56
|
+
else
|
|
57
|
+
span menu_label, item.html_options.merge(class: "navbar-text")
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
return unless item.items.any?
|
|
61
|
+
add_class "has_nested dropdown"
|
|
62
|
+
@submenu = menu(item, dropdown: true)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module PaginatedCollection
|
|
6
|
+
protected
|
|
7
|
+
|
|
8
|
+
def build_pagination
|
|
9
|
+
options = {theme: @display_total ? "active_admin" : "active_admin_countless"}
|
|
10
|
+
options[:params] = @params if @params
|
|
11
|
+
options[:param_name] = @param_name if @param_name
|
|
12
|
+
|
|
13
|
+
if !@display_total
|
|
14
|
+
# The #paginate method in kaminari will query the resource with a
|
|
15
|
+
# count(*) to determine how many pages there should be unless
|
|
16
|
+
# you pass in the :total_pages option. We issue a query to determine
|
|
17
|
+
# if there is another page or not, but the limit/offset make this
|
|
18
|
+
# query fast.
|
|
19
|
+
offset = collection.offset(collection.current_page * collection.limit_value).limit(1).count
|
|
20
|
+
options[:total_pages] = collection.current_page + offset
|
|
21
|
+
options[:right] = 0
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
options.merge!(configs.pager)
|
|
25
|
+
text_node paginate collection, **options
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def build_per_page_select
|
|
29
|
+
div class: "pagination_per_page" do
|
|
30
|
+
div class: "input-group input-group-sm" do
|
|
31
|
+
span I18n.t("active_admin.pagination.per_page"), class: "input-group-text"
|
|
32
|
+
|
|
33
|
+
select(class: "form-select") do
|
|
34
|
+
@per_page.each do |per_page|
|
|
35
|
+
option(per_page,
|
|
36
|
+
value: per_page,
|
|
37
|
+
selected: collection.limit_value == per_page ? "selected" : nil)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Overwrite activeadmin/lib/active_admin/views/components/paginated_collection.rb
|
|
50
|
+
ActiveAdmin::Views::PaginatedCollection.class_eval do
|
|
51
|
+
prepend Adminterface::Extensions::Views::Components::PaginatedCollection
|
|
52
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module Panel
|
|
6
|
+
def build_title(title)
|
|
7
|
+
return if title.blank?
|
|
8
|
+
|
|
9
|
+
div title.to_s, class: default_title_class
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def default_title_class
|
|
13
|
+
"title #{panel_css_classes.dig(:header, :title)}".squish
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def default_wrapper_class
|
|
17
|
+
"panel #{panel_css_classes[:wrapper]}".squish
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def default_header_class
|
|
21
|
+
"panel-header #{panel_css_classes.dig(:header, :wrapper)}".squish
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def default_body_class
|
|
25
|
+
"panel-body #{panel_css_classes[:body]}".squish
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def header_action(*args)
|
|
29
|
+
action = args[0]
|
|
30
|
+
|
|
31
|
+
@title << div(class: "header_action") do
|
|
32
|
+
html = []
|
|
33
|
+
html << action
|
|
34
|
+
html << yield if block_given?
|
|
35
|
+
safe_join(html)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def header_html_options
|
|
40
|
+
header_html[:class] = "#{default_header_class} #{header_html[:class]}".squish
|
|
41
|
+
header_html
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def body_html_options
|
|
45
|
+
body_html[:class] = "panel_contents #{default_body_class} #{body_html[:class]}".squish
|
|
46
|
+
body_html
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Overwrite activeadmin/lib/active_admin/views/components/panel.rb
|
|
55
|
+
ActiveAdmin::Views::Panel.class_eval do
|
|
56
|
+
prepend Adminterface::Extensions::Views::Components::Panel
|
|
57
|
+
has_css_classes_for :panel
|
|
58
|
+
attr_accessor :header_html, :body_html
|
|
59
|
+
|
|
60
|
+
def build(*args)
|
|
61
|
+
options = args.extract_options!
|
|
62
|
+
title = args.first
|
|
63
|
+
@header_html = options.delete(:header_html) || {}
|
|
64
|
+
@body_html = options.delete(:body_html) || {}
|
|
65
|
+
super(options)
|
|
66
|
+
add_class default_wrapper_class
|
|
67
|
+
|
|
68
|
+
@title = div(build_title(title), **header_html_options)
|
|
69
|
+
@contents = div(**body_html_options)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module Scopes
|
|
6
|
+
def group_class(group)
|
|
7
|
+
"#{super} nav #{table_tools_css_classes.dig(:scopes, :tabs)}".squish
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
protected
|
|
11
|
+
|
|
12
|
+
def build_scope(scope, options)
|
|
13
|
+
li class: classes_for_scope(scope) do
|
|
14
|
+
params = request.query_parameters.except :page, :scope, :commit, :format
|
|
15
|
+
|
|
16
|
+
a href: url_for(scope: scope.id, params: params), class: classes_for_link(scope) do
|
|
17
|
+
span scope_name(scope)
|
|
18
|
+
if options[:scope_count] && scope.show_count
|
|
19
|
+
span get_scope_count(scope),
|
|
20
|
+
class: "count #{count_class(scope)}".squish
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def count_class(scope)
|
|
27
|
+
if get_scope_count(scope).positive?
|
|
28
|
+
table_tools_css_classes.dig(:scopes, :counts, :positive)
|
|
29
|
+
else
|
|
30
|
+
table_tools_css_classes.dig(:scopes, :counts, :zero)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def classes_for_scope(scope)
|
|
35
|
+
"#{super} nav-item".squish
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def classes_for_link(scope)
|
|
39
|
+
classes = %w[nav-link]
|
|
40
|
+
classes << "active" if current_scope?(scope)
|
|
41
|
+
classes.join(" ")
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Overwrite activeadmin/lib/active_admin/views/components/scopes.rb
|
|
50
|
+
ActiveAdmin::Views::Scopes.class_eval do
|
|
51
|
+
prepend Adminterface::Extensions::Views::Components::Scopes
|
|
52
|
+
has_css_classes_for :table_tools
|
|
53
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module SidebarSection
|
|
6
|
+
def default_title_class
|
|
7
|
+
"title #{sidebar_section_css_classes.dig(:header, :title)}".squish
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def default_wrapper_class
|
|
11
|
+
"panel #{sidebar_section_css_classes[:wrapper]}".squish
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def default_header_class
|
|
15
|
+
"panel-header #{sidebar_section_css_classes.dig(:header, :wrapper)}".squish
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def default_body_class
|
|
19
|
+
"panel-body #{sidebar_section_css_classes[:body]}".squish
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Overwrite activeadmin/lib/active_admin/views/components/sidebar_section.rb
|
|
28
|
+
ActiveAdmin::Views::SidebarSection.class_eval do
|
|
29
|
+
prepend Adminterface::Extensions::Views::Components::SidebarSection
|
|
30
|
+
has_css_classes_for :sidebar_section
|
|
31
|
+
|
|
32
|
+
def build(section)
|
|
33
|
+
@section = section
|
|
34
|
+
super(@section.title, section.options)
|
|
35
|
+
add_class @section.custom_class if @section.custom_class
|
|
36
|
+
self.id = @section.id
|
|
37
|
+
build_sidebar_content
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module SiteTitle
|
|
6
|
+
def tag_name
|
|
7
|
+
:div
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
def title_image
|
|
13
|
+
helpers.image_tag(site_title_image, class: "image", alt: title_text)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Overwrite activeadmin/lib/active_admin/views/components/site_title.rb
|
|
22
|
+
ActiveAdmin::Views::SiteTitle.class_eval do
|
|
23
|
+
prepend Adminterface::Extensions::Views::Components::SiteTitle
|
|
24
|
+
attr_reader :logged_in
|
|
25
|
+
|
|
26
|
+
def build(namespace, logged_in = true)
|
|
27
|
+
@logged_in = logged_in.eql?(true)
|
|
28
|
+
super(class: "site_title")
|
|
29
|
+
add_class "navbar-brand" if @logged_in
|
|
30
|
+
@namespace = namespace
|
|
31
|
+
|
|
32
|
+
div class: "title" do
|
|
33
|
+
site_title_link? ? site_title_with_link : site_title_content
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module StatusTag
|
|
6
|
+
protected
|
|
7
|
+
|
|
8
|
+
def status_to_class(status)
|
|
9
|
+
case status
|
|
10
|
+
when "Unset", nil then status_tag_css_classes[:unset]
|
|
11
|
+
when "Yes" then status_tag_css_classes[:yes]
|
|
12
|
+
when "No" then status_tag_css_classes[:no]
|
|
13
|
+
else status.to_s.titleize.gsub(/\s/, "").underscore
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Overwrite activeadmin/lib/active_admin/views/components/status_tag.rb
|
|
23
|
+
ActiveAdmin::Views::StatusTag.class_eval do
|
|
24
|
+
prepend Adminterface::Extensions::Views::Components::StatusTag
|
|
25
|
+
has_css_classes_for :status_tag
|
|
26
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Extensions
|
|
3
|
+
module Views
|
|
4
|
+
module Components
|
|
5
|
+
module TableFor
|
|
6
|
+
def build(obj, *attrs)
|
|
7
|
+
options = attrs.extract_options!
|
|
8
|
+
options[:class] = "table_for #{options[:class]} #{table_for_css_classes}".squish
|
|
9
|
+
attrs = attrs.push options
|
|
10
|
+
super(obj, *attrs)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Overwrite activeadmin/lib/active_admin/views/components/table_for.rb
|
|
19
|
+
ActiveAdmin::Views::TableFor.class_eval do
|
|
20
|
+
include Adminterface::Configs::Finders
|
|
21
|
+
prepend Adminterface::Extensions::Views::Components::TableFor
|
|
22
|
+
has_css_classes_for :table_for
|
|
23
|
+
end
|