s3ff 0.12.1 → 0.12.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
  SHA1:
3
- metadata.gz: dc078113b6351a5dda92bb1c3189286ca517dbf3
4
- data.tar.gz: ef1aefe00901a9166e318f1ab0fd8011e449235a
3
+ metadata.gz: c8cde9503b4b5fe42ca23124262e40975130876c
4
+ data.tar.gz: f021ac639a3ab7f6b0286418bb12ca9738a6864e
5
5
  SHA512:
6
- metadata.gz: 6dc6c08065b46cb03343b79c0894fbce1c72ce0c0f38ab8c754a172fca523fc9436cf0ef2f89eb0d677e72b57a2927d55649c53d939630350cfeb151b3c9e252
7
- data.tar.gz: e181edc54fb874ab9360ce8dfd8eed8e61e0ded34ca4af9e6f800e3593f127a53aec5976c64387baabe96d2e64de2fcb7b931ed4eaf91df10f98bc346e34bcc2
6
+ metadata.gz: 6fe225163985de90c5986e27d69a1e68bf1b02c0c1974be65e4f03c6efb4b4fdd92932dd465bc29da14e2097f0c657abe09906719fecd63fa0c252ed9306eb3a
7
+ data.tar.gz: e4e0c31d105ad69b3738b7b70c734a45469fdf22b7b2608b168775c8a0410195bc53d266bd068b7a659d47c3f8f77538f2833b0b0efb7d020467ff3c7c766193
@@ -10,6 +10,14 @@ $(function() {
10
10
  }
11
11
  if (! iCanHasCORSRequest()) return;
12
12
 
13
+ function makeArray(value) {
14
+ if (Array.isArray(value)) {
15
+ return value;
16
+ } else {
17
+ return Array(value);
18
+ }
19
+ }
20
+
13
21
  $(document).on('page:change', function() {
14
22
  if (!window.s3ff) {
15
23
  window.s3ff = {
@@ -19,9 +27,10 @@ $(function() {
19
27
 
20
28
  var that = $(this).addClass('s3ff_enabled');
21
29
  var multi = that.attr('multiple');
22
- var placeholder = that.data('placeholder');
23
- var obj = that.data('s3ff') || [ {} ];
24
- $.each(obj, function() { this.placeholder = placeholder; });
30
+ var placeholders = makeArray(that.data('placeholder'));
31
+ var obj = that.data('s3ff') || placeholders;
32
+ function assign_matching_placeholder(i) { this.placeholder = (placeholders[i] || (placeholders[0] && {})); };
33
+ $.each(obj, assign_matching_placeholder);
25
34
  var wrap = that.wrap('<div class="s3ff_fileinput_wrap"></div>').parent();
26
35
  var dom = $('<label class="s3ff_fileinput_label"></label>').attr('for', that.attr('id'));
27
36
  wrap.after(dom);
@@ -43,16 +52,17 @@ $(function() {
43
52
  var s3ff_handlers = {
44
53
  drop: function(e, data) {
45
54
  if ((e.delegatedEvent || e.originalEvent).target.parentNode != wrap[0]) return e.preventDefault();
55
+ $.each(data.files, assign_matching_placeholder);
46
56
  $.observable(obj).refresh(data.files);
47
57
  },
48
58
  change: function(e, data) {
59
+ $.each(data.files, assign_matching_placeholder);
49
60
  $.observable(obj).refresh(data.files);
50
61
  },
51
62
  send: function(e, data) {
52
63
  $.each(obj, function() {
53
64
  if (data.files[0].unique_id == this.unique_id) {
54
65
  this.progress_pct = "0%";
55
- this.placeholder = placeholder;
56
66
  }
57
67
  });
58
68
  $.observable(obj).refresh(obj);
data/lib/s3ff/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module S3FF
2
- VERSION = '0.12.1'
2
+ VERSION = '0.12.2'
3
3
  end
data/lib/s3ff.rb CHANGED
@@ -19,18 +19,18 @@ S3FileField::FormBuilder.class_eval do
19
19
  if new_direct_url.present?
20
20
  # this means we're re-rendering :. we should prepopulate the s3ff fields to avoid re-uploading
21
21
  options[:data] ||= {}
22
- options[:data].merge!({
23
- s3ff: [{
24
- fieldname: "#{object_name.to_s}[#{direct_url_attr}]",
25
- unique_id: "#{object_name.to_s.parameterize}#{SecureRandom.hex}",
26
- result: {
27
- filename: changes["#{method}_file_name"].try(:last) || File.basename(new_direct_url),
28
- filesize: changes["#{method}_file_size"].try(:last),
29
- filetype: changes["#{method}_content_type"].try(:last),
30
- url: new_direct_url,
31
- },
32
- }],
33
- })
22
+ options[:data][:s3ff] ||= begin
23
+ [*new_direct_url].collect do |url|
24
+ {
25
+ fieldname: "#{object_name.to_s}[#{direct_url_attr}]#{options[:multiple] ? '[]' : ''}",
26
+ unique_id: "#{object_name.to_s.parameterize}#{SecureRandom.hex}",
27
+ result: {
28
+ filename: File.basename(url),
29
+ url: url,
30
+ },
31
+ }
32
+ end
33
+ end
34
34
  end
35
35
  s3_file_field_without_s3ff(method, options)
36
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3ff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chew Choon Keat