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: constructor.mjs
}
[6000] Fix | Delete
},
[6001] Fix | Delete
multiColumns: {
[6002] Fix | Delete
update(id, v, self) {
[6003] Fix | Delete
const item = self.getEl(id);
[6004] Fix | Delete
if (item !== null) {
[6005] Fix | Delete
if (v !== undefined) {
[6006] Fix | Delete
item.value = v;
[6007] Fix | Delete
} else if (item[0] !== undefined) {
[6008] Fix | Delete
item[0].selected = true;
[6009] Fix | Delete
}
[6010] Fix | Delete
}
[6011] Fix | Delete
},
[6012] Fix | Delete
render(data, self) {
[6013] Fix | Delete
const opt = [],
[6014] Fix | Delete
{id,selector}= data,
[6015] Fix | Delete
columnOptions = [
[6016] Fix | Delete
{
[6017] Fix | Delete
id: id + '_gap',
[6018] Fix | Delete
label: 'c_g',
[6019] Fix | Delete
type: 'range',
[6020] Fix | Delete
prop: 'column-gap',
[6021] Fix | Delete
selector: selector,
[6022] Fix | Delete
wrap_class: 'tb_multi_columns_wrap',
[6023] Fix | Delete
units: {
[6024] Fix | Delete
px: {
[6025] Fix | Delete
max: 500
[6026] Fix | Delete
}
[6027] Fix | Delete
}
[6028] Fix | Delete
},
[6029] Fix | Delete
{ type: 'multi',
[6030] Fix | Delete
wrap_class: 'tb_multi_columns_wrap',
[6031] Fix | Delete
label: 'c_d',
[6032] Fix | Delete
options: [
[6033] Fix | Delete
{
[6034] Fix | Delete
type: 'color',
[6035] Fix | Delete
id: id + '_divider_color',
[6036] Fix | Delete
prop: 'column-rule-color',
[6037] Fix | Delete
selector: selector
[6038] Fix | Delete
},
[6039] Fix | Delete
{
[6040] Fix | Delete
type: 'range',
[6041] Fix | Delete
id: id + '_divider_width',
[6042] Fix | Delete
class: 'tb_multi_columns_width',
[6043] Fix | Delete
prop: 'column-rule-width',
[6044] Fix | Delete
selector: selector,
[6045] Fix | Delete
units: {
[6046] Fix | Delete
px: {
[6047] Fix | Delete
max: 500
[6048] Fix | Delete
}
[6049] Fix | Delete
}
[6050] Fix | Delete
},
[6051] Fix | Delete
{
[6052] Fix | Delete
type: 'select',
[6053] Fix | Delete
id: id + '_divider_style',
[6054] Fix | Delete
options: self.getOptions('border'),
[6055] Fix | Delete
prop: 'column-rule-style',
[6056] Fix | Delete
selector: selector
[6057] Fix | Delete
}
[6058] Fix | Delete
]
[6059] Fix | Delete
}
[6060] Fix | Delete
[6061] Fix | Delete
[6062] Fix | Delete
];
[6063] Fix | Delete
for (let i = 0; i < 7; ++i) {
[6064] Fix | Delete
opt[i] = i === 0 ? '' : i;
[6065] Fix | Delete
}
[6066] Fix | Delete
data.options = opt;
[6067] Fix | Delete
data.binding = {
[6068] Fix | Delete
empty: {
[6069] Fix | Delete
hide: 'tb_multi_columns_wrap'
[6070] Fix | Delete
},
[6071] Fix | Delete
not_empty: {
[6072] Fix | Delete
show: 'tb_multi_columns_wrap'
[6073] Fix | Delete
}
[6074] Fix | Delete
};
[6075] Fix | Delete
const ndata = api.Helper.cloneObject(data);
[6076] Fix | Delete
ndata.type = 'select';
[6077] Fix | Delete
const wrap = self.select.render(ndata, self),
[6078] Fix | Delete
select = wrap.querySelector('select');
[6079] Fix | Delete
self.afterRun.push(() => {
[6080] Fix | Delete
const field = select.closest('.tb_field');
[6081] Fix | Delete
field.parentNode.insertBefore(self.create(columnOptions), field.nextElementSibling);
[6082] Fix | Delete
[6083] Fix | Delete
});
[6084] Fix | Delete
[6085] Fix | Delete
data.label??= 'c_c';
[6086] Fix | Delete
return wrap;
[6087] Fix | Delete
}
[6088] Fix | Delete
},
[6089] Fix | Delete
expand: {
[6090] Fix | Delete
render(data, self) {
[6091] Fix | Delete
const wrap = createElement('fieldset', 'tb_expand_wrap'),
[6092] Fix | Delete
expand = createElement('','tb_expanded_opttions'),
[6093] Fix | Delete
toggle = createElement('','tb_style_toggle tb_closed');
[6094] Fix | Delete
toggle.append(createTextNode(i18n[data.label] ?? data.label), api.Helper.getIcon('ti-angle-up'));
[6095] Fix | Delete
[6096] Fix | Delete
toggle.tfOn(_CLICK_, function (e) {
[6097] Fix | Delete
e.preventDefault();
[6098] Fix | Delete
e.stopImmediatePropagation();
[6099] Fix | Delete
if (this.dataset.done === undefined) {
[6100] Fix | Delete
this.dataset.done = true;
[6101] Fix | Delete
expand.appendChild(self.create(data.options));
[6102] Fix | Delete
self._setUpEditors();
[6103] Fix | Delete
self.callbacks();
[6104] Fix | Delete
Themify.trigger('tb_options_expand', expand);
[6105] Fix | Delete
}
[6106] Fix | Delete
this.classList.toggle('tb_closed');
[6107] Fix | Delete
});
[6108] Fix | Delete
wrap.append(toggle, expand);
[6109] Fix | Delete
self.afterRun.push(() => {
[6110] Fix | Delete
Themify.trigger('tb_options_expand', expand);
[6111] Fix | Delete
});
[6112] Fix | Delete
return wrap;
[6113] Fix | Delete
}
[6114] Fix | Delete
},
[6115] Fix | Delete
gallery: {
[6116] Fix | Delete
file_frame: null,
[6117] Fix | Delete
cache: new Map,
[6118] Fix | Delete
parseIds(shortcode){
[6119] Fix | Delete
const tmp = shortcode.replace(/[\r\n]/gm, '').replace(/ +/g, ' ').match(/ids.*?=.(.+?)["']/gi);
[6120] Fix | Delete
return tmp?.[0]?.replace('ids', '').replace('=', '').replaceAll(' ', '').replace(/["']/g, '').trim().split(',') || null;
[6121] Fix | Delete
},
[6122] Fix | Delete
replaceShortcode(oldV, newV) {
[6123] Fix | Delete
return oldV.replace(/[\r\n]/gm, '').replace(/ +/g, ' ').replace(/ids.*?=.(.+?)["']/ig, 'ids="' + newV + '"');
[6124] Fix | Delete
},
[6125] Fix | Delete
getCache(ids){
[6126] Fix | Delete
const res=[];
[6127] Fix | Delete
for(let i=0;i<ids.length;++i){
[6128] Fix | Delete
let item=this.cache.get(ids[i].toString());
[6129] Fix | Delete
if(!item){
[6130] Fix | Delete
return;
[6131] Fix | Delete
}
[6132] Fix | Delete
res.push(item);
[6133] Fix | Delete
}
[6134] Fix | Delete
return res;
[6135] Fix | Delete
},
[6136] Fix | Delete
setCache(res){
[6137] Fix | Delete
for(let i=res.length-1;i>-1;--i){
[6138] Fix | Delete
this.cache.set(res[i].id.toString(), res[i]);
[6139] Fix | Delete
}
[6140] Fix | Delete
},
[6141] Fix | Delete
getSelectedImages(collections){
[6142] Fix | Delete
const res=[];
[6143] Fix | Delete
for(let i=0;i<collections.length;++i){
[6144] Fix | Delete
let attr=collections[i].attributes,
[6145] Fix | Delete
sizes=attr.sizes,
[6146] Fix | Delete
item={
[6147] Fix | Delete
id:attr.id,
[6148] Fix | Delete
link:attr.link,
[6149] Fix | Delete
title:attr.title,
[6150] Fix | Delete
caption:attr.caption
[6151] Fix | Delete
};
[6152] Fix | Delete
if(sizes){
[6153] Fix | Delete
for(let k in sizes){
[6154] Fix | Delete
let s=sizes[k];
[6155] Fix | Delete
item[k]=k==='thumbnail'?s.url:[s.url,s.width,s.height];
[6156] Fix | Delete
}
[6157] Fix | Delete
}
[6158] Fix | Delete
res.push(item);
[6159] Fix | Delete
}
[6160] Fix | Delete
this.setCache(res);
[6161] Fix | Delete
return res;
[6162] Fix | Delete
},
[6163] Fix | Delete
async getImages(shortcode){
[6164] Fix | Delete
let ids=this.parseIds(shortcode),
[6165] Fix | Delete
res;
[6166] Fix | Delete
if(!ids){
[6167] Fix | Delete
const tmp = shortcode.replace(/[\r\n]/gm, '').replace(/ +/g, ' ').match(/path.*?=.(.+?)["']/gi),
[6168] Fix | Delete
images= tmp?.[0]?.replace('path', '').replace('=', '').replaceAll(' ', '').replace(/["']/g, '').trim().split(',');
[6169] Fix | Delete
if(images){
[6170] Fix | Delete
res=[];
[6171] Fix | Delete
for(let i=0;i<images.length;++i){
[6172] Fix | Delete
res.push({
[6173] Fix | Delete
thumbnail:images[i]
[6174] Fix | Delete
});
[6175] Fix | Delete
}
[6176] Fix | Delete
return res;
[6177] Fix | Delete
}
[6178] Fix | Delete
}
[6179] Fix | Delete
if(ids){
[6180] Fix | Delete
res=this.getCache(ids);
[6181] Fix | Delete
if(!res){
[6182] Fix | Delete
try {
[6183] Fix | Delete
let prmsK='pr_'+ids.join(','),
[6184] Fix | Delete
prms=this.cache.get(prmsK);
[6185] Fix | Delete
if(!prms){
[6186] Fix | Delete
prms = api.LocalFetch({
[6187] Fix | Delete
action: 'tb_get_ajax_data',
[6188] Fix | Delete
dataset: 'gallery_shortcode',
[6189] Fix | Delete
val: shortcode
[6190] Fix | Delete
});
[6191] Fix | Delete
this.cache.set(prmsK,prms);
[6192] Fix | Delete
}
[6193] Fix | Delete
res=await prms;
[6194] Fix | Delete
if (!res.success) {
[6195] Fix | Delete
throw '';
[6196] Fix | Delete
}
[6197] Fix | Delete
res = res.data;
[6198] Fix | Delete
this.setCache(res);
[6199] Fix | Delete
}
[6200] Fix | Delete
catch (e) {
[6201] Fix | Delete
api.Spinner.showLoader('error');
[6202] Fix | Delete
throw e;
[6203] Fix | Delete
}
[6204] Fix | Delete
}
[6205] Fix | Delete
}
[6206] Fix | Delete
return res;
[6207] Fix | Delete
},
[6208] Fix | Delete
async init(btn, input) {
[6209] Fix | Delete
let timer;
[6210] Fix | Delete
const clone = wp.media.gallery.shortcode,
[6211] Fix | Delete
isInLine=!api.LightBox.el.contains(btn),
[6212] Fix | Delete
openMediaLibrary = e => {
[6213] Fix | Delete
e?.stopPropagation();
[6214] Fix | Delete
if (this.file_frame === null) {
[6215] Fix | Delete
// Create the media frame.
[6216] Fix | Delete
this.file_frame = wp.media.frames.file_frame = wp.media({
[6217] Fix | Delete
frame: 'post',
[6218] Fix | Delete
state: 'gallery-library',
[6219] Fix | Delete
library: {
[6220] Fix | Delete
type: 'image'
[6221] Fix | Delete
},
[6222] Fix | Delete
title: wp.media.view.l10n.editGalleryTitle,
[6223] Fix | Delete
editing: true,
[6224] Fix | Delete
multiple: true,
[6225] Fix | Delete
selection: false
[6226] Fix | Delete
});
[6227] Fix | Delete
this.file_frame.el.classList.add('themify_gallery_settings');
[6228] Fix | Delete
} else {
[6229] Fix | Delete
this.file_frame.options.selection.reset();
[6230] Fix | Delete
}
[6231] Fix | Delete
wp.media.gallery.shortcode = attachments => {
[6232] Fix | Delete
const props = attachments.props.toJSON(),
[6233] Fix | Delete
attrs = {};
[6234] Fix | Delete
if (props.order) {
[6235] Fix | Delete
attrs.order = props.order;
[6236] Fix | Delete
}
[6237] Fix | Delete
if (props.orderby) {
[6238] Fix | Delete
attrs.orderby = props.orderby;
[6239] Fix | Delete
}
[6240] Fix | Delete
if (attachments.gallery) {
[6241] Fix | Delete
Object.assign(attrs,attachments.gallery.toJSON());
[6242] Fix | Delete
}
[6243] Fix | Delete
attrs.ids = attachments.pluck('id');
[6244] Fix | Delete
// Copy the `uploadedTo` post ID.
[6245] Fix | Delete
if (props.uploadedTo) {
[6246] Fix | Delete
attrs.id = props.uploadedTo;
[6247] Fix | Delete
}
[6248] Fix | Delete
// Check if the gallery is randomly ordered.
[6249] Fix | Delete
if ( attrs._orderbyrandom || attrs._orderbyRandom ) {
[6250] Fix | Delete
attrs.orderby = 'rand';
[6251] Fix | Delete
delete attrs._orderbyrandom;
[6252] Fix | Delete
delete attrs._orderbyRandom;
[6253] Fix | Delete
}
[6254] Fix | Delete
// If the `ids` attribute is set and `orderby` attribute
[6255] Fix | Delete
// is the default value, clear it for cleaner output.
[6256] Fix | Delete
else if (attrs.ids && 'post__in' === attrs.orderby) {
[6257] Fix | Delete
delete attrs.orderby;
[6258] Fix | Delete
}
[6259] Fix | Delete
// Remove default attributes from the shortcode.
[6260] Fix | Delete
for (let key in wp.media.gallery.defaults) {
[6261] Fix | Delete
if (wp.media.gallery.defaults[key] === attrs[key]) {
[6262] Fix | Delete
delete attrs[key];
[6263] Fix | Delete
}
[6264] Fix | Delete
}
[6265] Fix | Delete
delete attrs._orderByField;
[6266] Fix | Delete
delete attrs._orderbyfield;
[6267] Fix | Delete
const shortcode = new topWindow.wp.shortcode({
[6268] Fix | Delete
tag: 'gallery',
[6269] Fix | Delete
attrs: attrs,
[6270] Fix | Delete
type: 'single'
[6271] Fix | Delete
});
[6272] Fix | Delete
wp.media.gallery.shortcode = clone;
[6273] Fix | Delete
return shortcode;
[6274] Fix | Delete
};
[6275] Fix | Delete
[6276] Fix | Delete
const v = input.value.trim(),
[6277] Fix | Delete
setShortcode = selection => {
[6278] Fix | Delete
const v = wp.media.gallery.shortcode(selection).string().slice(1, -1);
[6279] Fix | Delete
input.value = '[' + v + ']';
[6280] Fix | Delete
Themify.triggerEvent(input, 'change',{images:this.getSelectedImages(selection.models),models:selection.models});
[6281] Fix | Delete
};
[6282] Fix | Delete
if (v.length > 0) {
[6283] Fix | Delete
this.file_frame = wp.media.gallery.edit(v);
[6284] Fix | Delete
this.file_frame.state('gallery-edit');
[6285] Fix | Delete
} else {
[6286] Fix | Delete
this.file_frame.state('gallery-library');
[6287] Fix | Delete
this.file_frame.open();
[6288] Fix | Delete
this.file_frame.$el.find('.media-menu .media-menu-item').last().trigger('click');
[6289] Fix | Delete
}
[6290] Fix | Delete
this.file_frame.off('update', setShortcode).on('update', setShortcode);
[6291] Fix | Delete
},
[6292] Fix | Delete
val = input.value.trim(),
[6293] Fix | Delete
removeItem = e => {
[6294] Fix | Delete
const el =e.target?.closest('.tf_close[data-id]');
[6295] Fix | Delete
if (el) {
[6296] Fix | Delete
e.stopPropagation();
[6297] Fix | Delete
const textarea = e.currentTarget.parentNode.tfTag('textarea')[0],
[6298] Fix | Delete
value = textarea.value,
[6299] Fix | Delete
ids = this.parseIds(value),
[6300] Fix | Delete
index = ids?.indexOf(el.dataset.id) ?? -1;
[6301] Fix | Delete
if (index !== -1) {
[6302] Fix | Delete
ids.splice(index, 1);
[6303] Fix | Delete
el.parentNode.remove();
[6304] Fix | Delete
textarea.value = ids.length > 0 ? this.replaceShortcode(value, ids.join(',')) : '';
[6305] Fix | Delete
clearTimeout(timer);
[6306] Fix | Delete
timer = setTimeout(() => {
[6307] Fix | Delete
Themify.triggerEvent(textarea, 'change',{remove:1});
[6308] Fix | Delete
timer = null;
[6309] Fix | Delete
}, 400);
[6310] Fix | Delete
}
[6311] Fix | Delete
}
[6312] Fix | Delete
},
[6313] Fix | Delete
sort = e => {
[6314] Fix | Delete
if (e.button === 0) {
[6315] Fix | Delete
const el = e.target && !e.target.classList.contains('tf_close') ? e.target.closest('.tb_gal_item') : null;
[6316] Fix | Delete
if (el) {
[6317] Fix | Delete
e.stopImmediatePropagation();
[6318] Fix | Delete
let timer,
[6319] Fix | Delete
clone,
[6320] Fix | Delete
box,
[6321] Fix | Delete
holderHeight,
[6322] Fix | Delete
holderWidth,
[6323] Fix | Delete
dir,
[6324] Fix | Delete
prevY,
[6325] Fix | Delete
prevX,
[6326] Fix | Delete
theLast,
[6327] Fix | Delete
self=this,
[6328] Fix | Delete
ownerDocument = el.ownerDocument,
[6329] Fix | Delete
_startDrag = e => {
[6330] Fix | Delete
e.stopImmediatePropagation();
[6331] Fix | Delete
ownerDocument.body.classList.add('tb_start_animate', 'tb_sort_start');
[6332] Fix | Delete
const _this = e.currentTarget,
[6333] Fix | Delete
b = _this.getBoundingClientRect(),
[6334] Fix | Delete
parentNode = _this.parentNode;
[6335] Fix | Delete
clone = el.cloneNode(true);
[6336] Fix | Delete
clone.classList.add('tb_gal_clone');
[6337] Fix | Delete
_this.after(clone);
[6338] Fix | Delete
_this.classList.add('tb_sort_handler');
[6339] Fix | Delete
box = parentNode.getBoundingClientRect();
[6340] Fix | Delete
holderHeight = (b.height / 2) - parentNode.offsetTop;
[6341] Fix | Delete
holderWidth = (b.width / 2) - parentNode.offsetLeft;
[6342] Fix | Delete
_move(e);
[6343] Fix | Delete
},
[6344] Fix | Delete
_move = e => {
[6345] Fix | Delete
e.stopImmediatePropagation();
[6346] Fix | Delete
let x = e.clientX,
[6347] Fix | Delete
y = e.clientY;
[6348] Fix | Delete
if (x < box.left) {
[6349] Fix | Delete
x = box.left;
[6350] Fix | Delete
} else if (x > box.right) {
[6351] Fix | Delete
x = box.right;
[6352] Fix | Delete
}
[6353] Fix | Delete
if (y < box.top) {
[6354] Fix | Delete
y = box.top;
[6355] Fix | Delete
} else if (y > box.bottom) {
[6356] Fix | Delete
y = box.bottom;
[6357] Fix | Delete
}
[6358] Fix | Delete
const moveTo = ownerDocument.elementFromPoint(x, y),
[6359] Fix | Delete
clientX = x - holderWidth - box.left,
[6360] Fix | Delete
clientY = y - holderHeight - box.top;
[6361] Fix | Delete
[6362] Fix | Delete
e.currentTarget.style.transform = 'translate(' + clientX + 'px,' + clientY + 'px)';
[6363] Fix | Delete
[6364] Fix | Delete
if (moveTo && moveTo !== e.currentTarget && moveTo.classList.contains('tb_gal_item')) {
[6365] Fix | Delete
const side = y > prevY || x > prevX ? 'bottom' : 'top';
[6366] Fix | Delete
if (dir !== side || theLast !== moveTo) {
[6367] Fix | Delete
side === 'bottom' ? moveTo.after(clone) : moveTo.before(clone);
[6368] Fix | Delete
}
[6369] Fix | Delete
theLast = moveTo;
[6370] Fix | Delete
dir = side;
[6371] Fix | Delete
}
[6372] Fix | Delete
prevY = y;
[6373] Fix | Delete
prevX = x;
[6374] Fix | Delete
},
[6375] Fix | Delete
_up = function (e) {
[6376] Fix | Delete
e.stopImmediatePropagation();
[6377] Fix | Delete
cancelAnimationFrame(timer);
[6378] Fix | Delete
this.tfOff('pointermove', _startDrag, {passive: true, once: true})
[6379] Fix | Delete
.tfOff('pointermove', _move, {passive: true})
[6380] Fix | Delete
.tfOff('lostpointercapture pointerup', _up, {passive: true, once: true});
[6381] Fix | Delete
ownerDocument.body.classList.remove('tb_start_animate', 'tb_sort_start');
[6382] Fix | Delete
if (clone) {
[6383] Fix | Delete
const wr = this.closest('.tb_shortcode_preview'),
[6384] Fix | Delete
items = wr.tfClass('tf_close'),
[6385] Fix | Delete
textarea = wr.parentNode.tfTag('textarea')[0],
[6386] Fix | Delete
shortcode = [];
[6387] Fix | Delete
this.remove();
[6388] Fix | Delete
clone.classList.remove('tb_gal_clone');
[6389] Fix | Delete
for (let i = 0; i < items.length; ++i) {
[6390] Fix | Delete
shortcode.push(items[i].dataset.id);
[6391] Fix | Delete
}
[6392] Fix | Delete
textarea.value = self.replaceShortcode(textarea.value, shortcode.join(','));
[6393] Fix | Delete
Themify.triggerEvent(textarea, 'change',{sort:1});
[6394] Fix | Delete
}
[6395] Fix | Delete
timer = clone = prevY = prevX = dir = theLast = holderWidth = holderHeight = self=ownerDocument=box = null;
[6396] Fix | Delete
};
[6397] Fix | Delete
el.tfOn('lostpointercapture pointerup', _up, {passive: true, once: true})
[6398] Fix | Delete
.tfOn('pointermove', _startDrag, {passive: true, once: true})
[6399] Fix | Delete
.tfOn('pointermove', _move, {passive: true})
[6400] Fix | Delete
.setPointerCapture(e.pointerId);
[6401] Fix | Delete
}
[6402] Fix | Delete
}
[6403] Fix | Delete
},
[6404] Fix | Delete
preview = shortcode => {
[6405] Fix | Delete
let ids = this.parseIds(shortcode) || [],
[6406] Fix | Delete
render=images=>{
[6407] Fix | Delete
if(!images){
[6408] Fix | Delete
return;
[6409] Fix | Delete
}
[6410] Fix | Delete
let w = 40,
[6411] Fix | Delete
h = 40,
[6412] Fix | Delete
fr = createDocumentFragment(),
[6413] Fix | Delete
prewiew_wrap = input.parentNode.tfClass('tb_shortcode_preview')[0];
[6414] Fix | Delete
for (let i = 0; i < images.length; ++i) {
[6415] Fix | Delete
let image=images[i];
[6416] Fix | Delete
if (image) {
[6417] Fix | Delete
let img = isNaN(image) ? new Image(w, h) : null,
[6418] Fix | Delete
wr = createElement('','tb_gal_item tf_loader tf_w tf_h tf_box tf_rel'),
[6419] Fix | Delete
remove = createElement('button',{type:'button',class:'tf_close','data-id':image.id || ''});
[6420] Fix | Delete
try {
[6421] Fix | Delete
if (img !== null) {
[6422] Fix | Delete
img.decoding = 'async';
[6423] Fix | Delete
img.src = image.thumbnail || image.large?.[0] || image.full?.[0];
[6424] Fix | Delete
img.decode()
[6425] Fix | Delete
.catch(() => {
[6426] Fix | Delete
})
[6427] Fix | Delete
.finally(() => {
[6428] Fix | Delete
wr.append(remove, img);
[6429] Fix | Delete
wr.classList.remove('tf_loader', 'tf_w', 'tf_h');
[6430] Fix | Delete
});
[6431] Fix | Delete
}
[6432] Fix | Delete
fr.appendChild(wr);
[6433] Fix | Delete
}
[6434] Fix | Delete
catch (e) {
[6435] Fix | Delete
[6436] Fix | Delete
}
[6437] Fix | Delete
}
[6438] Fix | Delete
}
[6439] Fix | Delete
if (prewiew_wrap === undefined) {
[6440] Fix | Delete
prewiew_wrap = createElement();
[6441] Fix | Delete
prewiew_wrap.tfOn(_CLICK_, removeItem, {passive: true})
[6442] Fix | Delete
.tfOn('pointerdown', sort, {passive: true})
[6443] Fix | Delete
.className = 'tb_shortcode_preview tf_scrollbar';
[6444] Fix | Delete
input.after(prewiew_wrap);
[6445] Fix | Delete
}
[6446] Fix | Delete
else {
[6447] Fix | Delete
prewiew_wrap.replaceChildren();
[6448] Fix | Delete
}
[6449] Fix | Delete
prewiew_wrap.appendChild(fr);
[6450] Fix | Delete
};
[6451] Fix | Delete
this.getImages(shortcode).then(res=>{
[6452] Fix | Delete
render(res);
[6453] Fix | Delete
});
[6454] Fix | Delete
if (!this.getCache(ids)) {
[6455] Fix | Delete
render(ids);
[6456] Fix | Delete
}
[6457] Fix | Delete
};
[6458] Fix | Delete
if(!isInLine){
[6459] Fix | Delete
if (val.length > 0) {
[6460] Fix | Delete
preview(val);
[6461] Fix | Delete
}
[6462] Fix | Delete
btn.tfOn(_CLICK_, openMediaLibrary, {passive: true});
[6463] Fix | Delete
input.tfOn('change',e=>{
[6464] Fix | Delete
if(!e?.detail?.sort && !e?.detail?.remove){
[6465] Fix | Delete
preview(e.currentTarget.value);
[6466] Fix | Delete
}
[6467] Fix | Delete
},{passive:true});
[6468] Fix | Delete
[6469] Fix | Delete
}else{
[6470] Fix | Delete
openMediaLibrary();
[6471] Fix | Delete
}
[6472] Fix | Delete
},
[6473] Fix | Delete
render(data, self) {
[6474] Fix | Delete
const d = createDocumentFragment(),
[6475] Fix | Delete
btn = createElement('button',{type:'button',class:'builder_button tb_text_button tb_btn_arrow'});
[6476] Fix | Delete
btn.innerHTML = i18n.add_gallery;
[6477] Fix | Delete
data.class = 'tb_shortcode_input '+(data.class || '');
[6478] Fix | Delete
d.append(self.textarea.render(data, self), btn);
[6479] Fix | Delete
self.afterRun.push(() => {
[6480] Fix | Delete
this.init(btn, btn.previousElementSibling);
[6481] Fix | Delete
});
[6482] Fix | Delete
return d;
[6483] Fix | Delete
}
[6484] Fix | Delete
},
[6485] Fix | Delete
textarea: {
[6486] Fix | Delete
render(data, self) {
[6487] Fix | Delete
const f = createDocumentFragment(),
[6488] Fix | Delete
area = createElement('textarea'),
[6489] Fix | Delete
v = self.getStyleVal(data.id),
[6490] Fix | Delete
ev = data.control && data.control.event ? data.control.event : 'keyup';
[6491] Fix | Delete
if (self.is_repeat === true) {
[6492] Fix | Delete
area.className = self.is_sort === true ? 'tb_lb_sort_child' : 'tb_lb_option_child';
[6493] Fix | Delete
area.dataset.inputId = data.id;
[6494] Fix | Delete
} else {
[6495] Fix | Delete
area.className = 'tb_lb_option';
[6496] Fix | Delete
area.id = data.id;
[6497] Fix | Delete
}
[6498] Fix | Delete
if (data.class !== undefined) {
[6499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function