cm-admin 1.1.7 → 1.1.9

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.vscode/settings.json +3 -0
  4. data/Gemfile.lock +1 -1
  5. data/app/assets/javascripts/cm_admin/scaffolds.js +1 -1
  6. data/app/assets/stylesheets/cm_admin/base/navbar.scss +13 -39
  7. data/app/assets/stylesheets/cm_admin/base/quicksearch.scss +3 -4
  8. data/app/assets/stylesheets/cm_admin/base/show.scss +4 -15
  9. data/app/assets/stylesheets/cm_admin/base/table.scss +2 -14
  10. data/app/assets/stylesheets/cm_admin/cm_admin.css.scss +1 -0
  11. data/app/assets/stylesheets/cm_admin/components/_buttons.scss +29 -135
  12. data/app/assets/stylesheets/cm_admin/dependency/bootstrap.min.css +4 -5
  13. data/app/assets/stylesheets/cm_admin/dependency/jquery-jgrowl.min.css +1 -0
  14. data/app/assets/stylesheets/cm_admin/helpers/_variable.scss +31 -30
  15. data/app/assets/stylesheets/cm_admin/pages/import_page.scss +3 -10
  16. data/app/controllers/cm_admin/resource_controller.rb +13 -9
  17. data/app/views/cm_admin/main/_actions_dropdown.html.slim +1 -3
  18. data/app/views/cm_admin/main/_associated_table.html.slim +1 -1
  19. data/app/views/cm_admin/main/_nested_fields.html.slim +2 -1
  20. data/app/views/cm_admin/main/_nested_table_form.html.slim +1 -1
  21. data/app/views/cm_admin/main/_tabs.html.slim +1 -1
  22. data/app/views/cm_admin/main/_top_navbar.html.slim +11 -17
  23. data/app/views/cm_admin/main/history.html.slim +3 -4
  24. data/app/views/cm_admin/main/import_form.html.slim +2 -2
  25. data/app/views/cm_admin/main/new.html.slim +1 -1
  26. data/app/views/cm_admin/main/show.html.slim +3 -4
  27. data/app/views/layouts/_cm_flash_message.html.slim +3 -3
  28. data/app/views/layouts/_quick_links.html.slim +2 -2
  29. data/app/views/layouts/cm_admin.html.slim +10 -12
  30. data/lib/cm_admin/models/filter.rb +55 -29
  31. data/lib/cm_admin/models/form_field.rb +18 -3
  32. data/lib/cm_admin/models/utils/helpers.rb +14 -0
  33. data/lib/cm_admin/version.rb +1 -1
  34. data/lib/cm_admin/view_helpers/filter_helper.rb +1 -1
  35. data/lib/cm_admin/view_helpers/form_field_helper.rb +16 -17
  36. data/lib/cm_admin/view_helpers/form_helper.rb +2 -1
  37. data/lib/cm_admin/view_helpers/manage_column_popup_helper.rb +2 -2
  38. data/lib/cm_admin/view_helpers/page_info_helper.rb +4 -4
  39. data/lib/cm_admin/view_helpers.rb +2 -1
  40. metadata +5 -2
@@ -7,7 +7,7 @@ module CmAdmin
7
7
  value = cm_field.helper_method ? send(cm_field.helper_method, form_obj.object, cm_field.field_name) : form_obj.object.send(cm_field.field_name)
8
8
  is_required = form_obj.object._validators[cm_field.field_name].map(&:kind).include?(:presence)
9
9
  required_class = is_required ? 'required' : ''
10
- target_action = @model.available_actions.select{|x| x.name == cm_field.target[:action_name].to_s}.first if cm_field.target.present?
10
+ target_action = @model.available_actions.select { |x| x.name == cm_field.target[:action_name].to_s }.first if cm_field.target.present?
11
11
  send("cm_#{cm_field.input_type}_field", form_obj, cm_field, value, required_class, target_action)
12
12
  end
13
13
 
@@ -16,7 +16,7 @@ module CmAdmin
16
16
  class: "normal-input #{required_class}",
17
17
  disabled: cm_field.disabled,
18
18
  value: value,
19
- placeholder: "Enter #{cm_field.field_name.to_s.humanize.downcase}",
19
+ placeholder: cm_field.placeholder,
20
20
  data: { behaviour: 'integer-only' }
21
21
  end
22
22
 
@@ -25,7 +25,7 @@ module CmAdmin
25
25
  class: "normal-input #{required_class}",
26
26
  disabled: cm_field.disabled,
27
27
  value: value,
28
- placeholder: "Enter #{cm_field.field_name.to_s.downcase.gsub('_', ' ')}",
28
+ placeholder: cm_field.placeholder,
29
29
  data: { behaviour: 'decimal-only' }
30
30
  end
31
31
 
@@ -34,12 +34,12 @@ module CmAdmin
34
34
  class: "normal-input #{required_class}",
35
35
  disabled: cm_field.disabled,
36
36
  value: value,
37
- placeholder: "Enter #{cm_field.field_name.to_s.downcase.gsub('_', ' ')}"
37
+ placeholder: cm_field.placeholder
38
38
  end
39
39
 
40
40
  def cm_single_select_field(form_obj, cm_field, value, required_class, target_action)
41
41
  form_obj.select cm_field.field_name, options_for_select(select_collection_value(form_obj.object, cm_field), form_obj.object.send(cm_field.field_name)),
42
- { include_blank: cm_field.placeholder.to_s.presence || "Select #{cm_field.field_name.to_s.humanize(capitalize: false)}}" },
42
+ { include_blank: cm_field.placeholder },
43
43
  class: "normal-input #{required_class} select-2",
44
44
  disabled: cm_field.disabled,
45
45
  data: {
@@ -53,7 +53,7 @@ module CmAdmin
53
53
  def cm_multi_select_field(form_obj, cm_field, value, required_class, target_action)
54
54
  form_obj.select cm_field.field_name,
55
55
  options_for_select(select_collection_value(form_obj.object, cm_field), form_obj.object.send(cm_field.field_name)),
56
- { include_blank: cm_field.placeholder.to_s.presence || "Select #{cm_field.field_name.to_s.humanize(capitalize: false)}" },
56
+ { include_blank: cm_field.placeholder },
57
57
  class: "normal-input #{required_class} select-2",
58
58
  disabled: cm_field.disabled, multiple: true
59
59
  end
@@ -63,7 +63,7 @@ module CmAdmin
63
63
  class: "normal-input #{required_class}",
64
64
  disabled: cm_field.disabled,
65
65
  value: value&.strftime('%d-%m-%Y'),
66
- placeholder: "Enter #{cm_field.field_name.to_s.downcase.gsub('_', ' ')}",
66
+ placeholder: cm_field.placeholder,
67
67
  data: { behaviour: 'date-only' }
68
68
  end
69
69
 
@@ -72,20 +72,20 @@ module CmAdmin
72
72
  class: "normal-input #{required_class}",
73
73
  disabled: cm_field.disabled,
74
74
  value: value,
75
- placeholder: "Enter #{cm_field.field_name.to_s.downcase.gsub('_', ' ')}",
75
+ placeholder: cm_field.placeholder,
76
76
  data: { behaviour: 'date-time' }
77
77
  end
78
78
 
79
79
  def cm_text_field(form_obj, cm_field, value, required_class, _target_action)
80
80
  form_obj.text_area cm_field.field_name,
81
81
  class: "normal-input #{required_class}",
82
- placeholder: "Enter #{cm_field.field_name.to_s.downcase.gsub('_', ' ')}"
82
+ placeholder: cm_field.placeholder
83
83
  end
84
84
 
85
85
  def cm_rich_text_field(form_obj, cm_field, value, required_class, _target_action)
86
86
  form_obj.rich_text_area cm_field.field_name,
87
87
  class: "normal-input #{required_class}",
88
- placeholder: "Enter #{cm_field.field_name.to_s.downcase.gsub('_', ' ')}"
88
+ placeholder: cm_field.placeholder
89
89
  end
90
90
 
91
91
  def cm_single_file_upload_field(form_obj, cm_field, _value, required_class, _target_action)
@@ -114,16 +114,16 @@ module CmAdmin
114
114
  # helper_method argument will accept a method where value can be passed.
115
115
  def select_collection_value(object, cm_field)
116
116
  if cm_field.helper_method
117
- collection = send(cm_field.helper_method, object, cm_field.field_name)
117
+ send(cm_field.helper_method, object, cm_field.field_name)
118
118
  elsif cm_field.collection
119
- collection = cm_field.collection
119
+ cm_field.collection
120
120
  else
121
- collection = []
121
+ []
122
122
  end
123
123
  end
124
124
 
125
125
  def format_check_box_options(value, form_obj, cm_field, required_class, target_action)
126
- if value.class == Array
126
+ if value.instance_of?(Array)
127
127
  format_check_box_array(value, form_obj, cm_field, required_class, target_action)
128
128
  else
129
129
  form_obj.check_box cm_field.field_name,
@@ -131,7 +131,7 @@ module CmAdmin
131
131
  class: "normal-input cm-checkbox #{required_class} #{target_action.present? ? 'linked-field-request' : ''}",
132
132
  disabled: cm_field.disabled,
133
133
  data: {
134
- field_name: cm_field.field_name,
134
+ field_name: cm_field.field_name,
135
135
  target_action: target_action&.name,
136
136
  target_url: target_action&.name ? cm_admin.send("#{@model.name.underscore}_#{target_action&.name}_path") : ''
137
137
  }
@@ -169,7 +169,6 @@ module CmAdmin
169
169
  end
170
170
  end
171
171
 
172
-
173
172
  def format_radio_button_options(options, form_obj)
174
173
  content_tag :div do
175
174
  options.each do |val, key|
@@ -177,7 +176,7 @@ module CmAdmin
177
176
  end
178
177
  end
179
178
  end
180
-
179
+
181
180
  def format_radio_option(val, key, form_obj)
182
181
  content_tag :div, class: 'cm-radio-section' do
183
182
  concat format_radio_button(val, form_obj)
@@ -94,7 +94,8 @@ module CmAdmin
94
94
  end
95
95
  concat split_form_into_section(resource, form_obj, sections_array)
96
96
  concat tag.br
97
- concat form_obj.submit 'Save', class: 'cta-btn mt-3 form_submit', data: {form_class: "cm_#{form_obj.object.class.name.downcase}_form"}
97
+ # TODO: form_submit class is used for JS functionality, Have to remove
98
+ concat form_obj.submit 'Save', class: 'btn-cta mt-3 form_submit', data: {form_class: "cm_#{form_obj.object.class.name.downcase}_form"}
98
99
  end
99
100
  end
100
101
  end
@@ -65,8 +65,8 @@ module CmAdmin
65
65
 
66
66
  def manage_column_footer
67
67
  concat(content_tag(:div, class: 'modal-footer') do
68
- concat tag.button 'Close', class: 'gray-border-btn', data: {bs_dismiss: 'modal'}
69
- concat tag.button 'Save', class: 'cta-btn'
68
+ concat tag.button 'Close', class: 'btn-secondary', data: {bs_dismiss: 'modal'}
69
+ concat tag.button 'Save', class: 'btn-cta'
70
70
  end)
71
71
  return
72
72
  end
@@ -67,7 +67,7 @@ module CmAdmin
67
67
  when :modal
68
68
  custom_modal_button(custom_action)
69
69
  when :page
70
- link_to custom_action_title(custom_action), "#{@model.ar_model.table_name}/#{custom_action.path}", class: 'secondary-btn ml-2', method: custom_action.verb
70
+ link_to custom_action_title(custom_action), "#{@model.ar_model.table_name}/#{custom_action.path}", class: 'btn-secondary ml-2', method: custom_action.verb
71
71
  end
72
72
  end
73
73
  end
@@ -83,14 +83,14 @@ module CmAdmin
83
83
 
84
84
  def custom_action_button(custom_action, current_action_name)
85
85
  if current_action_name == "index"
86
- button_to custom_action_title(custom_action), @model.ar_model.table_name + '/' + custom_action.path, class: 'secondary-btn ml-2', method: custom_action.verb
86
+ button_to custom_action_title(custom_action), @model.ar_model.table_name + '/' + custom_action.path, class: 'btn-secondary ml-2', method: custom_action.verb
87
87
  elsif current_action_name == "show"
88
- button_to custom_action_title(custom_action), custom_action.path.gsub(':id', params[:id]), class: 'secondary-btn ml-2', method: custom_action.verb
88
+ button_to custom_action_title(custom_action), custom_action.path.gsub(':id', params[:id]), class: 'btn-secondary ml-2', method: custom_action.verb
89
89
  end
90
90
  end
91
91
 
92
92
  def custom_modal_button(custom_action)
93
- link_to custom_action_title(custom_action), '', class: 'secondary-btn ml-2', data: { bs_toggle: "modal", bs_target: "##{custom_action.name.classify}Modal" }
93
+ link_to custom_action_title(custom_action), '', class: 'btn-secondary ml-2', data: { bs_toggle: "modal", bs_target: "##{custom_action.name.classify}Modal" }
94
94
  end
95
95
 
96
96
  def custom_action_title(custom_action)
@@ -53,7 +53,8 @@ module CmAdmin
53
53
  concat hidden_field_tag 'class_name', klass.name.to_s, id: 'export-to-file-klass'
54
54
  concat checkbox_row(klass)
55
55
  concat tag.hr
56
- concat submit_tag 'Export', class: 'btn btn-primary btn-bordered export-to-file-btn'
56
+ # TODO: export-to-file-btn class is used for JS functionality, Have to remove
57
+ concat submit_tag 'Export', class: 'btn-primary export-to-file-btn'
57
58
  end
58
59
  end
59
60
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cm-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7
4
+ version: 1.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - sajinmp
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2023-08-04 00:00:00.000000000 Z
13
+ date: 2023-08-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -172,6 +172,7 @@ files:
172
172
  - ".rubocop.yml"
173
173
  - ".stylelintrc.json"
174
174
  - ".travis.yml"
175
+ - ".vscode/settings.json"
175
176
  - CODE_OF_CONDUCT.md
176
177
  - Gemfile
177
178
  - Gemfile.lock
@@ -224,6 +225,7 @@ files:
224
225
  - app/assets/stylesheets/cm_admin/dependency/bootstrap.min.css
225
226
  - app/assets/stylesheets/cm_admin/dependency/flatpickr.min.css
226
227
  - app/assets/stylesheets/cm_admin/dependency/fontawesome.all.css
228
+ - app/assets/stylesheets/cm_admin/dependency/jquery-jgrowl.min.css
227
229
  - app/assets/stylesheets/cm_admin/helpers/_mixins.scss
228
230
  - app/assets/stylesheets/cm_admin/helpers/_variable.scss
229
231
  - app/assets/stylesheets/cm_admin/helpers/index.scss
@@ -310,6 +312,7 @@ files:
310
312
  - lib/cm_admin/models/section.rb
311
313
  - lib/cm_admin/models/tab.rb
312
314
  - lib/cm_admin/models/utils/associations.rb
315
+ - lib/cm_admin/models/utils/helpers.rb
313
316
  - lib/cm_admin/utils.rb
314
317
  - lib/cm_admin/version.rb
315
318
  - lib/cm_admin/version_manager.rb