jquery-fileuploads-rails4 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/.gitmodules +3 -0
- data/Gemfile +4 -0
- data/Rakefile +40 -0
- data/Readme.md +92 -0
- data/demo/.gitignore +3 -0
- data/demo/Gemfile +8 -0
- data/demo/Rakefile +2 -0
- data/demo/Readme.md +12 -0
- data/demo/app/assets/javascripts/application.js.coffee +9 -0
- data/demo/app/controllers/application_controller.rb +7 -0
- data/demo/app/views/application/basic.html.erb +12 -0
- data/demo/app/views/application/create.html.erb +1 -0
- data/demo/app/views/application/ui.html.erb +1 -0
- data/demo/app/views/layouts/application.html.erb +13 -0
- data/demo/bin/bundle +3 -0
- data/demo/bin/rails +4 -0
- data/demo/bin/rake +4 -0
- data/demo/config.ru +4 -0
- data/demo/config/application.rb +21 -0
- data/demo/config/boot.rb +6 -0
- data/demo/config/environment.rb +5 -0
- data/demo/config/routes.rb +6 -0
- data/demo/log/.gitkeep +0 -0
- data/dependencies.json +4 -0
- data/jquery-fileuploads-rails4.gemspec +17 -0
- data/lib/jquery-fileuploads-rails4.rb +9 -0
- data/vendor/assets/javascripts/jquery.fileupload.js +1460 -0
- data/vendor/assets/javascripts/jquery.iframe-transport.js +214 -0
- data/vendor/legacy_assets/javascripts/jquery.fileupload-fp.js +219 -0
- data/vendor/legacy_assets/javascripts/jquery.fileupload-ip.js +160 -0
- data/vendor/legacy_assets/javascripts/jquery.fileupload-ui.js +702 -0
- data/vendor/legacy_assets/javascripts/jquery.postmessage-transport.js +117 -0
- data/vendor/legacy_assets/javascripts/jquery.xdr-transport.js +85 -0
- data/vendor/legacy_assets/stylesheets/jquery.fileupload-ui.css +84 -0
- metadata +107 -0
@@ -0,0 +1,117 @@
|
|
1
|
+
/*
|
2
|
+
* jQuery postMessage Transport Plugin 1.1
|
3
|
+
* https://github.com/blueimp/jQuery-File-Upload
|
4
|
+
*
|
5
|
+
* Copyright 2011, Sebastian Tschan
|
6
|
+
* https://blueimp.net
|
7
|
+
*
|
8
|
+
* Licensed under the MIT license:
|
9
|
+
* http://www.opensource.org/licenses/MIT
|
10
|
+
*/
|
11
|
+
|
12
|
+
/*jslint unparam: true, nomen: 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(['jquery'], factory);
|
20
|
+
} else {
|
21
|
+
// Browser globals:
|
22
|
+
factory(window.jQuery);
|
23
|
+
}
|
24
|
+
}(function ($) {
|
25
|
+
'use strict';
|
26
|
+
|
27
|
+
var counter = 0,
|
28
|
+
names = [
|
29
|
+
'accepts',
|
30
|
+
'cache',
|
31
|
+
'contents',
|
32
|
+
'contentType',
|
33
|
+
'crossDomain',
|
34
|
+
'data',
|
35
|
+
'dataType',
|
36
|
+
'headers',
|
37
|
+
'ifModified',
|
38
|
+
'mimeType',
|
39
|
+
'password',
|
40
|
+
'processData',
|
41
|
+
'timeout',
|
42
|
+
'traditional',
|
43
|
+
'type',
|
44
|
+
'url',
|
45
|
+
'username'
|
46
|
+
],
|
47
|
+
convert = function (p) {
|
48
|
+
return p;
|
49
|
+
};
|
50
|
+
|
51
|
+
$.ajaxSetup({
|
52
|
+
converters: {
|
53
|
+
'postmessage text': convert,
|
54
|
+
'postmessage json': convert,
|
55
|
+
'postmessage html': convert
|
56
|
+
}
|
57
|
+
});
|
58
|
+
|
59
|
+
$.ajaxTransport('postmessage', function (options) {
|
60
|
+
if (options.postMessage && window.postMessage) {
|
61
|
+
var iframe,
|
62
|
+
loc = $('<a>').prop('href', options.postMessage)[0],
|
63
|
+
target = loc.protocol + '//' + loc.host,
|
64
|
+
xhrUpload = options.xhr().upload;
|
65
|
+
return {
|
66
|
+
send: function (_, completeCallback) {
|
67
|
+
var message = {
|
68
|
+
id: 'postmessage-transport-' + (counter += 1)
|
69
|
+
},
|
70
|
+
eventName = 'message.' + message.id;
|
71
|
+
iframe = $(
|
72
|
+
'<iframe style="display:none;" src="' +
|
73
|
+
options.postMessage + '" name="' +
|
74
|
+
message.id + '"></iframe>'
|
75
|
+
).bind('load', function () {
|
76
|
+
$.each(names, function (i, name) {
|
77
|
+
message[name] = options[name];
|
78
|
+
});
|
79
|
+
message.dataType = message.dataType.replace('postmessage ', '');
|
80
|
+
$(window).bind(eventName, function (e) {
|
81
|
+
e = e.originalEvent;
|
82
|
+
var data = e.data,
|
83
|
+
ev;
|
84
|
+
if (e.origin === target && data.id === message.id) {
|
85
|
+
if (data.type === 'progress') {
|
86
|
+
ev = document.createEvent('Event');
|
87
|
+
ev.initEvent(data.type, false, true);
|
88
|
+
$.extend(ev, data);
|
89
|
+
xhrUpload.dispatchEvent(ev);
|
90
|
+
} else {
|
91
|
+
completeCallback(
|
92
|
+
data.status,
|
93
|
+
data.statusText,
|
94
|
+
{postmessage: data.result},
|
95
|
+
data.headers
|
96
|
+
);
|
97
|
+
iframe.remove();
|
98
|
+
$(window).unbind(eventName);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
});
|
102
|
+
iframe[0].contentWindow.postMessage(
|
103
|
+
message,
|
104
|
+
target
|
105
|
+
);
|
106
|
+
}).appendTo(document.body);
|
107
|
+
},
|
108
|
+
abort: function () {
|
109
|
+
if (iframe) {
|
110
|
+
iframe.remove();
|
111
|
+
}
|
112
|
+
}
|
113
|
+
};
|
114
|
+
}
|
115
|
+
});
|
116
|
+
|
117
|
+
}));
|
@@ -0,0 +1,85 @@
|
|
1
|
+
/*
|
2
|
+
* jQuery XDomainRequest Transport Plugin 1.1.2
|
3
|
+
* https://github.com/blueimp/jQuery-File-Upload
|
4
|
+
*
|
5
|
+
* Copyright 2011, Sebastian Tschan
|
6
|
+
* https://blueimp.net
|
7
|
+
*
|
8
|
+
* Licensed under the MIT license:
|
9
|
+
* http://www.opensource.org/licenses/MIT
|
10
|
+
*
|
11
|
+
* Based on Julian Aubourg's ajaxHooks xdr.js:
|
12
|
+
* https://github.com/jaubourg/ajaxHooks/
|
13
|
+
*/
|
14
|
+
|
15
|
+
/*jslint unparam: true */
|
16
|
+
/*global define, window, XDomainRequest */
|
17
|
+
|
18
|
+
(function (factory) {
|
19
|
+
'use strict';
|
20
|
+
if (typeof define === 'function' && define.amd) {
|
21
|
+
// Register as an anonymous AMD module:
|
22
|
+
define(['jquery'], factory);
|
23
|
+
} else {
|
24
|
+
// Browser globals:
|
25
|
+
factory(window.jQuery);
|
26
|
+
}
|
27
|
+
}(function ($) {
|
28
|
+
'use strict';
|
29
|
+
if (window.XDomainRequest && !$.support.cors) {
|
30
|
+
$.ajaxTransport(function (s) {
|
31
|
+
if (s.crossDomain && s.async) {
|
32
|
+
if (s.timeout) {
|
33
|
+
s.xdrTimeout = s.timeout;
|
34
|
+
delete s.timeout;
|
35
|
+
}
|
36
|
+
var xdr;
|
37
|
+
return {
|
38
|
+
send: function (headers, completeCallback) {
|
39
|
+
function callback(status, statusText, responses, responseHeaders) {
|
40
|
+
xdr.onload = xdr.onerror = xdr.ontimeout = $.noop;
|
41
|
+
xdr = null;
|
42
|
+
completeCallback(status, statusText, responses, responseHeaders);
|
43
|
+
}
|
44
|
+
xdr = new XDomainRequest();
|
45
|
+
// XDomainRequest only supports GET and POST:
|
46
|
+
if (s.type === 'DELETE') {
|
47
|
+
s.url = s.url + (/\?/.test(s.url) ? '&' : '?') +
|
48
|
+
'_method=DELETE';
|
49
|
+
s.type = 'POST';
|
50
|
+
} else if (s.type === 'PUT') {
|
51
|
+
s.url = s.url + (/\?/.test(s.url) ? '&' : '?') +
|
52
|
+
'_method=PUT';
|
53
|
+
s.type = 'POST';
|
54
|
+
}
|
55
|
+
xdr.open(s.type, s.url);
|
56
|
+
xdr.onload = function () {
|
57
|
+
callback(
|
58
|
+
200,
|
59
|
+
'OK',
|
60
|
+
{text: xdr.responseText},
|
61
|
+
'Content-Type: ' + xdr.contentType
|
62
|
+
);
|
63
|
+
};
|
64
|
+
xdr.onerror = function () {
|
65
|
+
callback(404, 'Not Found');
|
66
|
+
};
|
67
|
+
if (s.xdrTimeout) {
|
68
|
+
xdr.ontimeout = function () {
|
69
|
+
callback(0, 'timeout');
|
70
|
+
};
|
71
|
+
xdr.timeout = s.xdrTimeout;
|
72
|
+
}
|
73
|
+
xdr.send((s.hasContent && s.data) || null);
|
74
|
+
},
|
75
|
+
abort: function () {
|
76
|
+
if (xdr) {
|
77
|
+
xdr.onerror = $.noop();
|
78
|
+
xdr.abort();
|
79
|
+
}
|
80
|
+
}
|
81
|
+
};
|
82
|
+
}
|
83
|
+
});
|
84
|
+
}
|
85
|
+
}));
|
@@ -0,0 +1,84 @@
|
|
1
|
+
@charset 'UTF-8';
|
2
|
+
/*
|
3
|
+
* jQuery File Upload UI Plugin CSS 6.3
|
4
|
+
* https://github.com/blueimp/jQuery-File-Upload
|
5
|
+
*
|
6
|
+
* Copyright 2010, Sebastian Tschan
|
7
|
+
* https://blueimp.net
|
8
|
+
*
|
9
|
+
* Licensed under the MIT license:
|
10
|
+
* http://www.opensource.org/licenses/MIT
|
11
|
+
*/
|
12
|
+
|
13
|
+
.fileinput-button {
|
14
|
+
position: relative;
|
15
|
+
overflow: hidden;
|
16
|
+
float: left;
|
17
|
+
margin-right: 4px;
|
18
|
+
}
|
19
|
+
.fileinput-button input {
|
20
|
+
position: absolute;
|
21
|
+
top: 0;
|
22
|
+
right: 0;
|
23
|
+
margin: 0;
|
24
|
+
border: solid transparent;
|
25
|
+
border-width: 0 0 100px 200px;
|
26
|
+
opacity: 0;
|
27
|
+
filter: alpha(opacity=0);
|
28
|
+
-moz-transform: translate(-300px, 0) scale(4);
|
29
|
+
direction: ltr;
|
30
|
+
cursor: pointer;
|
31
|
+
}
|
32
|
+
.fileupload-buttonbar .btn,
|
33
|
+
.fileupload-buttonbar .toggle {
|
34
|
+
margin-bottom: 5px;
|
35
|
+
}
|
36
|
+
.files .progress {
|
37
|
+
width: 200px;
|
38
|
+
}
|
39
|
+
.progress-animated .bar {
|
40
|
+
background: url(../img/progressbar.gif) !important;
|
41
|
+
filter: none;
|
42
|
+
}
|
43
|
+
.fileupload-loading {
|
44
|
+
position: absolute;
|
45
|
+
left: 50%;
|
46
|
+
width: 128px;
|
47
|
+
height: 128px;
|
48
|
+
background: url(../img/loading.gif) center no-repeat;
|
49
|
+
display: none;
|
50
|
+
}
|
51
|
+
.fileupload-processing .fileupload-loading {
|
52
|
+
display: block;
|
53
|
+
}
|
54
|
+
|
55
|
+
/* Fix for IE 6: */
|
56
|
+
* html .fileinput-button {
|
57
|
+
line-height: 22px;
|
58
|
+
margin: 1px -3px 0 0;
|
59
|
+
}
|
60
|
+
|
61
|
+
/* Fix for IE 7: */
|
62
|
+
* + html .fileinput-button {
|
63
|
+
margin: 1px 0 0 0;
|
64
|
+
}
|
65
|
+
|
66
|
+
@media (max-width: 480px) {
|
67
|
+
.files .btn span {
|
68
|
+
display: none;
|
69
|
+
}
|
70
|
+
.files .preview * {
|
71
|
+
width: 40px;
|
72
|
+
}
|
73
|
+
.files .name * {
|
74
|
+
width: 80px;
|
75
|
+
display: inline-block;
|
76
|
+
word-wrap: break-word;
|
77
|
+
}
|
78
|
+
.files .progress {
|
79
|
+
width: 20px;
|
80
|
+
}
|
81
|
+
.files .delete {
|
82
|
+
width: 60px;
|
83
|
+
}
|
84
|
+
}
|
metadata
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jquery-fileuploads-rails4
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Karthik K
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-01-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: railties
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: jquery-ui-rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '5.0'
|
41
|
+
description: This gem packages jQuery File Upload plugin and it's dependencies for
|
42
|
+
Rails asset pipeline.
|
43
|
+
email: bello@skript.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".gitignore"
|
49
|
+
- ".gitmodules"
|
50
|
+
- Gemfile
|
51
|
+
- Rakefile
|
52
|
+
- Readme.md
|
53
|
+
- demo/.gitignore
|
54
|
+
- demo/Gemfile
|
55
|
+
- demo/Rakefile
|
56
|
+
- demo/Readme.md
|
57
|
+
- demo/app/assets/javascripts/application.js.coffee
|
58
|
+
- demo/app/controllers/application_controller.rb
|
59
|
+
- demo/app/views/application/basic.html.erb
|
60
|
+
- demo/app/views/application/create.html.erb
|
61
|
+
- demo/app/views/application/ui.html.erb
|
62
|
+
- demo/app/views/layouts/application.html.erb
|
63
|
+
- demo/bin/bundle
|
64
|
+
- demo/bin/rails
|
65
|
+
- demo/bin/rake
|
66
|
+
- demo/config.ru
|
67
|
+
- demo/config/application.rb
|
68
|
+
- demo/config/boot.rb
|
69
|
+
- demo/config/environment.rb
|
70
|
+
- demo/config/routes.rb
|
71
|
+
- demo/log/.gitkeep
|
72
|
+
- dependencies.json
|
73
|
+
- jquery-fileuploads-rails4.gemspec
|
74
|
+
- lib/jquery-fileuploads-rails4.rb
|
75
|
+
- vendor/assets/javascripts/jquery.fileupload.js
|
76
|
+
- vendor/assets/javascripts/jquery.iframe-transport.js
|
77
|
+
- vendor/legacy_assets/javascripts/jquery.fileupload-fp.js
|
78
|
+
- vendor/legacy_assets/javascripts/jquery.fileupload-ip.js
|
79
|
+
- vendor/legacy_assets/javascripts/jquery.fileupload-ui.js
|
80
|
+
- vendor/legacy_assets/javascripts/jquery.postmessage-transport.js
|
81
|
+
- vendor/legacy_assets/javascripts/jquery.xdr-transport.js
|
82
|
+
- vendor/legacy_assets/stylesheets/jquery.fileupload-ui.css
|
83
|
+
homepage: https://github.com/skcript/jquery-fileuploads-rails4
|
84
|
+
licenses:
|
85
|
+
- MIT
|
86
|
+
metadata: {}
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options: []
|
89
|
+
require_paths:
|
90
|
+
- lib
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
requirements: []
|
102
|
+
rubyforge_project:
|
103
|
+
rubygems_version: 2.2.2
|
104
|
+
signing_key:
|
105
|
+
specification_version: 4
|
106
|
+
summary: Use jQuery File Upload plugin with Rails 4
|
107
|
+
test_files: []
|