freeform 1.0.4 → 1.0.5

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.
@@ -3,11 +3,10 @@ require 'spec_helper'
3
3
  describe 'JavaScript Behavior', :js => true do
4
4
  include Capybara::DSL
5
5
 
6
- [:jquery, :prototype].each do |js_framework|
6
+ [:jquery].each do |js_framework|
7
7
 
8
8
  url = case js_framework
9
9
  when :jquery then '/projects/new'
10
- when :prototype then '/projects/new?type=prototype'
11
10
  end
12
11
 
13
12
  context "with #{js_framework}" do
@@ -22,6 +22,7 @@
22
22
  context = context.replace(new RegExp('\\[' + current[1] + '\\]\\[(new_)?\\d+\\]$'), '');
23
23
  }
24
24
 
25
+
25
26
  // context will be something like this for a brand new form:
26
27
  // project[tasks_attributes][1255929127459][assignments_attributes][1255929128105]
27
28
  // or for an edit form:
@@ -45,7 +46,7 @@
45
46
 
46
47
  // Make a unique ID for the new child
47
48
  var regexp = new RegExp('new_' + assoc, 'g');
48
- var new_id = this.newId();
49
+ var new_id = this.newId(assoc);
49
50
  content = $.trim(content.replace(regexp, new_id));
50
51
 
51
52
  var field = this.insertFields(content, assoc, link);
@@ -55,7 +56,11 @@
55
56
  .trigger({ type: 'nested:fieldAdded:' + assoc, field: field });
56
57
  return false;
57
58
  },
58
- newId: function() {
59
+ newId: function(assoc) {
60
+ // Instead, I should try to count the number of matches so far, then add 1
61
+ // return new Date().getTime();
62
+ // This is close, but it doesn't work if there is not link_to_remove
63
+ // return $('div.fields a[data-association*="' + assoc + '"]').length;
59
64
  return new Date().getTime();
60
65
  },
61
66
  insertFields: function(content, assoc, link) {
@@ -69,13 +74,13 @@
69
74
  removeFields: function(e) {
70
75
  var $link = $(e.currentTarget),
71
76
  assoc = $link.data('association'); // Name of child to be removed
72
-
77
+
73
78
  var hiddenField = $link.prev('input[type=hidden]');
74
79
  hiddenField.val('1');
75
-
80
+
76
81
  var field = $link.closest('.fields');
77
82
  field.hide();
78
-
83
+
79
84
  field
80
85
  .trigger({ type: 'nested:fieldRemoved', field: field })
81
86
  .trigger({ type: 'nested:fieldRemoved:' + assoc, field: field });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freeform
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - brycesenz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-02 00:00:00.000000000 Z
11
+ date: 2014-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -210,6 +210,7 @@ files:
210
210
  - lib/generators/freeform/install_generator.rb
211
211
  - lib/tasks/freeform_tasks.rake
212
212
  - spec/acceptance_spec.rb
213
+ - spec/behavior_spec.rb
213
214
  - spec/builder/builder_spec.rb
214
215
  - spec/builder/view_helper_spec.rb
215
216
  - spec/dummy/README.rdoc
@@ -219,8 +220,6 @@ files:
219
220
  - spec/dummy/app/assets/javascripts/jquery.js
220
221
  - spec/dummy/app/assets/javascripts/jquery_events_test.js
221
222
  - spec/dummy/app/assets/javascripts/projects.js
222
- - spec/dummy/app/assets/javascripts/prototype.js
223
- - spec/dummy/app/assets/javascripts/prototype_events_test.js
224
223
  - spec/dummy/app/assets/stylesheets/application.css
225
224
  - spec/dummy/app/assets/stylesheets/companies.css
226
225
  - spec/dummy/app/assets/stylesheets/projects.css
@@ -241,7 +240,6 @@ files:
241
240
  - spec/dummy/app/views/companies/new.html.erb
242
241
  - spec/dummy/app/views/layouts/application.html.erb
243
242
  - spec/dummy/app/views/projects/new.html.erb
244
- - spec/dummy/app/views/projects/without_intermediate_inputs.html.erb
245
243
  - spec/dummy/bin/bundle
246
244
  - spec/dummy/bin/rails
247
245
  - spec/dummy/bin/rake
@@ -281,7 +279,6 @@ files:
281
279
  - spec/persistence_spec.rb
282
280
  - spec/spec_helper.rb
283
281
  - vendor/assets/javascripts/jquery_freeform.js
284
- - vendor/assets/javascripts/prototype_freeform.js
285
282
  homepage: https://github.com/brycesenz/freeform
286
283
  licenses:
287
284
  - MIT
@@ -309,6 +306,7 @@ summary: FreeForm lets you compose forms however you like, explicitly guiding ho
309
306
  each field maps back to your domain models. No more accepting nested attributes!
310
307
  test_files:
311
308
  - spec/acceptance_spec.rb
309
+ - spec/behavior_spec.rb
312
310
  - spec/builder/builder_spec.rb
313
311
  - spec/builder/view_helper_spec.rb
314
312
  - spec/dummy/README.rdoc
@@ -318,8 +316,6 @@ test_files:
318
316
  - spec/dummy/app/assets/javascripts/jquery.js
319
317
  - spec/dummy/app/assets/javascripts/jquery_events_test.js
320
318
  - spec/dummy/app/assets/javascripts/projects.js
321
- - spec/dummy/app/assets/javascripts/prototype.js
322
- - spec/dummy/app/assets/javascripts/prototype_events_test.js
323
319
  - spec/dummy/app/assets/stylesheets/application.css
324
320
  - spec/dummy/app/assets/stylesheets/companies.css
325
321
  - spec/dummy/app/assets/stylesheets/projects.css
@@ -340,7 +336,6 @@ test_files:
340
336
  - spec/dummy/app/views/companies/new.html.erb
341
337
  - spec/dummy/app/views/layouts/application.html.erb
342
338
  - spec/dummy/app/views/projects/new.html.erb
343
- - spec/dummy/app/views/projects/without_intermediate_inputs.html.erb
344
339
  - spec/dummy/bin/bundle
345
340
  - spec/dummy/bin/rails
346
341
  - spec/dummy/bin/rake