From 98c32ac9d1c98dbaefc43dbc4da175a3cd6aff8a Mon Sep 17 00:00:00 2001 From: Uncled1023 Date: Wed, 16 Dec 2015 15:21:48 -0800 Subject: [PATCH] Added ocupload js script --- Teknik/Scripts/_references.js | Bin 1506 -> 1612 bytes Teknik/Scripts/ocupload/1.1.2/ocupload.js | 241 ++++++++++++++++++++++ Teknik/Teknik.csproj | 1 + 3 files changed, 242 insertions(+) create mode 100644 Teknik/Scripts/ocupload/1.1.2/ocupload.js diff --git a/Teknik/Scripts/_references.js b/Teknik/Scripts/_references.js index 18a08da6ef8c34e029d74915df3e78630a993d7b..587f8e5950b00cc2f36e792fe5e8edaebce372fc 100644 GIT binary patch delta 65 zcmaFFeTHYlD`wq%hGd3Ph608hhJ1!Zh7<;U215otFg60R(PSqsw4EHoqOzHf' + ).css({ + display: 'none' + }); + + /** Form */ + var form = $( + '
' + ).css({ + margin: 0, + padding: 0 + }); + + /** File Input */ + var input = $( + '' + ).css({ + position: 'relative', + display: 'block', + marginLeft: -175+'px', + opacity: 0 + }); + + /** Put everything together */ + element.wrap('
'); //container + form.append(input); + element.after(form); + element.after(iframe); + + /** Find the container and make it nice and snug */ + var container = element.parent().css({ + position: 'relative', + height: element.outerHeight()+'px', + width: element.outerWidth()+'px', + overflow: 'hidden', + cursor: 'pointer', + margin: 0, + padding: 0 + }); + + /** Put our file input in the right place */ + input.css('marginTop', -container.height()-10+'px'); + + /** Move the input with the mouse to make sure it get clicked! */ + container.mousemove(function(e){ + input.css({ + top: e.pageY-container.offset().top+'px', + left: e.pageX-container.offset().left+'px' + }); + }); + + /** Watch for file selection */ + input.change(function() { + /** Do something when a file is selected. */ + self.onSelect(); + + /** Submit the form automaticly after selecting the file */ + if(self.autoSubmit) { + self.submit(); + } + }); + + /** Methods */ + $.extend(this, { + autoSubmit: true, + onSubmit: options.onSubmit, + onComplete: options.onComplete, + onSelect: options.onSelect, + + /** get filename */ + filename: function() { + return input.attr('value'); + }, + + /** get/set params */ + params: function(params) { + var params = params ? params : false; + + if(params) { + options.params = $.extend(options.params, params); + } + else { + return options.params; + } + }, + + /** get/set name */ + name: function(name) { + var name = name ? name : false; + + if(name) { + input.attr('name', value); + } + else { + return input.attr('name'); + } + }, + + /** get/set action */ + action: function(action) { + var action = action ? action : false; + + if(action) { + form.attr('action', action); + } + else { + return form.attr('action'); + } + }, + + /** get/set enctype */ + enctype: function(enctype) { + var enctype = enctype ? enctype : false; + + if(enctype) { + form.attr('enctype', enctype); + } + else { + return form.attr('enctype'); + } + }, + + /** set options */ + set: function(obj, value) { + var value = value ? value : false; + + function option(action, value) { + switch(action) { + default: + throw new Error('[jQuery.ocupload.set] \''+action+'\' is an invalid option.'); + break; + case 'name': + self.name(value); + break; + case 'action': + self.action(value); + break; + case 'enctype': + self.enctype(value); + break; + case 'params': + self.params(value); + break; + case 'autoSubmit': + self.autoSubmit = value; + break; + case 'onSubmit': + self.onSubmit = value; + break; + case 'onComplete': + self.onComplete = value; + break; + case 'onSelect': + self.onSelect = value; + break; + } + } + + if(value) { + option(obj, value); + } + else { + $.each(obj, function(key, value) { + option(key, value); + }); + } + }, + + /** Submit the form */ + submit: function() { + /** Do something before we upload */ + this.onSubmit(); + + /** add additional paramters before sending */ + $.each(options.params, function(key, value) { + form.append($( + '' + )); + }); + + /** Submit the actual form */ + form.submit(); + + /** Do something after we are finished uploading */ + iframe.unbind().load(function() { + /** Get a response from the server in plain text */ + var myFrame = document.getElementById(iframe.attr('name')); + var response = $(myFrame.contentWindow.document.body).text(); + + /** Do something on complete */ + self.onComplete(response); //done :D + }); + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/Teknik/Teknik.csproj b/Teknik/Teknik.csproj index eabeec0..030bf1d 100644 --- a/Teknik/Teknik.csproj +++ b/Teknik/Teknik.csproj @@ -247,6 +247,7 @@ +