@servicetitan/dte-pdf-editor 1.41.0 → 1.43.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/README.md +89 -45
- package/dist/components/display-conditions/condition-group.d.ts +8 -3
- package/dist/components/display-conditions/condition-group.d.ts.map +1 -1
- package/dist/components/display-conditions/condition-group.js +7 -2
- package/dist/components/display-conditions/condition-group.js.map +1 -1
- package/dist/components/display-conditions/condition-groups-section.d.ts +8 -3
- package/dist/components/display-conditions/condition-groups-section.d.ts.map +1 -1
- package/dist/components/display-conditions/condition-groups-section.js +2 -2
- package/dist/components/display-conditions/condition-groups-section.js.map +1 -1
- package/dist/components/display-conditions/condition-row.d.ts +8 -3
- package/dist/components/display-conditions/condition-row.d.ts.map +1 -1
- package/dist/components/display-conditions/condition-row.js +154 -22
- package/dist/components/display-conditions/condition-row.js.map +1 -1
- package/dist/components/display-conditions/display-condition-modal.d.ts +6 -2
- package/dist/components/display-conditions/display-condition-modal.d.ts.map +1 -1
- package/dist/components/display-conditions/display-condition-modal.js +7 -7
- package/dist/components/display-conditions/display-condition-modal.js.map +1 -1
- package/dist/components/display-conditions/display-condition.d.ts +1 -1
- package/dist/components/display-conditions/display-condition.d.ts.map +1 -1
- package/dist/components/display-conditions/display-condition.js +2 -2
- package/dist/components/display-conditions/display-condition.js.map +1 -1
- package/dist/components/field-config-panel/field-config-panel-overlay.d.ts +6 -2
- package/dist/components/field-config-panel/field-config-panel-overlay.d.ts.map +1 -1
- package/dist/components/field-config-panel/field-config-panel-overlay.js +2 -2
- package/dist/components/field-config-panel/field-config-panel-overlay.js.map +1 -1
- package/dist/components/field-config-panel/field-config-panel.d.ts +6 -2
- package/dist/components/field-config-panel/field-config-panel.d.ts.map +1 -1
- package/dist/components/field-config-panel/field-config-panel.js +9 -4
- package/dist/components/field-config-panel/field-config-panel.js.map +1 -1
- package/dist/components/field-config-panel/field-sidebar.d.ts +5 -1
- package/dist/components/field-config-panel/field-sidebar.d.ts.map +1 -1
- package/dist/components/field-config-panel/field-sidebar.js +42 -8
- package/dist/components/field-config-panel/field-sidebar.js.map +1 -1
- package/dist/components/field-config-panel/formula-generator.d.ts +5 -1
- package/dist/components/field-config-panel/formula-generator.d.ts.map +1 -1
- package/dist/components/field-config-panel/formula-generator.js +2 -2
- package/dist/components/field-config-panel/formula-generator.js.map +1 -1
- package/dist/components/field-config-panel/formula-modal.d.ts +5 -1
- package/dist/components/field-config-panel/formula-modal.d.ts.map +1 -1
- package/dist/components/field-config-panel/formula-modal.js +38 -8
- package/dist/components/field-config-panel/formula-modal.js.map +1 -1
- package/dist/components/field-sidebar/field-sidebar.d.ts +6 -1
- package/dist/components/field-sidebar/field-sidebar.d.ts.map +1 -1
- package/dist/components/field-sidebar/field-sidebar.js +11 -6
- package/dist/components/field-sidebar/field-sidebar.js.map +1 -1
- package/dist/components/field-sidebar/form-fields-type-list.d.ts +13 -0
- package/dist/components/field-sidebar/form-fields-type-list.d.ts.map +1 -0
- package/dist/components/field-sidebar/form-fields-type-list.js +14 -0
- package/dist/components/field-sidebar/form-fields-type-list.js.map +1 -0
- package/dist/components/pdf-editor/pdf-editor.d.ts +4 -1
- package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -1
- package/dist/components/pdf-editor/pdf-editor.js +6 -5
- package/dist/components/pdf-editor/pdf-editor.js.map +1 -1
- package/dist/components/pdf-fields-overlay/pdf-overlay-field.d.ts.map +1 -1
- package/dist/components/pdf-fields-overlay/pdf-overlay-field.js +1 -1
- package/dist/components/pdf-fields-overlay/pdf-overlay-field.js.map +1 -1
- package/dist/components/pdf-view/pdf-view.d.ts.map +1 -1
- package/dist/components/pdf-view/pdf-view.js +2 -1
- package/dist/components/pdf-view/pdf-view.js.map +1 -1
- package/dist/constants/menu-group.d.ts.map +1 -1
- package/dist/constants/menu-group.js +2 -0
- package/dist/constants/menu-group.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useFormFields.d.ts +13 -0
- package/dist/hooks/useFormFields.d.ts.map +1 -0
- package/dist/hooks/useFormFields.js +121 -0
- package/dist/hooks/useFormFields.js.map +1 -0
- package/dist/hooks/useFormulaEditor.d.ts.map +1 -1
- package/dist/hooks/useFormulaEditor.js +7 -1
- package/dist/hooks/useFormulaEditor.js.map +1 -1
- package/dist/hooks/usePdfFieldDnD.d.ts.map +1 -1
- package/dist/hooks/usePdfFieldDnD.js +4 -0
- package/dist/hooks/usePdfFieldDnD.js.map +1 -1
- package/dist/interface/types.d.ts +35 -3
- package/dist/interface/types.d.ts.map +1 -1
- package/dist/interface/types.js +1 -0
- package/dist/interface/types.js.map +1 -1
- package/dist/utils/formula/expression.utils.d.ts +5 -2
- package/dist/utils/formula/expression.utils.d.ts.map +1 -1
- package/dist/utils/formula/expression.utils.js +8 -6
- package/dist/utils/formula/expression.utils.js.map +1 -1
- package/dist/utils/formula/form-fields.utils.d.ts +21 -0
- package/dist/utils/formula/form-fields.utils.d.ts.map +1 -0
- package/dist/utils/formula/form-fields.utils.js +101 -0
- package/dist/utils/formula/form-fields.utils.js.map +1 -0
- package/dist/utils/formula/index.d.ts +1 -0
- package/dist/utils/formula/index.d.ts.map +1 -1
- package/dist/utils/formula/index.js +1 -0
- package/dist/utils/formula/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/display-conditions/condition-group.tsx +32 -5
- package/src/components/display-conditions/condition-groups-section.tsx +24 -4
- package/src/components/display-conditions/condition-row.tsx +359 -80
- package/src/components/display-conditions/display-condition-modal.tsx +39 -10
- package/src/components/display-conditions/display-condition.tsx +19 -2
- package/src/components/field-config-panel/field-config-panel-overlay.tsx +22 -2
- package/src/components/field-config-panel/field-config-panel.tsx +34 -10
- package/src/components/field-config-panel/field-sidebar.tsx +187 -41
- package/src/components/field-config-panel/formula-generator.tsx +14 -0
- package/src/components/field-config-panel/formula-modal.tsx +62 -5
- package/src/components/field-sidebar/field-sidebar.tsx +35 -4
- package/src/components/field-sidebar/form-fields-type-list.tsx +113 -0
- package/src/components/pdf-editor/pdf-editor.tsx +42 -25
- package/src/components/pdf-fields-overlay/pdf-overlay-field.tsx +3 -1
- package/src/components/pdf-view/pdf-view.tsx +2 -1
- package/src/constants/menu-group.ts +2 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useFormFields.ts +157 -0
- package/src/hooks/useFormulaEditor.ts +7 -1
- package/src/hooks/usePdfFieldDnD.ts +4 -0
- package/src/interface/types.ts +43 -4
- package/src/styles/field-type-list.css +1 -0
- package/src/styles/formula-modal.css +66 -8
- package/src/styles/variables.css +4 -0
- package/src/utils/formula/expression.utils.ts +24 -6
- package/src/utils/formula/form-fields.utils.ts +165 -0
- package/src/utils/formula/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-sidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"field-sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-sidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGvF,UAAU,iBAAiB;IACvB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAmJ9C,CAAC"}
|
|
@@ -1,20 +1,54 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from '@servicetitan/anvil2';
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { Button, Flex, Text } from '@servicetitan/anvil2';
|
|
3
|
+
import IconArrowBack from '@servicetitan/anvil2/assets/icons/material/round/keyboard_arrow_left.svg';
|
|
4
|
+
import IconArrowForward from '@servicetitan/anvil2/assets/icons/material/round/keyboard_arrow_right.svg';
|
|
5
|
+
import { Fragment, useMemo, useState } from 'react';
|
|
6
|
+
import { formFieldInfosToCalculationOptions, parseFormFieldKey } from '../../utils';
|
|
7
|
+
export const FieldSidebar = ({ fillableOptions, formFieldsByFormId = {}, forms, formulaLoadingFormId = null, highlightElementPath, mergeTagOptions, onHover, onRequestFormFields, onSelect, selectedPaths, }) => {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
const [selectedFormId, setSelectedFormId] = useState(null);
|
|
10
|
+
const onFormClick = (formId) => {
|
|
11
|
+
setSelectedFormId(formId);
|
|
12
|
+
const loaded = formFieldsByFormId[formId];
|
|
13
|
+
if (!(loaded === null || loaded === void 0 ? void 0 : loaded.length)) {
|
|
14
|
+
onRequestFormFields(formId);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const isFormFieldsLoading = selectedFormId != null && formulaLoadingFormId === selectedFormId;
|
|
18
|
+
const selectedForm = useMemo(() => { var _a; return (_a = (forms !== null && forms !== void 0 ? forms : []).find(f => f.id === selectedFormId)) !== null && _a !== void 0 ? _a : null; }, [selectedFormId, forms]);
|
|
19
|
+
const calcOptions = useMemo(() => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
return selectedFormId === null
|
|
22
|
+
? []
|
|
23
|
+
: formFieldInfosToCalculationOptions(selectedFormId, (_a = formFieldsByFormId[selectedFormId]) !== null && _a !== void 0 ? _a : [], (_b = selectedForm === null || selectedForm === void 0 ? void 0 : selectedForm.name) !== null && _b !== void 0 ? _b : '');
|
|
24
|
+
}, [selectedFormId, formFieldsByFormId, selectedForm === null || selectedForm === void 0 ? void 0 : selectedForm.name]);
|
|
25
|
+
const formIdsReferencedInFormula = useMemo(() => {
|
|
26
|
+
const ids = new Set();
|
|
27
|
+
for (const path of selectedPaths) {
|
|
28
|
+
const parsed = parseFormFieldKey(path);
|
|
29
|
+
if (parsed) {
|
|
30
|
+
ids.add(parsed.formId);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return ids;
|
|
34
|
+
}, [selectedPaths]);
|
|
35
|
+
return (_jsx("div", { className: "dte-formula-sidebar", children: _jsx("div", { className: "dte-formula-sidebar-slide-outer", children: _jsxs("div", { className: `dte-formula-sidebar-slide-track${selectedFormId ? ' --detail' : ''}`, children: [_jsxs("div", { className: "dte-formula-sidebar-slide-panel", children: [forms.length > 0 && (_jsxs("div", { className: "dte-formula-sidebar-forms-heading", children: [_jsx(Text, { variant: "headline", el: "h6", size: "small", children: "Forms" }), _jsx("ul", { className: "dte-formula-field-list", role: "listbox", "aria-label": "Forms", children: forms.map(form => (_jsx("li", { role: "option", className: `dte-formula-field-list-item${formIdsReferencedInFormula.has(form.id) ? ' --selected' : ''}`, onMouseDown: e => {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
onFormClick(form.id);
|
|
38
|
+
}, children: _jsxs(Flex, { justifyContent: "space-between", alignItems: "center", children: [_jsx("span", { className: "dte-text-ellipsis", title: form.name, children: form.name }), _jsx(IconArrowForward, {})] }) }, form.id))) })] })), _jsx(FieldOptionList, { title: "Fillable fields", options: fillableOptions, highlightElementPath: highlightElementPath, selectedPaths: selectedPaths, onHover: onHover, onSelect: onSelect }), _jsx(FieldOptionList, { title: "Merge tags", options: mergeTagOptions, highlightElementPath: highlightElementPath, selectedPaths: selectedPaths, onHover: onHover, onSelect: onSelect })] }), _jsx("div", { className: "dte-formula-sidebar-slide-panel --form-fields", children: selectedFormId ? (_jsxs(Fragment, { children: [_jsx(Button, { style: { width: '100%' }, appearance: "ghost", size: "small", icon: IconArrowBack, title: (_a = selectedForm === null || selectedForm === void 0 ? void 0 : selectedForm.name) !== null && _a !== void 0 ? _a : 'Form fields', onClick: () => setSelectedFormId(null), children: _jsx(Text, { size: "medium", className: "dte-text-ellipsis", style: { fontWeight: 'bold', width: '100%' }, children: (_b = selectedForm === null || selectedForm === void 0 ? void 0 : selectedForm.name) !== null && _b !== void 0 ? _b : 'Form fields' }) }), _jsx(FieldOptionList, { title: "", isLoading: isFormFieldsLoading, options: calcOptions, highlightElementPath: highlightElementPath, selectedPaths: selectedPaths, onHover: onHover, onSelect: onSelect })] })) : null })] }) }) }));
|
|
5
39
|
};
|
|
6
|
-
const FieldOptionList = ({ highlightElementPath, onHover, onSelect, options, selectedPaths, title, }) => {
|
|
40
|
+
const FieldOptionList = ({ highlightElementPath, isLoading, onHover, onSelect, options, selectedPaths, title, }) => {
|
|
7
41
|
if (options.length === 0) {
|
|
8
42
|
return null;
|
|
9
43
|
}
|
|
10
|
-
return (_jsxs("div", { children: [_jsx(Text, { variant: "headline", el: "h6", size: "small", children: title }), _jsx("ul", { className: "dte-formula-field-list", role: "listbox", "aria-label": title, children: options.map(opt => {
|
|
11
|
-
var _a, _b;
|
|
44
|
+
return (_jsxs("div", { children: [title ? (_jsx(Text, { variant: "headline", el: "h6", size: "small", children: title })) : null, isLoading ? (_jsx(Text, { size: "small", subdued: true, variant: "body", children: "Loading fields\u2026" })) : options.length === 0 ? (_jsx(Text, { size: "small", subdued: true, variant: "body", children: "No fields on this form." })) : (_jsx("ul", { className: "dte-formula-field-list", role: "listbox", "aria-label": title || 'Fields', children: options.map(opt => {
|
|
45
|
+
var _a, _b, _c;
|
|
12
46
|
return (_jsx("li", { role: "option", "aria-selected": opt.path === highlightElementPath, className: `dte-formula-field-list-item ${opt.path === highlightElementPath ? '--highlight' : ''} ${selectedPaths.has((_a = opt.path) !== null && _a !== void 0 ? _a : '') ? '--selected' : ''}`, onMouseEnter: () => opt.path && onHover(opt.path), onMouseDown: e => {
|
|
13
47
|
e.preventDefault();
|
|
14
48
|
if (opt.path) {
|
|
15
49
|
onSelect(opt.path);
|
|
16
50
|
}
|
|
17
|
-
}, children: (_b = opt.label) !== null && _b !== void 0 ? _b : opt.path }, `${opt.path}-${opt.label}`));
|
|
18
|
-
}) })] }));
|
|
51
|
+
}, children: _jsx("span", { className: "dte-text-ellipsis", title: (_b = opt.label) !== null && _b !== void 0 ? _b : opt.path, children: (_c = opt.label) !== null && _c !== void 0 ? _c : opt.path }) }, `${opt.path}-${opt.label}`));
|
|
52
|
+
}) }))] }));
|
|
19
53
|
};
|
|
20
54
|
//# sourceMappingURL=field-sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-sidebar.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"field-sidebar.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { CalculatedFieldFormat, PdfField, SchemaObject, StructuredFormula } from '../../interface/types';
|
|
2
|
+
import { CalculatedFieldFormat, FormFieldsByFormIdI, FormInfo, PdfField, SchemaObject, StructuredFormula } from '../../interface/types';
|
|
3
3
|
export interface FormulaGeneratorProps {
|
|
4
4
|
dataModel?: SchemaObject;
|
|
5
5
|
documentFields?: PdfField[];
|
|
6
|
+
formFieldsByFormId?: FormFieldsByFormIdI;
|
|
7
|
+
forms: FormInfo[];
|
|
6
8
|
formula?: StructuredFormula;
|
|
7
9
|
formulaFormat?: CalculatedFieldFormat;
|
|
10
|
+
formulaLoadingFormId?: number | null;
|
|
8
11
|
onFormulaChange?(formula: StructuredFormula, format: CalculatedFieldFormat): void;
|
|
12
|
+
onRequestFormFields(formId: number): void;
|
|
9
13
|
}
|
|
10
14
|
export declare const FormulaGenerator: FC<FormulaGeneratorProps>;
|
|
11
15
|
//# sourceMappingURL=formula-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-generator.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-generator.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AACxD,OAAO,EACH,qBAAqB,EAGrB,QAAQ,EAER,YAAY,EACZ,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,qBAAqB;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,eAAe,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"formula-generator.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-generator.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AACxD,OAAO,EACH,qBAAqB,EAGrB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EAER,YAAY,EACZ,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,qBAAqB;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAClF,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAiBD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAyDtD,CAAC"}
|
|
@@ -19,7 +19,7 @@ function getFillableFilteredBuySubTypeFields(fields, subTypes) {
|
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
export const FormulaGenerator = ({ dataModel, documentFields = [], formula, formulaFormat, onFormulaChange, }) => {
|
|
22
|
+
export const FormulaGenerator = ({ dataModel, documentFields = [], formFieldsByFormId, forms, formula, formulaFormat, formulaLoadingFormId, onFormulaChange, onRequestFormFields, }) => {
|
|
23
23
|
const [modalOpen, setModalOpen] = useState(false);
|
|
24
24
|
const dataModelGroups = useMemo(() => dataModel
|
|
25
25
|
? extractGroupedFieldsFromDataModel(dataModel, {
|
|
@@ -30,6 +30,6 @@ export const FormulaGenerator = ({ dataModel, documentFields = [], formula, form
|
|
|
30
30
|
const handleSave = (newFormula, format) => {
|
|
31
31
|
onFormulaChange === null || onFormulaChange === void 0 ? void 0 : onFormulaChange(newFormula, format);
|
|
32
32
|
};
|
|
33
|
-
return (_jsxs(Fragment, { children: [_jsx(Button, { appearance: "secondary", className: "full-width", icon: EditIcon, onClick: () => setModalOpen(true), children: "Configure formula" }), modalOpen && (_jsx(FormulaModal, { initialFormula: formula, initialFormat: formulaFormat, dataModelGroups: dataModelGroups, fillableFieldsFromDocument: fillableFieldsFromDocument, onClose: () => setModalOpen(false), onSave: handleSave }))] }));
|
|
33
|
+
return (_jsxs(Fragment, { children: [_jsx(Button, { appearance: "secondary", className: "full-width", icon: EditIcon, onClick: () => setModalOpen(true), children: "Configure formula" }), modalOpen && (_jsx(FormulaModal, { initialFormula: formula, initialFormat: formulaFormat, dataModelGroups: dataModelGroups, fillableFieldsFromDocument: fillableFieldsFromDocument, formFieldsByFormId: formFieldsByFormId, forms: forms, formulaLoadingFormId: formulaLoadingFormId, onClose: () => setModalOpen(false), onRequestFormFields: onRequestFormFields, onSave: handleSave }))] }));
|
|
34
34
|
};
|
|
35
35
|
//# sourceMappingURL=formula-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-generator.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-generator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,QAAQ,MAAM,2DAA2D,CAAC;AACjF,OAAO,EAAM,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAEH,aAAa,
|
|
1
|
+
{"version":3,"file":"formula-generator.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-generator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,QAAQ,MAAM,2DAA2D,CAAC;AACjF,OAAO,EAAM,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAEH,aAAa,GAQhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C,SAAS,mCAAmC,CACxC,MAAkB,EAClB,QAA2B;IAE3B,OAAO,MAAM;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC;SAC/E,GAAG,CAAC,CAAC,CAAC,EAAE;;QAAC,OAAA,CAAC;YACP,KAAK,EAAE,MAAA,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,mCAAI,EAAE;YAChC,IAAI,EAAE,aAAa,CAAC,QAAQ;YAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACtD,CAAC,CAAA;KAAA,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EACxD,SAAS,EACT,cAAc,GAAG,EAAE,EACnB,kBAAkB,EAClB,KAAK,EACL,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACtB,EAAE,EAAE;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,OAAO,CAC3B,GAAG,EAAE,CACD,SAAS;QACL,CAAC,CAAC,iCAAiC,CAAC,SAAS,EAAE;YACzC,yBAAyB,EAAE,IAAI;SAClC,CAAC;QACJ,CAAC,CAAC,EAAE,EACZ,CAAC,SAAS,CAAC,CACd,CAAC;IACF,MAAM,0BAA0B,GAAG,OAAO,CACtC,GAAG,EAAE,CAAC,mCAAmC,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAC7E,CAAC,cAAc,CAAC,CACnB,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,UAA6B,EAAE,MAA6B,EAAE,EAAE;QAChF,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,QAAQ,eACL,KAAC,MAAM,IACH,UAAU,EAAC,WAAW,EACtB,SAAS,EAAC,YAAY,EACtB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,kCAG5B,EAER,SAAS,IAAI,CACV,KAAC,YAAY,IACT,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,0BAA0B,EAAE,0BAA0B,EACtD,kBAAkB,EAAE,kBAAkB,EACtC,KAAK,EAAE,KAAK,EACZ,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,UAAU,GACpB,CACL,IACM,CACd,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { CalculatedFieldFormat, DataModelFieldGroup, FieldTypeOption, StructuredFormula } from '../../interface/types';
|
|
2
|
+
import { CalculatedFieldFormat, DataModelFieldGroup, FieldTypeOption, FormFieldsByFormIdI, FormInfo, StructuredFormula } from '../../interface/types';
|
|
3
3
|
export interface FormulaModalProps {
|
|
4
4
|
initialFormula: StructuredFormula | undefined;
|
|
5
5
|
initialFormat?: CalculatedFieldFormat;
|
|
6
6
|
dataModelGroups: DataModelFieldGroup[];
|
|
7
7
|
fillableFieldsFromDocument?: FieldTypeOption[];
|
|
8
|
+
formFieldsByFormId?: FormFieldsByFormIdI;
|
|
9
|
+
forms: FormInfo[];
|
|
10
|
+
formulaLoadingFormId?: number | null;
|
|
8
11
|
onClose(): void;
|
|
12
|
+
onRequestFormFields(formId: number): void;
|
|
9
13
|
onSave(formula: StructuredFormula, format: CalculatedFieldFormat): void;
|
|
10
14
|
}
|
|
11
15
|
export declare const FormulaModal: FC<FormulaModalProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-modal.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-modal.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAA6C,MAAM,OAAO,CAAC;AAOtE,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"formula-modal.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-modal.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAA6C,MAAM,OAAO,CAAC;AAOtE,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AA+B/B,MAAM,WAAW,iBAAiB;IAC9B,cAAc,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC9C,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,0BAA0B,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/C,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC3E;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA8O9C,CAAC"}
|
|
@@ -5,7 +5,7 @@ import IconUndo from '@servicetitan/anvil2/assets/icons/material/round/undo.svg'
|
|
|
5
5
|
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
6
6
|
import { DEFAULT_DATE_CALCULATED_FORMAT, DEFAULT_NUMBER_FORMAT, MODAL_CONTENT_MAX_HEIGHT, } from '../../constants';
|
|
7
7
|
import { useFormulaEditor } from '../../hooks';
|
|
8
|
-
import { parseExpression, tokenizeExpression, tokensToExpression, validateFormula, } from '../../utils';
|
|
8
|
+
import { formFieldInfosToCalculationOptions, parseExpression, tokenizeExpression, tokensToExpression, validateFormula, } from '../../utils';
|
|
9
9
|
import { FieldSidebar } from './field-sidebar';
|
|
10
10
|
import { FormulaWorkspace } from './formula-workspace';
|
|
11
11
|
function getAllFields(groups) {
|
|
@@ -26,8 +26,22 @@ function getValidPathsSet(groups) {
|
|
|
26
26
|
}
|
|
27
27
|
return set;
|
|
28
28
|
}
|
|
29
|
-
export const FormulaModal = ({ dataModelGroups, fillableFieldsFromDocument = [], initialFormat, initialFormula, onClose, onSave, }) => {
|
|
29
|
+
export const FormulaModal = ({ dataModelGroups, fillableFieldsFromDocument = [], formFieldsByFormId = {}, forms, formulaLoadingFormId, initialFormat, initialFormula, onClose, onRequestFormFields, onSave, }) => {
|
|
30
30
|
var _a, _b;
|
|
31
|
+
const formCalculationOptions = useMemo(() => {
|
|
32
|
+
if (!(forms === null || forms === void 0 ? void 0 : forms.length)) {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
const out = [];
|
|
36
|
+
for (const form of forms) {
|
|
37
|
+
const list = formFieldsByFormId[form.id];
|
|
38
|
+
if (!(list === null || list === void 0 ? void 0 : list.length)) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
out.push(...formFieldInfosToCalculationOptions(form.id, list, form.name));
|
|
42
|
+
}
|
|
43
|
+
return out;
|
|
44
|
+
}, [forms, formFieldsByFormId]);
|
|
31
45
|
const validPaths = useMemo(() => {
|
|
32
46
|
const set = getValidPathsSet(dataModelGroups);
|
|
33
47
|
for (const f of fillableFieldsFromDocument) {
|
|
@@ -35,11 +49,16 @@ export const FormulaModal = ({ dataModelGroups, fillableFieldsFromDocument = [],
|
|
|
35
49
|
set.add(f.path);
|
|
36
50
|
}
|
|
37
51
|
}
|
|
52
|
+
for (const f of formCalculationOptions) {
|
|
53
|
+
if (f.path) {
|
|
54
|
+
set.add(f.path);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
38
57
|
return set;
|
|
39
|
-
}, [dataModelGroups, fillableFieldsFromDocument]);
|
|
58
|
+
}, [dataModelGroups, fillableFieldsFromDocument, formCalculationOptions]);
|
|
40
59
|
const allFields = useMemo(() => getAllFields(dataModelGroups), [dataModelGroups]);
|
|
41
60
|
const pathToLabel = useMemo(() => {
|
|
42
|
-
var _a, _b;
|
|
61
|
+
var _a, _b, _c;
|
|
43
62
|
const m = new Map();
|
|
44
63
|
for (const f of fillableFieldsFromDocument) {
|
|
45
64
|
if (f.path) {
|
|
@@ -51,8 +70,13 @@ export const FormulaModal = ({ dataModelGroups, fillableFieldsFromDocument = [],
|
|
|
51
70
|
m.set(f.path, (_b = f.label) !== null && _b !== void 0 ? _b : f.path);
|
|
52
71
|
}
|
|
53
72
|
}
|
|
73
|
+
for (const f of formCalculationOptions) {
|
|
74
|
+
if (f.path) {
|
|
75
|
+
m.set(f.path, (_c = f.label) !== null && _c !== void 0 ? _c : f.path);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
54
78
|
return m;
|
|
55
|
-
}, [allFields, fillableFieldsFromDocument]);
|
|
79
|
+
}, [allFields, fillableFieldsFromDocument, formCalculationOptions]);
|
|
56
80
|
const knownDateFields = useMemo(() => {
|
|
57
81
|
const set = new Set();
|
|
58
82
|
for (const f of allFields) {
|
|
@@ -65,8 +89,13 @@ export const FormulaModal = ({ dataModelGroups, fillableFieldsFromDocument = [],
|
|
|
65
89
|
set.add(f.path);
|
|
66
90
|
}
|
|
67
91
|
}
|
|
92
|
+
for (const f of formCalculationOptions) {
|
|
93
|
+
if (f.fieldType === 'date' && f.path) {
|
|
94
|
+
set.add(f.path);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
68
97
|
return set;
|
|
69
|
-
}, [allFields, fillableFieldsFromDocument]);
|
|
98
|
+
}, [allFields, fillableFieldsFromDocument, formCalculationOptions]);
|
|
70
99
|
const currentExpression = useMemo(() => tokensToExpression(initialFormula), [initialFormula]);
|
|
71
100
|
const [highlightElementPath, setHighlightElementPath] = useState('');
|
|
72
101
|
const [format, setFormat] = useState(() => initialFormat !== null && initialFormat !== void 0 ? initialFormat : DEFAULT_NUMBER_FORMAT);
|
|
@@ -85,7 +114,8 @@ export const FormulaModal = ({ dataModelGroups, fillableFieldsFromDocument = [],
|
|
|
85
114
|
setFormat(DEFAULT_NUMBER_FORMAT);
|
|
86
115
|
}
|
|
87
116
|
}, [formulaEditor.expressionHasDateFields, format.resultType]);
|
|
88
|
-
const
|
|
117
|
+
const formParseContext = useMemo(() => forms.length > 0 ? { forms, formFieldsByFormId } : undefined, [forms, formFieldsByFormId]);
|
|
118
|
+
const parsedTokens = useMemo(() => parseExpression(formulaEditor.draftExpression, validPaths, knownDateFields, formParseContext), [formulaEditor.draftExpression, validPaths, knownDateFields, formParseContext]);
|
|
89
119
|
const formulaValidation = useMemo(() => validateFormula({ tokens: parsedTokens }, validPaths, knownDateFields, pathToLabel), [parsedTokens, validPaths, knownDateFields, pathToLabel]);
|
|
90
120
|
const unknownFieldErrors = useMemo(() => {
|
|
91
121
|
const parts = tokenizeExpression(formulaEditor.draftExpression);
|
|
@@ -110,7 +140,7 @@ export const FormulaModal = ({ dataModelGroups, fillableFieldsFromDocument = [],
|
|
|
110
140
|
return (_jsxs(Dialog, { open: true, onClose: handleClose, size: "xlarge", children: [_jsx(Dialog.Header, { children: "Formula Builder" }), _jsx(Divider, {}), _jsx(Dialog.Content, { children: _jsxs(Flex, { flex: 1, alignItems: "stretch", gap: 2, style: {
|
|
111
141
|
height: MODAL_CONTENT_MAX_HEIGHT,
|
|
112
142
|
overflowY: 'auto',
|
|
113
|
-
}, children: [_jsx(FieldSidebar, { fillableOptions: fillableFieldsFromDocument, mergeTagOptions: allFields, highlightElementPath: highlightElementPath, onHover: setHighlightElementPath, onSelect: formulaEditor.insertField, selectedPaths: formulaEditor.selectedFieldPaths }), _jsx(FormulaWorkspace, { disabledOperators: formulaEditor.disabledOperators, editorRef: formulaEditor.editorRef, isInvalid: isInvalid && formulaEditor.isDirty, validationError: validationError, format: format, onResultTypeChange: nextType => {
|
|
143
|
+
}, children: [_jsx(FieldSidebar, { fillableOptions: fillableFieldsFromDocument, formFieldsByFormId: formFieldsByFormId, forms: forms, formulaLoadingFormId: formulaLoadingFormId, mergeTagOptions: allFields, highlightElementPath: highlightElementPath, onHover: setHighlightElementPath, onRequestFormFields: onRequestFormFields, onSelect: formulaEditor.insertField, selectedPaths: formulaEditor.selectedFieldPaths }), _jsx(FormulaWorkspace, { disabledOperators: formulaEditor.disabledOperators, editorRef: formulaEditor.editorRef, isInvalid: isInvalid && formulaEditor.isDirty, validationError: validationError, format: format, onResultTypeChange: nextType => {
|
|
114
144
|
if (nextType === 'date') {
|
|
115
145
|
setFormat(DEFAULT_DATE_CALCULATED_FORMAT);
|
|
116
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-modal.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-modal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,QAAQ,MAAM,2DAA2D,CAAC;AACjF,OAAO,QAAQ,MAAM,2DAA2D,CAAC;AACjF,OAAO,EAAM,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EACH,8BAA8B,EAC9B,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"formula-modal.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/formula-modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { DataModelFieldGroup, FieldTypeEnum, FieldTypeOption } from '../../interface/types';
|
|
2
|
+
import { DataModelFieldGroup, FieldTypeEnum, FieldTypeOption, FormInfo } from '../../interface/types';
|
|
3
3
|
interface FieldSidebarProps {
|
|
4
4
|
dataModelGroups?: DataModelFieldGroup[];
|
|
5
|
+
forms?: FormInfo[];
|
|
6
|
+
formFieldOptions?: FieldTypeOption[];
|
|
5
7
|
hideFields?: FieldTypeEnum[];
|
|
8
|
+
selectedForm?: FormInfo | null;
|
|
9
|
+
isLoadingFormFields?: boolean;
|
|
6
10
|
onDragEnd(): void;
|
|
7
11
|
onDragStart(fieldOption: FieldTypeOption): void;
|
|
12
|
+
onSelectForm?(form: FormInfo | null): void;
|
|
8
13
|
}
|
|
9
14
|
export declare const FieldSidebar: FC<FieldSidebarProps>;
|
|
10
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAC;AAG9C,OAAO,
|
|
1
|
+
{"version":3,"file":"field-sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAC;AAG9C,OAAO,EACH,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACX,MAAM,uBAAuB,CAAC;AAS/B,UAAU,iBAAiB;IACvB,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,IAAI,IAAI,CAAC;IAClB,WAAW,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAyF9C,CAAC"}
|
|
@@ -4,14 +4,15 @@ import IconMenuOpen from '@servicetitan/anvil2/assets/icons/material/round/menu_
|
|
|
4
4
|
import { useMemo, useState } from 'react';
|
|
5
5
|
import { menuGroups } from '../../constants';
|
|
6
6
|
import { useToggle } from '../../hooks';
|
|
7
|
-
import { FieldTypeEnum } from '../../interface/types';
|
|
7
|
+
import { FieldTypeEnum, } from '../../interface/types';
|
|
8
8
|
import { CalculatedFieldTypeList } from './calculated-field-type-list';
|
|
9
9
|
import { DataModelFieldTypeList } from './data-model-field-type-list';
|
|
10
10
|
import { ESignFieldTypeList } from './e-sign-field-type-list';
|
|
11
11
|
import { FieldMenuGroup } from './field-menu-group';
|
|
12
12
|
import { FillableFieldTypeList } from './fillable-field-type-list';
|
|
13
|
+
import { FormFieldsTypeList } from './form-fields-type-list';
|
|
13
14
|
import { GenericFieldTypeList } from './generic-field-type-list';
|
|
14
|
-
export const FieldSidebar = ({ dataModelGroups = [], hideFields, onDragEnd, onDragStart, }) => {
|
|
15
|
+
export const FieldSidebar = ({ dataModelGroups = [], formFieldOptions = [], forms, hideFields, isLoadingFormFields = false, onDragEnd, onDragStart, onSelectForm, selectedForm = null, }) => {
|
|
15
16
|
var _a;
|
|
16
17
|
const [activeFieldType, setActiveFieldType] = useState(FieldTypeEnum.dataModel);
|
|
17
18
|
const { isOpen, open, toggle } = useToggle(true);
|
|
@@ -20,11 +21,15 @@ export const FieldSidebar = ({ dataModelGroups = [], hideFields, onDragEnd, onDr
|
|
|
20
21
|
open();
|
|
21
22
|
};
|
|
22
23
|
const filteredMenuGroups = useMemo(() => {
|
|
24
|
+
let groups = menuGroups;
|
|
23
25
|
if (hideFields === null || hideFields === void 0 ? void 0 : hideFields.length) {
|
|
24
|
-
|
|
26
|
+
groups = groups.filter(menuGroup => !hideFields.includes(menuGroup.key));
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
if (!(forms === null || forms === void 0 ? void 0 : forms.length) || !onSelectForm) {
|
|
29
|
+
groups = groups.filter(menuGroup => menuGroup.key !== FieldTypeEnum.forms);
|
|
30
|
+
}
|
|
31
|
+
return groups;
|
|
32
|
+
}, [forms === null || forms === void 0 ? void 0 : forms.length, hideFields, onSelectForm]);
|
|
33
|
+
return (_jsxs(Flex, { className: "dte-field-sidebar-container skeleton-item", children: [_jsx(FieldMenuGroup, { menuGroups: filteredMenuGroups, onClickMenu: handleActiveFieldTypeChange, activeFieldKey: activeFieldType }), _jsx(Flex, { className: `dte-field-sidebar-content skeleton-item ${isOpen ? '--open' : ''}`, shrink: 0, children: _jsxs(Flex, { className: "dte-field-sidebar-content-inner", children: [_jsx(Text, { variant: "headline", el: "h1", size: "medium", children: (_a = menuGroups.find(group => group.key === activeFieldType)) === null || _a === void 0 ? void 0 : _a.label }), activeFieldType === FieldTypeEnum.fillable && (_jsx(FillableFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.eSign && (_jsx(ESignFieldTypeList, { onDragEnd: onDragEnd, onDragStart: onDragStart })), activeFieldType === FieldTypeEnum.dataModel && (_jsx(DataModelFieldTypeList, { dataModelGroups: dataModelGroups, onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.forms && forms && onSelectForm && (_jsx(FormFieldsTypeList, { fieldOptions: formFieldOptions, forms: forms, isLoadingFormFields: isLoadingFormFields, onDragEnd: onDragEnd, onDragStart: onDragStart, onSelectForm: onSelectForm, selectedForm: selectedForm })), activeFieldType === FieldTypeEnum.calculated && (_jsx(CalculatedFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.generic && (_jsx(GenericFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd }))] }) }), _jsx(Button, { size: "small", appearance: "ghost", onClick: toggle, className: "dte-field-sidebar-toggler", children: _jsx(Icon, { svg: IconMenuOpen, size: "medium" }) })] }));
|
|
29
34
|
};
|
|
30
35
|
//# sourceMappingURL=field-sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-sidebar.js","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,YAAY,MAAM,gEAAgE,CAAC;AAC1F,OAAO,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"field-sidebar.js","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { FieldTypeOption, FormInfo } from '../../interface/types';
|
|
3
|
+
export interface FormFieldsTypeListProps {
|
|
4
|
+
forms: FormInfo[];
|
|
5
|
+
selectedForm: FormInfo | null;
|
|
6
|
+
fieldOptions: FieldTypeOption[];
|
|
7
|
+
isLoadingFormFields?: boolean;
|
|
8
|
+
onSelectForm(form: FormInfo | null): void;
|
|
9
|
+
onDragEnd(): void;
|
|
10
|
+
onDragStart(fieldOption: FieldTypeOption): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const FormFieldsTypeList: FC<FormFieldsTypeListProps>;
|
|
13
|
+
//# sourceMappingURL=form-fields-type-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-fields-type-list.d.ts","sourceRoot":"","sources":["../../../src/components/field-sidebar/form-fields-type-list.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGlE,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,SAAS,IAAI,IAAI,CAAC;IAClB,WAAW,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CA8F1D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Flex, Text } from '@servicetitan/anvil2';
|
|
3
|
+
import IconArrowBack from '@servicetitan/anvil2/assets/icons/material/round/keyboard_arrow_left.svg';
|
|
4
|
+
import IconArrowForward from '@servicetitan/anvil2/assets/icons/material/round/keyboard_arrow_right.svg';
|
|
5
|
+
import { Stack } from '@servicetitan/design-system';
|
|
6
|
+
import { Fragment } from 'react';
|
|
7
|
+
import { FieldType } from './field-type';
|
|
8
|
+
export const FormFieldsTypeList = ({ fieldOptions, forms, isLoadingFormFields = false, onDragEnd, onDragStart, onSelectForm, selectedForm, }) => {
|
|
9
|
+
return (_jsx(Flex, { direction: "column", gap: 3, flex: 1, style: { minHeight: 0 }, children: _jsx("div", { className: "dte-formula-sidebar-slide-outer", children: _jsxs("div", { className: `dte-formula-sidebar-slide-track${selectedForm ? ' --detail' : ''}`, children: [_jsx("div", { className: "dte-formula-sidebar-slide-panel", children: forms.length > 0 ? (_jsx("ul", { className: "dte-formula-field-list", role: "listbox", "aria-label": "Forms", children: forms.map(form => (_jsx("li", { role: "option", className: "dte-formula-field-list-item", onMouseDown: e => {
|
|
10
|
+
e.preventDefault();
|
|
11
|
+
onSelectForm(form);
|
|
12
|
+
}, children: _jsxs(Stack, { justifyContent: "space-between", alignItems: "center", children: [_jsx("span", { className: "dte-text-ellipsis", title: form.name, children: form.name }), _jsx(IconArrowForward, {})] }) }, form.id))) })) : (_jsx(Text, { size: "small", subdued: true, variant: "body", children: "No forms configured." })) }), _jsx("div", { className: "dte-formula-sidebar-slide-panel --form-fields", children: selectedForm ? (_jsxs(Fragment, { children: [_jsx(Button, { style: { width: '100%' }, appearance: "ghost", size: "small", icon: IconArrowBack, title: selectedForm.name, onClick: () => onSelectForm(null), children: _jsx(Text, { size: "medium", className: "dte-text-ellipsis", style: { fontWeight: 'bold', width: '100%' }, children: selectedForm.name }) }), _jsx("div", { className: "dte-field-type-group", children: isLoadingFormFields ? (_jsx(Text, { size: "small", subdued: true, variant: "body", children: "Loading fields\u2026" })) : fieldOptions.length === 0 ? (_jsx(Text, { size: "small", subdued: true, variant: "body", children: "No fields on this form." })) : (fieldOptions.map(option => (_jsx(FieldType, { label: option.label, onDragEnd: onDragEnd, onDragStart: () => onDragStart(option) }, option.path)))) })] })) : null })] }) }) }));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=form-fields-type-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-fields-type-list.js","sourceRoot":"","sources":["../../../src/components/field-sidebar/form-fields-type-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
|
-
import { FieldTypeEnum, PdfField, RecipientInfo, SchemaObject } from '../../interface/types';
|
|
2
|
+
import { FieldTypeEnum, FormFieldsByFormIdI, FormInfo, PdfField, RecipientInfo, SchemaObject } from '../../interface/types';
|
|
3
3
|
import '../../styles/index.css';
|
|
4
4
|
export interface PdfEditorProps {
|
|
5
5
|
pdfUrl: string;
|
|
@@ -11,6 +11,9 @@ export interface PdfEditorProps {
|
|
|
11
11
|
recipients?: RecipientInfo[];
|
|
12
12
|
fields?: PdfField[];
|
|
13
13
|
hideFields?: FieldTypeEnum[];
|
|
14
|
+
hideConditionalLogic?: boolean;
|
|
15
|
+
forms?: FormInfo[];
|
|
16
|
+
onFormSelect?: (formIds: number[], sendFormFields: (formFieldsByFormId: FormFieldsByFormIdI) => void) => void;
|
|
14
17
|
onLoadSuccess?(numPages: number): void;
|
|
15
18
|
onFieldsChange(fields: PdfField[]): void;
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-editor.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAEpE,OAAO,
|
|
1
|
+
{"version":3,"file":"pdf-editor.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAEpE,OAAO,EACH,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACf,MAAM,uBAAuB,CAAC;AAM/B,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,CACX,OAAO,EAAE,MAAM,EAAE,EACjB,cAAc,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,KAAK,IAAI,KAChE,IAAI,CAAC;IACV,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAkGxC,CAAC"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Flex } from '@servicetitan/anvil2';
|
|
3
3
|
import { useCallback, useMemo, useRef } from 'react';
|
|
4
|
-
import { usePdfFieldDnD, usePdfFieldSelection } from '../../hooks';
|
|
4
|
+
import { useFormFields, usePdfFieldDnD, usePdfFieldSelection } from '../../hooks';
|
|
5
5
|
import { extractGroupedFieldsFromDataModel, mapColorsToRecipients } from '../../utils';
|
|
6
6
|
import { FieldConfigPanelOverlay } from '../field-config-panel/field-config-panel-overlay';
|
|
7
7
|
import { FieldSidebar } from '../field-sidebar/field-sidebar';
|
|
8
8
|
import { PdfCanvas } from '../pdf-canvas/pdf-canvas';
|
|
9
9
|
import '../../styles/index.css';
|
|
10
|
-
export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [], hideFields, loading = false, loadingPlaceholder, onFieldsChange, onLoadSuccess, pdfUrl, recipients = [], }) => {
|
|
10
|
+
export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [], forms, hideConditionalLogic, hideFields, loading = false, loadingPlaceholder, onFieldsChange, onFormSelect, onLoadSuccess, pdfUrl, recipients = [], }) => {
|
|
11
11
|
const pdfContainerRef = useRef(null);
|
|
12
12
|
const pdfWrapperRef = useRef(null);
|
|
13
|
-
const
|
|
13
|
+
const pdfFieldSelection = usePdfFieldSelection(fields, onFieldsChange);
|
|
14
|
+
const formFields = useFormFields(fields, onFormSelect);
|
|
14
15
|
const pdfFieldDnd = usePdfFieldDnD({
|
|
15
16
|
fields,
|
|
16
17
|
recipients,
|
|
17
18
|
onFieldsChange,
|
|
18
19
|
pdfWrapperRef,
|
|
19
|
-
onSelectField: setSelectedFieldId,
|
|
20
|
+
onSelectField: pdfFieldSelection.setSelectedFieldId,
|
|
20
21
|
});
|
|
21
22
|
const dataModelGroups = useMemo(() => (dataModel ? extractGroupedFieldsFromDataModel(dataModel) : []), [dataModel]);
|
|
22
23
|
const handleAddNewField = useCallback((field) => onFieldsChange([...fields, field]), [fields, onFieldsChange]);
|
|
23
24
|
const recipientsColors = mapColorsToRecipients(recipients);
|
|
24
|
-
return (_jsxs(Flex, { flex: 1, className: `dte-pdf-editor ${loading ? 'skeleton' : ''}`, children: [selectedField && (_jsx(FieldConfigPanelOverlay, { dataModel: dataModel, documentFields: fields, selectedField: selectedField, onFieldConfigChange: updateField, onDeleteField: deleteSelectedField, recipients: recipients, onDeselectField: deselectField })), _jsx(Flex, { className: "dte-pdf-editor-sidebar-container", children: _jsx(FieldSidebar, { hideFields: hideFields, dataModelGroups: dataModelGroups, onDragStart: pdfFieldDnd.handleDragStart, onDragEnd: pdfFieldDnd.handleDragEnd }) }), _jsx(Flex, { gap: 12, flex: 1, className: "dte-pdf-editor-content-container skeleton-item", children: _jsx(PdfCanvas, { pdfUrl: pdfUrl, fields: fields, loading: loading, errors: errors, onLoadSuccess: onLoadSuccess, recipientsColors: recipientsColors, selectedField: selectedField, pdfContainerRef: pdfContainerRef, pdfWrapperRef: pdfWrapperRef, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, handleAddNewField: handleAddNewField, onDrop: pdfFieldDnd.handleDrop, onDragOver: pdfFieldDnd.handleDragOver, onFieldClick: selectField, onFieldMove: moveField, onFieldResize: resizeField, onDeselectField: deselectField, onFieldConfigChange: updateField }) })] }));
|
|
25
|
+
return (_jsxs(Flex, { flex: 1, className: `dte-pdf-editor ${loading ? 'skeleton' : ''}`, children: [pdfFieldSelection.selectedField && (_jsx(FieldConfigPanelOverlay, { dataModel: dataModel, documentFields: fields, formFieldsByFormId: formFields.formFieldsByFormId, forms: forms !== null && forms !== void 0 ? forms : [], formulaLoadingFormId: formFields.formulaLoadingFormId, selectedField: pdfFieldSelection.selectedField, onFieldConfigChange: pdfFieldSelection.updateField, onDeleteField: pdfFieldSelection.deleteSelectedField, recipients: recipients, onDeselectField: pdfFieldSelection.deselectField, hideConditionalLogic: hideConditionalLogic, onRequestFormFields: formFields.requestFormFieldsById })), _jsx(Flex, { className: "dte-pdf-editor-sidebar-container", children: _jsx(FieldSidebar, { hideFields: hideFields, dataModelGroups: dataModelGroups, formFieldOptions: formFields.formFieldOptions, forms: forms, isLoadingFormFields: formFields.isLoading, onDragStart: pdfFieldDnd.handleDragStart, onDragEnd: pdfFieldDnd.handleDragEnd, onSelectForm: formFields.handleSelectForm, selectedForm: formFields.selectedForm }) }), _jsx(Flex, { gap: 12, flex: 1, className: "dte-pdf-editor-content-container skeleton-item", children: _jsx(PdfCanvas, { pdfUrl: pdfUrl, fields: fields, loading: loading, errors: errors, onLoadSuccess: onLoadSuccess, recipientsColors: recipientsColors, selectedField: pdfFieldSelection.selectedField, pdfContainerRef: pdfContainerRef, pdfWrapperRef: pdfWrapperRef, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, handleAddNewField: handleAddNewField, onDrop: pdfFieldDnd.handleDrop, onDragOver: pdfFieldDnd.handleDragOver, onFieldClick: pdfFieldSelection.selectField, onFieldMove: pdfFieldSelection.moveField, onFieldResize: pdfFieldSelection.resizeField, onDeselectField: pdfFieldSelection.deselectField, onFieldConfigChange: pdfFieldSelection.updateField }) })] }));
|
|
25
26
|
};
|
|
26
27
|
//# sourceMappingURL=pdf-editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAiB,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-overlay-field.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAiB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAShE,UAAU,oBAAoB;IAC1B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACnD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnF,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACjG;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"pdf-overlay-field.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAiB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAShE,UAAU,oBAAoB;IAC1B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACnD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnF,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACjG;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAoEpD,CAAC"}
|
|
@@ -33,6 +33,6 @@ export const PdfOverlayField = ({ error, field, handleAddNewField, isSameGroup,
|
|
|
33
33
|
height: field.height,
|
|
34
34
|
backgroundColor: getFieldBackgroundColor(field.recipient, recipientsColors),
|
|
35
35
|
};
|
|
36
|
-
return (_jsxs("div", { title: field.description, onClick: e => onFieldClick(field.id, e), draggable: true, onDragStart: e => handleDragStart(e, field), onDrag: e => handleDrag(e, field), onDragEnd: handleDragEnd, className: `dte-pdf-field ${isSelected ? '--selected' : '--unselected'} ${isDragging ? '--dragging' : ''} ${isSameGroup ? '--colored' : ''} ${error ? '--error' : ''}`, style: style, children: [field.type === FieldTypeEnum.calculated && _jsx(PdfOverlayFieldCalculated, { field: field }), field.type === FieldTypeEnum.eSign && _jsx(PdfOverlayFieldESign, { field: field }), field.type === FieldTypeEnum.dataModel && _jsx(PdfOverlayFieldDataModel, { field: field }), field.type === FieldTypeEnum.fillable && (_jsx(PdfOverlayFieldFillable, { field: field, handleAddNewField: handleAddNewField })), field.type === FieldTypeEnum.generic && (_jsx(PdfOverlayFieldGeneric, { field: field, onFieldConfigChange: onFieldConfigChange })), isSelected && !hideResizeHandle && (_jsx(ResizeHandle, { handleResizeStart: e => handleResizeStart(e, field) })), error && _jsx("span", { className: "dte-pdf-field-error-message", children: error })] }));
|
|
36
|
+
return (_jsxs("div", { title: field.description, onClick: e => onFieldClick(field.id, e), draggable: true, onDragStart: e => handleDragStart(e, field), onDrag: e => handleDrag(e, field), onDragEnd: handleDragEnd, className: `dte-pdf-field ${isSelected ? '--selected' : '--unselected'} ${isDragging ? '--dragging' : ''} ${isSameGroup ? '--colored' : ''} ${error ? '--error' : ''}`, style: style, children: [field.type === FieldTypeEnum.calculated && _jsx(PdfOverlayFieldCalculated, { field: field }), field.type === FieldTypeEnum.eSign && _jsx(PdfOverlayFieldESign, { field: field }), (field.type === FieldTypeEnum.dataModel || field.type === FieldTypeEnum.forms) && (_jsx(PdfOverlayFieldDataModel, { field: field })), field.type === FieldTypeEnum.fillable && (_jsx(PdfOverlayFieldFillable, { field: field, handleAddNewField: handleAddNewField })), field.type === FieldTypeEnum.generic && (_jsx(PdfOverlayFieldGeneric, { field: field, onFieldConfigChange: onFieldConfigChange })), isSelected && !hideResizeHandle && (_jsx(ResizeHandle, { handleResizeStart: e => handleResizeStart(e, field) })), error && _jsx("span", { className: "dte-pdf-field-error-message", children: error })] }));
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=pdf-overlay-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-overlay-field.js","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pdf-overlay-field.js","sourceRoot":"","sources":["../../../src/components/pdf-fields-overlay/pdf-overlay-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-view.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AAExD,OAAO,EACH,iBAAiB,EACjB,eAAe,EAEf,QAAQ,EACR,WAAW,EACX,aAAa,EAChB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAOpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"pdf-view.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-view/pdf-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AAExD,OAAO,EACH,iBAAiB,EACjB,eAAe,EAEf,QAAQ,EACR,WAAW,EACX,aAAa,EAChB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAOpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA2FpC,CAAC"}
|