TEXT   21

media uploader js

Guest on 28th July 2022 06:36:00 PM

  1. jQuery(document).ready(function($){
  2.  
  3.         var optionsframework_upload;
  4.         var optionsframework_selector;
  5.  
  6.         function optionsframework_add_file(event, selector) {
  7.  
  8.                 var upload = $(".uploaded-file"), frame;
  9.                 var $el = $(this);
  10.                 optionsframework_selector = selector;
  11.  
  12.                 event.preventDefault();
  13.  
  14.                 // If the media frame already exists, reopen it.
  15.                 if ( optionsframework_upload ) {
  16.                         optionsframework_upload.open();
  17.                 } else {
  18.                         // Create the media frame.
  19.                         optionsframework_upload = wp.media.frames.optionsframework_upload =  wp.media({
  20.                                 // Set the title of the modal.
  21.                                 title: $el.data('choose'),
  22.  
  23.                                 // Customize the submit button.
  24.                                 button: {
  25.                                         // Set the text of the button.
  26.                                         text: $el.data('update'),
  27.                                         // Tell the button not to close the modal, since we're
  28.                                         // going to refresh the page when the image is selected.
  29.                                         close: false
  30.                                 }
  31.                         });
  32.  
  33.                         // When an image is selected, run a callback.
  34.                         optionsframework_upload.on( 'select', function() {
  35.                                 // Grab the selected attachment.
  36.                                 var attachment = optionsframework_upload.state().get('selection').first();
  37.                                 optionsframework_upload.close();
  38.                                 optionsframework_selector.find('.upload').val(attachment.attributes.url);
  39.                                 if ( attachment.attributes.type == 'image' ) {
  40.                                         optionsframework_selector.find('.screenshot').empty().hide().append('<img src="' + attachment.attributes.url + '"><a class="remove-image">Remove</a>').slideDown('fast');
  41.                                 }
  42.                                 optionsframework_selector.find('.upload-button').unbind().addClass('remove-file').removeClass('upload-button').val(optionsframework_l10n.remove);
  43.                                 optionsframework_selector.find('.of-background-properties').slideDown();
  44.                                 optionsframework_selector.find('.remove-image, .remove-file').on('click', function() {
  45.                                         optionsframework_remove_file( $(this).parents('.section') );
  46.                                 });
  47.                         });
  48.  
  49.                 }
  50.  
  51.                 // Finally, open the modal.
  52.                 optionsframework_upload.open();
  53.         }
  54.  
  55.         function optionsframework_remove_file(selector) {
  56.                 selector.find('.remove-image').hide();
  57.                 selector.find('.upload').val('');
  58.                 selector.find('.of-background-properties').hide();
  59.                 selector.find('.screenshot').slideUp();
  60.                 selector.find('.remove-file').unbind().addClass('upload-button').removeClass('remove-file').val(optionsframework_l10n.upload);
  61.                 // We don't display the upload button if .upload-notice is present
  62.                 // This means the user doesn't have the WordPress 3.5 Media Library Support
  63.                 if ( $('.section-upload .upload-notice').length > 0 ) {
  64.                         $('.upload-button').remove();
  65.                 }
  66.                 selector.find('.upload-button').on('click', function(event) {
  67.                         optionsframework_add_file(event, $(this).parents('.section'));
  68.                 });
  69.         }
  70.  
  71.         $('.remove-image, .remove-file').on('click', function() {
  72.                 optionsframework_remove_file( $(this).parents('.section') );
  73.     });
  74.  
  75.     $('.upload-button').click( function( event ) {
  76.         optionsframework_add_file(event, $(this).parents('.section'));
  77.     });
  78.  
  79. });

Raw Paste


Login or Register to edit or fork this paste. It's free.