Açıklama Yok

um-modal.js 6.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. jQuery(document).ready(function() {
  2. jQuery(document).on('click', '.um-popup-overlay', function(){
  3. remove_Modal();
  4. });
  5. jQuery(document).on('click', '.um-modal-overlay, a[data-action="um_remove_modal"]', function(){
  6. um_remove_modal();
  7. });
  8. jQuery(document).on('click', 'a[data-modal^="um_"], span[data-modal^="um_"], .um-modal:not(:has(.um-form)) a', function(e){
  9. e.preventDefault();
  10. return false;
  11. });
  12. jQuery(document).on('click', '.um-modal .um-single-file-preview a.cancel', function(e){
  13. e.preventDefault();
  14. var parent = jQuery(this).parents('.um-modal-body');
  15. var src = jQuery(this).parents('.um-modal-body').find('.um-single-fileinfo a').attr('href');
  16. var mode = parent.find('.um-single-file-upload').data('set_mode');
  17. jQuery.ajax({
  18. url: wp.ajax.settings.url,
  19. type: 'post',
  20. data: {
  21. action: 'um_remove_file',
  22. src: src,
  23. mode: mode,
  24. nonce: um_scripts.nonce
  25. },
  26. success: function() {
  27. parent.find('.um-single-file-preview').hide();
  28. parent.find('.ajax-upload-dragdrop').show();
  29. parent.find('.um-modal-btn.um-finish-upload').addClass('disabled');
  30. um_modal_responsive();
  31. }
  32. });
  33. return false;
  34. });
  35. jQuery(document).on('click', '.um-modal .um-single-image-preview a.cancel', function(e){
  36. e.preventDefault();
  37. var parent = jQuery(this).parents('.um-modal-body');
  38. var src = jQuery(this).parents('.um-modal-body').find('.um-single-image-preview img').attr('src');
  39. var mode = parent.find('.um-single-image-upload').data('set_mode');
  40. jQuery.ajax({
  41. url: wp.ajax.settings.url,
  42. type: 'post',
  43. data: {
  44. action: 'um_remove_file',
  45. src: src,
  46. mode: mode,
  47. nonce: um_scripts.nonce
  48. },
  49. success: function() {
  50. jQuery('img.cropper-hidden').cropper( 'destroy' );
  51. parent.find('.um-single-image-preview img').attr( 'src', '' );
  52. parent.find('.um-single-image-preview').hide();
  53. parent.find('.ajax-upload-dragdrop').show();
  54. parent.find('.um-modal-btn.um-finish-upload').addClass( 'disabled' );
  55. um_modal_responsive();
  56. }
  57. });
  58. return false;
  59. });
  60. jQuery(document).on('click', '.um-finish-upload.file:not(.disabled)', function(){
  61. var key = jQuery(this).attr('data-key');
  62. var preview = jQuery(this).parents('.um-modal-body').find('.um-single-file-preview').html();
  63. um_remove_modal();
  64. jQuery('.um-single-file-preview[data-key='+key+']').fadeIn().html( preview );
  65. var file = jQuery('.um-field[data-key='+key+']').find('.um-single-fileinfo a').data('file');
  66. jQuery('.um-single-file-preview[data-key='+key+']').parents('.um-field').find('.um-btn-auto-width').html( jQuery(this).attr('data-change') );
  67. jQuery('.um-single-file-preview[data-key='+key+']').parents('.um-field').find('input[type="hidden"]').val( file );
  68. });
  69. jQuery(document).on('click', '.um-finish-upload.image:not(.disabled)', function(){
  70. var elem = jQuery(this);
  71. var key = jQuery(this).attr('data-key');
  72. var img_c = jQuery(this).parents('.um-modal-body').find('.um-single-image-preview');
  73. var src = img_c.find('img').attr('src');
  74. var coord = img_c.attr('data-coord');
  75. var file = img_c.find('img').data('file');
  76. var user_id = 0;
  77. if ( jQuery(this).parents('#um_upload_single').data('user_id') ) {
  78. user_id = jQuery(this).parents('#um_upload_single').data('user_id');
  79. }
  80. var d;
  81. var form_id = 0;
  82. var mode = '';
  83. if ( jQuery('div.um-field-image[data-key="' + key + '"]').length === 1 ) {
  84. var $formWrapper = jQuery('div.um-field-image[data-key="' + key + '"]').closest('.um-form');
  85. form_id = $formWrapper.find('input[name="form_id"]').val();
  86. mode = $formWrapper.attr('data-mode');
  87. }
  88. if ( coord ) {
  89. jQuery(this).html( jQuery(this).attr('data-processing') ).addClass('disabled');
  90. jQuery.ajax({
  91. url: wp.ajax.settings.url,
  92. type: 'POST',
  93. dataType: 'json',
  94. data: {
  95. action: 'um_resize_image',
  96. src : src,
  97. coord : coord,
  98. user_id : user_id,
  99. key: key,
  100. set_id: form_id,
  101. set_mode: mode,
  102. nonce: um_scripts.nonce
  103. },
  104. success: function( response ) {
  105. if ( response.success ) {
  106. d = new Date();
  107. if ( key === 'profile_photo' ) {
  108. jQuery('.um-profile-photo-img img').attr('src', response.data.image.source_url + "?"+d.getTime());
  109. } else if ( key === 'cover_photo' ) {
  110. jQuery('.um-cover-e').empty().html('<img src="' + response.data.image.source_url + "?"+d.getTime() + '" alt="" />');
  111. if ( jQuery('.um').hasClass('um-editing') ) {
  112. jQuery('.um-cover-overlay').show();
  113. }
  114. }
  115. jQuery('.um-single-image-preview[data-key='+key+']').fadeIn().find('img').attr('src', response.data.image.source_url + "?"+d.getTime());
  116. um_remove_modal();
  117. jQuery('img.cropper-invisible').remove();
  118. jQuery('.um-single-image-preview[data-key='+key+']').parents('.um-field').find('.um-btn-auto-width').html( elem.attr('data-change') );
  119. jQuery('.um-single-image-preview[data-key='+key+']').parents('.um-field').find('input[type="hidden"]').val( response.data.image.filename );
  120. }
  121. }
  122. });
  123. } else {
  124. d = new Date();
  125. jQuery('.um-single-image-preview[data-key='+key+']').fadeIn().find('img').attr('src', src + "?"+d.getTime());
  126. um_remove_modal();
  127. jQuery('.um-single-image-preview[data-key='+key+']').parents('.um-field').find('.um-btn-auto-width').html( elem.attr('data-change') );
  128. jQuery('.um-single-image-preview[data-key='+key+']').parents('.um-field').find('input[type=hidden]').val( file );
  129. }
  130. });
  131. jQuery(document.body).on('click', 'a[data-modal^="um_"], span[data-modal^="um_"]', function(e){
  132. var modal_id = jQuery(this).attr('data-modal');
  133. var size = 'normal';
  134. if ( jQuery(this).data('modal-size') ) {
  135. size = jQuery(this).data('modal-size');
  136. }
  137. if ( jQuery(this).data('modal-copy') ) {
  138. jQuery('#' + modal_id).html( jQuery(this).parents('.um-field').find('.um-modal-hidden-content').html() );
  139. if ( jQuery(this).parents('.um-profile-photo').attr('data-user_id') ) {
  140. jQuery('#' + modal_id).attr('data-user_id', jQuery(this).parents('.um-profile-photo').attr('data-user_id') );
  141. }
  142. if ( jQuery(this).parents('.um-cover').attr('data-ratio') ) {
  143. jQuery('#' + modal_id).attr('data-ratio', jQuery(this).parents('.um-cover').attr('data-ratio') );
  144. }
  145. if ( jQuery(this).parents('.um-cover').attr('data-user_id') ) {
  146. jQuery('#' + modal_id).attr('data-user_id', jQuery(this).parents('.um-cover').attr('data-user_id') );
  147. }
  148. if ( jQuery('input[type="hidden"][name="user_id"]').length > 0 ) {
  149. jQuery('#' + modal_id).attr( 'data-user_id', jQuery('input[type="hidden"][name="user_id"]').val() );
  150. }
  151. }
  152. um_new_modal( modal_id, size );
  153. });
  154. });