Current File : /home/pacjaorg/public_html/2024/wp-content/plugins/formidable/js/formidable_admin_global.js |
/* global jQuery:false, frmGlobal, tb_remove, ajaxurl, adminpage */
/* exported frm_install_now, frmSelectSubnav, frmCreatePostEntry */
/* eslint-disable prefer-const, compat/compat */
jQuery( document ).ready( function() {
let deauthLink, submenuItem, li,
installLink = document.getElementById( 'frm_install_link' );
if ( installLink !== null ) {
jQuery( installLink ).on( 'click', frmInstallPro );
}
deauthLink = jQuery( '.frm_deauthorize_link' );
if ( deauthLink.length ) {
deauthLink.on( 'click', frmDeauthorizeNow );
}
if ( typeof tb_remove === 'function' ) { // eslint-disable-line camelcase
frmAdminPopup.init();
}
submenuItem = document.querySelector( '.frm-upgrade-submenu' );
if ( null !== submenuItem ) {
li = submenuItem.parentNode.parentNode;
if ( li ) {
li.classList.add( 'frm-submenu-highlight' );
}
}
});
function frm_install_now() { // eslint-disable-line camelcase
const $msg = jQuery( document.getElementById( 'frm_install_message' ) );
$msg.html( '<div class="frm_plugin_updating">' + frmGlobal.updating_msg + '<div class="spinner frm_spinner"></div></div>' );
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'frm_install',
nonce: frmGlobal.nonce
},
success: function() {
$msg.fadeOut( 'slow' );
}
});
return false;
}
function frmInstallPro( e ) {
let $msg,
plugin = this.getAttribute( 'data-prourl' );
if ( plugin === '' ) {
return true;
}
e.preventDefault();
$msg = jQuery( document.getElementById( 'frm_install_message' ) );
$msg.html( '<div class="frm_plugin_updating">' + frmGlobal.updating_msg + '<div class="spinner frm_spinner"></div></div>' );
$msg.fadeIn( 'slow' );
jQuery.ajax({
url: ajaxurl,
type: 'POST',
async: true,
cache: false,
dataType: 'json',
data: {
action: 'frm_install_addon',
nonce: frmGlobal.nonce,
plugin: plugin
},
success: function() {
$msg.fadeOut( 'slow' );
$msg.parent().fadeOut( 'slow' );
},
error: function() {
$msg.fadeOut( 'slow' );
}
});
return false;
}
function frmDeauthorizeNow() {
if ( ! confirm( frmGlobal.deauthorize ) ) {
return false;
}
jQuery( this ).html( '<span class="spinner"></span>' );
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'frm_deauthorize',
nonce: frmGlobal.nonce
},
success: function() {
jQuery( '.error' ).fadeOut( 'slow' );
}
});
return false;
}
function frmSelectSubnav() {
const frmMenu = document.getElementById( 'toplevel_page_formidable' );
jQuery( frmMenu ).removeClass( 'wp-not-current-submenu' ).addClass( 'wp-has-current-submenu wp-menu-open' );
jQuery( '#toplevel_page_formidable a.wp-has-submenu' ).removeClass( 'wp-not-current-submenu' ).addClass( 'wp-has-current-submenu wp-menu-open' );
}
function frmCreatePostEntry( id, postId ) {
jQuery( '#frm_create_entry p' ).replaceWith( '<img src="' + frmGlobal.url + '/images/wpspin_light.gif" alt="' + frmGlobal.loading + '" />' );
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'frm_create_post_entry',
id: id,
post_id: postId,
nonce: frmGlobal.nonce
},
success: function() {
jQuery( document.getElementById( 'frm_create_entry' ) ).fadeOut( 'slow' );
}
});
}
function frmAdminPopupJS() {
function switchSc() {
let val;
jQuery( '.frm_switch_sc' ).removeClass( 'active' );
jQuery( this ).addClass( 'active' );
toggleMenu();
jQuery( '#frm_popup_content .media-frame-title h1' ).html( jQuery( this ).children( '.howto' ).text() + ' <span class="spinner" style="float:left;"></span>' );
val = this.id.replace( 'sc-link-', '' );
populateOpts( val );
return false;
}
function populateOpts( val ) {
let $settings, $scOpts, $spinner,
sc = document.getElementById( 'frm_complete_shortcode' );
if ( sc !== null ) {
sc.value = '[' + val + ']';
}
jQuery( '.frm_shortcode_option' ).hide();
$settings = document.getElementById( 'sc-opts-' + val );
if ( $settings !== null ) {
$settings.style.display = '';
jQuery( document.getElementById( 'sc-' + val ) ).trigger( 'click' );
} else {
$scOpts = jQuery( document.getElementById( 'frm_shortcode_options' ) );
$spinner = jQuery( '.media-frame-title .spinner' );
$spinner.show();
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'frm_get_shortcode_opts',
shortcode: val,
nonce: frmGlobal.nonce
},
success: function( html ) {
$spinner.hide();
$scOpts.append( html );
jQuery( document.getElementById( 'sc-' + val ) ).trigger( 'click' );
}
});
}
}
function addToShortcode() {
const sc = jQuery( 'input[name=frmsc]:checked' ).val();
const inputs = jQuery( document.getElementById( 'sc-opts-' + sc ) ).find( 'input, select' );
let output = '[' + sc;
inputs.each( function() {
let attrName, attrVal,
$thisInput = jQuery( this ),
attrId = this.id;
if ( attrId.indexOf( 'frmsc_' ) === 0 ) {
attrName = attrId.replace( 'frmsc_' + sc + '_', '' );
attrVal = $thisInput.val();
if ( ( $thisInput.attr( 'type' ) === 'checkbox' && ! this.checked ) || ( ( $thisInput.attr( 'type' ) === 'text' || $thisInput.is( 'select' ) ) && attrVal === '' ) ) {
} else {
output += ' ' + attrName + '="' + attrVal + '"';
}
}
});
output += ']';
document.getElementById( 'frm_complete_shortcode' ).value = output;
}
function insertShortcode() {
const win = window.dialogArguments || opener || parent || top;
win.send_to_editor( document.getElementById( 'frm_complete_shortcode' ).value );
}
function getFieldSelection() {
let thisId,
formId = this.value;
if ( formId ) {
thisId = this.id;
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'frm_get_field_selection',
field_id: 0,
form_id: formId,
nonce: frmGlobal.nonce
},
success: function( msg ) {
const baseId = thisId.replace( '_form', '' );
msg = msg.replace( 'name="field_options[form_select_0]"', 'id="frmsc_' + baseId + '_fields"' );
jQuery( document.getElementById( baseId + '_fields_container' ) ).html( msg );
}
});
}
}
function toggleMenu() {
jQuery( document.getElementById( 'frm_popup_content' ) ).find( '.media-menu' ).toggleClass( 'visible' );
}
return {
init: function() {
let $scOptsDiv;
jQuery( '.frm_switch_sc' ).on( 'click', switchSc );
jQuery( '.button.frm_insert_form' ).on( 'click', function() {
populateOpts( 'formidable' );
});
jQuery( document.getElementById( 'frm_insert_shortcode' ) ).on( 'click', insertShortcode );
$scOptsDiv = jQuery( document.getElementById( 'frm_shortcode_options' ) );
$scOptsDiv.on( 'change', 'select, input', addToShortcode );
$scOptsDiv.on( 'change', '.frm_get_field_selection', getFieldSelection );
jQuery( '#frm_popup_content .media-modal-close' ).on( 'click', tb_remove );
jQuery( '#frm_popup_content .media-frame-title h1' ).on( 'click', toggleMenu );
}
};
}
window.frmAdminPopup = frmAdminPopupJS();
function frmWidgetsJS() {
function toggleCatOpt() {
const catOpts = jQuery( this ).closest( '.widget-content' ).children( '.frm_list_items_hide_cat_opts' );
if ( this.checked ) {
catOpts.fadeIn();
} else {
catOpts.fadeOut();
}
}
function getFields() {
let widget,
displayId = this.value;
if ( displayId !== '' ) {
widget = jQuery( this ).closest( '.widget-content' );
jQuery.ajax({
type: 'POST',
url: ajaxurl,
dataType: 'json',
data: {
action: 'frm_get_dynamic_widget_opts',
display_id: displayId,
nonce: frmGlobal.nonce
},
success: function( opts ) {
let titleField,
catField = widget.find( '.frm_list_items_cat_id' );
catField.find( 'option' ).remove().end();
catField.append( jQuery( '<option></option>' ) );
jQuery.each( opts.catValues, function( key, value ) {
catField.append( jQuery( '<option></option>' ).attr( 'value', key ).text( value ) );
});
titleField = widget.find( '.frm_list_items_title_id' );
titleField.find( 'option' ).remove().end();
titleField.append( jQuery( '<option></option>' ) );
jQuery.each( opts.titleValues, function( key, value ) {
titleField.append( jQuery( '<option></option>' ).attr( 'value', key ).text( value ) );
});
}
});
}
}
return {
init: function() {
jQuery( document ).on( 'click', '.frm_list_items_cat_list', toggleCatOpt );
jQuery( document ).on( 'change', '.frm_list_items_display_id', getFields );
}
};
}
if ( typeof adminpage !== 'undefined' && adminpage === 'widgets-php' ) {
window.frmWidgets = frmWidgetsJS();
window.frmWidgets.init();
}