Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/themify-.../admin/js
File: tbp-dynamic-content.js
(function($,api) {
[0] Fix | Delete
'use strict';
[1] Fix | Delete
[2] Fix | Delete
let DC={},
[3] Fix | Delete
DynamicCache=null,
[4] Fix | Delete
hidden;
[5] Fix | Delete
[6] Fix | Delete
const CacheRequest = {},
[7] Fix | Delete
fieldName=tbpDynamic.field_name,
[8] Fix | Delete
getData = function (callback) {
[9] Fix | Delete
if ( DynamicCache ===null ) {
[10] Fix | Delete
const name='tbp_dc',
[11] Fix | Delete
key=Themify.hash(tbpDynamic.v+Object.keys(tbpDynamic.items)),
[12] Fix | Delete
writeStorage=function(value){
[13] Fix | Delete
try{
[14] Fix | Delete
sessionStorage.setItem(name,JSON.stringify({'v':value,'h':key}));
[15] Fix | Delete
}
[16] Fix | Delete
catch(e){
[17] Fix | Delete
return null;
[18] Fix | Delete
}
[19] Fix | Delete
},
[20] Fix | Delete
readStorage=function () {
[21] Fix | Delete
if(themifyBuilder.debug){
[22] Fix | Delete
return null;
[23] Fix | Delete
}
[24] Fix | Delete
try{
[25] Fix | Delete
let result=sessionStorage.getItem(name);
[26] Fix | Delete
if(result){
[27] Fix | Delete
result = JSON.parse(result);
[28] Fix | Delete
if(result['h']===key && result['v']){
[29] Fix | Delete
return result['v'];
[30] Fix | Delete
}
[31] Fix | Delete
}
[32] Fix | Delete
}
[33] Fix | Delete
catch(e){
[34] Fix | Delete
return null;
[35] Fix | Delete
}
[36] Fix | Delete
return null;
[37] Fix | Delete
};
[38] Fix | Delete
DynamicCache = readStorage();
[39] Fix | Delete
if(DynamicCache===null){
[40] Fix | Delete
$.ajax({
[41] Fix | Delete
type: 'POST',
[42] Fix | Delete
url: themifyBuilder.ajaxurl,
[43] Fix | Delete
dataType: 'json',
[44] Fix | Delete
data: {
[45] Fix | Delete
action: 'tpb_get_dynamic_content_fields',
[46] Fix | Delete
tb_load_nonce: themifyBuilder.tb_load_nonce
[47] Fix | Delete
},
[48] Fix | Delete
error:function(){
[49] Fix | Delete
DynamicCache=null;
[50] Fix | Delete
},
[51] Fix | Delete
success: function ( data ) {
[52] Fix | Delete
DynamicCache = data;
[53] Fix | Delete
writeStorage(data);
[54] Fix | Delete
if(callback){
[55] Fix | Delete
callback();
[56] Fix | Delete
}
[57] Fix | Delete
}
[58] Fix | Delete
});
[59] Fix | Delete
}
[60] Fix | Delete
} else if(callback){
[61] Fix | Delete
callback();
[62] Fix | Delete
}
[63] Fix | Delete
},
[64] Fix | Delete
getPreviewVal = function(vals,callback){
[65] Fix | Delete
// get preview
[66] Fix | Delete
let after='',
[67] Fix | Delete
before='',
[68] Fix | Delete
req;
[69] Fix | Delete
const result=function(v){
[70] Fix | Delete
if(before!==undefined || after!==undefined){
[71] Fix | Delete
if(!v){
[72] Fix | Delete
v='';
[73] Fix | Delete
}
[74] Fix | Delete
if(before!==undefined){
[75] Fix | Delete
v=before+v;
[76] Fix | Delete
}
[77] Fix | Delete
if(after!==undefined){
[78] Fix | Delete
v+=after;
[79] Fix | Delete
}
[80] Fix | Delete
}
[81] Fix | Delete
if(callback){
[82] Fix | Delete
callback(v);
[83] Fix | Delete
}
[84] Fix | Delete
};
[85] Fix | Delete
if(typeof vals!=='string'){
[86] Fix | Delete
if(!vals || vals['item']===undefined){
[87] Fix | Delete
return;
[88] Fix | Delete
}
[89] Fix | Delete
req = $.extend(true,{},vals);
[90] Fix | Delete
after =req['text_after'],
[91] Fix | Delete
before=req['text_before'];
[92] Fix | Delete
delete req['text_before'];
[93] Fix | Delete
delete req['text_after'];
[94] Fix | Delete
delete req['o'];
[95] Fix | Delete
req = JSON.stringify(req);
[96] Fix | Delete
}
[97] Fix | Delete
else{
[98] Fix | Delete
req=vals;
[99] Fix | Delete
}
[100] Fix | Delete
let postId;
[101] Fix | Delete
if(api.Forms.LayoutPart.id && document.body.classList.contains('tbp_app_is_edit')){
[102] Fix | Delete
postId =api.Instances.Builder[api.builderIndex].el.parentNode.id;
[103] Fix | Delete
if(postId){
[104] Fix | Delete
postId = postId.split('-')[1];
[105] Fix | Delete
}
[106] Fix | Delete
}
[107] Fix | Delete
if(!postId){
[108] Fix | Delete
postId=typeof tbp_local!=='undefined' && tbp_local['id']!==undefined && !tbp_local['isArchive']?tbp_local['id']:themifyBuilder.post_ID;
[109] Fix | Delete
}
[110] Fix | Delete
const key = Themify.hash(req+postId);
[111] Fix | Delete
if(CacheRequest[key]===undefined){
[112] Fix | Delete
$.ajax({
[113] Fix | Delete
type: 'POST',
[114] Fix | Delete
url: themifyBuilder.ajaxurl,
[115] Fix | Delete
dataType: 'json',
[116] Fix | Delete
data: {
[117] Fix | Delete
action: 'tpb_get_dynamic_content_preview',
[118] Fix | Delete
tb_load_nonce: themifyBuilder.tb_load_nonce,
[119] Fix | Delete
pid : postId,
[120] Fix | Delete
values : req
[121] Fix | Delete
},
[122] Fix | Delete
success : function( data ) {
[123] Fix | Delete
CacheRequest[key] = data['error']?data['error']:(data['value']==='' || data['value']==='false' ? null : data['value']);
[124] Fix | Delete
result(CacheRequest[key]);
[125] Fix | Delete
}
[126] Fix | Delete
} );
[127] Fix | Delete
}
[128] Fix | Delete
else{
[129] Fix | Delete
result(CacheRequest[key]);
[130] Fix | Delete
}
[131] Fix | Delete
},
[132] Fix | Delete
createOptions=function(type,values){
[133] Fix | Delete
const oldVals= ThemifyConstructor.values,
[134] Fix | Delete
options_wrap=document.createElement('div'),
[135] Fix | Delete
Options =Object.values($.extend(true,{}, DynamicCache)),
[136] Fix | Delete
dynamic=tbpDynamic.items;
[137] Fix | Delete
options_wrap.className='tbp_dynamic_content_options';
[138] Fix | Delete
for(let i=Options.length-1;i>-1;--i){
[139] Fix | Delete
if(Options[i].id==='item'){
[140] Fix | Delete
let group = Options[i].options;
[141] Fix | Delete
for(let j in group){
[142] Fix | Delete
for(let k in group[j]['options']){
[143] Fix | Delete
if(dynamic[ k ]!==undefined && dynamic[ k ]['type'].indexOf(type)===-1 ) {
[144] Fix | Delete
delete group[j]['options'][k];
[145] Fix | Delete
}
[146] Fix | Delete
}
[147] Fix | Delete
if(Object.keys(group[j]['options']).length===0){
[148] Fix | Delete
delete group[j];
[149] Fix | Delete
}
[150] Fix | Delete
}
[151] Fix | Delete
break;
[152] Fix | Delete
}
[153] Fix | Delete
}
[154] Fix | Delete
if(values===undefined){
[155] Fix | Delete
values={};
[156] Fix | Delete
}
[157] Fix | Delete
ThemifyConstructor.values = values;
[158] Fix | Delete
const form= ThemifyConstructor.create(Options),
[159] Fix | Delete
opt=form.querySelectorAll('.tb_lb_option');
[160] Fix | Delete
// prevent Builder from saving these fields individually
[161] Fix | Delete
for(let i=opt.length-1;i>-1;--i){
[162] Fix | Delete
opt[i].classList.remove('tb_lb_option','tb_lb_option_child');
[163] Fix | Delete
}
[164] Fix | Delete
ThemifyConstructor.values=oldVals;
[165] Fix | Delete
options_wrap.appendChild(form);
[166] Fix | Delete
return options_wrap;
[167] Fix | Delete
},
[168] Fix | Delete
EnableDc=function(el,init){
[169] Fix | Delete
[170] Fix | Delete
let field = el.parentNode.closest('.tb_field'),
[171] Fix | Delete
pid=getRepeatId(field),
[172] Fix | Delete
type = getType( field ),
[173] Fix | Delete
parent=field.getElementsByClassName('tb_input')[0],
[174] Fix | Delete
values={};
[175] Fix | Delete
if(parent!==undefined && parent.parentNode.classList.contains('tb_has_dc')){
[176] Fix | Delete
field = parent;
[177] Fix | Delete
parent=null;
[178] Fix | Delete
}
[179] Fix | Delete
const id = getId(field,type);
[180] Fix | Delete
if(pid!==null){
[181] Fix | Delete
if(DC[pid]!==undefined){
[182] Fix | Delete
const index=getRepeatIndex(field);
[183] Fix | Delete
if(DC[pid][index]!==undefined){
[184] Fix | Delete
values=DC[pid][index];
[185] Fix | Delete
}
[186] Fix | Delete
}
[187] Fix | Delete
}
[188] Fix | Delete
else{
[189] Fix | Delete
values = DC;
[190] Fix | Delete
}
[191] Fix | Delete
if(init===true){
[192] Fix | Delete
if(values[id]!==undefined){
[193] Fix | Delete
el.checked=true;
[194] Fix | Delete
}
[195] Fix | Delete
else{
[196] Fix | Delete
return;
[197] Fix | Delete
}
[198] Fix | Delete
}
[199] Fix | Delete
if(el.checked===true){
[200] Fix | Delete
field.classList.add('tbp_dc_active');
[201] Fix | Delete
let placeholder=field.getElementsByClassName( 'tbp_dc_input' )[0];
[202] Fix | Delete
if (placeholder===undefined ) {
[203] Fix | Delete
getData( function() {
[204] Fix | Delete
const wrap=document.createElement('div');
[205] Fix | Delete
placeholder=document.createElement('input');
[206] Fix | Delete
wrap.className='tbp_dc_wrap';
[207] Fix | Delete
placeholder.className='tbp_dc_input xlarge';
[208] Fix | Delete
placeholder.type='text';
[209] Fix | Delete
placeholder.setAttribute('readonly',true);
[210] Fix | Delete
const onTypeChange= function(el){
[211] Fix | Delete
const dcWrap = el.closest('.tbp_dc_wrap'),
[212] Fix | Delete
itemType=dcWrap.querySelector('#item'),
[213] Fix | Delete
v = itemType.value,
[214] Fix | Delete
items = itemType.closest('.tb_field').nextElementSibling.children,
[215] Fix | Delete
cl = 'field_'+v,
[216] Fix | Delete
generalCl='field_general_'+type;
[217] Fix | Delete
let blocks =[];
[218] Fix | Delete
placeholder.value=itemType.options[itemType.selectedIndex].text;
[219] Fix | Delete
blocks.push(itemType.parentNode);
[220] Fix | Delete
for(let i=items.length-1;i>-1;--i){
[221] Fix | Delete
if(v!=='' && (items[i].classList.contains(cl) || items[i].classList.contains(generalCl))){
[222] Fix | Delete
items[i].style['display']='block';
[223] Fix | Delete
blocks.push(items[i]);
[224] Fix | Delete
}
[225] Fix | Delete
else{
[226] Fix | Delete
items[i].style['display']='';
[227] Fix | Delete
}
[228] Fix | Delete
}
[229] Fix | Delete
ThemifyConstructor.callbacks();
[230] Fix | Delete
if(!v){
[231] Fix | Delete
blocks=null;
[232] Fix | Delete
}
[233] Fix | Delete
const vals= update_value( id, blocks,dcWrap );
[234] Fix | Delete
blocks=null;
[235] Fix | Delete
getPreviewVal(vals,function(res){
[236] Fix | Delete
[237] Fix | Delete
/* fallback value in preview */
[238] Fix | Delete
if ( null === res ) {
[239] Fix | Delete
res = type === 'image'?tbpDynamic.placeholder_image:'{' + vals['item'] + '}';
[240] Fix | Delete
}
[241] Fix | Delete
[242] Fix | Delete
const item = getField(itemType,id);
[243] Fix | Delete
if(item!==null){
[244] Fix | Delete
item.value=res;
[245] Fix | Delete
let obj=null;
[246] Fix | Delete
if(type==='wp_editor'){
[247] Fix | Delete
obj =tinymce.get( item.id );
[248] Fix | Delete
if(obj){
[249] Fix | Delete
obj.setContent( String( res ) );
[250] Fix | Delete
obj.fire( 'change' );
[251] Fix | Delete
}
[252] Fix | Delete
}
[253] Fix | Delete
if(!obj){
[254] Fix | Delete
Themify.triggerEvent(item,'change');
[255] Fix | Delete
if( type!=='image' && item.nodeName!=='SELECT'){
[256] Fix | Delete
Themify.triggerEvent(item,'keyup');
[257] Fix | Delete
}
[258] Fix | Delete
}
[259] Fix | Delete
}
[260] Fix | Delete
});
[261] Fix | Delete
};
[262] Fix | Delete
placeholder.addEventListener('click',function(e){
[263] Fix | Delete
e.preventDefault();
[264] Fix | Delete
e.stopImmediatePropagation();
[265] Fix | Delete
let options_wrap = this.nextElementSibling;
[266] Fix | Delete
if(options_wrap===null){
[267] Fix | Delete
options_wrap = createOptions(type,values[id]);
[268] Fix | Delete
$(options_wrap).on( 'change.dc_preview', ':input',function(e){
[269] Fix | Delete
e.stopPropagation();
[270] Fix | Delete
onTypeChange(e.target);
[271] Fix | Delete
});
[272] Fix | Delete
this.parentNode.appendChild(options_wrap);
[273] Fix | Delete
}
[274] Fix | Delete
const isVisible=options_wrap.style['display']!=='block',
[275] Fix | Delete
Optitems =ThemifyBuilderCommon.Lightbox.$lightbox[0].getElementsByClassName('tbp_dynamic_content_options');
[276] Fix | Delete
for(let i=Optitems.length-1;i>-1;--i){
[277] Fix | Delete
Optitems[i].style['display']='';
[278] Fix | Delete
}
[279] Fix | Delete
if(isVisible===true){
[280] Fix | Delete
const Click = function(e){
[281] Fix | Delete
if(e.target.closest('.tbp_dc_wrap')===null){
[282] Fix | Delete
document.removeEventListener('mousedown',Click,{passive:true});
[283] Fix | Delete
if(api.mode==='visual'){
[284] Fix | Delete
window.top.document.removeEventListener('mousedown',Click,{passive:true});
[285] Fix | Delete
}
[286] Fix | Delete
options_wrap.style['display']='';
[287] Fix | Delete
}
[288] Fix | Delete
if(api.mode==='visual'){
[289] Fix | Delete
$(document).triggerHandler('mouseup');
[290] Fix | Delete
}
[291] Fix | Delete
};
[292] Fix | Delete
document.addEventListener('mousedown',Click,{passive:true});
[293] Fix | Delete
if(api.mode==='visual'){
[294] Fix | Delete
window.top.document.addEventListener('mousedown',Click,{passive:true});
[295] Fix | Delete
}
[296] Fix | Delete
onTypeChange(this);
[297] Fix | Delete
options_wrap.style['display']='block';
[298] Fix | Delete
}
[299] Fix | Delete
else{
[300] Fix | Delete
options_wrap.style['display']='';
[301] Fix | Delete
}
[302] Fix | Delete
});
[303] Fix | Delete
wrap.appendChild(api.Utils.getIcon('ti-pencil'));
[304] Fix | Delete
wrap.appendChild(placeholder);
[305] Fix | Delete
if(values[ id ]!==undefined){
[306] Fix | Delete
const value= values[ id ]['item'],
[307] Fix | Delete
opt = DynamicCache[0]['options'];
[308] Fix | Delete
for(let i in opt){
[309] Fix | Delete
if(opt[i]['options'][value]!==undefined){
[310] Fix | Delete
placeholder.value=opt[i]['options'][value];
[311] Fix | Delete
break
[312] Fix | Delete
}
[313] Fix | Delete
}
[314] Fix | Delete
if(type==='image' && ThemifyConstructor.clicked==='styling'){
[315] Fix | Delete
const imgOptions=field.closest('.tb_tab').getElementsByClassName('tb_image_options');
[316] Fix | Delete
for(let i=imgOptions.length-1;i>-1;--i){
[317] Fix | Delete
imgOptions[i].classList.remove('_tb_hide_binding');
[318] Fix | Delete
}
[319] Fix | Delete
}
[320] Fix | Delete
else{
[321] Fix | Delete
ThemifyConstructor.callbacks();
[322] Fix | Delete
}
[323] Fix | Delete
}
[324] Fix | Delete
field.appendChild(wrap);
[325] Fix | Delete
} );
[326] Fix | Delete
if(init===undefined){
[327] Fix | Delete
setOrigValue(field,id,type);
[328] Fix | Delete
}
[329] Fix | Delete
}
[330] Fix | Delete
else if(init===undefined){
[331] Fix | Delete
setOrigValue(field,id,type);
[332] Fix | Delete
if(values[id]!==undefined){
[333] Fix | Delete
placeholder.click();
[334] Fix | Delete
}
[335] Fix | Delete
toggleStylesheet(false);
[336] Fix | Delete
}
[337] Fix | Delete
}
[338] Fix | Delete
else if(init===undefined){
[339] Fix | Delete
revertOrigValue(field,id,type);
[340] Fix | Delete
field.classList.remove('tbp_dc_active');
[341] Fix | Delete
update_value( id, null,field );
[342] Fix | Delete
toggleStylesheet(true);
[343] Fix | Delete
}
[344] Fix | Delete
[345] Fix | Delete
},
[346] Fix | Delete
getRepeatIndex=function(el){
[347] Fix | Delete
return $(el.closest('.tb_repeatable_field')).index();
[348] Fix | Delete
},
[349] Fix | Delete
getRepeatId=function(el){
[350] Fix | Delete
const item= el.parentNode.closest('.tb_row_js_wrapper');
[351] Fix | Delete
return item!==null?item.getAttribute('id'):null;
[352] Fix | Delete
},
[353] Fix | Delete
toggleStylesheet=function(disable){
[354] Fix | Delete
if(api.mode==='visual' && ThemifyConstructor.clicked==='styling'){
[355] Fix | Delete
let el = api.liveStylingInstance.$liveStyledElmt[0].closest('.tb_active_layout_part');
[356] Fix | Delete
if(el===null){
[357] Fix | Delete
el=api.liveStylingInstance.$liveStyledElmt[0];
[358] Fix | Delete
}
[359] Fix | Delete
const styles=el.getElementsByClassName('tbp_dc_styles');
[360] Fix | Delete
for(let i=styles.length-1;i>-1;--i){
[361] Fix | Delete
styles[i].sheet.disabled =disable;
[362] Fix | Delete
}
[363] Fix | Delete
}
[364] Fix | Delete
},
[365] Fix | Delete
getId=function(el,type){
[366] Fix | Delete
const cl=type==='image'?'tb_uploader_input':(el.parentNode.closest('.tb_repeatable_field_content')!==null?'tb_lb_option_child':'tb_lb_option'),
[367] Fix | Delete
item = el.getElementsByClassName(cl)[0];
[368] Fix | Delete
let id;
[369] Fix | Delete
if(item!==undefined){
[370] Fix | Delete
id=item.getAttribute('data-input-id');
[371] Fix | Delete
}
[372] Fix | Delete
if(!id){
[373] Fix | Delete
id=item.getAttribute('id');
[374] Fix | Delete
}
[375] Fix | Delete
return id.trim();
[376] Fix | Delete
},
[377] Fix | Delete
update_value=function ( key, val,item ) {
[378] Fix | Delete
let dc,
[379] Fix | Delete
index=null,
[380] Fix | Delete
pid=getRepeatId(item);
[381] Fix | Delete
if(pid!==null){
[382] Fix | Delete
index=getRepeatIndex(item);
[383] Fix | Delete
}
[384] Fix | Delete
if ( val === null ) {
[385] Fix | Delete
dc=hidden.value;
[386] Fix | Delete
dc=dc?JSON.parse(dc):{};
[387] Fix | Delete
if(!dc){
[388] Fix | Delete
dc={};
[389] Fix | Delete
}
[390] Fix | Delete
if(index!==null){
[391] Fix | Delete
let update = false;
[392] Fix | Delete
if(dc[pid]!==undefined){
[393] Fix | Delete
if(key===null){
[394] Fix | Delete
if(dc[pid][index]!==undefined){
[395] Fix | Delete
update = true;
[396] Fix | Delete
delete DC[pid][index];
[397] Fix | Delete
delete dc[pid][index];
[398] Fix | Delete
}
[399] Fix | Delete
}
[400] Fix | Delete
else if( dc[pid][index]!==undefined && dc[pid][index][key]!==undefined){
[401] Fix | Delete
update = true;
[402] Fix | Delete
delete dc[pid][index][key];
[403] Fix | Delete
const len=Object.keys(dc[pid][index]).length;
[404] Fix | Delete
if(len===0 || (len===1 && dc[pid][index]['o']!==undefined)){
[405] Fix | Delete
update = true;
[406] Fix | Delete
delete DC[pid][index];
[407] Fix | Delete
delete dc[pid][index];
[408] Fix | Delete
}
[409] Fix | Delete
}
[410] Fix | Delete
else{
[411] Fix | Delete
return;
[412] Fix | Delete
}
[413] Fix | Delete
if ( Object.keys( dc[pid] ).length === 0 || ( Object.keys( dc[pid] ).length === 1 && dc[pid]['repeatable'] !== undefined ) ) {
[414] Fix | Delete
update = true;
[415] Fix | Delete
delete DC[pid];
[416] Fix | Delete
delete dc[pid];
[417] Fix | Delete
}
[418] Fix | Delete
}
[419] Fix | Delete
if(update===false){
[420] Fix | Delete
return;
[421] Fix | Delete
}
[422] Fix | Delete
}
[423] Fix | Delete
else{
[424] Fix | Delete
if(dc[key]!==undefined){
[425] Fix | Delete
delete dc[ key ];
[426] Fix | Delete
}
[427] Fix | Delete
else{
[428] Fix | Delete
return;
[429] Fix | Delete
}
[430] Fix | Delete
}
[431] Fix | Delete
}
[432] Fix | Delete
else {
[433] Fix | Delete
let orig;
[434] Fix | Delete
if(index!==null){
[435] Fix | Delete
if(DC[ pid ]===undefined){
[436] Fix | Delete
DC[ pid ]={};
[437] Fix | Delete
}
[438] Fix | Delete
DC[ pid ]['repeatable'] = 1; // flag for "builder" field type (repetable fields)
[439] Fix | Delete
if(DC[pid][index]===undefined){
[440] Fix | Delete
DC[pid][index]={};
[441] Fix | Delete
}
[442] Fix | Delete
if(DC[pid][index][key]===undefined){
[443] Fix | Delete
DC[pid][index][key]={};
[444] Fix | Delete
}
[445] Fix | Delete
orig =DC[pid][index][key]['o']!==undefined? DC[pid][index][key]['o']:null;
[446] Fix | Delete
}
[447] Fix | Delete
else{
[448] Fix | Delete
if(DC[ key ]===undefined){
[449] Fix | Delete
DC[ key ]={};
[450] Fix | Delete
}
[451] Fix | Delete
orig =DC[key]['o']!==undefined? DC[key]['o']:null;
[452] Fix | Delete
}
[453] Fix | Delete
if(Array.isArray(val)){
[454] Fix | Delete
const values={};
[455] Fix | Delete
for(let i=val.length-1;i>-1;--i){
[456] Fix | Delete
let items = val[i].querySelectorAll('input,textarea,select');
[457] Fix | Delete
for(let j=items.length-1;j>-1;--j){
[458] Fix | Delete
let v =items[j].value;
[459] Fix | Delete
if(v!=='' && !items[j].parentNode.parentNode.classList.contains('_tb_hide_binding')){
[460] Fix | Delete
values[items[j].id]=v;
[461] Fix | Delete
}
[462] Fix | Delete
}
[463] Fix | Delete
}
[464] Fix | Delete
val=api.Utils.clear(values);
[465] Fix | Delete
}
[466] Fix | Delete
if(index!==null){
[467] Fix | Delete
DC[pid][index][key] = val;
[468] Fix | Delete
if(orig!==null){
[469] Fix | Delete
DC[pid][index][key]['o'] = orig;
[470] Fix | Delete
}
[471] Fix | Delete
}
[472] Fix | Delete
else{
[473] Fix | Delete
DC[ key ] = val;
[474] Fix | Delete
if(orig!==null){
[475] Fix | Delete
DC[ key ]['o'] = orig;
[476] Fix | Delete
}
[477] Fix | Delete
}
[478] Fix | Delete
dc=DC;
[479] Fix | Delete
}
[480] Fix | Delete
hidden.value=JSON.stringify( dc );
[481] Fix | Delete
return val;
[482] Fix | Delete
},
[483] Fix | Delete
/**
[484] Fix | Delete
* Get original field
[485] Fix | Delete
*
[486] Fix | Delete
* @return dom element
[487] Fix | Delete
*/
[488] Fix | Delete
getField=function(field,id){
[489] Fix | Delete
let item = field.closest('.tb_repeatable_field_content');
[490] Fix | Delete
if(item!==null){
[491] Fix | Delete
item=item.querySelector('.tb_lb_option_child[data-input-id="'+id+'"]');
[492] Fix | Delete
}
[493] Fix | Delete
else{
[494] Fix | Delete
item = ThemifyBuilderCommon.Lightbox.$lightbox[0].querySelector('#'+id);
[495] Fix | Delete
}
[496] Fix | Delete
return item;
[497] Fix | Delete
},
[498] Fix | Delete
/**
[499] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function