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
ul = createElement('ul', 'tb_seperate_items tf_inline_b tb_has_opposite'),
[8500] Fix | Delete
range = api.Helper.cloneObject(data),
[8501] Fix | Delete
units = {
[8502] Fix | Delete
px: {
[8503] Fix | Delete
min: -1000,
[8504] Fix | Delete
max: 1000
[8505] Fix | Delete
},
[8506] Fix | Delete
em: {
[8507] Fix | Delete
min: -50,
[8508] Fix | Delete
max: 50
[8509] Fix | Delete
},
[8510] Fix | Delete
'%': {
[8511] Fix | Delete
min: -100
[8512] Fix | Delete
}
[8513] Fix | Delete
};
[8514] Fix | Delete
for (let i = 0; i < 2; ++i) {
[8515] Fix | Delete
let li = createElement('li');
[8516] Fix | Delete
range.id = data[items[i]];
[8517] Fix | Delete
range.prop = items[i] === 'topId' ? 'margin-top' : 'margin-bottom';
[8518] Fix | Delete
range.class = 'tb_multi_field tb_range_' + (items[i] === 'topId' ? 'top' : 'bottom');
[8519] Fix | Delete
range.opposite = true;
[8520] Fix | Delete
range.units = units;
[8521] Fix | Delete
range.tooltip = items[i] === 'topId' ? i18n.top : i18n.bottom;
[8522] Fix | Delete
li.appendChild(self.range.render(range, self));
[8523] Fix | Delete
ul.appendChild(li);
[8524] Fix | Delete
if (i === 0) {
[8525] Fix | Delete
let opposite = createElement('li','tb_seperate_opposite tb_opposite_top');
[8526] Fix | Delete
opposite.appendChild(self.checkboxGenerate('checkbox',
[8527] Fix | Delete
{
[8528] Fix | Delete
id: range.id + '_opp_top',
[8529] Fix | Delete
class: 'style_apply_oppositive',
[8530] Fix | Delete
options: [
[8531] Fix | Delete
{name: '1', value: ''}
[8532] Fix | Delete
]
[8533] Fix | Delete
}
[8534] Fix | Delete
));
[8535] Fix | Delete
let ch_op = opposite.querySelector('.style_apply_oppositive');
[8536] Fix | Delete
ch_op.tfOn('change', function (e) {
[8537] Fix | Delete
e.stopPropagation();
[8538] Fix | Delete
self.margin._bindingOppositive(this, true);
[8539] Fix | Delete
}, {passive: true})
[8540] Fix | Delete
.parentNode.insertBefore(createElement('','tb_oppositive_state'), ch_op.nextSibling);
[8541] Fix | Delete
[8542] Fix | Delete
ul.appendChild(opposite);
[8543] Fix | Delete
}
[8544] Fix | Delete
self._stylesData[data[items[i]]] = self.styles[data[items[i]]] = {id: data[items[i]], type: data.type, prop: (items[i] === 'topId' ? 'margin-top' : 'margin-bottom'), selector: data.selector};
[8545] Fix | Delete
}
[8546] Fix | Delete
data.label??= 'm';
[8547] Fix | Delete
return ul;
[8548] Fix | Delete
}
[8549] Fix | Delete
},
[8550] Fix | Delete
margin: {
[8551] Fix | Delete
_bindingOppositive(el, init) {
[8552] Fix | Delete
const li = el.closest('.tb_seperate_opposite'),
[8553] Fix | Delete
p = li.parentNode,
[8554] Fix | Delete
isLeft = li.classList.contains('tb_opposite_left'),
[8555] Fix | Delete
firstItem = isLeft === true ? li.nextElementSibling : li.previousElementSibling,
[8556] Fix | Delete
isChecked = el.checked === true,
[8557] Fix | Delete
dir = this._getOppositiveDir(firstItem.tfClass('tb_range')[0]),
[8558] Fix | Delete
field = p.tfClass('tb_range_' + dir)[0],
[8559] Fix | Delete
u = field.closest('li').tfClass('tb_unit')[0];
[8560] Fix | Delete
if (isChecked === true) {
[8561] Fix | Delete
field.dataset.v = field.value;
[8562] Fix | Delete
u.dataset.u = u.value;
[8563] Fix | Delete
if (init === true) {
[8564] Fix | Delete
const firstInput = firstItem.tfClass('tb_range')[0],
[8565] Fix | Delete
v = firstInput.value,
[8566] Fix | Delete
v2 = field.value;
[8567] Fix | Delete
if (v !== '' || v2 === '') {
[8568] Fix | Delete
field.value = v;
[8569] Fix | Delete
u.value = firstItem.tfClass('tb_unit')[0].value;
[8570] Fix | Delete
} else {
[8571] Fix | Delete
firstInput.value = v2;
[8572] Fix | Delete
firstItem.tfClass('tb_unit')[0].value = u.value;
[8573] Fix | Delete
}
[8574] Fix | Delete
[8575] Fix | Delete
}
[8576] Fix | Delete
} else {
[8577] Fix | Delete
const v = field.dataset.v;
[8578] Fix | Delete
field.value = v??'';
[8579] Fix | Delete
u.value = u.dataset.u;
[8580] Fix | Delete
}
[8581] Fix | Delete
if (init === true) {
[8582] Fix | Delete
Themify.triggerEvent(field, 'keyup');
[8583] Fix | Delete
}
[8584] Fix | Delete
},
[8585] Fix | Delete
_changeUnit(el, self) {
[8586] Fix | Delete
const p = el.closest('.tb_has_opposite');
[8587] Fix | Delete
if (!p.hasAttribute('data-checked')) {
[8588] Fix | Delete
const input = self.getEl(el.id.replace(/_unit$/ig, '')),
[8589] Fix | Delete
dir = this._getOppositiveDir(input),
[8590] Fix | Delete
isBorder = input.classList.contains('tb_is_border_radius'),
[8591] Fix | Delete
chClass = dir === 'top' || (isBorder === true && dir === 'right') || (isBorder === false && dir === 'bottom') ? 'top' : 'left';
[8592] Fix | Delete
if (p.tfClass('tb_opposite_' + chClass)[0].tfClass('style_apply_oppositive')[0].checked === true) {
[8593] Fix | Delete
p.tfClass('tb_range_' + dir)[0].closest('li').tfClass('tb_unit')[0].value = el.value;
[8594] Fix | Delete
}
[8595] Fix | Delete
}
[8596] Fix | Delete
},
[8597] Fix | Delete
_getOppositiveDir(el) {
[8598] Fix | Delete
const cl = el.classList;
[8599] Fix | Delete
let opp = cl.contains('tb_range_top') ? 'bottom' : (cl.contains('tb_range_bottom') ? 'top' : (cl.contains('tb_range_left') ? 'right' : 'left'));
[8600] Fix | Delete
if (cl.contains('tb_is_border_radius')) {
[8601] Fix | Delete
if (opp === 'bottom') {
[8602] Fix | Delete
opp = 'right';
[8603] Fix | Delete
} else if (opp === 'top') {
[8604] Fix | Delete
opp = 'left';
[8605] Fix | Delete
} else if (opp === 'left') {
[8606] Fix | Delete
opp = 'top';
[8607] Fix | Delete
} else {
[8608] Fix | Delete
opp = 'bottom';
[8609] Fix | Delete
}
[8610] Fix | Delete
}
[8611] Fix | Delete
return opp;
[8612] Fix | Delete
},
[8613] Fix | Delete
_changeOppositive(el) {
[8614] Fix | Delete
const li = el.closest('li'),
[8615] Fix | Delete
p = li.parentNode;
[8616] Fix | Delete
if (!p.hasAttribute('data-checked')) {
[8617] Fix | Delete
const dir = this._getOppositiveDir(el),
[8618] Fix | Delete
isBorder = el.classList.contains('tb_is_border_radius'),
[8619] Fix | Delete
ch = dir === 'top' || (isBorder === true && dir === 'right') || (isBorder === false && dir === 'bottom') ? p.tfClass('tb_opposite_top')[0] : p.tfClass('tb_opposite_left')[0];
[8620] Fix | Delete
if (ch.tfClass('style_apply_oppositive')[0].checked === true) {
[8621] Fix | Delete
p.tfClass('tb_range_' + dir)[0].value = el.value;
[8622] Fix | Delete
}
[8623] Fix | Delete
}
[8624] Fix | Delete
},
[8625] Fix | Delete
_apply_all(item, trigger) {
[8626] Fix | Delete
const ul = item.closest('.tb_input').tfClass('tb_seperate_items')[0],
[8627] Fix | Delete
first = ul.tfTag('li')[0],
[8628] Fix | Delete
isChecked = item.checked === true;
[8629] Fix | Delete
let text;
[8630] Fix | Delete
if (isChecked === true) {
[8631] Fix | Delete
ul.dataset.checked = 1;
[8632] Fix | Delete
text = i18n.all;
[8633] Fix | Delete
[8634] Fix | Delete
} else {
[8635] Fix | Delete
ul.removeAttribute('data-checked');
[8636] Fix | Delete
text = ul.dataset.toptext || i18n.top;
[8637] Fix | Delete
}
[8638] Fix | Delete
if (trigger === true) {
[8639] Fix | Delete
Themify.triggerEvent(first.tfClass('tb_multi_field')[0], 'keyup');
[8640] Fix | Delete
}
[8641] Fix | Delete
first.tfClass('tb_tooltip_up')[0].textContent = text;
[8642] Fix | Delete
},
[8643] Fix | Delete
update(id, v, self) {
[8644] Fix | Delete
const options = ['top', 'right', 'bottom', 'left'],
[8645] Fix | Delete
checkbox_id = 'checkbox_' + id + '_apply_all',
[8646] Fix | Delete
ch = self.getEl(checkbox_id),
[8647] Fix | Delete
apply_all = ch ? ch.tfClass('style_apply_all')[0] : null;
[8648] Fix | Delete
for (let i = 3; i > -1; --i) {
[8649] Fix | Delete
let nid = id + '_' + options[i],
[8650] Fix | Delete
el = self.getEl(nid);
[8651] Fix | Delete
if (el !== null) {
[8652] Fix | Delete
self.range.update(nid, self.getStyleVal(nid), self);
[8653] Fix | Delete
if (!apply_all || apply_all.checked !== true) {
[8654] Fix | Delete
let oppositiveId = id + '_opp_' + options[i],
[8655] Fix | Delete
ch_oppositive = self.getEl(oppositiveId);
[8656] Fix | Delete
if (ch_oppositive !== null) {
[8657] Fix | Delete
ch_oppositive.tfClass('style_apply_oppositive')[0].checked = !!self.getStyleVal(oppositiveId);
[8658] Fix | Delete
}
[8659] Fix | Delete
}
[8660] Fix | Delete
}
[8661] Fix | Delete
[8662] Fix | Delete
}
[8663] Fix | Delete
self.checkbox.update(checkbox_id, self.getStyleVal(checkbox_id), self);
[8664] Fix | Delete
if (apply_all) {
[8665] Fix | Delete
this._apply_all(apply_all);
[8666] Fix | Delete
}
[8667] Fix | Delete
},
[8668] Fix | Delete
render(data, self) {
[8669] Fix | Delete
data.label??= 'm';
[8670] Fix | Delete
return self.createMarginPadding(data.type, data);
[8671] Fix | Delete
}
[8672] Fix | Delete
},
[8673] Fix | Delete
padding: {
[8674] Fix | Delete
render(data, self) {
[8675] Fix | Delete
data.label??= 'p';
[8676] Fix | Delete
return self.createMarginPadding(data.type, data);
[8677] Fix | Delete
}
[8678] Fix | Delete
},
[8679] Fix | Delete
box_shadow: {
[8680] Fix | Delete
update(id, v, self) {
[8681] Fix | Delete
const options = ['hOffset', 'vOffset', 'blur', 'spread'],
[8682] Fix | Delete
color_id = id + '_color',
[8683] Fix | Delete
checkbox_id = id + '_inset';
[8684] Fix | Delete
for (let i = 3; i > -1; --i) {
[8685] Fix | Delete
let nid = id + '_' + options[i],
[8686] Fix | Delete
el = self.getEl(nid);
[8687] Fix | Delete
if (el !== null) {
[8688] Fix | Delete
self.range.update(nid, self.getStyleVal(nid), self);
[8689] Fix | Delete
}
[8690] Fix | Delete
}
[8691] Fix | Delete
self.color.update(color_id, self.getStyleVal(color_id), self);
[8692] Fix | Delete
self.checkbox.update(checkbox_id, self.getStyleVal(checkbox_id), self);
[8693] Fix | Delete
},
[8694] Fix | Delete
render(data, self) {
[8695] Fix | Delete
const {selector,prop,id} = data,
[8696] Fix | Delete
ranges = {
[8697] Fix | Delete
hOffset: {
[8698] Fix | Delete
label: 'h_o',
[8699] Fix | Delete
units: {px: {min: -200, max: 200}, em: {max: 40}}
[8700] Fix | Delete
},
[8701] Fix | Delete
vOffset: {
[8702] Fix | Delete
label: 'v_o',
[8703] Fix | Delete
units: {px: {min: -200, max: 200}, em: {max: 40}}
[8704] Fix | Delete
},
[8705] Fix | Delete
blur: {
[8706] Fix | Delete
label: 'bl',
[8707] Fix | Delete
units: {px: {max: 300}, em: {max: 40}}
[8708] Fix | Delete
},
[8709] Fix | Delete
spread: {
[8710] Fix | Delete
label: 'spr',
[8711] Fix | Delete
units: {px: {min: -200, max: 200}, em: {min: -10, max: 40}}
[8712] Fix | Delete
}
[8713] Fix | Delete
},
[8714] Fix | Delete
ul = createElement('ul','tb_seperate_items tb_shadow_inputs'),
[8715] Fix | Delete
range = api.Helper.cloneObject(data),
[8716] Fix | Delete
f = createDocumentFragment();
[8717] Fix | Delete
[8718] Fix | Delete
range.class = 'tb_shadow_field';
[8719] Fix | Delete
range.prop = null;
[8720] Fix | Delete
for (let rangeField in ranges) {
[8721] Fix | Delete
if (ranges[rangeField] !== undefined) {
[8722] Fix | Delete
let rField = ranges[rangeField],
[8723] Fix | Delete
li = createElement('li'),
[8724] Fix | Delete
prop_id = id + '_' + rangeField;
[8725] Fix | Delete
range.id = prop_id;
[8726] Fix | Delete
range.tooltip = rField.label;
[8727] Fix | Delete
range.units = rField.units;
[8728] Fix | Delete
range.selector = selector;
[8729] Fix | Delete
li.appendChild(self.range.render(range, self));
[8730] Fix | Delete
ul.appendChild(li);
[8731] Fix | Delete
self.styles[prop_id] = {prop: prop, selector: selector};
[8732] Fix | Delete
}
[8733] Fix | Delete
}
[8734] Fix | Delete
// Add color field
[8735] Fix | Delete
let prop_id = id + '_color';
[8736] Fix | Delete
const li = createElement('li','tb_shadow_color'),
[8737] Fix | Delete
color = {id: prop_id, type: 'color', class: range.class, selector: selector};
[8738] Fix | Delete
self.styles[prop_id] = {prop: prop, selector: selector, type: 'color'};
[8739] Fix | Delete
li.appendChild(self.color.render(color, self));
[8740] Fix | Delete
ul.appendChild(li);
[8741] Fix | Delete
// Add inset checkbox
[8742] Fix | Delete
prop_id = id + '_inset';
[8743] Fix | Delete
const coptions = {
[8744] Fix | Delete
id: prop_id,
[8745] Fix | Delete
origID: id,
[8746] Fix | Delete
type: 'checkbox',
[8747] Fix | Delete
class: range.class,
[8748] Fix | Delete
isBoxShadow: true,
[8749] Fix | Delete
prop: prop,
[8750] Fix | Delete
options: [
[8751] Fix | Delete
{value: 'in_sh', name: 'inset'}
[8752] Fix | Delete
]
[8753] Fix | Delete
};
[8754] Fix | Delete
self.styles[prop_id] = {prop: prop, selector: selector};
[8755] Fix | Delete
[8756] Fix | Delete
f.append(ul, self.checkboxGenerate('checkbox', coptions));
[8757] Fix | Delete
data.label??= 'b_s';
[8758] Fix | Delete
return f;
[8759] Fix | Delete
}
[8760] Fix | Delete
},
[8761] Fix | Delete
text_shadow: {
[8762] Fix | Delete
update(id, v, self) {
[8763] Fix | Delete
const options = ['hShadow', 'vShadow', 'blur'],
[8764] Fix | Delete
color_id = id + '_color';
[8765] Fix | Delete
for (let i = 2; i > -1; --i) {
[8766] Fix | Delete
let nid = id + '_' + options[i],
[8767] Fix | Delete
el = self.getEl(nid);
[8768] Fix | Delete
if (el !== null) {
[8769] Fix | Delete
self.range.update(nid, self.getStyleVal(nid), self);
[8770] Fix | Delete
}
[8771] Fix | Delete
}
[8772] Fix | Delete
self.color.update(color_id, self.getStyleVal(color_id), self);
[8773] Fix | Delete
},
[8774] Fix | Delete
render(data, self) {
[8775] Fix | Delete
const {selector,prop,id} = data,
[8776] Fix | Delete
ranges = {
[8777] Fix | Delete
hShadow: {
[8778] Fix | Delete
label: 'h_sh',
[8779] Fix | Delete
units: {px: {min: -200, max: 200}, em: {max: 40}}
[8780] Fix | Delete
},
[8781] Fix | Delete
vShadow: {
[8782] Fix | Delete
label: 'v_sh',
[8783] Fix | Delete
units: {px: {min: -200, max: 200}, em: {max: 40}}
[8784] Fix | Delete
},
[8785] Fix | Delete
blur: {
[8786] Fix | Delete
label: 'bl',
[8787] Fix | Delete
units: {px: {max: 300}, em: {max: 40}}
[8788] Fix | Delete
}
[8789] Fix | Delete
},
[8790] Fix | Delete
ul = createElement('ul','tb_seperate_items tb_shadow_inputs'),
[8791] Fix | Delete
li = createElement('li','tb_shadow_color'),
[8792] Fix | Delete
prop_id = id + '_color',
[8793] Fix | Delete
color = {id: prop_id, type: 'color', class: 'tb_shadow_field', selector: selector},
[8794] Fix | Delete
range = api.Helper.cloneObject(data);
[8795] Fix | Delete
[8796] Fix | Delete
range.class = 'tb_shadow_field';
[8797] Fix | Delete
range.prop = null;
[8798] Fix | Delete
for (let rangeField in ranges) {
[8799] Fix | Delete
if (ranges.hasOwnProperty(rangeField)) {
[8800] Fix | Delete
let rField = ranges[rangeField],
[8801] Fix | Delete
li = createElement('li'),
[8802] Fix | Delete
prop_id = id + '_' + rangeField;
[8803] Fix | Delete
range.id = prop_id;
[8804] Fix | Delete
range.tooltip = rField.label;
[8805] Fix | Delete
range.units = rField.units;
[8806] Fix | Delete
li.appendChild(self.range.render(range, self));
[8807] Fix | Delete
ul.appendChild(li);
[8808] Fix | Delete
self.styles[prop_id] = {prop: prop, selector: selector};
[8809] Fix | Delete
}
[8810] Fix | Delete
}
[8811] Fix | Delete
// Add color field
[8812] Fix | Delete
self.styles[prop_id] = {prop: prop, selector: selector, type: 'color'};
[8813] Fix | Delete
li.appendChild(self.color.render(color, self));
[8814] Fix | Delete
ul.appendChild(li);
[8815] Fix | Delete
data.label??= 't_sh';
[8816] Fix | Delete
return ul;
[8817] Fix | Delete
}
[8818] Fix | Delete
},
[8819] Fix | Delete
border_radius: {
[8820] Fix | Delete
render(data, self) {
[8821] Fix | Delete
data.options??= self.getOptions('border_radius');
[8822] Fix | Delete
data.wrap_class??= 'border-radius-options';
[8823] Fix | Delete
data.label??= 'r_c';
[8824] Fix | Delete
return self.createMarginPadding(data.type, data);
[8825] Fix | Delete
}
[8826] Fix | Delete
},
[8827] Fix | Delete
outline: {
[8828] Fix | Delete
render(data, self) {
[8829] Fix | Delete
self.styles[ data.id + '-c' ] = self.styles[ data.id + '-w' ] =self.styles[ data.id + '-s' ] = data.selector;
[8830] Fix | Delete
data.label??= 'o';
[8831] Fix | Delete
return self.create([
[8832] Fix | Delete
{
[8833] Fix | Delete
type: 'multi',
[8834] Fix | Delete
options: [
[8835] Fix | Delete
{
[8836] Fix | Delete
type: 'color',
[8837] Fix | Delete
id: data.id + '-c',
[8838] Fix | Delete
class: 'outline_color'
[8839] Fix | Delete
},
[8840] Fix | Delete
{
[8841] Fix | Delete
type: 'range',
[8842] Fix | Delete
id: data.id + '-w',
[8843] Fix | Delete
units: {px: {max: 300}},
[8844] Fix | Delete
class: 'outline_width'
[8845] Fix | Delete
},
[8846] Fix | Delete
{
[8847] Fix | Delete
type: 'select',
[8848] Fix | Delete
id: data.id + '-s',
[8849] Fix | Delete
options: self.getOptions('border'),
[8850] Fix | Delete
class: 'outline_style'
[8851] Fix | Delete
}
[8852] Fix | Delete
]
[8853] Fix | Delete
}
[8854] Fix | Delete
]);
[8855] Fix | Delete
}
[8856] Fix | Delete
},
[8857] Fix | Delete
border: {
[8858] Fix | Delete
_changeControl(item) {
[8859] Fix | Delete
const {parentNode:p,value:v} = item,
[8860] Fix | Delete
items = p.parentNode.children;
[8861] Fix | Delete
for (let i = items.length - 1; i > -1; --i) {
[8862] Fix | Delete
if (items[i] !== p) {
[8863] Fix | Delete
items[i].classList.toggle('_tb_hide_binding', v === 'none');
[8864] Fix | Delete
}
[8865] Fix | Delete
}
[8866] Fix | Delete
},
[8867] Fix | Delete
_apply_all(border, item) {
[8868] Fix | Delete
const items = item.tfTag('input'),
[8869] Fix | Delete
disable = (is_all, event)=> {
[8870] Fix | Delete
for (let i = items.length - 1; i > -1; --i) {
[8871] Fix | Delete
items[i].parentNode.classList.toggle('_tb_disable', is_all && items[i].value !== 'all');
[8872] Fix | Delete
}
[8873] Fix | Delete
if (is_all === true) {
[8874] Fix | Delete
border.dataset.checked = 1;
[8875] Fix | Delete
} else {
[8876] Fix | Delete
border.removeAttribute('data-checked');
[8877] Fix | Delete
}
[8878] Fix | Delete
if (event === true) {
[8879] Fix | Delete
Themify.triggerEvent(border.children[0].tfTag('select')[0], 'change');
[8880] Fix | Delete
}
[8881] Fix | Delete
};
[8882] Fix | Delete
for (let i = items.length - 1; i > -1; --i) {
[8883] Fix | Delete
items[i].tfOn('change', function () {
[8884] Fix | Delete
disable(this.value === 'all', true);
[8885] Fix | Delete
}, {passive: true});
[8886] Fix | Delete
if (items[i].checked === true && items[i].value === 'all') {
[8887] Fix | Delete
disable(true, null);
[8888] Fix | Delete
}
[8889] Fix | Delete
}
[8890] Fix | Delete
},
[8891] Fix | Delete
update(id, v, self) {
[8892] Fix | Delete
const options = ['top', 'right', 'bottom', 'left'],
[8893] Fix | Delete
radio_id = id + '-type';
[8894] Fix | Delete
for (let i = 0; i < 4; ++i) {
[8895] Fix | Delete
let nid = id + '_' + options[i],
[8896] Fix | Delete
color_id = nid + '_color',
[8897] Fix | Delete
style_id = nid + '_style',
[8898] Fix | Delete
range_id = nid + '_width';
[8899] Fix | Delete
self.color.update(color_id, self.getStyleVal(color_id), self);
[8900] Fix | Delete
self.select.update(style_id, self.getStyleVal(style_id), self);
[8901] Fix | Delete
this._changeControl(self.getEl(style_id));
[8902] Fix | Delete
self.range.update(range_id, self.getStyleVal(range_id), self);
[8903] Fix | Delete
}
[8904] Fix | Delete
self.radio.update(radio_id, self.getStyleVal(radio_id), self);
[8905] Fix | Delete
},
[8906] Fix | Delete
render(data, self) {
[8907] Fix | Delete
const options = ['top', 'right', 'bottom', 'left'],
[8908] Fix | Delete
ul = createElement('ul', 'tb_seperate_items tb_borders tb_group_element_border'),
[8909] Fix | Delete
orig_id = data.id,
[8910] Fix | Delete
_this = this,
[8911] Fix | Delete
selector = data.selector,
[8912] Fix | Delete
select = api.Helper.cloneObject(data),
[8913] Fix | Delete
radio = api.Helper.cloneObject(data),
[8914] Fix | Delete
d = createDocumentFragment();
[8915] Fix | Delete
radio.options = [
[8916] Fix | Delete
{value: 'all', name: 'all', class: 'style_apply_all ', icon: '<i class="tic-border-all"></i>', label_class: 'tb_radio_label_borders'}
[8917] Fix | Delete
];
[8918] Fix | Delete
radio.option_js = true;
[8919] Fix | Delete
radio.id = orig_id + '-type';
[8920] Fix | Delete
radio.no_toggle = true;
[8921] Fix | Delete
radio.default = 'top';
[8922] Fix | Delete
radio.prop = null;
[8923] Fix | Delete
[8924] Fix | Delete
select.options = self.getOptions('border');
[8925] Fix | Delete
select.prop = null;
[8926] Fix | Delete
[8927] Fix | Delete
for (let i = 0; i < 4; ++i) {
[8928] Fix | Delete
let li = createElement('li','tb_group_element_' + options[i]),
[8929] Fix | Delete
id = orig_id + '_' + options[i];
[8930] Fix | Delete
radio.options.push({value: options[i], name: options[i], icon: '<i class="tic-border-' + options[i] + '"></i>', label_class: 'tb_radio_label_borders'});
[8931] Fix | Delete
[8932] Fix | Delete
if (options[i] === 'top') {
[8933] Fix | Delete
li.className += ' tb_group_element_all';
[8934] Fix | Delete
}
[8935] Fix | Delete
self.styles[id + '_color'] = {prop: 'border-' + options[i], selector: selector};
[8936] Fix | Delete
select.id = id + '_color';
[8937] Fix | Delete
select.type = 'color';
[8938] Fix | Delete
select.class = 'border_color';
[8939] Fix | Delete
li.appendChild(self.color.render(select, self));
[8940] Fix | Delete
[8941] Fix | Delete
self.styles[id + '_width'] = {prop: 'border-' + options[i], selector: selector};
[8942] Fix | Delete
select.id = id + '_width';
[8943] Fix | Delete
select.type = 'range';
[8944] Fix | Delete
select.class = 'border_width';
[8945] Fix | Delete
select.units = {px: {max: 300}};
[8946] Fix | Delete
li.appendChild(self.range.render(select, self));
[8947] Fix | Delete
[8948] Fix | Delete
self.styles[id + '_style'] = {prop: 'border-' + options[i], selector: selector};
[8949] Fix | Delete
select.id = id + '_style';
[8950] Fix | Delete
select.type = 'select';
[8951] Fix | Delete
select.class = 'border_style tb_multi_field';
[8952] Fix | Delete
let border_select = self.select.render(select, self),
[8953] Fix | Delete
select_item = border_select.querySelector('select');
[8954] Fix | Delete
li.appendChild(border_select);
[8955] Fix | Delete
ul.appendChild(li);
[8956] Fix | Delete
select_item.tfOn('change', function () {
[8957] Fix | Delete
_this._changeControl(this);
[8958] Fix | Delete
}, {passive: true});
[8959] Fix | Delete
if (select_item.value === 'none') {
[8960] Fix | Delete
_this._changeControl(select_item);
[8961] Fix | Delete
}
[8962] Fix | Delete
}
[8963] Fix | Delete
[8964] Fix | Delete
d.appendChild(self.radioGenerate('icon_radio', radio, self));
[8965] Fix | Delete
_this._apply_all(ul, d.querySelector('#' + radio.id));
[8966] Fix | Delete
d.appendChild(ul);
[8967] Fix | Delete
data.label??= 'b';
[8968] Fix | Delete
return d;
[8969] Fix | Delete
}
[8970] Fix | Delete
},
[8971] Fix | Delete
slider: {
[8972] Fix | Delete
render(data, self) {
[8973] Fix | Delete
const label = data.label || 'sl_opt',
[8974] Fix | Delete
/* backward compatibility for old predefined speed values */
[8975] Fix | Delete
speeds = {
[8976] Fix | Delete
fast : .5,
[8977] Fix | Delete
normal : 1,
[8978] Fix | Delete
slow : 4
[8979] Fix | Delete
};
[8980] Fix | Delete
// Backward compatibility #9463
[8981] Fix | Delete
if (['crossfade', 'cover-fade', 'uncover-fade'].includes(self.values.effect_slider)) {
[8982] Fix | Delete
self.values.effect_slider = 'fade';
[8983] Fix | Delete
}
[8984] Fix | Delete
if ( speeds[ self.values.speed_opt_slider ] ) {
[8985] Fix | Delete
self.values.speed_opt_slider = speeds[ self.values.speed_opt_slider ];
[8986] Fix | Delete
}
[8987] Fix | Delete
return self.create([{
[8988] Fix | Delete
type: 'group',
[8989] Fix | Delete
label: i18n[label] || label,
[8990] Fix | Delete
display: 'accordion',
[8991] Fix | Delete
options: data.options || self.getOptions('slider_options'),
[8992] Fix | Delete
wrap_class: data.wrap_class
[8993] Fix | Delete
}]);
[8994] Fix | Delete
}
[8995] Fix | Delete
},
[8996] Fix | Delete
custom_css: {
[8997] Fix | Delete
render(data, self) {
[8998] Fix | Delete
data.class = 'large';
[8999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function