%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/lightco1/upgrade.lightco.com.au/libraries/cegcore/assets/gplugins/guploader/
Upload File :
Create Path :
Current File : /home/lightco1/upgrade.lightco.com.au/libraries/cegcore/assets/gplugins/guploader/guploader.js

jQuery.guploader = {
	'url': '',
	'data': {},
};

(function($){
	$.fn.guploader = function(options, params){
		if(this.length > 0){
			if($.type(params) === 'undefined' && $.type(options) === 'object'){
				params = options;
			}
			
			if($.type(options) === 'undefined' || $.type(options) === 'object'){
				params = $.extend(true, {}, $.guploader, params);
				return this.each(function(){
					if(!$(this).data('guploader')){
						$(this).data('guploader', new guploader(this, params));
					}
				});
			}
			
			if($.type(options) === 'string'){
				params = $.extend(true, {}, $.guploader, params);
				
				var loader = $(this).data('guploader');
				
				switch (options){
					case 'load':
						return loader.load();
				}
			}
		}
	}
	
	var guploader = function(elem, params){
		this.element = elem;
		this.settings = params;
		this.end_reached = 0;
		this.loader_running = 0;
		
		this.init();
	};
	
	guploader.prototype = {
		init: function(){
			var loader = this;
			
			$(loader.element).on('change', function(){
				var formData = new FormData();
				for(var i = 0; i < $(loader.element).get(0).files.length; i++){
					formData.append($(loader.element).attr('name'), $(loader.element).get(0).files[i]);
				}
				$.each(loader.settings.data, function(i, v){
					formData.append(i, v);

				});
				$.ajax({
					url: loader.settings.url,
					type: 'POST',
					xhr: function() {// Custom XMLHttpRequest
						var myXhr = $.ajaxSettings.xhr();
						if(myXhr.upload){// Check if upload property exists
							myXhr.upload.addEventListener('progress', function (e){
								if(e.lengthComputable){
									if($(loader.element).next('progress.progress-block').length == 0){
										$(loader.element).after($('<progress></progress>').addClass('progress-block'));
									}
									$(loader.element).next('progress.progress-block').attr({value:e.loaded,max:e.total});
								}
							}, false);// For handling the progress of the upload
						}
						return myXhr;
					},
					//Ajax events
					beforeSend: function(xh, settings){
						$(loader.element).trigger('beforeSend.guploader');

					},
					success: function(data, status, xhr){
						//var results = data.split("\n");
						//var results = $.parseJSON(data);
						/*if(results['status'] == 'ok'){
							console.log(results);
						}*/
						$(loader.element).trigger('success.guploader', [data]);
					},
					error: function(xhr, status, error){
						$(loader.element).trigger('error.guploader');

					},
					complete: function(xhr, status){
						$(loader.element).trigger('complete.guploader');

					},
					// Form data
					data: formData,
					//Options to tell jQuery not to process data or worry about content-type.
					cache: false,
					contentType: false,
					processData: false
				});
			});
		},
		
	};
}(jQuery));

Zerion Mini Shell 1.0