Make WordPress Core


Ignore:
Timestamp:
03/09/2014 05:24:10 AM (13 years ago)
Author:
wonderboymusic
Message:

Audio/Video shortcodes in the media modal:

  • Make a generic model, wp.media.model.PostMedia, which replaces wp.media.model.PostAudio and wp.media.model.PostVideo
  • Make a generic library, wp.media.controller.MediaLibrary, which replaces wp.media.controller.ReplaceVideo and wp.media.controller.ReplaceAudio
  • wp.media.controller.MediaLibrary is used to create new states that want to load a library filtered by type, making it incredibly simple to add states to frames. See wp.media.view.MediaFrame.VideoDetails and wp.media.view.MediaFrame.AudioDetails.

UX changes:

  • Add the ability to manage HTML5 fallbacks - add additional <source>s or remove specific <source>s
  • In the Video Details state, add the ability to select a poster image

See #27016.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/media-template.php

    r27476 r27478  
    664664        <script type="text/html" id="tmpl-audio-details">
    665665                <?php $audio_types = wp_get_audio_extensions(); ?>
    666                 <div class="media-embed">
     666                <div class="media-embed media-embed-details">
     667                        <div class="instructions media-instructions">{{{ wp.media.view.l10n.audioDetailsText }}}</div>
    667668                        <div class="embed-media-settings embed-audio-settings">
    668669                                <audio controls
     
    690691                                        <span>SRC</span>
    691692                                        <input type="text" disabled="disabled" data-setting="src" value="{{ data.model.src }}" />
     693                                        <a class="remove-setting">{{{ wp.media.view.l10n.audioRemoveSource }}}</a>
    692694                                </label>
    693695                                <# } #>
     
    699701                                        <span><?php echo strtoupper( $type ) ?></span>
    700702                                        <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ data.model.<?php echo $type ?> }}" />
     703                                        <a class="remove-setting">{{{ wp.media.view.l10n.audioRemoveSource }}}</a>
    701704                                </label>
    702705                                <# } #>
     
    728731        <script type="text/html" id="tmpl-video-details">
    729732                <?php $video_types = wp_get_video_extensions(); ?>
    730                 <div class="media-embed">
     733                <div class="media-embed media-embed-details">
     734                        <div class="instructions media-instructions">{{{ wp.media.view.l10n.videoDetailsText }}}</div>
    731735                        <div class="embed-media-settings embed-video-settings">
    732736                                <div class="wp-video-holder">
    733737                                <#
    734                                 var w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width,
     738                                var isYouTube = ! _.isEmpty( data.model.src ) && data.model.src.match(/youtube|youtu\.be/);
     739                                        w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width,
    735740                                        h = ! data.model.height ? 360 : data.model.height;
    736741
     
    738743                                        h = Math.ceil( ( h * w ) / data.model.width );
    739744                                }
     745
    740746                                #>
    741747                                <video controls
    742                                         class="wp-video-shortcode youtube-video"
     748                                        class="wp-video-shortcode{{ isYouTube ? ' youtube-video' : '' }}"
    743749                                        width="{{ w }}"
    744750                                        height="{{ h }}"
     
    763769                                >
    764770                                        <# if ( ! _.isEmpty( data.model.src ) ) {
    765                                                 if ( data.model.src.match(/youtube|youtu\.be/) ) { #>
     771                                                if ( isYouTube ) { #>
    766772                                                <source src="{{ data.model.src }}" type="video/youtube" />
    767773                                                <# } else { #>
     
    780786                                        <span>SRC</span>
    781787                                        <input type="text" disabled="disabled" data-setting="src" value="{{ data.model.src }}" />
     788                                        <a class="remove-setting">{{{ wp.media.view.l10n.videoRemoveSource }}}</a>
    782789                                </label>
    783790                                <# } #>
     
    787794                                        <span><?php echo strtoupper( $type ) ?></span>
    788795                                        <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ data.model.<?php echo $type ?> }}" />
     796                                        <a class="remove-setting">{{{ wp.media.view.l10n.videoRemoveSource }}}</a>
    789797                                </label>
    790798                                <# } #>
    791799                                <?php endforeach ?>
    792800                                </div>
     801                                <# if ( ! _.isEmpty( data.model.poster ) ) { #>
    793802                                <label class="setting">
    794803                                        <span><?php _e( 'Poster Image' ); ?></span>
    795                                         <input type="text" data-setting="poster" value="{{ data.model.poster }}" />
    796                                 </label>
     804                                        <input type="text" disabled="disabled" data-setting="poster" value="{{ data.model.poster }}" />
     805                                        <a class="remove-setting">{{{ wp.media.view.l10n.videoRemovePoster }}}</a>
     806                                </label>
     807                                <# } #>
    797808                                <div class="setting preload">
    798809                                        <span><?php _e( 'Preload' ); ?></span>
Note: See TracChangeset for help on using the changeset viewer.