File: /home/dermova/www/india/wp-content/plugins/rit-core/vendor/meta-box/js/file-advanced.js
jQuery( function ( $ )
{
'use strict';
var template = $( '#tmpl-rwmb-file-advanced' ).html();
$( 'body' ).on( 'click', '.rwmb-file-advanced-upload', function ( e )
{
e.preventDefault();
var $uploadButton = $( this ),
$fileList = $uploadButton.siblings( '.rwmb-uploaded' ),
maxFileUploads = $fileList.data( 'max_file_uploads' ),
mimeType = $fileList.data( 'mime_type' ),
msg = maxFileUploads > 1 ? rwmbFile.maxFileUploadsPlural : rwmbFile.maxFileUploadsSingle,
frame,
frameOptions = {
className: 'media-frame rwmb-file-frame',
multiple : true,
title : rwmbFileAdvanced.frameTitle
};
msg = msg.replace( '%d', maxFileUploads );
// Create a media frame
if ( mimeType )
{
frameOptions.library = {
type: mimeType
};
}
frame = wp.media( frameOptions );
// Open media uploader
frame.open();
// Remove all attached 'select' event
frame.off( 'select' );
// Handle selection
frame.on( 'select', function ()
{
// Get selections
var selection = frame.state().get( 'selection' ).toJSON(),
uploaded = $fileList.children().length,
ids;
if ( maxFileUploads > 0 && ( uploaded + selection.length ) > maxFileUploads )
{
if ( uploaded < maxFileUploads )
{
selection = selection.slice( 0, maxFileUploads - uploaded );
}
alert( msg );
}
// Get only files that haven't been added to the list
// Also prevent duplication when send ajax request
selection = _.filter( selection, function ( attachment )
{
return $fileList.children( 'li#item_' + attachment.id ).length === 0;
} );
ids = _.pluck( selection, 'id' );
if ( ids.length > 0 )
{
// Attach attachment to field and get HTML
var data = {
action : 'rwmb_attach_file',
post_id : $( '#post_ID' ).val(),
field_id : $fileList.data( 'field_id' ),
attachment_ids: ids,
_ajax_nonce : $uploadButton.data( 'attach_file_nonce' )
};
$.post( ajaxurl, data, function ( r )
{
if ( r.success )
{
$fileList
.append( _.template( template, { attachments: selection }, {
evaluate : /<#([\s\S]+?)#>/g,
interpolate: /\{\{\{([\s\S]+?)\}\}\}/g,
escape : /\{\{([^\}]+?)\}\}(?!\})/g
} ) )
.trigger( 'update.rwmbFile' );
}
}, 'json' );
}
} );
} );
} );