cm-admin 1.5.0 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -3
- data/app/assets/javascripts/cm_admin/filters.js +4 -2
- data/app/views/cm_admin/main/_nested_fields.html.slim +8 -6
- data/app/views/cm_admin/main/_nested_table_form.html.slim +1 -1
- data/lib/cm_admin/models/nested_field.rb +3 -1
- data/lib/cm_admin/version.rb +1 -1
- data/lib/cm_admin/view_helpers/form_field_helper.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ff4795451733611c79424a5a0ac4aaacd838b34c8d7aea5fdfe6cb127367a97
|
4
|
+
data.tar.gz: 4f856a769adc82e99b13a243973906ef387cb00fe892eec14422286f622e80b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: faa21284eae53b8fe3a1834bf6a27d0820197e714da9e23d6243d14ed54d94db314260da3db6893dba3dff37ec1e8e377af27eb668a98fa5de513b94edb1c29f
|
7
|
+
data.tar.gz: ad2570287ad72e499c468e9006720022fe67d1a1f98d10ab60c88cbdeaccf0d1f6fd0c492f5141ad08b3de745bb2d1373797b6af1343b721fbdec121404e9fd8
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cm-admin (1.5.
|
4
|
+
cm-admin (1.5.1)
|
5
5
|
caxlsx_rails
|
6
6
|
cocoon (~> 1.2.15)
|
7
7
|
csv-importer (~> 0.8.2)
|
@@ -143,8 +143,6 @@ GEM
|
|
143
143
|
nio4r (2.7.1)
|
144
144
|
nokogiri (1.16.4-arm64-darwin)
|
145
145
|
racc (~> 1.4)
|
146
|
-
nokogiri (1.16.4-x86_64-linux)
|
147
|
-
racc (~> 1.4)
|
148
146
|
pagy (4.11.0)
|
149
147
|
parallel (1.22.1)
|
150
148
|
parser (3.1.2.1)
|
@@ -42,7 +42,9 @@ var getFilteredData = function(filterType, filterValue, filterColumn=null) {
|
|
42
42
|
// Generate the queryString by concatenating the filterParams and
|
43
43
|
// searchParams that are already applied, if searchParams are present.
|
44
44
|
var searchParams = window.location.search
|
45
|
-
|
45
|
+
var searchParamshash = getParamsAsObject(searchParams)
|
46
|
+
var tempsearchParamshash = delete searchParamshash['page']
|
47
|
+
if (tempsearchParamshash.length > 0) {
|
46
48
|
// Delete the previous applied value for multi_select filter from the
|
47
49
|
// searchParams as altering the array with new and old value will create
|
48
50
|
// more complicated logic. The new value is passed and structured in
|
@@ -214,6 +216,7 @@ var unhideClearFilterBtn = function(filterValue) {
|
|
214
216
|
|
215
217
|
// Selecting options for single and multi select filters
|
216
218
|
$(document).on('click', '[data-behaviour="select-option"]', function(e) {
|
219
|
+
debugger
|
217
220
|
var filterType = $(this).data('filter-type')
|
218
221
|
var filterColumn = $(this).data('db-column')
|
219
222
|
|
@@ -326,7 +329,6 @@ $(document).on('click', '[data-behaviour="selected-chip"]', function(e) {
|
|
326
329
|
var filterType = $(this).parents(':nth(5)').find('.filter-chip').data('filter-type')
|
327
330
|
var filterColumn = $(this).parents(':nth(5)').find('.filter-chip').data('db-column')
|
328
331
|
var filterValue = $(this).siblings().text()
|
329
|
-
|
330
332
|
var selectElement = $('[data-behaviour="select-option"][data-filter-type=' + filterType + '][data-db-column=' + filterColumn + ']')
|
331
333
|
$(this).parent().remove()
|
332
334
|
|
@@ -1,7 +1,8 @@
|
|
1
1
|
- if nested_table_field.display_type == :table
|
2
2
|
tr.nested-fields
|
3
3
|
td.item-delete-cell
|
4
|
-
|
4
|
+
- if nested_table_field.is_deletable.call(f.object)
|
5
|
+
= link_to_remove_association "", f, class: 'fa-regular fa-trash-can btn-ghost'
|
5
6
|
- nested_table_field.fields.each do |field|
|
6
7
|
td data-field-type="#{field.input_type}"
|
7
8
|
= input_field_for_column(f, field)
|
@@ -9,11 +10,12 @@
|
|
9
10
|
.form-card.nested-fields
|
10
11
|
.card-body
|
11
12
|
.card-item data-card-name=assoc_name
|
12
|
-
.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
- if nested_table_field.is_deletable.call(f.object)
|
14
|
+
.card-title-wrapper
|
15
|
+
h6.card-title
|
16
|
+
| Title 1
|
17
|
+
.card-delete
|
18
|
+
= link_to_remove_association "", f, class: 'fa-regular fa-trash-can btn-ghost'
|
17
19
|
div
|
18
20
|
- nested_table_field.fields.each do |field|
|
19
21
|
.form-field
|
@@ -17,7 +17,7 @@
|
|
17
17
|
= f.fields_for table_name do |record|
|
18
18
|
- if record.object.persisted? || @ar_object.errors.present?
|
19
19
|
= render partial: '/cm_admin/main/nested_fields', locals: { f: record, assoc_name: assoc_name, nested_table_field: nested_table_field }
|
20
|
-
- if f.object._reflections[assoc_name.to_s]&.macro == :has_many
|
20
|
+
- if f.object._reflections[assoc_name.to_s]&.macro == :has_many && nested_table_field.is_creatable.call(f.object)
|
21
21
|
.nested-table-footer
|
22
22
|
= link_to_add_association "#{nested_table_field.submit_text}", f, table_name, partial: '/cm_admin/main/nested_fields', render_options: {locals: { assoc_name: assoc_name, nested_table_field: nested_table_field }}, data: { association_insertion_node: ".insert-cocoon-position-#{uniq_no}", association_insertion_method: 'append' }, class: 'btn-primary'
|
23
23
|
- else
|
@@ -4,7 +4,7 @@ module CmAdmin
|
|
4
4
|
|
5
5
|
# NestedField is like a container to hold Field and FormField object
|
6
6
|
|
7
|
-
attr_accessor :field_name, :display_type, :fields, :associated_fields, :parent_field, :header, :label, :submit_text
|
7
|
+
attr_accessor :field_name, :display_type, :fields, :associated_fields, :parent_field, :header, :label, :submit_text, :is_deletable, :is_creatable
|
8
8
|
|
9
9
|
def initialize(field_name, attributes={})
|
10
10
|
@field_name = field_name
|
@@ -19,6 +19,8 @@ module CmAdmin
|
|
19
19
|
self.fields = []
|
20
20
|
self.associated_fields = []
|
21
21
|
self.submit_text = "+ Add #{@field_name.to_s.titleize}"
|
22
|
+
self.is_deletable = lambda { |arg| return true }
|
23
|
+
self.is_creatable = lambda { |arg| return true }
|
22
24
|
end
|
23
25
|
|
24
26
|
end
|
data/lib/cm_admin/version.rb
CHANGED
@@ -198,7 +198,7 @@ module CmAdmin
|
|
198
198
|
else
|
199
199
|
form_obj.check_box cm_field.field_name,
|
200
200
|
{
|
201
|
-
class: "
|
201
|
+
class: "cm-checkbox #{required_class} #{target_action.present? ? 'linked-field-request' : ''}",
|
202
202
|
disabled: cm_field.disabled.call(form_obj.object),
|
203
203
|
data: {
|
204
204
|
field_name: cm_field.field_name,
|
@@ -228,7 +228,7 @@ module CmAdmin
|
|
228
228
|
content_tag :div, class: 'cm-radio-tag' do
|
229
229
|
concat form_obj.check_box cm_field.field_name,
|
230
230
|
{
|
231
|
-
class: "
|
231
|
+
class: "cm-checkbox #{required_class} #{target_action.present? ? 'linked-field-request' : ''}",
|
232
232
|
disabled: cm_field.disabled.call(form_obj.object),
|
233
233
|
name: "#{@model.name.underscore}[#{cm_field.field_name}][]",
|
234
234
|
data: {
|
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.5.
|
4
|
+
version: 1.5.1
|
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: 2024-
|
13
|
+
date: 2024-05-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: caxlsx_rails
|
@@ -498,7 +498,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
498
498
|
- !ruby/object:Gem::Version
|
499
499
|
version: '0'
|
500
500
|
requirements: []
|
501
|
-
rubygems_version: 3.
|
501
|
+
rubygems_version: 3.2.3
|
502
502
|
signing_key:
|
503
503
|
specification_version: 4
|
504
504
|
summary: CmAdmin is a robust gem designed to assist in creating admin panels for Rails
|