jquery.fileupload-rails 0.1.2 → 1.0.0.alpha

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.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * jQuery Iframe Transport Plugin 1.4
2
+ * jQuery Iframe Transport Plugin 1.5
3
3
  * https://github.com/blueimp/jQuery-File-Upload
4
4
  *
5
5
  * Copyright 2011, Sebastian Tschan
@@ -42,6 +42,7 @@
42
42
  return {
43
43
  send: function (_, completeCallback) {
44
44
  form = $('<form style="display:none;"></form>');
45
+ form.attr('accept-charset', options.formAcceptCharset);
45
46
  // javascript:false as initial iframe src
46
47
  // prevents warning popups on HTTPS in IE6.
47
48
  // IE versions below IE8 cannot set the name property of
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery.fileupload-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
5
- prerelease:
4
+ version: 1.0.0.alpha
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Semyon Perepelitsa
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-05 00:00:00.000000000 Z
12
+ date: 2012-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sprockets
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: '2.0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: jquery-ui-rails
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  description: This gem packages jQuery File Upload plugin and it's dependencies for
31
47
  Rails asset pipeline.
32
48
  email:
@@ -36,20 +52,16 @@ extensions: []
36
52
  extra_rdoc_files: []
37
53
  files:
38
54
  - .gitignore
55
+ - .gitmodules
39
56
  - Gemfile
40
57
  - Rakefile
41
58
  - Readme.md
59
+ - dependencies.json
42
60
  - jquery.fileupload-rails.gemspec
43
61
  - lib/jquery.fileupload-rails.rb
44
62
  - lib/jquery.fileupload-rails/version.rb
45
- - vendor/assets/javascripts/jquery.fileupload-fp.js
46
- - vendor/assets/javascripts/jquery.fileupload-ip.js
47
- - vendor/assets/javascripts/jquery.fileupload-ui.js
48
63
  - vendor/assets/javascripts/jquery.fileupload.js
49
64
  - vendor/assets/javascripts/jquery.iframe-transport.js
50
- - vendor/assets/javascripts/jquery.postmessage-transport.js
51
- - vendor/assets/javascripts/jquery.xdr-transport.js
52
- - vendor/assets/stylesheets/jquery.fileupload-ui.css
53
65
  homepage: https://github.com/semaperepelitsa/jquery.fileupload-rails
54
66
  licenses: []
55
67
  post_install_message:
@@ -65,9 +77,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
65
77
  required_rubygems_version: !ruby/object:Gem::Requirement
66
78
  none: false
67
79
  requirements:
68
- - - ! '>='
80
+ - - ! '>'
69
81
  - !ruby/object:Gem::Version
70
- version: '0'
82
+ version: 1.3.1
71
83
  requirements: []
72
84
  rubyforge_project: jquery.fileupload-rails
73
85
  rubygems_version: 1.8.23
@@ -75,3 +87,4 @@ signing_key:
75
87
  specification_version: 3
76
88
  summary: Use jQuery File Upload plugin with Rails 3
77
89
  test_files: []
90
+ has_rdoc:
@@ -1,219 +0,0 @@
1
- /*
2
- * jQuery File Upload File Processing Plugin 1.0
3
- * https://github.com/blueimp/jQuery-File-Upload
4
- *
5
- * Copyright 2012, Sebastian Tschan
6
- * https://blueimp.net
7
- *
8
- * Licensed under the MIT license:
9
- * http://www.opensource.org/licenses/MIT
10
- */
11
-
12
- /*jslint nomen: true, unparam: true, regexp: true */
13
- /*global define, window, document */
14
-
15
- (function (factory) {
16
- 'use strict';
17
- if (typeof define === 'function' && define.amd) {
18
- // Register as an anonymous AMD module:
19
- define([
20
- 'jquery',
21
- 'load-image',
22
- 'canvas-to-blob',
23
- './jquery.fileupload'
24
- ], factory);
25
- } else {
26
- // Browser globals:
27
- factory(
28
- window.jQuery,
29
- window.loadImage
30
- );
31
- }
32
- }(function ($, loadImage) {
33
- 'use strict';
34
-
35
- // The File Upload IP version extends the basic fileupload widget
36
- // with file processing functionality:
37
- $.widget('blueimpFP.fileupload', $.blueimp.fileupload, {
38
-
39
- options: {
40
- // The list of file processing actions:
41
- process: [
42
- /*
43
- {
44
- action: 'load',
45
- fileTypes: /^image\/(gif|jpeg|png)$/,
46
- maxFileSize: 20000000 // 20MB
47
- },
48
- {
49
- action: 'resize',
50
- maxWidth: 1920,
51
- maxHeight: 1200,
52
- minWidth: 800,
53
- minHeight: 600
54
- },
55
- {
56
- action: 'save'
57
- }
58
- */
59
- ],
60
-
61
- // The add callback is invoked as soon as files are added to the
62
- // fileupload widget (via file input selection, drag & drop or add
63
- // API call). See the basic file upload widget for more information:
64
- add: function (e, data) {
65
- $(this).fileupload('process', data).done(function () {
66
- data.submit();
67
- });
68
- }
69
- },
70
-
71
- processActions: {
72
- // Loads the image given via data.files and data.index
73
- // as canvas element.
74
- // Accepts the options fileTypes (regular expression)
75
- // and maxFileSize (integer) to limit the files to load:
76
- load: function (data, options) {
77
- var that = this,
78
- file = data.files[data.index],
79
- dfd = $.Deferred();
80
- if (window.HTMLCanvasElement &&
81
- window.HTMLCanvasElement.prototype.toBlob &&
82
- ($.type(options.maxFileSize) !== 'number' ||
83
- file.size < options.maxFileSize) &&
84
- (!options.fileTypes ||
85
- options.fileTypes.test(file.type))) {
86
- loadImage(
87
- file,
88
- function (canvas) {
89
- data.canvas = canvas;
90
- dfd.resolveWith(that, [data]);
91
- },
92
- {canvas: true}
93
- );
94
- } else {
95
- dfd.rejectWith(that, [data]);
96
- }
97
- return dfd.promise();
98
- },
99
- // Resizes the image given as data.canvas and updates
100
- // data.canvas with the resized image.
101
- // Accepts the options maxWidth, maxHeight, minWidth and
102
- // minHeight to scale the given image:
103
- resize: function (data, options) {
104
- if (data.canvas) {
105
- var canvas = loadImage.scale(data.canvas, options);
106
- if (canvas.width !== data.canvas.width ||
107
- canvas.height !== data.canvas.height) {
108
- data.canvas = canvas;
109
- data.processed = true;
110
- }
111
- }
112
- return data;
113
- },
114
- // Saves the processed image given as data.canvas
115
- // inplace at data.index of data.files:
116
- save: function (data, options) {
117
- // Do nothing if no processing has happened:
118
- if (!data.canvas || !data.processed) {
119
- return data;
120
- }
121
- var that = this,
122
- file = data.files[data.index],
123
- name = file.name,
124
- dfd = $.Deferred(),
125
- callback = function (blob) {
126
- if (!blob.name) {
127
- if (file.type === blob.type) {
128
- blob.name = file.name;
129
- } else if (file.name) {
130
- blob.name = file.name.replace(
131
- /\..+$/,
132
- '.' + blob.type.substr(6)
133
- );
134
- }
135
- }
136
- // Store the created blob at the position
137
- // of the original file in the files list:
138
- data.files[data.index] = blob;
139
- dfd.resolveWith(that, [data]);
140
- };
141
- // Use canvas.mozGetAsFile directly, to retain the filename, as
142
- // Gecko doesn't support the filename option for FormData.append:
143
- if (data.canvas.mozGetAsFile) {
144
- callback(data.canvas.mozGetAsFile(
145
- (/^image\/(jpeg|png)$/.test(file.type) && name) ||
146
- ((name && name.replace(/\..+$/, '')) ||
147
- 'blob') + '.png',
148
- file.type
149
- ));
150
- } else {
151
- data.canvas.toBlob(callback, file.type);
152
- }
153
- return dfd.promise();
154
- }
155
- },
156
-
157
- // Resizes the file at the given index and stores the created blob at
158
- // the original position of the files list, returns a Promise object:
159
- _processFile: function (files, index, options) {
160
- var that = this,
161
- dfd = $.Deferred().resolveWith(that, [{
162
- files: files,
163
- index: index
164
- }]),
165
- chain = dfd.promise();
166
- that._processing += 1;
167
- $.each(options.process, function (i, settings) {
168
- chain = chain.pipe(function (data) {
169
- return that.processActions[settings.action]
170
- .call(this, data, settings);
171
- });
172
- });
173
- chain.always(function () {
174
- that._processing -= 1;
175
- if (that._processing === 0) {
176
- that.element
177
- .removeClass('fileupload-processing');
178
- }
179
- });
180
- if (that._processing === 1) {
181
- that.element.addClass('fileupload-processing');
182
- }
183
- return chain;
184
- },
185
-
186
- // Processes the files given as files property of the data parameter,
187
- // returns a Promise object that allows to bind a done handler, which
188
- // will be invoked after processing all files (inplace) is done:
189
- process: function (data) {
190
- var that = this,
191
- options = $.extend({}, this.options, data);
192
- if (options.process && options.process.length &&
193
- this._isXHRUpload(options)) {
194
- $.each(data.files, function (index, file) {
195
- that._processingQueue = that._processingQueue.pipe(
196
- function () {
197
- var dfd = $.Deferred();
198
- that._processFile(data.files, index, options)
199
- .always(function () {
200
- dfd.resolveWith(that);
201
- });
202
- return dfd.promise();
203
- }
204
- );
205
- });
206
- }
207
- return this._processingQueue;
208
- },
209
-
210
- _create: function () {
211
- $.blueimp.fileupload.prototype._create.call(this);
212
- this._processing = 0;
213
- this._processingQueue = $.Deferred().resolveWith(this)
214
- .promise();
215
- }
216
-
217
- });
218
-
219
- }));
@@ -1,160 +0,0 @@
1
- /*
2
- * jQuery File Upload Image Processing Plugin 1.0.6
3
- * https://github.com/blueimp/jQuery-File-Upload
4
- *
5
- * Copyright 2012, Sebastian Tschan
6
- * https://blueimp.net
7
- *
8
- * Licensed under the MIT license:
9
- * http://www.opensource.org/licenses/MIT
10
- */
11
-
12
- /*jslint nomen: true, unparam: true, regexp: true */
13
- /*global define, window, document */
14
-
15
- (function (factory) {
16
- 'use strict';
17
- if (typeof define === 'function' && define.amd) {
18
- // Register as an anonymous AMD module:
19
- define([
20
- 'jquery',
21
- 'load-image',
22
- 'canvas-to-blob',
23
- './jquery.fileupload'
24
- ], factory);
25
- } else {
26
- // Browser globals:
27
- factory(
28
- window.jQuery,
29
- window.loadImage,
30
- window.canvasToBlob
31
- );
32
- }
33
- }(function ($, loadImage, canvasToBlob) {
34
- 'use strict';
35
-
36
- // The File Upload IP version extends the basic fileupload widget
37
- // with image processing functionality:
38
- $.widget('blueimpIP.fileupload', $.blueimp.fileupload, {
39
-
40
- options: {
41
- // The regular expression to define which image files are to be
42
- // resized, given that the browser supports the operation:
43
- resizeSourceFileTypes: /^image\/(gif|jpeg|png)$/,
44
- // The maximum file size of images that are to be resized:
45
- resizeSourceMaxFileSize: 20000000, // 20MB
46
- // The maximum width of the resized images:
47
- resizeMaxWidth: undefined,
48
- // The maximum height of the resized images:
49
- resizeMaxHeight: undefined,
50
- // The minimum width of the resized images:
51
- resizeMinWidth: undefined,
52
- // The minimum height of the resized images:
53
- resizeMinHeight: undefined,
54
-
55
- // The add callback is invoked as soon as files are added to the fileupload
56
- // widget (via file input selection, drag & drop or add API call).
57
- // See the basic file upload widget for more information:
58
- add: function (e, data) {
59
- $(this).fileupload('resize', data).done(function () {
60
- data.submit();
61
- });
62
- }
63
- },
64
-
65
- // Resizes the image file at the given index and stores the created blob
66
- // at the original position of the files list, returns a Promise object:
67
- _resizeImage: function (files, index, options) {
68
- var that = this,
69
- file = files[index],
70
- deferred = $.Deferred(),
71
- canvas,
72
- blob;
73
- options = options || this.options;
74
- loadImage(
75
- file,
76
- function (img) {
77
- var width = img.width,
78
- height = img.height;
79
- canvas = loadImage.scale(img, {
80
- maxWidth: options.resizeMaxWidth,
81
- maxHeight: options.resizeMaxHeight,
82
- minWidth: options.resizeMinWidth,
83
- minHeight: options.resizeMinHeight,
84
- canvas: true
85
- });
86
- if (width !== canvas.width || height !== canvas.height) {
87
- canvasToBlob(canvas, function (blob) {
88
- if (!blob.name) {
89
- if (file.type === blob.type) {
90
- blob.name = file.name;
91
- } else if (file.name) {
92
- blob.name = file.name.replace(
93
- /\..+$/,
94
- '.' + blob.type.substr(6)
95
- );
96
- }
97
- }
98
- files[index] = blob;
99
- deferred.resolveWith(that);
100
- }, file);
101
- } else {
102
- deferred.resolveWith(that);
103
- }
104
- }
105
- );
106
- return deferred.promise();
107
- },
108
-
109
- // Resizes the images given as files property of the data parameter,
110
- // returns a Promise object that allows to bind a done handler, which
111
- // will be invoked after processing all images is done:
112
- resize: function (data) {
113
- var that = this,
114
- options = $.extend({}, this.options, data),
115
- resizeAll = $.type(options.resizeSourceMaxFileSize) !== 'number',
116
- isXHRUpload = this._isXHRUpload(options);
117
- $.each(data.files, function (index, file) {
118
- if (isXHRUpload && that._resizeSupport &&
119
- (options.resizeMaxWidth || options.resizeMaxHeight ||
120
- options.resizeMinWidth || options.resizeMinHeight) &&
121
- (resizeAll || file.size < options.resizeSourceMaxFileSize) &&
122
- options.resizeSourceFileTypes.test(file.type)) {
123
- that._processing += 1;
124
- if (that._processing === 1) {
125
- that.element.addClass('fileupload-processing');
126
- }
127
- that._processingQueue = that._processingQueue.pipe(function () {
128
- var deferred = $.Deferred();
129
- that._resizeImage(
130
- data.files,
131
- index,
132
- options
133
- ).done(function () {
134
- that._processing -= 1;
135
- if (that._processing === 0) {
136
- that.element
137
- .removeClass('fileupload-processing');
138
- }
139
- deferred.resolveWith(that);
140
- });
141
- return deferred.promise();
142
- });
143
- }
144
- });
145
- return this._processingQueue;
146
- },
147
-
148
- _create: function () {
149
- $.blueimp.fileupload.prototype._create.call(this);
150
- this._processing = 0;
151
- this._processingQueue = $.Deferred().resolveWith(this).promise();
152
- this._resizeSupport = canvasToBlob && canvasToBlob(
153
- document.createElement('canvas'),
154
- $.noop
155
- );
156
- }
157
-
158
- });
159
-
160
- }));