@servicetitan/dte-unlayer 0.115.0 → 0.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/editor.tsx CHANGED
@@ -109,6 +109,12 @@ export const UnlayerEditor = forwardRef<UnlayerRef, UnlayerEditorProps>((props,
109
109
  return () => store.setOnFormSelect();
110
110
  }, [props.opts.onFormSelect, store]);
111
111
 
112
+ useEffect(() => {
113
+ store.setOnCalcFieldOpen(props.opts.onCalcFieldOpen);
114
+
115
+ return () => store.setOnCalcFieldOpen();
116
+ }, [props.opts.onCalcFieldOpen, store]);
117
+
112
118
  const { minHeight = 800, style = {} } = props;
113
119
 
114
120
  return (
@@ -1,4 +1,3 @@
1
- import { FormInfo } from './forms';
2
1
  import { SchemaObject } from './schema';
3
2
 
4
3
  export const constGenericsEditor = {
@@ -34,7 +33,6 @@ export interface UnlayerEventConfig {
34
33
  isSnapshotMode?: boolean;
35
34
  units?: UnlayerEditorUnit[];
36
35
  holidays?: string[];
37
- forms?: FormInfo[];
38
36
  }
39
37
 
40
38
  export interface UnlayerEventRegister {
package/src/store.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { loadScript } from './loadScript';
2
2
  import { defaultImageValidation } from './shared/configs';
3
3
  import { UnlayerEditorTwin, UnlayerEventConfig, UnlayerEventRegister } from './shared/const';
4
- import { FormFieldInfo } from './shared/forms';
4
+ import { FormFieldInfo, FormInfo } from './shared/forms';
5
5
  import { unlayerToolsParseTwinKey } from './shared/tools';
6
6
  import { unlayerToolsIterate } from './tools';
7
7
  import {
@@ -50,6 +50,7 @@ export class UnlayerStore {
50
50
  private onImageCB?: (file: File) => Promise<{ url: string }>;
51
51
  private onErrorCB?: (title: string, description?: string) => void;
52
52
  private onFormSelectCB?: (formId: number) => void;
53
+ private onCalcFieldOpenCB?: (usedFormIds: number[]) => void;
53
54
 
54
55
  constructor(readonly props: CreateUnlayerEditorProps) {
55
56
  this.props.eSignFieldTypes = ['Signature', 'Initials', 'Date Signed', 'Full Name'];
@@ -66,6 +67,9 @@ export class UnlayerStore {
66
67
  cb(data);
67
68
  });
68
69
  },
70
+ sendFormList: forms => {
71
+ this.sendFormList(forms);
72
+ },
69
73
  sendFormFields: (formId, fields) => {
70
74
  this.sendFormFields(formId, fields);
71
75
  },
@@ -148,6 +152,14 @@ export class UnlayerStore {
148
152
  this.onFormSelectCB = onFormSelect;
149
153
  };
150
154
 
155
+ setOnCalcFieldOpen = (onCalcFieldOpen?: UnlayerStore['onCalcFieldOpenCB']) => {
156
+ this.onCalcFieldOpenCB = onCalcFieldOpen;
157
+ };
158
+
159
+ sendFormList = (forms: FormInfo[]) => {
160
+ this.sendMessage('--form-list', { forms });
161
+ };
162
+
151
163
  sendFormFields = (formId: number, fields: FormFieldInfo[]) => {
152
164
  this.sendMessage('--form-fields', { formId, fields });
153
165
  };
@@ -221,12 +233,13 @@ export class UnlayerStore {
221
233
  genericConfigMode: this.props.genericConfigMode,
222
234
  isSnapshotMode: this.props.isSnapshotMode,
223
235
  holidays: this.props.holidays,
224
- forms: this.props.forms,
225
236
  };
226
237
 
227
238
  this.sendMessage('--config', JSON.parse(JSON.stringify(configData)));
228
239
  } else if (type === '--form-select') {
229
240
  this.onFormSelectCB?.(data?.formId);
241
+ } else if (type === '--calc-field-open') {
242
+ this.onCalcFieldOpenCB?.(data?.usedFormIds ?? []);
230
243
  } else if (type === '--data-loaded') {
231
244
  const data: UnlayerEventRegister = {
232
245
  customTools: this.props.tools.map(tool => ({ key: tool.key })),
@@ -41,6 +41,7 @@ export interface UnlayerRef {
41
41
  loadDesign(design: any): void;
42
42
  saveDesign(cb: (design: any) => void): void;
43
43
  exportHtml(cb: (data: UnlayerExport) => void): void;
44
+ sendFormList(forms: FormInfo[]): void;
44
45
  sendFormFields(formId: number, fields: FormFieldInfo[]): void;
45
46
  }
46
47
 
@@ -88,6 +89,6 @@ export interface CreateUnlayerEditorProps {
88
89
  maxFileSize?: number;
89
90
  };
90
91
  holidays?: string[];
91
- forms?: FormInfo[];
92
92
  onFormSelect?: (formId: number) => void;
93
+ onCalcFieldOpen?: (usedFormIds: number[]) => void;
93
94
  }