active_scaffold 3.6.13 → 3.6.15

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: c15e01c11227052618d2b92ad709cfa1197de5ce2d088fb1f5d808f831714ae3
4
- data.tar.gz: 64dcb127193bf37114da0d406d514f3091cca7b6295841134a0d9d939c5344f9
3
+ metadata.gz: 6cc7c6f7e057512476a4f93c0505622a34a97c81b6cbd75c5bb1b014a928ad65
4
+ data.tar.gz: c9e2bf9f2240b380b1ebd3f52007db921b88a3035aee3327fec779d74c43f0c6
5
5
  SHA512:
6
- metadata.gz: 86fc673e0a500a8b7734ddb8cde6ebf309f22f6781f60df385e1a715d2218fb120bc2e54ce0fd4befd0ee94093d5e0c6ada201258240f98212eb7f492e68342d
7
- data.tar.gz: 9be0d09ab6ad138c3e27ba3d2dba898ad7d72e53005cc1dbab56c4655ce9499dd2aea6afb9450493248ab450be7209fd1d8d9e5bda67f529a70ec42989c90cef
6
+ metadata.gz: 30377a392938156d9ce545bf18fe0cafebabd935fcd913d4ad28836f53a25cbde41bb7849542f08d6acebdcab9d0e39c8efbddc2d0fe10bf4a40c8af4cedf15e
7
+ data.tar.gz: 19602b41999bf34152f9a968c78aa36529794ca7d5ae17db43c55ae288f34b5ed5409923cd1e62ec7a8f5d97f781dd60cce8307c90291136303c3890e0c543e4
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,11 @@
1
+ = 3.6.15
2
+ - Prevent firing 2 change events on jquery datetime pickers
3
+ - Fix setting data options on columns for date and datetime pickers
4
+
5
+ = 3.6.14
6
+ - Fix setting data on html_options when threadsafe is enabled
7
+ - Fill nested association on render field, as done in new action
8
+
1
9
  = 3.6.13
2
10
  - Fix link caching on action when threadsafe is enabled
3
11
 
@@ -41,3 +41,12 @@ jQuery(document).on("focus", "input.datetime_picker", function(){
41
41
  }
42
42
  return true;
43
43
  });
44
+
45
+ jQuery(document).on('change', 'input.datetime_picker', function(e) {
46
+ var $this = $(this);
47
+ if ($this.data('first-event')) $this.removeData('first-event');
48
+ else {
49
+ $this.data('first-event', true);
50
+ e.stopImmediatePropagation();
51
+ }
52
+ });
@@ -92,12 +92,14 @@ module ActiveScaffold::Actions
92
92
  record = new_model
93
93
  copy_attributes(saved_record, record) if saved_record
94
94
  apply_constraints_to_record(record) unless scope
95
+ create_association_with_parent record, true if nested?
95
96
  update_record_from_params(record, columns, attributes || {}, true)
96
97
  end
97
98
 
98
99
  def updated_record_with_column(column, value, scope)
99
100
  record = params[:id] ? copy_attributes(find_if_allowed(params[:id], :read)) : new_model
100
101
  apply_constraints_to_record(record) unless scope || params[:id]
102
+ create_association_with_parent record, true if nested?
101
103
  value = column_value_from_param_value(record, column, value)
102
104
  record.send "#{column.name}=", value
103
105
  record.id = params[:id]
@@ -118,14 +118,15 @@ module ActiveScaffold::Actions
118
118
  @nested_parent_record ||= find_if_allowed(nested.parent_id, crud, nested.parent_model)
119
119
  end
120
120
 
121
- def create_association_with_parent?
121
+ def create_association_with_parent?(check_match = false)
122
122
  # has_many is done by beginning_of_chain and rails if direct association, not in through associations
123
123
  return false if nested.has_many? && !nested.association.through?
124
+ return false if check_match && !nested.match_model?(active_scaffold_config.model)
124
125
  nested.child_association && nested_parent_record
125
126
  end
126
127
 
127
- def create_association_with_parent(record)
128
- return unless create_association_with_parent?
128
+ def create_association_with_parent(record, check_match = false)
129
+ return unless create_association_with_parent?(check_match)
129
130
  if nested.child_association.singular?
130
131
  record.send("#{nested.child_association.name}=", nested_parent_record)
131
132
  elsif nested.association.through_singular? && nested.child_association.through_singular?
@@ -13,9 +13,7 @@ module ActiveScaffold::Actions
13
13
  parent_record = new_model
14
14
  # don't apply if scope, subform inside subform, because constraints won't apply to parent_record
15
15
  apply_constraints_to_record parent_record unless @scope
16
- if nested? && nested.match_model?(active_scaffold_config.model)
17
- create_association_with_parent parent_record
18
- end
16
+ create_association_with_parent parent_record, true if nested?
19
17
  parent_record
20
18
  end
21
19
 
@@ -160,8 +160,7 @@ module ActiveScaffold::Bridges
160
160
  format = datepicker_format(options, column.search_ui)
161
161
  options[:class] << " #{column.search_ui}"
162
162
  options[:style] = 'display: none' if options[:show] == false # hide only if asked to hide
163
- options[:data] ||= {}
164
- options[:data].merge! datepicker_format_options(column, format)
163
+ options[:data] = datepicker_format_options(column, format).reverse_merge!(options[:data] || {})
165
164
  value = l(value, :format => format) if value
166
165
  options = options.merge(:id => "#{options[:id]}_#{name}", :name => "#{options[:name]}[#{name}]", :object => nil)
167
166
  text_field_tag("#{options[:name]}[#{name}]", value, options)
@@ -176,8 +175,7 @@ module ActiveScaffold::Bridges
176
175
 
177
176
  format = datepicker_format(options, column.form_ui)
178
177
  value = controller.class.condition_value_for_datetime(column, record.send(column.name), column.form_ui == :date_picker ? :to_date : :to_time)
179
- options[:data] ||= {}
180
- options[:data].merge! datepicker_format_options(column, format)
178
+ options[:data] = datepicker_format_options(column, format).reverse_merge!(options[:data] || {})
181
179
  options[:value] = (value ? l(value, :format => format) : nil)
182
180
  text_field(:record, column.name, options)
183
181
  end
@@ -335,6 +335,7 @@ module ActiveScaffold
335
335
  html_options[:method] = link.method if link.method != :get
336
336
 
337
337
  html_options[:data] ||= {}
338
+ html_options[:data] = html_options[:data].deep_dup if html_options[:data].frozen?
338
339
  html_options[:data][:confirm] = link.confirm(h(record&.to_label)) if link.confirm?
339
340
  if !options[:page] && !options[:popup] && (options[:inline] || link.inline?)
340
341
  html_options[:class] << ' as_action'
@@ -2,7 +2,7 @@ module ActiveScaffold
2
2
  module Version
3
3
  MAJOR = 3
4
4
  MINOR = 6
5
- PATCH = 13
5
+ PATCH = 15
6
6
 
7
7
  STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
@@ -174,8 +174,8 @@
174
174
 
175
175
  for (var attrName in this._defaults) {
176
176
  if (this._defaults.hasOwnProperty(attrName)) {
177
- var attrValue = $input.attr('time:' + attrName);
178
- if (attrValue) {
177
+ var attrValue = $input.data(attrName.toLowerCase());
178
+ if (attrValue !== undefined) {
179
179
  try {
180
180
  inlineSettings[attrName] = eval(attrValue);
181
181
  } catch (err) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_scaffold
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.13
4
+ version: 3.6.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Many, see README
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-27 00:00:00.000000000 Z
11
+ date: 2022-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails