cm-admin 0.8.9 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/.stylelintrc.json +3 -0
- data/.github/workflows/linters.yml +31 -0
- data/Gemfile +5 -1
- data/Gemfile.lock +23 -10
- data/app/assets/stylesheets/cm_admin/base/auth.scss +1 -1
- data/app/assets/stylesheets/cm_admin/base/common.scss +3 -3
- data/app/assets/stylesheets/cm_admin/base/filters.scss +11 -17
- data/app/assets/stylesheets/cm_admin/base/form.scss +6 -12
- data/app/assets/stylesheets/cm_admin/base/main-nav.scss +3 -7
- data/app/assets/stylesheets/cm_admin/base/navbar.scss +3 -2
- data/app/assets/stylesheets/cm_admin/base/quicksearch.scss +4 -6
- data/app/assets/stylesheets/cm_admin/base/scaffold.scss +45 -2
- data/app/assets/stylesheets/cm_admin/base/show.scss +11 -9
- data/app/assets/stylesheets/cm_admin/base/sidebar.scss +9 -19
- data/app/assets/stylesheets/cm_admin/base/table.scss +258 -325
- data/app/assets/stylesheets/cm_admin/base/tabs.scss +1 -2
- data/app/assets/stylesheets/cm_admin/components/_buttons.scss +19 -6
- data/app/assets/stylesheets/cm_admin/components/_drawer.scss +4 -8
- data/app/assets/stylesheets/cm_admin/components/_dropdown-popup.scss +1 -2
- data/app/assets/stylesheets/cm_admin/components/_input.scss +1 -1
- data/app/assets/stylesheets/cm_admin/components/_status-tag.scss +3 -2
- data/app/assets/stylesheets/cm_admin/helpers/_variable.scss +4 -0
- data/app/assets/stylesheets/cm_admin/scaffold.scss +2 -2
- data/app/controllers/cm_admin/resource_controller.rb +4 -2
- data/app/javascript/packs/cm_admin/filters.js +1 -1
- data/app/javascript/packs/cm_admin/scaffolds.js +4 -1
- data/app/views/cm_admin/main/_actions_dropdown.html.slim +2 -2
- data/app/views/cm_admin/main/_associated_table.html.slim +20 -21
- data/app/views/cm_admin/main/_member_custom_action_modal.html.slim +1 -1
- data/app/views/cm_admin/main/_table.html.slim +13 -14
- data/app/views/cm_admin/main/associated_index.html.slim +4 -5
- data/app/views/cm_admin/main/index.html.slim +13 -14
- data/app/views/cm_admin/main/show.html.slim +2 -2
- data/app/views/layouts/cm_admin.html.slim +5 -5
- data/lib/cm_admin/model.rb +6 -1
- data/lib/cm_admin/models/action.rb +1 -1
- data/lib/cm_admin/models/column.rb +16 -3
- data/lib/cm_admin/models/dsl_method.rb +17 -4
- data/lib/cm_admin/models/field.rb +7 -1
- data/lib/cm_admin/models/utils/associations.rb +25 -0
- data/lib/cm_admin/version.rb +1 -1
- data/lib/cm_admin/view_helpers/field_display_helper.rb +21 -1
- data/lib/cm_admin/view_helpers/page_info_helper.rb +7 -3
- data/package-lock.json +2801 -158
- data/package.json +2 -0
- data/tmp/cache/webpacker/last-compilation-digest-development +1 -1
- data/yarn.lock +6949 -5133
- metadata +5 -2
@@ -11,7 +11,14 @@ module CmAdmin
|
|
11
11
|
|
12
12
|
def show_field_label(ar_object, field)
|
13
13
|
content_tag(:div, class: "info-split__lhs") do
|
14
|
-
|
14
|
+
field_label = if field.label.present?
|
15
|
+
field.label.to_s
|
16
|
+
elsif field.association_type.to_s == "polymorphic"
|
17
|
+
ar_object.send(field.association_name).class.to_s.titleize
|
18
|
+
else
|
19
|
+
field.field_name.to_s.titleize
|
20
|
+
end
|
21
|
+
p = field_label
|
15
22
|
end
|
16
23
|
end
|
17
24
|
|
@@ -73,6 +80,14 @@ module CmAdmin
|
|
73
80
|
image_tag('https://cm-admin.s3.ap-south-1.amazonaws.com/gem_static_assets/image_not_available.png', height: 50, width: 50)
|
74
81
|
end
|
75
82
|
end
|
83
|
+
when :association
|
84
|
+
if field.association_type.to_s == 'polymorphic'
|
85
|
+
association_name = ar_object.send(field.association_name).class.to_s.underscore
|
86
|
+
field_name = find_field_name(field, association_name)
|
87
|
+
link_to ar_object.send(field.association_name).send(field_name), cm_admin.send("#{association_name}_show_path", ar_object.send(field.association_name).id)
|
88
|
+
elsif ['belongs_to', 'has_one'].include? field.association_type.to_s
|
89
|
+
link_to ar_object.send(field.association_name).send(field.field_name), cm_admin.send("#{field.association_name}_show_path", ar_object.send(field.association_name).id)
|
90
|
+
end
|
76
91
|
end
|
77
92
|
end
|
78
93
|
|
@@ -92,6 +107,11 @@ module CmAdmin
|
|
92
107
|
end
|
93
108
|
end
|
94
109
|
|
110
|
+
def find_field_name(field, association_name)
|
111
|
+
field.field_name.each do |hash|
|
112
|
+
return hash[association_name.to_sym] if hash.has_key?(association_name.to_sym)
|
113
|
+
end
|
114
|
+
end
|
95
115
|
end
|
96
116
|
end
|
97
117
|
end
|
@@ -71,14 +71,18 @@ module CmAdmin
|
|
71
71
|
|
72
72
|
def custom_action_button(custom_action, current_action_name)
|
73
73
|
if current_action_name == "index"
|
74
|
-
link_to custom_action
|
74
|
+
link_to custom_action_title(custom_action), @model.ar_model.table_name + '/' + custom_action.path, class: 'secondary-btn ml-2', method: custom_action.verb
|
75
75
|
elsif current_action_name == "show"
|
76
|
-
link_to custom_action
|
76
|
+
link_to custom_action_title(custom_action), custom_action.path.gsub(':id', params[:id]), class: 'secondary-btn ml-2', method: custom_action.verb
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
80
|
def custom_modal_button(custom_action)
|
81
|
-
link_to custom_action
|
81
|
+
link_to custom_action_title(custom_action), '', class: 'secondary-btn ml-2', data: { bs_toggle: "modal", bs_target: "##{custom_action.name.classify}Modal" }
|
82
|
+
end
|
83
|
+
|
84
|
+
def custom_action_title(custom_action)
|
85
|
+
custom_action.display_name.to_s.presence || custom_action.name.to_s.titleize
|
82
86
|
end
|
83
87
|
end
|
84
88
|
end
|