hot_date_rails 1.5.9 → 1.5.10

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
  SHA1:
3
- metadata.gz: c2ae82e3392393b3cec696aafa523743f88a3975
4
- data.tar.gz: 100664aa827b6357d5f9e7da8879c232744039eb
3
+ metadata.gz: 7dc8f79bd9abf2f5ef9ad296b604f746767ed1ad
4
+ data.tar.gz: ffc05184af4412204f9b64696f5228ace409e7fe
5
5
  SHA512:
6
- metadata.gz: 7a93b0bdb6f1b35dca6da9536d4982ed46e000d2d2097fbfd19b524a2689502f376cdaa5e2fe2a913800291888ae5772e7c1ae8814df8a0106d19faec1fce45a
7
- data.tar.gz: 27c6188d41baae44c2d1b09980fc80005441f860518276ba8af76ad3f44f41b5d930d338a26b071f5c9a2b4e8e5d93027d946d8584137186df33cc05bc393947
6
+ metadata.gz: 2469dc3b25ba282402f5f7c09711a55c8899263e80eed56cd08880c1d53dbec0ca8f41fe31fca566f719d96a17ae35cccd96b543ad9c43c47dd725e059f25bd0
7
+ data.tar.gz: c6e2c1cd9a23305ded81c67088ce53a5748b6825543e2cc0c2c6d76a94689e2e6ab538da2b9fc6bdd2b9b1650ac94f5e28fb33d257b5d5ec20e3cd67551d7ae6
@@ -7,12 +7,12 @@ module FormHelper
7
7
  end
8
8
 
9
9
  private
10
- def draw_ext_input_tag(field_name, value, cls, locale_format=nil, opts={})
11
- formatted_value = I18n.l(value.to_date) if value.present?
12
- input_attrs = InputAttrs.new(field_name, cls, opts)
13
- text_field_tag("#{field_name}", formatted_value, input_attrs.to_h) + \
14
- hidden_field_tag(field_name, nil, { :class => field_name.to_s + "-alt", :id => "#{field_name}_hdn", value: value })
15
- end
10
+ def draw_ext_input_tag(field_name, value, cls, locale_format=nil, opts={})
11
+ formatted_value = I18n.l(value.to_date) if value.present?
12
+ input_attrs = InputAttrs.new(field_name, cls, opts)
13
+ text_field_tag("#{field_name}", formatted_value, input_attrs.to_h.reverse_merge({ id: FormHelper.random_input_id(field_name) })) + \
14
+ hidden_field_tag(field_name, nil, { class: field_name.to_s + "-alt", id: FormHelper.random_input_id(field_name, "hidden"), value: value })
15
+ end
16
16
  end
17
17
 
18
18
  class ActionView::Helpers::FormBuilder
@@ -49,7 +49,7 @@ module FormHelper
49
49
  formatted_value = I18n.localize(value, format: locale_format) if value.present?
50
50
  input_attrs = InputAttrs.new(attr, cls, opts)
51
51
  self.text_field("#{attr}", input_attrs.to_h.merge(value: (formatted_value || ""))) + \
52
- self.hidden_field(attr, { :class => attr.to_s + "-alt", :id => "#{attr}_hdn" }) #hidden_field handles setting the value from the attribute
52
+ self.hidden_field(attr, { :class => attr.to_s + "-alt", id: FormHelper.input_id(object, attr) })
53
53
  end
54
54
 
55
55
  def column_type(attr)
@@ -64,11 +64,10 @@ module FormHelper
64
64
  class InputAttrs < Hash
65
65
  def initialize(attr, hd_cls, opts={})
66
66
  opts.reverse_merge!(html: {})
67
- #Set html attribute hash here so :class and :id always get overridden in next lines
67
+ #Set html attribute hash here so :class always gets overridden in next line
68
68
  self.merge! opts[:html]
69
69
  self[:class] = (self.fetch(:class, "").split(" ") << hd_cls).join(" ")
70
- self[:id] = attr
71
- opts[:hd_opts] ||= {}
70
+ opts[:hd_opts] ||= {}
72
71
  opts[:data] ||= {}
73
72
  data = opts[:hd_opts].merge(opts[:data])
74
73
  hd_config = HotDateRails.config
@@ -83,4 +82,15 @@ module FormHelper
83
82
  self[:data] = data
84
83
  end
85
84
  end
85
+
86
+ private
87
+ def self.input_id(parent_obj, suffix=nil)
88
+ #Uses the parent object for the id because each scope can only have a single input for each attribute
89
+ "hdr-hidden-#{parent_obj.class.to_s.downcase}-#{parent_obj.object_id}-#{suffix}"
90
+ end
91
+
92
+ def self.random_input_id(suffix=nil, type="text")
93
+ random_id = SecureRandom.urlsafe_base64
94
+ "hdr-#{type}-tag-#{random_id}-#{suffix}"
95
+ end
86
96
  end
@@ -1,3 +1,3 @@
1
1
  module HotDateRails
2
- VERSION = "1.5.9"
2
+ VERSION = "1.5.10"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hot_date_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.9
4
+ version: 1.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - John O'Malley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-22 00:00:00.000000000 Z
11
+ date: 2018-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails