/home/techb158/primomovers.ca/wp-content/plugins/everest-forms/assets/js/admin
Edit: /home/techb158/primomovers.ca/wp-content/plugins/everest-forms/assets/js/admin/upgrade.js (29076B)
/* global evf_upgrade, evf_data */
jQuery( function( $ ) {
/**
* Upgrade actions.
*/
var evf_upgrade_actions = {
init: function () {
$(document.body).on(
'click dragstart',
'.evf-registered-item.upgrade-modal',
this.field_upgrade,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.evf-upgrade-addon',
this.evf_upgrade_addon,
);
$(document.body).on(
'click',
'#evf-row-field-popover .evf-popover-field-item.evf-field-upgrade',
this.popover_field_upgrade,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.enable-stripe-model',
this.enable_stripe_model,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.enable-authorize-net-model',
this.enable_authorize_net_model,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.enable-payment-subscription-plan',
this.enable_recurring_payment,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.everest-forms-pro-is_square_install',
this.install_square_addon_notice,
);
if (
0 ===
$(document.body).find(
'.evf-registered-item.everest-forms-pro-is_square_install',
).length
) {
$(document.body).on(
'click dragstart',
'.evf-registered-item.enable-square-model',
this.enable_square_model,
);
}
$(document.body).on(
'click dragstart',
'.everest-forms-field-option-row.upgrade-modal',
this.feature_upgrade,
);
$(document.body).on(
'click',
'.everest-forms-locked-field-cta',
this.locked_field_upgrade,
);
$(document.body).on(
'click dragstart',
'.evf-upgradable-feature, .everest-forms-btn-group span.upgrade-modal',
this.feature_upgrade,
);
$(document.body).on(
'click dragstart',
'.evf-one-time-draggable-field, .evf-registered-item.evf-one-time-draggable-field',
this.evf_one_time_draggable_field,
);
$(document.body).on(
'click ',
'.everest-forms-integrations[data-action="upgrade"]',
this.integration_upgrade,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.recaptcha_empty_key_validate',
this.recaptcha_empty_key_validate,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.hcaptcha_empty_key_validate',
this.hcaptcha_empty_key_validate,
);
$(document.body).on(
'click dragstart',
'.evf-registered-item.turnstile_empty_key_validate',
this.turnstile_empty_key_validate,
);
$(document.body).on(
'click ',
'.upgrade-addons-settings,.evf-upsell-upgrade-trigger',
this.integration_upgrade,
);
$(document.body).on('click ', '.evf-pro-feature', this.customizerupgrade);
$(document.body).on('click ', '.evf-pro-palette', this.customizerupgrade);
$(document.body).on(
'click ',
'.everest-forms-pro-template',
this.customizerupgrade,
);
evf_upgrade_actions.limit_file_upload();
$(document).on(
'evf_field_drop_complete',
evf_upgrade_actions.limit_file_upload,
);
},
customizerupgrade: function (e) {
e.preventDefault();
var customStyles = `
.wp-customizer .jconfirm-box {
padding: 40px 30px !important;
}
.wp-customizer .jconfirm-box .jconfirm-title-c {
margin-bottom: 24px !important;
padding: 0 !important;
}
.wp-customizer .jconfirm-box .jconfirm-title-c .jconfirm-title {
text-align: center !important;
border-bottom: 0px;
}
.wp-customizer .jconfirm-box .jconfirm-content-pane {
margin-bottom: 0 !important;
}
.wp-customizer .jconfirm-box .jconfirm-content-pane .jcontent-content > div {
text-align: center !important;
color: #646464 !important;
font-size: 16px !important;
line-height: 26px !important;
font-weight: 400 !important;
}
.wp-customizer .jconfirm-box .jconfirm-content-pane .jconfirm-content > div h2 {
margin-top: 0 !important;
margin-bottom: 12px !important;
font-size: 26px !important;
line-height: 34px !important;
text-align: center !important;
font-weight: 600 !important;
color: #222222 !important;
border-bottom: 0 !important;
padding-bottom: 0 !important;
}
.wp-customizer .jconfirm-box .jconfirm-content-pane .jconfirm-content > div p {
color: #646464 !important;
text-align: center !important;
font-size: 15px !important;
font-weight: 400 !important;
line-height: 25px !important;
margin: 0 !important;
}
.wp-customizer .jconfirm-box .jconfirm-buttons {
margin-top: 20px !important;
padding: 0 !important;
background: none !important;
float: unset !important;
}
.wp-customizer .jconfirm-box .jconfirm-buttons .btn-confirm {
width: 100% !important;
border-radius: 4px !important;
background: #2563EB !important;
color: #ffffff !important;
font-size: 16px !important;
font-weight: 500 !important;
line-height: 24px !important;
padding: 10px !important;
}
.wp-customizer .jconfirm-box .jconfirm-buttons .btn-confirm:hover {
background: #2f49bc !important;
}
.jconfirm-title .dashicons {
margin-right: 8px;
vertical-align: middle;
font-size: 28px;
color: #2563EB;
}
`;
$('head').append('');
$.alert({
title: `
`,
content: `
${evf_upgrade.upgrade_title}
${evf_upgrade.upgrade_message}
`,
type: 'red',
closeIcon: true,
boxWidth: '400px',
buttons: {
confirm: {
text: evf_upgrade.upgrade_button,
btnClass: 'btn-confirm',
keys: ['enter'],
action: function () {
window.open(evf_upgrade.upgrade_url, '_blank');
},
},
},
onOpen: function () {
var $alertBox = this.$jconfirmBox;
$alertBox.find('.jconfirm-content > div').css({
'text-align': 'center',
color: '#646464',
'font-size': '16px',
'line-height': '26px',
'font-weight': '400',
});
$alertBox.find('.jconfirm-buttons').css({
'margin-top': '20px',
padding: '0',
background: 'none',
float: 'unset',
});
$alertBox.find('.btn-confirm').css({
width: '100%',
'border-radius': '4px',
background: '#2563EB',
color: '#ffffff',
'font-size': '16px',
'font-weight': '600',
'line-height': '24px',
padding: '10px',
});
$alertBox.find('.btn-confirm').hover(function () {
$(this).css('background', '#2f49bc');
});
},
});
},
integration_upgrade: function (e) {
e.preventDefault();
var $el = $(this);
var name =
$el.data('name') || $el.find('h3').text().trim() || $el.text().trim();
var links = $el.data('links') || '';
evf_upgrade_actions.upgrade_integration(name, links, $el);
},
feature_upgrade: function (e) {
e.preventDefault();
evf_upgrade_actions.upgrade_modal(
$(this).data('feature') ? $(this).data('feature') : $(this).text(),
);
},
/**
* Handle clicks on a locked (Pro/addon) field placed in the form - both
* the canvas PRO badge and the settings-panel overlay. Routes to the
* addon install/activate flow when licensed, otherwise the upgrade modal.
*/
locked_field_upgrade: function (e) {
e.preventDefault();
// Prevent the click from also opening the field's settings panel.
e.stopPropagation();
var $el = $(this);
if ('evf-upgrade-addon' === $el.data('field-class')) {
evf_upgrade_actions.evf_upgrade_addon.call(this, e);
return;
}
var name = $el.data('field-name')
? $el.data('field-name') + ' field'
: $el.text();
evf_upgrade_actions.upgrade_modal(name, $el.data('links') || '');
},
popover_field_upgrade: function () {
var fieldType = $(this).data('field-type'),
$sidebarBtn = $(
'.evf-registered-item[data-field-type="' + fieldType + '"]',
);
if ($sidebarBtn.length) {
$sidebarBtn.trigger('click');
}
},
field_upgrade: function (e) {
e.preventDefault();
if (evf_data && evf_data.is_pro) {
return;
}
evf_upgrade_actions.upgrade_modal(
$(this).data('feature')
? $(this).data('feature')
: $(this).text() + ' field',
$(this).data('links'),
);
},
evf_upgrade_addon: function (e) {
e.preventDefault();
var $el = $(this);
// Guard against double-clicks: ignore if a request is already in flight.
if ($el.data('evf-addon-ajax')) {
return;
}
$el.data('evf-addon-ajax', true);
var fieldType = $el.data('field-type'),
fieldPlan = $el.data('field-plan'),
addonSlug = $el.data('addon-slug');
$.ajax({
type: 'POST',
url: evf_upgrade.ajax_url,
data: {
action: 'everest_forms_install_and_active_addons',
field_plan: fieldPlan,
field_type: fieldType,
addon_slug: addonSlug,
security: evf_upgrade.evf_install_and_active_nonce,
},
complete: function () {
$el.removeData('evf-addon-ajax');
},
success: function (res) {
if (res.success === true) {
$.alert({
title: res.data.title,
theme: 'jconfirm-modern jconfirm-everest-forms',
icon: 'dashicons dashicons-lock',
backgroundDismiss: false,
scrollToPreviousElement: false,
content: res.data.message,
buttons: {
confirm: {
text: res.data.content,
keys: ['enter'],
},
},
type: 'blue',
boxWidth: '565px',
});
}
if (res.success === false) {
// res.data.addon may be absent when the server throws before
// reaching the addon lookup (e.g. empty field_plan). Fall back
// to the addon slug so the modal still has a meaningful title.
var addonName =
res.data && res.data.addon && res.data.addon.name
? res.data.addon.name
: addonSlug;
$.alert({
title: addonName + ' ' + evf_upgrade.upgrade_plan_title,
theme: 'jconfirm-modern jconfirm-everest-forms',
icon: 'dashicons dashicons-lock',
backgroundDismiss: false,
scrollToPreviousElement: false,
content: evf_upgrade.upgrade_plan_message,
type: 'red',
boxWidth: '565px',
buttons: {
confirm: {
text: evf_upgrade.upgrade_plan_button,
btnClass: 'btn-confirm',
keys: ['enter'],
action: function () {
window.open(evf_upgrade.upgrade_url, '_blank');
},
},
cancel: {
text: evf_data.i18n_ok,
},
},
});
}
},
});
},
upgrade_modal: function (feature, links = '') {
var message = evf_upgrade.upgrade_message.replace(/%name%/g, feature);
var boxWidth = '565px';
if (feature === 'Multiple selection') {
links = {
image_id: '',
vedio_id: evf_upgrade.vedio_links.dropdown,
};
}
if ('' !== links) {
const { image_id, vedio_id } = links;
boxWidth = '665px';
if (vedio_id !== '') {
var html =
'
';
} else {
var html =
'

';
}
message = html + message;
}
$.alert({
title: feature + ' ' + evf_upgrade.upgrade_title,
icon: 'dashicons dashicons-lock',
content: message,
type: 'red',
boxWidth: boxWidth,
buttons: {
confirm: {
text: evf_upgrade.upgrade_button,
btnClass: 'btn-confirm',
keys: ['enter'],
action: function () {
window.open(evf_upgrade.upgrade_url, '_blank');
},
},
cancel: {
text: evf_data.i18n_ok,
},
},
});
},
limit_file_upload: function () {
$(document).ready(function () {
if (typeof evf_data === 'undefined') {
console.error(
'evf_data is not localized. Check wp_localize_script().',
);
return;
}
if (!evf_data.is_pro) {
$(document.body)
.find(
'.everest-forms-field-option-row-max_file_number input[type="number"]',
)
.on('input', function () {
var $this = $(this);
$this.val(1);
evf_upgrade_actions.evf_one_file_limit_message();
});
}
});
},
upgrade_integration: function (name, links, $el) {
name = name || '';
links = links || '';
$el = $el || '';
var message = evf_upgrade.upgrade_message.replace(/%name%/g, name);
var boxWidth = links ? '1000px' : '565px'; // ← scope to video presence
var html = '';
if (links) {
html =
'
';
message = html + message;
}
$.alert({
title: name + ' ' + evf_upgrade.upgrade_title,
icon: 'dashicons dashicons-lock',
content: message,
type: 'red',
boxWidth: boxWidth,
buttons: {
confirm: {
text: evf_upgrade.upgrade_button,
btnClass: 'btn-confirm',
keys: ['enter'],
action: function () {
var url =
$el && $el.data('upgrade-url')
? $el.data('upgrade-url')
: $el && $el.hasClass('upgrade-addons-settings')
? evf_upgrade.upgrade_integration_url_form
: evf_upgrade.upgrade_integration_url;
window.open(url, '_blank');
},
},
cancel: { text: '' },
},
});
},
enable_stripe_model: function (e) {
e.preventDefault();
var $item = $(e.currentTarget).closest('.evf-registered-item');
if ($item.hasClass('evf-payment-method-dependent-disabled')) {
return;
}
// Recurring-only lock uses .recurring-payment + stripe-admin handler, not this modal.
if ($item.hasClass('recurring-payment')) {
return;
}
$.alert({
title: evf_upgrade.enable_stripe_title,
content: evf_upgrade.enable_stripe_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
enable_authorize_net_model: function (e) {
e.preventDefault();
var $item = $(e.currentTarget).closest('.evf-registered-item');
if ($item.hasClass('evf-payment-method-dependent-disabled')) {
return;
}
$.alert({
title: evf_upgrade.enable_authorize_net_title,
content: evf_upgrade.enable_authorize_net_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
enable_square_model: function (e) {
e.preventDefault();
var $item = $(e.currentTarget).closest('.evf-registered-item');
if ($item.hasClass('evf-payment-method-dependent-disabled')) {
return;
}
$.alert({
title: evf_upgrade.enable_square_title,
content: evf_upgrade.enable_square_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
enable_recurring_payment: function (e) {
e.preventDefault();
$.alert({
title: evf_upgrade.enable_recurring_period_title,
content: evf_upgrade.enable_recurring_period_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
install_square_addon_notice: function (e) {
e.preventDefault();
console.log(evf_upgrade.admin_url);
$.alert({
title: 'Activate Square',
content:
'Please go to
Dashboard to active Square.',
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
/**
* Labels of Credit Card / Authorize.Net / Square fields on the builder canvas.
*
* @return {string[]}
*/
getLegacyPaymentFieldDisplayNames: function () {
var $b = $('#everest-forms-builder');
var names = [];
if (!$b.length) {
return names;
}
var fallbacks = {
'credit-card': evf_upgrade.evf_legacy_payment_label_credit_card,
'authorize-net': evf_upgrade.evf_legacy_payment_label_authorize_net,
'square-payment': evf_upgrade.evf_legacy_payment_label_square,
};
$b
.find(
'.everest-forms-field-credit-card, .everest-forms-field-authorize-net, .everest-forms-field-square-payment',
)
.each(function () {
var $f = $(this);
var label = $f.find('.label-title .text').first().text().trim();
var type = $f.attr('data-field-type') || '';
if (!label) {
label = fallbacks[type] || type;
}
names.push(label);
});
return names;
},
getEnabledPaymentsTabGatewayDisplayNames: function () {
var gateways = [
{
selectors: [
'input[type="checkbox"][name="payments[stripe][enable_stripe]"]',
'#everest-forms-panel-field-paymentsstripe-enable_stripe',
],
label:
typeof evf_upgrade.evf_legacy_payment_label_credit_card !==
'undefined'
? evf_upgrade.evf_legacy_payment_label_credit_card
: 'Stripe',
},
{
selectors: [
'input[type="checkbox"][name="payments[paypal][enable_paypal]"]',
'#everest-forms-panel-field-paypal-enable_paypal',
],
label:
typeof evf_upgrade.evf_legacy_payment_label_paypal !== 'undefined'
? evf_upgrade.evf_legacy_payment_label_paypal
: 'PayPal',
},
{
selectors: [
'#everest-forms-panel-field-paymentsrazorpay-enable_razorpay',
'#everest-forms-panel-field-razorpay-enable_razorpay',
'input[name*="[razorpay]"][name*="enable_razorpay"]',
],
label:
typeof evf_upgrade.evf_legacy_payment_label_razorpay !== 'undefined'
? evf_upgrade.evf_legacy_payment_label_razorpay
: 'Razorpay',
},
{
selectors: [
'#everest-forms-panel-field-authorize_net-enable_authorize_net',
],
label:
typeof evf_upgrade.evf_legacy_payment_label_authorize_net !==
'undefined'
? evf_upgrade.evf_legacy_payment_label_authorize_net
: 'Authorize.Net',
},
{
selectors: ['#everest-forms-panel-field-square-enable_square'],
label:
typeof evf_upgrade.evf_legacy_payment_label_square !== 'undefined'
? evf_upgrade.evf_legacy_payment_label_square
: 'Square',
},
{
selectors: [
'#everest-forms-panel-field-paymentsmollie-enable_mollie',
],
label:
typeof evf_upgrade.evf_legacy_payment_label_mollie !== 'undefined'
? evf_upgrade.evf_legacy_payment_label_mollie
: 'Mollie',
},
];
var enabled = [];
var g, s, $el, on;
for (g = 0; g < gateways.length; g++) {
on = false;
for (s = 0; s < gateways[g].selectors.length; s++) {
$el = $(gateways[g].selectors[s]);
if ($el.length && $el.is(':checked')) {
on = true;
break;
}
}
if (on) {
enabled.push(gateways[g].label);
}
}
return enabled;
},
evf_one_time_draggable_field: function (e) {
e.preventDefault();
var $item = $(e.currentTarget).closest('.evf-registered-item');
var fieldType = $item.data('field-type');
var title = evf_upgrade.evf_one_time_draggable_title;
var content = evf_upgrade.evf_one_time_draggable_message;
if (
$item.hasClass('evf-payment-method-dependent-disabled') &&
$.inArray(fieldType, ['credit-card', 'square-payment', 'authorize-net']) >=
0
) {
if (
'credit-card' === fieldType &&
$item.hasClass('enable-stripe-model')
) {
title = evf_upgrade.enable_stripe_title;
content = evf_upgrade.enable_stripe_message;
} else if (
'square-payment' === fieldType &&
$item.hasClass('enable-square-model')
) {
title = evf_upgrade.enable_square_title;
content = evf_upgrade.enable_square_message;
} else if (
'authorize-net' === fieldType &&
$item.hasClass('enable-authorize-net-model')
) {
title = evf_upgrade.enable_authorize_net_title;
content = evf_upgrade.enable_authorize_net_message;
} else {
title = evf_upgrade.evf_payment_method_dependency_title;
content = evf_upgrade.evf_payment_method_dependency_message;
}
}
if (
'payment-gateway-selector' === fieldType &&
$item.hasClass('evf-payment-method-dependent-disabled')
) {
title = evf_upgrade.evf_legacy_payment_blocks_gateway_title;
var disabledReason = $item.attr('data-evf-disabled-reason') || '';
if (
'credit-card-field' === disabledReason &&
typeof evf_upgrade.evf_credit_card_blocks_gateway_message !==
'undefined'
) {
content = evf_upgrade.evf_credit_card_blocks_gateway_message;
} else if (
typeof evf_upgrade.evf_legacy_payment_blocks_gateway_message !==
'undefined'
) {
var isEnabledPaymentsDisable =
disabledReason === 'enabled-payments';
var legacyNames = isEnabledPaymentsDisable
? []
: evf_upgrade_actions.getLegacyPaymentFieldDisplayNames();
var strongName = function (name) {
return (
'
' +
$('').text(name).html() +
''
);
};
var placeholder;
if (isEnabledPaymentsDisable) {
var enabled =
evf_upgrade_actions.getEnabledPaymentsTabGatewayDisplayNames();
if (enabled.length === 0) {
placeholder = strongName('payments');
} else if (enabled.length === 1) {
placeholder = strongName(enabled[0]);
} else {
placeholder = enabled.map(strongName).join(', ');
}
} else if (legacyNames.length === 0) {
placeholder =
'the ' +
strongName(
[
evf_upgrade.evf_legacy_payment_label_credit_card,
evf_upgrade.evf_legacy_payment_label_authorize_net,
evf_upgrade.evf_legacy_payment_label_square,
].join(', '),
);
} else if (legacyNames.length === 1) {
placeholder = 'the ' + strongName(legacyNames[0]);
} else {
placeholder = legacyNames.map(strongName).join(', ');
}
content = evf_upgrade.evf_legacy_payment_blocks_gateway_message.replace(
'%s',
placeholder,
);
content = content.replace(
/\bPayments?\s+tab\b/i,
function (match) {
return (
'
' + match + ''
);
},
);
}
} else if (
'payment-gateway-selector' === fieldType &&
typeof evf_upgrade.evf_one_time_payment_gateway_message !== 'undefined'
) {
title = evf_upgrade.evf_one_time_payment_gateway_title;
content = evf_upgrade.evf_one_time_payment_gateway_message;
}
$.alert({
title: title,
content: content,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
evf_one_file_limit_message: function () {
$.alert({
title: evf_upgrade.evf_one_time_draggable_title,
content: evf_upgrade.evf_file_upload_free_file_limit_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
recaptcha_empty_key_validate: function (e) {
e.preventDefault();
$.alert({
title: evf_upgrade.recaptcha_title,
content: evf_upgrade.recaptcha_api_key_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
hcaptcha_empty_key_validate: function (e) {
e.preventDefault();
$.alert({
title: evf_upgrade.hcaptcha_title,
content: evf_upgrade.hcaptcha_api_key_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
turnstile_empty_key_validate: function (e) {
e.preventDefault();
$.alert({
title: evf_upgrade.turnstile_title,
content: evf_upgrade.turnstile_api_key_message,
icon: 'dashicons dashicons-info',
type: 'blue',
buttons: {
confirm: {
text: evf_data.i18n_close,
btnClass: 'btn-confirm',
keys: ['enter'],
},
},
});
},
};
evf_upgrade_actions.init();
});