MCPcopy Create free account
hub / github.com/FastLED/FastLED / showHelpPopup

Function showHelpPopup

src/platforms/wasm/compiler/modules/ui/ui_manager.ts:709–757  ·  view source on GitHub ↗
(htmlContent)

Source from the content-addressed store, hash-verified

707}
708
709function showHelpPopup(htmlContent) {
710 // Remove any existing popup
711 const existingPopup = document.querySelector('.ui-help-popup');
712 if (existingPopup) {
713 existingPopup.remove();
714 }
715
716 // Create popup
717 const popup = document.createElement('div');
718 popup.className = 'ui-help-popup';
719
720 const popupContent = document.createElement('div');
721 popupContent.className = 'ui-help-popup-content';
722
723 const closeButton = document.createElement('button');
724 closeButton.className = 'ui-help-popup-close';
725 closeButton.innerHTML = '×';
726 closeButton.setAttribute('aria-label', 'Close help');
727
728 const contentDiv = document.createElement('div');
729 contentDiv.innerHTML = htmlContent;
730
731 popupContent.appendChild(closeButton);
732 popupContent.appendChild(contentDiv);
733 popup.appendChild(popupContent);
734
735 // Add event listeners
736 closeButton.addEventListener('click', () => {
737 popup.remove();
738 });
739
740 popup.addEventListener('click', (e) => {
741 if (e.target === popup) {
742 popup.remove();
743 }
744 });
745
746 // Handle escape key
747 const handleEscape = (e) => {
748 if (e.key === 'Escape') {
749 popup.remove();
750 document.removeEventListener('keydown', handleEscape);
751 }
752 };
753 document.addEventListener('keydown', handleEscape);
754
755 // Add to DOM
756 document.body.appendChild(popup);
757}
758
759function showTooltip(button, tooltip) {
760 // Get button position relative to viewport

Callers 1

createHelpFunction · 0.85

Calls 2

removeMethod · 0.45
addEventListenerMethod · 0.45

Tested by

no test coverage detected