diff options
Diffstat (limited to 'srcs/wordpress/wp-includes/js/wp-embed-template.js')
| -rw-r--r-- | srcs/wordpress/wp-includes/js/wp-embed-template.js | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/srcs/wordpress/wp-includes/js/wp-embed-template.js b/srcs/wordpress/wp-includes/js/wp-embed-template.js deleted file mode 100644 index 65b3a1b..0000000 --- a/srcs/wordpress/wp-includes/js/wp-embed-template.js +++ /dev/null @@ -1,215 +0,0 @@ -/** - * @output wp-includes/js/wp-embed-template.js - */ -(function ( window, document ) { - 'use strict'; - - var supportedBrowser = ( document.querySelector && window.addEventListener ), - loaded = false, - secret, - secretTimeout, - resizing; - - function sendEmbedMessage( message, value ) { - window.parent.postMessage( { - message: message, - value: value, - secret: secret - }, '*' ); - } - - function onLoad() { - if ( loaded ) { - return; - } - loaded = true; - - var share_dialog = document.querySelector( '.wp-embed-share-dialog' ), - share_dialog_open = document.querySelector( '.wp-embed-share-dialog-open' ), - share_dialog_close = document.querySelector( '.wp-embed-share-dialog-close' ), - share_input = document.querySelectorAll( '.wp-embed-share-input' ), - share_dialog_tabs = document.querySelectorAll( '.wp-embed-share-tab-button button' ), - featured_image = document.querySelector( '.wp-embed-featured-image img' ), - i; - - if ( share_input ) { - for ( i = 0; i < share_input.length; i++ ) { - share_input[ i ].addEventListener( 'click', function ( e ) { - e.target.select(); - } ); - } - } - - function openSharingDialog() { - share_dialog.className = share_dialog.className.replace( 'hidden', '' ); - // Initial focus should go on the currently selected tab in the dialog. - document.querySelector( '.wp-embed-share-tab-button [aria-selected="true"]' ).focus(); - } - - function closeSharingDialog() { - share_dialog.className += ' hidden'; - document.querySelector( '.wp-embed-share-dialog-open' ).focus(); - } - - if ( share_dialog_open ) { - share_dialog_open.addEventListener( 'click', function () { - openSharingDialog(); - } ); - } - - if ( share_dialog_close ) { - share_dialog_close.addEventListener( 'click', function () { - closeSharingDialog(); - } ); - } - - function shareClickHandler( e ) { - var currentTab = document.querySelector( '.wp-embed-share-tab-button [aria-selected="true"]' ); - currentTab.setAttribute( 'aria-selected', 'false' ); - document.querySelector( '#' + currentTab.getAttribute( 'aria-controls' ) ).setAttribute( 'aria-hidden', 'true' ); - - e.target.setAttribute( 'aria-selected', 'true' ); - document.querySelector( '#' + e.target.getAttribute( 'aria-controls' ) ).setAttribute( 'aria-hidden', 'false' ); - } - - function shareKeyHandler( e ) { - var target = e.target, - previousSibling = target.parentElement.previousElementSibling, - nextSibling = target.parentElement.nextElementSibling, - newTab, newTabChild; - - if ( 37 === e.keyCode ) { - newTab = previousSibling; - } else if ( 39 === e.keyCode ) { - newTab = nextSibling; - } else { - return false; - } - - if ( 'rtl' === document.documentElement.getAttribute( 'dir' ) ) { - newTab = ( newTab === previousSibling ) ? nextSibling : previousSibling; - } - - if ( newTab ) { - newTabChild = newTab.firstElementChild; - - target.setAttribute( 'tabindex', '-1' ); - target.setAttribute( 'aria-selected', false ); - document.querySelector( '#' + target.getAttribute( 'aria-controls' ) ).setAttribute( 'aria-hidden', 'true' ); - - newTabChild.setAttribute( 'tabindex', '0' ); - newTabChild.setAttribute( 'aria-selected', 'true' ); - newTabChild.focus(); - document.querySelector( '#' + newTabChild.getAttribute( 'aria-controls' ) ).setAttribute( 'aria-hidden', 'false' ); - } - } - - if ( share_dialog_tabs ) { - for ( i = 0; i < share_dialog_tabs.length; i++ ) { - share_dialog_tabs[ i ].addEventListener( 'click', shareClickHandler ); - - share_dialog_tabs[ i ].addEventListener( 'keydown', shareKeyHandler ); - } - } - - document.addEventListener( 'keydown', function ( e ) { - if ( 27 === e.keyCode && -1 === share_dialog.className.indexOf( 'hidden' ) ) { - closeSharingDialog(); - } else if ( 9 === e.keyCode ) { - constrainTabbing( e ); - } - }, false ); - - function constrainTabbing( e ) { - // Need to re-get the selected tab each time. - var firstFocusable = document.querySelector( '.wp-embed-share-tab-button [aria-selected="true"]' ); - - if ( share_dialog_close === e.target && ! e.shiftKey ) { - firstFocusable.focus(); - e.preventDefault(); - } else if ( firstFocusable === e.target && e.shiftKey ) { - share_dialog_close.focus(); - e.preventDefault(); - } - } - - if ( window.self === window.top ) { - return; - } - - /** - * Send this document's height to the parent (embedding) site. - */ - sendEmbedMessage( 'height', Math.ceil( document.body.getBoundingClientRect().height ) ); - - // Send the document's height again after the featured image has been loaded. - if ( featured_image ) { - featured_image.addEventListener( 'load', function() { - sendEmbedMessage( 'height', Math.ceil( document.body.getBoundingClientRect().height ) ); - } ); - } - - /** - * Detect clicks to external (_top) links. - */ - function linkClickHandler( e ) { - var target = e.target, - href; - if ( target.hasAttribute( 'href' ) ) { - href = target.getAttribute( 'href' ); - } else { - href = target.parentElement.getAttribute( 'href' ); - } - - /** - * Send link target to the parent (embedding) site. - */ - if ( href ) { - sendEmbedMessage( 'link', href ); - e.preventDefault(); - } - } - - document.addEventListener( 'click', linkClickHandler ); - } - - /** - * Iframe resize handler. - */ - function onResize() { - if ( window.self === window.top ) { - return; - } - - clearTimeout( resizing ); - - resizing = setTimeout( function () { - sendEmbedMessage( 'height', Math.ceil( document.body.getBoundingClientRect().height ) ); - }, 100 ); - } - - /** - * Re-get the secret when it was added later on. - */ - function getSecret() { - if ( window.self === window.top || !!secret ) { - return; - } - - secret = window.location.hash.replace( /.*secret=([\d\w]{10}).*/, '$1' ); - - clearTimeout( secretTimeout ); - - secretTimeout = setTimeout( function () { - getSecret(); - }, 100 ); - } - - if ( supportedBrowser ) { - getSecret(); - document.documentElement.className = document.documentElement.className.replace( /\bno-js\b/, '' ) + ' js'; - document.addEventListener( 'DOMContentLoaded', onLoad, false ); - window.addEventListener( 'load', onLoad, false ); - window.addEventListener( 'resize', onResize, false ); - } -})( window, document ); |
