Current File : /home/n742ef5/royalanteam.com/wp-content/plugins/Ultimate_VC_Addons/admin/js/admin-media.js |
( function ( $ ) {
'use strict';
$.SmileTrigger = $.SmileTrigger || {};
$.SmileTrigger.wp_media = $.SmileTrigger.wp_media || [];
$.SmileTrigger.media_new = function () {
const $body = $( 'body' );
$body.on(
'click',
'.smile_upload_icon',
$.SmileTrigger.media_new_activate
);
};
//intended for zip files only. if needed should be easy to expand in the future
$.SmileTrigger.media_new_activate = function ( event ) {
event.preventDefault();
const clicked = $( this ),
options = clicked.data();
options.input_target = $( '#' + options.target );
// Create the media frame.
const file_frame = wp.media( {
frame: options.frame,
library: { type: options.type },
button: { text: options.button },
className: options.class,
} );
file_frame.on( 'select update insert', function () {
$.SmileTrigger.media_new_insert( file_frame, options );
} );
//open the media frame
file_frame.open();
};
//insert the url of the zip file
$.SmileTrigger.media_new_insert = function ( file_frame, options ) {
const state = file_frame.state(),
selection = state.get( 'selection' ).first().toJSON();
options.input_target.val( selection.id ).trigger( 'change' );
$( 'body' ).trigger( options.trigger, [ selection, options ] );
};
$( document ).ready( function () {
$.SmileTrigger.media_new();
//Fonts Zip file upload
$( 'body' ).on( 'smile_insert_zip', $.SmileTrigger.icon_insert );
//font manager
$( 'body' ).on(
'click',
'.smile_del_icon',
$.SmileTrigger.icon_remove
);
} );
/**
* @param event
* @param selection
* @param options
*/
$.SmileTrigger.icon_insert = function ( event, selection, options ) {
// clean the options field, we dont need to save a value
options.input_target.val( '' );
const manager = $( '.smile_iconfont_manager' );
const msg = $( '#msg' );
const proceed =
selection.subtype == 'zip' || selection.subtype == 'x-zip'
? true
: false;
if ( proceed == false ) {
$( '.spinner' ).hide();
msg.html(
"<div class='error'><p>Please upload a valid ZIP file.<br/>You can create the file on icomoon.io</p></div>"
);
msg.show();
setTimeout( function () {
msg.slideUp();
}, 5000 );
return;
}
// send request to server to extract the zip file, re arrange the content and save a config file
$.ajax( {
type: 'POST',
url: ajaxurl,
data: {
action: 'smile_ajax_add_zipped_font',
security: uavc.add_zipped_font,
values: selection,
},
beforeSend() {
$( '.spinner' )
.css( {
opacity: 0,
display: 'block',
visibility: 'visible',
position: 'absolute',
top: '21px',
left: '345px',
} )
.animate( { opacity: 1 } );
},
error() {
$( '.spinner' ).hide();
msg.html(
"<div class='error'><p>Couldn't add the font because the server didn’t respond. Please reload the page, then try again.</p></div>"
);
msg.show();
setTimeout( function () {
msg.slideUp();
}, 5000 );
},
success( response ) {
$( '.spinner' ).hide();
if ( response.match( /smile_font_added/ ) ) {
msg.html(
"<div class='updated'><p>Font icon added successfully! Reloading the page... </p></div>"
);
msg.show();
setTimeout( function () {
msg.slideUp();
location.reload();
}, 5000 );
} else {
msg.html(
"<div class='error'><p>Couldn't add the font.<br/>The script returned the following error: " +
response +
'</p></div>'
);
msg.show();
setTimeout( function () {
msg.slideUp();
}, 5000 );
}
if ( typeof console !== 'undefined' ) console.log( response );
//msg.fadeOut('slow');
},
} );
};
$.SmileTrigger.icon_remove = function ( event ) {
event.preventDefault();
const button = $( this ),
parent = button.parents( '.smile-available-font:eq(0)' ),
manager = button.parents( '.smile_iconfont_manager:eq(0)' ),
all_fonts = manager.find( '.smile-available-font' ),
del_font = button.data( 'delete' );
//alert(del_font);
const msg = $( '#msg' );
// send request to server to remove the folder and the database entry
$.ajax( {
type: 'POST',
url: ajaxurl,
data: {
action: 'smile_ajax_remove_zipped_font',
del_font,
security: uavc.remove_zipped_font,
},
beforeSend() {
$( '.spinner' )
.css( {
opacity: 0,
display: 'block',
visibility: 'visible',
position: 'absolute',
top: '21px',
left: '345px',
} )
.animate( { opacity: 1 } );
},
error() {
$( '.spinner' ).hide();
msg.html(
"<div class='error'><p>Couldn't remove the font because the server didn’t respond.<br/>Please reload the page, then try again</p></div>"
);
msg.show();
setTimeout( function () {
msg.slideUp();
}, 5000 );
},
success( response ) {
$( '.spinner' ).hide();
if ( response.match( /smile_font_removed/ ) ) {
msg.html(
"<div class='updated'><p>Icon set deleted successfully! Reloading the page...</p></div>"
);
msg.show();
setTimeout( function () {
msg.slideUp();
location.reload();
}, 5000 );
} else {
msg.html(
"<p><div class='error'><p>Couldn't remove the font.<br/>Reloading the page...</p></div>"
);
msg.show();
setTimeout( function () {
msg.slideUp();
location.reload();
}, 5000 );
}
if ( typeof console !== 'undefined' ) console.log( response );
//msg.fadeOut('slow');
},
complete( response ) {
//alert(response);
},
} );
};
} )( jQuery );