@@ -48,6 +48,7 @@ interface selectedEmailTemplateDataTypes {
4848 [ EmailTemplateInputDataFields . SUBJECT ] : string ;
4949 [ EmailTemplateInputDataFields . CREATED_AT ] : number ;
5050 [ EmailTemplateInputDataFields . TEMPLATE ] : string ;
51+ [ EmailTemplateInputDataFields . DESIGN ] : string ;
5152}
5253
5354interface UpdateEmailTemplateInputPropTypes {
@@ -102,20 +103,17 @@ const UpdateEmailTemplate = ({
102103 const [ isDynamicVariableInfoOpen , setIsDynamicVariableInfoOpen ] =
103104 useState < boolean > ( false ) ;
104105
105- const onLoad = ( ) => {
106- // editor instance is created
107- // you can load your template here;
108- // const templateJson = {};
109- // emailEditorRef.current.editor.loadDesign(templateJson);
110- console . log ( 'onLoad' ) ;
111- } ;
112-
113106 const onReady = ( ) => {
114- // editor is ready
115- console . log ( 'onReady' ) ;
116107 if ( selectedTemplate ) {
117- const { template } = selectedTemplate ;
118- console . log ( 'incoming template ==>> ' , template ) ;
108+ const { design } = selectedTemplate ;
109+ try {
110+ const designData = JSON . parse ( design ) ;
111+ // @ts -ignore
112+ emailEditorRef . current . editor . loadDesign ( designData ) ;
113+ } catch ( error ) {
114+ console . error ( error ) ;
115+ onClose ( ) ;
116+ }
119117 }
120118 } ;
121119
@@ -132,7 +130,6 @@ const UpdateEmailTemplate = ({
132130 const validateData = ( ) => {
133131 return (
134132 ! loading &&
135- emailEditorRef ?. current &&
136133 templateData [ EmailTemplateInputDataFields . EVENT_NAME ] . length > 0 &&
137134 templateData [ EmailTemplateInputDataFields . SUBJECT ] . length > 0 &&
138135 validator [ EmailTemplateInputDataFields . SUBJECT ]
@@ -145,7 +142,6 @@ const UpdateEmailTemplate = ({
145142 // @ts -ignore
146143 return await emailEditorRef . current . editor . exportHtml ( async ( data ) => {
147144 const { design, html } = data ;
148- console . log ( 'design ==>> ' , design ) ;
149145 if ( ! html || ! design ) {
150146 setLoading ( false ) ;
151147 return ;
@@ -156,6 +152,7 @@ const UpdateEmailTemplate = ({
156152 [ EmailTemplateInputDataFields . SUBJECT ] :
157153 templateData [ EmailTemplateInputDataFields . SUBJECT ] ,
158154 [ EmailTemplateInputDataFields . TEMPLATE ] : html . trim ( ) ,
155+ [ EmailTemplateInputDataFields . DESIGN ] : JSON . stringify ( design ) ,
159156 } ;
160157 let res : any = { } ;
161158 if (
@@ -217,7 +214,7 @@ const UpdateEmailTemplate = ({
217214 selectedTemplate &&
218215 Object . keys ( selectedTemplate || { } ) . length
219216 ) {
220- const { id, created_at, template, ...rest } = selectedTemplate ;
217+ const { id, created_at, template, design , ...rest } = selectedTemplate ;
221218 setTemplateData ( rest ) ;
222219 }
223220 } , [ isOpen ] ) ;
@@ -419,11 +416,7 @@ const UpdateEmailTemplate = ({
419416 >
420417 Template Body
421418 </ Flex >
422- < EmailEditor
423- ref = { emailEditorRef }
424- onLoad = { onLoad }
425- onReady = { onReady }
426- />
419+ < EmailEditor ref = { emailEditorRef } onReady = { onReady } />
427420 </ Flex >
428421 </ ModalBody >
429422 < ModalFooter >
0 commit comments