kono_utils_bootstrap_view4 0.1.0.pre.rc.3 → 0.1.0.pre.rc.4

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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/app/concepts/kono_utils/object/cell/base.rb +99 -97
  3. data/app/concepts/kono_utils/object/cell/buttons/base.rb +55 -54
  4. data/app/concepts/kono_utils/object/cell/buttons/collapse_search.rb +29 -23
  5. data/app/concepts/kono_utils/object/cell/buttons/create.rb +20 -15
  6. data/app/concepts/kono_utils/object/cell/buttons/delete.rb +29 -24
  7. data/app/concepts/kono_utils/object/cell/buttons/download.rb +22 -16
  8. data/app/concepts/kono_utils/object/cell/buttons/edit.rb +17 -12
  9. data/app/concepts/kono_utils/object/cell/buttons/list.rb +17 -11
  10. data/app/concepts/kono_utils/object/cell/buttons/reset_search.rb +21 -15
  11. data/app/concepts/kono_utils/object/cell/create/base.rb +6 -5
  12. data/app/concepts/kono_utils/object/cell/create/page_title.rb +11 -6
  13. data/app/concepts/kono_utils/object/cell/create/side_title.rb +8 -2
  14. data/app/concepts/kono_utils/object/cell/edits/base.rb +6 -5
  15. data/app/concepts/kono_utils/object/cell/edits/page_title.rb +11 -6
  16. data/app/concepts/kono_utils/object/cell/edits/side_title.rb +9 -3
  17. data/app/concepts/kono_utils/object/cell/form.rb +51 -48
  18. data/app/concepts/kono_utils/object/cell/forms/base.rb +12 -10
  19. data/app/concepts/kono_utils/object/cell/forms/container.rb +22 -18
  20. data/app/concepts/kono_utils/object/cell/forms/containers/layout.rb +14 -10
  21. data/app/concepts/kono_utils/object/cell/forms/containers/modal_layout.rb +10 -4
  22. data/app/concepts/kono_utils/object/cell/forms/containers/search_layout.rb +10 -4
  23. data/app/concepts/kono_utils/object/cell/forms/containers/table_layout.rb +11 -5
  24. data/app/concepts/kono_utils/object/cell/forms/field_selector.rb +68 -64
  25. data/app/concepts/kono_utils/object/cell/forms/field_selectors/layout.rb +9 -4
  26. data/app/concepts/kono_utils/object/cell/forms/field_selectors/modal_layout.rb +10 -4
  27. data/app/concepts/kono_utils/object/cell/forms/field_selectors/table_layout.rb +11 -5
  28. data/app/concepts/kono_utils/object/cell/forms/fields/association.rb +11 -4
  29. data/app/concepts/kono_utils/object/cell/forms/fields/base.rb +21 -16
  30. data/app/concepts/kono_utils/object/cell/forms/fields/bases/layout.rb +24 -17
  31. data/app/concepts/kono_utils/object/cell/forms/fields/bases/modal_layout.rb +14 -4
  32. data/app/concepts/kono_utils/object/cell/forms/fields/bases/table_layout.rb +17 -7
  33. data/app/concepts/kono_utils/object/cell/forms/fields/check_box.rb +14 -6
  34. data/app/concepts/kono_utils/object/cell/forms/fields/collection.rb +20 -12
  35. data/app/concepts/kono_utils/object/cell/forms/fields/date_field.rb +18 -10
  36. data/app/concepts/kono_utils/object/cell/forms/fields/date_time_field.rb +34 -30
  37. data/app/concepts/kono_utils/object/cell/forms/fields/enum.rb +23 -15
  38. data/app/concepts/kono_utils/object/cell/forms/fields/file_field.rb +29 -21
  39. data/app/concepts/kono_utils/object/cell/forms/fields/nested_modal_wrapper.rb +10 -3
  40. data/app/concepts/kono_utils/object/cell/forms/fields/nested_modal_wrappers/forms_container.rb +13 -5
  41. data/app/concepts/kono_utils/object/cell/forms/fields/nested_modal_wrappers/show.rb +19 -10
  42. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrapper.rb +54 -49
  43. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/form.rb +41 -35
  44. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/forms/layout.rb +17 -8
  45. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/forms/modal_layout.rb +14 -4
  46. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/forms/table_layout.rb +14 -4
  47. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/forms_container.rb +44 -36
  48. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/forms_containers/layout.rb +17 -10
  49. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/forms_containers/modal_layout.rb +17 -6
  50. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/forms_containers/table_layout.rb +20 -11
  51. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/header.rb +31 -23
  52. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/remove_button.rb +46 -40
  53. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/remove_buttons/layout.rb +14 -7
  54. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/remove_buttons/modal_layout.rb +14 -4
  55. data/app/concepts/kono_utils/object/cell/forms/fields/nested_wrappers/remove_buttons/table_layout.rb +14 -4
  56. data/app/concepts/kono_utils/object/cell/forms/fields/read_only.rb +16 -9
  57. data/app/concepts/kono_utils/object/cell/forms/fields/time_field.rb +14 -7
  58. data/app/concepts/kono_utils/object/cell/forms/layout.rb +8 -4
  59. data/app/concepts/kono_utils/object/cell/forms/submit.rb +21 -16
  60. data/app/concepts/kono_utils/object/cell/index/base.rb +9 -7
  61. data/app/concepts/kono_utils/object/cell/index/page_title.rb +11 -6
  62. data/app/concepts/kono_utils/object/cell/index/row.rb +38 -36
  63. data/app/concepts/kono_utils/object/cell/index/row_buttons.rb +8 -4
  64. data/app/concepts/kono_utils/object/cell/index/row_footer.rb +8 -3
  65. data/app/concepts/kono_utils/object/cell/index/row_header.rb +13 -7
  66. data/app/concepts/kono_utils/object/cell/index/side_title.rb +8 -2
  67. data/app/concepts/kono_utils/object/cell/index/table.rb +12 -9
  68. data/app/concepts/kono_utils/object/cell/inject.rb +103 -102
  69. data/app/concepts/kono_utils/object/cell/modals/base.rb +7 -3
  70. data/app/concepts/kono_utils/object/cell/modals/bodies/layout.rb +9 -4
  71. data/app/concepts/kono_utils/object/cell/modals/body.rb +7 -3
  72. data/app/concepts/kono_utils/object/cell/modals/container.rb +5 -1
  73. data/app/concepts/kono_utils/object/cell/modals/containers/layout.rb +12 -6
  74. data/app/concepts/kono_utils/object/cell/modals/footer.rb +5 -2
  75. data/app/concepts/kono_utils/object/cell/modals/footers/layout.rb +9 -4
  76. data/app/concepts/kono_utils/object/cell/modals/header.rb +6 -3
  77. data/app/concepts/kono_utils/object/cell/modals/headers/layout.rb +9 -4
  78. data/app/concepts/kono_utils/object/cell/search.rb +22 -19
  79. data/app/concepts/kono_utils/object/cell/searches/form.rb +12 -9
  80. data/app/concepts/kono_utils/object/cell/show.rb +25 -20
  81. data/app/concepts/kono_utils/object/cell/shows/base.rb +6 -5
  82. data/app/concepts/kono_utils/object/cell/shows/page_title.rb +11 -6
  83. data/app/concepts/kono_utils/object/cell/shows/side_title.rb +8 -2
  84. data/lib/kono_utils_bootstrap_view4/version.rb +1 -1
  85. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af050b32fff9d51537da77026dbe781bc8ea8d418ef4d26f0761f4e004ab81d0
4
- data.tar.gz: f872c5bb857176314e150d0226b76c99886be0f33c235c4d8b6f8f30fc640b6b
3
+ metadata.gz: f13165fe68c84d81d3fef65d4a3e345f0eac9a1104bad5afd66df86f7bdbdaf6
4
+ data.tar.gz: 0e9bbc63bff5272ff4134791fe93fd5ea4221ba3bc9fcfcb63caee90e6987b49
5
5
  SHA512:
6
- metadata.gz: 3f39c2dbdd0292db394bfc8ef5088f6067f4793767d32505274ff777d2facab87668e53fe47245198deeb3eb2baff166208612395b16c8dd0b2eb3ae5793d1c1
7
- data.tar.gz: 0fa63fef77609f069eced3777f28539f8bafe52a9e941facbee740f388a8fc3035057ec216c06ddf98e327788212f3e84560bc312bfc5fdac0060640aa17539c
6
+ metadata.gz: 90fb3209d98c5437ed681bd23e01b00890ecc85478307292db653b63ed92a42437da4d121c299adb4ac41aa7598dd921b6cdb2255670887ac3d48ca38c7eee2f
7
+ data.tar.gz: 7a3faa573f0e6116f6e739ee63904b7ae78254ba2223b6861e8b949078d5bf07024899b022339a0783c92aa788893fdd9ae2e6f27c833ac55c6ae8433c5af180
@@ -1,125 +1,127 @@
1
1
  require 'kaminari/helpers/helper_methods'
2
2
 
3
- module KonoUtils::Object::Cell # namespace
4
- class Base < Trailblazer::Cell # class
5
- view_paths << "#{KonoUtilsBootstrapView4::Engine.root}/app/concepts"
6
-
7
- include Pundit
8
- include Kaminari::Helpers::HelperMethods
9
- include KonoUtilsBootstrapView4::ApplicationIconHelper
10
- include Kaminari::Cells
11
-
12
-
13
- ##
14
- # Helpers di controller
15
- def base_class
16
- context[:base_class] || (@_base_class ||= parent_controller.send(:base_class))
17
- end
3
+ module KonoUtils
4
+ module Object
5
+ module Cell
6
+ class Base < Trailblazer::Cell # class
7
+ view_paths << "#{KonoUtilsBootstrapView4::Engine.root}/app/concepts"
8
+
9
+ include Pundit
10
+ include Kaminari::Helpers::HelperMethods
11
+ include KonoUtilsBootstrapView4::ApplicationIconHelper
12
+ include Kaminari::Cells
13
+
14
+ ##
15
+ # Helpers di controller
16
+ def base_class
17
+ context[:base_class] || (@_base_class ||= parent_controller.send(:base_class))
18
+ end
18
19
 
19
- def new_custom_polymorphic_path(*base_class)
20
- parent_controller.send(:new_custom_polymorphic_path, *base_class)
21
- end
20
+ def new_custom_polymorphic_path(*base_class)
21
+ parent_controller.send(:new_custom_polymorphic_path, *base_class)
22
+ end
22
23
 
23
- def edit_custom_polymorphic_path(*rec)
24
- parent_controller.send(:edit_custom_polymorphic_path, *rec)
25
- end
24
+ def edit_custom_polymorphic_path(*rec)
25
+ parent_controller.send(:edit_custom_polymorphic_path, *rec)
26
+ end
26
27
 
27
- def index_custom_polymorphic_path(*rec)
28
- parent_controller.send(:index_custom_polymorphic_path, *rec)
29
- end
28
+ def index_custom_polymorphic_path(*rec)
29
+ parent_controller.send(:index_custom_polymorphic_path, *rec)
30
+ end
30
31
 
31
- def destroy_custom_polymorphic_path(*rec)
32
- parent_controller.send(:destroy_custom_polymorphic_path, *rec)
33
- end
32
+ def destroy_custom_polymorphic_path(*rec)
33
+ parent_controller.send(:destroy_custom_polymorphic_path, *rec)
34
+ end
34
35
 
36
+ ##
37
+ # Registra il contenuto con una chiave, e lo renderizza poi dove è più necessario
38
+ # @param [String] name
39
+ # @param [String] content
40
+ # @param [Hash{null->null}] options
41
+ # @param [Proc] block
42
+ # @return [String]
43
+ def content_for_layout(name, content = nil, options = {}, &block)
44
+ context[:_view_layout_flow] ||= ActionView::OutputFlow.new
45
+ if content || block_given?
46
+ if block_given?
47
+ options = content if content
48
+ content = capture(&block)
49
+ end
50
+ if content
51
+ content = content.to_s.html_safe
52
+ options[:flush] ? context[:_view_layout_flow].set(name, content) : context[:_view_layout_flow].append(name, content)
53
+ end
54
+ nil
55
+ else
56
+ context[:_view_layout_flow].get(name).presence
57
+ end
58
+ end
35
59
 
36
- ##
37
- # Registra il contenuto con una chiave, e lo renderizza poi dove è più necessario
38
- # @param [String] name
39
- # @param [String] content
40
- # @param [Hash{null->null}] options
41
- # @param [Proc] block
42
- # @return [String]
43
- def content_for_layout(name, content = nil, options = {}, &block)
44
- context[:_view_layout_flow] ||= ActionView::OutputFlow.new
45
- if content || block_given?
46
- if block_given?
47
- options = content if content
48
- content = capture(&block)
49
- end
50
- if content
51
- content = content.to_s.html_safe
52
- options[:flush] ? context[:_view_layout_flow].set(name, content) : context[:_view_layout_flow].append(name, content)
53
- end
54
- nil
55
- else
56
- context[:_view_layout_flow].get(name).presence
57
- end
58
- end
60
+ def content_for_layout?(name)
61
+ context[:_view_layout_flow].get(name).present? rescue false
62
+ end
59
63
 
60
- def content_for_layout?(name)
61
- context[:_view_layout_flow].get(name).present? rescue false
62
- end
64
+ alias_method :legacy_concept, :concept
63
65
 
64
- alias_method :legacy_concept, :concept
66
+ # def concept(name, model = nil, options = {}, &block)
67
+ def concept(name, *args, &block)
68
+ legacy_concept(base_class.concept_ns(name), *args, &block)
69
+ end
65
70
 
66
- # def concept(name, model = nil, options = {}, &block)
67
- def concept(name, *args, &block)
68
- legacy_concept(base_class.concept_ns(name), *args, &block)
69
- end
71
+ delegates :base_class, :layout_ns
70
72
 
71
- delegates :base_class, :layout_ns
73
+ # @return [Logger]
74
+ def self.logger
75
+ KonoUtilsBootstrapView4.configuration.logger
76
+ end
72
77
 
73
- # @return [Logger]
74
- def self.logger
75
- KonoUtilsBootstrapView4.configuration.logger
76
- end
78
+ delegate :logger, to: :class
77
79
 
78
- delegate :logger, to: :class
80
+ def _prefixes
81
+ base_class.concept_prefix + super + parent_controller.lookup_context.view_paths.collect(&:to_path)
82
+ end
79
83
 
80
- def _prefixes
81
- base_class.concept_prefix + super + parent_controller.lookup_context.view_paths.collect(&:to_path)
82
- end
84
+ def current_user
85
+ context[:current_user]
86
+ end
83
87
 
84
- def current_user
85
- context[:current_user]
86
- end
88
+ def title_mod
89
+ "#{t(:edit)} #{model.mn}"
90
+ end
87
91
 
88
- def title_mod
89
- "#{t(:edit)} #{model.mn}"
90
- end
92
+ def title_new
93
+ "#{t(:new)} #{model.mn}"
94
+ end
91
95
 
92
- def title_new
93
- "#{t(:new)} #{model.mn}"
94
- end
96
+ def title_newa
97
+ "#{t(:newa)} #{model.mn}"
98
+ end
95
99
 
96
- def title_newa
97
- "#{t(:newa)} #{model.mn}"
98
- end
100
+ def title_del
101
+ "#{t(:del)} #{model.mn}"
102
+ end
99
103
 
100
- def title_del
101
- "#{t(:del)} #{model.mn}"
102
- end
104
+ def title_edit_g
105
+ "#{t("edit_title_#{model_gender}", default: 'Modifica')} #{model.mn}"
106
+ end
103
107
 
104
- def title_edit_g
105
- "#{t("edit_title_#{model_gender}", default: 'Modifica')} #{model.mn}"
106
- end
108
+ def title_new_g
109
+ "#{t("new_title_#{model_gender}", default: 'Nuovo')} #{model.mn}"
110
+ end
107
111
 
108
- def title_new_g
109
- "#{t("new_title_#{model_gender}", default: 'Nuovo')} #{model.mn}"
110
- end
112
+ def title_del_g
113
+ "#{t("del_title_#{model_gender}", default: 'Cancella')} #{model.mn}"
114
+ end
111
115
 
112
- def title_del_g
113
- "#{t("del_title_#{model_gender}", default: 'Cancella')} #{model.mn}"
114
- end
116
+ def title_show_g
117
+ "#{t("show_title_#{model_gender}", default: 'Visualizza')} #{model.mn}"
118
+ end
115
119
 
116
- def title_show_g
117
- "#{t("show_title_#{model_gender}", default: 'Visualizza')} #{model.mn}"
118
- end
120
+ def model_gender
121
+ t("activerecord.modelgender.#{model.class.name.underscore.to_sym}", :default => :m).to_sym
122
+ end
119
123
 
120
- def model_gender
121
- t("activerecord.modelgender.#{model.class.name.underscore.to_sym}", :default => :m).to_sym
124
+ end
122
125
  end
123
-
124
126
  end
125
127
  end
@@ -1,57 +1,58 @@
1
- module KonoUtils::Object::Cell # namespace
2
- ##
3
- # Options:
4
- # - url_to -> Url verso dove mandare il bottone
5
- # - content -> Contenuto del link del bottone
6
- # - button_options -> possibili opzioni per il bottone fra cui:
7
- # - class -> per la classe
8
- class Buttons::Base < Base
9
-
10
-
11
- # @return [String]
12
- def url_to
13
- options.fetch(:url_to, "#to_override_or_options-url_to")
1
+ module KonoUtils
2
+ module Object
3
+ module Cell
4
+ ##
5
+ # Options:
6
+ # - url_to -> Url verso dove mandare il bottone
7
+ # - content -> Contenuto del link del bottone
8
+ # - button_options -> possibili opzioni per il bottone fra cui:
9
+ # - class -> per la classe
10
+ class Buttons::Base < Base
11
+
12
+ # @return [String]
13
+ def url_to
14
+ options.fetch(:url_to, "#to_override_or_options-url_to")
15
+ end
16
+
17
+ def specific_button_class
18
+ nil
19
+ end
20
+
21
+ def button_title
22
+ nil
23
+ end
24
+
25
+ def button_size
26
+ "btn-sm"
27
+ end
28
+
29
+ def btn_opts(opts = {})
30
+ custom_options = options.dig(:button_options) || opts
31
+ opts = {
32
+ class: "btn #{specific_button_class} #{button_size} #{custom_options.delete(:class)}".split(' ').uniq.join(' '),
33
+ id: unique_dom_id
34
+ }
35
+ opts.merge!(custom_options)
36
+ opts[:title] = button_title unless base_class.nil?
37
+ opts
38
+ end
39
+
40
+ def show(&block)
41
+ link_to button_content, url_to, btn_opts
42
+ end
43
+
44
+ # @return [String] - contenuto del bottone/link
45
+ def button_content
46
+ options.fetch(:content, model.try(:to_s) || "options[:content]")
47
+ end
48
+
49
+ private
50
+
51
+ def unique_dom_id
52
+ @_unique_dom_id ||= SecureRandom.uuid
53
+ end
54
+
55
+ end
14
56
  end
15
-
16
- def specific_button_class
17
- nil
18
- end
19
-
20
- def button_title
21
- nil
22
- end
23
-
24
- def button_size
25
- "btn-sm"
26
- end
27
-
28
-
29
- def btn_opts(opts = {})
30
- custom_options = options.dig(:button_options) || opts
31
- opts = {
32
- class: "btn #{specific_button_class} #{button_size} #{custom_options.delete(:class)}".split(' ').uniq.join(' '),
33
- id: unique_dom_id
34
- }
35
- opts.merge!(custom_options)
36
- opts[:title] = button_title unless base_class.nil?
37
- opts
38
- end
39
-
40
- def show(&block)
41
- link_to button_content, url_to, btn_opts
42
- end
43
-
44
- # @return [String] - contenuto del bottone/link
45
- def button_content
46
- options.fetch(:content, model.try(:to_s) || "options[:content]")
47
- end
48
-
49
- private
50
-
51
- def unique_dom_id
52
- @_unique_dom_id ||= SecureRandom.uuid
53
- end
54
-
55
-
56
57
  end
57
58
  end
@@ -1,31 +1,37 @@
1
- module KonoUtils::Object::Cell::Buttons # namespace
2
- ##
3
- # Bottone per la struttura del collapse search
4
- # *Options*
5
- # - collapsed_target -> identificativo del contenitore che devo espandere
6
- class CollapseSearch < Base
1
+ module KonoUtils
2
+ module Object
3
+ module Cell
4
+ module Buttons # namespace
5
+ ##
6
+ # Bottone per la struttura del collapse search
7
+ # *Options*
8
+ # - collapsed_target -> identificativo del contenitore che devo espandere
9
+ class CollapseSearch < Base
7
10
 
8
- def url_to
9
- options.fetch(:collapsed_target, '#')
10
- end
11
+ def url_to
12
+ options.fetch(:collapsed_target, '#')
13
+ end
11
14
 
12
- def specific_button_class
13
- 'btn-light'
14
- end
15
+ def specific_button_class
16
+ 'btn-light'
17
+ end
15
18
 
16
- def btn_opts(opts = {})
17
- {
18
- data: {toggle: "collapse"}
19
- }.merge(super)
20
- end
19
+ def btn_opts(opts = {})
20
+ {
21
+ data: { toggle: "collapse" }
22
+ }.merge(super)
23
+ end
21
24
 
22
- def button_title
23
- I18n.t('kono_utils.bootstrap4.buttons.collapse_search.alt')
24
- end
25
+ def button_title
26
+ I18n.t('kono_utils.bootstrap4.buttons.collapse_search.alt')
27
+ end
25
28
 
26
- def button_content
27
- options.fetch(:content, fa_icon("search"))
28
- end
29
+ def button_content
30
+ options.fetch(:content, fa_icon("search"))
31
+ end
29
32
 
33
+ end
34
+ end
35
+ end
30
36
  end
31
37
  end
@@ -1,22 +1,27 @@
1
- module KonoUtils::Object::Cell::Buttons # namespace
2
- class Create < Base
1
+ module KonoUtils
2
+ module Object
3
+ module Cell
4
+ module Buttons # namespace
5
+ class Create < Base
3
6
 
4
- def url_to
5
- options[:url_to] || new_custom_polymorphic_path(model)
6
- end
7
-
8
- def specific_button_class
9
- "btn-success"
10
- end
7
+ def url_to
8
+ options[:url_to] || new_custom_polymorphic_path(model)
9
+ end
11
10
 
12
- def button_title
13
- title_new
14
- end
11
+ def specific_button_class
12
+ "btn-success"
13
+ end
15
14
 
16
- def button_content
17
- options.fetch(:content, fa_icon("plus"))
18
- end
15
+ def button_title
16
+ title_new
17
+ end
19
18
 
19
+ def button_content
20
+ options.fetch(:content, fa_icon("plus"))
21
+ end
20
22
 
23
+ end
24
+ end
25
+ end
21
26
  end
22
27
  end