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

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

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/themify-.../js/editor/componen...
File: lightbox.mjs
}
[500] Fix | Delete
if (ul !== null && tabsWidth !== 0) {
[501] Fix | Delete
if (api.isDocked) {
[502] Fix | Delete
ul.style.display = 'none';
[503] Fix | Delete
} else {
[504] Fix | Delete
ul.style.flexDirection = 'row';
[505] Fix | Delete
}
[506] Fix | Delete
const parentW = ul.parentNode.offsetWidth;
[507] Fix | Delete
if (parentW <= tabsWidth || api.isDocked) {
[508] Fix | Delete
ul.style.display = 'none';
[509] Fix | Delete
const current = ul.tfClass('current')[0];
[510] Fix | Delete
if (label === null) {
[511] Fix | Delete
label = createElement('span',{class:'tb_ui_dropdown_label',tabindex:-1});
[512] Fix | Delete
ul.before(label);
[513] Fix | Delete
}
[514] Fix | Delete
if (current) {
[515] Fix | Delete
label.textContent = current.textContent;
[516] Fix | Delete
}
[517] Fix | Delete
setTimeout(() => {//avoid flick
[518] Fix | Delete
ul.style.display = '';
[519] Fix | Delete
}, 100);
[520] Fix | Delete
} else if (label !== null) {
[521] Fix | Delete
label.remove();
[522] Fix | Delete
label = null;
[523] Fix | Delete
}
[524] Fix | Delete
ul.style.flexDirection = '';
[525] Fix | Delete
return true;
[526] Fix | Delete
}
[527] Fix | Delete
return false;
[528] Fix | Delete
};
[529] Fix | Delete
if (api.isDocked) {//avoud flick
[530] Fix | Delete
if (!finsih()) {
[531] Fix | Delete
setTimeout(finsih, 0);
[532] Fix | Delete
}
[533] Fix | Delete
} else {
[534] Fix | Delete
setTimeout(finsih, 0);
[535] Fix | Delete
}
[536] Fix | Delete
};
[537] Fix | Delete
callback();
[538] Fix | Delete
Themify.on('tb_builder_tabsactive', callback)
[539] Fix | Delete
.on('tb_resize_lightbox', callback)
[540] Fix | Delete
.on('themify_builder_lightbox_close', () => {
[541] Fix | Delete
Themify.off('tb_builder_tabsactive', callback).off('tb_resize_lightbox', callback);
[542] Fix | Delete
ul = tabsWidth = label = callback = null;
[543] Fix | Delete
}, true);
[544] Fix | Delete
}
[545] Fix | Delete
static setupLightboxSizeClass(w) {
[546] Fix | Delete
const _this=this,
[547] Fix | Delete
el=_this.el;
[548] Fix | Delete
if (!w) {
[549] Fix | Delete
if (api.isDocked) {
[550] Fix | Delete
w = parseInt(getComputedStyle(el).width);
[551] Fix | Delete
} else {
[552] Fix | Delete
w = _this._getStorage().width || ~~el.offsetWidth;
[553] Fix | Delete
}
[554] Fix | Delete
}
[555] Fix | Delete
const cl = el.classList;
[556] Fix | Delete
cl.toggle('larger-lightbox', w > 750);
[557] Fix | Delete
cl.toggle('tb_lightbox_small', w < 540);
[558] Fix | Delete
}
[559] Fix | Delete
static _getStorage() {
[560] Fix | Delete
const _this=this;
[561] Fix | Delete
if (_this.#size === null) {
[562] Fix | Delete
let storage = localStorage.getItem(_this.#storageKey);
[563] Fix | Delete
storage = storage ? JSON.parse(storage) : {};
[564] Fix | Delete
_this.#size = {...{
[565] Fix | Delete
top: 100,
[566] Fix | Delete
left: Math.max(0, (topWindow.innerWidth / 2) - 300),
[567] Fix | Delete
width: 600,
[568] Fix | Delete
height: 500
[569] Fix | Delete
}, ...storage};
[570] Fix | Delete
}
[571] Fix | Delete
return _this.#size;
[572] Fix | Delete
}
[573] Fix | Delete
static _updateStorage() {
[574] Fix | Delete
if (this.#isStandalone === false) {
[575] Fix | Delete
const _this=this,
[576] Fix | Delete
el=_this.el,
[577] Fix | Delete
st=el.style,
[578] Fix | Delete
tr = st.transform,
[579] Fix | Delete
matrix = tr ? new DOMMatrix(tr) : null,
[580] Fix | Delete
box = el.tfClass('tb_lightbox_top_bar')[0].getBoundingClientRect(),
[581] Fix | Delete
wH = topWindow.innerHeight - box.height,
[582] Fix | Delete
wW = topWindow.innerWidth,
[583] Fix | Delete
storage = _this._getStorage();
[584] Fix | Delete
let obj = {
[585] Fix | Delete
width: parseInt(st.width),
[586] Fix | Delete
height: parseInt(st.height)
[587] Fix | Delete
};
[588] Fix | Delete
if (matrix) {
[589] Fix | Delete
obj.top = matrix.m42;
[590] Fix | Delete
obj.left = matrix.m41;
[591] Fix | Delete
}
[592] Fix | Delete
if (obj.height <= 0 || isNaN(obj.height)) {
[593] Fix | Delete
delete obj.height;
[594] Fix | Delete
}
[595] Fix | Delete
if (obj.width <= 0 || isNaN(obj.width)) {
[596] Fix | Delete
delete obj.width;
[597] Fix | Delete
}
[598] Fix | Delete
obj = {...storage, ...obj};
[599] Fix | Delete
if (obj.left < 0 || (obj.left + box.width) > wW) {
[600] Fix | Delete
obj.left = (obj.left < 0 ? 0 : (wW - box.width));
[601] Fix | Delete
}
[602] Fix | Delete
if (obj.top < 0 || obj.top > wH) {
[603] Fix | Delete
obj.top = obj.top < 0 ? 0 : wH;
[604] Fix | Delete
}
[605] Fix | Delete
[606] Fix | Delete
st.transform = 'translate(' + obj.left + 'px,' + obj.top + 'px)';
[607] Fix | Delete
if(obj.width){
[608] Fix | Delete
st.width = obj.width + 'px';
[609] Fix | Delete
}
[610] Fix | Delete
if(obj.height){
[611] Fix | Delete
st.height = obj.height + 'px';
[612] Fix | Delete
}
[613] Fix | Delete
if (!api.isDocked && Object.entries(obj).toString() !== Object.entries(storage).toString()) {
[614] Fix | Delete
_this.#size = null;
[615] Fix | Delete
localStorage.setItem(_this.#storageKey, JSON.stringify(obj));
[616] Fix | Delete
}
[617] Fix | Delete
return obj;
[618] Fix | Delete
}
[619] Fix | Delete
}
[620] Fix | Delete
};
[621] Fix | Delete
[622] Fix | Delete
[623] Fix | Delete
api.LiteLightBox =class {
[624] Fix | Delete
static isOpen(){
[625] Fix | Delete
return this.el?.childElementCount>0;
[626] Fix | Delete
}
[627] Fix | Delete
static open(fragment) {
[628] Fix | Delete
const _this=this,
[629] Fix | Delete
modal = createElement('form','content tf_abs_c tf_textc tf_box');
[630] Fix | Delete
if (!_this.el) {
[631] Fix | Delete
const root = doc.tfId('tb_lite_lightbox_root'),
[632] Fix | Delete
fr = root.firstElementChild,
[633] Fix | Delete
toolBarRoot = api.ToolBar.el.getRootNode(),
[634] Fix | Delete
baseCss = toolBarRoot.querySelector('#tf_base');
[635] Fix | Delete
if (fr) { // shadowrootmode="open" isn't support
[636] Fix | Delete
root.attachShadow({
[637] Fix | Delete
mode: fr.getAttribute('shadowrootmode')
[638] Fix | Delete
}).appendChild(fr.content);
[639] Fix | Delete
fr.remove();
[640] Fix | Delete
}
[641] Fix | Delete
root.shadowRoot.prepend(baseCss.cloneNode(true));
[642] Fix | Delete
_this.el = root.shadowRoot.tfId('wrapper');
[643] Fix | Delete
_this.el.tfOn(_CLICK_, e => {
[644] Fix | Delete
const t=e.target;
[645] Fix | Delete
if (_this.el === t || t.classList.contains('tf_close')) {
[646] Fix | Delete
_this.close(e);
[647] Fix | Delete
}
[648] Fix | Delete
});
[649] Fix | Delete
topBody.appendChild(root);
[650] Fix | Delete
}
[651] Fix | Delete
modal.append(fragment, createElement('button',{class:'tf_close',type:'button'}));
[652] Fix | Delete
_this.el.appendChild(modal);
[653] Fix | Delete
_this.el.getRootNode().host.classList.remove('tf_hide');
[654] Fix | Delete
}
[655] Fix | Delete
static close(e) {
[656] Fix | Delete
if (this.el && this.isOpen()) {
[657] Fix | Delete
e?.stopPropagation();
[658] Fix | Delete
Registry.trigger(this.el, 'close');
[659] Fix | Delete
}
[660] Fix | Delete
}
[661] Fix | Delete
static create(options) {
[662] Fix | Delete
const fr = createDocumentFragment();
[663] Fix | Delete
for (let k in options) {
[664] Fix | Delete
let opt=options[k];
[665] Fix | Delete
if (k === 'buttons') {
[666] Fix | Delete
let btnWrap = createElement('','btns');
[667] Fix | Delete
for (let btnKey in opt) {
[668] Fix | Delete
let btn = createElement('button',{class:'tf_inline_b tf_textc','data-type':btnKey},i18n[opt[btnKey]] || opt[btnKey]);
[669] Fix | Delete
btn.tfOn(_CLICK_, e => {
[670] Fix | Delete
this._buttonClick(e);
[671] Fix | Delete
});
[672] Fix | Delete
if(options.input===undefined && (btnKey==='yes' || btnKey==='ok')){
[673] Fix | Delete
btn.autofocus=1;
[674] Fix | Delete
setTimeout(() => {
[675] Fix | Delete
btn.focus();
[676] Fix | Delete
}, 15);
[677] Fix | Delete
}
[678] Fix | Delete
btnWrap.appendChild(btn);
[679] Fix | Delete
}
[680] Fix | Delete
fr.appendChild(btnWrap);
[681] Fix | Delete
}
[682] Fix | Delete
else if (k === 'msg') {
[683] Fix | Delete
let msg = createElement('','msg');
[684] Fix | Delete
msg.innerHTML = i18n[opt] || opt;
[685] Fix | Delete
fr.appendChild(msg);
[686] Fix | Delete
}
[687] Fix | Delete
else if (k === 'input') {
[688] Fix | Delete
let input = createElement('input',{class:opt.class + ' tf_w',value:opt.value || '',type:opt.type});
[689] Fix | Delete
input.tfOn('keydown', e => {
[690] Fix | Delete
this._keyPress(e);
[691] Fix | Delete
}, {
[692] Fix | Delete
passive: true
[693] Fix | Delete
});
[694] Fix | Delete
setTimeout(() => {
[695] Fix | Delete
input.focus();
[696] Fix | Delete
}, 100);
[697] Fix | Delete
fr.appendChild(input);
[698] Fix | Delete
}
[699] Fix | Delete
}
[700] Fix | Delete
return fr;
[701] Fix | Delete
}
[702] Fix | Delete
static confirm(options={}) {
[703] Fix | Delete
options.buttons??= {
[704] Fix | Delete
no: 'no',
[705] Fix | Delete
yes: 'y'
[706] Fix | Delete
};
[707] Fix | Delete
this.open(this.create(options));
[708] Fix | Delete
return (new Promise(resolve => {
[709] Fix | Delete
Registry.on(this.el, 'confirm', type => {
[710] Fix | Delete
let inputValue = this.el.querySelector('.content').tfTag('input')[0];
[711] Fix | Delete
if (inputValue) {
[712] Fix | Delete
inputValue = inputValue.value || '';
[713] Fix | Delete
resolve([type, inputValue]);
[714] Fix | Delete
}
[715] Fix | Delete
else {
[716] Fix | Delete
resolve(type);
[717] Fix | Delete
}
[718] Fix | Delete
})
[719] Fix | Delete
.on(this.el, 'close', () => {
[720] Fix | Delete
resolve(null);
[721] Fix | Delete
});
[722] Fix | Delete
})
[723] Fix | Delete
.finally(() => {
[724] Fix | Delete
Registry.off(this.el, 'confirm').off(this.el, 'close').remove(this.el);
[725] Fix | Delete
this.el.getRootNode().host.classList.add('tf_hide');
[726] Fix | Delete
this.el.innerHTML = '';
[727] Fix | Delete
}));
[728] Fix | Delete
}
[729] Fix | Delete
static alert(message) {
[730] Fix | Delete
return this.confirm({
[731] Fix | Delete
msg: message,
[732] Fix | Delete
buttons: {
[733] Fix | Delete
yes: 'ok'
[734] Fix | Delete
}
[735] Fix | Delete
});
[736] Fix | Delete
}
[737] Fix | Delete
static prompt(message, value) {
[738] Fix | Delete
return this.confirm({
[739] Fix | Delete
msg: message,
[740] Fix | Delete
input: {
[741] Fix | Delete
type: 'text',
[742] Fix | Delete
class: 'prompt_input',
[743] Fix | Delete
value: value
[744] Fix | Delete
},
[745] Fix | Delete
buttons: {
[746] Fix | Delete
no: 'cancel',
[747] Fix | Delete
yes:'ok'
[748] Fix | Delete
}
[749] Fix | Delete
});
[750] Fix | Delete
}
[751] Fix | Delete
static _buttonClick(e) {
[752] Fix | Delete
e.preventDefault();
[753] Fix | Delete
e.stopPropagation();
[754] Fix | Delete
const type = e.currentTarget.dataset.type;
[755] Fix | Delete
if (type === 'cancel') {
[756] Fix | Delete
this.close();
[757] Fix | Delete
} else {
[758] Fix | Delete
Registry.trigger(this.el, 'confirm', type);
[759] Fix | Delete
}
[760] Fix | Delete
}
[761] Fix | Delete
static _keyPress(e) {
[762] Fix | Delete
if (e.key === 'Enter') { // on enter
[763] Fix | Delete
Registry.trigger(this.el, 'confirm', 'yes', e.currentTarget.value.trim());
[764] Fix | Delete
}
[765] Fix | Delete
}
[766] Fix | Delete
};
[767] Fix | Delete
[768] Fix | Delete
[769] Fix | Delete
api.Forms = {
[770] Fix | Delete
_validators: new Map,
[771] Fix | Delete
parseSettings(item, repeat) {
[772] Fix | Delete
const cl = item.classList,
[773] Fix | Delete
option_id = repeat ? item.dataset.inputId : item.id;
[774] Fix | Delete
if (!option_id) {
[775] Fix | Delete
return false;
[776] Fix | Delete
}
[777] Fix | Delete
if (!cl.contains('tb_row_js_wrapper')) {
[778] Fix | Delete
let p = item.closest('.tb_field');
[779] Fix | Delete
if (p !== null && !p.classList.contains('_tb_hide_binding') && !(p.style.display === 'none' && p.className.includes('tb_group_element_'))) {
[780] Fix | Delete
p = p.parentNode;
[781] Fix | Delete
if (p.classList.contains('tb_multi_fields') && p.parentNode.classList.contains('_tb_hide_binding')) {
[782] Fix | Delete
return false;
[783] Fix | Delete
}
[784] Fix | Delete
}
[785] Fix | Delete
}
[786] Fix | Delete
let value = '';
[787] Fix | Delete
if (cl.contains('tb_lb_wp_editor')) {
[788] Fix | Delete
const tid = item.id,
[789] Fix | Delete
tiny = tinyMCE?.get(tid) || null;
[790] Fix | Delete
value = tiny !== null ? (tiny.hidden === false ? tiny.getContent() : switchEditors.wpautop(tinymce.DOM.get(tid).value)) : item.value;
[791] Fix | Delete
[792] Fix | Delete
} else if (cl.contains('tb_checkbox_wrap')) {
[793] Fix | Delete
const cselected = [],
[794] Fix | Delete
chekboxes = item.tfClass('tb_checkbox'),
[795] Fix | Delete
isSwitch = cl.contains('tb_switcher');
[796] Fix | Delete
for (let i = 0; i < chekboxes.length; ++i) {
[797] Fix | Delete
if ((isSwitch === true || chekboxes[i].checked === true) && chekboxes[i].value !== '') {
[798] Fix | Delete
cselected.push(chekboxes[i].value);
[799] Fix | Delete
}
[800] Fix | Delete
}
[801] Fix | Delete
value = cselected.length > 0 ? cselected.join('|') : (isSwitch ? '' : false);
[802] Fix | Delete
}
[803] Fix | Delete
else if (cl.contains('themify-layout-icon')) {
[804] Fix | Delete
value = item.tfClass('selected')[0]?.id || '';
[805] Fix | Delete
}
[806] Fix | Delete
else if (cl.contains('tb_search_input')) {
[807] Fix | Delete
value = item.dataset.value;
[808] Fix | Delete
[809] Fix | Delete
let parent = item.closest('.tb_input'),
[810] Fix | Delete
multiple_cat = parent.tfClass('query_category_multiple')[0];
[811] Fix | Delete
if (multiple_cat) {
[812] Fix | Delete
multiple_cat = multiple_cat?.value.trim() || '';
[813] Fix | Delete
if (multiple_cat !== '') {
[814] Fix | Delete
value = multiple_cat + '|' + (multiple_cat.includes(',') ? 'multiple' : 'single');
[815] Fix | Delete
}
[816] Fix | Delete
else {
[817] Fix | Delete
value += '|single';
[818] Fix | Delete
}
[819] Fix | Delete
}
[820] Fix | Delete
[821] Fix | Delete
}
[822] Fix | Delete
else if (cl.contains('tb_radio_wrap')) {
[823] Fix | Delete
let input = null;
[824] Fix | Delete
for (let radios = item.tfTag('input'),i = radios.length - 1; i > -1; --i) {
[825] Fix | Delete
if (radios[i].checked === true) {
[826] Fix | Delete
input = radios[i];
[827] Fix | Delete
break;
[828] Fix | Delete
}
[829] Fix | Delete
}
[830] Fix | Delete
if (input !== null && (api.activeBreakPoint === 'desktop' || !input.classList.contains('tb_responsive_disable'))) {
[831] Fix | Delete
value = input.value;
[832] Fix | Delete
}
[833] Fix | Delete
}
[834] Fix | Delete
else if (cl.contains('tb_search_container')) {
[835] Fix | Delete
value = item.previousElementSibling.dataset.value;
[836] Fix | Delete
}
[837] Fix | Delete
else if (cl.contains('tb_row_js_wrapper')) {
[838] Fix | Delete
value = [];
[839] Fix | Delete
for (let repeats = item.tfClass('tb_repeatable_field_content'),i = 0; i < repeats.length; ++i) {
[840] Fix | Delete
let childs = repeats[i].tfClass('tb_lb_option_child');
[841] Fix | Delete
value[i] = {};
[842] Fix | Delete
for (let j = 0; j < childs.length; ++j) {
[843] Fix | Delete
let v = this.parseSettings(childs[j], true);
[844] Fix | Delete
if (v?.id) {
[845] Fix | Delete
value[i][v.id] = v.v;
[846] Fix | Delete
}
[847] Fix | Delete
}
[848] Fix | Delete
}
[849] Fix | Delete
}
[850] Fix | Delete
else if (cl.contains('module-widget-form-container')) {
[851] Fix | Delete
value = this.serializeObject(item);
[852] Fix | Delete
}
[853] Fix | Delete
else if (cl.contains('tb_widget_select')) {
[854] Fix | Delete
value = item.tfClass('selected')[0]?.dataset.value ?? '';
[855] Fix | Delete
}
[856] Fix | Delete
else if (cl.contains('tb_sort_fields_parent')) {
[857] Fix | Delete
value = [];
[858] Fix | Delete
for (let childs = item.children,i = 0; i < childs.length; ++i) {
[859] Fix | Delete
let type = childs[i].dataset.type;
[860] Fix | Delete
if (type) {
[861] Fix | Delete
let wrap = childs[i].tfClass('tb_sort_field_dropdown')[0],
[862] Fix | Delete
v = {
[863] Fix | Delete
type: type,
[864] Fix | Delete
id: childs[i].dataset.id
[865] Fix | Delete
};
[866] Fix | Delete
if (wrap !== undefined) {
[867] Fix | Delete
v.val = {};
[868] Fix | Delete
let items = wrap.tfClass('tb_lb_sort_child');
[869] Fix | Delete
for (let j = items.length - 1; j > -1; --j) {
[870] Fix | Delete
let v2 = this.parseSettings(items[j], true);
[871] Fix | Delete
if (v2?.id) {
[872] Fix | Delete
v.val[v2.id] = v2.v;
[873] Fix | Delete
}
[874] Fix | Delete
}
[875] Fix | Delete
} else {
[876] Fix | Delete
let hidden = childs[i].tfTag('input')[0],
[877] Fix | Delete
temp = hidden.value;
[878] Fix | Delete
if (temp !== '') {
[879] Fix | Delete
v.val = JSON.parse(temp);
[880] Fix | Delete
}
[881] Fix | Delete
}
[882] Fix | Delete
value.push(v);
[883] Fix | Delete
}
[884] Fix | Delete
}
[885] Fix | Delete
[886] Fix | Delete
if (value.length === 0) {
[887] Fix | Delete
value = '';
[888] Fix | Delete
}
[889] Fix | Delete
}
[890] Fix | Delete
else if (cl.contains('tb_accordion_fields')) {
[891] Fix | Delete
value = {};
[892] Fix | Delete
for (let childs = item.children,i = 0; i < childs.length; ++i) {
[893] Fix | Delete
let id = childs[i].dataset.id;
[894] Fix | Delete
if (id) {
[895] Fix | Delete
let wrap = childs[i].tfClass('tb_accordion_fields_options')[0],
[896] Fix | Delete
v = {};
[897] Fix | Delete
if (wrap !== undefined) {
[898] Fix | Delete
v.val = this.serialize(wrap, null, true);
[899] Fix | Delete
}
[900] Fix | Delete
else {
[901] Fix | Delete
let temp = childs[i].tfTag('input')[0]?.value || '';
[902] Fix | Delete
if (temp !== '') {
[903] Fix | Delete
v.val = JSON.parse(temp);
[904] Fix | Delete
}
[905] Fix | Delete
}
[906] Fix | Delete
value[id] = v;
[907] Fix | Delete
}
[908] Fix | Delete
}
[909] Fix | Delete
}
[910] Fix | Delete
else if (cl.contains('tb_toggleable_fields')) {
[911] Fix | Delete
value = [];
[912] Fix | Delete
for (let childs = item.children,i = 0; i < childs.length; ++i) {
[913] Fix | Delete
let id = childs[i].dataset.id;
[914] Fix | Delete
if (id) {
[915] Fix | Delete
let wrap = childs[i].tfClass('tb_toggleable_fields_options')[0],
[916] Fix | Delete
v = {
[917] Fix | Delete
id:id,
[918] Fix | Delete
on: childs[i].tfClass('tb_switcher')[0].tfClass('toggle_switch')[0].value
[919] Fix | Delete
};
[920] Fix | Delete
if (wrap !== undefined) {
[921] Fix | Delete
v.val = this.serialize(wrap, null, true);
[922] Fix | Delete
} else {
[923] Fix | Delete
let temp = childs[i].tfTag('input')[0]?.value ||'';
[924] Fix | Delete
if (temp !== '') {
[925] Fix | Delete
v.val = JSON.parse(temp);
[926] Fix | Delete
}
[927] Fix | Delete
}
[928] Fix | Delete
value.push(v);
[929] Fix | Delete
}
[930] Fix | Delete
}
[931] Fix | Delete
}
[932] Fix | Delete
else if (item.multiple && item.nodeName === 'SELECT') {
[933] Fix | Delete
value = [];
[934] Fix | Delete
for (let selected = item.selectedOptions, i = 0; i < selected.length; ++i) {
[935] Fix | Delete
value.push(item.selectedOptions[ i ].value);
[936] Fix | Delete
}
[937] Fix | Delete
}
[938] Fix | Delete
else if(cl.contains('tb_grid_root')){
[939] Fix | Delete
value={};
[940] Fix | Delete
for(let vals=item.shadowRoot.querySelectorAll('[data-col]'),i=vals.length-1;i>-1;--i){
[941] Fix | Delete
let action=vals[i].dataset.col;
[942] Fix | Delete
if(action==='grid'){
[943] Fix | Delete
value.size=vals[i].tfClass('selected')[0].dataset.grid;
[944] Fix | Delete
}
[945] Fix | Delete
else if(action==='gutter'){
[946] Fix | Delete
let p=vals[i].parentNode,
[947] Fix | Delete
gutter = p.querySelector('#range').value;
[948] Fix | Delete
if (gutter > 0) {
[949] Fix | Delete
gutter += p.querySelector('#range_unit').value;
[950] Fix | Delete
}
[951] Fix | Delete
value[action] = ThemifyStyles.getGutter(gutter);
[952] Fix | Delete
}
[953] Fix | Delete
else if(action!=='direction'){
[954] Fix | Delete
if(action==='autoHeight'){
[955] Fix | Delete
action='auto_h';
[956] Fix | Delete
}
[957] Fix | Delete
else if(action==='alignment'){
[958] Fix | Delete
action='align';
[959] Fix | Delete
}
[960] Fix | Delete
value[action]=vals[i].tfClass('selected')[0].dataset.value;
[961] Fix | Delete
}
[962] Fix | Delete
}
[963] Fix | Delete
}
[964] Fix | Delete
else {
[965] Fix | Delete
value = item.value;
[966] Fix | Delete
if (option_id === window.tbpDynamic?.field_name) {
[967] Fix | Delete
if (value === '') {
[968] Fix | Delete
return false;
[969] Fix | Delete
}
[970] Fix | Delete
if (typeof value === 'string') {
[971] Fix | Delete
value = JSON.parse(value);
[972] Fix | Delete
}
[973] Fix | Delete
}
[974] Fix | Delete
else if (option_id === api.GS.key && api.activeBreakPoint !== 'desktop') {
[975] Fix | Delete
return false;
[976] Fix | Delete
}
[977] Fix | Delete
else if (value !== '') {
[978] Fix | Delete
[979] Fix | Delete
if (option_id === 'builder_content') {
[980] Fix | Delete
if (typeof value === 'string') {
[981] Fix | Delete
value = JSON.parse(value);
[982] Fix | Delete
}
[983] Fix | Delete
}
[984] Fix | Delete
else {
[985] Fix | Delete
if (typeof value === 'string' && value.includes(':') && value.includes('{')) {
[986] Fix | Delete
try {
[987] Fix | Delete
let v = JSON.parse(value);
[988] Fix | Delete
value = v;
[989] Fix | Delete
} catch (e) {
[990] Fix | Delete
[991] Fix | Delete
}
[992] Fix | Delete
}
[993] Fix | Delete
let opacity = item.dataset.opacity;
[994] Fix | Delete
if (opacity !== null && opacity !== '') {
[995] Fix | Delete
opacity = parseFloat(parseFloat(Number(opacity).toFixed(2)).toString());
[996] Fix | Delete
if (opacity < .99) {
[997] Fix | Delete
value += '_' + opacity;
[998] Fix | Delete
}
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function