wp/wp-admin/js/custom-header.js
author ymh <ymh.work@gmail.com>
Tue, 09 Jun 2015 03:35:32 +0200
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 9 177826044cd9
permissions -rw-r--r--
upgrade wordpress + plugins
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     1
/* global isRtl */
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
(function($) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
	var frame;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	$( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
		// Fetch available headers and apply jQuery.masonry
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
		// once the images have loaded.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
		var $headers = $('.available-headers');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
		$headers.imagesLoaded( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
			$headers.masonry({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
				itemSelector: '.default-header',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
				isRTL: !! ( 'undefined' != typeof isRtl && isRtl )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		// Build the choose from library frame.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
		$('#choose-from-library-link').click( function( event ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
			var $el = $(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
			event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
			// If the media frame already exists, reopen it.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
			if ( frame ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
				frame.open();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
				return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
			// Create the media frame.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
			frame = wp.media.frames.customHeader = wp.media({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
				// Set the title of the modal.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
				title: $el.data('choose'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
				// Tell the modal to show only images.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
				library: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
					type: 'image'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
				},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
				// Customize the submit button.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
				button: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
					// Set the text of the button.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
					text: $el.data('update'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
					// Tell the button not to close the modal, since we're
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
					// going to refresh the page when the image is selected.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
					close: false
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
			// When an image is selected, run a callback.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			frame.on( 'select', function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
				// Grab the selected attachment.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
				var attachment = frame.state().get('selection').first(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
					link = $el.data('updateLink');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
				// Tell the browser to navigate to the crop step.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
				window.location = link + '&file=' + attachment.id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
			frame.open();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
	});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
}(jQuery));