cm-admin 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d3c3ae7aac9de6be7c89c6f074c9b2634e1091e89328daa100281aac6fd868b
4
- data.tar.gz: 62c6e179d26f54873a1fca654b29c4721e1e4c2e455d0b268c8f75a93776af59
3
+ metadata.gz: dfec95ffd823756a98b20c323fbe673123031f28c0ba4da0f99148b9ecb5bde6
4
+ data.tar.gz: 78601ced8fbacade877acb859adb35d3467fb59a30f8378378d4ea18187ca38f
5
5
  SHA512:
6
- metadata.gz: 06fb9aa911f2ed904725fa3c8d653e7468b9e800f0bf3c26843c3b275b16ba691587e8e6d62dcf01a5797cdc5360d0c65f538e08aa61d3bfdad63a184200d425
7
- data.tar.gz: a2a35fbcc0cd41aa3db83296ddc307668561bb963c5e1caab6649c01b9d478edaf74f17c7f2e9791a94821acffb46d17caaf7d1f777a1f96c99b4cf884db9933
6
+ metadata.gz: 74277a250eea68170ba20c9f084a5733c07ffddd2948a189e43b183900ec125ca8768dcffeec4308b85de1cfa6e376193d1513279c3b083b0a1c6f65b7e4d6d9
7
+ data.tar.gz: b1f323c0340c805ad4190d35d0e87cec5fb922e35eafea36091c8fb7c127e352fcbc8e3a10c422b0b42bbd30b09c97acb6e628b03f4b170865ecea2809edea68
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cm-admin (0.3.0)
4
+ cm-admin (0.4.2)
5
5
  axlsx_rails (~> 0.6.1)
6
6
  cocoon (~> 1.2.15)
7
7
  pagy (~> 4.11.0)
@@ -52,10 +52,8 @@ GEM
52
52
  nokogiri (>= 1.5.9)
53
53
  marcel (1.0.2)
54
54
  method_source (1.0.0)
55
- mini_portile2 (2.6.1)
56
55
  minitest (5.14.4)
57
- nokogiri (1.12.5)
58
- mini_portile2 (~> 2.6.1)
56
+ nokogiri (1.12.5-x86_64-darwin)
59
57
  racc (~> 1.4)
60
58
  pagy (4.11.0)
61
59
  racc (1.5.2)
data/README.md CHANGED
@@ -7,7 +7,7 @@ New CmAdmin gem
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```ruby
10
- gem 'cm_admin'
10
+ gem 'cm-admin'
11
11
  ```
12
12
 
13
13
  And then execute:
@@ -16,7 +16,7 @@ And then execute:
16
16
 
17
17
  Or install it yourself as:
18
18
 
19
- $ gem install cm_admin
19
+ $ gem install cm-admin
20
20
 
21
21
  ## Usage
22
22
 
@@ -24,27 +24,6 @@ Install the gem
24
24
 
25
25
  $ rails g cm_admin:install
26
26
 
27
- For generating the index page views
28
-
29
- $ rails g cm_admin:view products index title description
30
-
31
- For generating the show page views
32
-
33
- $ rails g cm_admin:view products show title description
34
-
35
- For generating the form page views
36
- $ rails g cm_admin:view products form column_name:field_type
37
- $ rails g cm_admin:view products form title:string description:string
38
-
39
- Following field types are acceted
40
-
41
- * input-integer
42
- * input-string
43
- * single-select
44
- * multi-select
45
- * checkbox
46
- * radio
47
-
48
27
  ## Usage
49
28
 
50
29
  For demo check [here](http://cm-admin.labs.commutatus.com/admin/users/)
@@ -199,7 +199,7 @@
199
199
  margin-left: 2px;
200
200
  }
201
201
 
202
- .text-ellipsis {
202
+ .text-ellipsis div {
203
203
  overflow: hidden;
204
204
  text-overflow: ellipsis;
205
205
  }
@@ -9,7 +9,6 @@
9
9
  }
10
10
 
11
11
  .form-page {
12
- margin-top: 140px;
13
12
  padding: 24px;
14
13
  background-color: $white;
15
14
  &__inner {
@@ -22,6 +22,8 @@ body {
22
22
  .panel-area {
23
23
  width: calc(100% - 225px);
24
24
  margin-left: 225px;
25
+ height: 100vh;
26
+ overflow-y: auto;
25
27
  }
26
28
 
27
29
  .components {
@@ -22,5 +22,6 @@
22
22
  *= require 'cm_admin/base/common'
23
23
  *= require 'cm_admin/components/index'
24
24
  *= require 'cm_admin/dependency/bootstrap.min'
25
+ *= require 'cm_admin/scaffold'
25
26
  *= require_self
26
27
  */
@@ -4,23 +4,23 @@
4
4
  font-size: $t4-text;
5
5
  line-height: 22px;
6
6
  padding: 4px;
7
- &.default-tag {
7
+ &.default-0 {
8
8
  color: $primary-text-clr;
9
9
  background: $grey-lighter-clr;
10
10
  }
11
- &.green-tag {
11
+ &.default-1 {
12
12
  color: $green-regular-clr;
13
13
  background: $green-lightest-clr;
14
14
  }
15
- &.yellow-tag {
15
+ &.default-2 {
16
16
  color: $yellow-regular-clr;
17
17
  background: $yellow-lightest-clr;
18
18
  }
19
- &.red-tag {
19
+ &.default-3 {
20
20
  color: $red-regular-clr;
21
21
  background: $red-lightest-clr;
22
22
  }
23
- &.blue-tag {
23
+ &.default-4 {
24
24
  color: $blue-regular-clr;
25
25
  background: $blue-lightest-clr;
26
26
  }
@@ -0,0 +1,14 @@
1
+ .jGrowl {
2
+ color: #1D2129 !important;
3
+ font-size: 14px !important;
4
+ .success{
5
+ background-color: #C1EDE2 !important;
6
+ }
7
+ .notice {
8
+ background-color: #CDE1FB !important;
9
+ }
10
+ .error {
11
+ background-color: #FDCFCF !important;
12
+ }
13
+
14
+ }
@@ -6,6 +6,7 @@ require("jquery")
6
6
  require("moment")
7
7
  require("bootstrap")
8
8
  require('flatpickr')
9
+ require("jgrowl")
9
10
  require('./scaffolds.js')
10
11
  require('./quick_search.js')
11
12
  require('./filters.js')
@@ -1,3 +1,4 @@
1
1
  @import "bootstrap/scss/bootstrap";
2
2
  @import "flatpickr/dist/flatpickr";
3
- @import "../../../../node_modules/daterangepicker/daterangepicker.css";
3
+ @import "../../../../node_modules/daterangepicker/daterangepicker.css";
4
+ @import "jgrowl/jquery.jgrowl"
@@ -25,7 +25,7 @@
25
25
  input.cm-checkbox type="checkbox"
26
26
  - @model.available_fields[@action.name.to_sym].each do |column|
27
27
  td
28
- span class="#{column.cm_css_class}" = show_field_value(ar_object, column)
28
+ span class="#{column.cm_css_class} text-ellipsis" = show_field_value(ar_object, column)
29
29
  td.row-action-cell
30
30
  .row-action-tool
31
31
  button.secondary-btn.tool-btn type="button"
@@ -24,7 +24,7 @@
24
24
  span
25
25
  input.cm-checkbox type="checkbox"
26
26
  - @model.available_fields[:index].each do |column|
27
- td
27
+ td.text-ellipsis
28
28
  span class="#{column.cm_css_class}" = show_field_value(ar_object, column)
29
29
  td.row-action-cell
30
30
  .row-action-tool
@@ -37,22 +37,10 @@
37
37
  .popup-option
38
38
  a href="#{page_url('edit', ar_object)}"
39
39
  | Edit
40
- / .cm-pagination
41
- / .cm-pagination__lhs Showing 1 to 15 out of 104
42
- / .cm-pagination__rhs
43
- / span.page-move-btn.disabled
44
- / i.fa.fa-angle-double-left.bolder.f14
45
- / span.page-move-btn.disabled
46
- / i.fa.fa-chevron-left.bolder
47
- / span.page-num-btn.active 1
48
- / span.page-num-btn 2
49
- / span.page-num-btn 3
50
- / span.page-num-btn 4
51
- / span.page-num-btn 5
52
- / span.page-move-btn
53
- / i.fa.fa-chevron-right.bolder
54
- / span.page-move-btn
55
- / i.fa.fa-angle-double-right.bolder.f14
40
+ - @model.available_actions.select{|act| act if act.route_type == 'member'}.each do |custom_action|
41
+ - if custom_action.display_if.call(ar_object)
42
+ .popup-option
43
+ = link_to custom_action.name, custom_action.path.gsub(':id', ar_object.id.to_s), method: custom_action.verb
56
44
 
57
45
  .cm-pagination
58
46
  .cm-pagination__lhs Showing #{@ar_object.pagy.from} to #{@ar_object.pagy.to} out of #{@ar_object.pagy.count}
@@ -5,8 +5,8 @@
5
5
  .nav-title-area
6
6
  p.title-text = action_title
7
7
  p.title-sub-text = action_description
8
- - if @model.current_action.name == 'index'
9
- .cm-navbar__rhs
8
+ .cm-navbar__rhs
9
+ - if @model.current_action.name == 'index'
10
10
  .export-container
11
11
  .dropdown
12
12
  button.secondary-btn data-bs-toggle='dropdown'
@@ -23,3 +23,9 @@
23
23
 
24
24
  a.primary-btn.ml-2 href="#{page_url('new')}"
25
25
  | Add
26
+ - @model.available_actions.select{|act| act if act.route_type == 'collection'}.each do |custom_action|
27
+ = link_to custom_action.name, @model.ar_model.table_name + '/' + custom_action.path, class: 'primary-btn ml-2', method: custom_action.verb
28
+ - elsif @model.current_action.name == 'show'
29
+ - @model.available_actions.select{|act| act if act.route_type == 'member'}.each do |custom_action|
30
+ - if custom_action.display_if.call(@ar_object)
31
+ = link_to custom_action.name, custom_action.path.gsub(':id', params[:id]), class: 'primary-btn ml-2', method: custom_action.verb
@@ -2,16 +2,19 @@
2
2
  .form-page
3
3
  .form-page__inner
4
4
  .form-wrapper
5
- .flag-alert.mb-4
6
- p.alert-header
5
+ - if @ar_object.errors.present?
6
+ .flag-alert.mb-4
7
+ p.alert-header
7
8
  span
8
9
  i.fa.fa-exclamation-triangle
9
10
  | Attention
10
- .alert-body
11
- p.body-title
12
- | Error heading
13
- p.body-info
14
- | The details of the error would be explained in this line. It could also be listed out as points on below the other if there are multiple reasons.
11
+ .alert-body
12
+ p.body-title
13
+ | Error heading
14
+ p.body-info
15
+ ul
16
+ - @ar_object.errors.full_messages.each do |error_message|
17
+ li = error_message
15
18
  .form-container
16
19
  p.form-title
17
20
  | Section heading
@@ -0,0 +1,9 @@
1
+ - if flash[:notice].present?
2
+ javascript:
3
+ $.jGrowl("#{flash[:notice]}", {theme: 'notice'})
4
+ - elsif flash[:success].present?
5
+ javascript:
6
+ $.jGrowl("#{flash[:success]}", {theme: 'success'})
7
+ - elsif flash[:alert].present?
8
+ javascript:
9
+ $.jGrowl("#{flash[:alert]}", {theme: 'error'})
@@ -39,3 +39,4 @@ html
39
39
  = yield
40
40
  - else
41
41
  = yield
42
+ = render 'layouts/flash_message'
@@ -27,6 +27,9 @@ module CmAdmin
27
27
  destroy: {
28
28
  verb: :delete,
29
29
  path: ':id'
30
+ },
31
+ custom_action: {
32
+ verb: :post
30
33
  }
31
34
  }
32
35
  REJECTABLE_FIELDS = %w(id created_at updated_at)
@@ -1,5 +1,6 @@
1
1
  require_relative 'constants'
2
2
  require_relative 'models/action'
3
+ require_relative 'models/custom_action'
3
4
  require_relative 'models/field'
4
5
  require_relative 'models/form_field'
5
6
  require_relative 'models/blocks'
@@ -99,7 +100,7 @@ module CmAdmin
99
100
  @model = CmAdmin::Model.find_by(name: controller_name.classify)
100
101
  @model.params = params
101
102
  @action = CmAdmin::Models::Action.find_by(@model, name: action_name)
102
- @ar_object = @model.try(action_name, params)
103
+ @ar_object = @model.try(@action.parent || action_name, params)
103
104
  @ar_object, @associated_model, @associated_ar_object = @model.custom_controller_action(action_name, params.permit!) if !@ar_object.present? && params[:id].present?
104
105
  nested_tables = @model.available_fields[:new].except(:fields).keys
105
106
  nested_tables += @model.available_fields[:edit].except(:fields).keys
@@ -125,6 +126,14 @@ module CmAdmin
125
126
  else
126
127
  format.html { render '/cm_admin/main/new' }
127
128
  end
129
+ elsif action.class == CmAdmin::Models::CustomAction
130
+ redirect_url = request.referrer || "/cm_admin/#{@model.ar_model.table_name}/#{@ar_object.id}"
131
+ data = @action.parent == "index" ? @ar_object.data : @ar_object
132
+ if @action.code_block.call(@ar_object)
133
+ format.html { redirect_to redirect_url }
134
+ else
135
+ format.html { redirect_to redirect_url }
136
+ end
128
137
  elsif action.layout.present?
129
138
  if request.xhr? && action.partial.present?
130
139
  format.html { render partial: action.partial }
@@ -4,9 +4,9 @@ module CmAdmin
4
4
  module Models
5
5
  class Action
6
6
  include Actions::Blocks
7
- attr_accessor :name, :verb, :layout_type, :layout, :partial, :path, :page_title, :page_description, :child_records, :is_nested_field, :nested_table_name
7
+ attr_accessor :name, :verb, :layout_type, :layout, :partial, :path, :page_title, :page_description, :child_records, :is_nested_field, :nested_table_name, :parent, :display_if, :route_type, :code_block
8
8
 
9
- def initialize(attributes = {})
9
+ def initialize(attributes = {}, &block)
10
10
  if attributes[:layout_type].present? && attributes[:layout].nil? && attributes[:partial].nil?
11
11
  case attributes[:layout_type]
12
12
  when 'cm_association_index'
@@ -20,10 +20,12 @@ module CmAdmin
20
20
  attributes.each do |key, value|
21
21
  self.send("#{key.to_s}=", value)
22
22
  end
23
+ self.send("code_block=", block) if block_given?
23
24
  end
24
25
 
25
26
  def set_default_values
26
27
  self.is_nested_field = false
28
+ self.display_if = true
27
29
  end
28
30
 
29
31
  class << self
@@ -29,7 +29,8 @@ module CmAdmin
29
29
  @ar_object.assign_attributes(resource_params(params))
30
30
  @ar_object
31
31
  end
32
-
32
+
33
+
33
34
  def create(params)
34
35
  @ar_object = @ar_model.new(resource_params(params))
35
36
  end
@@ -0,0 +1,13 @@
1
+ require_relative 'actions/blocks'
2
+
3
+ module CmAdmin
4
+ module Models
5
+ class CustomAction < Action
6
+ class << self
7
+ def find_by(model, search_hash)
8
+ model.available_actions.find { |i| i.name == search_hash[:name] }
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -109,9 +109,9 @@ module CmAdmin
109
109
  # end
110
110
  # end
111
111
  # end
112
- def custom_action(name: nil, verb: nil, layout: nil, partial: nil, path: nil, &block)
113
- @available_actions << CmAdmin::Models::Action.new(name: name, verb: verb, layout: layout, partial: partial, path: path)
114
- self.class.class_eval(&block)
112
+ def custom_action(name: nil, verb: nil, layout: nil, partial: nil, path: nil, display_if: lambda { |arg| return true }, route_type: nil, &block)
113
+ @available_actions << CmAdmin::Models::CustomAction.new(name: name, verb: verb, layout: layout, partial: partial, path: path, parent: self.current_action.name, display_if: display_if, route_type: route_type, &block)
114
+ # self.class.class_eval(&block)
115
115
  end
116
116
 
117
117
  def filter(db_column_name, filter_type, options={})
@@ -1,3 +1,3 @@
1
1
  module CmAdmin
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
@@ -38,7 +38,13 @@ module CmAdmin
38
38
  end
39
39
  content_tag :a, href: link do
40
40
  ar_object.send(field.field_name).to_s
41
- end
41
+ end
42
+ when :enum
43
+ ar_object.send(field.field_name).to_s.titleize
44
+ when :tag
45
+ content_tag :span, class: "status-tag default-#{ar_object.send(field.field_name.to_s + '_before_type_cast')}" do
46
+ ar_object.send(field.field_name).to_s.titleize
47
+ end
42
48
  when :attachment
43
49
  concat show_attachment_value(ar_object, field)
44
50
  end
data/package.json CHANGED
@@ -11,6 +11,7 @@
11
11
  "bootstrap": "^5.0.1",
12
12
  "daterangepicker": "^3.1.0",
13
13
  "flatpickr": "^4.6.9",
14
+ "jgrowl": "^1.4.8",
14
15
  "jquery": "^3.6.0",
15
16
  "moment": "^2.29.1",
16
17
  "popper.js": "^1.16.1",
@@ -1 +1 @@
1
- cf780b7d855af05066bcc442a307ca3eecf28623
1
+ b50f217278de15248bddb0b6f2e6be58edbffa7c
data/yarn.lock CHANGED
@@ -3763,6 +3763,11 @@ jest-worker@^26.5.0:
3763
3763
  merge-stream "^2.0.0"
3764
3764
  supports-color "^7.0.0"
3765
3765
 
3766
+ jgrowl@^1.4.8:
3767
+ version "1.4.8"
3768
+ resolved "https://registry.yarnpkg.com/jgrowl/-/jgrowl-1.4.8.tgz#4ba40ffb93757a7e1d9b262d916be299d03df3a4"
3769
+ integrity sha512-JFi609DhWhD4wbnt1/NvYqt702SncgBk2SFssUi6GEUfnxM5TQ9YAKHP/kODwch7Q6QVhOWYvk1QCxLtujwRog==
3770
+
3766
3771
  jquery@>=1.10, jquery@^3.3.1, jquery@^3.6.0:
3767
3772
  version "3.6.0"
3768
3773
  resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
@@ -5384,9 +5389,9 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
5384
5389
  uniq "^1.0.1"
5385
5390
 
5386
5391
  postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
5387
- version "7.0.35"
5388
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
5389
- integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
5392
+ version "7.0.36"
5393
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb"
5394
+ integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==
5390
5395
  dependencies:
5391
5396
  chalk "^2.4.2"
5392
5397
  source-map "^0.6.1"
@@ -6322,9 +6327,9 @@ tapable@^1.0.0, tapable@^1.1.3:
6322
6327
  integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
6323
6328
 
6324
6329
  tar@^6.0.2:
6325
- version "6.1.0"
6326
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83"
6327
- integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==
6330
+ version "6.1.11"
6331
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
6332
+ integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
6328
6333
  dependencies:
6329
6334
  chownr "^2.0.0"
6330
6335
  fs-minipass "^2.0.0"
@@ -6584,9 +6589,9 @@ urix@^0.1.0:
6584
6589
  integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
6585
6590
 
6586
6591
  url-parse@^1.4.3, url-parse@^1.5.1:
6587
- version "1.5.1"
6588
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
6589
- integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
6592
+ version "1.5.3"
6593
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862"
6594
+ integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==
6590
6595
  dependencies:
6591
6596
  querystringify "^2.1.1"
6592
6597
  requires-port "^1.0.0"
@@ -6872,9 +6877,9 @@ wrappy@1:
6872
6877
  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
6873
6878
 
6874
6879
  ws@^6.2.1:
6875
- version "6.2.1"
6876
- resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
6877
- integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
6880
+ version "6.2.2"
6881
+ resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
6882
+ integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==
6878
6883
  dependencies:
6879
6884
  async-limiter "~1.0.0"
6880
6885
 
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: 0.4.2
4
+ version: 0.4.3
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: 2021-09-29 00:00:00.000000000 Z
13
+ date: 2022-01-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: pagy
@@ -125,6 +125,7 @@ files:
125
125
  - app/assets/stylesheets/cm_admin/helpers/_mixins.scss
126
126
  - app/assets/stylesheets/cm_admin/helpers/_variable.scss
127
127
  - app/assets/stylesheets/cm_admin/helpers/index.scss
128
+ - app/assets/stylesheets/cm_admin/scaffold.scss
128
129
  - app/controllers/cm_admin/application_controller.rb
129
130
  - app/controllers/cm_admin/exports_controller.rb
130
131
  - app/controllers/cm_admin/static_controller.rb
@@ -151,6 +152,7 @@ files:
151
152
  - app/views/cm_admin/main/new.html.slim
152
153
  - app/views/cm_admin/main/show.html.slim
153
154
  - app/views/cm_admin/static/error_401.html.slim
155
+ - app/views/layouts/_flash_message.html.slim
154
156
  - app/views/layouts/_left_sidebar_nav.html.slim
155
157
  - app/views/layouts/_quick_links.html.slim
156
158
  - app/views/layouts/cm_admin.html.slim
@@ -179,6 +181,7 @@ files:
179
181
  - lib/cm_admin/models/cm_show_section.rb
180
182
  - lib/cm_admin/models/column.rb
181
183
  - lib/cm_admin/models/controller_method.rb
184
+ - lib/cm_admin/models/custom_action.rb
182
185
  - lib/cm_admin/models/dsl_method.rb
183
186
  - lib/cm_admin/models/export.rb
184
187
  - lib/cm_admin/models/field.rb