card-mod-machines 0.11.1 → 0.11.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/file/all_script_machine_output/file.js +2 -2558
- data/file/all_style_machine_output/file.css +2 -2
- data/file/script_html5shiv_printshiv_machine_output/file.js +1 -1
- data/lib/card/machine.rb +2 -0
- data/set/abstract/machine.rb +2 -2
- data/set/abstract/machine/output_update.rb +7 -0
- data/set/abstract/machine_input.rb +1 -0
- data/vendor/jquery_file_upload/CONTRIBUTING.md +15 -0
- data/vendor/jquery_file_upload/LICENSE.txt +21 -0
- data/vendor/jquery_file_upload/README.md +107 -0
- data/vendor/jquery_file_upload/angularjs.html +211 -0
- data/vendor/jquery_file_upload/basic-plus.html +226 -0
- data/vendor/jquery_file_upload/basic.html +136 -0
- data/vendor/jquery_file_upload/bower-version-update.js +16 -0
- data/vendor/jquery_file_upload/bower.json +64 -0
- data/vendor/jquery_file_upload/cors/postmessage.html +75 -0
- data/vendor/jquery_file_upload/cors/result.html +24 -0
- data/vendor/jquery_file_upload/css/jquery-ui-demo-ie8.css +21 -0
- data/vendor/jquery_file_upload/css/jquery-ui-demo.css +67 -0
- data/vendor/jquery_file_upload/css/jquery.fileupload-noscript.css +22 -0
- data/vendor/jquery_file_upload/css/jquery.fileupload-ui-noscript.css +17 -0
- data/vendor/jquery_file_upload/css/jquery.fileupload-ui.css +57 -0
- data/vendor/jquery_file_upload/css/jquery.fileupload.css +37 -0
- data/vendor/jquery_file_upload/css/style.css +15 -0
- data/vendor/jquery_file_upload/img/loading.gif +0 -0
- data/vendor/jquery_file_upload/img/progressbar.gif +0 -0
- data/vendor/jquery_file_upload/index.html +255 -0
- data/vendor/jquery_file_upload/jquery-ui.html +252 -0
- data/vendor/jquery_file_upload/js/app.js +101 -0
- data/vendor/jquery_file_upload/js/cors/jquery.postmessage-transport.js +126 -0
- data/vendor/jquery_file_upload/js/cors/jquery.xdr-transport.js +89 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-angular.js +437 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-audio.js +113 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-image.js +326 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-jquery-ui.js +161 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-process.js +178 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-ui.js +714 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-validate.js +125 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload-video.js +113 -0
- data/vendor/jquery_file_upload/js/jquery.fileupload.js +1486 -0
- data/vendor/jquery_file_upload/js/jquery.iframe-transport.js +224 -0
- data/vendor/jquery_file_upload/js/main.js +75 -0
- data/vendor/jquery_file_upload/js/vendor/jquery.ui.widget.js +748 -0
- data/vendor/jquery_file_upload/package.json +55 -0
- data/vendor/jquery_file_upload/server/gae-go/app.yaml +12 -0
- data/vendor/jquery_file_upload/server/gae-go/app/main.go +361 -0
- data/vendor/jquery_file_upload/server/gae-go/static/favicon.ico +0 -0
- data/vendor/jquery_file_upload/server/gae-go/static/robots.txt +2 -0
- data/vendor/jquery_file_upload/server/gae-python/app.yaml +17 -0
- data/vendor/jquery_file_upload/server/gae-python/main.py +204 -0
- data/vendor/jquery_file_upload/server/gae-python/static/favicon.ico +0 -0
- data/vendor/jquery_file_upload/server/gae-python/static/robots.txt +2 -0
- data/vendor/jquery_file_upload/server/php/Dockerfile +38 -0
- data/vendor/jquery_file_upload/server/php/UploadHandler.php +1411 -0
- data/vendor/jquery_file_upload/server/php/docker-compose.yml +9 -0
- data/vendor/jquery_file_upload/server/php/index.php +15 -0
- data/vendor/jquery_file_upload/test/index.html +172 -0
- data/vendor/jquery_file_upload/test/test.js +1292 -0
- data/vendor/jquery_rails/CHANGELOG.md +359 -0
- data/vendor/jquery_rails/CONTRIBUTING.md +132 -0
- data/vendor/jquery_rails/Gemfile +22 -0
- data/vendor/jquery_rails/MIT-LICENSE +21 -0
- data/vendor/jquery_rails/README.md +75 -0
- data/vendor/jquery_rails/Rakefile +59 -0
- data/vendor/jquery_rails/VERSIONS.md +62 -0
- data/vendor/jquery_rails/jquery-rails.gemspec +26 -0
- data/vendor/jquery_rails/lib/jquery-rails.rb +1 -0
- data/vendor/jquery_rails/lib/jquery/assert_select.rb +149 -0
- data/vendor/jquery_rails/lib/jquery/rails.rb +8 -0
- data/vendor/jquery_rails/lib/jquery/rails/engine.rb +6 -0
- data/vendor/jquery_rails/lib/jquery/rails/version.rb +9 -0
- data/vendor/jquery_rails/test/assert_select_jquery_test.rb +85 -0
- data/vendor/jquery_rails/test/test_helper.rb +6 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery.js +11008 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery.min.js +5 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery.min.map +1 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.js +9814 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.js +4 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.map +1 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.js +10364 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.js +2 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.map +1 -0
- data/vendor/jquery_rails/vendor/assets/javascripts/jquery_ujs.js +555 -0
- metadata +115 -14
@@ -0,0 +1,226 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<!--
|
3
|
+
/*
|
4
|
+
* jQuery File Upload Plugin Basic Plus Demo
|
5
|
+
* https://github.com/blueimp/jQuery-File-Upload
|
6
|
+
*
|
7
|
+
* Copyright 2013, Sebastian Tschan
|
8
|
+
* https://blueimp.net
|
9
|
+
*
|
10
|
+
* Licensed under the MIT license:
|
11
|
+
* https://opensource.org/licenses/MIT
|
12
|
+
*/
|
13
|
+
-->
|
14
|
+
<html lang="en">
|
15
|
+
<head>
|
16
|
+
<!-- Force latest IE rendering engine or ChromeFrame if installed -->
|
17
|
+
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
|
18
|
+
<meta charset="utf-8">
|
19
|
+
<title>jQuery File Upload Demo - Basic Plus version</title>
|
20
|
+
<meta name="description" content="File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.">
|
21
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
22
|
+
<!-- Bootstrap styles -->
|
23
|
+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
24
|
+
<!-- Generic page styles -->
|
25
|
+
<link rel="stylesheet" href="css/style.css">
|
26
|
+
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
|
27
|
+
<link rel="stylesheet" href="css/jquery.fileupload.css">
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="navbar navbar-default navbar-fixed-top">
|
31
|
+
<div class="container">
|
32
|
+
<div class="navbar-header">
|
33
|
+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-fixed-top .navbar-collapse">
|
34
|
+
<span class="icon-bar"></span>
|
35
|
+
<span class="icon-bar"></span>
|
36
|
+
<span class="icon-bar"></span>
|
37
|
+
</button>
|
38
|
+
<a class="navbar-brand" href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a>
|
39
|
+
</div>
|
40
|
+
<div class="navbar-collapse collapse">
|
41
|
+
<ul class="nav navbar-nav">
|
42
|
+
<li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
|
43
|
+
<li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
|
44
|
+
<li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
|
45
|
+
<li><a href="https://blueimp.net">© Sebastian Tschan</a></li>
|
46
|
+
</ul>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
50
|
+
<div class="container">
|
51
|
+
<h1>jQuery File Upload Demo</h1>
|
52
|
+
<h2 class="lead">Basic Plus version</h2>
|
53
|
+
<ul class="nav nav-tabs">
|
54
|
+
<li><a href="basic.html">Basic</a></li>
|
55
|
+
<li class="active"><a href="basic-plus.html">Basic Plus</a></li>
|
56
|
+
<li><a href="index.html">Basic Plus UI</a></li>
|
57
|
+
<li><a href="angularjs.html">AngularJS</a></li>
|
58
|
+
<li><a href="jquery-ui.html">jQuery UI</a></li>
|
59
|
+
</ul>
|
60
|
+
<br>
|
61
|
+
<blockquote>
|
62
|
+
<p>File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery.<br>
|
63
|
+
Supports cross-domain, chunked and resumable file uploads and client-side image resizing.<br>
|
64
|
+
Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
|
65
|
+
</blockquote>
|
66
|
+
<br>
|
67
|
+
<!-- The fileinput-button span is used to style the file input field as button -->
|
68
|
+
<span class="btn btn-success fileinput-button">
|
69
|
+
<i class="glyphicon glyphicon-plus"></i>
|
70
|
+
<span>Add files...</span>
|
71
|
+
<!-- The file input field used as target for the file upload widget -->
|
72
|
+
<input id="fileupload" type="file" name="files[]" multiple>
|
73
|
+
</span>
|
74
|
+
<br>
|
75
|
+
<br>
|
76
|
+
<!-- The global progress bar -->
|
77
|
+
<div id="progress" class="progress">
|
78
|
+
<div class="progress-bar progress-bar-success"></div>
|
79
|
+
</div>
|
80
|
+
<!-- The container for the uploaded files -->
|
81
|
+
<div id="files" class="files"></div>
|
82
|
+
<br>
|
83
|
+
<div class="panel panel-default">
|
84
|
+
<div class="panel-heading">
|
85
|
+
<h3 class="panel-title">Demo Notes</h3>
|
86
|
+
</div>
|
87
|
+
<div class="panel-body">
|
88
|
+
<ul>
|
89
|
+
<li>The maximum file size for uploads in this demo is <strong>999 KB</strong> (default file size is unlimited).</li>
|
90
|
+
<li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
|
91
|
+
<li>Uploaded files will be deleted automatically after <strong>5 minutes or less</strong> (demo files are stored in memory).</li>
|
92
|
+
<li>You can <strong>drag & drop</strong> files from your desktop on this webpage (see <a href="https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support">Browser support</a>).</li>
|
93
|
+
<li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
|
94
|
+
<li>Built with the <a href="http://getbootstrap.com/">Bootstrap</a> CSS framework and Icons from <a href="http://glyphicons.com/">Glyphicons</a>.</li>
|
95
|
+
</ul>
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
</div>
|
99
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
100
|
+
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
|
101
|
+
<script src="js/vendor/jquery.ui.widget.js"></script>
|
102
|
+
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
|
103
|
+
<script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script>
|
104
|
+
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
|
105
|
+
<script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
|
106
|
+
<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
|
107
|
+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
108
|
+
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
|
109
|
+
<script src="js/jquery.iframe-transport.js"></script>
|
110
|
+
<!-- The basic File Upload plugin -->
|
111
|
+
<script src="js/jquery.fileupload.js"></script>
|
112
|
+
<!-- The File Upload processing plugin -->
|
113
|
+
<script src="js/jquery.fileupload-process.js"></script>
|
114
|
+
<!-- The File Upload image preview & resize plugin -->
|
115
|
+
<script src="js/jquery.fileupload-image.js"></script>
|
116
|
+
<!-- The File Upload audio preview plugin -->
|
117
|
+
<script src="js/jquery.fileupload-audio.js"></script>
|
118
|
+
<!-- The File Upload video preview plugin -->
|
119
|
+
<script src="js/jquery.fileupload-video.js"></script>
|
120
|
+
<!-- The File Upload validation plugin -->
|
121
|
+
<script src="js/jquery.fileupload-validate.js"></script>
|
122
|
+
<script>
|
123
|
+
/*jslint unparam: true, regexp: true */
|
124
|
+
/*global window, $ */
|
125
|
+
$(function () {
|
126
|
+
'use strict';
|
127
|
+
// Change this to the location of your server-side upload handler:
|
128
|
+
var url = window.location.hostname === 'blueimp.github.io' ?
|
129
|
+
'//jquery-file-upload.appspot.com/' : 'server/php/',
|
130
|
+
uploadButton = $('<button/>')
|
131
|
+
.addClass('btn btn-primary')
|
132
|
+
.prop('disabled', true)
|
133
|
+
.text('Processing...')
|
134
|
+
.on('click', function () {
|
135
|
+
var $this = $(this),
|
136
|
+
data = $this.data();
|
137
|
+
$this
|
138
|
+
.off('click')
|
139
|
+
.text('Abort')
|
140
|
+
.on('click', function () {
|
141
|
+
$this.remove();
|
142
|
+
data.abort();
|
143
|
+
});
|
144
|
+
data.submit().always(function () {
|
145
|
+
$this.remove();
|
146
|
+
});
|
147
|
+
});
|
148
|
+
$('#fileupload').fileupload({
|
149
|
+
url: url,
|
150
|
+
dataType: 'json',
|
151
|
+
autoUpload: false,
|
152
|
+
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
|
153
|
+
maxFileSize: 999000,
|
154
|
+
// Enable image resizing, except for Android and Opera,
|
155
|
+
// which actually support image resizing, but fail to
|
156
|
+
// send Blob objects via XHR requests:
|
157
|
+
disableImageResize: /Android(?!.*Chrome)|Opera/
|
158
|
+
.test(window.navigator.userAgent),
|
159
|
+
previewMaxWidth: 100,
|
160
|
+
previewMaxHeight: 100,
|
161
|
+
previewCrop: true
|
162
|
+
}).on('fileuploadadd', function (e, data) {
|
163
|
+
data.context = $('<div/>').appendTo('#files');
|
164
|
+
$.each(data.files, function (index, file) {
|
165
|
+
var node = $('<p/>')
|
166
|
+
.append($('<span/>').text(file.name));
|
167
|
+
if (!index) {
|
168
|
+
node
|
169
|
+
.append('<br>')
|
170
|
+
.append(uploadButton.clone(true).data(data));
|
171
|
+
}
|
172
|
+
node.appendTo(data.context);
|
173
|
+
});
|
174
|
+
}).on('fileuploadprocessalways', function (e, data) {
|
175
|
+
var index = data.index,
|
176
|
+
file = data.files[index],
|
177
|
+
node = $(data.context.children()[index]);
|
178
|
+
if (file.preview) {
|
179
|
+
node
|
180
|
+
.prepend('<br>')
|
181
|
+
.prepend(file.preview);
|
182
|
+
}
|
183
|
+
if (file.error) {
|
184
|
+
node
|
185
|
+
.append('<br>')
|
186
|
+
.append($('<span class="text-danger"/>').text(file.error));
|
187
|
+
}
|
188
|
+
if (index + 1 === data.files.length) {
|
189
|
+
data.context.find('button')
|
190
|
+
.text('Upload')
|
191
|
+
.prop('disabled', !!data.files.error);
|
192
|
+
}
|
193
|
+
}).on('fileuploadprogressall', function (e, data) {
|
194
|
+
var progress = parseInt(data.loaded / data.total * 100, 10);
|
195
|
+
$('#progress .progress-bar').css(
|
196
|
+
'width',
|
197
|
+
progress + '%'
|
198
|
+
);
|
199
|
+
}).on('fileuploaddone', function (e, data) {
|
200
|
+
$.each(data.result.files, function (index, file) {
|
201
|
+
if (file.url) {
|
202
|
+
var link = $('<a>')
|
203
|
+
.attr('target', '_blank')
|
204
|
+
.prop('href', file.url);
|
205
|
+
$(data.context.children()[index])
|
206
|
+
.wrap(link);
|
207
|
+
} else if (file.error) {
|
208
|
+
var error = $('<span class="text-danger"/>').text(file.error);
|
209
|
+
$(data.context.children()[index])
|
210
|
+
.append('<br>')
|
211
|
+
.append(error);
|
212
|
+
}
|
213
|
+
});
|
214
|
+
}).on('fileuploadfail', function (e, data) {
|
215
|
+
$.each(data.files, function (index) {
|
216
|
+
var error = $('<span class="text-danger"/>').text('File upload failed.');
|
217
|
+
$(data.context.children()[index])
|
218
|
+
.append('<br>')
|
219
|
+
.append(error);
|
220
|
+
});
|
221
|
+
}).prop('disabled', !$.support.fileInput)
|
222
|
+
.parent().addClass($.support.fileInput ? undefined : 'disabled');
|
223
|
+
});
|
224
|
+
</script>
|
225
|
+
</body>
|
226
|
+
</html>
|
@@ -0,0 +1,136 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<!--
|
3
|
+
/*
|
4
|
+
* jQuery File Upload Plugin Basic Demo
|
5
|
+
* https://github.com/blueimp/jQuery-File-Upload
|
6
|
+
*
|
7
|
+
* Copyright 2013, Sebastian Tschan
|
8
|
+
* https://blueimp.net
|
9
|
+
*
|
10
|
+
* Licensed under the MIT license:
|
11
|
+
* https://opensource.org/licenses/MIT
|
12
|
+
*/
|
13
|
+
-->
|
14
|
+
<html lang="en">
|
15
|
+
<head>
|
16
|
+
<!-- Force latest IE rendering engine or ChromeFrame if installed -->
|
17
|
+
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
|
18
|
+
<meta charset="utf-8">
|
19
|
+
<title>jQuery File Upload Demo - Basic version</title>
|
20
|
+
<meta name="description" content="File Upload widget with multiple file selection, drag&drop support and progress bar for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.">
|
21
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
22
|
+
<!-- Bootstrap styles -->
|
23
|
+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
24
|
+
<!-- Generic page styles -->
|
25
|
+
<link rel="stylesheet" href="css/style.css">
|
26
|
+
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
|
27
|
+
<link rel="stylesheet" href="css/jquery.fileupload.css">
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="navbar navbar-default navbar-fixed-top">
|
31
|
+
<div class="container">
|
32
|
+
<div class="navbar-header">
|
33
|
+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-fixed-top .navbar-collapse">
|
34
|
+
<span class="icon-bar"></span>
|
35
|
+
<span class="icon-bar"></span>
|
36
|
+
<span class="icon-bar"></span>
|
37
|
+
</button>
|
38
|
+
<a class="navbar-brand" href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a>
|
39
|
+
</div>
|
40
|
+
<div class="navbar-collapse collapse">
|
41
|
+
<ul class="nav navbar-nav">
|
42
|
+
<li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
|
43
|
+
<li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
|
44
|
+
<li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
|
45
|
+
<li><a href="https://blueimp.net">© Sebastian Tschan</a></li>
|
46
|
+
</ul>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
50
|
+
<div class="container">
|
51
|
+
<h1>jQuery File Upload Demo</h1>
|
52
|
+
<h2 class="lead">Basic version</h2>
|
53
|
+
<ul class="nav nav-tabs">
|
54
|
+
<li class="active"><a href="basic.html">Basic</a></li>
|
55
|
+
<li><a href="basic-plus.html">Basic Plus</a></li>
|
56
|
+
<li><a href="index.html">Basic Plus UI</a></li>
|
57
|
+
<li><a href="angularjs.html">AngularJS</a></li>
|
58
|
+
<li><a href="jquery-ui.html">jQuery UI</a></li>
|
59
|
+
</ul>
|
60
|
+
<br>
|
61
|
+
<blockquote>
|
62
|
+
<p>File Upload widget with multiple file selection, drag&drop support and progress bar for jQuery.<br>
|
63
|
+
Supports cross-domain, chunked and resumable file uploads.<br>
|
64
|
+
Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
|
65
|
+
</blockquote>
|
66
|
+
<br>
|
67
|
+
<!-- The fileinput-button span is used to style the file input field as button -->
|
68
|
+
<span class="btn btn-success fileinput-button">
|
69
|
+
<i class="glyphicon glyphicon-plus"></i>
|
70
|
+
<span>Select files...</span>
|
71
|
+
<!-- The file input field used as target for the file upload widget -->
|
72
|
+
<input id="fileupload" type="file" name="files[]" multiple>
|
73
|
+
</span>
|
74
|
+
<br>
|
75
|
+
<br>
|
76
|
+
<!-- The global progress bar -->
|
77
|
+
<div id="progress" class="progress">
|
78
|
+
<div class="progress-bar progress-bar-success"></div>
|
79
|
+
</div>
|
80
|
+
<!-- The container for the uploaded files -->
|
81
|
+
<div id="files" class="files"></div>
|
82
|
+
<br>
|
83
|
+
<div class="panel panel-default">
|
84
|
+
<div class="panel-heading">
|
85
|
+
<h3 class="panel-title">Demo Notes</h3>
|
86
|
+
</div>
|
87
|
+
<div class="panel-body">
|
88
|
+
<ul>
|
89
|
+
<li>The maximum file size for uploads in this demo is <strong>999 KB</strong> (default file size is unlimited).</li>
|
90
|
+
<li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
|
91
|
+
<li>Uploaded files will be deleted automatically after <strong>5 minutes or less</strong> (demo files are stored in memory).</li>
|
92
|
+
<li>You can <strong>drag & drop</strong> files from your desktop on this webpage (see <a href="https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support">Browser support</a>).</li>
|
93
|
+
<li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
|
94
|
+
<li>Built with the <a href="http://getbootstrap.com/">Bootstrap</a> CSS framework and Icons from <a href="http://glyphicons.com/">Glyphicons</a>.</li>
|
95
|
+
</ul>
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
</div>
|
99
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
100
|
+
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
|
101
|
+
<script src="js/vendor/jquery.ui.widget.js"></script>
|
102
|
+
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
|
103
|
+
<script src="js/jquery.iframe-transport.js"></script>
|
104
|
+
<!-- The basic File Upload plugin -->
|
105
|
+
<script src="js/jquery.fileupload.js"></script>
|
106
|
+
<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
|
107
|
+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
108
|
+
<script>
|
109
|
+
/*jslint unparam: true */
|
110
|
+
/*global window, $ */
|
111
|
+
$(function () {
|
112
|
+
'use strict';
|
113
|
+
// Change this to the location of your server-side upload handler:
|
114
|
+
var url = window.location.hostname === 'blueimp.github.io' ?
|
115
|
+
'//jquery-file-upload.appspot.com/' : 'server/php/';
|
116
|
+
$('#fileupload').fileupload({
|
117
|
+
url: url,
|
118
|
+
dataType: 'json',
|
119
|
+
done: function (e, data) {
|
120
|
+
$.each(data.result.files, function (index, file) {
|
121
|
+
$('<p/>').text(file.name).appendTo('#files');
|
122
|
+
});
|
123
|
+
},
|
124
|
+
progressall: function (e, data) {
|
125
|
+
var progress = parseInt(data.loaded / data.total * 100, 10);
|
126
|
+
$('#progress .progress-bar').css(
|
127
|
+
'width',
|
128
|
+
progress + '%'
|
129
|
+
);
|
130
|
+
}
|
131
|
+
}).prop('disabled', !$.support.fileInput)
|
132
|
+
.parent().addClass($.support.fileInput ? undefined : 'disabled');
|
133
|
+
});
|
134
|
+
</script>
|
135
|
+
</body>
|
136
|
+
</html>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
'use strict';
|
4
|
+
|
5
|
+
var path = require('path');
|
6
|
+
var packageJSON = require(path.join(__dirname, 'package.json'));
|
7
|
+
var bowerFile = path.join(__dirname, 'bower.json');
|
8
|
+
var bowerJSON = require('bower-json').parse(
|
9
|
+
require(bowerFile),
|
10
|
+
{normalize: true}
|
11
|
+
);
|
12
|
+
bowerJSON.version = packageJSON.version;
|
13
|
+
require('fs').writeFileSync(
|
14
|
+
bowerFile,
|
15
|
+
JSON.stringify(bowerJSON, null, 2) + '\n'
|
16
|
+
);
|
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"name": "blueimp-file-upload",
|
3
|
+
"version": "9.21.0",
|
4
|
+
"title": "jQuery File Upload",
|
5
|
+
"description": "File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images.",
|
6
|
+
"keywords": [
|
7
|
+
"jquery",
|
8
|
+
"file",
|
9
|
+
"upload",
|
10
|
+
"widget",
|
11
|
+
"multiple",
|
12
|
+
"selection",
|
13
|
+
"drag",
|
14
|
+
"drop",
|
15
|
+
"progress",
|
16
|
+
"preview",
|
17
|
+
"cross-domain",
|
18
|
+
"cross-site",
|
19
|
+
"chunk",
|
20
|
+
"resume",
|
21
|
+
"gae",
|
22
|
+
"go",
|
23
|
+
"python",
|
24
|
+
"php",
|
25
|
+
"bootstrap"
|
26
|
+
],
|
27
|
+
"homepage": "https://github.com/blueimp/jQuery-File-Upload",
|
28
|
+
"author": {
|
29
|
+
"name": "Sebastian Tschan",
|
30
|
+
"url": "https://blueimp.net"
|
31
|
+
},
|
32
|
+
"maintainers": [
|
33
|
+
{
|
34
|
+
"name": "Sebastian Tschan",
|
35
|
+
"url": "https://blueimp.net"
|
36
|
+
}
|
37
|
+
],
|
38
|
+
"repository": {
|
39
|
+
"type": "git",
|
40
|
+
"url": "git://github.com/blueimp/jQuery-File-Upload.git"
|
41
|
+
},
|
42
|
+
"bugs": "https://github.com/blueimp/jQuery-File-Upload/issues",
|
43
|
+
"license": "MIT",
|
44
|
+
"dependencies": {
|
45
|
+
"jquery": ">=1.6",
|
46
|
+
"blueimp-tmpl": ">=2.5.4",
|
47
|
+
"blueimp-load-image": ">=1.13.0",
|
48
|
+
"blueimp-canvas-to-blob": ">=2.1.1"
|
49
|
+
},
|
50
|
+
"main": [
|
51
|
+
"js/jquery.fileupload.js"
|
52
|
+
],
|
53
|
+
"ignore": [
|
54
|
+
"/*.*",
|
55
|
+
"/cors",
|
56
|
+
"css/jquery-ui-demo-ie8.css",
|
57
|
+
"css/jquery-ui-demo.css",
|
58
|
+
"css/style.css",
|
59
|
+
"js/app.js",
|
60
|
+
"js/main.js",
|
61
|
+
"server",
|
62
|
+
"test"
|
63
|
+
]
|
64
|
+
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<!--
|
3
|
+
/*
|
4
|
+
* jQuery File Upload Plugin postMessage API
|
5
|
+
* https://github.com/blueimp/jQuery-File-Upload
|
6
|
+
*
|
7
|
+
* Copyright 2011, Sebastian Tschan
|
8
|
+
* https://blueimp.net
|
9
|
+
*
|
10
|
+
* Licensed under the MIT license:
|
11
|
+
* https://opensource.org/licenses/MIT
|
12
|
+
*/
|
13
|
+
-->
|
14
|
+
<html lang="en">
|
15
|
+
<head>
|
16
|
+
<meta charset="utf-8">
|
17
|
+
<title>jQuery File Upload Plugin postMessage API</title>
|
18
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
19
|
+
</head>
|
20
|
+
<body>
|
21
|
+
<script>
|
22
|
+
/*jslint unparam: true, regexp: true */
|
23
|
+
/*global $, Blob, FormData, location */
|
24
|
+
'use strict';
|
25
|
+
var origin = /^http:\/\/example.org/,
|
26
|
+
target = new RegExp('^(http(s)?:)?\\/\\/' + location.host + '\\/');
|
27
|
+
$(window).on('message', function (e) {
|
28
|
+
e = e.originalEvent;
|
29
|
+
var s = e.data,
|
30
|
+
xhr = $.ajaxSettings.xhr(),
|
31
|
+
f;
|
32
|
+
if (!origin.test(e.origin)) {
|
33
|
+
throw new Error('Origin "' + e.origin + '" does not match ' + origin);
|
34
|
+
}
|
35
|
+
if (!target.test(e.data.url)) {
|
36
|
+
throw new Error('Target "' + e.data.url + '" does not match ' + target);
|
37
|
+
}
|
38
|
+
$(xhr.upload).on('progress', function (ev) {
|
39
|
+
ev = ev.originalEvent;
|
40
|
+
e.source.postMessage({
|
41
|
+
id: s.id,
|
42
|
+
type: ev.type,
|
43
|
+
timeStamp: ev.timeStamp,
|
44
|
+
lengthComputable: ev.lengthComputable,
|
45
|
+
loaded: ev.loaded,
|
46
|
+
total: ev.total
|
47
|
+
}, e.origin);
|
48
|
+
});
|
49
|
+
s.xhr = function () {
|
50
|
+
return xhr;
|
51
|
+
};
|
52
|
+
if (!(s.data instanceof Blob)) {
|
53
|
+
f = new FormData();
|
54
|
+
$.each(s.data, function (i, v) {
|
55
|
+
f.append(v.name, v.value);
|
56
|
+
});
|
57
|
+
s.data = f;
|
58
|
+
}
|
59
|
+
$.ajax(s).always(function (result, statusText, jqXHR) {
|
60
|
+
if (!jqXHR.done) {
|
61
|
+
jqXHR = result;
|
62
|
+
result = null;
|
63
|
+
}
|
64
|
+
e.source.postMessage({
|
65
|
+
id: s.id,
|
66
|
+
status: jqXHR.status,
|
67
|
+
statusText: statusText,
|
68
|
+
result: result,
|
69
|
+
headers: jqXHR.getAllResponseHeaders()
|
70
|
+
}, e.origin);
|
71
|
+
});
|
72
|
+
});
|
73
|
+
</script>
|
74
|
+
</body>
|
75
|
+
</html>
|