Skip to content

Commit b7060e8

Browse files
committed
Refactor header and footer component rendering to regenerate elements instead of copying HTML. This improves maintainability and ensures the latest elements are displayed.
1 parent 95e4f54 commit b7060e8

File tree

1 file changed

+45
-10
lines changed

1 file changed

+45
-10
lines changed

assets/js/src/admin/botiga-bhfb.js

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@
440440
mobileElementsWrapper.html( '' );
441441

442442
let cprefix = 'hb';
443-
if( _this.currentBuilderType && _this.currentBuilderType === 'footer' ) {
443+
if( _this.currentBuilderType === 'footer' ) {
444444
cprefix = 'fb';
445445
}
446446

@@ -495,20 +495,55 @@
495495

496496
if( _this.currentBuilderType === 'header' ) {
497497

498-
// Header Desktop Components.
499-
$( '.botiga-header-builder-available-components' ).html( '' );
500-
$( '.botiga-header-builder-available-components' ).html( $( '.botiga-bhfb-header .botiga-bhfb-elements-desktop' ).html() );
498+
// Header Desktop Components - regenerate instead of copying
499+
const headerElements = _this.getElementsUnused();
500+
let headerDesktopHTML = '';
501+
502+
if( headerElements.desktop.length ) {
503+
for( const element of headerElements.desktop ) {
504+
headerDesktopHTML += '<div class="botiga-bhfb-element botiga-bhfb-element-desktop">' +
505+
'<a href="#" class="bhfb-button" data-bhfb-id="'+ element.id +'" data-bhfb-focus-section="botiga_section_hb_component__'+ element.id +'">'+ element.label +'</a>' +
506+
'</div>';
507+
}
508+
} else {
509+
headerDesktopHTML = '<p class="bhfb-elements-message">'+ botiga_hfb.i18n.elementsMessage +'</p>';
510+
}
511+
512+
$( '.botiga-header-builder-available-components' ).html( headerDesktopHTML );
501513

502-
// Header Mobile Components.
503-
$( '.botiga-header-builder-available-mobile-components' ).html( '' );
504-
$( '.botiga-header-builder-available-mobile-components' ).html( $( '.botiga-bhfb-header .botiga-bhfb-elements-mobile' ).html() );
514+
// Header Mobile Components - regenerate instead of copying
515+
let headerMobileHTML = '';
516+
517+
if( headerElements.mobile.length ) {
518+
for( const element of headerElements.mobile ) {
519+
headerMobileHTML += '<div class="botiga-bhfb-element botiga-bhfb-element-mobile">' +
520+
'<a href="#" class="bhfb-button" data-bhfb-id="'+ element.id +'" data-bhfb-focus-section="botiga_section_hb_component__'+ element.id +'">'+ element.label +'</a>' +
521+
'</div>';
522+
}
523+
} else {
524+
headerMobileHTML = '<p class="bhfb-elements-message">'+ botiga_hfb.i18n.elementsMessage +'</p>';
525+
}
526+
527+
$( '.botiga-header-builder-available-mobile-components' ).html( headerMobileHTML );
505528
}
506529

507530
if( _this.currentBuilderType === 'footer' ) {
508531

509-
// Footer Components.
510-
$( '.botiga-footer-builder-available-footer-components' ).html( '' );
511-
$( '.botiga-footer-builder-available-footer-components' ).html( $( '.botiga-bhfb-footer .botiga-bhfb-elements-desktop' ).html() );
532+
// Footer Components - regenerate instead of copying
533+
const footerElements = _this.getElementsUnused();
534+
let footerHTML = '';
535+
536+
if( footerElements.desktop.length ) {
537+
for( const element of footerElements.desktop ) {
538+
footerHTML += '<div class="botiga-bhfb-element botiga-bhfb-element-desktop">' +
539+
'<a href="#" class="bhfb-button" data-bhfb-id="'+ element.id +'" data-bhfb-focus-section="botiga_section_fb_component__'+ element.id +'">'+ element.label +'</a>' +
540+
'</div>';
541+
}
542+
} else {
543+
footerHTML = '<p class="bhfb-elements-message">'+ botiga_hfb.i18n.elementsMessage +'</p>';
544+
}
545+
546+
$( '.botiga-footer-builder-available-footer-components' ).html( footerHTML );
512547

513548
}
514549
},

0 commit comments

Comments
 (0)