diff --git a/packages/noodl-editor/src/editor/src/models/ElementConfigs/index.ts b/packages/noodl-editor/src/editor/src/models/ElementConfigs/index.ts index 21557b8..27a5c9d 100644 --- a/packages/noodl-editor/src/editor/src/models/ElementConfigs/index.ts +++ b/packages/noodl-editor/src/editor/src/models/ElementConfigs/index.ts @@ -14,5 +14,24 @@ export * from './ElementConfigTypes'; // Export registry export { ElementConfigRegistry, registry } from './ElementConfigRegistry'; -// Configs will be exported once implemented -// export * from './configs'; +// Export configs +export * from './configs'; + +/** + * Initialize Element Configs + * + * Registers all built-in element configurations. + * Should be called once at application startup. + */ +export function initElementConfigs(): void { + // Import configs and register them + import('./configs').then(({ ButtonConfig, TextConfig }) => { + // Import registry from local module + import('./ElementConfigRegistry').then(({ ElementConfigRegistry }) => { + ElementConfigRegistry.instance.register(ButtonConfig); + ElementConfigRegistry.instance.register(TextConfig); + + console.log('[ElementConfigs] Initialized with', ElementConfigRegistry.instance.getCount(), 'configs'); + }); + }); +} diff --git a/packages/noodl-editor/src/editor/src/router.tsx b/packages/noodl-editor/src/editor/src/router.tsx index bb46079..226f898 100644 --- a/packages/noodl-editor/src/editor/src/router.tsx +++ b/packages/noodl-editor/src/editor/src/router.tsx @@ -10,6 +10,7 @@ import './utils/editorapi'; import { platform } from '@noodl/platform'; import { AiAssistantModel } from '@noodl-models/AiAssistant'; +import { initElementConfigs } from '@noodl-models/ElementConfigs'; import { ProjectModel } from '@noodl-models/projectmodel'; import { AppRoute } from './pages/AppRoute'; @@ -108,6 +109,9 @@ export default class Router // Initialise models LessonTemplatesModel.instance.fetch(); + // Initialize element configs (Button, Text, etc.) + initElementConfigs(); + EventDispatcher.instance.on( 'viewer-refresh', () => {