]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - underlays/attachments/ikiwiki/jquery.iframe-transport.js
load attachment javascript into template the clean way
[git.ikiwiki.info.git] / underlays / attachments / ikiwiki / jquery.iframe-transport.js
diff --git a/underlays/attachments/ikiwiki/jquery.iframe-transport.js b/underlays/attachments/ikiwiki/jquery.iframe-transport.js
deleted file mode 100644 (file)
index e859dfe..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * jQuery Iframe Transport Plugin 1.1
- * https://github.com/blueimp/jQuery-File-Upload
- *
- * Copyright 2011, Sebastian Tschan
- * https://blueimp.net
- *
- * Licensed under the MIT license:
- * http://creativecommons.org/licenses/MIT/
- */
-
-/*jslint unparam: true */
-/*global jQuery */
-
-(function ($) {
-    'use strict';
-
-    // Helper variable to create unique names for the transport iframes:
-    var counter = 0;
-
-    // The iframe transport accepts two additional options:
-    // options.fileInput: a jQuery collection of file input fields
-    // options.formData: an array of objects with name and value properties,
-    // equivalent to the return data of .serializeArray(), e.g.:
-    // [{name: a, value: 1}, {name: b, value: 2}]
-    $.ajaxTransport('iframe', function (options, originalOptions, jqXHR) {
-        if (options.type === 'POST' || options.type === 'GET') {
-            var form,
-                iframe;
-            return {
-                send: function (headers, completeCallback) {
-                    form = $('<form style="display:none;"></form>');
-                    // javascript:false as initial iframe src
-                    // prevents warning popups on HTTPS in IE6.
-                    // IE versions below IE8 cannot set the name property of
-                    // elements that have already been added to the DOM,
-                    // so we set the name along with the iframe HTML markup:
-                    iframe = $(
-                        '<iframe src="javascript:false;" name="iframe-transport-' +
-                            (counter += 1) + '"></iframe>'
-                    ).bind('load', function () {
-                        var fileInputClones;
-                        iframe
-                            .unbind('load')
-                            .bind('load', function () {
-                                // The complete callback returns the
-                                // iframe content document as response object:
-                                completeCallback(
-                                    200,
-                                    'success',
-                                    {'iframe': iframe.contents()}
-                                );
-                                // Fix for IE endless progress bar activity bug
-                                // (happens on form submits to iframe targets):
-                                $('<iframe src="javascript:false;"></iframe>')
-                                    .appendTo(form);
-                                form.remove();
-                            });
-                        form
-                            .prop('target', iframe.prop('name'))
-                            .prop('action', options.url)
-                            .prop('method', options.type);
-                        if (options.formData) {
-                            $.each(options.formData, function (index, field) {
-                                $('<input type="hidden"/>')
-                                    .prop('name', field.name)
-                                    .val(field.value)
-                                    .appendTo(form);
-                            });
-                        }
-                        if (options.fileInput && options.fileInput.length &&
-                                options.type === 'POST') {
-                            fileInputClones = options.fileInput.clone();
-                            // Insert a clone for each file input field:
-                            options.fileInput.after(function (index) {
-                                return fileInputClones[index];
-                            });
-                            // Appending the file input fields to the hidden form
-                            // removes them from their original location:
-                            form
-                                .append(options.fileInput)
-                                .prop('enctype', 'multipart/form-data')
-                                // enctype must be set as encoding for IE:
-                                .prop('encoding', 'multipart/form-data');
-                        }
-                        form.submit();
-                        // Insert the file input fields at their original location
-                        // by replacing the clones with the originals:
-                        if (fileInputClones && fileInputClones.length) {
-                            options.fileInput.each(function (index, input) {
-                                $(fileInputClones[index]).replaceWith(input);
-                            });
-                        }
-                    });
-                    form.append(iframe).appendTo('body');
-                },
-                abort: function () {
-                    if (iframe) {
-                        // javascript:false as iframe src aborts the request
-                        // and prevents warning popups on HTTPS in IE6.
-                        // concat is used to avoid the "Script URL" JSLint error:
-                        iframe
-                            .unbind('load')
-                            .prop('src', 'javascript'.concat(':false;'));
-                    }
-                    if (form) {
-                        form.remove();
-                    }
-                }
-            };
-        }
-    });
-
-    // The iframe transport returns the iframe content document as response.
-    // The following adds converters from iframe to text, json, html, and script:
-    $.ajaxSetup({
-        converters: {
-            'iframe text': function (iframe) {
-                return iframe.text();
-            },
-            'iframe json': function (iframe) {
-                return $.parseJSON(iframe.text());
-            },
-            'iframe html': function (iframe) {
-                return iframe.find('body').html();
-            },
-            'iframe script': function (iframe) {
-                return $.globalEval(iframe.text());
-            }
-        }
-    });
-
-}(jQuery));
\ No newline at end of file