@@ -56,15 +56,6 @@ interface ConfigDefinition {
5656 widgets : Array < WidgetDefinition > ;
5757}
5858
59- const typeTemplateMap : { [ key : string ] : string } = {
60- text : "text-widget-template" ,
61- title : "title-widget-template" ,
62- image : "image-widget-template" ,
63- slider : "slider-widget-template" ,
64- switch : "switch-widget-template" ,
65- number : "number-widget-template" ,
66- } ;
67-
6859export class ConfigClass {
6960 file : { config ?: ConfigDefinition } ;
7061 widgets : Array < WidgetDefinition > = [ ] ;
@@ -79,13 +70,14 @@ export class ConfigClass {
7970 this . widgets . map ( async ( element , index ) => {
8071 const type = element . type ;
8172
82- if ( ! ( type in typeTemplateMap ) ) {
73+ // Create the thing
74+ const templateId = `${ type } -widget-template` ;
75+ let template = document . getElementById ( templateId ) as HTMLTemplateElement | null ;
76+
77+ if ( ! template ) {
8378 console . error ( "No template found for type" , type ) ;
8479 return ;
8580 }
86-
87- // Create the thing
88- let template = document . getElementById ( typeTemplateMap [ type ] ) as HTMLTemplateElement ;
8981 let clone = template . content . cloneNode ( true ) as DocumentFragment ;
9082
9183 const widgetText = clone . querySelector ( ".widget-text" ) as HTMLElement | null ;
0 commit comments