rails_ajax_formhandler 0.1.3 → 0.1.4

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: febcfbb6122cc883467826b050043a5f836a00a4
4
- data.tar.gz: d34aac16aba237f793bcc48950190868b59c94a6
3
+ metadata.gz: b16d89a1cc885e39060f99cf45da8365b035e1c8
4
+ data.tar.gz: 3ba437a4d73b3d4438e0237c1d4392cf8a3d856a
5
5
  SHA512:
6
- metadata.gz: d4f3f0ebd17c79c1d9ca63c0cabe90a8f66dcbb46a627e6e12b30576021670a9e7690a1e895deb4a427ab804d5db6c5ae26fdbf499c831bb2473bbade356a063
7
- data.tar.gz: 27df9404a2a88bac6bf758998b36d9b57586c9b3ab315eca7fb6bfc9932353cdc2edbcd1b04c2782aa2a3ef54db3202fe0ad570069164f396fab5815ff15caf8
6
+ metadata.gz: 0e71402e8e855360087e61dfbba8cb98f7b489da9a4d52acc7f67210b9894b3db1d11fc429ab048b079cf7115052a844d19c951cff806c56ff633c859505e794
7
+ data.tar.gz: 3b7f81409edd07fb42c5135111289df16f35b5d6a6e096ebe3d440e7400e9d62a4ef79d14e13f466e572fd70f07e702607bd4511398b68d5cd34bb67d06f8b4a
data/.gitignore CHANGED
@@ -10,5 +10,6 @@
10
10
  <<<<<<< HEAD
11
11
  =======
12
12
  /.gitignore
13
+ /.gemspec
13
14
  /lib/.DS_Store
14
15
  >>>>>>> 9d6f3ee23dfee4cef6f8454363e58dd9d7624de3
data/README.md CHANGED
@@ -40,6 +40,10 @@ If you want to use built in validation-styles, add to your application.scss
40
40
 
41
41
  ## Usage
42
42
 
43
+ #Important
44
+ This works 'out of the box' with 'form_for'. Since Rails 5.1 the new 'form_with' is standard and 'form_for' will be removed completely removed in future releases. Until than,
45
+ the ajax_formhandler works with 'form_with' only with a little workaround, see below under "form_with". As soon as 'form_for' is completely removed, we'll come up with a new version, written explicitly for 'form_with'!
46
+
43
47
  This works with standard generated scaffold controllers, models and views seamlessely!
44
48
  Just add the following line to your js-file, for example 'client.js':
45
49
 
@@ -235,6 +239,24 @@ would look like
235
239
 
236
240
  In this case please make sure that the hidden-input appears _after_ the 'dummy-field', like in the example above in order to render validation errors properly!
237
241
 
242
+ # Using with "form_with"
243
+
244
+ ## in *_form.html.erb*
245
+
246
+ Adding an id , starting with "form_", ending with the modelname to the "form_with"- tag.
247
+ "form_with" doesn't add an id automatically, so you need to add an id in the same fashion:
248
+ `<modelname>_<fieldname>`
249
+
250
+
251
+ ```ruby
252
+ ...
253
+ <%=form_with model: costumer_bill, id: "form_costumer_bill" do |form|%>
254
+ ....
255
+ <%= form.text_field :name, id: "costumer_bill_name" %>
256
+ ...
257
+ <% end %>
258
+ ```
259
+
238
260
 
239
261
 
240
262
  ## Contributing and Support
@@ -1,3 +1,3 @@
1
1
  module RailsAjaxFormhandler
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -193,7 +193,7 @@ PLEASE NOTE THAT VALIDATION-RENDERING NOT WORKING WITH NESTED ATTRIBUTES, AT LEA
193
193
 
194
194
  */
195
195
 
196
-
196
+
197
197
 
198
198
  var FormHandler = function(options) {
199
199
  var options = options || {};
@@ -206,7 +206,7 @@ PLEASE NOTE THAT VALIDATION-RENDERING NOT WORKING WITH NESTED ATTRIBUTES, AT LEA
206
206
 
207
207
 
208
208
  FormHandler.prototype.filter_form_name = function(form_id) {
209
- var form_name,form_name_parts = form_id.replace(/(new_|edit_)/g, '').split('_');
209
+ var form_name,form_name_parts = form_id.replace(/(new_|edit_|form_)/g, '').split('_');
210
210
  var last_part = form_name_parts[form_name_parts.length -1]
211
211
  if(isNaN(parseInt(last_part))){
212
212
  form_name = form_name_parts.join("_")
@@ -232,11 +232,16 @@ PLEASE NOTE THAT VALIDATION-RENDERING NOT WORKING WITH NESTED ATTRIBUTES, AT LEA
232
232
  var global_defaults = this.global_defaults;
233
233
  var count = 0;
234
234
  $.each($('form'),function(index,form) {
235
-
235
+ if(form.id) {
236
236
  var form_name = form_handler.filter_form_name(form.id);
237
- var form_object = { id: form.id, ignore: false};
237
+ var form_object = { id: form.id, ignore: false, index: index};
238
238
  $.extend(true,form_object,global_defaults);
239
239
  form_objects[form_name] = form_object;
240
+ }
241
+ else {
242
+ console.error("Missing id on this form: the id must start with \"form_\" and end with the underscored modelname. Example: modelname is \"ClientHistory\" so the id must be \"form_client_history\". ")
243
+ return false;
244
+ }
240
245
 
241
246
  })
242
247
  return form_objects;
@@ -244,15 +249,19 @@ PLEASE NOTE THAT VALIDATION-RENDERING NOT WORKING WITH NESTED ATTRIBUTES, AT LEA
244
249
 
245
250
 
246
251
  FormHandler.prototype.init = function() {
247
- var instances = {};
248
- $.each(this.form_objects, function(name, settings) {
252
+ if(this.form_objects) {
253
+ var instances = {};
254
+ $.each(this.form_objects, function(name, settings) {
249
255
 
250
256
  if(!settings.ignore) {
251
257
  instances[name] = new FormObject(settings.id, settings);
252
258
  instances[name].set_listener()
253
259
  }
254
- })
255
- this.instances = instances;
260
+ })
261
+ this.instances = instances;
262
+ } else {
263
+ return false
264
+ }
256
265
 
257
266
  };
258
267
 
@@ -355,23 +364,10 @@ var FormObject = function(form_id, options) {
355
364
  }
356
365
  FormObject.prototype.set_form_type = function() {
357
366
  var form = $("#" + this.form_id);
358
- var to_array = this.form_id.split("_");
359
-
360
- if(to_array[0] === "edit" && !isNaN( parseInt(to_array[to_array.length -1]) ) ) {
361
-
362
- method = "PATCH"
363
- this.form_object_name = to_array.slice(1,(to_array.length -1) ).join("_")
364
-
365
-
366
- } else if(to_array[0] === "new") {
367
-
368
- if(to_array.length > 2) {
369
- this.form_object_name = to_array.slice(1,(to_array.length) ).join("_")
370
- } else {
371
- this.form_object_name = to_array[1]
372
- }
373
-
374
- }
367
+ if(form.find("input[name='_method']").length > 0) {
368
+ this.method = form.find("input[name='_method']").first().val();
369
+ }
370
+ this.form_object_name = this.form_id;
375
371
  };
376
372
 
377
373
 
@@ -411,6 +407,7 @@ FormObject.prototype.get_ajax_settings = function(event,values) {
411
407
  })
412
408
  };
413
409
 
410
+
414
411
  FormObject.prototype.set_redirections = function(redirections) {
415
412
  var redirections = redirections || {};
416
413
  var detected = {};
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_ajax_formhandler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Davide Brancaccio
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-25 00:00:00.000000000 Z
11
+ date: 2017-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler