diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
commit | a415c29efee45520ae252d2aa28f1083a521cd7b (patch) | |
tree | f4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-admin/js/custom-header.js | |
parent | Initial commit. (diff) | |
download | wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.tar.xz wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.zip |
Adding upstream version 6.4.3+dfsg1.upstream/6.4.3+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-admin/js/custom-header.js')
-rw-r--r-- | wp-admin/js/custom-header.js | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/wp-admin/js/custom-header.js b/wp-admin/js/custom-header.js new file mode 100644 index 0000000..367756e --- /dev/null +++ b/wp-admin/js/custom-header.js @@ -0,0 +1,88 @@ +/** + * @output wp-admin/js/custom-header.js + */ + +/* global isRtl */ + +/** + * Initializes the custom header selection page. + * + * @since 3.5.0 + * + * @deprecated 4.1.0 The page this is used on is never linked to from the UI. + * Setting a custom header is completely handled by the Customizer. + */ +(function($) { + var frame; + + $( function() { + // Fetch available headers. + var $headers = $('.available-headers'); + + // Apply jQuery.masonry once the images have loaded. + $headers.imagesLoaded( function() { + $headers.masonry({ + itemSelector: '.default-header', + isRTL: !! ( 'undefined' != typeof isRtl && isRtl ) + }); + }); + + /** + * Opens the 'choose from library' frame and creates it if it doesn't exist. + * + * @since 3.5.0 + * @deprecated 4.1.0 + * + * @return {void} + */ + $('#choose-from-library-link').on( '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 + } + }); + + /** + * Updates the window location to include the selected attachment. + * + * @since 3.5.0 + * @deprecated 4.1.0 + * + * @return {void} + */ + 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)); |