wp/wp-admin/js/custom-header.js
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-admin/js/custom-header.js	Wed Nov 06 03:21:17 2013 +0000
@@ -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));