video.js (1146B)
1 ( function ( $, rwmb ) { 2 'use strict'; 3 4 var views = rwmb.views = rwmb.views || {}, 5 MediaField = views.MediaField, 6 MediaItem = views.MediaItem, 7 MediaList = views.MediaList, 8 VideoField; 9 10 VideoField = views.VideoField = MediaField.extend( { 11 createList: function () 12 { 13 this.list = new MediaList( { 14 controller: this.controller, 15 itemView: MediaItem.extend( { 16 className: 'rwmb-video-item', 17 template : wp.template( 'rwmb-video-item' ), 18 render: function() 19 { 20 var settings = ! _.isUndefined( window._wpmejsSettings ) ? _.clone( _wpmejsSettings ) : {}; 21 MediaItem.prototype.render.apply( this, arguments ); 22 this.player = new MediaElementPlayer( this.$( 'video' ).get(0), settings ); 23 } 24 } ) 25 } ); 26 } 27 } ); 28 29 function initVideoField() { 30 var $this = $( this ), 31 view = new VideoField( { input: this } ); 32 $this.siblings( '.rwmb-media-view' ).remove(); 33 $this.after( view.el ); 34 } 35 36 function init( e ) { 37 $( e.target ).find( '.rwmb-video' ).each( initVideoField ); 38 } 39 40 rwmb.$document 41 .on( 'mb_ready', init ) 42 .on( 'clone', '.rwmb-video', initVideoField ); 43 } )( jQuery, rwmb );