card-mod-machines 0.11.3 → 0.11.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/file/all_script_machine_output/file.js +35963 -70
  3. data/file/all_style_machine_output/file.css +2 -2
  4. data/file/script_html5shiv_printshiv_machine_output/file.js +1 -1
  5. data/lib/card/machine.rb +2 -0
  6. data/set/abstract/machine.rb +2 -2
  7. data/set/abstract/machine/output_update.rb +7 -0
  8. data/set/abstract/machine_input.rb +1 -0
  9. metadata +33 -89
  10. data/vendor/jquery_file_upload/CONTRIBUTING.md +0 -15
  11. data/vendor/jquery_file_upload/LICENSE.txt +0 -21
  12. data/vendor/jquery_file_upload/README.md +0 -107
  13. data/vendor/jquery_file_upload/angularjs.html +0 -211
  14. data/vendor/jquery_file_upload/basic-plus.html +0 -226
  15. data/vendor/jquery_file_upload/basic.html +0 -136
  16. data/vendor/jquery_file_upload/bower-version-update.js +0 -16
  17. data/vendor/jquery_file_upload/bower.json +0 -64
  18. data/vendor/jquery_file_upload/cors/postmessage.html +0 -75
  19. data/vendor/jquery_file_upload/cors/result.html +0 -24
  20. data/vendor/jquery_file_upload/css/jquery-ui-demo-ie8.css +0 -21
  21. data/vendor/jquery_file_upload/css/jquery-ui-demo.css +0 -67
  22. data/vendor/jquery_file_upload/css/jquery.fileupload-noscript.css +0 -22
  23. data/vendor/jquery_file_upload/css/jquery.fileupload-ui-noscript.css +0 -17
  24. data/vendor/jquery_file_upload/css/jquery.fileupload-ui.css +0 -57
  25. data/vendor/jquery_file_upload/css/jquery.fileupload.css +0 -37
  26. data/vendor/jquery_file_upload/css/style.css +0 -15
  27. data/vendor/jquery_file_upload/img/loading.gif +0 -0
  28. data/vendor/jquery_file_upload/img/progressbar.gif +0 -0
  29. data/vendor/jquery_file_upload/index.html +0 -255
  30. data/vendor/jquery_file_upload/jquery-ui.html +0 -252
  31. data/vendor/jquery_file_upload/js/app.js +0 -101
  32. data/vendor/jquery_file_upload/js/cors/jquery.postmessage-transport.js +0 -126
  33. data/vendor/jquery_file_upload/js/cors/jquery.xdr-transport.js +0 -89
  34. data/vendor/jquery_file_upload/js/jquery.fileupload-angular.js +0 -437
  35. data/vendor/jquery_file_upload/js/jquery.fileupload-audio.js +0 -113
  36. data/vendor/jquery_file_upload/js/jquery.fileupload-image.js +0 -326
  37. data/vendor/jquery_file_upload/js/jquery.fileupload-jquery-ui.js +0 -161
  38. data/vendor/jquery_file_upload/js/jquery.fileupload-process.js +0 -178
  39. data/vendor/jquery_file_upload/js/jquery.fileupload-ui.js +0 -714
  40. data/vendor/jquery_file_upload/js/jquery.fileupload-validate.js +0 -125
  41. data/vendor/jquery_file_upload/js/jquery.fileupload-video.js +0 -113
  42. data/vendor/jquery_file_upload/js/jquery.fileupload.js +0 -1486
  43. data/vendor/jquery_file_upload/js/jquery.iframe-transport.js +0 -224
  44. data/vendor/jquery_file_upload/js/main.js +0 -75
  45. data/vendor/jquery_file_upload/js/vendor/jquery.ui.widget.js +0 -748
  46. data/vendor/jquery_file_upload/package.json +0 -55
  47. data/vendor/jquery_file_upload/server/gae-go/app.yaml +0 -12
  48. data/vendor/jquery_file_upload/server/gae-go/app/main.go +0 -361
  49. data/vendor/jquery_file_upload/server/gae-go/static/favicon.ico +0 -0
  50. data/vendor/jquery_file_upload/server/gae-go/static/robots.txt +0 -2
  51. data/vendor/jquery_file_upload/server/gae-python/app.yaml +0 -17
  52. data/vendor/jquery_file_upload/server/gae-python/main.py +0 -204
  53. data/vendor/jquery_file_upload/server/gae-python/static/favicon.ico +0 -0
  54. data/vendor/jquery_file_upload/server/gae-python/static/robots.txt +0 -2
  55. data/vendor/jquery_file_upload/server/php/Dockerfile +0 -38
  56. data/vendor/jquery_file_upload/server/php/UploadHandler.php +0 -1411
  57. data/vendor/jquery_file_upload/server/php/docker-compose.yml +0 -9
  58. data/vendor/jquery_file_upload/server/php/index.php +0 -15
  59. data/vendor/jquery_file_upload/test/index.html +0 -172
  60. data/vendor/jquery_file_upload/test/test.js +0 -1292
  61. data/vendor/jquery_rails/CHANGELOG.md +0 -359
  62. data/vendor/jquery_rails/CONTRIBUTING.md +0 -132
  63. data/vendor/jquery_rails/Gemfile +0 -22
  64. data/vendor/jquery_rails/MIT-LICENSE +0 -21
  65. data/vendor/jquery_rails/README.md +0 -75
  66. data/vendor/jquery_rails/Rakefile +0 -59
  67. data/vendor/jquery_rails/VERSIONS.md +0 -62
  68. data/vendor/jquery_rails/jquery-rails.gemspec +0 -26
  69. data/vendor/jquery_rails/lib/jquery-rails.rb +0 -1
  70. data/vendor/jquery_rails/lib/jquery/assert_select.rb +0 -149
  71. data/vendor/jquery_rails/lib/jquery/rails.rb +0 -8
  72. data/vendor/jquery_rails/lib/jquery/rails/engine.rb +0 -6
  73. data/vendor/jquery_rails/lib/jquery/rails/version.rb +0 -9
  74. data/vendor/jquery_rails/test/assert_select_jquery_test.rb +0 -85
  75. data/vendor/jquery_rails/test/test_helper.rb +0 -6
  76. data/vendor/jquery_rails/vendor/assets/javascripts/jquery.js +0 -11008
  77. data/vendor/jquery_rails/vendor/assets/javascripts/jquery.min.js +0 -5
  78. data/vendor/jquery_rails/vendor/assets/javascripts/jquery.min.map +0 -1
  79. data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.js +0 -9814
  80. data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.js +0 -4
  81. data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.map +0 -1
  82. data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.js +0 -10364
  83. data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.js +0 -2
  84. data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.map +0 -1
  85. data/vendor/jquery_rails/vendor/assets/javascripts/jquery_ujs.js +0 -555
@@ -1,252 +0,0 @@
1
- <!DOCTYPE HTML>
2
- <!--
3
- /*
4
- * jQuery File Upload Plugin jQuery UI 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]>
18
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
19
- <![endif]-->
20
- <meta charset="utf-8">
21
- <title>jQuery File Upload Demo - jQuery UI version</title>
22
- <meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.">
23
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
24
- <!-- jQuery UI styles -->
25
- <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/dark-hive/jquery-ui.css" id="theme">
26
- <!-- Generic page styles -->
27
- <link rel="stylesheet" href="css/style.css">
28
- <!-- Demo styles -->
29
- <link rel="stylesheet" href="css/jquery-ui-demo.css">
30
- <!--[if lte IE 8]>
31
- <link rel="stylesheet" href="css/jquery-ui-demo-ie8.css">
32
- <![endif]-->
33
- <style>
34
- /* Adjust the jQuery UI widget font-size: */
35
- .ui-widget {
36
- font-size: 0.95em;
37
- }
38
- </style>
39
- <!-- blueimp Gallery styles -->
40
- <link rel="stylesheet" href="https://blueimp.github.io/Gallery/css/blueimp-gallery.min.css">
41
- <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
42
- <link rel="stylesheet" href="css/jquery.fileupload.css">
43
- <link rel="stylesheet" href="css/jquery.fileupload-ui.css">
44
- <!-- CSS adjustments for browsers with JavaScript disabled -->
45
- <noscript><link rel="stylesheet" href="css/jquery.fileupload-noscript.css"></noscript>
46
- <noscript><link rel="stylesheet" href="css/jquery.fileupload-ui-noscript.css"></noscript>
47
- </head>
48
- <body>
49
- <ul class="navigation">
50
- <li><h3><a href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a></h3></li>
51
- <li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
52
- <li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
53
- <li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
54
- <li><a href="https://blueimp.net">&copy; blueimp.net</a></li>
55
- </ul>
56
- <h1>jQuery File Upload Demo</h1>
57
- <h2>jQuery UI version</h2>
58
- <form>
59
- <label for="theme-switcher">Theme:</label>
60
- <select id="theme-switcher" class="pull-right">
61
- <option value="black-tie">Black Tie</option>
62
- <option value="blitzer">Blitzer</option>
63
- <option value="cupertino">Cupertino</option>
64
- <option value="dark-hive" selected>Dark Hive</option>
65
- <option value="dot-luv">Dot Luv</option>
66
- <option value="eggplant">Eggplant</option>
67
- <option value="excite-bike">Excite Bike</option>
68
- <option value="flick">Flick</option>
69
- <option value="hot-sneaks">Hot sneaks</option>
70
- <option value="humanity">Humanity</option>
71
- <option value="le-frog">Le Frog</option>
72
- <option value="mint-choc">Mint Choc</option>
73
- <option value="overcast">Overcast</option>
74
- <option value="pepper-grinder">Pepper Grinder</option>
75
- <option value="redmond">Redmond</option>
76
- <option value="smoothness">Smoothness</option>
77
- <option value="south-street">South Street</option>
78
- <option value="start">Start</option>
79
- <option value="sunny">Sunny</option>
80
- <option value="swanky-purse">Swanky Purse</option>
81
- <option value="trontastic">Trontastic</option>
82
- <option value="ui-darkness">UI Darkness</option>
83
- <option value="ui-lightness">UI Lightness</option>
84
- <option value="vader">Vader</option>
85
- </select>
86
- </form>
87
- <ul class="navigation">
88
- <li><a href="basic.html">Basic</a></li>
89
- <li><a href="basic-plus.html">Basic Plus</a></li>
90
- <li><a href="index.html">Basic Plus UI</a></li>
91
- <li><a href="angularjs.html">AngularJS</a></li>
92
- <li class="active"><a href="jquery-ui.html">jQuery UI</a></li>
93
- </ul>
94
- <blockquote>
95
- <p>File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery UI.<br>
96
- Supports cross-domain, chunked and resumable file uploads and client-side image resizing.<br>
97
- Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
98
- </blockquote>
99
- <!-- The file upload form used as target for the file upload widget -->
100
- <form id="fileupload" action="https://jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">
101
- <!-- Redirect browsers with JavaScript disabled to the origin page -->
102
- <noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript>
103
- <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
104
- <div class="fileupload-buttonbar">
105
- <div class="fileupload-buttons">
106
- <!-- The fileinput-button span is used to style the file input field as button -->
107
- <span class="fileinput-button">
108
- <span>Add files...</span>
109
- <input type="file" name="files[]" multiple>
110
- </span>
111
- <button type="submit" class="start">Start upload</button>
112
- <button type="reset" class="cancel">Cancel upload</button>
113
- <button type="button" class="delete">Delete</button>
114
- <input type="checkbox" class="toggle">
115
- <!-- The global file processing state -->
116
- <span class="fileupload-process"></span>
117
- </div>
118
- <!-- The global progress state -->
119
- <div class="fileupload-progress fade" style="display:none">
120
- <!-- The global progress bar -->
121
- <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100"></div>
122
- <!-- The extended global progress state -->
123
- <div class="progress-extended">&nbsp;</div>
124
- </div>
125
- </div>
126
- <!-- The table listing the files available for upload/download -->
127
- <table role="presentation"><tbody class="files"></tbody></table>
128
- </form>
129
- <br>
130
- <h3>Demo Notes</h3>
131
- <ul>
132
- <li>The maximum file size for uploads in this demo is <strong>999 KB</strong> (default file size is unlimited).</li>
133
- <li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
134
- <li>Uploaded files will be deleted automatically after <strong>5 minutes or less</strong> (demo files are stored in memory).</li>
135
- <li>You can <strong>drag &amp; 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>
136
- <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>
137
- <li>Built with <a href="https://jqueryui.com">jQuery UI</a>.</li>
138
- </ul>
139
- <!-- The blueimp Gallery widget -->
140
- <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even">
141
- <div class="slides"></div>
142
- <h3 class="title"></h3>
143
- <a class="prev">‹</a>
144
- <a class="next">›</a>
145
- <a class="close">×</a>
146
- <a class="play-pause"></a>
147
- <ol class="indicator"></ol>
148
- </div>
149
- <!-- The template to display files available for upload -->
150
- <script id="template-upload" type="text/x-tmpl">
151
- {% for (var i=0, file; file=o.files[i]; i++) { %}
152
- <tr class="template-upload fade">
153
- <td>
154
- <span class="preview"></span>
155
- </td>
156
- <td>
157
- <p class="name">{%=file.name%}</p>
158
- <strong class="error"></strong>
159
- </td>
160
- <td>
161
- <p class="size">Processing...</p>
162
- <div class="progress"></div>
163
- </td>
164
- <td>
165
- {% if (!i && !o.options.autoUpload) { %}
166
- <button class="start" disabled>Start</button>
167
- {% } %}
168
- {% if (!i) { %}
169
- <button class="cancel">Cancel</button>
170
- {% } %}
171
- </td>
172
- </tr>
173
- {% } %}
174
- </script>
175
- <!-- The template to display files available for download -->
176
- <script id="template-download" type="text/x-tmpl">
177
- {% for (var i=0, file; file=o.files[i]; i++) { %}
178
- <tr class="template-download fade">
179
- <td>
180
- <span class="preview">
181
- {% if (file.thumbnailUrl) { %}
182
- <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
183
- {% } %}
184
- </span>
185
- </td>
186
- <td>
187
- <p class="name">
188
- <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
189
- </p>
190
- {% if (file.error) { %}
191
- <div><span class="error">Error</span> {%=file.error%}</div>
192
- {% } %}
193
- </td>
194
- <td>
195
- <span class="size">{%=o.formatFileSize(file.size)%}</span>
196
- </td>
197
- <td>
198
- <button class="delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>Delete</button>
199
- <input type="checkbox" name="delete" value="1" class="toggle">
200
- </td>
201
- </tr>
202
- {% } %}
203
- </script>
204
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
205
- <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
206
- <!-- The Templates plugin is included to render the upload/download listings -->
207
- <script src="https://blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script>
208
- <!-- The Load Image plugin is included for the preview images and image resizing functionality -->
209
- <script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script>
210
- <!-- The Canvas to Blob plugin is included for image resizing functionality -->
211
- <script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
212
- <!-- blueimp Gallery script -->
213
- <script src="https://blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script>
214
- <!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
215
- <script src="js/jquery.iframe-transport.js"></script>
216
- <!-- The basic File Upload plugin -->
217
- <script src="js/jquery.fileupload.js"></script>
218
- <!-- The File Upload processing plugin -->
219
- <script src="js/jquery.fileupload-process.js"></script>
220
- <!-- The File Upload image preview & resize plugin -->
221
- <script src="js/jquery.fileupload-image.js"></script>
222
- <!-- The File Upload audio preview plugin -->
223
- <script src="js/jquery.fileupload-audio.js"></script>
224
- <!-- The File Upload video preview plugin -->
225
- <script src="js/jquery.fileupload-video.js"></script>
226
- <!-- The File Upload validation plugin -->
227
- <script src="js/jquery.fileupload-validate.js"></script>
228
- <!-- The File Upload user interface plugin -->
229
- <script src="js/jquery.fileupload-ui.js"></script>
230
- <!-- The File Upload jQuery UI plugin -->
231
- <script src="js/jquery.fileupload-jquery-ui.js"></script>
232
- <!-- The main application script -->
233
- <script src="js/main.js"></script>
234
- <script>
235
- // Initialize the jQuery UI theme switcher:
236
- $('#theme-switcher').change(function () {
237
- var theme = $('#theme');
238
- theme.prop(
239
- 'href',
240
- theme.prop('href').replace(
241
- /[\w\-]+\/jquery-ui.css/,
242
- $(this).val() + '/jquery-ui.css'
243
- )
244
- );
245
- });
246
- </script>
247
- <!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->
248
- <!--[if (gte IE 8)&(lt IE 10)]>
249
- <script src="js/cors/jquery.xdr-transport.js"></script>
250
- <![endif]-->
251
- </body>
252
- </html>
@@ -1,101 +0,0 @@
1
- /*
2
- * jQuery File Upload Plugin Angular JS Example
3
- * https://github.com/blueimp/jQuery-File-Upload
4
- *
5
- * Copyright 2013, Sebastian Tschan
6
- * https://blueimp.net
7
- *
8
- * Licensed under the MIT license:
9
- * https://opensource.org/licenses/MIT
10
- */
11
-
12
- /* jshint nomen:false */
13
- /* global window, angular */
14
-
15
- ;(function () {
16
- 'use strict';
17
-
18
- var isOnGitHub = window.location.hostname === 'blueimp.github.io',
19
- url = isOnGitHub ? '//jquery-file-upload.appspot.com/' : 'server/php/';
20
-
21
- angular.module('demo', [
22
- 'blueimp.fileupload'
23
- ])
24
- .config([
25
- '$httpProvider', 'fileUploadProvider',
26
- function ($httpProvider, fileUploadProvider) {
27
- delete $httpProvider.defaults.headers.common['X-Requested-With'];
28
- fileUploadProvider.defaults.redirect = window.location.href.replace(
29
- /\/[^\/]*$/,
30
- '/cors/result.html?%s'
31
- );
32
- if (isOnGitHub) {
33
- // Demo settings:
34
- angular.extend(fileUploadProvider.defaults, {
35
- // Enable image resizing, except for Android and Opera,
36
- // which actually support image resizing, but fail to
37
- // send Blob objects via XHR requests:
38
- disableImageResize: /Android(?!.*Chrome)|Opera/
39
- .test(window.navigator.userAgent),
40
- maxFileSize: 999000,
41
- acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
42
- });
43
- }
44
- }
45
- ])
46
-
47
- .controller('DemoFileUploadController', [
48
- '$scope', '$http', '$filter', '$window',
49
- function ($scope, $http) {
50
- $scope.options = {
51
- url: url
52
- };
53
- if (!isOnGitHub) {
54
- $scope.loadingFiles = true;
55
- $http.get(url)
56
- .then(
57
- function (response) {
58
- $scope.loadingFiles = false;
59
- $scope.queue = response.data.files || [];
60
- },
61
- function () {
62
- $scope.loadingFiles = false;
63
- }
64
- );
65
- }
66
- }
67
- ])
68
-
69
- .controller('FileDestroyController', [
70
- '$scope', '$http',
71
- function ($scope, $http) {
72
- var file = $scope.file,
73
- state;
74
- if (file.url) {
75
- file.$state = function () {
76
- return state;
77
- };
78
- file.$destroy = function () {
79
- state = 'pending';
80
- return $http({
81
- url: file.deleteUrl,
82
- method: file.deleteType
83
- }).then(
84
- function () {
85
- state = 'resolved';
86
- $scope.clear(file);
87
- },
88
- function () {
89
- state = 'rejected';
90
- }
91
- );
92
- };
93
- } else if (!file.$cancel && !file._index) {
94
- file.$cancel = function () {
95
- $scope.clear(file);
96
- };
97
- }
98
- }
99
- ]);
100
-
101
- }());
@@ -1,126 +0,0 @@
1
- /*
2
- * jQuery postMessage Transport Plugin
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
- * https://opensource.org/licenses/MIT
10
- */
11
-
12
- /* global define, require, window, document */
13
-
14
- ;(function (factory) {
15
- 'use strict';
16
- if (typeof define === 'function' && define.amd) {
17
- // Register as an anonymous AMD module:
18
- define(['jquery'], factory);
19
- } else if (typeof exports === 'object') {
20
- // Node/CommonJS:
21
- factory(require('jquery'));
22
- } else {
23
- // Browser globals:
24
- factory(window.jQuery);
25
- }
26
- }(function ($) {
27
- 'use strict';
28
-
29
- var counter = 0,
30
- names = [
31
- 'accepts',
32
- 'cache',
33
- 'contents',
34
- 'contentType',
35
- 'crossDomain',
36
- 'data',
37
- 'dataType',
38
- 'headers',
39
- 'ifModified',
40
- 'mimeType',
41
- 'password',
42
- 'processData',
43
- 'timeout',
44
- 'traditional',
45
- 'type',
46
- 'url',
47
- 'username'
48
- ],
49
- convert = function (p) {
50
- return p;
51
- };
52
-
53
- $.ajaxSetup({
54
- converters: {
55
- 'postmessage text': convert,
56
- 'postmessage json': convert,
57
- 'postmessage html': convert
58
- }
59
- });
60
-
61
- $.ajaxTransport('postmessage', function (options) {
62
- if (options.postMessage && window.postMessage) {
63
- var iframe,
64
- loc = $('<a>').prop('href', options.postMessage)[0],
65
- target = loc.protocol + '//' + loc.host,
66
- xhrUpload = options.xhr().upload;
67
- // IE always includes the port for the host property of a link
68
- // element, but not in the location.host or origin property for the
69
- // default http port 80 and https port 443, so we strip it:
70
- if (/^(http:\/\/.+:80)|(https:\/\/.+:443)$/.test(target)) {
71
- target = target.replace(/:(80|443)$/, '');
72
- }
73
- return {
74
- send: function (_, completeCallback) {
75
- counter += 1;
76
- var message = {
77
- id: 'postmessage-transport-' + counter
78
- },
79
- eventName = 'message.' + message.id;
80
- iframe = $(
81
- '<iframe style="display:none;" src="' +
82
- options.postMessage + '" name="' +
83
- message.id + '"></iframe>'
84
- ).bind('load', function () {
85
- $.each(names, function (i, name) {
86
- message[name] = options[name];
87
- });
88
- message.dataType = message.dataType.replace('postmessage ', '');
89
- $(window).bind(eventName, function (e) {
90
- e = e.originalEvent;
91
- var data = e.data,
92
- ev;
93
- if (e.origin === target && data.id === message.id) {
94
- if (data.type === 'progress') {
95
- ev = document.createEvent('Event');
96
- ev.initEvent(data.type, false, true);
97
- $.extend(ev, data);
98
- xhrUpload.dispatchEvent(ev);
99
- } else {
100
- completeCallback(
101
- data.status,
102
- data.statusText,
103
- {postmessage: data.result},
104
- data.headers
105
- );
106
- iframe.remove();
107
- $(window).unbind(eventName);
108
- }
109
- }
110
- });
111
- iframe[0].contentWindow.postMessage(
112
- message,
113
- target
114
- );
115
- }).appendTo(document.body);
116
- },
117
- abort: function () {
118
- if (iframe) {
119
- iframe.remove();
120
- }
121
- }
122
- };
123
- }
124
- });
125
-
126
- }));