]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/custom-header.js
Wordpress 3.5
[autoinstalls/wordpress.git] / wp-admin / js / custom-header.js
diff --git a/wp-admin/js/custom-header.js b/wp-admin/js/custom-header.js
new file mode 100644 (file)
index 0000000..d93ac38
--- /dev/null
@@ -0,0 +1,60 @@
+(function($) {
+       var frame;
+
+       $( function() {
+               // Fetch available headers and apply jQuery.masonry
+               // once the images have loaded.
+               var $headers = $('.available-headers');
+
+               $headers.imagesLoaded( function() {
+                       $headers.masonry({
+                               itemSelector: '.default-header',
+                               isRTL: !! ( 'undefined' != typeof isRtl && isRtl )
+                       });
+               });
+
+               // Build the choose from library frame.
+               $('#choose-from-library-link').click( function( event ) {
+                       var $el = $(this);
+                       event.preventDefault();
+
+                       // If the media frame already exists, reopen it.
+                       if ( frame ) {
+                               frame.open();
+                               return;
+                       }
+
+                       // Create the media frame.
+                       frame = wp.media.frames.customHeader = wp.media({
+                               // Set the title of the modal.
+                               title: $el.data('choose'),
+
+                               // Tell the modal to show only images.
+                               library: {
+                                       type: 'image'
+                               },
+
+                               // Customize the submit button.
+                               button: {
+                                       // Set the text of the button.
+                                       text: $el.data('update'),
+                                       // Tell the button not to close the modal, since we're
+                                       // going to refresh the page when the image is selected.
+                                       close: false
+                               }
+                       });
+
+                       // When an image is selected, run a callback.
+                       frame.on( 'select', function() {
+                               // Grab the selected attachment.
+                               var attachment = frame.state().get('selection').first(),
+                                       link = $el.data('updateLink');
+
+                               // Tell the browser to navigate to the crop step.
+                               window.location = link + '&file=' + attachment.id;
+                       });
+
+                       frame.open();
+               });
+       });
+}(jQuery));