cm-admin 0.6.2 → 0.6.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cb9d2bfcdbec704c6259f45f51e317e32ad05d5ca4990a52fca17af831f62566
4
- data.tar.gz: 6a357cfe4458e4da3409c8e95e51cda3e36d6d8ebbd00c4518a6928f1815926e
3
+ metadata.gz: dcd2e766f902e8045d4eba1ae60067d6636477625f6a51a7ce896c0e446ad8bc
4
+ data.tar.gz: d1ef041f20245116d4dafc04629b75768245a77b0f042e038675516e60692206
5
5
  SHA512:
6
- metadata.gz: 242b5d01155399a9c9038b1a0811db95c82824ace0c9e4b592c98d9dae5a51b23cf28a80cb89db771f0d647685b5b5b9c83e0ac6774269eb0c88d4c90c792c83
7
- data.tar.gz: 17cd6516e61f6e3ff3aa6fc7515807c3a5fb423d0fa016992aba51bbe2b2f40b885aa6e200c8aefa71b713dd2477fcb3bbb7f63e0ba7de96ca6e2351ae058356
6
+ metadata.gz: 1e152f94b559e7f12d9d0d6cb82688d293c6a799fe0ade4b503c0dc2e8edc0337864741b7a7ae50e8ddcd7e175cc1813125f0409b5f62880fac3c386cae30638
7
+ data.tar.gz: d7b610b2ff1f329a09d3a31564f7f0d35bd5799803bcbdd31f15faad311803e516b6b828037524161993d139fabed9b08ef508cb2214a7dae6f2b74cb834dd32
@@ -49,7 +49,7 @@
49
49
  - custom_actions.each do |custom_action|
50
50
  - if custom_action.name.present? && has_valid_policy(@model.name, custom_action.name)
51
51
  - if custom_action.display_if.call(ar_object)
52
- = link_to custom_action.path.gsub(':id', ar_object.id.to_s), method: custom_action.verb do
52
+ = link_to cm_admin.send("#{@model.name.downcase}_index_path") + '/' + custom_action.path.gsub(':id', ar_object.id.to_s), method: custom_action.verb do
53
53
  .popup-option = custom_action.name.titleize
54
54
 
55
55
  .cm-pagination
@@ -1,6 +1,6 @@
1
1
  ul.nav.nav-pills
2
2
  - @model.available_tabs.each do |nav_item|
3
- - if nav_item.custom_action.present? && policy([:cm_admin, @model.name.classify.constantize]).send(:"#{nav_item.custom_action}?")
3
+ - if nav_item.custom_action.empty? || (nav_item.custom_action.present? && policy([:cm_admin, @model.name.classify.constantize]).send(:"#{nav_item.custom_action}?"))
4
4
  li.nav-item
5
5
  - nav_item_action_name = nav_item.custom_action.present? ? nav_item.custom_action : 'show'
6
6
  = link_to nav_item.nav_item_name.to_s.titleize, "/cm_admin/#{@model.name.underscore.pluralize}/#{@ar_object.id}/#{nav_item.custom_action}", class: "nav-link #{ nav_item_action_name == action_name ? 'active' : ''}"
@@ -1,7 +1,9 @@
1
1
  .cm-navbar
2
2
  .cm-navbar__lhs
3
- .bread-crumb-area
4
- = yield :bread_crumb
3
+ - if cm_admin.method_defined?(:"#{@model.name.downcase}_index_path") && (@model.current_action.name == 'show' || @model.current_action.layout_type.present?)
4
+ .bread-crumb-area
5
+ .breadcrumb-text
6
+ = link_to @model.name + ' /', cm_admin.send(:"#{@model.name.downcase}_index_path")
5
7
  .nav-title-area
6
8
  p.title-text = action_title
7
9
  p.title-sub-text = action_description
@@ -24,18 +26,10 @@
24
26
  - if new_action.any? && policy([:cm_admin, @model.name.classify.constantize]).new?
25
27
  = link_to 'Add', "#{page_url('new')}", class: 'primary-btn ml-2'
26
28
  - @model.available_actions.select{|act| act if act.route_type == 'collection'}.each do |custom_action|
27
- - if custom_action.name.present? && has_valid_policy(@model.name, custom_action.name)
28
- - if custom_action.display_type == :button
29
- = link_to custom_action.name.titleize, @model.ar_model.table_name + '/' + custom_action.path, class: 'primary-btn ml-2', method: custom_action.verb
30
- - elsif custom_action.display_type == :modal
31
- = link_to custom_action.name.titleize, '', class: 'primary-btn ml-2', data: { bs_toggle: "modal", bs_target: "##{custom_action.name.classify}Modal" }
29
+ = custom_action_items(custom_action, 'index')
32
30
  - elsif @model.current_action.name == 'show'
33
31
  - @model.available_actions.select{|act| act if act.route_type == 'member'}.each do |custom_action|
34
- - if custom_action.name.present? && has_valid_policy(@model.name, custom_action.name)
35
- - if custom_action.display_type == :button && custom_action.display_if.call(@ar_object)
36
- = link_to custom_action.name.titleize, custom_action.path.gsub(':id', params[:id]), class: 'primary-btn ml-2', method: custom_action.verb
37
- - elsif custom_action.display_type == :modal && custom_action.display_if.call(@ar_object)
38
- = link_to custom_action.name.titleize, '', class: 'primary-btn ml-2', data: { bs_toggle: "modal", bs_target: "##{custom_action.name.classify}Modal" }
32
+ = custom_action_items(custom_action, 'show')
39
33
 
40
34
  - edit_action = @model.available_actions.select{|act| act if act.action_type.eql?(:default) && act.name.eql?('edit')}
41
35
  - if edit_action.any? && policy([:cm_admin, @model.name.classify.constantize]).edit?
data/config/routes.rb CHANGED
@@ -10,7 +10,7 @@ CmAdmin::Engine.routes.draw do
10
10
 
11
11
  # Defining action routes for each model
12
12
  CmAdmin.config.cm_admin_models.each do |model|
13
- model.available_actions.sort_by {|act| act.class}.each do |act|
13
+ model.available_actions.sort_by {|act| act.name}.each do |act|
14
14
  scope model.name.tableize do
15
15
  send(act.verb, act.path.present? ? act.path : act.name, to: "#{model.name.underscore}##{act.name}", as: "#{model.name.underscore}_#{act.name}")
16
16
  end
@@ -1,3 +1,3 @@
1
1
  module CmAdmin
2
- VERSION = "0.6.2"
2
+ VERSION = "0.6.3"
3
3
  end
@@ -53,6 +53,31 @@ module CmAdmin
53
53
  base_path + "/#{ar_object.id}" + '/edit'
54
54
  end
55
55
  end
56
+
57
+ def custom_action_items(custom_action, current_action_name)
58
+ if custom_action.name.present? && policy([:cm_admin, @model.name.classify.constantize]).send(:"#{custom_action.name}?")
59
+ if custom_action.display_if.call(@ar_object)
60
+ case custom_action.display_type
61
+ when :button
62
+ custom_action_button(custom_action, current_action_name)
63
+ when :modal
64
+ custom_modal_button(custom_action)
65
+ end
66
+ end
67
+ end
68
+ end
69
+
70
+ def custom_action_button(custom_action, current_action_name)
71
+ if current_action_name == "index"
72
+ link_to custom_action.name.titleize, @model.ar_model.table_name + '/' + custom_action.path, class: 'secondary-btn ml-2', method: custom_action.verb
73
+ elsif current_action_name == "show"
74
+ link_to custom_action.name.titleize, custom_action.path.gsub(':id', params[:id]), class: 'secondary-btn ml-2', method: custom_action.verb
75
+ end
76
+ end
77
+
78
+ def custom_modal_button(custom_action)
79
+ link_to custom_action.name.titleize, '', class: 'secondary-btn ml-2', data: { bs_toggle: "modal", bs_target: "##{custom_action.name.classify}Modal" }
80
+ end
56
81
  end
57
82
  end
58
83
  end
@@ -7,8 +7,8 @@ module CmAdmin
7
7
 
8
8
  def copy_initializer
9
9
  copy_file 'cm_admin_initializer.rb', 'config/initializers/cm_admin.rb'
10
- copy_file 'custom.js', 'app/assets/javascripts/custom.js'
11
- copy_file 'custom.css', 'app/assets/stylesheets/custom.css'
10
+ copy_file 'custom.js', 'app/assets/javascripts/cm_admin/custom.js'
11
+ copy_file 'custom.css', 'app/assets/stylesheets/cm_admin/custom.css'
12
12
  copy_file 'application_policy.rb', 'app/policies/application_policy.rb'
13
13
  route 'mount CmAdmin::Engine => "/admin"'
14
14
  end
data/yarn.lock CHANGED
@@ -4123,9 +4123,9 @@ minimatch@^3.0.4:
4123
4123
  brace-expansion "^1.1.7"
4124
4124
 
4125
4125
  minimist@^1.2.0, minimist@^1.2.5:
4126
- version "1.2.5"
4127
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
4128
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
4126
+ version "1.2.6"
4127
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
4128
+ integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
4129
4129
 
4130
4130
  minipass-collect@^1.0.2:
4131
4131
  version "1.0.2"
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.6.2
4
+ version: 0.6.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: 2022-04-01 00:00:00.000000000 Z
13
+ date: 2022-04-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: pagy