kono_utils_bootstrap_view4 0.1.0.pre.rc.3 → 0.1.0

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/app/concepts/kono_utils/object/cell/base.rb +102 -96
  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/app/views/kono_utils/base_editing/edit.html.erb +3 -3
  85. data/app/views/kono_utils/base_editing/edit.inject.erb +1 -1
  86. data/app/views/kono_utils/base_editing/index.html.erb +4 -4
  87. data/app/views/kono_utils/base_editing/new.html.erb +3 -3
  88. data/app/views/kono_utils/base_editing/new.inject.erb +1 -1
  89. data/app/views/kono_utils/base_editing/show.html.erb +3 -3
  90. data/app/views/kono_utils/base_editing/success_create_show.inject.erb +1 -1
  91. data/app/views/kono_utils/base_editing/success_update_show.inject.erb +1 -1
  92. data/lib/kono_utils_bootstrap_view4.rb +14 -8
  93. data/lib/kono_utils_bootstrap_view4/engine.rb +0 -3
  94. data/lib/kono_utils_bootstrap_view4/version.rb +1 -1
  95. metadata +10 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af050b32fff9d51537da77026dbe781bc8ea8d418ef4d26f0761f4e004ab81d0
4
- data.tar.gz: f872c5bb857176314e150d0226b76c99886be0f33c235c4d8b6f8f30fc640b6b
3
+ metadata.gz: 7e54f4cbc61c0d98ae9d1b58fbf27d17a96b739d3f63d481281aadee542936be
4
+ data.tar.gz: df5d2ffcefd20dc75bd3a6dba4b148cb79c872c2ace672057f7f917fdfd670b2
5
5
  SHA512:
6
- metadata.gz: 3f39c2dbdd0292db394bfc8ef5088f6067f4793767d32505274ff777d2facab87668e53fe47245198deeb3eb2baff166208612395b16c8dd0b2eb3ae5793d1c1
7
- data.tar.gz: 0fa63fef77609f069eced3777f28539f8bafe52a9e941facbee740f388a8fc3035057ec216c06ddf98e327788212f3e84560bc312bfc5fdac0060640aa17539c
6
+ metadata.gz: a8095d99d28f25bb6fdcf700ae217f922c066498b6f4b96bed7da48d17dcf5be23b85baf799357978aadd5cd30016c7aea5458f6d339ccb7b1e8e7c1bbe92cba
7
+ data.tar.gz: 41c9f248d01a5313b7739aaec6f2d6ad7f34a3c42c86911dd60e41a392aed0702e99a53acf06cda674265edbdff0c2edb5709c16416b18ab3b0066226f5a5d4a
@@ -1,125 +1,131 @@
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
-
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
12
19
 
13
- ##
14
- # Helpers di controller
15
- def base_class
16
- context[:base_class] || (@_base_class ||= parent_controller.send(:base_class))
17
- end
20
+ def new_custom_polymorphic_path(*base_class)
21
+ parent_controller.send(:new_custom_polymorphic_path, *base_class)
22
+ end
18
23
 
19
- def new_custom_polymorphic_path(*base_class)
20
- parent_controller.send(:new_custom_polymorphic_path, *base_class)
21
- end
24
+ def edit_custom_polymorphic_path(*rec)
25
+ parent_controller.send(:edit_custom_polymorphic_path, *rec)
26
+ end
22
27
 
23
- def edit_custom_polymorphic_path(*rec)
24
- parent_controller.send(:edit_custom_polymorphic_path, *rec)
25
- end
28
+ def index_custom_polymorphic_path(*rec)
29
+ parent_controller.send(:index_custom_polymorphic_path, *rec)
30
+ end
26
31
 
27
- def index_custom_polymorphic_path(*rec)
28
- parent_controller.send(:index_custom_polymorphic_path, *rec)
29
- end
32
+ def destroy_custom_polymorphic_path(*rec)
33
+ parent_controller.send(:destroy_custom_polymorphic_path, *rec)
34
+ end
30
35
 
31
- def destroy_custom_polymorphic_path(*rec)
32
- parent_controller.send(:destroy_custom_polymorphic_path, *rec)
33
- end
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
34
59
 
60
+ def content_for_layout?(name)
61
+ context[:_view_layout_flow].get(name).present? rescue false
62
+ end
35
63
 
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
64
+ alias_method :legacy_concept, :concept
59
65
 
60
- def content_for_layout?(name)
61
- context[:_view_layout_flow].get(name).present? rescue false
62
- end
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
- alias_method :legacy_concept, :concept
71
+ delegates :base_class, :layout_ns
65
72
 
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
73
+ # @return [Logger]
74
+ def self.logger
75
+ KonoUtilsBootstrapView4.configuration.logger
76
+ end
70
77
 
71
- delegates :base_class, :layout_ns
78
+ delegate :logger, to: :class
72
79
 
73
- # @return [Logger]
74
- def self.logger
75
- KonoUtilsBootstrapView4.configuration.logger
76
- end
80
+ def _prefixes
81
+ base_class.concept_prefix + super + parent_controller.lookup_context.view_paths.collect(&:to_path)
82
+ end
77
83
 
78
- delegate :logger, to: :class
84
+ def kono_user
85
+ context[:kono_user]
86
+ end
79
87
 
80
- def _prefixes
81
- base_class.concept_prefix + super + parent_controller.lookup_context.view_paths.collect(&:to_path)
82
- end
88
+ ##
89
+ # In questo modo se non viene modificato l'utente di pundit, il pundit interno a kono utilizza quello di kono_utils
90
+ alias_method :current_user, :kono_user
83
91
 
84
- def current_user
85
- context[:current_user]
86
- end
92
+ def title_mod
93
+ "#{t(:edit)} #{model.mn}"
94
+ end
87
95
 
88
- def title_mod
89
- "#{t(:edit)} #{model.mn}"
90
- end
96
+ def title_new
97
+ "#{t(:new)} #{model.mn}"
98
+ end
91
99
 
92
- def title_new
93
- "#{t(:new)} #{model.mn}"
94
- end
100
+ def title_newa
101
+ "#{t(:newa)} #{model.mn}"
102
+ end
95
103
 
96
- def title_newa
97
- "#{t(:newa)} #{model.mn}"
98
- end
104
+ def title_del
105
+ "#{t(:del)} #{model.mn}"
106
+ end
99
107
 
100
- def title_del
101
- "#{t(:del)} #{model.mn}"
102
- end
108
+ def title_edit_g
109
+ "#{t("edit_title_#{model_gender}", default: 'Modifica')} #{model.mn}"
110
+ end
103
111
 
104
- def title_edit_g
105
- "#{t("edit_title_#{model_gender}", default: 'Modifica')} #{model.mn}"
106
- end
112
+ def title_new_g
113
+ "#{t("new_title_#{model_gender}", default: 'Nuovo')} #{model.mn}"
114
+ end
107
115
 
108
- def title_new_g
109
- "#{t("new_title_#{model_gender}", default: 'Nuovo')} #{model.mn}"
110
- end
116
+ def title_del_g
117
+ "#{t("del_title_#{model_gender}", default: 'Cancella')} #{model.mn}"
118
+ end
111
119
 
112
- def title_del_g
113
- "#{t("del_title_#{model_gender}", default: 'Cancella')} #{model.mn}"
114
- end
120
+ def title_show_g
121
+ "#{t("show_title_#{model_gender}", default: 'Visualizza')} #{model.mn}"
122
+ end
115
123
 
116
- def title_show_g
117
- "#{t("show_title_#{model_gender}", default: 'Visualizza')} #{model.mn}"
118
- end
124
+ def model_gender
125
+ t("activerecord.modelgender.#{model.class.name.underscore.to_sym}", :default => :m).to_sym
126
+ end
119
127
 
120
- def model_gender
121
- t("activerecord.modelgender.#{model.class.name.underscore.to_sym}", :default => :m).to_sym
128
+ end
122
129
  end
123
-
124
130
  end
125
131
  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