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
logic = binding.empty;
[1500] Fix | Delete
} else if (binding[val] !== undefined && (val || type === 'select')) {
[1501] Fix | Delete
if (type === 'radio' || type === 'icon_radio') {
[1502] Fix | Delete
logic = _this.checked === true ? binding[val] : false;
[1503] Fix | Delete
} else {
[1504] Fix | Delete
logic = binding[val];
[1505] Fix | Delete
}
[1506] Fix | Delete
} else if (val && binding.not_empty !== undefined) {
[1507] Fix | Delete
logic = binding.not_empty;
[1508] Fix | Delete
} else if (binding.select !== undefined && val !== binding.select.value) {
[1509] Fix | Delete
logic = binding.select;
[1510] Fix | Delete
} else if (binding.checked !== undefined && _this.checked === true) {
[1511] Fix | Delete
logic = binding.checked;
[1512] Fix | Delete
} else if (binding.not_checked !== undefined && _this.checked === false) {
[1513] Fix | Delete
logic = binding.not_checked;
[1514] Fix | Delete
}
[1515] Fix | Delete
if (logic) {
[1516] Fix | Delete
[1517] Fix | Delete
if (context === undefined || context === null || context.length === 0) {
[1518] Fix | Delete
context = _this.closest('.tb_tab,.tb_expanded_opttions') || this.getEl('tb_lightbox_container');
[1519] Fix | Delete
}
[1520] Fix | Delete
const hasHide = logic.hide !== undefined,
[1521] Fix | Delete
hasShow = logic.show !== undefined,
[1522] Fix | Delete
relatedBindings = [],
[1523] Fix | Delete
options = this._options[this.clicked].options,
[1524] Fix | Delete
getData = (opt, key) => {
[1525] Fix | Delete
let value;
[1526] Fix | Delete
if (undefined !== key && opt !== undefined) {
[1527] Fix | Delete
for (let i = opt.length - 1; i > -1; --i) {
[1528] Fix | Delete
if (opt[i].id === key) {
[1529] Fix | Delete
value = opt[i];
[1530] Fix | Delete
break;
[1531] Fix | Delete
}
[1532] Fix | Delete
if (opt[i].options !== undefined && Array.isArray(opt[i].options)) {
[1533] Fix | Delete
value = getData(opt[i].options, key);
[1534] Fix | Delete
if (value !== undefined) {
[1535] Fix | Delete
break;
[1536] Fix | Delete
}
[1537] Fix | Delete
}
[1538] Fix | Delete
}
[1539] Fix | Delete
}
[1540] Fix | Delete
return value;
[1541] Fix | Delete
},
[1542] Fix | Delete
relatedBinding = (el, data, context) => {
[1543] Fix | Delete
const type = el.dataset.type;
[1544] Fix | Delete
let _this;
[1545] Fix | Delete
if ('radio' === type) {
[1546] Fix | Delete
_this = el.querySelector('input:checked') || el.tfTag('input')[0];
[1547] Fix | Delete
} else if ('checkbox' === type || 'toggle_switch' === type) {
[1548] Fix | Delete
_this = el.tfTag('input')[0];
[1549] Fix | Delete
} else if ('select' === type) {
[1550] Fix | Delete
_this = el.tfTag('select')[0];
[1551] Fix | Delete
}
[1552] Fix | Delete
if (_this) {
[1553] Fix | Delete
this._binding(_this, data, _this.value, context);
[1554] Fix | Delete
}
[1555] Fix | Delete
};
[1556] Fix | Delete
if (hasShow === true && !Array.isArray(logic.show)) {
[1557] Fix | Delete
logic.show = [logic.show];
[1558] Fix | Delete
}
[1559] Fix | Delete
if (hasHide === true && !Array.isArray(logic.hide)) {
[1560] Fix | Delete
logic.hide = [logic.hide];
[1561] Fix | Delete
}
[1562] Fix | Delete
let items = hasShow === true ? logic.show : [];
[1563] Fix | Delete
if (hasHide === true) {
[1564] Fix | Delete
items = items.concat(logic.hide);
[1565] Fix | Delete
}
[1566] Fix | Delete
for (let i = 0, len = items.length; i < len; ++i) {
[1567] Fix | Delete
if (hasHide === true && logic.hide[i] !== undefined) {
[1568] Fix | Delete
let sel = logic.hide[i].indexOf('#') === 0 ? logic.hide[i] : '.' + logic.hide[i],
[1569] Fix | Delete
hides = context.querySelectorAll(sel);
[1570] Fix | Delete
for (let j = hides.length - 1; j > -1; --j) {
[1571] Fix | Delete
hides[j].classList.add('_tb_hide_binding');
[1572] Fix | Delete
if (null !== this.component) {
[1573] Fix | Delete
let relatedBindData = getData(options, logic.hide[i]);
[1574] Fix | Delete
if (relatedBindData?.binding) {
[1575] Fix | Delete
relatedBindings.push({_el: hides[j], _args: relatedBindData});
[1576] Fix | Delete
}
[1577] Fix | Delete
}
[1578] Fix | Delete
}
[1579] Fix | Delete
}
[1580] Fix | Delete
if (hasShow === true && logic.show[i] !== undefined) {
[1581] Fix | Delete
[1582] Fix | Delete
let sel = logic.show[i].indexOf('#') === 0 ? logic.show[i] : '.' + logic.show[i],
[1583] Fix | Delete
shows = context.querySelectorAll(sel);
[1584] Fix | Delete
for (let j = shows.length - 1; j > -1; --j) {
[1585] Fix | Delete
shows[j].classList.remove('_tb_hide_binding');
[1586] Fix | Delete
if (null !== this.component) {
[1587] Fix | Delete
let relatedBindData = getData(options, logic.show[i]);
[1588] Fix | Delete
if (relatedBindData?.binding) {
[1589] Fix | Delete
relatedBindings.push({_el: shows[j], _args: relatedBindData});
[1590] Fix | Delete
}
[1591] Fix | Delete
}
[1592] Fix | Delete
}
[1593] Fix | Delete
}
[1594] Fix | Delete
}
[1595] Fix | Delete
for (let i = relatedBindings.length - 1; i > -1; --i) {
[1596] Fix | Delete
relatedBinding(relatedBindings[i]._el, relatedBindings[i]._args, context);
[1597] Fix | Delete
}
[1598] Fix | Delete
if (logic.responsive?.disabled !== undefined) {
[1599] Fix | Delete
if (!Array.isArray(logic.responsive.disabled)) {
[1600] Fix | Delete
logic.responsive.disabled = [logic.responsive.disabled];
[1601] Fix | Delete
}
[1602] Fix | Delete
const items_disabled = logic.responsive.disabled,
[1603] Fix | Delete
is_responsive = 'desktop' !== api.activeBreakPoint;
[1604] Fix | Delete
for (let i = items_disabled.length - 1; i > -1; --i) {
[1605] Fix | Delete
if (logic.responsive.disabled[i] !== undefined) {
[1606] Fix | Delete
let sel = logic.responsive.disabled[i].indexOf('#') === 0 ? logic.responsive.disabled[i] : '.' + logic.responsive.disabled[i],
[1607] Fix | Delete
resp = context.querySelectorAll(sel);
[1608] Fix | Delete
for (let j = resp.length - 1; j > -1; --j) {
[1609] Fix | Delete
resp[i].classList.toggle('tb_responsive_disable', is_responsive);
[1610] Fix | Delete
}
[1611] Fix | Delete
}
[1612] Fix | Delete
}
[1613] Fix | Delete
}
[1614] Fix | Delete
}
[1615] Fix | Delete
},
[1616] Fix | Delete
control: {
[1617] Fix | Delete
init(el, type, args) {
[1618] Fix | Delete
args.name = type;
[1619] Fix | Delete
this[type].call(this, el, args);
[1620] Fix | Delete
},
[1621] Fix | Delete
preview(el, val, args) {
[1622] Fix | Delete
if (!el?.isConnected) {
[1623] Fix | Delete
return;
[1624] Fix | Delete
}
[1625] Fix | Delete
const self = ThemifyConstructor,
[1626] Fix | Delete
repeater = el.closest('.tb_toggleable_fields') || el.closest('.tb_sort_fields_parent') || el.closest('.tb_row_js_wrapper'),
[1627] Fix | Delete
model=api.activeModel;
[1628] Fix | Delete
if (repeater !== null) {
[1629] Fix | Delete
const opt=api.Forms.parseSettings(repeater);
[1630] Fix | Delete
self.settings[ opt.id ] = opt.v;
[1631] Fix | Delete
} else {
[1632] Fix | Delete
self.settings[ args.id ] = val;
[1633] Fix | Delete
}
[1634] Fix | Delete
if (api.isVisual) {
[1635] Fix | Delete
let selector = null;
[1636] Fix | Delete
if (args.selector !== undefined && val) {
[1637] Fix | Delete
selector = model.el.querySelectorAll(args.selector);
[1638] Fix | Delete
if (selector.length === 0) {
[1639] Fix | Delete
selector = null;
[1640] Fix | Delete
} else if (repeater !== null) {
[1641] Fix | Delete
const item = el.closest('.tb_repeatable_field');
[1642] Fix | Delete
let items = repeater.children,
[1643] Fix | Delete
index = null;
[1644] Fix | Delete
for (let i = items.length - 1; i >-1;--i) {
[1645] Fix | Delete
if (items[i] === item) {
[1646] Fix | Delete
index = i;
[1647] Fix | Delete
break;
[1648] Fix | Delete
}
[1649] Fix | Delete
}
[1650] Fix | Delete
if (args.rep !== undefined) {
[1651] Fix | Delete
selector = model.el.querySelectorAll(args.rep);
[1652] Fix | Delete
if (selector[index] !== undefined) {
[1653] Fix | Delete
items = selector[index].querySelectorAll(args.selector);
[1654] Fix | Delete
if (items.length === 0) {
[1655] Fix | Delete
items = null;
[1656] Fix | Delete
}
[1657] Fix | Delete
}
[1658] Fix | Delete
} else {
[1659] Fix | Delete
items = index !== null && selector[index] !== undefined ? [selector[index]] : null;
[1660] Fix | Delete
}
[1661] Fix | Delete
if (items !== null && items !== undefined) {
[1662] Fix | Delete
selector = [];
[1663] Fix | Delete
for (let i = items.length - 1; i > -1; --i) {
[1664] Fix | Delete
let sw = items[i].closest('.tf_swiper-slide');
[1665] Fix | Delete
if (sw !== null) {
[1666] Fix | Delete
let wrapper = sw.closest('.tf_swiper-wrapper');
[1667] Fix | Delete
if (wrapper !== null) {
[1668] Fix | Delete
let swItems = wrapper.querySelectorAll('.tf_swiper-slide[data-swiper-slide-index="' + index + '"]'),
[1669] Fix | Delete
len = swItems.length;
[1670] Fix | Delete
if (len !== 0) {
[1671] Fix | Delete
for (let j = len - 1; j > -1; --j) {
[1672] Fix | Delete
for (let found = swItems[j].querySelectorAll(args.selector), k = found.length - 1; k > -1; --k) {
[1673] Fix | Delete
selector.push(found[k]);
[1674] Fix | Delete
}
[1675] Fix | Delete
}
[1676] Fix | Delete
} else {
[1677] Fix | Delete
selector.push(items[i]);
[1678] Fix | Delete
}
[1679] Fix | Delete
}
[1680] Fix | Delete
} else {
[1681] Fix | Delete
selector.push(items[i]);
[1682] Fix | Delete
}
[1683] Fix | Delete
}
[1684] Fix | Delete
[1685] Fix | Delete
} else {
[1686] Fix | Delete
selector = null;
[1687] Fix | Delete
}
[1688] Fix | Delete
}
[1689] Fix | Delete
}
[1690] Fix | Delete
if ('refresh' === args.type || self._is_ajax === true) {
[1691] Fix | Delete
model.previewReload(self.settings, selector, val);
[1692] Fix | Delete
}
[1693] Fix | Delete
else {
[1694] Fix | Delete
model.previewLive(self.settings, args.name === 'wp_editor' || el.tagName === 'TEXTAREA', selector, val);
[1695] Fix | Delete
}
[1696] Fix | Delete
}
[1697] Fix | Delete
else if (self.clicked === 'setting') {
[1698] Fix | Delete
model.backendLivePreview(self.settings);
[1699] Fix | Delete
}
[1700] Fix | Delete
},
[1701] Fix | Delete
change(el, args) {
[1702] Fix | Delete
const event = args.event || 'change';
[1703] Fix | Delete
let timout;
[1704] Fix | Delete
el.tfOn(event, e => {
[1705] Fix | Delete
let timer = 50,
[1706] Fix | Delete
target = e.target;
[1707] Fix | Delete
if (e.type === 'change') {
[1708] Fix | Delete
timer = 1;
[1709] Fix | Delete
} else if ('refresh' === args.type && args.selector === undefined) {
[1710] Fix | Delete
timer = 1000;
[1711] Fix | Delete
}
[1712] Fix | Delete
clearTimeout(timout);
[1713] Fix | Delete
timout = setTimeout(() => {
[1714] Fix | Delete
if(target.isConnected){
[1715] Fix | Delete
let value = target.value;
[1716] Fix | Delete
if ('keyup' === e.type) {
[1717] Fix | Delete
if (value === target.dataset.oldValue) {
[1718] Fix | Delete
return;
[1719] Fix | Delete
} else {
[1720] Fix | Delete
target.dataset.oldValue = value;
[1721] Fix | Delete
}
[1722] Fix | Delete
}
[1723] Fix | Delete
if (target.nodeName === 'SELECT' && target.multiple) {
[1724] Fix | Delete
value = [];
[1725] Fix | Delete
for (let selected = target.selectedOptions, i = 0; i < selected.length; ++i) {
[1726] Fix | Delete
value.push(selected[ i ].value);
[1727] Fix | Delete
}
[1728] Fix | Delete
}
[1729] Fix | Delete
this.preview(target, value, args);
[1730] Fix | Delete
}
[1731] Fix | Delete
timout = null;
[1732] Fix | Delete
}, timer);
[1733] Fix | Delete
}, {passive: true});
[1734] Fix | Delete
},
[1735] Fix | Delete
wp_editor(el, args) {
[1736] Fix | Delete
let that = this,
[1737] Fix | Delete
id = el.id,
[1738] Fix | Delete
previous = false,
[1739] Fix | Delete
interval,
[1740] Fix | Delete
is_widget = false,
[1741] Fix | Delete
callback = function () {
[1742] Fix | Delete
const content = typeof this.getContent === 'function' ? this.getContent() : this.value;
[1743] Fix | Delete
clearTimeout(interval);
[1744] Fix | Delete
if (api.activeModel === null || previous === content) {
[1745] Fix | Delete
return;
[1746] Fix | Delete
}
[1747] Fix | Delete
previous = content;
[1748] Fix | Delete
if (is_widget !== false) {
[1749] Fix | Delete
if (!args.id) {
[1750] Fix | Delete
const _id = this.id.split('_');
[1751] Fix | Delete
if (_id[1] && api.LightBox.el.querySelector('textarea.sync-input[name="' + _id[1] + '"]')) {
[1752] Fix | Delete
args.id = _id[1];
[1753] Fix | Delete
}
[1754] Fix | Delete
}
[1755] Fix | Delete
if (args.id) {
[1756] Fix | Delete
const widgetText = api.LightBox.el.querySelector('textarea.sync-input[name="' + args.id + '"]');
[1757] Fix | Delete
if (widgetText && widgetText !== this) {
[1758] Fix | Delete
widgetText.value = content;
[1759] Fix | Delete
Themify.triggerEvent(widgetText, 'change');
[1760] Fix | Delete
return;
[1761] Fix | Delete
}
[1762] Fix | Delete
}
[1763] Fix | Delete
}
[1764] Fix | Delete
if (!this.targetElm) {
[1765] Fix | Delete
if (typeof tinyMCE !== 'undefined') {
[1766] Fix | Delete
tinymce.get(this.id)?.setContent(content);
[1767] Fix | Delete
}
[1768] Fix | Delete
that.preview(this, content, args);
[1769] Fix | Delete
} else {
[1770] Fix | Delete
that.preview(this.targetElm, content, args);
[1771] Fix | Delete
}
[1772] Fix | Delete
interval = null;
[1773] Fix | Delete
},
[1774] Fix | Delete
messages = api.LightBox.el.querySelectorAll('.wrap > #message');
[1775] Fix | Delete
[1776] Fix | Delete
/* change the ID on WP's #message element.
[1777] Fix | Delete
* Patches an issue with Optin due to similar IDs
[1778] Fix | Delete
*/
[1779] Fix | Delete
for (let i = messages.length - 1; i > -1; --i) {
[1780] Fix | Delete
messages[i].id = 'wp-message';
[1781] Fix | Delete
}
[1782] Fix | Delete
// add quicktags
[1783] Fix | Delete
if (typeof topWindow.QTags === 'function') {
[1784] Fix | Delete
topWindow.quicktags({
[1785] Fix | Delete
id: id
[1786] Fix | Delete
});
[1787] Fix | Delete
topWindow.QTags._buttonsInit();
[1788] Fix | Delete
}
[1789] Fix | Delete
if (typeof tinyMCE !== 'undefined') {
[1790] Fix | Delete
if (tinymce.editors[ id ] !== undefined) { // clear the prev editor
[1791] Fix | Delete
tinyMCE.execCommand('mceRemoveEditor', true, id);
[1792] Fix | Delete
}
[1793] Fix | Delete
const settings = tinyMCEPreInit.mceInit.tb_lb_hidden_editor;
[1794] Fix | Delete
settings.target = ThemifyConstructor.getEl(id.replace('#', ''));
[1795] Fix | Delete
// Creates a new editor instance
[1796] Fix | Delete
const ed = new tinyMCE.Editor(id, settings, tinyMCE.EditorManager);
[1797] Fix | Delete
is_widget = el.classList.contains('wp-editor-area') ? (el.closest('#instance_widget') !== null) : false;
[1798] Fix | Delete
ed.render();
[1799] Fix | Delete
ed.on('change', callback);
[1800] Fix | Delete
if (!is_widget) {
[1801] Fix | Delete
ed.on('keyup', callback);
[1802] Fix | Delete
}
[1803] Fix | Delete
}
[1804] Fix | Delete
el.tfOn('change keyup', callback, {passive: true});
[1805] Fix | Delete
},
[1806] Fix | Delete
layout(el, args) {
[1807] Fix | Delete
if (api.isVisual) {
[1808] Fix | Delete
el.tfOn('change', e=>{
[1809] Fix | Delete
let currentTarget=e.currentTarget,
[1810] Fix | Delete
selectedLayout = e.detail.val.toString();
[1811] Fix | Delete
if (selectedLayout.indexOf('grid-') === 0) {
[1812] Fix | Delete
selectedLayout = selectedLayout.replace('grid-', 'grid');
[1813] Fix | Delete
} else if (!isNaN(selectedLayout)) {
[1814] Fix | Delete
selectedLayout = 'grid' + selectedLayout;
[1815] Fix | Delete
}
[1816] Fix | Delete
if (args.classSelector !== undefined && selectedLayout !== 'auto_tiles') {
[1817] Fix | Delete
let id = args.id,
[1818] Fix | Delete
el=api.liveStylingInstance.el,
[1819] Fix | Delete
apllyTo = args.classSelector !== '' ? el.querySelector(args.classSelector) : el.tfClass('module')[0],
[1820] Fix | Delete
prevLayout = ThemifyConstructor.settings[id];
[1821] Fix | Delete
ThemifyConstructor.settings[id] = selectedLayout;
[1822] Fix | Delete
if (apllyTo) {
[1823] Fix | Delete
apllyTo = apllyTo.classList;
[1824] Fix | Delete
if (prevLayout) {
[1825] Fix | Delete
prevLayout = prevLayout.toString();
[1826] Fix | Delete
if (args.prefix) {
[1827] Fix | Delete
prevLayout = args.prefix + prevLayout;
[1828] Fix | Delete
}
[1829] Fix | Delete
if (prevLayout.indexOf('grid-') === 0) {
[1830] Fix | Delete
prevLayout = prevLayout.replace('grid-', 'grid');
[1831] Fix | Delete
} else if (!isNaN(prevLayout)) {
[1832] Fix | Delete
prevLayout = 'grid' + prevLayout;
[1833] Fix | Delete
}
[1834] Fix | Delete
if (prevLayout === 'grid1') {
[1835] Fix | Delete
prevLayout = 'list-post';
[1836] Fix | Delete
} else if (prevLayout === 'default') {
[1837] Fix | Delete
prevLayout = 'tb_default_color';
[1838] Fix | Delete
}
[1839] Fix | Delete
apllyTo.remove(prevLayout);
[1840] Fix | Delete
}
[1841] Fix | Delete
if (selectedLayout) {
[1842] Fix | Delete
if (args.prefix) {
[1843] Fix | Delete
selectedLayout = args.prefix + selectedLayout;
[1844] Fix | Delete
}
[1845] Fix | Delete
if (selectedLayout === 'grid1') {
[1846] Fix | Delete
selectedLayout = 'list-post';
[1847] Fix | Delete
} else if (selectedLayout === 'default') {
[1848] Fix | Delete
selectedLayout = 'tb_default_color';
[1849] Fix | Delete
}
[1850] Fix | Delete
apllyTo.add(selectedLayout);
[1851] Fix | Delete
}
[1852] Fix | Delete
api.Utils.runJs(el, 'module');
[1853] Fix | Delete
} else {
[1854] Fix | Delete
this.preview(currentTarget, selectedLayout, args);
[1855] Fix | Delete
}
[1856] Fix | Delete
[1857] Fix | Delete
} else {
[1858] Fix | Delete
this.preview(currentTarget, selectedLayout, args);
[1859] Fix | Delete
}
[1860] Fix | Delete
}, {passive: true});
[1861] Fix | Delete
}
[1862] Fix | Delete
},
[1863] Fix | Delete
icon(el, args) {
[1864] Fix | Delete
el.tfOn('change', e=> {
[1865] Fix | Delete
const target=e.target,
[1866] Fix | Delete
v = target.value,
[1867] Fix | Delete
prev = target.closest('.tb_field').tfClass('themify_fa_toggle')[0];
[1868] Fix | Delete
if (prev !== undefined) {
[1869] Fix | Delete
prev.firstChild?.remove();
[1870] Fix | Delete
if (v) {
[1871] Fix | Delete
prev.appendChild(api.Helper.getIcon(v));
[1872] Fix | Delete
}
[1873] Fix | Delete
}
[1874] Fix | Delete
this.preview(target, v, args);
[1875] Fix | Delete
}, {passive: true});
[1876] Fix | Delete
},
[1877] Fix | Delete
checkbox(el, args) {
[1878] Fix | Delete
if (api.isVisual) {
[1879] Fix | Delete
el.tfOn('change', e=> {
[1880] Fix | Delete
const current=e.currentTarget,
[1881] Fix | Delete
checked = [],
[1882] Fix | Delete
checkbox = current.closest('.tb_checkbox_wrap').tfClass('tb_checkbox');
[1883] Fix | Delete
for (let i = 0; i < checkbox.length; ++i) {
[1884] Fix | Delete
if (checkbox[i].checked) {
[1885] Fix | Delete
checked.push(checkbox[i].value);
[1886] Fix | Delete
}
[1887] Fix | Delete
}
[1888] Fix | Delete
this.preview(current, checked.join('|'), args);
[1889] Fix | Delete
}, {passive: true});
[1890] Fix | Delete
}
[1891] Fix | Delete
},
[1892] Fix | Delete
color(el, args) {
[1893] Fix | Delete
if (api.isVisual) {
[1894] Fix | Delete
el.tfOn('themify_builder_color_picker_change', e=>{
[1895] Fix | Delete
this.preview(e.currentTarget, e.detail.val, args);
[1896] Fix | Delete
}, {passive: true});
[1897] Fix | Delete
}
[1898] Fix | Delete
},
[1899] Fix | Delete
widget_select(el, args) {
[1900] Fix | Delete
this.preview(el, api.Forms.serializeObject(el), args);
[1901] Fix | Delete
},
[1902] Fix | Delete
queryPosts(el, args) {
[1903] Fix | Delete
if (api.isVisual) {
[1904] Fix | Delete
el.tfOn('queryPosts', e=> {
[1905] Fix | Delete
const current=e.currentTarget;
[1906] Fix | Delete
args.id = current.id;
[1907] Fix | Delete
ThemifyConstructor.settings = api.Forms.serialize('tb_options_setting');
[1908] Fix | Delete
this.preview(current, ThemifyConstructor.settings[args.id], args);
[1909] Fix | Delete
}, {passive: true});
[1910] Fix | Delete
}
[1911] Fix | Delete
},
[1912] Fix | Delete
builderEdit(el,args){
[1913] Fix | Delete
el.tfOn(_CLICK_, e=> {
[1914] Fix | Delete
e.stopPropagation();
[1915] Fix | Delete
api.activeModel?.builderContentEdit(e.currentTarget);
[1916] Fix | Delete
},{passive:true});
[1917] Fix | Delete
}
[1918] Fix | Delete
},
[1919] Fix | Delete
_initControl(el, data) {
[1920] Fix | Delete
if (api.activeModel !== null) {
[1921] Fix | Delete
if (this.clicked === 'setting' && data.type !== 'custom_css') {
[1922] Fix | Delete
if (data.control !== false && this.component === 'module') {
[1923] Fix | Delete
const args = data.control || {};
[1924] Fix | Delete
let type = data.type;
[1925] Fix | Delete
if (args.repeat === true) {
[1926] Fix | Delete
args.id = el.dataset.inputId;
[1927] Fix | Delete
} else {
[1928] Fix | Delete
if (this.is_repeat === true) {
[1929] Fix | Delete
args.repeat = true;
[1930] Fix | Delete
args.id = el.dataset.inputId;
[1931] Fix | Delete
} else {
[1932] Fix | Delete
args.id = data.id;
[1933] Fix | Delete
}
[1934] Fix | Delete
}
[1935] Fix | Delete
[1936] Fix | Delete
if (args.control_type === undefined) {
[1937] Fix | Delete
if (type === undefined || type === 'text' || type === 'number' || type === 'taxonomy' || type === 'url' || type === 'autocomplete' || type === 'range' || type === 'radio' || type === 'icon_radio' || type === 'select' || type === 'gallery' || type === 'textarea' || type === 'address' || type === 'image' || type === 'file' || type === 'lottie' || type === 'date' || type === 'audio' || type === 'video' || type === 'widgetized_select' || type === 'layoutPart' || type === 'selectSearch' || type === 'hidden' || type === 'toggle_switch' || type === 'slider_range' || type === 'orderby_post') {
[1938] Fix | Delete
if (args.event === undefined && (type === 'text' || type === 'textarea')) {
[1939] Fix | Delete
args.event = 'keyup';
[1940] Fix | Delete
}
[1941] Fix | Delete
type = 'change';
[1942] Fix | Delete
}
[1943] Fix | Delete
} else {
[1944] Fix | Delete
type = args.control_type;
[1945] Fix | Delete
}
[1946] Fix | Delete
this.control.init(el, type, args);
[1947] Fix | Delete
}
[1948] Fix | Delete
} else if (api.isVisual && this.clicked === 'styling') {
[1949] Fix | Delete
api.liveStylingInstance.bindEvents(el, data);
[1950] Fix | Delete
}
[1951] Fix | Delete
if (data.binding !== undefined) {
[1952] Fix | Delete
const is_repeat = this.is_repeat === true,
[1953] Fix | Delete
callback = (_this, v) => {
[1954] Fix | Delete
const context = is_repeat ? el.closest('.tb_sort_field_dropdown,.tb_toggleable_fields_options,.tb_repeatable_field_content') : undefined;
[1955] Fix | Delete
this._binding(_this, data, v, context);
[1956] Fix | Delete
};
[1957] Fix | Delete
if (data.type === 'layout' || data.type === 'frame') {
[1958] Fix | Delete
el.tfOn(_CLICK_, function (e) {
[1959] Fix | Delete
const t = e.target.closest('.tfl-icon');
[1960] Fix | Delete
if (t !== null) {
[1961] Fix | Delete
callback(this, t.id);
[1962] Fix | Delete
}
[1963] Fix | Delete
}, {passive: true});
[1964] Fix | Delete
} else {
[1965] Fix | Delete
el.tfOn('change', function () {
[1966] Fix | Delete
callback(this, this.value);
[1967] Fix | Delete
}, {passive: true});
[1968] Fix | Delete
}
[1969] Fix | Delete
this._bindings.push({el: el, data: data, repeat: is_repeat});
[1970] Fix | Delete
}
[1971] Fix | Delete
}
[1972] Fix | Delete
return el;
[1973] Fix | Delete
},
[1974] Fix | Delete
callbacks() {
[1975] Fix | Delete
const _this=this,
[1976] Fix | Delete
{_bindings,_radioChange,afterRun}=_this;
[1977] Fix | Delete
if (afterRun !== null) {
[1978] Fix | Delete
for (let i = 0; i < afterRun.length; ++i) {
[1979] Fix | Delete
afterRun[i].call();
[1980] Fix | Delete
}
[1981] Fix | Delete
_this.afterRun = [];
[1982] Fix | Delete
}
[1983] Fix | Delete
if (_radioChange !== null) {
[1984] Fix | Delete
for (let i = 0; i < _radioChange.length; ++i) {
[1985] Fix | Delete
_radioChange[i].call();
[1986] Fix | Delete
}
[1987] Fix | Delete
_this._radioChange = [];
[1988] Fix | Delete
}
[1989] Fix | Delete
if (_bindings !== null) {
[1990] Fix | Delete
for (let i = _bindings.length - 1; i > -1; --i) {
[1991] Fix | Delete
if (_bindings[i].data !== undefined) {
[1992] Fix | Delete
let el = _bindings[i].el,
[1993] Fix | Delete
context = _bindings[i].repeat === true ? el.closest('.tb_sort_field_dropdown,.tb_toggleable_fields_options,.tb_repeatable_field_content') : undefined,
[1994] Fix | Delete
v = _bindings[i].data.type === 'layout' || _bindings[i].data.type === 'frame' ? el.tfClass('selected')[0].id : el.value;
[1995] Fix | Delete
_this._binding(el, _bindings[i].data, v, context);
[1996] Fix | Delete
}
[1997] Fix | Delete
}
[1998] Fix | Delete
_this._bindings = [];
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function