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
data/lib/adminterface.rb
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require "activeadmin"
|
|
2
|
+
require "rainbow"
|
|
3
|
+
require "httparty"
|
|
4
|
+
|
|
5
|
+
# Adminterface main file
|
|
6
|
+
module Adminterface
|
|
7
|
+
autoload :VERSION, "adminterface/version"
|
|
8
|
+
autoload :Configs, "adminterface/configs"
|
|
9
|
+
autoload :Data, "adminterface/data"
|
|
10
|
+
autoload :License, "adminterface/license"
|
|
11
|
+
autoload :Callable, "adminterface/callable"
|
|
12
|
+
|
|
13
|
+
# Load Initializers
|
|
14
|
+
module Initializers
|
|
15
|
+
autoload :BatchActions, "adminterface/initializers/batch_actions"
|
|
16
|
+
autoload :Comments, "adminterface/initializers/comments"
|
|
17
|
+
autoload :Configurations, "adminterface/initializers/configurations"
|
|
18
|
+
autoload :Formtastic, "adminterface/initializers/formtastic"
|
|
19
|
+
autoload :Resource, "adminterface/initializers/resource"
|
|
20
|
+
autoload :ViewHelpers, "adminterface/initializers/view_helpers"
|
|
21
|
+
autoload :Views, "adminterface/initializers/views"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
module Licensing
|
|
25
|
+
autoload :Notice, "adminterface/licensing/notice"
|
|
26
|
+
autoload :Commercial, "adminterface/licensing/commercial"
|
|
27
|
+
autoload :Personal, "adminterface/licensing/personal"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
module Encryption
|
|
31
|
+
autoload :Encryptor, "adminterface/encryption/encryptor"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# License key
|
|
35
|
+
mattr_accessor :license_key
|
|
36
|
+
@@license_key = nil
|
|
37
|
+
|
|
38
|
+
def self.setup
|
|
39
|
+
yield self
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def self.rails6_and_up?
|
|
43
|
+
Rails::VERSION::MAJOR >= 6
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def self.cache_store
|
|
47
|
+
if Rails.cache.instance_of?(ActiveSupport::Cache::NullStore)
|
|
48
|
+
ActiveSupport::Cache::MemoryStore.new
|
|
49
|
+
else
|
|
50
|
+
Rails.cache
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
require "adminterface/engine"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Generators
|
|
3
|
+
class CommentsGenerator < Rails::Generators::Base
|
|
4
|
+
include Rails::Generators::Migration
|
|
5
|
+
|
|
6
|
+
desc "Generate action_text migrations and initializers for ActiveAdmin::Comment"
|
|
7
|
+
source_root File.expand_path("templates", __dir__)
|
|
8
|
+
|
|
9
|
+
def self.next_migration_number(dirname)
|
|
10
|
+
next_migration_number = current_migration_number(dirname) + 1
|
|
11
|
+
ActiveRecord::Migration.next_migration_number(next_migration_number)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def create_initializer
|
|
15
|
+
template "active_admin_comment_action_text.rb",
|
|
16
|
+
"config/initializers/active_admin_comment_action_text.rb"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def create_migrations
|
|
20
|
+
migration_template "migrations/drop_body_for_active_admin_comments.rb.erb",
|
|
21
|
+
"db/migrate/drop_body_for_active_admin_comments.rb"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def show_readme
|
|
25
|
+
readme "README" if behavior == :invoke
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
===============================================================================
|
|
2
|
+
Command: `rails generate adminterface:comments`
|
|
3
|
+
This command does the following:
|
|
4
|
+
|
|
5
|
+
1. Create a migration `drop_body_for_active_admin_comments.rb`
|
|
6
|
+
- Your existing data is saved inside the `body_backup` column by default
|
|
7
|
+
- Un-comment the lines inside this file to migrate existing data from the `ActiveAdmin::Comment` table to `ActionText::RichText`
|
|
8
|
+
|
|
9
|
+
2. Create an initializer `initializers/active_admin_comment_action_text.rb`
|
|
10
|
+
- This tells the `ActiveAdmin::Comment` model to use ActionText instead of the `body` database column
|
|
11
|
+
|
|
12
|
+
3. For guides, please visit https://github.com/CMDBrew/adminterface
|
|
13
|
+
===============================================================================
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module ActionTextComment
|
|
3
|
+
extend ActiveSupport::Concern
|
|
4
|
+
|
|
5
|
+
included do
|
|
6
|
+
# Fix author validation issue— https://github.com/activeadmin/activeadmin/issues/5258
|
|
7
|
+
_validate_callbacks.each do |callback|
|
|
8
|
+
callback.raw_filter.attributes.delete :author
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
has_rich_text :body
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
Rails.configuration.to_prepare do
|
|
17
|
+
ActiveAdmin::Comment.send :include, Adminterface::ActionTextComment
|
|
18
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class DropBodyForActiveAdminComments < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version.to_s %>]
|
|
2
|
+
def up
|
|
3
|
+
rename_column :active_admin_comments, :body, :body_backup
|
|
4
|
+
|
|
5
|
+
## Add migration to migrate existing data if necessary
|
|
6
|
+
# ActiveAdmin::Comment.reset_column_information
|
|
7
|
+
# ActiveAdmin::Comment.find_each do |comment|
|
|
8
|
+
# comment.body = comment.body_backup
|
|
9
|
+
# comment.save
|
|
10
|
+
# end
|
|
11
|
+
|
|
12
|
+
# remove_column :active_admin_comments, :body_backup, :text
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def down
|
|
16
|
+
# add_column :active_admin_comments, :body_backup, :text
|
|
17
|
+
|
|
18
|
+
## Add migration to migrate existing data if necessary
|
|
19
|
+
# ActiveAdmin::Comment.reset_column_information
|
|
20
|
+
# ActiveAdmin::Comment.find_each do |comment|
|
|
21
|
+
# comment.body_backup = comment.body.to_plain_text
|
|
22
|
+
# comment.save
|
|
23
|
+
# end
|
|
24
|
+
|
|
25
|
+
rename_column :active_admin_comments, :body_backup, :body
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Generators
|
|
3
|
+
class ConfigsGenerator < Rails::Generators::Base
|
|
4
|
+
desc "Copies config files into a directory for customization"
|
|
5
|
+
argument :namespace, type: :string, default: "Admin"
|
|
6
|
+
|
|
7
|
+
source_root File.expand_path("templates", __dir__)
|
|
8
|
+
|
|
9
|
+
def copy
|
|
10
|
+
directory Adminterface::Engine.root.join("lib/adminterface/fixtures"),
|
|
11
|
+
"config/adminterface/#{namespace.underscore}/"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def show_readme
|
|
15
|
+
readme "README" if behavior == :invoke
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
===============================================================================
|
|
2
|
+
Depending on how you want to structure your application, you can use configs files to update:
|
|
3
|
+
1. Global Settings
|
|
4
|
+
```
|
|
5
|
+
# config/initializers/active_admin.rb
|
|
6
|
+
ActiveAdmin.setup do
|
|
7
|
+
config.css_classes = YAML.load_file(Rails.root.join("config/adminterface/css_classes.yml").to_s)
|
|
8
|
+
config.components = YAML.load_file(Rails.root.join("config/adminterface/components.yml").to_s)
|
|
9
|
+
end
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. Namespace Settings
|
|
13
|
+
```
|
|
14
|
+
# config/initializers/active_admin.rb
|
|
15
|
+
ActiveAdmin.setup do
|
|
16
|
+
config.namespace :site_1 do |site|
|
|
17
|
+
config.css_classes = YAML.load_file(Rails.root.join("config/adminterface/site_1/css_classes.yml").to_s)
|
|
18
|
+
config.components = YAML.load_file(Rails.root.join("config/adminterface/site_1/components.yml").to_s)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
3. Resource Settings
|
|
24
|
+
```
|
|
25
|
+
# app/admin/users.rb
|
|
26
|
+
ActiveAdmin.register User do
|
|
27
|
+
config.css_classes = YAML.load_file(Rails.root.join("config/adminterface/admin/users/css_classes.yml").to_s)
|
|
28
|
+
config.components = YAML.load_file(Rails.root.join("config/adminterface/admin/users/components.yml").to_s)
|
|
29
|
+
end
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
4. For guides, please visit https://github.com/CMDBrew/adminterface
|
|
33
|
+
===============================================================================
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Generators
|
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
|
4
|
+
desc "Installs Adminterface and generates necessary files and migrations"
|
|
5
|
+
source_root File.expand_path("templates", __dir__)
|
|
6
|
+
|
|
7
|
+
def install_rails_addons
|
|
8
|
+
invoke "action_text:install"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def install_assets
|
|
12
|
+
install_webpacker? do
|
|
13
|
+
generate "adminterface:webpacker"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def install_action_text_for_comments
|
|
18
|
+
generate "adminterface:comments"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def add_samples
|
|
22
|
+
template "dashboard.rb", "app/admin/dashboard.rb"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
def install_webpacker?
|
|
28
|
+
return yield if defined?(Webpacker)
|
|
29
|
+
|
|
30
|
+
puts Rainbow("Adminterface requires webpacker:").yellow
|
|
31
|
+
if yes?("Install webpacker and continue?")
|
|
32
|
+
gem "webpacker"
|
|
33
|
+
rails_command "webpacker:install"
|
|
34
|
+
yield
|
|
35
|
+
else
|
|
36
|
+
puts Rainbow("Installation aborted").red
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
ActiveAdmin.register_page "Dashboard" do
|
|
2
|
+
menu priority: 1
|
|
3
|
+
|
|
4
|
+
content title: proc { I18n.t("active_admin.dashboard") } do
|
|
5
|
+
div class: "alert alert-info" do
|
|
6
|
+
h4 I18n.t("active_admin.dashboard_welcome.welcome"), class: "alert-heading"
|
|
7
|
+
para I18n.t("active_admin.dashboard_welcome.call_to_action").html_safe
|
|
8
|
+
hr
|
|
9
|
+
para I18n.t("active_admin.dashboard_welcome.footnote").html_safe, class: "mb-0"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Here is an example of a simple dashboard with columns and panels.
|
|
13
|
+
#
|
|
14
|
+
# columns do
|
|
15
|
+
# column do
|
|
16
|
+
# panel "Recent Posts" do
|
|
17
|
+
# ul do
|
|
18
|
+
# Post.recent(5).map do |post|
|
|
19
|
+
# li link_to(post.title, admin_post_path(post))
|
|
20
|
+
# end
|
|
21
|
+
# end
|
|
22
|
+
# end
|
|
23
|
+
# end
|
|
24
|
+
|
|
25
|
+
# column do
|
|
26
|
+
# panel "Info" do
|
|
27
|
+
# para "Welcome to ActiveAdmin."
|
|
28
|
+
# end
|
|
29
|
+
# end
|
|
30
|
+
# end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Generators
|
|
3
|
+
class ViewsGenerator < Rails::Generators::Base
|
|
4
|
+
desc "Copies view templates for customization"
|
|
5
|
+
|
|
6
|
+
source_root Adminterface::Engine.root.join("app/views")
|
|
7
|
+
|
|
8
|
+
def copy
|
|
9
|
+
directory "active_admin", "app/views/active_admin"
|
|
10
|
+
directory "kaminari/active_admin", "app/views/kaminari/active_admin"
|
|
11
|
+
directory "layouts/active_admin_logged_out.html.erb", "app/views/layouts/active_admin_logged_out.html.erb"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
===============================================================================
|
|
2
|
+
Command: `rails generate adminterface:webpacker`
|
|
3
|
+
Depending on your application's configuration, you might need to perform some manual steps:
|
|
4
|
+
|
|
5
|
+
1. Change your ActiveAdmin config to use webpacker
|
|
6
|
+
```
|
|
7
|
+
# config/initializers/active_admin.rb
|
|
8
|
+
# ...
|
|
9
|
+
#
|
|
10
|
+
# == Webpacker
|
|
11
|
+
#
|
|
12
|
+
# By default, Active Admin uses Sprocket's asset pipeline.
|
|
13
|
+
# You can switch to using Webpacker here.
|
|
14
|
+
#
|
|
15
|
+
config.use_webpacker = true
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
2. Migrate your custom javascripts and stylesheets to webpacker
|
|
19
|
+
- app/assets/javascripts/active_admin.js -> app/javascript/packs/active_admin.js
|
|
20
|
+
- app/assets/stylesheets/active_admin.scss -> app/javascript/stylesheets/active_admin.scss
|
|
21
|
+
|
|
22
|
+
3. Remove unnecessary sprockets files
|
|
23
|
+
- app/assets/javascripts/active_admin.js
|
|
24
|
+
- app/assets/stylesheets/active_admin.scss
|
|
25
|
+
|
|
26
|
+
4. For guides, please visit https://github.com/CMDBrew/adminterface
|
|
27
|
+
===============================================================================
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Load Adminterface styles into Webpacker,
|
|
2
|
+
// see `adminterface.scss` for customization.
|
|
3
|
+
import '../stylesheets/active_admin'
|
|
4
|
+
|
|
5
|
+
import Rails from '@rails/ujs'
|
|
6
|
+
import '@cmdbrew/adminterface'
|
|
7
|
+
|
|
8
|
+
require('@rails/activestorage').start()
|
|
9
|
+
require('trix')
|
|
10
|
+
require('@rails/actiontext')
|
|
11
|
+
|
|
12
|
+
Rails.start()
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Sass variable overrides must be declared before loading up Adminterface styles.
|
|
2
|
+
//
|
|
3
|
+
// To view the variables that Adminterface provides, take a look at
|
|
4
|
+
// `app/assets/stylesheets/adminterface/mixins/_variables.scss` in the
|
|
5
|
+
// Adminterface source.
|
|
6
|
+
|
|
7
|
+
// Adminterface got SASS!
|
|
8
|
+
@import "~@cmdbrew/adminterface/src/scss/base";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// Active Admin Print Stylesheet
|
|
2
|
+
// Keeping this file for activeadmin <= 2.9.0 backward compatibility. The latest ActiveAdmin has combined print.scss into the main file.
|
|
3
|
+
// https://github.com/activeadmin/activeadmin/pull/6922/commits/14b64cdf946449091a467ea22adbafd88782b614
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module Adminterface
|
|
2
|
+
module Generators
|
|
3
|
+
class WebpackerGenerator < Rails::Generators::Base
|
|
4
|
+
desc "Install Stylesheets and JavaScripts using Webpacker"
|
|
5
|
+
class_option :version,
|
|
6
|
+
aliases: "-v", type: :string, default: Adminterface::VERSION,
|
|
7
|
+
desc: "Install with a specific npm package version"
|
|
8
|
+
|
|
9
|
+
source_root File.expand_path("templates", __dir__)
|
|
10
|
+
|
|
11
|
+
def install_packages
|
|
12
|
+
insert_into_file "config/webpack/environment.js", after: /require\(('|")@rails\/webpacker\1\);?\n/ do
|
|
13
|
+
<<~EOF
|
|
14
|
+
|
|
15
|
+
environment.loaders.get('sass').use.splice(-1, 0, {
|
|
16
|
+
loader: 'resolve-url-loader'
|
|
17
|
+
})
|
|
18
|
+
EOF
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
run "yarn add @cmdbrew/adminterface@v#{find_npm_version}"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def install_assets
|
|
25
|
+
template "active_admin.js", "app/javascript/packs/active_admin.js"
|
|
26
|
+
template "active_admin.scss", "app/javascript/stylesheets/active_admin.scss"
|
|
27
|
+
template "print.scss", "app/javascript/packs/active_admin/print.scss"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def update_active_admin_configs
|
|
31
|
+
gsub_file "config/initializers/active_admin.rb", "# config.use_webpacker = true", "config.use_webpacker = true"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def remove_activeadmin_dependencies
|
|
35
|
+
run "yarn remove @activeadmin/activeadmin"
|
|
36
|
+
remove_file "config/webpack/plugins/jquery.js"
|
|
37
|
+
gsub_file "config/webpack/environment.js", "environment.plugins.prepend('jquery', jquery)\n", ""
|
|
38
|
+
gsub_file "config/webpack/environment.js", "const jquery = require('./plugins/jquery')\n", ""
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def show_readme
|
|
42
|
+
readme "README" if behavior == :invoke
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
private
|
|
46
|
+
|
|
47
|
+
def find_npm_version
|
|
48
|
+
version = options[:version]
|
|
49
|
+
return version unless version.include?(".rc")
|
|
50
|
+
|
|
51
|
+
version.gsub(".rc", "-rc")
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|