( function ( $, rwmb ) { 'use strict'; var frame; function openSelectPopup( e ) { e.preventDefault(); var $el = $( this ); // Create a frame only if needed if ( ! frame ) { frame = wp.media( { className: 'media-frame rwmb-file-frame', multiple: false, title: rwmbFileInput.frameTitle } ); } // Open media uploader frame.open(); // Remove all attached 'select' event frame.off( 'select' ); // Handle selection frame.on( 'select', function () { var url = frame.state().get( 'selection' ).first().toJSON().url; $el.siblings( 'input' ).val( url ).trigger( 'change' ).siblings( 'a' ).removeClass( 'hidden' ); } ); } function changeValueInput( e ) { e.preventDefault(); var $el = $( this ), url = $el.val(), fileType = url.split( '.' ).pop().toLowerCase(), imageTypes = [ 'gif', 'jpeg', 'png', 'jpg' ], validImageTypes = imageTypes.includes( fileType ); if ( validImageTypes ) { $el.closest( '.rwmb-file-input-inner' ).siblings( '.rwmb-file-input-image' ).removeClass( 'rwmb-file-input-hidden' ).find( 'img' ).attr( 'src', url ); } else { $el.closest( '.rwmb-file-input-inner' ).siblings( '.rwmb-file-input-image' ).addClass( 'rwmb-file-input-hidden' ); } } function clearSelection( e ) { e.preventDefault(); $( this ).addClass( 'hidden' ).siblings( 'input' ).val( '' ).trigger( 'change' ); $( this ).closest( '.rwmb-file-input-inner' ).siblings( '.rwmb-file-input-image' ).addClass( 'rwmb-file-input-hidden' ); } function hideRemoveButtonWhenCloning() { $( this ).siblings( '.rwmb-file-input-remove' ).addClass( 'hidden' ); } rwmb.$document .on( 'click', '.rwmb-file-input-select', openSelectPopup ) .on( 'input change', '.rwmb-file_input', changeValueInput ) .on( 'click', '.rwmb-file-input-remove', clearSelection ) .on( 'clone', '.rwmb-file_input', hideRemoveButtonWhenCloning ); } )( jQuery, rwmb );
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
jqueryui | Folder | 0755 |
|
|
leaflet | Folder | 0755 |
|
|
select2 | Folder | 0755 |
|
|
validation | Folder | 0755 |
|
|
wp-color-picker-alpha | Folder | 0755 |
|
|
autocomplete.js | File | 1.62 KB | 0644 |
|
autosave.js | File | 595 B | 0644 |
|
button-group.js | File | 1018 B | 0644 |
|
clone.js | File | 9.04 KB | 0644 |
|
color.js | File | 1.33 KB | 0644 |
|
date.js | File | 2.47 KB | 0644 |
|
datetime.js | File | 2.87 KB | 0644 |
|
file-input.js | File | 1.87 KB | 0644 |
|
file-upload.js | File | 5.1 KB | 0644 |
|
file.js | File | 3.88 KB | 0644 |
|
icon.js | File | 769 B | 0644 |
|
image-advanced.js | File | 1015 B | 0644 |
|
image-upload.js | File | 1007 B | 0644 |
|
input-list.js | File | 1.07 KB | 0644 |
|
map-frontend.js | File | 2.01 KB | 0644 |
|
map.js | File | 8.6 KB | 0644 |
|
media.js | File | 15.45 KB | 0644 |
|
modal.js | File | 4.12 KB | 0644 |
|
oembed.js | File | 880 B | 0644 |
|
osm-frontend.js | File | 1.2 KB | 0644 |
|
osm.js | File | 7.79 KB | 0644 |
|
post.js | File | 1.23 KB | 0644 |
|
range.js | File | 475 B | 0644 |
|
script.js | File | 751 B | 0644 |
|
select-advanced.js | File | 3.67 KB | 0644 |
|
select-tree.js | File | 1.62 KB | 0644 |
|
select.js | File | 536 B | 0644 |
|
slider.js | File | 922 B | 0644 |
|
taxonomy.js | File | 1.21 KB | 0644 |
|
time.js | File | 1.78 KB | 0644 |
|
user.js | File | 1.43 KB | 0644 |
|
video.js | File | 1.12 KB | 0644 |
|
wysiwyg.js | File | 5.36 KB | 0644 |
|