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

Sign up to get free protection for your applications and to get access to all the features.
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