@servicetitan/dte-unlayer 0.158.0 → 0.160.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/dist/api-core.js +22 -29
- package/dist/api-core.js.map +1 -1
- package/dist/api-custom-tools.js +23 -29
- package/dist/api-custom-tools.js.map +1 -1
- package/dist/business-calendar/BusinessCalendarDrawer.d.ts +19 -0
- package/dist/business-calendar/BusinessCalendarDrawer.d.ts.map +1 -0
- package/dist/business-calendar/BusinessCalendarDrawer.js +41 -0
- package/dist/business-calendar/BusinessCalendarDrawer.js.map +1 -0
- package/dist/business-calendar/business-calendar-requests.d.ts +25 -0
- package/dist/business-calendar/business-calendar-requests.d.ts.map +1 -0
- package/dist/business-calendar/business-calendar-requests.js +46 -0
- package/dist/business-calendar/business-calendar-requests.js.map +1 -0
- package/dist/business-calendar/business-calendar-state.d.ts +22 -0
- package/dist/business-calendar/business-calendar-state.d.ts.map +1 -0
- package/dist/business-calendar/business-calendar-state.js +74 -0
- package/dist/business-calendar/business-calendar-state.js.map +1 -0
- package/dist/business-calendar/useBusinessCalendarRequests.d.ts +15 -0
- package/dist/business-calendar/useBusinessCalendarRequests.d.ts.map +1 -0
- package/dist/business-calendar/useBusinessCalendarRequests.js +30 -0
- package/dist/business-calendar/useBusinessCalendarRequests.js.map +1 -0
- package/dist/display-conditions/ConditionGroup.d.ts.map +1 -1
- package/dist/display-conditions/ConditionGroup.js +20 -89
- package/dist/display-conditions/ConditionGroup.js.map +1 -1
- package/dist/display-conditions/ConditionGroupsSection.d.ts.map +1 -1
- package/dist/display-conditions/ConditionGroupsSection.js +2 -70
- package/dist/display-conditions/ConditionGroupsSection.js.map +1 -1
- package/dist/display-conditions/ConditionRow.d.ts.map +1 -1
- package/dist/display-conditions/ConditionRow.js +88 -212
- package/dist/display-conditions/ConditionRow.js.map +1 -1
- package/dist/display-conditions/DisplayConditionModal.d.ts.map +1 -1
- package/dist/display-conditions/DisplayConditionModal.js +39 -194
- package/dist/display-conditions/DisplayConditionModal.js.map +1 -1
- package/dist/display-conditions/LookupValueControl.js +42 -105
- package/dist/display-conditions/LookupValueControl.js.map +1 -1
- package/dist/display-conditions/SeparatorWithChip.js +1 -10
- package/dist/display-conditions/SeparatorWithChip.js.map +1 -1
- package/dist/display-conditions/constants.js +15 -20
- package/dist/display-conditions/constants.js.map +1 -1
- package/dist/display-conditions/displayConditionController.js +5 -8
- package/dist/display-conditions/displayConditionController.js.map +1 -1
- package/dist/display-conditions/lookupOptionsController.js +16 -16
- package/dist/display-conditions/lookupOptionsController.js.map +1 -1
- package/dist/display-conditions/nunjucks.js +98 -116
- package/dist/display-conditions/nunjucks.js.map +1 -1
- package/dist/display-conditions/schemaDataPoints.js +13 -11
- package/dist/display-conditions/schemaDataPoints.js.map +1 -1
- package/dist/display-conditions/types.js +23 -67
- package/dist/display-conditions/types.js.map +1 -1
- package/dist/display-conditions/useConditionForms.js +38 -56
- package/dist/display-conditions/useConditionForms.js.map +1 -1
- package/dist/display-conditions/useLookupOptions.js +24 -44
- package/dist/display-conditions/useLookupOptions.js.map +1 -1
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.js +42 -155
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.js.map +1 -1
- package/dist/e-sign-offset/ESignOffsetRuleRow.js +12 -73
- package/dist/e-sign-offset/ESignOffsetRuleRow.js.map +1 -1
- package/dist/e-sign-offset/eSignOffsetController.js +5 -8
- package/dist/e-sign-offset/eSignOffsetController.js.map +1 -1
- package/dist/editor-core-source.d.ts +2 -2
- package/dist/editor-core-source.d.ts.map +1 -1
- package/dist/editor-core-source.js +3 -3
- package/dist/editor-core-source.js.map +1 -1
- package/dist/editor-core.js +2 -2
- package/dist/editor-core.js.map +1 -1
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +56 -118
- package/dist/editor.js.map +1 -1
- package/dist/image-upload-error.js +3 -3
- package/dist/image-upload-error.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/loadScript.js +7 -8
- package/dist/loadScript.js.map +1 -1
- package/dist/log.js +2 -3
- package/dist/log.js.map +1 -1
- package/dist/merge-tags.js +18 -17
- package/dist/merge-tags.js.map +1 -1
- package/dist/shared/configs.js +1 -2
- package/dist/shared/configs.js.map +1 -1
- package/dist/shared/const.d.ts +70 -0
- package/dist/shared/const.d.ts.map +1 -1
- package/dist/shared/const.js +13 -4
- package/dist/shared/const.js.map +1 -1
- package/dist/shared/date-calc.js +47 -38
- package/dist/shared/date-calc.js.map +1 -1
- package/dist/shared/e-sign-offset.js +46 -63
- package/dist/shared/e-sign-offset.js.map +1 -1
- package/dist/shared/edit-icon.js +0 -1
- package/dist/shared/edit-icon.js.map +1 -1
- package/dist/shared/fonts.js +16 -17
- package/dist/shared/fonts.js.map +1 -1
- package/dist/shared/forms.js +16 -38
- package/dist/shared/forms.js.map +1 -1
- package/dist/shared/instance-id.js +6 -9
- package/dist/shared/instance-id.js.map +1 -1
- package/dist/shared/nunjucks-helpers.js +2 -5
- package/dist/shared/nunjucks-helpers.js.map +1 -1
- package/dist/shared/schema.js +52 -96
- package/dist/shared/schema.js.map +1 -1
- package/dist/shared/tools.js +6 -13
- package/dist/shared/tools.js.map +1 -1
- package/dist/store.d.ts +15 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +851 -548
- package/dist/store.js.map +1 -1
- package/dist/tools.js +133 -143
- package/dist/tools.js.map +1 -1
- package/dist/unlayer-interface.d.ts +15 -4
- package/dist/unlayer-interface.d.ts.map +1 -1
- package/dist/unlayer-interface.js +1 -2
- package/dist/unlayer-interface.js.map +1 -1
- package/dist/unlayer.js +86 -113
- package/dist/unlayer.js.map +1 -1
- package/dist/vendor/dte-shared/business-calendar-validation.utils.d.ts +25 -0
- package/dist/vendor/dte-shared/business-calendar-validation.utils.js +80 -0
- package/dist/vendor/dte-shared/components/business-calendar-section.d.ts +15 -0
- package/dist/vendor/dte-shared/components/business-calendar-section.js +14 -0
- package/dist/vendor/dte-shared/components/schedule-drawer.d.ts +18 -0
- package/dist/vendor/dte-shared/components/schedule-drawer.js +119 -0
- package/dist/vendor/dte-shared/components/schedule-picker.d.ts +8 -0
- package/dist/vendor/dte-shared/components/schedule-picker.js +88 -0
- package/dist/vendor/dte-shared/constants.d.ts +31 -0
- package/dist/vendor/dte-shared/constants.js +34 -0
- package/dist/vendor/dte-shared/field-schedule-editor-context.d.ts +31 -0
- package/dist/vendor/dte-shared/field-schedule-editor-context.js +110 -0
- package/dist/vendor/dte-shared/index.d.ts +8 -0
- package/dist/vendor/dte-shared/index.js +7 -0
- package/dist/vendor/dte-shared/schedule-bindings.utils.d.ts +22 -0
- package/dist/vendor/dte-shared/schedule-bindings.utils.js +31 -0
- package/dist/vendor/dte-shared/styles/schedule.css +19 -0
- package/dist/vendor/dte-shared/types.d.ts +129 -0
- package/dist/vendor/dte-shared/types.js +1 -0
- package/package.json +7 -1
- package/src/__tests__/business-calendar-drawer.test.tsx +183 -0
- package/src/__tests__/business-calendar-requests.test.ts +166 -0
- package/src/__tests__/business-calendar-state.test.tsx +142 -0
- package/src/__tests__/condition-row.test.tsx +51 -8
- package/src/__tests__/e-sign-offset-modal.test.tsx +13 -2
- package/src/__tests__/store.business-calendar.test.ts +185 -0
- package/src/__tests__/unlayer.e-sign-types.test.ts +30 -0
- package/src/business-calendar/BusinessCalendarDrawer.tsx +76 -0
- package/src/business-calendar/business-calendar-requests.ts +80 -0
- package/src/business-calendar/business-calendar-state.ts +113 -0
- package/src/business-calendar/useBusinessCalendarRequests.ts +49 -0
- package/src/display-conditions/ConditionGroup.tsx +13 -3
- package/src/display-conditions/ConditionGroupsSection.tsx +24 -21
- package/src/display-conditions/ConditionRow.tsx +75 -32
- package/src/display-conditions/DisplayConditionModal.tsx +18 -59
- package/src/e-sign-offset/ESignDateSignedOffsetModal.tsx +6 -6
- package/src/editor-core-source.ts +2 -2
- package/src/editor.tsx +15 -0
- package/src/index.ts +10 -0
- package/src/shared/const.ts +59 -0
- package/src/store.ts +67 -5
- package/src/unlayer-interface.tsx +15 -4
- package/src/unlayer.tsx +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/display-conditions/ConditionRow.tsx"],"sourcesContent":["import { Button, Chip, Flex, SelectFieldSync } from '@servicetitan/anvil2';\nimport TrashIcon from '@servicetitan/anvil2/assets/icons/material/round/delete.svg';\nimport { useEffect, useMemo, useState } from 'react';\nimport { FormInfo, parseFormFieldKey } from '../shared/forms';\nimport { LookupValueControl } from './LookupValueControl';\nimport { NUMBER_OPERATORS, SingleCondition, STRING_OPERATORS, VALUE_LESS_OPERATORS } from './types';\nimport type { DataPointOption, FormFieldOption } from './types';\n\nexport interface ConditionRowProps {\n canRemove: boolean;\n condition: SingleCondition;\n dataPointOptions: DataPointOption[];\n formFieldOptions: FormFieldOption[];\n forms: FormInfo[];\n onChange: (c: SingleCondition) => void;\n onFormSelect: (formId: number) => void;\n onRemove: () => void;\n}\n\ninterface OperatorOption {\n label: string;\n value: string;\n}\n\ninterface SourceOption {\n formId?: number;\n label: string;\n value: string;\n}\n\nexport function ConditionRow({\n canRemove,\n condition,\n dataPointOptions,\n formFieldOptions,\n forms,\n onChange,\n onFormSelect,\n onRemove,\n}: Readonly<ConditionRowProps>) {\n const selectedFormFieldMeta = useMemo(\n () => parseFormFieldKey(condition.dataPointKey),\n [condition.dataPointKey],\n );\n const [selectedSourceValue, setSelectedSourceValue] = useState<string>(\n selectedFormFieldMeta ? `form:${selectedFormFieldMeta.formId}` : 'schema',\n );\n\n const sourceOptions = useMemo<SourceOption[]>(\n () => [\n { label: 'Merge tags', value: 'schema' },\n ...forms.map(form => ({\n formId: form.id,\n label: form.name,\n value: `form:${form.id}`,\n })),\n ],\n [forms],\n );\n\n const selectedSource = useMemo<SourceOption | null>(() => {\n return (\n sourceOptions.find(opt => opt.value === selectedSourceValue) ?? sourceOptions[0] ?? null\n );\n }, [selectedSourceValue, sourceOptions]);\n\n useEffect(() => {\n if (selectedFormFieldMeta) {\n setSelectedSourceValue(`form:${selectedFormFieldMeta.formId}`);\n return;\n }\n if (!condition.dataPointKey) {\n return;\n }\n const hasSchemaMatch = dataPointOptions.some(opt => opt.fullKey === condition.dataPointKey);\n if (hasSchemaMatch) {\n setSelectedSourceValue('schema');\n }\n }, [condition.dataPointKey, dataPointOptions, selectedFormFieldMeta]);\n\n const currentFormId = selectedSource?.formId;\n const activeDataPointOptions = useMemo(\n () =>\n currentFormId\n ? formFieldOptions.filter(option => option.formId === currentFormId)\n : dataPointOptions,\n [currentFormId, dataPointOptions, formFieldOptions],\n );\n\n const selectedDataPoint = useMemo(\n () => activeDataPointOptions.find(opt => opt.fullKey === condition.dataPointKey) ?? null,\n [activeDataPointOptions, condition.dataPointKey],\n );\n\n const fieldType = selectedDataPoint?.fieldType ?? 'string';\n\n const isValueLess = VALUE_LESS_OPERATORS.includes(condition.operator);\n\n const operatorItems: OperatorOption[] = useMemo(\n () =>\n fieldType === 'number'\n ? ([...NUMBER_OPERATORS] as OperatorOption[])\n : ([...STRING_OPERATORS] as OperatorOption[]),\n [fieldType],\n );\n\n const selectedOperator = useMemo(\n () => operatorItems.find(op => op.value === condition.operator) ?? null,\n [operatorItems, condition.operator],\n );\n\n const handleDataPointChange = (item: DataPointOption | null) => {\n const nextIsNumber = item?.fieldType === 'number';\n const nextOperatorItems = nextIsNumber ? NUMBER_OPERATORS : STRING_OPERATORS;\n const operatorReset = !nextOperatorItems.some(op => op.value === condition.operator);\n onChange({\n ...condition,\n dataPointKey: item?.fullKey ?? '',\n operator: operatorReset\n ? nextIsNumber\n ? 'num_eq'\n : 'is_equal_to'\n : condition.operator,\n });\n };\n\n const handleSourceChange = (item: SourceOption | null) => {\n if (!item) {\n return;\n }\n setSelectedSourceValue(item.value);\n // As in BYOD, a new source starts the condition over instead of picking a data point for it.\n onChange({ ...condition, dataPointKey: '', operator: 'is_equal_to', value: '' });\n\n if (item.formId) {\n onFormSelect(item.formId);\n }\n };\n\n // Same controls and layout as BYOD's condition row (`dte-pdf-editor`'s `ConditionRow`).\n const sourceSelectOptions = sourceOptions.map(option => ({\n id: option.value,\n label: option.label,\n }));\n const dataPointSelectOptions = activeDataPointOptions.map(option => ({\n id: option.fullKey,\n label: option.title,\n }));\n const operatorSelectOptions = operatorItems.map(option => ({\n id: option.value,\n label: option.label,\n }));\n\n return (\n <Flex direction=\"column\" gap=\"4\" flex={1}>\n <Flex flex={1} gap=\"2\">\n <SelectFieldSync\n flex={1}\n disableSearch\n disableClearButton\n label=\"Source\"\n placeholder=\"Select source...\"\n options={sourceSelectOptions}\n value={\n selectedSource\n ? { id: selectedSource.value, label: selectedSource.label }\n : null\n }\n onSelectedOptionChange={(option: { id: string; label: string } | null) =>\n handleSourceChange(sourceOptions.find(o => o.value === option?.id) ?? null)\n }\n />\n </Flex>\n <Flex\n direction=\"row\"\n alignItems=\"flex-end\"\n gap=\"2\"\n flex={1}\n style={{ flexWrap: 'wrap' }}\n >\n <Flex alignItems=\"flex-end\" style={{ padding: '8px 12px' }}>\n <Chip label=\"IF\" size=\"medium\" />\n </Flex>\n <Flex flex={1} style={{ minWidth: 160 }}>\n <SelectFieldSync\n flex={1}\n disableSearch\n disableClearButton\n label=\"Data point\"\n placeholder={\n currentFormId ? 'Select form field...' : 'Select data point...'\n }\n options={dataPointSelectOptions}\n value={\n selectedDataPoint\n ? { id: selectedDataPoint.fullKey, label: selectedDataPoint.title }\n : null\n }\n onSelectedOptionChange={(option: { id: string; label: string } | null) =>\n handleDataPointChange(\n activeDataPointOptions.find(o => o.fullKey === option?.id) ?? null,\n )\n }\n />\n </Flex>\n <Flex flex={1} style={{ minWidth: 160 }}>\n <SelectFieldSync\n flex={1}\n disableSearch\n disableClearButton\n label=\"Condition\"\n placeholder=\"Select...\"\n options={operatorSelectOptions}\n value={\n selectedOperator\n ? { id: selectedOperator.value, label: selectedOperator.label }\n : null\n }\n onSelectedOptionChange={(option: { id: string; label: string } | null) =>\n onChange({\n ...condition,\n operator: (option?.id ??\n 'is_equal_to') as SingleCondition['operator'],\n })\n }\n />\n </Flex>\n {!isValueLess && (\n <Flex flex={1} style={{ minWidth: 160 }}>\n <LookupValueControl\n value={condition.value}\n fieldType={fieldType}\n lookupSource={selectedDataPoint?.lookupSource}\n onChange={value => onChange({ ...condition, value })}\n />\n </Flex>\n )}\n {canRemove && (\n <Flex alignItems=\"flex-end\" style={{ padding: '6px 12px' }}>\n <Button\n appearance=\"secondary\"\n aria-label=\"Remove condition\"\n icon={{ before: TrashIcon }}\n onClick={onRemove}\n />\n </Flex>\n )}\n </Flex>\n </Flex>\n );\n}\n"],"names":["Button","Chip","Flex","SelectFieldSync","TrashIcon","useEffect","useMemo","useState","parseFormFieldKey","LookupValueControl","NUMBER_OPERATORS","STRING_OPERATORS","VALUE_LESS_OPERATORS","ConditionRow","canRemove","condition","dataPointOptions","formFieldOptions","forms","onChange","onFormSelect","onRemove","selectedFormFieldMeta","dataPointKey","selectedSourceValue","setSelectedSourceValue","formId","sourceOptions","label","value","map","form","id","name","selectedSource","find","opt","hasSchemaMatch","some","fullKey","currentFormId","activeDataPointOptions","filter","option","selectedDataPoint","fieldType","isValueLess","includes","operator","operatorItems","selectedOperator","op","handleDataPointChange","item","nextIsNumber","nextOperatorItems","operatorReset","handleSourceChange","sourceSelectOptions","dataPointSelectOptions","title","operatorSelectOptions","direction","gap","flex","disableSearch","disableClearButton","placeholder","options","onSelectedOptionChange","o","alignItems","style","flexWrap","padding","size","minWidth","lookupSource","appearance","aria-label","icon","before","onClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConditionRow.js","sourceRoot":"","sources":["../../src/display-conditions/ConditionRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayConditionModal.d.ts","sourceRoot":"","sources":["../../src/display-conditions/DisplayConditionModal.tsx"],"names":[],"mappings":"AAcA,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAE7B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DisplayConditionModal.d.ts","sourceRoot":"","sources":["../../src/display-conditions/DisplayConditionModal.tsx"],"names":[],"mappings":"AAcA,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAE7B,MAAM,qBAAqB,CAAC;AAsC7B,MAAM,WAAW,0BAA0B;IACvC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACpD,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;IACnD,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,kBAAkB,EAAE,YAAY,CAAC;CACpD;AAED,eAAO,MAAM,qBAAqB,GAAI,OAAO,0BAA0B,uCAgLtE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button,
|
|
2
|
+
import { Button, Dialog, Flex, SegmentedControl, Text, ThemeProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
5
|
import { ConditionGroupsSection } from './ConditionGroupsSection';
|
|
@@ -7,16 +7,10 @@ import { defaultState, MODAL_CONTENT_MAX_HEIGHT } from './constants';
|
|
|
7
7
|
import { onDisplayCondition } from './displayConditionController';
|
|
8
8
|
import { buildUnlayerDisplayCondition, parseUnlayerDisplayCondition } from './nunjucks';
|
|
9
9
|
import { getSchemaDataPointOptions } from './schemaDataPoints';
|
|
10
|
-
import { useConditionForms } from './useConditionForms';
|
|
10
|
+
import { useConditionForms, } from './useConditionForms';
|
|
11
11
|
const BEHAVIOR_OPTIONS = [
|
|
12
|
-
{
|
|
13
|
-
|
|
14
|
-
value: 'show'
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
label: 'Hide',
|
|
18
|
-
value: 'hide'
|
|
19
|
-
}
|
|
12
|
+
{ label: 'Show', value: 'show' },
|
|
13
|
+
{ label: 'Hide', value: 'hide' },
|
|
20
14
|
];
|
|
21
15
|
const NUMERIC_VALUE_RE = /^-?(?:\d+\.?\d*|\.\d+)$/;
|
|
22
16
|
function deriveMatchType(conditionState) {
|
|
@@ -24,49 +18,35 @@ function deriveMatchType(conditionState) {
|
|
|
24
18
|
if (!firstGroup || firstGroup.conditions.length <= 1) {
|
|
25
19
|
return 'all';
|
|
26
20
|
}
|
|
27
|
-
const hasOr = firstGroup.conditions.some(
|
|
21
|
+
const hasOr = firstGroup.conditions.some(c => c.logicalOperator === 'or');
|
|
28
22
|
return hasOr ? 'any' : 'all';
|
|
29
23
|
}
|
|
30
24
|
function applyMatchTypeToState(conditionState, matchType) {
|
|
31
25
|
const logicalOp = matchType === 'all' ? 'and' : 'or';
|
|
32
26
|
return {
|
|
33
27
|
...conditionState,
|
|
34
|
-
groups: conditionState.groups.map((group, groupIndex)=>{
|
|
28
|
+
groups: conditionState.groups.map((group, groupIndex) => {
|
|
35
29
|
if (groupIndex !== 0) {
|
|
36
30
|
return group;
|
|
37
31
|
}
|
|
38
32
|
return {
|
|
39
33
|
...group,
|
|
40
|
-
conditions: group.conditions.map((c, i)=>i === 0 ? c : {
|
|
41
|
-
...c,
|
|
42
|
-
logicalOperator: logicalOp
|
|
43
|
-
})
|
|
34
|
+
conditions: group.conditions.map((c, i) => i === 0 ? c : { ...c, logicalOperator: logicalOp }),
|
|
44
35
|
};
|
|
45
|
-
})
|
|
36
|
+
}),
|
|
46
37
|
};
|
|
47
38
|
}
|
|
48
|
-
export const DisplayConditionModal = (props)=>{
|
|
49
|
-
const { onConditionFormSelect, onConditionalsOpen, portalContainer: portalContainerProp, schema } = props;
|
|
39
|
+
export const DisplayConditionModal = (props) => {
|
|
40
|
+
const { onConditionFormSelect, onConditionalsOpen, portalContainer: portalContainerProp, schema, } = props;
|
|
50
41
|
const [request, setRequest] = useState(null);
|
|
51
42
|
const [isOpen, setIsOpen] = useState(false);
|
|
52
43
|
const [state, setState] = useState(defaultState);
|
|
53
44
|
const [matchType, setMatchType] = useState('all');
|
|
54
|
-
const { formFieldOptions, forms, isFieldDataLoading, loadForms, requestFormFields } = useConditionForms({
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
schema
|
|
60
|
-
]);
|
|
61
|
-
const allFieldOptions = useMemo(()=>[
|
|
62
|
-
...dataPointOptions,
|
|
63
|
-
...formFieldOptions
|
|
64
|
-
], [
|
|
65
|
-
dataPointOptions,
|
|
66
|
-
formFieldOptions
|
|
67
|
-
]);
|
|
68
|
-
useEffect(()=>{
|
|
69
|
-
return onDisplayCondition((nextRequest)=>{
|
|
45
|
+
const { formFieldOptions, forms, isFieldDataLoading, loadForms, requestFormFields } = useConditionForms({ onConditionFormSelect, onConditionalsOpen });
|
|
46
|
+
const dataPointOptions = useMemo(() => getSchemaDataPointOptions(schema), [schema]);
|
|
47
|
+
const allFieldOptions = useMemo(() => [...dataPointOptions, ...formFieldOptions], [dataPointOptions, formFieldOptions]);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
return onDisplayCondition(nextRequest => {
|
|
70
50
|
setRequest(nextRequest);
|
|
71
51
|
const existing = nextRequest.data;
|
|
72
52
|
const parsed = parseUnlayerDisplayCondition(existing);
|
|
@@ -76,14 +56,12 @@ export const DisplayConditionModal = (props)=>{
|
|
|
76
56
|
setMatchType(deriveMatchType(initialState));
|
|
77
57
|
setIsOpen(true);
|
|
78
58
|
});
|
|
79
|
-
}, [
|
|
80
|
-
|
|
81
|
-
]);
|
|
82
|
-
const handleClose = useCallback(()=>{
|
|
59
|
+
}, [loadForms]);
|
|
60
|
+
const handleClose = useCallback(() => {
|
|
83
61
|
setRequest(null);
|
|
84
62
|
setIsOpen(false);
|
|
85
63
|
}, []);
|
|
86
|
-
const handleSave = useCallback(()=>{
|
|
64
|
+
const handleSave = useCallback(() => {
|
|
87
65
|
if (!request) {
|
|
88
66
|
return;
|
|
89
67
|
}
|
|
@@ -91,55 +69,33 @@ export const DisplayConditionModal = (props)=>{
|
|
|
91
69
|
const condition = buildUnlayerDisplayCondition(finalState);
|
|
92
70
|
if (condition) {
|
|
93
71
|
request.done(condition);
|
|
94
|
-
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
95
74
|
request.done(null);
|
|
96
75
|
}
|
|
97
76
|
setRequest(null);
|
|
98
77
|
setIsOpen(false);
|
|
99
|
-
}, [
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
]);
|
|
104
|
-
const updateGroup = useCallback((index, group)=>{
|
|
105
|
-
setState((prev)=>{
|
|
106
|
-
const next = [
|
|
107
|
-
...prev.groups
|
|
108
|
-
];
|
|
78
|
+
}, [matchType, request, state]);
|
|
79
|
+
const updateGroup = useCallback((index, group) => {
|
|
80
|
+
setState(prev => {
|
|
81
|
+
const next = [...prev.groups];
|
|
109
82
|
next[index] = group;
|
|
110
|
-
return {
|
|
111
|
-
...prev,
|
|
112
|
-
groups: next
|
|
113
|
-
};
|
|
83
|
+
return { ...prev, groups: next };
|
|
114
84
|
});
|
|
115
85
|
}, []);
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
return (_BEHAVIOR_OPTIONS_find = BEHAVIOR_OPTIONS.find((opt)=>opt.value === state.behavior)) !== null && _BEHAVIOR_OPTIONS_find !== void 0 ? _BEHAVIOR_OPTIONS_find : BEHAVIOR_OPTIONS[0];
|
|
119
|
-
}, [
|
|
120
|
-
state.behavior
|
|
121
|
-
]);
|
|
122
|
-
const handleBehaviorChange = useCallback((item)=>{
|
|
123
|
-
if (item) {
|
|
124
|
-
setState((prev)=>({
|
|
125
|
-
...prev,
|
|
126
|
-
behavior: item.value
|
|
127
|
-
}));
|
|
128
|
-
}
|
|
86
|
+
const handleBehaviorChange = useCallback((behavior) => {
|
|
87
|
+
setState(prev => ({ ...prev, behavior: behavior }));
|
|
129
88
|
}, []);
|
|
130
|
-
const handleFormSelect = useCallback((formId)=>{
|
|
89
|
+
const handleFormSelect = useCallback((formId) => {
|
|
131
90
|
requestFormFields(formId);
|
|
132
|
-
}, [
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const canSave = useMemo(()=>{
|
|
91
|
+
}, [requestFormFields]);
|
|
92
|
+
const canSave = useMemo(() => {
|
|
93
|
+
var _a, _b;
|
|
136
94
|
if (isFieldDataLoading) {
|
|
137
95
|
return false;
|
|
138
96
|
}
|
|
139
|
-
for (const group of state.groups){
|
|
140
|
-
for (const condition of group.conditions){
|
|
141
|
-
var _ref;
|
|
142
|
-
var _allFieldOptions_find;
|
|
97
|
+
for (const group of state.groups) {
|
|
98
|
+
for (const condition of group.conditions) {
|
|
143
99
|
if (!condition.dataPointKey) {
|
|
144
100
|
return false;
|
|
145
101
|
}
|
|
@@ -150,18 +106,14 @@ export const DisplayConditionModal = (props)=>{
|
|
|
150
106
|
if (!trimmedValue) {
|
|
151
107
|
return false;
|
|
152
108
|
}
|
|
153
|
-
const fieldType = (
|
|
109
|
+
const fieldType = (_b = (_a = allFieldOptions.find(opt => opt.fullKey === condition.dataPointKey)) === null || _a === void 0 ? void 0 : _a.fieldType) !== null && _b !== void 0 ? _b : 'string';
|
|
154
110
|
if (fieldType === 'number' && !NUMERIC_VALUE_RE.test(trimmedValue)) {
|
|
155
111
|
return false;
|
|
156
112
|
}
|
|
157
113
|
}
|
|
158
114
|
}
|
|
159
115
|
return state.groups.length > 0;
|
|
160
|
-
}, [
|
|
161
|
-
allFieldOptions,
|
|
162
|
-
isFieldDataLoading,
|
|
163
|
-
state.groups
|
|
164
|
-
]);
|
|
116
|
+
}, [allFieldOptions, isFieldDataLoading, state.groups]);
|
|
165
117
|
if (!isOpen) {
|
|
166
118
|
return null;
|
|
167
119
|
}
|
|
@@ -169,121 +121,14 @@ export const DisplayConditionModal = (props)=>{
|
|
|
169
121
|
* Render in-place by default (same as pdf-editor). Anvil2 3.x CSS is nested under
|
|
170
122
|
* `.anvil2`; portaling to `document.body` / bare shadow root drops that ancestor and
|
|
171
123
|
* styles disappear in MFE prod. Native `<dialog>` top-layer still stacks correctly.
|
|
172
|
-
*/
|
|
173
|
-
|
|
174
|
-
onClose: handleClose,
|
|
175
|
-
size: "xlarge",
|
|
176
|
-
children: [
|
|
177
|
-
/*#__PURE__*/ _jsx(Dialog.Header, {
|
|
178
|
-
children: "Conditions"
|
|
179
|
-
}),
|
|
180
|
-
/*#__PURE__*/ _jsx(Dialog.Content, {
|
|
181
|
-
children: /*#__PURE__*/ _jsx(Flex, {
|
|
182
|
-
direction: "column",
|
|
183
|
-
gap: "4",
|
|
184
|
-
style: {
|
|
124
|
+
*/
|
|
125
|
+
const dialog = (_jsxs(Dialog, { open: isOpen, onClose: handleClose, size: "xlarge", children: [_jsx(Dialog.Header, { children: "Conditions" }), _jsx(Dialog.Content, { children: _jsx(Flex, { direction: "column", gap: "6", flex: 1, style: {
|
|
185
126
|
maxHeight: MODAL_CONTENT_MAX_HEIGHT,
|
|
186
127
|
overflowY: 'auto',
|
|
187
|
-
|
|
188
|
-
width: '100%'
|
|
189
|
-
},
|
|
190
|
-
children: /*#__PURE__*/ _jsx(ConditionGroupsSection, {
|
|
191
|
-
behaviorSection: /*#__PURE__*/ _jsxs(Flex, {
|
|
192
|
-
direction: "row",
|
|
193
|
-
alignItems: "center",
|
|
194
|
-
gap: "2",
|
|
195
|
-
style: {
|
|
196
|
-
flexWrap: 'wrap'
|
|
197
|
-
},
|
|
198
|
-
children: [
|
|
199
|
-
/*#__PURE__*/ _jsx(Text, {
|
|
200
|
-
size: "small",
|
|
201
|
-
subdued: true,
|
|
202
|
-
variant: "body",
|
|
203
|
-
children: "Select to include or exclude selected template/file."
|
|
204
|
-
}),
|
|
205
|
-
/*#__PURE__*/ _jsx("div", {
|
|
206
|
-
style: {
|
|
207
|
-
width: 90
|
|
208
|
-
},
|
|
209
|
-
children: /*#__PURE__*/ _jsxs(Combobox.Select, {
|
|
210
|
-
disableClearSelection: true,
|
|
211
|
-
itemToKey: (item)=>{
|
|
212
|
-
var _ref;
|
|
213
|
-
return (_ref = item === null || item === void 0 ? void 0 : item.value) !== null && _ref !== void 0 ? _ref : '';
|
|
214
|
-
},
|
|
215
|
-
itemToString: (item)=>{
|
|
216
|
-
var _ref;
|
|
217
|
-
return (_ref = item === null || item === void 0 ? void 0 : item.label) !== null && _ref !== void 0 ? _ref : '';
|
|
218
|
-
},
|
|
219
|
-
items: [
|
|
220
|
-
...BEHAVIOR_OPTIONS
|
|
221
|
-
],
|
|
222
|
-
selectedItem: selectedBehavior,
|
|
223
|
-
onChange: handleBehaviorChange,
|
|
224
|
-
children: [
|
|
225
|
-
/*#__PURE__*/ _jsx(Combobox.SelectTrigger, {
|
|
226
|
-
label: "",
|
|
227
|
-
placeholder: "Select...",
|
|
228
|
-
size: "small"
|
|
229
|
-
}),
|
|
230
|
-
/*#__PURE__*/ _jsx(Combobox.Content, {
|
|
231
|
-
children: ({ items })=>/*#__PURE__*/ _jsx(Combobox.List, {
|
|
232
|
-
children: items.map((item, i)=>/*#__PURE__*/ _jsx(Combobox.Item, {
|
|
233
|
-
index: i,
|
|
234
|
-
item: item,
|
|
235
|
-
children: item.label
|
|
236
|
-
}, item.value))
|
|
237
|
-
})
|
|
238
|
-
})
|
|
239
|
-
]
|
|
240
|
-
})
|
|
241
|
-
})
|
|
242
|
-
]
|
|
243
|
-
}),
|
|
244
|
-
dataPointOptions: dataPointOptions,
|
|
245
|
-
formFieldOptions: formFieldOptions,
|
|
246
|
-
forms: forms,
|
|
247
|
-
groups: state.groups,
|
|
248
|
-
matchType: matchType,
|
|
249
|
-
onFormSelect: handleFormSelect,
|
|
250
|
-
onMatchTypeChange: setMatchType,
|
|
251
|
-
onUpdateGroup: updateGroup
|
|
252
|
-
})
|
|
253
|
-
})
|
|
254
|
-
}),
|
|
255
|
-
/*#__PURE__*/ _jsx(Dialog.Footer, {
|
|
256
|
-
sticky: true,
|
|
257
|
-
children: /*#__PURE__*/ _jsxs(Flex, {
|
|
258
|
-
justifyContent: "flex-end",
|
|
259
|
-
alignItems: "center",
|
|
260
|
-
gap: "3",
|
|
261
|
-
style: {
|
|
262
|
-
width: '100%'
|
|
263
|
-
},
|
|
264
|
-
children: [
|
|
265
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
266
|
-
appearance: "secondary",
|
|
267
|
-
onClick: handleClose,
|
|
268
|
-
children: "Cancel"
|
|
269
|
-
}),
|
|
270
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
271
|
-
appearance: "primary",
|
|
272
|
-
disabled: !canSave,
|
|
273
|
-
onClick: handleSave,
|
|
274
|
-
children: "Save Changes"
|
|
275
|
-
})
|
|
276
|
-
]
|
|
277
|
-
})
|
|
278
|
-
})
|
|
279
|
-
]
|
|
280
|
-
});
|
|
128
|
+
}, children: _jsx(ConditionGroupsSection, { behaviorSection: _jsxs(Flex, { direction: "row", alignItems: "center", gap: "3", children: [_jsx(Text, { size: "small", subdued: true, variant: "body", children: "Select to include or exclude selected template/file." }), _jsx(SegmentedControl, { size: "small", selected: state.behavior, onChange: handleBehaviorChange, children: BEHAVIOR_OPTIONS.map(opt => (_jsx(SegmentedControl.Segment, { value: opt.value, children: opt.label }, opt.value))) })] }), dataPointOptions: dataPointOptions, formFieldOptions: formFieldOptions, forms: forms, groups: state.groups, matchType: matchType, onFormSelect: handleFormSelect, onMatchTypeChange: setMatchType, onUpdateGroup: updateGroup }) }) }), _jsx(Dialog.Footer, { sticky: true, children: _jsxs(Flex, { justifyContent: "flex-end", alignItems: "center", gap: "3", style: { width: '100%' }, children: [_jsx(Button, { appearance: "secondary", onClick: handleClose, children: "Cancel" }), _jsx(Button, { appearance: "primary", disabled: !canSave, onClick: handleSave, children: "Save Changes" })] }) })] }));
|
|
281
129
|
if (portalContainerProp) {
|
|
282
|
-
return
|
|
283
|
-
children: dialog
|
|
284
|
-
}), portalContainerProp);
|
|
130
|
+
return createPortal(_jsx(ThemeProvider, { children: dialog }), portalContainerProp);
|
|
285
131
|
}
|
|
286
132
|
return dialog;
|
|
287
133
|
};
|
|
288
|
-
|
|
289
134
|
//# sourceMappingURL=DisplayConditionModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/display-conditions/DisplayConditionModal.tsx"],"sourcesContent":["import { Button, Combobox, Dialog, Flex, Text, ThemeProvider } from '@servicetitan/anvil2';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ConditionGroupsSection, MatchType } from './ConditionGroupsSection';\nimport { defaultState, MODAL_CONTENT_MAX_HEIGHT } from './constants';\nimport { DisplayConditionRequest, onDisplayCondition } from './displayConditionController';\nimport { buildUnlayerDisplayCondition, parseUnlayerDisplayCondition } from './nunjucks';\nimport { getSchemaDataPointOptions } from './schemaDataPoints';\nimport {\n ConditionGroup as ConditionGroupType,\n DisplayBehavior,\n DisplayConditionState,\n LogicalOperator,\n} from './types';\nimport {\n ConditionalsOpenHandler,\n ConditionFormSelectHandler,\n useConditionForms,\n} from './useConditionForms';\n\nconst BEHAVIOR_OPTIONS = [\n { label: 'Show', value: 'show' },\n { label: 'Hide', value: 'hide' },\n] as const;\nconst NUMERIC_VALUE_RE = /^-?(?:\\d+\\.?\\d*|\\.\\d+)$/;\ntype BehaviorOption = (typeof BEHAVIOR_OPTIONS)[number];\n\nfunction deriveMatchType(conditionState: DisplayConditionState): MatchType {\n const firstGroup = conditionState.groups[0];\n if (!firstGroup || firstGroup.conditions.length <= 1) {\n return 'all';\n }\n const hasOr = firstGroup.conditions.some(c => c.logicalOperator === 'or');\n return hasOr ? 'any' : 'all';\n}\n\nfunction applyMatchTypeToState(\n conditionState: DisplayConditionState,\n matchType: MatchType,\n): DisplayConditionState {\n const logicalOp: LogicalOperator = matchType === 'all' ? 'and' : 'or';\n return {\n ...conditionState,\n groups: conditionState.groups.map((group, groupIndex) => {\n if (groupIndex !== 0) {\n return group;\n }\n return {\n ...group,\n conditions: group.conditions.map((c, i) =>\n i === 0 ? c : { ...c, logicalOperator: logicalOp },\n ),\n };\n }),\n };\n}\n\nexport interface DisplayConditionModalProps {\n /**\n * Optional portal target. Prefer leaving unset so the dialog stays under the host\n * `AnvilProvider` (`.anvil2` CSS scope). When set (e.g. a host-controlled container),\n * content is wrapped in `ThemeProvider` so Anvil2 styles still apply after portaling.\n */\n portalContainer?: Element | DocumentFragment | null;\n onConditionFormSelect?: ConditionFormSelectHandler;\n onConditionalsOpen?: ConditionalsOpenHandler;\n schema?: import('../shared/schema').SchemaObject;\n}\n\nexport const DisplayConditionModal = (props: DisplayConditionModalProps) => {\n const {\n onConditionFormSelect,\n onConditionalsOpen,\n portalContainer: portalContainerProp,\n schema,\n } = props;\n const [request, setRequest] = useState<DisplayConditionRequest | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [state, setState] = useState(defaultState);\n const [matchType, setMatchType] = useState<MatchType>('all');\n const { formFieldOptions, forms, isFieldDataLoading, loadForms, requestFormFields } =\n useConditionForms({ onConditionFormSelect, onConditionalsOpen });\n\n const dataPointOptions = useMemo(() => getSchemaDataPointOptions(schema), [schema]);\n const allFieldOptions = useMemo(\n () => [...dataPointOptions, ...formFieldOptions],\n [dataPointOptions, formFieldOptions],\n );\n\n useEffect(() => {\n return onDisplayCondition(nextRequest => {\n setRequest(nextRequest);\n const existing = nextRequest.data;\n const parsed = parseUnlayerDisplayCondition(existing);\n const initialState = parsed ?? defaultState();\n\n loadForms(initialState.groups);\n setState(initialState);\n setMatchType(deriveMatchType(initialState));\n setIsOpen(true);\n });\n }, [loadForms]);\n\n const handleClose = useCallback(() => {\n setRequest(null);\n setIsOpen(false);\n }, []);\n\n const handleSave = useCallback(() => {\n if (!request) {\n return;\n }\n const finalState = applyMatchTypeToState(state, matchType);\n const condition = buildUnlayerDisplayCondition(finalState);\n if (condition) {\n request.done(condition);\n } else {\n request.done(null);\n }\n setRequest(null);\n setIsOpen(false);\n }, [matchType, request, state]);\n\n const updateGroup = useCallback((index: number, group: ConditionGroupType) => {\n setState(prev => {\n const next = [...prev.groups];\n next[index] = group;\n return { ...prev, groups: next };\n });\n }, []);\n\n const selectedBehavior = useMemo(\n () => BEHAVIOR_OPTIONS.find(opt => opt.value === state.behavior) ?? BEHAVIOR_OPTIONS[0],\n [state.behavior],\n );\n\n const handleBehaviorChange = useCallback((item: BehaviorOption | null) => {\n if (item) {\n setState(prev => ({ ...prev, behavior: item.value as DisplayBehavior }));\n }\n }, []);\n\n const handleFormSelect = useCallback(\n (formId: number) => {\n requestFormFields(formId);\n },\n [requestFormFields],\n );\n\n const canSave = useMemo(() => {\n if (isFieldDataLoading) {\n return false;\n }\n for (const group of state.groups) {\n for (const condition of group.conditions) {\n if (!condition.dataPointKey) {\n return false;\n }\n if (condition.operator === 'is_empty' || condition.operator === 'is_not_empty') {\n continue;\n }\n const trimmedValue = condition.value.trim();\n if (!trimmedValue) {\n return false;\n }\n const fieldType =\n allFieldOptions.find(opt => opt.fullKey === condition.dataPointKey)\n ?.fieldType ?? 'string';\n if (fieldType === 'number' && !NUMERIC_VALUE_RE.test(trimmedValue)) {\n return false;\n }\n }\n }\n return state.groups.length > 0;\n }, [allFieldOptions, isFieldDataLoading, state.groups]);\n\n if (!isOpen) {\n return null;\n }\n\n /*\n * Render in-place by default (same as pdf-editor). Anvil2 3.x CSS is nested under\n * `.anvil2`; portaling to `document.body` / bare shadow root drops that ancestor and\n * styles disappear in MFE prod. Native `<dialog>` top-layer still stacks correctly.\n */\n const dialog = (\n <Dialog open={isOpen} onClose={handleClose} size=\"xlarge\">\n <Dialog.Header>Conditions</Dialog.Header>\n <Dialog.Content>\n <Flex\n direction=\"column\"\n gap=\"4\"\n style={{\n maxHeight: MODAL_CONTENT_MAX_HEIGHT,\n overflowY: 'auto',\n paddingRight: 8,\n width: '100%',\n }}\n >\n <ConditionGroupsSection\n behaviorSection={\n <Flex\n direction=\"row\"\n alignItems=\"center\"\n gap=\"2\"\n style={{ flexWrap: 'wrap' }}\n >\n <Text size=\"small\" subdued variant=\"body\">\n Select to include or exclude selected template/file.\n </Text>\n <div style={{ width: 90 }}>\n <Combobox.Select\n disableClearSelection\n itemToKey={(item: BehaviorOption | null) =>\n item?.value ?? ''\n }\n itemToString={(item: BehaviorOption | null) =>\n item?.label ?? ''\n }\n items={[...BEHAVIOR_OPTIONS]}\n selectedItem={selectedBehavior}\n onChange={handleBehaviorChange}\n >\n <Combobox.SelectTrigger\n label=\"\"\n placeholder=\"Select...\"\n size=\"small\"\n />\n <Combobox.Content>\n {({\n items,\n }: {\n items: BehaviorOption[];\n }) => (\n <Combobox.List>\n {items.map((item, i) => (\n <Combobox.Item\n index={i}\n item={item}\n key={item.value}\n >\n {item.label}\n </Combobox.Item>\n ))}\n </Combobox.List>\n )}\n </Combobox.Content>\n </Combobox.Select>\n </div>\n </Flex>\n }\n dataPointOptions={dataPointOptions}\n formFieldOptions={formFieldOptions}\n forms={forms}\n groups={state.groups}\n matchType={matchType}\n onFormSelect={handleFormSelect}\n onMatchTypeChange={setMatchType}\n onUpdateGroup={updateGroup}\n />\n </Flex>\n </Dialog.Content>\n <Dialog.Footer sticky>\n <Flex\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n gap=\"3\"\n style={{ width: '100%' }}\n >\n <Button appearance=\"secondary\" onClick={handleClose}>\n Cancel\n </Button>\n <Button appearance=\"primary\" disabled={!canSave} onClick={handleSave}>\n Save Changes\n </Button>\n </Flex>\n </Dialog.Footer>\n </Dialog>\n );\n\n if (portalContainerProp) {\n return createPortal(<ThemeProvider>{dialog}</ThemeProvider>, portalContainerProp);\n }\n\n return dialog;\n};\n"],"names":["Button","Combobox","Dialog","Flex","Text","ThemeProvider","useCallback","useEffect","useMemo","useState","createPortal","ConditionGroupsSection","defaultState","MODAL_CONTENT_MAX_HEIGHT","onDisplayCondition","buildUnlayerDisplayCondition","parseUnlayerDisplayCondition","getSchemaDataPointOptions","useConditionForms","BEHAVIOR_OPTIONS","label","value","NUMERIC_VALUE_RE","deriveMatchType","conditionState","firstGroup","groups","conditions","length","hasOr","some","c","logicalOperator","applyMatchTypeToState","matchType","logicalOp","map","group","groupIndex","i","DisplayConditionModal","props","onConditionFormSelect","onConditionalsOpen","portalContainer","portalContainerProp","schema","request","setRequest","isOpen","setIsOpen","state","setState","setMatchType","formFieldOptions","forms","isFieldDataLoading","loadForms","requestFormFields","dataPointOptions","allFieldOptions","nextRequest","existing","data","parsed","initialState","handleClose","handleSave","finalState","condition","done","updateGroup","index","prev","next","selectedBehavior","find","opt","behavior","handleBehaviorChange","item","handleFormSelect","formId","canSave","dataPointKey","operator","trimmedValue","trim","fieldType","fullKey","test","dialog","open","onClose","size","Header","Content","direction","gap","style","maxHeight","overflowY","paddingRight","width","behaviorSection","alignItems","flexWrap","subdued","variant","div","Select","disableClearSelection","itemToKey","itemToString","items","selectedItem","onChange","SelectTrigger","placeholder","List","Item","onFormSelect","onMatchTypeChange","onUpdateGroup","Footer","sticky","justifyContent","appearance","onClick","disabled"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DisplayConditionModal.js","sourceRoot":"","sources":["../../src/display-conditions/DisplayConditionModal.tsx"],"names":[],"mappings":"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"}
|