rails_bootstrap_form 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e721e3897b40c0457a2cd5cfdd2d70be38f43b1c707f103e3799ea03a9c398d
4
- data.tar.gz: baef33d0746182ad54d2dd1b0ca0b4e827bb1ff4ad70762fca8c44d4826f94c8
3
+ metadata.gz: eeb7afe12b186dfa741279347931a85c33ff4950dcb691d6089e18767d5edb80
4
+ data.tar.gz: 18787c6cfd1ad0c3156f1611395551fb5c9c41d1e17983ac1393b7987d099455
5
5
  SHA512:
6
- metadata.gz: 8f1916dfbb809f724be629beeff70e6e7ca287967bf769dc9d5d3501f3ee00beb641ca73966661d33d3293972090667390672a4d444c32318f5a9ca74863822a
7
- data.tar.gz: 6357308e7ddd7df6667d9a36a96cd506039526c258438bfa19583cc898f36221ffff2f96c4dcdb06f34fb75b39c9fbebfd3a9ced43ab5257f5323b61921bd8e9
6
+ metadata.gz: 7de97d7da63f5742b0db6816e908335540c1b66eaab7509bca8257005dc30e7bb2dd7f1974d3f7d0cf45dcdb909e9644c4cd29bddd7de6450bad05e2216f7c64
7
+ data.tar.gz: 97997858453d5b926fb23a8a64fe36294d5cf08c7d164a8a984eb5b42ee5d956451908567d4f3473bf1cd369b2570119bb211c8071f26096e78e3b90852bdc54
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails_bootstrap_form (0.2.1)
4
+ rails_bootstrap_form (0.2.2)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -34,6 +34,27 @@ module RailsBootstrapForm
34
34
  # Default is nil.
35
35
  attr_accessor :help_text
36
36
 
37
+ # An option to override automatically generated label text.
38
+ attr_accessor :label_text
39
+
40
+ # An option to custmize whether the label is to be displayed or not.
41
+ attr_accessor :skip_label
42
+
43
+ # An option to customize whether the label is only visible to screen readers.
44
+ attr_accessor :hide_label
45
+
46
+ # The CSS class that will be used when the label is only accessible by screen
47
+ # readers. Default is `visually-hidden`
48
+ attr_accessor :hide_class
49
+
50
+ # Default CSS class that will be applied to all label tags.
51
+ # Default is `form-label`.
52
+ attr_accessor :label_class
53
+
54
+ # An additional CSS class that will be added along with the existing
55
+ # `label_class` of the label. Default is nil.
56
+ attr_accessor :additional_label_class
57
+
37
58
  def initialize(options = {})
38
59
  set_defaults
39
60
  set_bootstrap_form_options(options)
@@ -83,6 +104,13 @@ module RailsBootstrapForm
83
104
  @additional_field_class = nil
84
105
 
85
106
  @help_text = nil
107
+
108
+ @label_text = ""
109
+ @skip_label = false
110
+ @hide_label = false
111
+ @hide_class = "visually-hidden"
112
+ @label_class = "form-label"
113
+ @additional_label_class = nil
86
114
  end
87
115
 
88
116
  private :set_defaults
@@ -0,0 +1,34 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ module RailsBootstrapForm
6
+ module Components
7
+ module Labels
8
+ extend ActiveSupport::Concern
9
+
10
+ def self.included(base_class)
11
+ def label(attribute, bootstrap_options)
12
+ unless bootstrap_options.skip_label
13
+ label_class = label_classes(attribute, bootstrap_options)
14
+ label_text = label_text(attribute, bootstrap_options)
15
+
16
+ super(attribute, label_text, class: label_class)
17
+ end
18
+ end
19
+
20
+ def label_classes(attribute, bootstrap_options)
21
+ classes = [bootstrap_options.label_class, bootstrap_options.additional_label_class]
22
+ classes << bootstrap_options.hide_class if bootstrap_options.hide_label
23
+ classes.flatten.compact
24
+ end
25
+
26
+ def label_text(attribute, bootstrap_options)
27
+ bootstrap_options.label_text || object&.class.try(:human_attribute_name, attribute)
28
+ end
29
+
30
+ private :label, :label_classes, :label_text
31
+ end
32
+ end
33
+ end
34
+ end
@@ -7,7 +7,9 @@ module RailsBootstrapForm
7
7
  extend ActiveSupport::Autoload
8
8
 
9
9
  autoload :HelpText
10
+ autoload :Labels
10
11
 
11
12
  include HelpText
13
+ include Labels
12
14
  end
13
15
  end
@@ -13,9 +13,11 @@ module RailsBootstrapForm
13
13
  end
14
14
 
15
15
  def field_wrapper(attribute, bootstrap_options, options, &block)
16
+ label = label(attribute, bootstrap_options)
16
17
  help_text = help_text(attribute, bootstrap_options)
17
18
 
18
19
  tag.div(class: field_wrapper_classes) do
20
+ concat(label)
19
21
  concat(capture(&block))
20
22
  concat(help_text)
21
23
  end
@@ -3,6 +3,6 @@
3
3
  # -*- warn_indent: true -*-
4
4
 
5
5
  module RailsBootstrapForm
6
- VERSION = "0.2.1".freeze
6
+ VERSION = "0.2.2".freeze
7
7
  REQUIRED_RAILS_VERSION = "~> 7.0".freeze
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_bootstrap_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harshal LADHE (shivam091)
@@ -109,6 +109,7 @@ files:
109
109
  - lib/rails_bootstrap_form/bootstrap_form_options.rb
110
110
  - lib/rails_bootstrap_form/components.rb
111
111
  - lib/rails_bootstrap_form/components/help_text.rb
112
+ - lib/rails_bootstrap_form/components/labels.rb
112
113
  - lib/rails_bootstrap_form/configuration.rb
113
114
  - lib/rails_bootstrap_form/engine.rb
114
115
  - lib/rails_bootstrap_form/field_wrapper_builder.rb