jQuery(window).on('elementor/frontend/init', () => {
const $ = jQuery;
function removeSpaces(string) {
return String(string).replace(/ /g, '__');
}
if (typeof elementor === 'undefined') {
return;
}
elementor.hooks.addAction('panel/open_editor/widget', function (panel, model, view) {
var $tabsDataContentItemsTabSelect = panel.$el.find('.tabs_data_content_items');
if (
!model ||
!model.attributes ||
!model.attributes.widgetType ||
model.attributes.widgetType !== 'bb-dls-tabs-with-cards'
) {
$tabsDataContentItemsTabSelect.unbind('focus');
return;
}
// atualiza os valores iniciais
if (
model &&
model.attributes &&
model.attributes.settings &&
model.attributes.settings._previousAttributes
) {
// console.log(model.attributes.settings._previousAttributes);
const valoresIniciaisItems =
model.attributes.settings._previousAttributes.dataContentItems || [];
const tabsArrInicial = model.attributes.settings.attributes.dataContent.models;
$tabsDataContentItemsTabSelect.find('.elementor-repeater-fields').each(function () {
const valorAnterior = valoresIniciaisItems.find(
(vB) =>
vB.title === $(this).find('.elementor-repeater-row-item-title').text()
);
const currentVal = valorAnterior ? valorAnterior.tabName : '';
let html = '';
tabsArrInicial.forEach(function (tabModel) {
const title = tabModel.attributes.label;
const value = tabModel.attributes._id;
const selected =
currentVal === value ? 'selected="selected"' : '';
html +=
'';
});
$(this).find('.tab_select select').html(html);
});
}
$tabsDataContentItemsTabSelect.unbind('focus');
$tabsDataContentItemsTabSelect.on('focus', '.tab_select select', function () {
const tabsArr = model.attributes.settings.attributes.dataContent.models;
const currentVal = $(this).val();
let html = '';
tabsArr.forEach(function (tabModel) {
const title = tabModel.attributes.label;
const value = tabModel.attributes._id;
const selected = currentVal === value ? 'selected="selected"' : '';
html +=
'';
});
$(this).html(html);
});
});
});