var UapAvatarCroppic = { triggerId : '', saveImageTarget : '', cropImageTarget : '', hiddenInputSelector : '', standardImage : '', buttonId : '', buttonLabel : '', init: function(args){ var obj = this; obj.setAttributes(obj, args); jQuery(document).ready(function(){ cropperHeader = obj.initCroppic(obj); jQuery( obj.removeImageSelector ).on( 'click', function(){ cropperHeader.reset(); obj.handleRemove( obj ); }); }); }, setAttributes: function(obj, args){ for (var key in args) { obj[key] = args[key]; } }, initCroppic: function(obj){ var options = { uploadUrl : obj.saveImageTarget, cropUrl : obj.cropImageTarget, modal : true, imgEyecandyOpacity : 0.4, loaderHtml : '
', onBeforeImgUpload : function(){}, onAfterImgUpload : function(response){ obj.handleImgUpload( obj, response ); },//obj.handleImgUpload(obj, response) }, onImgDrag : function(){}, onImgZoom : function(){}, onBeforeImgCrop : function(){}, onAfterImgCrop : function(response){ obj.handleAfterImageCrop(obj, response); }, onAfterRemoveCroppedImg : function(){ obj.handleRemove(obj, false); }, onReset : function(){ obj.handleRemove(obj, true); }, onError : function(e){ console.log('onError:' + e); }, imgW : 450, imgH : 450, objW : 250, objH : 250, imgInitH : 120, imgInitW : 120, imageAppendAfter : false, customIdentificator : 'image', customUploadButtonId : obj.buttonId, } var cropperHeader = new Croppic(obj.triggerId, options); return cropperHeader; }, handleAfterImageCrop: function(obj, response){ // console.log( response ) if (response.status=='success'){ jQuery( obj.imageSelectorWrapper ).html( '' ); jQuery( obj.hiddenInputSelector ).val( response.uploadId ); jQuery( obj.imageSelectorWrapper ).append( '' ); jQuery( obj.removeImageSelector ).css('visibility', 'visible'); } }, handleRemove: function(obj, isReset){ var newUser = jQuery( obj.hiddenInputSelector ).attr( 'data-new_user' ); if ( newUser ){ /// ajax remove picture jQuery.ajax({ type : "post", url : decodeURI(ajax_url), data : { action : 'uap_remove_media_post', postId : jQuery( obj.hiddenInputSelector ).val() }, success : function (response) { } }); } jQuery( obj.imageSelectorWrapper ).html( '' ); jQuery( obj.imageSelectorWrapper ).append( '
' ); jQuery( obj.removeImageSelector ).css('visibility', 'hidden'); jQuery( obj.hiddenInputSelector ).val( '' ); if (isReset) jQuery( '#' + obj.triggerId ).append( '
'+obj.buttonLabel+'
' ); if ( obj.standardImage ){ jQuery( obj.imageSelectorWrapper ).append( '' ); jQuery( '.' + obj.avatarClass ).css( 'background-image', 'url(' + obj.standardImage + ')' ); } }, handleImgUpload: function(obj, response){ if (typeof(response)!='undefined' && response.uploadId){ jQuery(obj.hiddenInputSelector).val( response.uploadId ); } jQuery( obj.removeImageSelector ).css('visibility', 'visible'); }, }