kono_utils_bootstrap_view4 0.1.0.pre.rc.2 → 0.1.0.pre.rc.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/app/concepts/kono_utils/object/cell/base.rb +101 -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.rb +14 -8
  85. data/lib/kono_utils_bootstrap_view4/engine.rb +1 -1
  86. data/lib/kono_utils_bootstrap_view4/version.rb +1 -1
  87. metadata +8 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cdd4e54f7b7e9d5a2fd73833a65b55fd314b9c2a50a601592451b800f06bd04
4
- data.tar.gz: 61d354fac2e8bece792b2ce62f8d432d9b546411ae25d0dfc944c6e4514678d3
3
+ metadata.gz: ab3b8f777ea0b69e24f153b152fe0b5391e5b61b089e21a26bead7523a8331d7
4
+ data.tar.gz: '0876a4f81cb16aa08c042c472e9877aa94e826a8a734add60bb250ac541bce81'
5
5
  SHA512:
6
- metadata.gz: 80a6eead0e39e8c250392e74b11a2f0a6ad90410da5dcc7a7f93bed9e4c24af6b25531d9f3c0fa916636a3d51d23c515573288647651f6c483ebf9a6a456f8cb
7
- data.tar.gz: f8e6128a8dbfe2aebd49dd2b61639ab5ab6c48d254d1a6f1a5f81226d36e8578632e5617ca495b555d5438bed496dfb78b9ea4c580314f46a0a60952a40d3957
6
+ metadata.gz: b8e651363c135914d2c58830f6a4d8eb4d9da7b509c11b3407950008ca57e7a6f7cfe183c70ca03394abf3e6b47efd6e7cdfd6575fc8bc82ee6bf10503cfbf53
7
+ data.tar.gz: 3d0bf632b6f8f0b1145fc9835a0fde8d77ad6b3cc02567904584412cf3912bc884912b532504b8a368552ca2093bef35799ea6a568cf5982a666faf28c2044db
@@ -1,123 +1,127 @@
1
- module KonoUtils::Object::Cell # namespace
2
- class Base < Trailblazer::Cell # class
3
- view_paths << "#{KonoUtilsBootstrapView4::Engine.root}/app/concepts"
4
-
5
- include Pundit
6
- include Kaminari::Helpers::HelperMethods
7
- include KonoUtilsBootstrapView4::ApplicationIconHelper
8
- include Kaminari::Cells
9
-
10
-
11
- ##
12
- # Helpers di controller
13
- def base_class
14
- context[:base_class] || (@_base_class ||= parent_controller.send(:base_class))
15
- end
1
+ require 'kaminari/helpers/helper_methods'
2
+
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
16
19
 
17
- def new_custom_polymorphic_path(*base_class)
18
- parent_controller.send(:new_custom_polymorphic_path, *base_class)
19
- end
20
+ def new_custom_polymorphic_path(*base_class)
21
+ parent_controller.send(:new_custom_polymorphic_path, *base_class)
22
+ end
20
23
 
21
- def edit_custom_polymorphic_path(*rec)
22
- parent_controller.send(:edit_custom_polymorphic_path, *rec)
23
- end
24
+ def edit_custom_polymorphic_path(*rec)
25
+ parent_controller.send(:edit_custom_polymorphic_path, *rec)
26
+ end
24
27
 
25
- def index_custom_polymorphic_path(*rec)
26
- parent_controller.send(:index_custom_polymorphic_path, *rec)
27
- end
28
+ def index_custom_polymorphic_path(*rec)
29
+ parent_controller.send(:index_custom_polymorphic_path, *rec)
30
+ end
28
31
 
29
- def destroy_custom_polymorphic_path(*rec)
30
- parent_controller.send(:destroy_custom_polymorphic_path, *rec)
31
- end
32
+ def destroy_custom_polymorphic_path(*rec)
33
+ parent_controller.send(:destroy_custom_polymorphic_path, *rec)
34
+ end
32
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
33
59
 
34
- ##
35
- # Registra il contenuto con una chiave, e lo renderizza poi dove è più necessario
36
- # @param [String] name
37
- # @param [String] content
38
- # @param [Hash{null->null}] options
39
- # @param [Proc] block
40
- # @return [String]
41
- def content_for_layout(name, content = nil, options = {}, &block)
42
- context[:_view_layout_flow] ||= ActionView::OutputFlow.new
43
- if content || block_given?
44
- if block_given?
45
- options = content if content
46
- content = capture(&block)
47
- end
48
- if content
49
- content = content.to_s.html_safe
50
- options[:flush] ? context[:_view_layout_flow].set(name, content) : context[:_view_layout_flow].append(name, content)
51
- end
52
- nil
53
- else
54
- context[:_view_layout_flow].get(name).presence
55
- end
56
- end
60
+ def content_for_layout?(name)
61
+ context[:_view_layout_flow].get(name).present? rescue false
62
+ end
57
63
 
58
- def content_for_layout?(name)
59
- context[:_view_layout_flow].get(name).present? rescue false
60
- end
64
+ alias_method :legacy_concept, :concept
61
65
 
62
- 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
63
70
 
64
- # def concept(name, model = nil, options = {}, &block)
65
- def concept(name, *args, &block)
66
- legacy_concept(base_class.concept_ns(name), *args, &block)
67
- end
71
+ delegates :base_class, :layout_ns
68
72
 
69
- delegates :base_class, :layout_ns
73
+ # @return [Logger]
74
+ def self.logger
75
+ KonoUtilsBootstrapView4.configuration.logger
76
+ end
70
77
 
71
- # @return [Logger]
72
- def self.logger
73
- KonoUtilsBootstrapView4.configuration.logger
74
- end
78
+ delegate :logger, to: :class
75
79
 
76
- delegate :logger, to: :class
80
+ def _prefixes
81
+ base_class.concept_prefix + super + parent_controller.lookup_context.view_paths.collect(&:to_path)
82
+ end
77
83
 
78
- def _prefixes
79
- base_class.concept_prefix + super + parent_controller.lookup_context.view_paths.collect(&:to_path)
80
- end
84
+ def current_user
85
+ context[:current_user]
86
+ end
81
87
 
82
- def current_user
83
- context[:current_user]
84
- end
88
+ def title_mod
89
+ "#{t(:edit)} #{model.mn}"
90
+ end
85
91
 
86
- def title_mod
87
- "#{t(:edit)} #{model.mn}"
88
- end
92
+ def title_new
93
+ "#{t(:new)} #{model.mn}"
94
+ end
89
95
 
90
- def title_new
91
- "#{t(:new)} #{model.mn}"
92
- end
96
+ def title_newa
97
+ "#{t(:newa)} #{model.mn}"
98
+ end
93
99
 
94
- def title_newa
95
- "#{t(:newa)} #{model.mn}"
96
- end
100
+ def title_del
101
+ "#{t(:del)} #{model.mn}"
102
+ end
97
103
 
98
- def title_del
99
- "#{t(:del)} #{model.mn}"
100
- end
104
+ def title_edit_g
105
+ "#{t("edit_title_#{model_gender}", default: 'Modifica')} #{model.mn}"
106
+ end
101
107
 
102
- def title_edit_g
103
- "#{t("edit_title_#{model_gender}", default: 'Modifica')} #{model.mn}"
104
- end
108
+ def title_new_g
109
+ "#{t("new_title_#{model_gender}", default: 'Nuovo')} #{model.mn}"
110
+ end
105
111
 
106
- def title_new_g
107
- "#{t("new_title_#{model_gender}", default: 'Nuovo')} #{model.mn}"
108
- end
112
+ def title_del_g
113
+ "#{t("del_title_#{model_gender}", default: 'Cancella')} #{model.mn}"
114
+ end
109
115
 
110
- def title_del_g
111
- "#{t("del_title_#{model_gender}", default: 'Cancella')} #{model.mn}"
112
- end
116
+ def title_show_g
117
+ "#{t("show_title_#{model_gender}", default: 'Visualizza')} #{model.mn}"
118
+ end
113
119
 
114
- def title_show_g
115
- "#{t("show_title_#{model_gender}", default: 'Visualizza')} #{model.mn}"
116
- end
120
+ def model_gender
121
+ t("activerecord.modelgender.#{model.class.name.underscore.to_sym}", :default => :m).to_sym
122
+ end
117
123
 
118
- def model_gender
119
- t("activerecord.modelgender.#{model.class.name.underscore.to_sym}", :default => :m).to_sym
124
+ end
120
125
  end
121
-
122
126
  end
123
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