PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3
Jetpack – WP Security, Backup, Speed, & Growth v16.3
16.3 16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 All 508 releases
← All changes | modules/videopress/js/media-video-widget-extensions.js +52 -0 16.2-beta → 16.3 View file →
@@ -1,0 +1,52 @@
1 +window.wp = window.wp || {};
2 +
3 +( function ( wp ) {
4 + if ( wp.mediaWidgets ) {
5 + // Over-ride core media_video#mapMediaToModelProps to set the url based upon videopress_guid if it exists.
6 + wp.mediaWidgets.controlConstructors.media_video.prototype.mapMediaToModelProps = ( function (
7 + originalMapMediaToModelProps
8 + ) {
9 + return function ( mediaFrameProps ) {
10 + var newProps, originalProps, videoPressGuid;
11 + originalProps = originalMapMediaToModelProps.call( this, mediaFrameProps );
12 + newProps = _.extend( {}, originalProps );
13 +
14 + // API response on new media will have the guid at videopress.guid.
15 + if ( mediaFrameProps.videopress && mediaFrameProps.videopress.guid ) {
16 + videoPressGuid = mediaFrameProps.videopress.guid;
17 + }
18 +
19 + // Selecting an existing VideoPress file will have the guid at .videopress_guid[ 0 ].
20 + if (
21 + ! videoPressGuid &&
22 + mediaFrameProps.videopress_guid &&
23 + mediaFrameProps.videopress_guid.length
24 + ) {
25 + videoPressGuid = mediaFrameProps.videopress_guid[ 0 ];
26 + }
27 +
28 + if ( videoPressGuid ) {
29 + newProps = _.extend( {}, originalProps, {
30 + url: 'https://videopress.com/v/' + videoPressGuid,
31 + attachment_id: 0,
32 + } );
33 + }
34 + return newProps;
35 + };
36 + } )( wp.mediaWidgets.controlConstructors.media_video.prototype.mapMediaToModelProps );
37 +
38 + // Over-ride core media_video#isHostedVideo() to add support for videopress oembed urls.
39 + wp.mediaWidgets.controlConstructors.media_video.prototype.isHostedVideo = ( function (
40 + originalIsHostedVideo
41 + ) {
42 + return function ( url ) {
43 + var parsedUrl = document.createElement( 'a' );
44 + parsedUrl.href = url;
45 + if ( 'videopress.com' === parsedUrl.hostname ) {
46 + return true;
47 + }
48 + return originalIsHostedVideo.call( this, url );
49 + };
50 + } )( wp.mediaWidgets.controlConstructors.media_video.prototype.isHostedVideo );
51 + }
52 +} )( window.wp );