.carousel-indicators {
left: auto;
right: 0;
bottom: 0;
margin: 0;
background: #036bb8;
border-radius: 8px 0 0 0;
color: white;
visibility: hidden;
opacity: 0;
transition: visibility 0s, opacity 0.5s linear;
}
#carousel:hover .carousel-indicators {
visibility: visible;
opacity: 1;
}
.carousel-indicators li {
background-color: transparent;
text-indent: unset;
text-align: center;
height: auto;
color: rgba(255, 255, 255, 0.5);
cursor: pointer;
}
.carousel-indicators .active {
background-color: transparent;
color: rgba(255, 255, 255, 1);
}
.carousel-inner {
overflow: hidden;
}
/* Estilo para indicar banners inativos (para debug/admin) */
.carousel-item[data-banner-active=”false”] {
display: none !important;
}
/* Oculta o carousel inteiro se não houver banners ativos */
.carousel-empty {
display: none;
}
document.addEventListener(‘DOMContentLoaded’, function() {
const indicators = document.querySelectorAll(‘#carousel .carousel-indicators li’);
indicators.forEach((indicator, index) => {
indicator.setAttribute(‘data-slide-to’, index);
});
});
document.addEventListener(‘DOMContentLoaded’, function() {
// Aguarda um tempo para garantir que tudo foi carregado
setTimeout(function() {
console.log(‘=== DEBUG TEMPLATE CAROUSEL ===’);
// Verificar se existem campos repetíveis
var repeatableFields = document.querySelectorAll(‘.lfr-forms__form-view-field-repeatable-dnd’);
console.log(‘Campos repetíveis encontrados:’, repeatableFields.length);
repeatableFields.forEach(function(field, index) {
console.log(‘Campo ‘ + index + ‘:’);
console.log(‘- Element:’, field);
console.log(‘- Data-field-name:’, field.getAttribute(‘data-field-name’) || ‘Nenhum’);
console.log(‘- Toolbar:’, field.querySelector(‘.lfr-ddm-form-field-repeatable-toolbar’));
// Verificar elementos internos
var nameFields = field.querySelectorAll(‘[name]’);
console.log(‘- Campos com name:’, nameFields.length);
nameFields.forEach(function(nameField) {
console.log(‘ * name:’, nameField.getAttribute(‘name’));
});
});
// Verificar fieldsets
var fieldsets = document.querySelectorAll(‘.ddm-field[data-field-name]’);
console.log(‘Fieldsets encontrados:’, fieldsets.length);
fieldsets.forEach(function(fieldset, index) {
console.log(‘Fieldset ‘ + index + ‘:’);
console.log(‘- Data-field-name:’, fieldset.getAttribute(‘data-field-name’));
console.log(‘- É fieldset repetível?’, fieldset.querySelector(‘.lfr-ddm-form-field-repeatable-toolbar’) ? ‘SIM’ : ‘NÃO’);
console.log(‘- Tem campos filhos?’, fieldset.querySelectorAll(‘.lfr-forms__form-view-field-repeatable-dnd’).length > 0 ? ‘SIM’ : ‘NÃO’);
});
console.log(‘=== FIM DEBUG ===’);
// Tentar forçar a adição de controles
if (window.LiferayReorderButtons && window.LiferayReorderButtons.addControls) {
console.log(‘Forçando adição de controles…’);
window.LiferayReorderButtons.addControls();
}
}, 2000);
});
// Listener para detectar quando campos são adicionados/removidos
document.addEventListener(‘click’, function(e) {
if (e.target.closest(‘.ddm-form-field-repeatable-add-button’) ||
e.target.closest(‘.ddm-form-field-repeatable-delete-button’)) {
console.log(‘Botão de adicionar/remover clicado, aguardando atualização…’);
setTimeout(function() {
console.log(‘Verificando campos após adição/remoção…’);
var newFields = document.querySelectorAll(‘.lfr-forms__form-view-field-repeatable-dnd’);
console.log(‘Campos após mudança:’, newFields.length);
}, 1000);
}
});
Fonte CSTJ