cm-admin 1.1.4 → 1.1.6
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/Gemfile.lock +1 -1
- data/app/assets/config/cm_admin_manifest.js +2 -1
- data/app/assets/fonts/fa-brands-400.ttf +0 -0
- data/app/assets/fonts/fa-brands-400.woff2 +0 -0
- data/app/assets/fonts/fa-regular-400.ttf +0 -0
- data/app/assets/fonts/fa-regular-400.woff2 +0 -0
- data/app/assets/fonts/fa-solid-900.ttf +0 -0
- data/app/assets/fonts/fa-solid-900.woff2 +0 -0
- data/app/assets/fonts/fa-v4compatibility.ttf +0 -0
- data/app/assets/fonts/fa-v4compatibility.woff2 +0 -0
- data/app/assets/javascripts/cm_admin/scaffolds.js +2 -0
- data/app/assets/stylesheets/cm_admin/base/auth.scss +5 -0
- data/app/assets/stylesheets/cm_admin/base/show.scss +8 -14
- data/app/assets/stylesheets/cm_admin/base/sidebar.scss +5 -0
- data/app/assets/stylesheets/cm_admin/cm_admin.css.scss +2 -1
- data/app/assets/stylesheets/cm_admin/components/_input.scss +6 -6
- data/app/assets/stylesheets/cm_admin/dependency/fontawesome.all.css +7831 -0
- data/app/javascript/stylesheets/cm_admin/application.scss +1 -1
- data/app/views/cm_admin/main/_associated_table.html.slim +10 -8
- data/app/views/cm_admin/main/_table.html.slim +2 -2
- data/app/views/cm_admin/main/_top_navbar.html.slim +2 -2
- data/app/views/cm_admin/main/edit.html.slim +1 -4
- data/app/views/layouts/_left_sidebar_nav.html.slim +1 -1
- data/lib/cm_admin/models/column.rb +4 -3
- data/lib/cm_admin/models/export.rb +22 -21
- data/lib/cm_admin/version.rb +1 -1
- data/lib/cm_admin/view_helpers/form_field_helper.rb +2 -2
- data/lib/cm_admin/view_helpers.rb +5 -5
- data/package-lock.json +21 -21
- data/yarn.lock +12 -19
- metadata +11 -2
@@ -24,6 +24,7 @@
|
|
24
24
|
/ span
|
25
25
|
/ input.cm-checkbox type="checkbox"
|
26
26
|
- @model.available_fields[@action.name.to_sym].each do |column|
|
27
|
+
- if column.display_if.call(Current.user) && column.viewable
|
27
28
|
th = column.header
|
28
29
|
tbody.cm-table__body
|
29
30
|
- @associated_ar_object.data.each do |ar_object|
|
@@ -33,14 +34,15 @@
|
|
33
34
|
/ span
|
34
35
|
/ input.cm-checkbox type="checkbox"
|
35
36
|
- @model.available_fields[@action.name.to_sym].each_with_index do |column, index|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
37
|
+
- if column.display_if.call(Current.user) && column.viewable
|
38
|
+
td class="text-ellipsis"
|
39
|
+
span class="#{column.field_type.to_s} #{column.cm_css_class} "
|
40
|
+
- if index == 0 && is_show_action_available(@associated_model)
|
41
|
+
a href="#{CmAdmin::Engine.mount_path}/#{@associated_model.name.tableize}/#{ar_object.id}" = show_field_value(ar_object, column)
|
42
|
+
- else
|
43
|
+
= show_field_value(ar_object, column)
|
44
|
+
- if column.field_type == :drawer
|
45
|
+
= render partial: column.drawer_partial, locals: { ar_object: ar_object }
|
44
46
|
|
45
47
|
- if @associated_model
|
46
48
|
== render partial: 'cm_admin/main/actions_dropdown', locals: { cm_model: @associated_model, ar_object: ar_object }
|
@@ -15,7 +15,7 @@
|
|
15
15
|
/ span
|
16
16
|
/ input.cm-checkbox type="checkbox"
|
17
17
|
- @model.available_fields[:index].each do |column|
|
18
|
-
- if column.display_if.call(Current.user)
|
18
|
+
- if column.display_if.call(Current.user) && column.viewable
|
19
19
|
th = column.header
|
20
20
|
tbody.cm-table__body
|
21
21
|
- @ar_object.data.each do |ar_object|
|
@@ -24,7 +24,7 @@
|
|
24
24
|
/ span
|
25
25
|
/ input.cm-checkbox type="checkbox"
|
26
26
|
- @model.available_fields[:index].each_with_index do |column, index|
|
27
|
-
- if column.display_if.call(Current.user)
|
27
|
+
- if column.display_if.call(Current.user) && column.viewable
|
28
28
|
td.text-ellipsis
|
29
29
|
span class="#{column.field_type.to_s} #{column.cm_css_class} "
|
30
30
|
- if index == 0 && is_show_action_available(@model) && !([:link, :custom, :attachment, :drawer, :image].include?(column.field_type))
|
@@ -3,7 +3,7 @@
|
|
3
3
|
- if cm_admin.method_defined?(:"#{@model.name.underscore}_index_path") && (@model.current_action.name == 'show' || @model.current_action.layout_type.present?)
|
4
4
|
.bread-crumb-area
|
5
5
|
.breadcrumb-text
|
6
|
-
= link_to @model.name
|
6
|
+
= link_to "#{@model.name.titleize.pluralize} /", cm_admin.send(:"#{@model.name.underscore}_index_path")
|
7
7
|
.nav-title-area
|
8
8
|
p.title-text = action_title
|
9
9
|
p.title-sub-text = action_description
|
@@ -36,4 +36,4 @@
|
|
36
36
|
|
37
37
|
- edit_action = @model.available_actions.select{|act| act if act.action_type.eql?(:default) && act.name.eql?('edit')}
|
38
38
|
- if edit_action.any? && policy([:cm_admin, @model.name.classify.constantize]).edit?
|
39
|
-
= link_to "Edit #{@model.name}", cm_admin.send(:"#{@model.name.underscore}_edit_path", @ar_object), class: 'primary-btn ml-2'
|
39
|
+
= link_to "Edit #{@model.name.titleize.pluralize}", cm_admin.send(:"#{@model.name.underscore}_edit_path", @ar_object), class: 'primary-btn ml-2'
|
@@ -25,6 +25,6 @@
|
|
25
25
|
p.email-text = current_user.email
|
26
26
|
.profile-info__right
|
27
27
|
.auth-option
|
28
|
-
=
|
28
|
+
= button_to destroy_user_session_path, method: :delete, class: 'auth-link', data: { turbo: :false }
|
29
29
|
| Logout
|
30
30
|
= render 'layouts/quick_links'
|
@@ -7,7 +7,7 @@ module CmAdmin
|
|
7
7
|
|
8
8
|
attr_accessor :field_name, :field_type, :header, :format, :prefix, :suffix, :exportable, :round, :height, :width,
|
9
9
|
:cm_css_class, :link, :url, :custom_method, :helper_method, :managable, :lockable, :drawer_partial, :tag_class,
|
10
|
-
:display_if, :association_name, :association_type
|
10
|
+
:display_if, :association_name, :association_type, :viewable, :custom_link
|
11
11
|
|
12
12
|
def initialize(field_name, attributes = {})
|
13
13
|
@field_name = field_name
|
@@ -41,12 +41,13 @@ module CmAdmin
|
|
41
41
|
self.exportable = true
|
42
42
|
self.managable = true
|
43
43
|
self.lockable = false
|
44
|
+
self.viewable = true
|
44
45
|
self.tag_class = {}
|
45
46
|
end
|
46
47
|
|
47
48
|
class << self
|
48
|
-
def find_by(model, search_hash)
|
49
|
-
model.available_fields.find { |
|
49
|
+
def find_by(model, action_name, search_hash)
|
50
|
+
model.available_fields[action_name].find { |column| column.field_name == search_hash[:name] }
|
50
51
|
end
|
51
52
|
end
|
52
53
|
end
|
@@ -4,57 +4,58 @@ module CmAdmin
|
|
4
4
|
class << self
|
5
5
|
def generate_excel(klass_name, params, helpers)
|
6
6
|
klass = klass_name.constantize
|
7
|
-
|
7
|
+
selected_column_names = params[:columns] || []
|
8
8
|
# filter_params = params[:filters]
|
9
9
|
model = CmAdmin::Model.find_by({name: klass_name})
|
10
10
|
# records = get_records(klass, model, columns, helpers)
|
11
11
|
records = "CmAdmin::#{klass_name}Policy::Scope".constantize.new(Current.user, klass).resolve
|
12
12
|
filtered_data = CmAdmin::Models::Filter.filtered_data(model.filter_params(params), records, model.filters)
|
13
|
-
formatted_data = format_records(filtered_data, model,
|
13
|
+
formatted_data = format_records(filtered_data, model, selected_column_names, helpers)
|
14
14
|
file_path = "#{Rails.root}/tmp/#{klass}_data_#{DateTime.now.strftime("%Y-%m-%d_%H-%M-%S")}.xlsx"
|
15
|
-
create_workbook(formatted_data,
|
15
|
+
create_workbook(model, formatted_data, selected_column_names, file_path)
|
16
16
|
return file_path
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
custom_fields = model.available_fields[:index].map{|field| field if field.field_type == :custom}.compact
|
22
|
-
normal_fields = model.available_fields[:index].map{|field| field unless field.field_type == :custom}.compact
|
23
|
-
deserialized_columns = CmAdmin::Utils.deserialize_csv_columns(columns, :as_json_params)
|
19
|
+
def format_records(records, model, selected_column_names, helpers)
|
20
|
+
deserialized_columns = CmAdmin::Utils.deserialize_csv_columns(selected_column_names, :as_json_params)
|
24
21
|
# This includes isn't recursve, a full solution should be recursive
|
25
22
|
records_arr = []
|
26
23
|
records.includes(deserialized_columns[:include].keys).find_each do |record|
|
27
|
-
record_hash = record.as_json({only:
|
28
|
-
|
29
|
-
break unless model.available_fields[:index].map(&:field_name).include?(
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
24
|
+
record_hash = record.as_json({ only: selected_column_names.map(&:to_sym) })
|
25
|
+
selected_column_names.each do |column_name|
|
26
|
+
break unless model.available_fields[:index].map(&:field_name).include?(column_name.to_sym)
|
27
|
+
|
28
|
+
column = CmAdmin::Models::Column.find_by(model, :index, { name: column_name.to_sym })
|
29
|
+
if column.field_type == :custom
|
30
|
+
record_hash[column.field_name] = helpers.send(column.helper_method, record, column.field_name).to_s
|
31
|
+
else
|
32
|
+
record_hash[column.field_name] = record.send(column.field_name).to_s
|
33
|
+
end
|
34
34
|
end
|
35
35
|
records_arr << record_hash
|
36
36
|
end
|
37
37
|
records_arr
|
38
38
|
end
|
39
39
|
|
40
|
-
def create_workbook(records,
|
40
|
+
def create_workbook(cm_model, records, _class_name, file_path)
|
41
41
|
flattened_records = records.map { |record| CmAdmin::Utils.flatten_hash(record) }
|
42
|
-
columns = flattened_records.map{|x| x.keys}.flatten.uniq.sort
|
42
|
+
# columns = flattened_records.map{|x| x.keys}.flatten.uniq.sort
|
43
|
+
columns = exportable_columns(cm_model).select { |column| flattened_records.first.keys.include?(column.field_name.to_s) }
|
43
44
|
size_arr = []
|
44
45
|
columns.size.times { size_arr << 22 }
|
45
46
|
xl = Axlsx::Package.new
|
46
47
|
xl.workbook.add_worksheet do |sheet|
|
47
|
-
sheet.add_row columns&.map(&:
|
48
|
+
sheet.add_row columns&.map(&:header), b: true
|
48
49
|
flattened_records.each do |record|
|
49
|
-
sheet.add_row(columns.map { |column| record[column] })
|
50
|
+
sheet.add_row(columns.map { |column| record[column.field_name.to_s] })
|
50
51
|
end
|
51
|
-
|
52
|
+
sheet.column_widths(*size_arr)
|
52
53
|
end
|
53
54
|
xl.serialize(file_path)
|
54
55
|
end
|
55
56
|
|
56
57
|
def exportable_columns(klass)
|
57
|
-
klass.available_fields[:index].
|
58
|
+
klass.available_fields[:index].select(&:exportable)
|
58
59
|
end
|
59
60
|
|
60
61
|
end
|
data/lib/cm_admin/version.rb
CHANGED
@@ -39,7 +39,7 @@ module CmAdmin
|
|
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 },
|
42
|
+
{ include_blank: cm_field.placeholder.to_s.presence || "Select #{cm_field.field_name.to_s.humanize(capitalize: false)}}" },
|
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: "Select #{cm_field.field_name.to_s.
|
56
|
+
{ include_blank: cm_field.placeholder.to_s.presence || "Select #{cm_field.field_name.to_s.humanize(capitalize: false)}" },
|
57
57
|
class: "normal-input #{required_class} select-2",
|
58
58
|
disabled: cm_field.disabled, multiple: true
|
59
59
|
end
|
@@ -60,16 +60,16 @@ module CmAdmin
|
|
60
60
|
|
61
61
|
def checkbox_row(klass)
|
62
62
|
tag.div class: 'row' do
|
63
|
-
CmAdmin::Models::Export.exportable_columns(klass).each do |
|
64
|
-
concat create_checkbox(
|
63
|
+
CmAdmin::Models::Export.exportable_columns(klass).each do |column|
|
64
|
+
concat create_checkbox(column)
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
def create_checkbox(
|
69
|
+
def create_checkbox(column)
|
70
70
|
tag.div class: 'col-md-4' do
|
71
|
-
concat check_box_tag 'columns[]',
|
72
|
-
concat " #{
|
71
|
+
concat check_box_tag 'columns[]', column.field_name, id: column.field_name.to_s.gsub('/', '-')
|
72
|
+
concat " #{column.header.to_s.gsub('/', '_').humanize}"
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
data/package-lock.json
CHANGED
@@ -1814,9 +1814,9 @@
|
|
1814
1814
|
}
|
1815
1815
|
},
|
1816
1816
|
"node_modules/@npmcli/fs/node_modules/semver": {
|
1817
|
-
"version": "7.5.
|
1818
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.
|
1819
|
-
"integrity": "sha512-
|
1817
|
+
"version": "7.5.4",
|
1818
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
1819
|
+
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
1820
1820
|
"dependencies": {
|
1821
1821
|
"lru-cache": "^6.0.0"
|
1822
1822
|
},
|
@@ -3834,9 +3834,9 @@
|
|
3834
3834
|
}
|
3835
3835
|
},
|
3836
3836
|
"node_modules/cross-spawn/node_modules/semver": {
|
3837
|
-
"version": "5.7.
|
3838
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.
|
3839
|
-
"integrity": "sha512-
|
3837
|
+
"version": "5.7.2",
|
3838
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
3839
|
+
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
3840
3840
|
"bin": {
|
3841
3841
|
"semver": "bin/semver"
|
3842
3842
|
}
|
@@ -7792,9 +7792,9 @@
|
|
7792
7792
|
}
|
7793
7793
|
},
|
7794
7794
|
"node_modules/normalize-package-data/node_modules/semver": {
|
7795
|
-
"version": "7.5.
|
7796
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.
|
7797
|
-
"integrity": "sha512-
|
7795
|
+
"version": "7.5.4",
|
7796
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
7797
|
+
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
7798
7798
|
"dev": true,
|
7799
7799
|
"dependencies": {
|
7800
7800
|
"lru-cache": "^6.0.0"
|
@@ -9872,9 +9872,9 @@
|
|
9872
9872
|
}
|
9873
9873
|
},
|
9874
9874
|
"node_modules/read-pkg/node_modules/semver": {
|
9875
|
-
"version": "5.7.
|
9876
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.
|
9877
|
-
"integrity": "sha512-
|
9875
|
+
"version": "5.7.2",
|
9876
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
9877
|
+
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
9878
9878
|
"dev": true,
|
9879
9879
|
"bin": {
|
9880
9880
|
"semver": "bin/semver"
|
@@ -10410,9 +10410,9 @@
|
|
10410
10410
|
}
|
10411
10411
|
},
|
10412
10412
|
"node_modules/sass-loader/node_modules/semver": {
|
10413
|
-
"version": "7.5.
|
10414
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.
|
10415
|
-
"integrity": "sha512-
|
10413
|
+
"version": "7.5.4",
|
10414
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
10415
|
+
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
10416
10416
|
"dependencies": {
|
10417
10417
|
"lru-cache": "^6.0.0"
|
10418
10418
|
},
|
@@ -10469,9 +10469,9 @@
|
|
10469
10469
|
}
|
10470
10470
|
},
|
10471
10471
|
"node_modules/semver": {
|
10472
|
-
"version": "6.3.
|
10473
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.
|
10474
|
-
"integrity": "sha512-
|
10472
|
+
"version": "6.3.1",
|
10473
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
10474
|
+
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
10475
10475
|
"bin": {
|
10476
10476
|
"semver": "bin/semver.js"
|
10477
10477
|
}
|
@@ -13423,9 +13423,9 @@
|
|
13423
13423
|
}
|
13424
13424
|
},
|
13425
13425
|
"node_modules/webpack/node_modules/semver": {
|
13426
|
-
"version": "5.7.
|
13427
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.
|
13428
|
-
"integrity": "sha512-
|
13426
|
+
"version": "5.7.2",
|
13427
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
13428
|
+
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
13429
13429
|
"bin": {
|
13430
13430
|
"semver": "bin/semver"
|
13431
13431
|
}
|
data/yarn.lock
CHANGED
@@ -6344,31 +6344,24 @@ selfsigned@^2.0.1:
|
|
6344
6344
|
node-forge "^1"
|
6345
6345
|
|
6346
6346
|
"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0:
|
6347
|
-
version "5.7.
|
6348
|
-
resolved "https://registry.
|
6349
|
-
integrity sha512-
|
6347
|
+
version "5.7.2"
|
6348
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
|
6349
|
+
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
|
6350
6350
|
|
6351
6351
|
semver@7.0.0:
|
6352
6352
|
version "7.0.0"
|
6353
|
-
resolved "https://registry.
|
6353
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
|
6354
6354
|
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
|
6355
6355
|
|
6356
6356
|
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
|
6357
|
-
version "6.3.
|
6358
|
-
resolved "https://registry.
|
6359
|
-
integrity sha512-
|
6360
|
-
|
6361
|
-
semver@^7.3.2:
|
6362
|
-
version "7.
|
6363
|
-
resolved "https://registry.
|
6364
|
-
integrity sha512-
|
6365
|
-
dependencies:
|
6366
|
-
lru-cache "^6.0.0"
|
6367
|
-
|
6368
|
-
semver@^7.3.4:
|
6369
|
-
version "7.3.8"
|
6370
|
-
resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz"
|
6371
|
-
integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
|
6357
|
+
version "6.3.1"
|
6358
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
6359
|
+
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
6360
|
+
|
6361
|
+
semver@^7.3.2, semver@^7.3.4:
|
6362
|
+
version "7.5.4"
|
6363
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
|
6364
|
+
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
6372
6365
|
dependencies:
|
6373
6366
|
lru-cache "^6.0.0"
|
6374
6367
|
|
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.
|
4
|
+
version: 1.1.6
|
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-07-
|
13
|
+
date: 2023-07-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -178,6 +178,14 @@ files:
|
|
178
178
|
- README.md
|
179
179
|
- Rakefile
|
180
180
|
- app/assets/config/cm_admin_manifest.js
|
181
|
+
- app/assets/fonts/fa-brands-400.ttf
|
182
|
+
- app/assets/fonts/fa-brands-400.woff2
|
183
|
+
- app/assets/fonts/fa-regular-400.ttf
|
184
|
+
- app/assets/fonts/fa-regular-400.woff2
|
185
|
+
- app/assets/fonts/fa-solid-900.ttf
|
186
|
+
- app/assets/fonts/fa-solid-900.woff2
|
187
|
+
- app/assets/fonts/fa-v4compatibility.ttf
|
188
|
+
- app/assets/fonts/fa-v4compatibility.woff2
|
181
189
|
- app/assets/images/image_not_available.png
|
182
190
|
- app/assets/images/logo.png
|
183
191
|
- app/assets/javascripts/cm_admin/application.js
|
@@ -212,6 +220,7 @@ files:
|
|
212
220
|
- app/assets/stylesheets/cm_admin/components/index.scss
|
213
221
|
- app/assets/stylesheets/cm_admin/dependency/bootstrap.min.css
|
214
222
|
- app/assets/stylesheets/cm_admin/dependency/flatpickr.min.css
|
223
|
+
- app/assets/stylesheets/cm_admin/dependency/fontawesome.all.css
|
215
224
|
- app/assets/stylesheets/cm_admin/helpers/_mixins.scss
|
216
225
|
- app/assets/stylesheets/cm_admin/helpers/_variable.scss
|
217
226
|
- app/assets/stylesheets/cm_admin/helpers/index.scss
|