Fix 1523
This commit is contained in:
		
							
								
								
									
										7
									
								
								Elecciones-Web/frontend/public/bootstrap.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								Elecciones-Web/frontend/public/bootstrap.js
									
									
									
									
										vendored
									
									
								
							| @@ -63,8 +63,15 @@ | |||||||
|       } |       } | ||||||
|  |  | ||||||
|       // 5. Una vez cargado, llamar a la función de renderizado |       // 5. Una vez cargado, llamar a la función de renderizado | ||||||
|  |       // 5. Una vez cargado, llamar a la función de renderizado | ||||||
|  |       console.log('Bootstrap: JS principal cargado. Buscando EleccionesWidgets.render...'); | ||||||
|  |        | ||||||
|       if (window.EleccionesWidgets && typeof window.EleccionesWidgets.render === 'function') { |       if (window.EleccionesWidgets && typeof window.EleccionesWidgets.render === 'function') { | ||||||
|  |         console.log('Bootstrap: La función render() FUE ENCONTRADA. Se procederá a llamarla.'); | ||||||
|         window.EleccionesWidgets.render(); |         window.EleccionesWidgets.render(); | ||||||
|  |       } else { | ||||||
|  |         console.error('Bootstrap: ERROR CRÍTICO - La función render() NO SE ENCONTRÓ en window.EleccionesWidgets.'); | ||||||
|  |         console.log('Bootstrap: Contenido de window.EleccionesWidgets:', window.EleccionesWidgets); | ||||||
|       } |       } | ||||||
|  |  | ||||||
|     } catch (error) { |     } catch (error) { | ||||||
|   | |||||||
| @@ -60,14 +60,24 @@ if (import.meta.env.DEV) { | |||||||
|     // --- MODO PRODUCCIÓN --- |     // --- MODO PRODUCCIÓN --- | ||||||
|     // Exponemos la función de renderizado para el bootstrap.js |     // Exponemos la función de renderizado para el bootstrap.js | ||||||
|     const renderWidgets = () => { |     const renderWidgets = () => { | ||||||
|         console.log('React: Se ha ejecutado renderWidgets.'); |         console.log('%cReact: La función renderWidgets() ha sido EJECUTADA.', 'color: green; font-weight: bold;'); | ||||||
|  |          | ||||||
|         const widgetContainers = document.querySelectorAll('[data-elecciones-widget]'); |         const widgetContainers = document.querySelectorAll('[data-elecciones-widget]'); | ||||||
|         console.log(`React: Se encontraron ${widgetContainers.length} contenedores de widget.`); |          | ||||||
|  |         console.log(`React: Se encontraron ${widgetContainers.length} contenedores con el atributo [data-elecciones-widget].`); | ||||||
|  |  | ||||||
|  |         if (widgetContainers.length === 0) { | ||||||
|  |             console.warn('React: ADVERTENCIA - No se encontró ningún elemento en el DOM para renderizar un widget. Verifica que el HTML contenga <div data-elecciones-widget="...">.'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         widgetContainers.forEach(container => { |         widgetContainers.forEach(container => { | ||||||
|             const widgetName = (container as HTMLElement).dataset.eleccionesWidget; |             const widgetName = (container as HTMLElement).dataset.eleccionesWidget; | ||||||
|  |             console.log(`React: Procesando contenedor para el widget: "${widgetName}"`); | ||||||
|  |              | ||||||
|             if (widgetName && WIDGET_MAP[widgetName]) { |             if (widgetName && WIDGET_MAP[widgetName]) { | ||||||
|                 const WidgetComponent = WIDGET_MAP[widgetName]; |                 const WidgetComponent = WIDGET_MAP[widgetName]; | ||||||
|                 const root = ReactDOM.createRoot(container); |                 const root = ReactDOM.createRoot(container); | ||||||
|  |                 console.log(`React: Renderizando el widget "${widgetName}" en el contenedor.`); | ||||||
|                 root.render( |                 root.render( | ||||||
|                     <React.StrictMode> |                     <React.StrictMode> | ||||||
|                         <QueryClientProvider client={queryClient}> |                         <QueryClientProvider client={queryClient}> | ||||||
| @@ -75,6 +85,8 @@ if (import.meta.env.DEV) { | |||||||
|                         </QueryClientProvider> |                         </QueryClientProvider> | ||||||
|                     </React.StrictMode> |                     </React.StrictMode> | ||||||
|                 ); |                 ); | ||||||
|  |             } else { | ||||||
|  |                  console.error(`React: ERROR - No se encontró un componente para el nombre de widget: "${widgetName}"`); | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|     }; |     }; | ||||||
| @@ -82,4 +94,5 @@ if (import.meta.env.DEV) { | |||||||
|     (window as any).EleccionesWidgets = { |     (window as any).EleccionesWidgets = { | ||||||
|         render: renderWidgets |         render: renderWidgets | ||||||
|     }; |     }; | ||||||
|  |     console.log('React: El objeto EleccionesWidgets ha sido asignado a window.'); | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user