image-advanced.js (1015B)
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 ImageField; 9 10 ImageField = views.ImageField = MediaField.extend( { 11 createList: function () { 12 this.list = new MediaList( { 13 controller: this.controller, 14 itemView: MediaItem.extend( { 15 className: 'rwmb-image-item', 16 template: wp.template( 'rwmb-image-item' ) 17 } ) 18 } ); 19 } 20 } ); 21 22 /** 23 * Initialize image fields 24 */ 25 function initImageField() { 26 var $this = $( this ), 27 view = $this.data( 'view' ); 28 29 if ( view ) { 30 return; 31 } 32 33 view = new ImageField( { input: this } ); 34 35 $this.siblings( '.rwmb-media-view' ).remove(); 36 $this.after( view.el ); 37 $this.data( 'view', view ); 38 } 39 40 function init( e ) { 41 $( e.target ).find( '.rwmb-image_advanced' ).each( initImageField ); 42 } 43 44 rwmb.$document 45 .on( 'mb_ready', init ) 46 .on( 'clone', '.rwmb-image_advanced', initImageField ); 47 } )( jQuery, rwmb );