@servicetitan/dte-pdf-editor 1.52.0 → 1.54.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 +67 -51
- package/dist/components/display-conditions/condition-row.d.ts.map +1 -1
- package/dist/components/display-conditions/condition-row.js +35 -29
- package/dist/components/display-conditions/condition-row.js.map +1 -1
- package/dist/components/display-conditions/condition-value-control.d.ts +9 -0
- package/dist/components/display-conditions/condition-value-control.d.ts.map +1 -0
- package/dist/components/display-conditions/condition-value-control.js +33 -0
- package/dist/components/display-conditions/condition-value-control.js.map +1 -0
- package/dist/components/field-config-panel/field-config-panel-overlay.d.ts +1 -0
- 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 +1 -0
- package/dist/components/field-config-panel/field-config-panel.d.ts.map +1 -1
- package/dist/components/field-config-panel/field-config-panel.js +38 -15
- package/dist/components/field-config-panel/field-config-panel.js.map +1 -1
- package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -1
- package/dist/components/pdf-editor/pdf-editor.js +1 -1
- package/dist/components/pdf-editor/pdf-editor.js.map +1 -1
- package/dist/components/pdf-view/pdf-view-fillable.d.ts +2 -0
- package/dist/components/pdf-view/pdf-view-fillable.d.ts.map +1 -1
- package/dist/components/pdf-view/pdf-view-fillable.js +14 -10
- package/dist/components/pdf-view/pdf-view-fillable.js.map +1 -1
- package/dist/components/pdf-view/pdf-view.d.ts +11 -0
- package/dist/components/pdf-view/pdf-view.d.ts.map +1 -1
- package/dist/components/pdf-view/pdf-view.js +2 -2
- package/dist/components/pdf-view/pdf-view.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/useLookupOptions.d.ts +23 -0
- package/dist/hooks/useLookupOptions.d.ts.map +1 -0
- package/dist/hooks/useLookupOptions.js +60 -0
- package/dist/hooks/useLookupOptions.js.map +1 -0
- package/dist/hooks/usePdfFieldDnD.d.ts.map +1 -1
- package/dist/hooks/usePdfFieldDnD.js +5 -0
- package/dist/hooks/usePdfFieldDnD.js.map +1 -1
- package/dist/hooks/usePdfFieldSelection.d.ts +1 -0
- package/dist/hooks/usePdfFieldSelection.d.ts.map +1 -1
- package/dist/hooks/usePdfFieldSelection.js +4 -0
- package/dist/hooks/usePdfFieldSelection.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interface/host-events.d.ts +65 -0
- package/dist/interface/host-events.d.ts.map +1 -0
- package/dist/interface/host-events.js +75 -0
- package/dist/interface/host-events.js.map +1 -0
- package/dist/interface/types.d.ts +16 -0
- package/dist/interface/types.d.ts.map +1 -1
- package/dist/interface/types.js +5 -0
- package/dist/interface/types.js.map +1 -1
- package/dist/utils/conditions/schema-data-points.utils.d.ts +1 -0
- package/dist/utils/conditions/schema-data-points.utils.d.ts.map +1 -1
- package/dist/utils/conditions/schema-data-points.utils.js +30 -6
- package/dist/utils/conditions/schema-data-points.utils.js.map +1 -1
- package/package.json +1 -1
- package/src/components/display-conditions/condition-row.tsx +79 -41
- package/src/components/display-conditions/condition-value-control.tsx +90 -0
- package/src/components/field-config-panel/field-config-panel-overlay.tsx +6 -0
- package/src/components/field-config-panel/field-config-panel.tsx +61 -12
- package/src/components/pdf-editor/pdf-editor.tsx +1 -0
- package/src/components/pdf-view/pdf-view-fillable.tsx +18 -3
- package/src/components/pdf-view/pdf-view.tsx +8 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useLookupOptions.ts +86 -0
- package/src/hooks/usePdfFieldDnD.ts +5 -0
- package/src/hooks/usePdfFieldSelection.ts +8 -0
- package/src/index.ts +1 -0
- package/src/interface/host-events.ts +118 -0
- package/src/interface/types.ts +15 -0
- package/src/utils/conditions/__tests__/schema-data-points.utils.test.ts +35 -0
- package/src/utils/conditions/schema-data-points.utils.ts +38 -6
package/README.md
CHANGED
|
@@ -18,33 +18,14 @@ formulas.
|
|
|
18
18
|
- 📋 **Generic Fields**: Custom table and text blocks with configurable rows/cells and inline editing in view mode
|
|
19
19
|
- 👥 **Multi-Recipient Support**: Assign fields to different recipients with color-coded visualization
|
|
20
20
|
- ⚙️ **Field Configuration**: Configure field properties including position, size, label, recipient assignment,
|
|
21
|
-
|
|
21
|
+
**radio group name** (shared across options in the same group), formula/format for calculated fields, and table
|
|
22
|
+
structure (header/body rows and cells) for generic table fields
|
|
23
|
+
- 🔀 **Display Conditions**: Show/hide rules with merge tags, fillable fields, and form submission fields; **radio
|
|
24
|
+
groups** appear as a single data point with equal/not-equal operators and a value picker for group options
|
|
22
25
|
- 👁️ **View Mode**: Display PDFs with filled data in a read-only or interactive view mode (including generic fields via
|
|
23
26
|
`PdfViewGeneric`)
|
|
24
27
|
|
|
25
|
-
### Recent changes
|
|
26
|
-
|
|
27
|
-
- **`FieldTypeEnum.forms`**: New canvas field type bound to a job form field. Paths use the same convention as Unlayer
|
|
28
|
-
tools: `__submission_fields.{formId}.{normalizedFieldId}` (hyphens stripped from the field UUID in the path segment).
|
|
29
|
-
- **`PdfEditor`**: Optional `forms` (`FormInfo[]`) and optional **`onFormSelect`**. When both are provided, the host
|
|
30
|
-
loads field metadata for one or more form IDs and calls `sendFormFields` with a `FormFieldsByFormIdI` map
|
|
31
|
-
(`Record<number, FormFieldInfo[]>`). The editor preloads forms referenced in existing calculated formulas and hydrates
|
|
32
|
-
the formula builder as definitions arrive. Omit `onFormSelect` when not using job forms (no TypeScript requirement on
|
|
33
|
-
existing consumers).
|
|
34
|
-
- **`FormulaFieldFormSnapshot`**: Shared snapshot (`formId`, `fieldId`, `formName`, `fieldName`, `fieldType`) attached
|
|
35
|
-
to **`PdfField.formSnapshot`** (forms fields), **`FieldTypeOption.formSnapshot`** (drag payloads), and optional
|
|
36
|
-
**`formSnapshot`** on structured-formula **`field`** tokens when `parseExpression` can resolve the path against
|
|
37
|
-
`forms` + `formFieldsByFormId`.
|
|
38
|
-
- **Formula builder UI**: Slide-out “Forms” list in the sidebar; pick a form, load fields on demand, insert only
|
|
39
|
-
**number**/**date** form fields into formulas (aligned with calculated-field operand types). `formulaLoadingFormId`
|
|
40
|
-
surfaces loading state for async field fetches.
|
|
41
|
-
- **Exports / utilities**: `buildFormFieldKey`, `parseFormFieldKey`, `normalizeFormFieldIdForPath`,
|
|
42
|
-
`buildFormFieldSnapshot`, `tryBuildFormFieldFormulaSnapshot`, `SUBMISSION_FIELDS_PATH_PREFIX`, and
|
|
43
|
-
**`ParseExpressionFormContext`** for integrators reusing path logic outside the editor.
|
|
44
|
-
|
|
45
|
-
Earlier milestones still reflected elsewhere in this README: **date-aware formulas** (day-based `+` / `-`, disabled
|
|
46
|
-
`*` / `/` with dates, `fieldType` on field tokens), **generic table/text fields**, and **Table configs** in the field
|
|
47
|
-
panel.
|
|
28
|
+
### Recent changes fix/DTE-4360 (radio groups) [RELEASE_NOTES.md](./RELEASE_NOTES.md).
|
|
48
29
|
|
|
49
30
|
## Installation
|
|
50
31
|
|
|
@@ -119,22 +100,22 @@ The main component for editing PDF documents and placing fields.
|
|
|
119
100
|
|
|
120
101
|
#### Props
|
|
121
102
|
|
|
122
|
-
| Prop | Type | Required | Description
|
|
123
|
-
|
|
124
|
-
| `pdfUrl` | `string` | Yes | URL or path to the PDF file
|
|
125
|
-
| `fields` | `PdfField[]` | No | Array of fields placed on the PDF
|
|
126
|
-
| `onFieldsChange` | `(fields: PdfField[]) => void` | Yes | Callback when fields are added, modified, or deleted
|
|
103
|
+
| Prop | Type | Required | Description |
|
|
104
|
+
|------------------------|--------------------------------------------------------------------------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------|
|
|
105
|
+
| `pdfUrl` | `string` | Yes | URL or path to the PDF file |
|
|
106
|
+
| `fields` | `PdfField[]` | No | Array of fields placed on the PDF |
|
|
107
|
+
| `onFieldsChange` | `(fields: PdfField[]) => void` | Yes | Callback when fields are added, modified, or deleted |
|
|
127
108
|
| `onFormSelect` | `(formIds: number[], sendFormFields: (formFieldsByFormId: FormFieldsByFormIdI) => void) => void` | No | With `forms`, host supplies `FormFieldInfo[]` per form id for sidebar, formulas, and preload; omit when not using forms |
|
|
128
|
-
| `dataModel` | `SchemaObject` | No | JSON Schema object defining available data model fields
|
|
129
|
-
| `recipients` | `RecipientInfo[]` | No | Array of recipients that can be assigned to fields
|
|
130
|
-
| `forms` | `FormInfo[]` | No | Job forms shown in the sidebar and formula builder; omit to hide the Forms field group
|
|
131
|
-
| `hideFields` | `FieldTypeEnum[]` | No | Field menu groups to hide (e.g. omit `forms` when not supported)
|
|
132
|
-
| `hideConditionalLogic` | `boolean` | No | When true, hides display-condition UI in the field config panel
|
|
133
|
-
| `loading` | `boolean` | No | Whether the PDF is currently loading
|
|
134
|
-
| `loadingPlaceholder` | `ReactNode` | No | Custom component to display while PDF is loading
|
|
135
|
-
| `errorPlaceholder` | `ReactNode` | No | Custom component to display if PDF fails to load
|
|
136
|
-
| `onLoadSuccess` | `(numPages: number) => void` | No | Called when the PDF document loads successfully
|
|
137
|
-
| `errors` | `Record<string, string>` | No | Map of field id → validation message rendered on the canvas
|
|
109
|
+
| `dataModel` | `SchemaObject` | No | JSON Schema object defining available data model fields |
|
|
110
|
+
| `recipients` | `RecipientInfo[]` | No | Array of recipients that can be assigned to fields |
|
|
111
|
+
| `forms` | `FormInfo[]` | No | Job forms shown in the sidebar and formula builder; omit to hide the Forms field group |
|
|
112
|
+
| `hideFields` | `FieldTypeEnum[]` | No | Field menu groups to hide (e.g. omit `forms` when not supported) |
|
|
113
|
+
| `hideConditionalLogic` | `boolean` | No | When true, hides display-condition UI in the field config panel |
|
|
114
|
+
| `loading` | `boolean` | No | Whether the PDF is currently loading |
|
|
115
|
+
| `loadingPlaceholder` | `ReactNode` | No | Custom component to display while PDF is loading |
|
|
116
|
+
| `errorPlaceholder` | `ReactNode` | No | Custom component to display if PDF fails to load |
|
|
117
|
+
| `onLoadSuccess` | `(numPages: number) => void` | No | Called when the PDF document loads successfully |
|
|
118
|
+
| `errors` | `Record<string, string>` | No | Map of field id → validation message rendered on the canvas |
|
|
138
119
|
|
|
139
120
|
#### Example
|
|
140
121
|
|
|
@@ -157,18 +138,19 @@ Component for displaying PDFs with filled data in view mode.
|
|
|
157
138
|
|
|
158
139
|
#### Props
|
|
159
140
|
|
|
160
|
-
| Prop | Type | Required | Description
|
|
161
|
-
|
|
162
|
-
| `pdfUrl` | `string` | Yes | URL or path to the PDF file
|
|
163
|
-
| `fields` | `PdfField[]` | Yes | Array of fields to display on the PDF
|
|
164
|
-
| `data` | `DataModelValues` | No | Data object containing values for data model fields
|
|
165
|
-
| `recipients` | `RecipientInfo[]` | No | Array of recipients for field assignment
|
|
166
|
-
| `fillingBy` | `string[]` | No | Array of recipient names that are allowed to fill fields
|
|
141
|
+
| Prop | Type | Required | Description |
|
|
142
|
+
|----------------------|----------------------------------------------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------|
|
|
143
|
+
| `pdfUrl` | `string` | Yes | URL or path to the PDF file |
|
|
144
|
+
| `fields` | `PdfField[]` | Yes | Array of fields to display on the PDF |
|
|
145
|
+
| `data` | `DataModelValues` | No | Data object containing values for data model fields |
|
|
146
|
+
| `recipients` | `RecipientInfo[]` | No | Array of recipients for field assignment |
|
|
147
|
+
| `fillingBy` | `string[]` | No | Array of recipient names that are allowed to fill fields |
|
|
167
148
|
| `viewMode` | `PdfViewMode` (`'preview' \| 'fill'`) | No | Controls how the PDF is rendered — see [View modes](#view-modes) below. Defaults to the recipient-fill experience when omitted. |
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
149
|
+
| `makeFillableFieldsReadonly` | `boolean` | No | When `true`, all fillable fields are non-editable (default `false`). See [Read-only fillable fields](#read-only-fillable-fields) below. |
|
|
150
|
+
| `onDataChange` | `(changedData: { [path: string]: string \| boolean }) => void` | No | Callback when fillable field data changes |
|
|
151
|
+
| `loading` | `boolean` | No | Whether the PDF is currently loading |
|
|
152
|
+
| `loadingPlaceholder` | `ReactNode` | No | Custom component to display while PDF is loading |
|
|
153
|
+
| `errorPlaceholder` | `ReactNode` | No | Custom component to display if PDF fails to load |
|
|
172
154
|
|
|
173
155
|
#### View modes
|
|
174
156
|
|
|
@@ -184,6 +166,18 @@ The `viewMode` prop controls who is interacting with the PDF and how:
|
|
|
184
166
|
`fillingBy` are editable for the current user; other recipients' fields are read-only. `onDataChange` is invoked for
|
|
185
167
|
every edit so the caller can persist the value.
|
|
186
168
|
|
|
169
|
+
#### Read-only fillable fields
|
|
170
|
+
|
|
171
|
+
Set **`makeFillableFieldsReadonly={true}`** on `PdfView` to block edits on every fillable field while still showing
|
|
172
|
+
current values — useful for a non-interactive preview of a partially or fully filled form.
|
|
173
|
+
|
|
174
|
+
- **Text, number, date, textarea**: uses the native `readOnly` attribute (value visible, not editable).
|
|
175
|
+
- **Checkbox and radio**: use `disabled` instead — HTML does not support `readOnly` on these input types. Checked
|
|
176
|
+
state is still shown; controls cannot be toggled and `onDataChange` is not called.
|
|
177
|
+
|
|
178
|
+
This prop applies on top of `viewMode` / `fillingBy` scoping (e.g. in `'preview'` mode, fillable fields are normally
|
|
179
|
+
interactive unless `makeFillableFieldsReadonly` is set).
|
|
180
|
+
|
|
187
181
|
#### Example
|
|
188
182
|
|
|
189
183
|
```tsx
|
|
@@ -193,6 +187,7 @@ The `viewMode` prop controls who is interacting with the PDF and how:
|
|
|
193
187
|
data={data}
|
|
194
188
|
recipients={recipients}
|
|
195
189
|
fillingBy={['technician']}
|
|
190
|
+
makeFillableFieldsReadonly={false}
|
|
196
191
|
onDataChange={(changedData) => {
|
|
197
192
|
setData({ ...data, ...changedData });
|
|
198
193
|
}}
|
|
@@ -214,6 +209,7 @@ interface PdfField {
|
|
|
214
209
|
y: number;
|
|
215
210
|
page: number;
|
|
216
211
|
label: string;
|
|
212
|
+
groupName?: string; // fillable radio — shared name for all options with the same path
|
|
217
213
|
width: number;
|
|
218
214
|
height: number;
|
|
219
215
|
required?: boolean;
|
|
@@ -230,6 +226,9 @@ interface PdfField {
|
|
|
230
226
|
|
|
231
227
|
`DisplayConditionState` and related types model optional show/hide rule groups for a field (exported from this package).
|
|
232
228
|
|
|
229
|
+
For **radio groups**, `getDocumentFieldsDataPointOptions` exposes one entry per shared `path` (`isRadioGroup: true`,
|
|
230
|
+
`radioOptions` for the value picker). Condition values use the chosen radio’s `id`.
|
|
231
|
+
|
|
233
232
|
### FieldTypeEnum
|
|
234
233
|
|
|
235
234
|
Enumeration of field types:
|
|
@@ -264,7 +263,11 @@ Types of fillable fields:
|
|
|
264
263
|
- `number`: Number input
|
|
265
264
|
- `date`: Date picker
|
|
266
265
|
- `checkbox`: Checkbox
|
|
267
|
-
- `radio`: Radio button
|
|
266
|
+
- `radio`: Radio button (use **+** on the canvas to add options; set **Radio Group Name** and per-option **Label** in
|
|
267
|
+
the config panel)
|
|
268
|
+
|
|
269
|
+
Radio groups store the selected option’s **`id`** at the shared **`path`** in fill/preview data. Use
|
|
270
|
+
`groupName` to identify the group in the UI and in display-condition data points.
|
|
268
271
|
|
|
269
272
|
### GenericFieldType
|
|
270
273
|
|
|
@@ -474,6 +477,8 @@ Fields are added by dragging from the sidebar onto the PDF canvas. The sidebar d
|
|
|
474
477
|
Click on a field to open the configuration panel where you can:
|
|
475
478
|
|
|
476
479
|
- Change the label
|
|
480
|
+
- For **radio** fillable fields: set **Radio Group Name** (applies to all options with the same path) and **Label**
|
|
481
|
+
per option
|
|
477
482
|
- Adjust position and size
|
|
478
483
|
- Assign a recipient
|
|
479
484
|
- Set the required status (fillable fields, except checkbox)
|
|
@@ -485,6 +490,17 @@ Click on a field to open the configuration panel where you can:
|
|
|
485
490
|
placement
|
|
486
491
|
- For **generic table fields**: configure header visibility, header/body row heights, and cell values via Table configs;
|
|
487
492
|
generic text fields support inline editing in the overlay
|
|
493
|
+
- **Display conditions** (when not hidden): rules can reference merge tags, fillable fields, and form fields; radio
|
|
494
|
+
groups appear once by `groupName` with equal/not-equal operators and a combobox value for the selected option’s `id`
|
|
495
|
+
|
|
496
|
+
### Radio groups (fillable)
|
|
497
|
+
|
|
498
|
+
1. Drag **Radio** onto the PDF.
|
|
499
|
+
2. Open the config panel: set **Radio Group Name** and the **Label** for the first option.
|
|
500
|
+
3. Click **+** on the radio overlay to add more options in the same group (shared `path` and `groupName`, unique `id`
|
|
501
|
+
and `label` per option).
|
|
502
|
+
4. In **display conditions**, pick the group under **Fillable field** → **Data point**; choose **Is equal to** or
|
|
503
|
+
**Is not equal to** and select an option in **Value**.
|
|
488
504
|
|
|
489
505
|
### Moving and Resizing
|
|
490
506
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-row.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,eAAe,EACf,sBAAsB,EAEtB,mBAAmB,EACnB,QAAQ,
|
|
1
|
+
{"version":3,"file":"condition-row.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,eAAe,EACf,sBAAsB,EAEtB,mBAAmB,EACnB,QAAQ,EAMX,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;IAClC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AA4BD,wBAAgB,YAAY,CAAC,EACzB,SAAS,EACT,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,EACL,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,mBAAmB,GACtB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CAua7B"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button, Chip, Combobox, Flex, Text
|
|
2
|
+
import { Button, Chip, Combobox, Flex, Text } from '@servicetitan/anvil2';
|
|
3
3
|
import TrashIcon from '@servicetitan/anvil2/assets/icons/material/round/delete.svg';
|
|
4
4
|
import { useEffect, useMemo, useState } from 'react';
|
|
5
|
-
import { FieldTypeEnum, NUMBER_OPERATORS, STRING_OPERATORS, VALUE_LESS_OPERATORS, } from '../../interface/types';
|
|
5
|
+
import { FieldTypeEnum, NUMBER_OPERATORS, RADIO_OPERATORS, STRING_OPERATORS, VALUE_LESS_OPERATORS, } from '../../interface/types';
|
|
6
6
|
import { formFieldToDisplayConditionDataPointOption, getDisplayConditionFieldTypeForKey, inferDisplayConditionSourceKind, parseFormFieldKey, } from '../../utils';
|
|
7
|
+
import { ConditionValueControl } from './condition-value-control';
|
|
7
8
|
const SOURCE_KIND_ORDER = [
|
|
8
9
|
FieldTypeEnum.dataModel,
|
|
9
10
|
FieldTypeEnum.fillable,
|
|
@@ -14,19 +15,6 @@ const SOURCE_KIND_LABELS = {
|
|
|
14
15
|
[FieldTypeEnum.fillable]: 'Fillable field',
|
|
15
16
|
[FieldTypeEnum.forms]: 'Form',
|
|
16
17
|
};
|
|
17
|
-
function sanitizeNumericInput(raw) {
|
|
18
|
-
let value = raw.replaceAll(/[^0-9.-]/g, '');
|
|
19
|
-
const isNegative = value.startsWith('-');
|
|
20
|
-
value = value.replaceAll('-', '');
|
|
21
|
-
if (isNegative) {
|
|
22
|
-
value = `-${value}`;
|
|
23
|
-
}
|
|
24
|
-
const firstDot = value.indexOf('.');
|
|
25
|
-
if (firstDot >= 0) {
|
|
26
|
-
value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
|
|
27
|
-
}
|
|
28
|
-
return value;
|
|
29
|
-
}
|
|
30
18
|
const pickDefaultSourceKind = (options) => {
|
|
31
19
|
var _a, _b;
|
|
32
20
|
return (_b = (_a = options[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : FieldTypeEnum.dataModel;
|
|
@@ -110,32 +98,44 @@ export function ConditionRow({ canRemove, condition, fillableOptions, formFields
|
|
|
110
98
|
const fieldType = getDisplayConditionFieldTypeForKey(condition.dataPointKey, mergeTagOptions, fillableOptions, formFieldsByFormId !== null && formFieldsByFormId !== void 0 ? formFieldsByFormId : {});
|
|
111
99
|
const selectedSourceKindOption = (_c = (_b = sourceKindOptions.find(o => o.value === sourceKind)) !== null && _b !== void 0 ? _b : sourceKindOptions[0]) !== null && _c !== void 0 ? _c : null;
|
|
112
100
|
const selectedDataPoint = useMemo(() => { var _a; return (_a = dataPointItems.find(opt => opt.fullKey === condition.dataPointKey)) !== null && _a !== void 0 ? _a : null; }, [dataPointItems, condition.dataPointKey]);
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
101
|
+
const isRadioGroup = (selectedDataPoint === null || selectedDataPoint === void 0 ? void 0 : selectedDataPoint.isRadioGroup) === true;
|
|
102
|
+
const operatorItems = useMemo(() => {
|
|
103
|
+
if (isRadioGroup) {
|
|
104
|
+
return [...RADIO_OPERATORS];
|
|
105
|
+
}
|
|
106
|
+
return fieldType === 'number'
|
|
107
|
+
? [...NUMBER_OPERATORS]
|
|
108
|
+
: [...STRING_OPERATORS];
|
|
109
|
+
}, [fieldType, isRadioGroup]);
|
|
110
|
+
const radioValueOptions = useMemo(() => { var _a; return (_a = selectedDataPoint === null || selectedDataPoint === void 0 ? void 0 : selectedDataPoint.radioOptions) !== null && _a !== void 0 ? _a : []; }, [selectedDataPoint]);
|
|
111
|
+
const selectedRadioValue = useMemo(() => { var _a; return (_a = radioValueOptions.find(option => option.id === condition.value)) !== null && _a !== void 0 ? _a : null; }, [radioValueOptions, condition.value]);
|
|
116
112
|
const selectedOperator = useMemo(() => { var _a; return (_a = operatorItems.find(op => op.value === condition.operator)) !== null && _a !== void 0 ? _a : null; }, [operatorItems, condition.operator]);
|
|
117
113
|
const isValueLess = VALUE_LESS_OPERATORS.includes(condition.operator);
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
114
|
+
const resetOperatorForFieldType = (nextFieldType, nextIsRadioGroup) => {
|
|
115
|
+
const nextOperatorItems = nextIsRadioGroup
|
|
116
|
+
? RADIO_OPERATORS
|
|
117
|
+
: nextFieldType === 'number'
|
|
118
|
+
? NUMBER_OPERATORS
|
|
119
|
+
: STRING_OPERATORS;
|
|
124
120
|
return !nextOperatorItems.some(op => op.value === condition.operator);
|
|
125
121
|
};
|
|
126
122
|
const handleDataPointChange = (item) => {
|
|
127
123
|
var _a, _b;
|
|
128
124
|
const nextFieldType = (_a = item === null || item === void 0 ? void 0 : item.fieldType) !== null && _a !== void 0 ? _a : 'string';
|
|
129
|
-
const
|
|
125
|
+
const nextIsRadioGroup = (item === null || item === void 0 ? void 0 : item.isRadioGroup) === true;
|
|
126
|
+
const operatorReset = resetOperatorForFieldType(nextFieldType, nextIsRadioGroup);
|
|
130
127
|
onChange({
|
|
131
128
|
...condition,
|
|
132
129
|
dataPointKey: (_b = item === null || item === void 0 ? void 0 : item.fullKey) !== null && _b !== void 0 ? _b : '',
|
|
133
130
|
formSnapshot: item === null || item === void 0 ? void 0 : item.formSnapshot,
|
|
134
131
|
operator: operatorReset
|
|
135
|
-
?
|
|
136
|
-
? '
|
|
137
|
-
: '
|
|
132
|
+
? nextIsRadioGroup
|
|
133
|
+
? 'is_equal_to'
|
|
134
|
+
: nextFieldType === 'number'
|
|
135
|
+
? 'num_eq'
|
|
136
|
+
: 'is_equal_to'
|
|
138
137
|
: condition.operator,
|
|
138
|
+
value: '',
|
|
139
139
|
});
|
|
140
140
|
};
|
|
141
141
|
const handleSourceKindChange = (item) => {
|
|
@@ -185,7 +185,13 @@ export function ConditionRow({ canRemove, condition, fillableOptions, formFields
|
|
|
185
185
|
...condition,
|
|
186
186
|
operator: ((_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : 'is_equal_to'),
|
|
187
187
|
});
|
|
188
|
-
}, filterOptions: { keys: ['label'] }, children: [_jsx(Combobox.SelectTrigger, { label: "Condition", placeholder: "Select..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.label }, item.value))) })) })] }) }), !isValueLess && (_jsx(Flex, { flex: 1, style: { minWidth: 120 }, children:
|
|
188
|
+
}, filterOptions: { keys: ['label'] }, children: [_jsx(Combobox.SelectTrigger, { label: "Condition", placeholder: "Select..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.label }, item.value))) })) })] }) }), !isValueLess && (_jsx(Flex, { flex: 1, style: { minWidth: 120 }, children: isRadioGroup ? (_jsxs(Combobox, { flex: 1, itemToKey: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.id) !== null && _a !== void 0 ? _a : ''; }, itemToString: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : ''; }, items: radioValueOptions, selectedItem: selectedRadioValue, onChange: (item) => {
|
|
189
|
+
var _a;
|
|
190
|
+
return onChange({
|
|
191
|
+
...condition,
|
|
192
|
+
value: (_a = item === null || item === void 0 ? void 0 : item.id) !== null && _a !== void 0 ? _a : '',
|
|
193
|
+
});
|
|
194
|
+
}, filterOptions: { keys: ['label'] }, children: [_jsx(Combobox.SelectTrigger, { label: "Value", placeholder: "Select radio option..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.label }, item.id))) })) })] })) : (_jsx(ConditionValueControl, { value: condition.value, fieldType: fieldType, lookupSource: selectedDataPoint === null || selectedDataPoint === void 0 ? void 0 : selectedDataPoint.lookupSource, onChange: value => onChange({ ...condition, value }) })) })), canRemove && (_jsx(Flex, { alignItems: "flex-end", style: {
|
|
189
195
|
padding: '6px 12px',
|
|
190
196
|
}, children: _jsx(Button, { appearance: "secondary", "aria-label": "Remove condition", icon: { before: TrashIcon }, onClick: onRemove }) }))] })] }));
|
|
191
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-row.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"condition-row.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ConditionValueControlProps {
|
|
2
|
+
value: string;
|
|
3
|
+
fieldType: 'number' | 'string';
|
|
4
|
+
/** The selected data point's `options.fieldLookupSource`; empty -> free-text input. */
|
|
5
|
+
lookupSource?: string;
|
|
6
|
+
onChange: (value: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function ConditionValueControl({ fieldType, lookupSource, onChange, value, }: Readonly<ConditionValueControlProps>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=condition-value-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-value-control.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-value-control.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAgBD,wBAAgB,qBAAqB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,GACR,EAAE,QAAQ,CAAC,0BAA0B,CAAC,2CAyDtC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Combobox, TextField } from '@servicetitan/anvil2';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { useLookupOptions } from '../../hooks';
|
|
5
|
+
const sanitizeNumericInput = (raw) => {
|
|
6
|
+
let value = raw.replaceAll(/[^0-9.-]/g, '');
|
|
7
|
+
const isNegative = value.startsWith('-');
|
|
8
|
+
value = value.replaceAll('-', '');
|
|
9
|
+
if (isNegative) {
|
|
10
|
+
value = `-${value}`;
|
|
11
|
+
}
|
|
12
|
+
const firstDot = value.indexOf('.');
|
|
13
|
+
if (firstDot >= 0) {
|
|
14
|
+
value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
};
|
|
18
|
+
export function ConditionValueControl({ fieldType, lookupSource, onChange, value, }) {
|
|
19
|
+
const { options, status } = useLookupOptions(lookupSource);
|
|
20
|
+
const selectedOption = useMemo(() => { var _a; return (_a = options.find(option => option.key === value)) !== null && _a !== void 0 ? _a : null; }, [options, value]);
|
|
21
|
+
if (status === 'loading') {
|
|
22
|
+
return (_jsx(TextField, { label: "Value", flex: 1, disabled: true, value: "", placeholder: "", "aria-label": "Value" }));
|
|
23
|
+
}
|
|
24
|
+
// idle / fallback (no source, searchable source, empty, error, or timeout) -> free text.
|
|
25
|
+
if (status !== 'ready') {
|
|
26
|
+
const handleTextChange = (raw) => {
|
|
27
|
+
onChange(fieldType === 'number' ? sanitizeNumericInput(raw) : raw);
|
|
28
|
+
};
|
|
29
|
+
return (_jsx(TextField, { label: "Value", flex: 1, value: value, onChange: e => handleTextChange(e.target.value), placeholder: fieldType === 'number' ? 'e.g. 1.5' : 'Enter value...', "aria-label": "Value", ...(fieldType === 'number' && { inputMode: 'decimal' }) }));
|
|
30
|
+
}
|
|
31
|
+
return (_jsxs(Combobox, { flex: 1, items: options, selectedItem: selectedOption, itemToKey: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.key) !== null && _a !== void 0 ? _a : ''; }, itemToString: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : ''; }, onChange: (item) => { var _a; return onChange((_a = item === null || item === void 0 ? void 0 : item.key) !== null && _a !== void 0 ? _a : ''); }, filterOptions: { keys: ['label'] }, children: [_jsx(Combobox.SelectTrigger, { label: "Value", placeholder: "Select value..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.label }, item.key))) })) })] }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=condition-value-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-value-control.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-value-control.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ interface FieldConfigPanelOverlayProps {
|
|
|
10
10
|
recipients?: RecipientInfo[];
|
|
11
11
|
hideConditionalLogic?: boolean;
|
|
12
12
|
onFieldConfigChange(updates: Partial<PdfField>): void;
|
|
13
|
+
onMatchingFieldsConfigChange?(predicate: (field: PdfField) => boolean, updates: Partial<PdfField>): void;
|
|
13
14
|
onDeleteField(): void;
|
|
14
15
|
onDeselectField?(): void;
|
|
15
16
|
onRequestFormFields(formId: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-config-panel-overlay.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-config-panel-overlay.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EACH,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACf,MAAM,uBAAuB,CAAC;AAG/B,UAAU,4BAA4B;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,QAAQ,CAAC;IACxB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,aAAa,IAAI,IAAI,CAAC;IACtB,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,
|
|
1
|
+
{"version":3,"file":"field-config-panel-overlay.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-config-panel-overlay.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EACH,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACf,MAAM,uBAAuB,CAAC;AAG/B,UAAU,4BAA4B;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,QAAQ,CAAC;IACxB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,4BAA4B,CAAC,CACzB,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,EACvC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IACR,aAAa,IAAI,IAAI,CAAC;IACtB,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CAmDpE,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Button, Flex, Text } from '@servicetitan/anvil2';
|
|
3
3
|
import IconClose from '@servicetitan/anvil2/assets/icons/material/round/close.svg';
|
|
4
4
|
import { FieldConfigPanel } from './field-config-panel';
|
|
5
|
-
export const FieldConfigPanelOverlay = ({ dataModel, documentFields = [], formFieldsByFormId, forms, formulaLoadingFormId, hideConditionalLogic, onDeleteField, onDeselectField, onFieldConfigChange, onRequestFormFields, recipients, selectedField, }) => {
|
|
6
|
-
return (_jsxs(Flex, { className: "dte-field-config-panel-overlay", onClick: e => e.stopPropagation(), children: [_jsxs(Flex, { className: "dte-field-config-panel-header", alignItems: "center", justifyContent: "space-between", children: [_jsx(Text, { variant: "headline", el: "h6", size: "small", children: "Field Configuration" }), _jsx(Button, { appearance: "ghost", size: "small", onClick: onDeselectField, "aria-label": "Close", icon: IconClose })] }), _jsx("div", { className: "dte-field-config-panel-content", children: _jsx(FieldConfigPanel, { dataModel: dataModel, documentFields: documentFields, field: selectedField, formFieldsByFormId: formFieldsByFormId, forms: forms, formulaLoadingFormId: formulaLoadingFormId, recipients: recipients, onFieldConfigChange: onFieldConfigChange, onDeleteField: onDeleteField, hideConditionalLogic: hideConditionalLogic, onRequestFormFields: onRequestFormFields }) })] }));
|
|
5
|
+
export const FieldConfigPanelOverlay = ({ dataModel, documentFields = [], formFieldsByFormId, forms, formulaLoadingFormId, hideConditionalLogic, onDeleteField, onDeselectField, onFieldConfigChange, onMatchingFieldsConfigChange, onRequestFormFields, recipients, selectedField, }) => {
|
|
6
|
+
return (_jsxs(Flex, { className: "dte-field-config-panel-overlay", onClick: e => e.stopPropagation(), children: [_jsxs(Flex, { className: "dte-field-config-panel-header", alignItems: "center", justifyContent: "space-between", children: [_jsx(Text, { variant: "headline", el: "h6", size: "small", children: "Field Configuration" }), _jsx(Button, { appearance: "ghost", size: "small", onClick: onDeselectField, "aria-label": "Close", icon: IconClose })] }), _jsx("div", { className: "dte-field-config-panel-content", children: _jsx(FieldConfigPanel, { dataModel: dataModel, documentFields: documentFields, field: selectedField, formFieldsByFormId: formFieldsByFormId, forms: forms, formulaLoadingFormId: formulaLoadingFormId, recipients: recipients, onFieldConfigChange: onFieldConfigChange, onMatchingFieldsConfigChange: onMatchingFieldsConfigChange, onDeleteField: onDeleteField, hideConditionalLogic: hideConditionalLogic, onRequestFormFields: onRequestFormFields }) })] }));
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=field-config-panel-overlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-config-panel-overlay.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-config-panel-overlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,SAAS,MAAM,4DAA4D,CAAC;AASnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"field-config-panel-overlay.js","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-config-panel-overlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,SAAS,MAAM,4DAA4D,CAAC;AASnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAqBxD,MAAM,CAAC,MAAM,uBAAuB,GAAqC,CAAC,EACtE,SAAS,EACT,cAAc,GAAG,EAAE,EACnB,kBAAkB,EAClB,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,UAAU,EACV,aAAa,GAChB,EAAE,EAAE;IACD,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,gCAAgC,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,aAC9E,MAAC,IAAI,IACD,SAAS,EAAC,+BAA+B,EACzC,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,aAE9B,KAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,oCAEtC,EACP,KAAC,MAAM,IACH,UAAU,EAAC,OAAO,EAClB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,eAAe,gBACb,OAAO,EAClB,IAAI,EAAE,SAAS,GACjB,IACC,EACP,cAAK,SAAS,EAAC,gCAAgC,YAC3C,KAAC,gBAAgB,IACb,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,aAAa,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,KAAK,EAAE,KAAK,EACZ,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,4BAA4B,EAAE,4BAA4B,EAC1D,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,GAC1C,GACA,IACH,CACV,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -11,6 +11,7 @@ interface FieldConfigPanelProps {
|
|
|
11
11
|
hideConditionalLogic?: boolean;
|
|
12
12
|
onDeleteField(): void;
|
|
13
13
|
onFieldConfigChange(updates: Partial<PdfField>): void;
|
|
14
|
+
onMatchingFieldsConfigChange?(predicate: (field: PdfField) => boolean, updates: Partial<PdfField>): void;
|
|
14
15
|
onRequestFormFields(formId: number): void;
|
|
15
16
|
}
|
|
16
17
|
export declare const FieldConfigPanel: FC<FieldConfigPanelProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-config-panel.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-config-panel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAEpC,OAAO,EAGH,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACf,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"field-config-panel.d.ts","sourceRoot":"","sources":["../../../src/components/field-config-panel/field-config-panel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAEpC,OAAO,EAGH,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACf,MAAM,uBAAuB,CAAC;AAY/B,UAAU,qBAAqB;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,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,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,IAAI,IAAI,CAAC;IACtB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtD,4BAA4B,CAAC,CACzB,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,EACvC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IACR,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAkRtD,CAAC"}
|
|
@@ -3,31 +3,44 @@ import { Button, Checkbox, Combobox, Flex, Textarea, TextField } from '@servicet
|
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { E_SIGN_FIELD_TYPE_OPTIONS, FIELD_FONT_SIZE_OPTIONS } from '../../constants';
|
|
5
5
|
import { FieldTypeEnum, } from '../../interface/types';
|
|
6
|
-
import { generateESignPath, generateFillablePath, getFieldFontSize, supportsFieldFontSize, } from '../../utils';
|
|
6
|
+
import { generateESignPath, generateFillablePath, getFieldFontSize, parseFillablePathName, supportsFieldFontSize, } from '../../utils';
|
|
7
7
|
import { DisplayCondition } from '../display-conditions/display-condition';
|
|
8
8
|
import { FormulaGenerator } from './formula-generator';
|
|
9
9
|
import { TableConfigs } from './table-configs';
|
|
10
|
-
export const FieldConfigPanel = ({ dataModel, documentFields = [], field, formFieldsByFormId, forms, formulaLoadingFormId, hideConditionalLogic = false, onDeleteField, onFieldConfigChange, onRequestFormFields, recipients = [], }) => {
|
|
10
|
+
export const FieldConfigPanel = ({ dataModel, documentFields = [], field, formFieldsByFormId, forms, formulaLoadingFormId, hideConditionalLogic = false, onDeleteField, onFieldConfigChange, onMatchingFieldsConfigChange, onRequestFormFields, recipients = [], }) => {
|
|
11
11
|
var _a, _b;
|
|
12
12
|
const recipientOptions = useMemo(() => recipients.map(recipient => ({
|
|
13
13
|
id: recipient.name,
|
|
14
14
|
name: recipient.displayName,
|
|
15
15
|
})), [recipients]);
|
|
16
16
|
const selectedRecipient = useMemo(() => { var _a; return (_a = recipientOptions.find(option => option.id === field.recipient)) !== null && _a !== void 0 ? _a : null; }, [recipientOptions, field.recipient]);
|
|
17
|
+
const isRadioGroupSibling = (documentField) => documentField.subType === 'radio' && documentField.path === field.path;
|
|
17
18
|
const handleRecipientChange = (item) => {
|
|
18
|
-
if (item) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
if (!item) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
let path = field.path;
|
|
23
|
+
if (field.type === FieldTypeEnum.eSign) {
|
|
24
|
+
path = generateESignPath(item.id, field.subType);
|
|
25
|
+
}
|
|
26
|
+
if (field.type === FieldTypeEnum.fillable) {
|
|
27
|
+
const pathName = field.subType === 'radio' && field.path
|
|
28
|
+
? parseFillablePathName(field.path)
|
|
29
|
+
: field.id;
|
|
30
|
+
path = generateFillablePath(item.id, pathName);
|
|
30
31
|
}
|
|
32
|
+
const updates = {
|
|
33
|
+
recipient: item.id,
|
|
34
|
+
path,
|
|
35
|
+
};
|
|
36
|
+
if (field.type === FieldTypeEnum.fillable &&
|
|
37
|
+
field.subType === 'radio' &&
|
|
38
|
+
field.path &&
|
|
39
|
+
onMatchingFieldsConfigChange) {
|
|
40
|
+
onMatchingFieldsConfigChange(isRadioGroupSibling, updates);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
onFieldConfigChange(updates);
|
|
31
44
|
};
|
|
32
45
|
const selectedESignFieldType = useMemo(() => { var _a; return (_a = E_SIGN_FIELD_TYPE_OPTIONS.find(option => option.id === field.subType)) !== null && _a !== void 0 ? _a : null; }, [field]);
|
|
33
46
|
const handleESignFieldTypeChange = (item) => {
|
|
@@ -49,6 +62,16 @@ export const FieldConfigPanel = ({ dataModel, documentFields = [], field, formFi
|
|
|
49
62
|
});
|
|
50
63
|
}
|
|
51
64
|
};
|
|
65
|
+
const handleRadioGroupNameChange = (groupName) => {
|
|
66
|
+
if (!field.path) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (onMatchingFieldsConfigChange) {
|
|
70
|
+
onMatchingFieldsConfigChange(isRadioGroupSibling, { groupName });
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
onFieldConfigChange({ groupName });
|
|
74
|
+
};
|
|
52
75
|
return (_jsxs(Flex, { direction: "column", gap: "4", children: [[
|
|
53
76
|
FieldTypeEnum.fillable,
|
|
54
77
|
FieldTypeEnum.eSign,
|
|
@@ -56,7 +79,7 @@ export const FieldConfigPanel = ({ dataModel, documentFields = [], field, formFi
|
|
|
56
79
|
FieldTypeEnum.forms,
|
|
57
80
|
].includes(field.type) && (_jsx(TextField, { required: field.type === FieldTypeEnum.fillable, label: "Label", value: field.label, onChange: e => onFieldConfigChange({
|
|
58
81
|
label: e.target.value,
|
|
59
|
-
}) })), (field.type === FieldTypeEnum.fillable || field.type === FieldTypeEnum.eSign) && (_jsxs(Combobox, { items: recipientOptions, itemToString: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.name) !== null && _a !== void 0 ? _a : ''; }, onChange: handleRecipientChange, selectedItem: selectedRecipient, filterOptions: { keys: ['name'] }, children: [_jsx(Combobox.SearchField, { placeholder: "", label: "Recipient" }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { item: item, index: i, children: item.name }, item.id))) })) })] })), field.type === FieldTypeEnum.eSign && (_jsxs(Combobox, { items: E_SIGN_FIELD_TYPE_OPTIONS, itemToString: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.name) !== null && _a !== void 0 ? _a : ''; }, onChange: handleESignFieldTypeChange, selectedItem: selectedESignFieldType, children: [_jsx(Combobox.SearchField, { label: "Field Type" }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { item: item, index: i, children: item.name }, item.id))) })) })] })), field.type !== FieldTypeEnum.generic && (_jsx(TextField, { label: "Data Path", value: field.path, disabled: true })), field.type === FieldTypeEnum.fillable && (_jsx(Checkbox, { label: "Required", checked: field.required, onChange: () => onFieldConfigChange({
|
|
82
|
+
}) })), field.type === FieldTypeEnum.fillable && field.subType === 'radio' && (_jsx(TextField, { required: true, label: "Radio Group Name", value: field.groupName, onChange: e => handleRadioGroupNameChange(e.target.value) })), (field.type === FieldTypeEnum.fillable || field.type === FieldTypeEnum.eSign) && (_jsxs(Combobox, { items: recipientOptions, itemToString: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.name) !== null && _a !== void 0 ? _a : ''; }, onChange: handleRecipientChange, selectedItem: selectedRecipient, filterOptions: { keys: ['name'] }, children: [_jsx(Combobox.SearchField, { placeholder: "", label: "Recipient" }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { item: item, index: i, children: item.name }, item.id))) })) })] })), field.type === FieldTypeEnum.eSign && (_jsxs(Combobox, { items: E_SIGN_FIELD_TYPE_OPTIONS, itemToString: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.name) !== null && _a !== void 0 ? _a : ''; }, onChange: handleESignFieldTypeChange, selectedItem: selectedESignFieldType, children: [_jsx(Combobox.SearchField, { label: "Field Type" }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { item: item, index: i, children: item.name }, item.id))) })) })] })), field.type !== FieldTypeEnum.generic && (_jsx(TextField, { label: "Data Path", value: field.path, disabled: true })), field.type === FieldTypeEnum.fillable && (_jsx(Checkbox, { label: "Required", checked: field.required, onChange: () => onFieldConfigChange({
|
|
60
83
|
required: !field.required,
|
|
61
84
|
}) })), field.type === FieldTypeEnum.fillable && field.subType === 'text' && (_jsx(Checkbox, { label: "Multi-line", checked: (_a = field.multiline) !== null && _a !== void 0 ? _a : false, onChange: () => onFieldConfigChange({
|
|
62
85
|
multiline: !field.multiline,
|