Add upstream
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
window.wp = window.wp || {};
|
||||
|
||||
( function( wp ) {
|
||||
if ( wp.mediaWidgets ) {
|
||||
// Over-ride core media_video#mapMediaToModelProps to set the url based upon videopress_guid if it exists.
|
||||
wp.mediaWidgets.controlConstructors.media_video.prototype.mapMediaToModelProps = ( function(
|
||||
originalMapMediaToModelProps
|
||||
) {
|
||||
return function( mediaFrameProps ) {
|
||||
var newProps, originalProps, videoPressGuid;
|
||||
originalProps = originalMapMediaToModelProps.call( this, mediaFrameProps );
|
||||
newProps = _.extend( {}, originalProps );
|
||||
|
||||
// API response on new media will have the guid at videopress.guid.
|
||||
if ( mediaFrameProps.videopress && mediaFrameProps.videopress.guid ) {
|
||||
videoPressGuid = mediaFrameProps.videopress.guid;
|
||||
}
|
||||
|
||||
// Selecting an existing VideoPress file will have the guid at .videopress_guid[ 0 ].
|
||||
if (
|
||||
! videoPressGuid &&
|
||||
mediaFrameProps.videopress_guid &&
|
||||
mediaFrameProps.videopress_guid.length
|
||||
) {
|
||||
videoPressGuid = mediaFrameProps.videopress_guid[ 0 ];
|
||||
}
|
||||
|
||||
if ( videoPressGuid ) {
|
||||
newProps = _.extend( {}, originalProps, {
|
||||
url: 'https://videopress.com/v/' + videoPressGuid,
|
||||
attachment_id: 0,
|
||||
} );
|
||||
}
|
||||
return newProps;
|
||||
};
|
||||
} )( wp.mediaWidgets.controlConstructors.media_video.prototype.mapMediaToModelProps );
|
||||
|
||||
// Over-ride core media_video#isHostedVideo() to add support for videopress oembed urls.
|
||||
wp.mediaWidgets.controlConstructors.media_video.prototype.isHostedVideo = ( function(
|
||||
originalIsHostedVideo
|
||||
) {
|
||||
return function( url ) {
|
||||
var parsedUrl = document.createElement( 'a' );
|
||||
parsedUrl.href = url;
|
||||
if ( 'videopress.com' === parsedUrl.hostname ) {
|
||||
return true;
|
||||
}
|
||||
return originalIsHostedVideo.call( this, url );
|
||||
};
|
||||
} )( wp.mediaWidgets.controlConstructors.media_video.prototype.isHostedVideo );
|
||||
}
|
||||
} )( window.wp );
|
||||
Reference in New Issue
Block a user