@servicetitan/dte-unlayer 0.115.0 → 0.117.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,18 @@ 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
+
118
+ useEffect(() => {
119
+ store.setOnCalcFieldSelect(props.opts.onCalcFieldSelect);
120
+
121
+ return () => store.setOnCalcFieldSelect();
122
+ }, [props.opts.onCalcFieldSelect, store]);
123
+
112
124
  const { minHeight = 800, style = {} } = props;
113
125
 
114
126
  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,8 @@ 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;
54
+ private onCalcFieldSelectCB?: (fieldKeys: string[]) => void;
53
55
 
54
56
  constructor(readonly props: CreateUnlayerEditorProps) {
55
57
  this.props.eSignFieldTypes = ['Signature', 'Initials', 'Date Signed', 'Full Name'];
@@ -66,9 +68,15 @@ export class UnlayerStore {
66
68
  cb(data);
67
69
  });
68
70
  },
71
+ sendFormList: forms => {
72
+ this.sendFormList(forms);
73
+ },
69
74
  sendFormFields: (formId, fields) => {
70
75
  this.sendFormFields(formId, fields);
71
76
  },
77
+ sendCalcFieldLabels: labels => {
78
+ this.sendCalcFieldLabels(labels);
79
+ },
72
80
  };
73
81
  }
74
82
 
@@ -148,10 +156,26 @@ export class UnlayerStore {
148
156
  this.onFormSelectCB = onFormSelect;
149
157
  };
150
158
 
159
+ setOnCalcFieldOpen = (onCalcFieldOpen?: UnlayerStore['onCalcFieldOpenCB']) => {
160
+ this.onCalcFieldOpenCB = onCalcFieldOpen;
161
+ };
162
+
163
+ setOnCalcFieldSelect = (onCalcFieldSelect?: UnlayerStore['onCalcFieldSelectCB']) => {
164
+ this.onCalcFieldSelectCB = onCalcFieldSelect;
165
+ };
166
+
167
+ sendFormList = (forms: FormInfo[]) => {
168
+ this.sendMessage('--form-list', { forms });
169
+ };
170
+
151
171
  sendFormFields = (formId: number, fields: FormFieldInfo[]) => {
152
172
  this.sendMessage('--form-fields', { formId, fields });
153
173
  };
154
174
 
175
+ sendCalcFieldLabels = (labels: Record<string, string>) => {
176
+ this.sendMessage('--calc-field-labels', { labels });
177
+ };
178
+
155
179
  private onDesignLoaded = () => {
156
180
  if (!this.hasDesign) {
157
181
  this.hasDesign = true;
@@ -221,12 +245,19 @@ export class UnlayerStore {
221
245
  genericConfigMode: this.props.genericConfigMode,
222
246
  isSnapshotMode: this.props.isSnapshotMode,
223
247
  holidays: this.props.holidays,
224
- forms: this.props.forms,
225
248
  };
226
249
 
227
250
  this.sendMessage('--config', JSON.parse(JSON.stringify(configData)));
228
251
  } else if (type === '--form-select') {
229
252
  this.onFormSelectCB?.(data?.formId);
253
+ } else if (type === '--calc-field-open') {
254
+ this.onCalcFieldOpenCB?.(data?.usedFormIds ?? []);
255
+ } else if (type === '--calc-field-select') {
256
+ if (this.onCalcFieldSelectCB) {
257
+ this.onCalcFieldSelectCB(data?.fieldKeys ?? []);
258
+ } else {
259
+ this.sendCalcFieldLabels({});
260
+ }
230
261
  } else if (type === '--data-loaded') {
231
262
  const data: UnlayerEventRegister = {
232
263
  customTools: this.props.tools.map(tool => ({ key: tool.key })),
@@ -41,7 +41,9 @@ 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;
46
+ sendCalcFieldLabels(labels: Record<string, string>): void;
45
47
  }
46
48
 
47
49
  export interface UnlayerEditorMergeTagInfo {
@@ -88,6 +90,7 @@ export interface CreateUnlayerEditorProps {
88
90
  maxFileSize?: number;
89
91
  };
90
92
  holidays?: string[];
91
- forms?: FormInfo[];
92
93
  onFormSelect?: (formId: number) => void;
94
+ onCalcFieldOpen?: (usedFormIds: number[]) => void;
95
+ onCalcFieldSelect?: (fieldKeys: string[]) => void;
93
96
  }