@servicetitan/dte-pdf-editor 1.53.0 → 1.55.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/components/display-conditions/condition-row.d.ts.map +1 -1
- package/dist/components/display-conditions/condition-row.js +3 -19
- 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/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/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 +1 -0
- package/dist/interface/types.d.ts.map +1 -1
- package/dist/utils/conditions/schema-data-points.utils.d.ts.map +1 -1
- package/dist/utils/conditions/schema-data-points.utils.js +2 -1
- 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 +6 -27
- package/src/components/display-conditions/condition-value-control.tsx +90 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useLookupOptions.ts +86 -0
- package/src/index.ts +1 -0
- package/src/interface/host-events.ts +118 -0
- package/src/interface/types.ts +1 -0
- package/src/utils/conditions/schema-data-points.utils.ts +2 -1
|
@@ -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,EAMX,MAAM,uBAAuB,CAAC;
|
|
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
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;
|
|
@@ -123,10 +111,6 @@ export function ConditionRow({ canRemove, condition, fillableOptions, formFields
|
|
|
123
111
|
const selectedRadioValue = useMemo(() => { var _a; return (_a = radioValueOptions.find(option => option.id === condition.value)) !== null && _a !== void 0 ? _a : null; }, [radioValueOptions, condition.value]);
|
|
124
112
|
const selectedOperator = useMemo(() => { var _a; return (_a = operatorItems.find(op => op.value === condition.operator)) !== null && _a !== void 0 ? _a : null; }, [operatorItems, condition.operator]);
|
|
125
113
|
const isValueLess = VALUE_LESS_OPERATORS.includes(condition.operator);
|
|
126
|
-
const handleValueChange = (raw) => {
|
|
127
|
-
const value = fieldType === 'number' ? sanitizeNumericInput(raw) : raw;
|
|
128
|
-
onChange({ ...condition, value });
|
|
129
|
-
};
|
|
130
114
|
const resetOperatorForFieldType = (nextFieldType, nextIsRadioGroup) => {
|
|
131
115
|
const nextOperatorItems = nextIsRadioGroup
|
|
132
116
|
? RADIO_OPERATORS
|
|
@@ -207,7 +191,7 @@ export function ConditionRow({ canRemove, condition, fillableOptions, formFields
|
|
|
207
191
|
...condition,
|
|
208
192
|
value: (_a = item === null || item === void 0 ? void 0 : item.id) !== null && _a !== void 0 ? _a : '',
|
|
209
193
|
});
|
|
210
|
-
}, 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(
|
|
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: {
|
|
211
195
|
padding: '6px 12px',
|
|
212
196
|
}, children: _jsx(Button, { appearance: "secondary", "aria-label": "Remove condition", icon: { before: TrashIcon }, onClick: onRemove }) }))] })] }));
|
|
213
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.SearchField, { label: "Value", placeholder: "Search 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":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAW/C,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,IAAI,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,UAAU,EAAE,CAAC;QACb,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChB,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9F,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,GAC8B;IACnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,OAAO,CAC1B,GAAG,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,mCAAI,IAAI,CAAA,EAAA,EAC1D,CAAC,OAAO,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CACH,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,QAAC,KAAK,EAAC,EAAE,EAAC,WAAW,EAAC,EAAE,gBAAY,OAAO,GAAG,CAC3F,CAAC;IACN,CAAC;IAED,yFAAyF;IACzF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE;YACrC,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,OAAO,CACH,KAAC,SAAS,IACN,KAAK,EAAC,OAAO,EACb,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,WAAW,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,gBACxD,OAAO,KACd,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAC1D,CACL,CAAC;IACN,CAAC;IAED,OAAO,CACH,MAAC,QAAQ,IACL,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,cAAc,EAC5B,SAAS,EAAE,CAAC,IAAyB,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,EAAE,CAAA,EAAA,EACzD,YAAY,EAAE,CAAC,IAAyB,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE,CAAA,EAAA,EAC9D,QAAQ,EAAE,CAAC,IAAyB,EAAE,EAAE,WAAC,OAAA,QAAQ,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,EAAE,CAAC,CAAA,EAAA,EAClE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,aAElC,KAAC,QAAQ,CAAC,WAAW,IAAC,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,iBAAiB,GAAG,EACpE,KAAC,QAAQ,CAAC,OAAO,cACZ,CAAC,EAAE,KAAK,EAA6B,EAAE,EAAE,CAAC,CACvC,KAAC,QAAQ,CAAC,IAAI,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,YAC9B,IAAI,CAAC,KAAK,IAD2B,IAAI,CAAC,GAAG,CAElC,CACnB,CAAC,GACU,CACnB,GACc,IACZ,CACd,CAAC;AACN,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
package/dist/hooks/index.js
CHANGED
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type LookupOption } from '../interface/host-events';
|
|
2
|
+
/**
|
|
3
|
+
* - `idle` -> no lookup source (or a searchable source we skip for now): use free-text input.
|
|
4
|
+
* - `loading` -> request in flight: show a disabled/loading value control.
|
|
5
|
+
* - `ready` -> host returned options: render the dropdown.
|
|
6
|
+
* - `fallback` -> empty/error/timeout: fall back to free-text so the user is never blocked.
|
|
7
|
+
*/
|
|
8
|
+
export type LookupOptionsStatus = 'idle' | 'loading' | 'ready' | 'fallback';
|
|
9
|
+
interface UseLookupOptionsResult {
|
|
10
|
+
status: LookupOptionsStatus;
|
|
11
|
+
options: LookupOption[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Requests host-resolved dropdown options for a field's `fieldLookupSource` and exposes the
|
|
15
|
+
* resulting render state.
|
|
16
|
+
*
|
|
17
|
+
* Re-runs whenever `sourceKey` changes, ignores stale responses whose `requestId` does not match
|
|
18
|
+
* the latest request, and tears down its listener/timeout on unmount or source change. Falls back
|
|
19
|
+
* to free text for empty/searchable sources and on error/timeout so the user is never blocked.
|
|
20
|
+
*/
|
|
21
|
+
export declare const useLookupOptions: (sourceKey: string | undefined) => UseLookupOptionsResult;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=useLookupOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLookupOptions.d.ts","sourceRoot":"","sources":["../../src/hooks/useLookupOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,KAAK,YAAY,EAEpB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAK5E,UAAU,sBAAsB;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,sBAoDhE,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { createLookupRequestId, emitLookupOptionsRequest, isSearchableLookupSource, onLookupOptionsResponse, } from '../interface/host-events';
|
|
3
|
+
/** Time to wait for the host before falling back to free-text input. */
|
|
4
|
+
const LOOKUP_OPTIONS_TIMEOUT_MS = 10000;
|
|
5
|
+
/**
|
|
6
|
+
* Requests host-resolved dropdown options for a field's `fieldLookupSource` and exposes the
|
|
7
|
+
* resulting render state.
|
|
8
|
+
*
|
|
9
|
+
* Re-runs whenever `sourceKey` changes, ignores stale responses whose `requestId` does not match
|
|
10
|
+
* the latest request, and tears down its listener/timeout on unmount or source change. Falls back
|
|
11
|
+
* to free text for empty/searchable sources and on error/timeout so the user is never blocked.
|
|
12
|
+
*/
|
|
13
|
+
export const useLookupOptions = (sourceKey) => {
|
|
14
|
+
const [status, setStatus] = useState('idle');
|
|
15
|
+
const [options, setOptions] = useState([]);
|
|
16
|
+
const latestRequestIdRef = useRef(null);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const normalizedSourceKey = sourceKey === null || sourceKey === void 0 ? void 0 : sourceKey.trim();
|
|
19
|
+
// No source, or a searchable source we intentionally skip for now.
|
|
20
|
+
if (!normalizedSourceKey || isSearchableLookupSource(normalizedSourceKey)) {
|
|
21
|
+
latestRequestIdRef.current = null;
|
|
22
|
+
setStatus('idle');
|
|
23
|
+
setOptions([]);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const requestId = createLookupRequestId();
|
|
27
|
+
latestRequestIdRef.current = requestId;
|
|
28
|
+
setStatus('loading');
|
|
29
|
+
setOptions([]);
|
|
30
|
+
const timeoutId = setTimeout(() => {
|
|
31
|
+
if (latestRequestIdRef.current !== requestId) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
setStatus('fallback');
|
|
35
|
+
setOptions([]);
|
|
36
|
+
}, LOOKUP_OPTIONS_TIMEOUT_MS);
|
|
37
|
+
const unsubscribe = onLookupOptionsResponse(response => {
|
|
38
|
+
// Ignore stale responses (different request, or superseded selection).
|
|
39
|
+
if (response.requestId !== requestId || latestRequestIdRef.current !== requestId) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
clearTimeout(timeoutId);
|
|
43
|
+
if (response.options.length > 0) {
|
|
44
|
+
setOptions(response.options);
|
|
45
|
+
setStatus('ready');
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
setOptions([]);
|
|
49
|
+
setStatus('fallback');
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey });
|
|
53
|
+
return () => {
|
|
54
|
+
clearTimeout(timeoutId);
|
|
55
|
+
unsubscribe();
|
|
56
|
+
};
|
|
57
|
+
}, [sourceKey]);
|
|
58
|
+
return { status, options };
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=useLookupOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLookupOptions.js","sourceRoot":"","sources":["../../src/hooks/useLookupOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EAExB,uBAAuB,GAC1B,MAAM,0BAA0B,CAAC;AAUlC,wEAAwE;AACxE,MAAM,yBAAyB,GAAG,KAAM,CAAC;AAOzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA6B,EAA0B,EAAE;IACtF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,MAAM,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,mBAAmB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,CAAC;QAC9C,mEAAmE;QACnE,IAAI,CAAC,mBAAmB,IAAI,wBAAwB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxE,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,kBAAkB,CAAC,OAAO,GAAG,SAAS,CAAC;QACvC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3C,OAAO;YACX,CAAC;YACD,SAAS,CAAC,UAAU,CAAC,CAAC;YACtB,UAAU,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAE9B,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,EAAE;YACnD,uEAAuE;YACvE,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/E,OAAO;YACX,CAAC;YACD,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7B,SAAS,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,EAAE,CAAC,CAAC;gBACf,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wBAAwB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAExE,OAAO,GAAG,EAAE;YACR,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,WAAW,EAAE,CAAC;QAClB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host <-> editor contract for the "data-model lookup source" dropdown options (BYOD editor).
|
|
3
|
+
*
|
|
4
|
+
* A schema field can be tagged (in the template-type editor) with `options.fieldLookupSource`.
|
|
5
|
+
* When such a field is selected in the conditional-logic UI, the editor does NOT own the option
|
|
6
|
+
* data — it asks the HOST for it over the EventTarget bus below and renders whatever the host
|
|
7
|
+
* returns.
|
|
8
|
+
*
|
|
9
|
+
* Transport mirrors the unlayer `displayConditionController` / `lookupOptionsController` pattern: a
|
|
10
|
+
* module-scoped `EventTarget` shared by every consumer of this package (no global `window`
|
|
11
|
+
* pollution, no cross-instance leakage). The host imports `onLookupOptionsRequest` /
|
|
12
|
+
* `emitLookupOptionsResponse`; the editor uses `emitLookupOptionsRequest` / `onLookupOptionsResponse`.
|
|
13
|
+
*
|
|
14
|
+
* Event names (host <-> editor):
|
|
15
|
+
* - "dte-byod-client-mfe:lookup-options-request" (editor -> host)
|
|
16
|
+
* - "dte-byod-client-mfe:lookup-options-response" (host -> editor)
|
|
17
|
+
*
|
|
18
|
+
* The host-side resolver is implemented separately (it wires these events to the app's data
|
|
19
|
+
* providers, e.g. job types / states).
|
|
20
|
+
*/
|
|
21
|
+
/** A single selectable option for a lookup-backed condition value. */
|
|
22
|
+
export interface LookupOption {
|
|
23
|
+
/** Human-readable text shown in the dropdown. */
|
|
24
|
+
label: string;
|
|
25
|
+
/** Value baked into the condition when the option is selected. */
|
|
26
|
+
key: string;
|
|
27
|
+
}
|
|
28
|
+
/** editor -> host: request the predefined options for a lookup source. */
|
|
29
|
+
export interface LookupOptionsRequest {
|
|
30
|
+
/** Correlates a response to its originating request. */
|
|
31
|
+
requestId: string;
|
|
32
|
+
/** The field's `options.fieldLookupSource` value. */
|
|
33
|
+
sourceKey: string;
|
|
34
|
+
/** Reserved for searchable sources (e.g. "city"); omitted for full-list sources. */
|
|
35
|
+
query?: string;
|
|
36
|
+
}
|
|
37
|
+
/** host -> editor: the resolved options for a previously emitted request. */
|
|
38
|
+
export interface LookupOptionsResponse {
|
|
39
|
+
/** Echoes {@link LookupOptionsRequest.requestId}; responses with a stale id are ignored. */
|
|
40
|
+
requestId: string;
|
|
41
|
+
options: LookupOption[];
|
|
42
|
+
}
|
|
43
|
+
/** editor -> host event name. */
|
|
44
|
+
export declare const LOOKUP_OPTIONS_REQUEST_EVENT = "dte-byod-client-mfe:lookup-options-request";
|
|
45
|
+
/** host -> editor event name. */
|
|
46
|
+
export declare const LOOKUP_OPTIONS_RESPONSE_EVENT = "dte-byod-client-mfe:lookup-options-response";
|
|
47
|
+
/**
|
|
48
|
+
* Lookup sources that require the host to search an API per typed query. These keep the free-text
|
|
49
|
+
* input for now (the editor only handles full-list, load-once sources).
|
|
50
|
+
*/
|
|
51
|
+
export declare const SEARCHABLE_LOOKUP_SOURCES: readonly ["city"];
|
|
52
|
+
export type SearchableLookupSource = (typeof SEARCHABLE_LOOKUP_SOURCES)[number];
|
|
53
|
+
/** True when a lookup source is searchable (host-side per-query search) rather than a full list. */
|
|
54
|
+
export declare const isSearchableLookupSource: (sourceKey: string | undefined) => boolean;
|
|
55
|
+
/** Generate a unique request id for correlating request/response pairs. */
|
|
56
|
+
export declare const createLookupRequestId: () => string;
|
|
57
|
+
/** editor -> host: ask the host to resolve options for a lookup source. */
|
|
58
|
+
export declare const emitLookupOptionsRequest: (request: LookupOptionsRequest) => void;
|
|
59
|
+
/** host side: listen for editor requests. Returns an unsubscribe function. */
|
|
60
|
+
export declare const onLookupOptionsRequest: (listener: (request: LookupOptionsRequest) => void) => () => void;
|
|
61
|
+
/** host -> editor: deliver resolved options back to the editor. */
|
|
62
|
+
export declare const emitLookupOptionsResponse: (response: LookupOptionsResponse) => void;
|
|
63
|
+
/** editor side: listen for host responses. Returns an unsubscribe function. */
|
|
64
|
+
export declare const onLookupOptionsResponse: (listener: (response: LookupOptionsResponse) => void) => () => void;
|
|
65
|
+
//# sourceMappingURL=host-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-events.d.ts","sourceRoot":"","sources":["../../src/interface/host-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,YAAY;IACzB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACjC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IAClC,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,iCAAiC;AACjC,eAAO,MAAM,4BAA4B,+CAA+C,CAAC;AACzF,iCAAiC;AACjC,eAAO,MAAM,6BAA6B,gDAAgD,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,mBAAoB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,oGAAoG;AACpG,eAAO,MAAM,wBAAwB,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,OAExE,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,QAAO,MAExC,CAAC;AAIF,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,GAAI,SAAS,oBAAoB,SAIrE,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,GAAI,UAAU,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,eAcvF,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,GAAI,UAAU,qBAAqB,SAIxE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,GAAI,UAAU,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,eAc1F,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host <-> editor contract for the "data-model lookup source" dropdown options (BYOD editor).
|
|
3
|
+
*
|
|
4
|
+
* A schema field can be tagged (in the template-type editor) with `options.fieldLookupSource`.
|
|
5
|
+
* When such a field is selected in the conditional-logic UI, the editor does NOT own the option
|
|
6
|
+
* data — it asks the HOST for it over the EventTarget bus below and renders whatever the host
|
|
7
|
+
* returns.
|
|
8
|
+
*
|
|
9
|
+
* Transport mirrors the unlayer `displayConditionController` / `lookupOptionsController` pattern: a
|
|
10
|
+
* module-scoped `EventTarget` shared by every consumer of this package (no global `window`
|
|
11
|
+
* pollution, no cross-instance leakage). The host imports `onLookupOptionsRequest` /
|
|
12
|
+
* `emitLookupOptionsResponse`; the editor uses `emitLookupOptionsRequest` / `onLookupOptionsResponse`.
|
|
13
|
+
*
|
|
14
|
+
* Event names (host <-> editor):
|
|
15
|
+
* - "dte-byod-client-mfe:lookup-options-request" (editor -> host)
|
|
16
|
+
* - "dte-byod-client-mfe:lookup-options-response" (host -> editor)
|
|
17
|
+
*
|
|
18
|
+
* The host-side resolver is implemented separately (it wires these events to the app's data
|
|
19
|
+
* providers, e.g. job types / states).
|
|
20
|
+
*/
|
|
21
|
+
/** editor -> host event name. */
|
|
22
|
+
export const LOOKUP_OPTIONS_REQUEST_EVENT = 'dte-byod-client-mfe:lookup-options-request';
|
|
23
|
+
/** host -> editor event name. */
|
|
24
|
+
export const LOOKUP_OPTIONS_RESPONSE_EVENT = 'dte-byod-client-mfe:lookup-options-response';
|
|
25
|
+
/**
|
|
26
|
+
* Lookup sources that require the host to search an API per typed query. These keep the free-text
|
|
27
|
+
* input for now (the editor only handles full-list, load-once sources).
|
|
28
|
+
*/
|
|
29
|
+
export const SEARCHABLE_LOOKUP_SOURCES = ['city'];
|
|
30
|
+
/** True when a lookup source is searchable (host-side per-query search) rather than a full list. */
|
|
31
|
+
export const isSearchableLookupSource = (sourceKey) => {
|
|
32
|
+
return !!sourceKey && SEARCHABLE_LOOKUP_SOURCES.includes(sourceKey);
|
|
33
|
+
};
|
|
34
|
+
/** Generate a unique request id for correlating request/response pairs. */
|
|
35
|
+
export const createLookupRequestId = () => {
|
|
36
|
+
return `lookup-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
|
|
37
|
+
};
|
|
38
|
+
const lookupOptionsEvents = new EventTarget();
|
|
39
|
+
/** editor -> host: ask the host to resolve options for a lookup source. */
|
|
40
|
+
export const emitLookupOptionsRequest = (request) => {
|
|
41
|
+
lookupOptionsEvents.dispatchEvent(new CustomEvent(LOOKUP_OPTIONS_REQUEST_EVENT, { detail: request }));
|
|
42
|
+
};
|
|
43
|
+
/** host side: listen for editor requests. Returns an unsubscribe function. */
|
|
44
|
+
export const onLookupOptionsRequest = (listener) => {
|
|
45
|
+
const handler = (event) => {
|
|
46
|
+
const detail = event.detail;
|
|
47
|
+
if (!detail) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
listener(detail);
|
|
51
|
+
};
|
|
52
|
+
lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
|
|
53
|
+
return () => {
|
|
54
|
+
lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
/** host -> editor: deliver resolved options back to the editor. */
|
|
58
|
+
export const emitLookupOptionsResponse = (response) => {
|
|
59
|
+
lookupOptionsEvents.dispatchEvent(new CustomEvent(LOOKUP_OPTIONS_RESPONSE_EVENT, { detail: response }));
|
|
60
|
+
};
|
|
61
|
+
/** editor side: listen for host responses. Returns an unsubscribe function. */
|
|
62
|
+
export const onLookupOptionsResponse = (listener) => {
|
|
63
|
+
const handler = (event) => {
|
|
64
|
+
const detail = event.detail;
|
|
65
|
+
if (!detail) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
listener(detail);
|
|
69
|
+
};
|
|
70
|
+
lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
|
|
71
|
+
return () => {
|
|
72
|
+
lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=host-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-events.js","sourceRoot":"","sources":["../../src/interface/host-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA2BH,iCAAiC;AACjC,MAAM,CAAC,MAAM,4BAA4B,GAAG,4CAA4C,CAAC;AACzF,iCAAiC;AACjC,MAAM,CAAC,MAAM,6BAA6B,GAAG,6CAA6C,CAAC;AAE3F;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,CAAU,CAAC;AAI3D,oGAAoG;AACpG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAA6B,EAAW,EAAE;IAC/E,OAAO,CAAC,CAAC,SAAS,IAAK,yBAA+C,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAW,EAAE;IAC9C,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAA6B,EAAE,EAAE;IACtE,mBAAmB,CAAC,aAAa,CAC7B,IAAI,WAAW,CAAuB,4BAA4B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAC3F,CAAC;AACN,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAiD,EAAE,EAAE;IACxF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAI,KAA2C,CAAC,MAAM,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,mBAAmB,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO,GAAG,EAAE;QACR,mBAAmB,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAA+B,EAAE,EAAE;IACzE,mBAAmB,CAAC,aAAa,CAC7B,IAAI,WAAW,CAAwB,6BAA6B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAC9F,CAAC;AACN,CAAC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAmD,EAAE,EAAE;IAC3F,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAI,KAA4C,CAAC,MAAM,CAAC;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,mBAAmB,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAE7E,OAAO,GAAG,EAAE;QACR,mBAAmB,CAAC,mBAAmB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interface/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interface/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-data-points.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAEf,KAAK,QAAQ,EAEb,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-data-points.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAEf,KAAK,QAAQ,EAEb,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;AA+C/B,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,eAAe,EAAE,CAG7F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC/B,eAAe,EAAE,CA+CnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,cAAc,EAAE,QAAQ,EAAE,GAAG,SAAS,GACvC,eAAe,EAAE,CAKnB"}
|
|
@@ -7,7 +7,7 @@ function isValueNode(node) {
|
|
|
7
7
|
return (node === null || node === void 0 ? void 0 : node.type) === 'string' || (node === null || node === void 0 ? void 0 : node.type) === 'number';
|
|
8
8
|
}
|
|
9
9
|
function walkSchema(schema, prefix, parentTitles) {
|
|
10
|
-
var _a;
|
|
10
|
+
var _a, _b, _c;
|
|
11
11
|
if (!(schema === null || schema === void 0 ? void 0 : schema.properties)) {
|
|
12
12
|
return [];
|
|
13
13
|
}
|
|
@@ -25,6 +25,7 @@ function walkSchema(schema, prefix, parentTitles) {
|
|
|
25
25
|
fieldType,
|
|
26
26
|
fullKey,
|
|
27
27
|
title: fullTitle || fullKey,
|
|
28
|
+
lookupSource: (_c = (_b = node.options) === null || _b === void 0 ? void 0 : _b.fieldLookupSource) === null || _c === void 0 ? void 0 : _c.trim(),
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-data-points.utils.js","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAIhB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,mBAAmB,CACxB,IAEe;;IAEf,OAAO,CACH,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,iBAAiB,MAAK,IAAI,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,qBAAqB,MAAK,IAAI,CAC7F,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAChB,IAAgB;IAEhB,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CACf,MAAgC,EAChC,MAAc,EACd,YAAsB;;IAEtB,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,MAAM,KAAK,GAAG,MAAC,IAA2B,CAAC,KAAK,mCAAI,GAAG,CAAC;QACxD,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAoB,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS;gBACT,OAAO;gBACP,KAAK,EAAE,SAAS,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"schema-data-points.utils.js","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAIhB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,mBAAmB,CACxB,IAEe;;IAEf,OAAO,CACH,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,iBAAiB,MAAK,IAAI,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,qBAAqB,MAAK,IAAI,CAC7F,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAChB,IAAgB;IAEhB,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CACf,MAAgC,EAChC,MAAc,EACd,YAAsB;;IAEtB,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,MAAM,KAAK,GAAG,MAAC,IAA2B,CAAC,KAAK,mCAAI,GAAG,CAAC;QACxD,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAoB,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS;gBACT,OAAO;gBACP,KAAK,EAAE,SAAS,IAAI,OAAO;gBAC3B,YAAY,EAAE,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,0CAAE,IAAI,EAAE;aACxD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAgC;IACtE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC7C,MAA8B;;IAE9B,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAsB,CAAC;IAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC;YACvD,SAAS;QACb,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAA,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,SAAS;QACb,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC;YACR,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI;SACnC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClD,MAAM,iBAAiB,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAC/C,CAAC;QACF,MAAM,SAAS,GACX,MAAA,MAAA,MAAA,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,0CAAE,SAAS,mCACrE,MAAA,iBAAiB,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAC3B,IAAI,CAAC;QAET,MAAM,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC/C,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,EAAE;aAC3C,CAAC,CAAC;SACN,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAC/B,MAAgC,EAChC,cAAsC;IAEtC,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button, Chip, Combobox, Flex, Text
|
|
1
|
+
import { Button, Chip, Combobox, Flex, Text } from '@servicetitan/anvil2';
|
|
2
2
|
import TrashIcon from '@servicetitan/anvil2/assets/icons/material/round/delete.svg';
|
|
3
3
|
import { useEffect, useMemo, useState } from 'react';
|
|
4
4
|
import {
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
inferDisplayConditionSourceKind,
|
|
22
22
|
parseFormFieldKey,
|
|
23
23
|
} from '../../utils';
|
|
24
|
+
import { ConditionValueControl } from './condition-value-control';
|
|
24
25
|
|
|
25
26
|
export interface ConditionRowProps {
|
|
26
27
|
canRemove: boolean;
|
|
@@ -57,20 +58,6 @@ const SOURCE_KIND_LABELS: Record<DisplayConditionSourceKind, string> = {
|
|
|
57
58
|
[FieldTypeEnum.forms]: 'Form',
|
|
58
59
|
};
|
|
59
60
|
|
|
60
|
-
function sanitizeNumericInput(raw: string): string {
|
|
61
|
-
let value = raw.replaceAll(/[^0-9.-]/g, '');
|
|
62
|
-
const isNegative = value.startsWith('-');
|
|
63
|
-
value = value.replaceAll('-', '');
|
|
64
|
-
if (isNegative) {
|
|
65
|
-
value = `-${value}`;
|
|
66
|
-
}
|
|
67
|
-
const firstDot = value.indexOf('.');
|
|
68
|
-
if (firstDot >= 0) {
|
|
69
|
-
value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
|
|
70
|
-
}
|
|
71
|
-
return value;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
61
|
const pickDefaultSourceKind = (options: SourceKindOption[]) => {
|
|
75
62
|
return options[0]?.value ?? FieldTypeEnum.dataModel;
|
|
76
63
|
};
|
|
@@ -229,11 +216,6 @@ export function ConditionRow({
|
|
|
229
216
|
|
|
230
217
|
const isValueLess = VALUE_LESS_OPERATORS.includes(condition.operator as ConditionOperator);
|
|
231
218
|
|
|
232
|
-
const handleValueChange = (raw: string) => {
|
|
233
|
-
const value = fieldType === 'number' ? sanitizeNumericInput(raw) : raw;
|
|
234
|
-
onChange({ ...condition, value });
|
|
235
|
-
};
|
|
236
|
-
|
|
237
219
|
const resetOperatorForFieldType = (
|
|
238
220
|
nextFieldType: 'number' | 'string',
|
|
239
221
|
nextIsRadioGroup: boolean,
|
|
@@ -487,14 +469,11 @@ export function ConditionRow({
|
|
|
487
469
|
</Combobox.Content>
|
|
488
470
|
</Combobox>
|
|
489
471
|
) : (
|
|
490
|
-
<
|
|
491
|
-
label="Value"
|
|
492
|
-
flex={1}
|
|
472
|
+
<ConditionValueControl
|
|
493
473
|
value={condition.value}
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
{...(fieldType === 'number' && { inputMode: 'decimal' })}
|
|
474
|
+
fieldType={fieldType}
|
|
475
|
+
lookupSource={selectedDataPoint?.lookupSource}
|
|
476
|
+
onChange={value => onChange({ ...condition, value })}
|
|
498
477
|
/>
|
|
499
478
|
)}
|
|
500
479
|
</Flex>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Combobox, TextField } from '@servicetitan/anvil2';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useLookupOptions } from '../../hooks';
|
|
4
|
+
import type { LookupOption } from '../../interface/host-events';
|
|
5
|
+
|
|
6
|
+
export interface ConditionValueControlProps {
|
|
7
|
+
value: string;
|
|
8
|
+
fieldType: 'number' | 'string';
|
|
9
|
+
/** The selected data point's `options.fieldLookupSource`; empty -> free-text input. */
|
|
10
|
+
lookupSource?: string;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const sanitizeNumericInput = (raw: string): string => {
|
|
15
|
+
let value = raw.replaceAll(/[^0-9.-]/g, '');
|
|
16
|
+
const isNegative = value.startsWith('-');
|
|
17
|
+
value = value.replaceAll('-', '');
|
|
18
|
+
if (isNegative) {
|
|
19
|
+
value = `-${value}`;
|
|
20
|
+
}
|
|
21
|
+
const firstDot = value.indexOf('.');
|
|
22
|
+
if (firstDot >= 0) {
|
|
23
|
+
value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export function ConditionValueControl({
|
|
29
|
+
fieldType,
|
|
30
|
+
lookupSource,
|
|
31
|
+
onChange,
|
|
32
|
+
value,
|
|
33
|
+
}: Readonly<ConditionValueControlProps>) {
|
|
34
|
+
const { options, status } = useLookupOptions(lookupSource);
|
|
35
|
+
|
|
36
|
+
const selectedOption = useMemo(
|
|
37
|
+
() => options.find(option => option.key === value) ?? null,
|
|
38
|
+
[options, value],
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
if (status === 'loading') {
|
|
42
|
+
return (
|
|
43
|
+
<TextField label="Value" flex={1} disabled value="" placeholder="" aria-label="Value" />
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// idle / fallback (no source, searchable source, empty, error, or timeout) -> free text.
|
|
48
|
+
if (status !== 'ready') {
|
|
49
|
+
const handleTextChange = (raw: string) => {
|
|
50
|
+
onChange(fieldType === 'number' ? sanitizeNumericInput(raw) : raw);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<TextField
|
|
55
|
+
label="Value"
|
|
56
|
+
flex={1}
|
|
57
|
+
value={value}
|
|
58
|
+
onChange={e => handleTextChange(e.target.value)}
|
|
59
|
+
placeholder={fieldType === 'number' ? 'e.g. 1.5' : 'Enter value...'}
|
|
60
|
+
aria-label="Value"
|
|
61
|
+
{...(fieldType === 'number' && { inputMode: 'decimal' })}
|
|
62
|
+
/>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<Combobox
|
|
68
|
+
flex={1}
|
|
69
|
+
items={options}
|
|
70
|
+
selectedItem={selectedOption}
|
|
71
|
+
itemToKey={(item: LookupOption | null) => item?.key ?? ''}
|
|
72
|
+
itemToString={(item: LookupOption | null) => item?.label ?? ''}
|
|
73
|
+
onChange={(item: LookupOption | null) => onChange(item?.key ?? '')}
|
|
74
|
+
filterOptions={{ keys: ['label'] }}
|
|
75
|
+
>
|
|
76
|
+
<Combobox.SearchField label="Value" placeholder="Search value..." />
|
|
77
|
+
<Combobox.Content>
|
|
78
|
+
{({ items }: { items: LookupOption[] }) => (
|
|
79
|
+
<Combobox.List>
|
|
80
|
+
{items.map((item, i) => (
|
|
81
|
+
<Combobox.Item index={i} item={item} key={item.key}>
|
|
82
|
+
{item.label}
|
|
83
|
+
</Combobox.Item>
|
|
84
|
+
))}
|
|
85
|
+
</Combobox.List>
|
|
86
|
+
)}
|
|
87
|
+
</Combobox.Content>
|
|
88
|
+
</Combobox>
|
|
89
|
+
);
|
|
90
|
+
}
|
package/src/hooks/index.ts
CHANGED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
createLookupRequestId,
|
|
4
|
+
emitLookupOptionsRequest,
|
|
5
|
+
isSearchableLookupSource,
|
|
6
|
+
type LookupOption,
|
|
7
|
+
onLookupOptionsResponse,
|
|
8
|
+
} from '../interface/host-events';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* - `idle` -> no lookup source (or a searchable source we skip for now): use free-text input.
|
|
12
|
+
* - `loading` -> request in flight: show a disabled/loading value control.
|
|
13
|
+
* - `ready` -> host returned options: render the dropdown.
|
|
14
|
+
* - `fallback` -> empty/error/timeout: fall back to free-text so the user is never blocked.
|
|
15
|
+
*/
|
|
16
|
+
export type LookupOptionsStatus = 'idle' | 'loading' | 'ready' | 'fallback';
|
|
17
|
+
|
|
18
|
+
/** Time to wait for the host before falling back to free-text input. */
|
|
19
|
+
const LOOKUP_OPTIONS_TIMEOUT_MS = 10_000;
|
|
20
|
+
|
|
21
|
+
interface UseLookupOptionsResult {
|
|
22
|
+
status: LookupOptionsStatus;
|
|
23
|
+
options: LookupOption[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Requests host-resolved dropdown options for a field's `fieldLookupSource` and exposes the
|
|
28
|
+
* resulting render state.
|
|
29
|
+
*
|
|
30
|
+
* Re-runs whenever `sourceKey` changes, ignores stale responses whose `requestId` does not match
|
|
31
|
+
* the latest request, and tears down its listener/timeout on unmount or source change. Falls back
|
|
32
|
+
* to free text for empty/searchable sources and on error/timeout so the user is never blocked.
|
|
33
|
+
*/
|
|
34
|
+
export const useLookupOptions = (sourceKey: string | undefined): UseLookupOptionsResult => {
|
|
35
|
+
const [status, setStatus] = useState<LookupOptionsStatus>('idle');
|
|
36
|
+
const [options, setOptions] = useState<LookupOption[]>([]);
|
|
37
|
+
const latestRequestIdRef = useRef<string | null>(null);
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
const normalizedSourceKey = sourceKey?.trim();
|
|
41
|
+
// No source, or a searchable source we intentionally skip for now.
|
|
42
|
+
if (!normalizedSourceKey || isSearchableLookupSource(normalizedSourceKey)) {
|
|
43
|
+
latestRequestIdRef.current = null;
|
|
44
|
+
setStatus('idle');
|
|
45
|
+
setOptions([]);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const requestId = createLookupRequestId();
|
|
50
|
+
latestRequestIdRef.current = requestId;
|
|
51
|
+
setStatus('loading');
|
|
52
|
+
setOptions([]);
|
|
53
|
+
|
|
54
|
+
const timeoutId = setTimeout(() => {
|
|
55
|
+
if (latestRequestIdRef.current !== requestId) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
setStatus('fallback');
|
|
59
|
+
setOptions([]);
|
|
60
|
+
}, LOOKUP_OPTIONS_TIMEOUT_MS);
|
|
61
|
+
|
|
62
|
+
const unsubscribe = onLookupOptionsResponse(response => {
|
|
63
|
+
// Ignore stale responses (different request, or superseded selection).
|
|
64
|
+
if (response.requestId !== requestId || latestRequestIdRef.current !== requestId) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
clearTimeout(timeoutId);
|
|
68
|
+
if (response.options.length > 0) {
|
|
69
|
+
setOptions(response.options);
|
|
70
|
+
setStatus('ready');
|
|
71
|
+
} else {
|
|
72
|
+
setOptions([]);
|
|
73
|
+
setStatus('fallback');
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey });
|
|
78
|
+
|
|
79
|
+
return () => {
|
|
80
|
+
clearTimeout(timeoutId);
|
|
81
|
+
unsubscribe();
|
|
82
|
+
};
|
|
83
|
+
}, [sourceKey]);
|
|
84
|
+
|
|
85
|
+
return { status, options };
|
|
86
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host <-> editor contract for the "data-model lookup source" dropdown options (BYOD editor).
|
|
3
|
+
*
|
|
4
|
+
* A schema field can be tagged (in the template-type editor) with `options.fieldLookupSource`.
|
|
5
|
+
* When such a field is selected in the conditional-logic UI, the editor does NOT own the option
|
|
6
|
+
* data — it asks the HOST for it over the EventTarget bus below and renders whatever the host
|
|
7
|
+
* returns.
|
|
8
|
+
*
|
|
9
|
+
* Transport mirrors the unlayer `displayConditionController` / `lookupOptionsController` pattern: a
|
|
10
|
+
* module-scoped `EventTarget` shared by every consumer of this package (no global `window`
|
|
11
|
+
* pollution, no cross-instance leakage). The host imports `onLookupOptionsRequest` /
|
|
12
|
+
* `emitLookupOptionsResponse`; the editor uses `emitLookupOptionsRequest` / `onLookupOptionsResponse`.
|
|
13
|
+
*
|
|
14
|
+
* Event names (host <-> editor):
|
|
15
|
+
* - "dte-byod-client-mfe:lookup-options-request" (editor -> host)
|
|
16
|
+
* - "dte-byod-client-mfe:lookup-options-response" (host -> editor)
|
|
17
|
+
*
|
|
18
|
+
* The host-side resolver is implemented separately (it wires these events to the app's data
|
|
19
|
+
* providers, e.g. job types / states).
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/** A single selectable option for a lookup-backed condition value. */
|
|
23
|
+
export interface LookupOption {
|
|
24
|
+
/** Human-readable text shown in the dropdown. */
|
|
25
|
+
label: string;
|
|
26
|
+
/** Value baked into the condition when the option is selected. */
|
|
27
|
+
key: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** editor -> host: request the predefined options for a lookup source. */
|
|
31
|
+
export interface LookupOptionsRequest {
|
|
32
|
+
/** Correlates a response to its originating request. */
|
|
33
|
+
requestId: string;
|
|
34
|
+
/** The field's `options.fieldLookupSource` value. */
|
|
35
|
+
sourceKey: string;
|
|
36
|
+
/** Reserved for searchable sources (e.g. "city"); omitted for full-list sources. */
|
|
37
|
+
query?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** host -> editor: the resolved options for a previously emitted request. */
|
|
41
|
+
export interface LookupOptionsResponse {
|
|
42
|
+
/** Echoes {@link LookupOptionsRequest.requestId}; responses with a stale id are ignored. */
|
|
43
|
+
requestId: string;
|
|
44
|
+
options: LookupOption[];
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** editor -> host event name. */
|
|
48
|
+
export const LOOKUP_OPTIONS_REQUEST_EVENT = 'dte-byod-client-mfe:lookup-options-request';
|
|
49
|
+
/** host -> editor event name. */
|
|
50
|
+
export const LOOKUP_OPTIONS_RESPONSE_EVENT = 'dte-byod-client-mfe:lookup-options-response';
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Lookup sources that require the host to search an API per typed query. These keep the free-text
|
|
54
|
+
* input for now (the editor only handles full-list, load-once sources).
|
|
55
|
+
*/
|
|
56
|
+
export const SEARCHABLE_LOOKUP_SOURCES = ['city'] as const;
|
|
57
|
+
|
|
58
|
+
export type SearchableLookupSource = (typeof SEARCHABLE_LOOKUP_SOURCES)[number];
|
|
59
|
+
|
|
60
|
+
/** True when a lookup source is searchable (host-side per-query search) rather than a full list. */
|
|
61
|
+
export const isSearchableLookupSource = (sourceKey: string | undefined): boolean => {
|
|
62
|
+
return !!sourceKey && (SEARCHABLE_LOOKUP_SOURCES as readonly string[]).includes(sourceKey);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/** Generate a unique request id for correlating request/response pairs. */
|
|
66
|
+
export const createLookupRequestId = (): string => {
|
|
67
|
+
return `lookup-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
const lookupOptionsEvents = new EventTarget();
|
|
71
|
+
|
|
72
|
+
/** editor -> host: ask the host to resolve options for a lookup source. */
|
|
73
|
+
export const emitLookupOptionsRequest = (request: LookupOptionsRequest) => {
|
|
74
|
+
lookupOptionsEvents.dispatchEvent(
|
|
75
|
+
new CustomEvent<LookupOptionsRequest>(LOOKUP_OPTIONS_REQUEST_EVENT, { detail: request }),
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/** host side: listen for editor requests. Returns an unsubscribe function. */
|
|
80
|
+
export const onLookupOptionsRequest = (listener: (request: LookupOptionsRequest) => void) => {
|
|
81
|
+
const handler = (event: Event) => {
|
|
82
|
+
const detail = (event as CustomEvent<LookupOptionsRequest>).detail;
|
|
83
|
+
if (!detail) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
listener(detail);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
|
|
90
|
+
|
|
91
|
+
return () => {
|
|
92
|
+
lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/** host -> editor: deliver resolved options back to the editor. */
|
|
97
|
+
export const emitLookupOptionsResponse = (response: LookupOptionsResponse) => {
|
|
98
|
+
lookupOptionsEvents.dispatchEvent(
|
|
99
|
+
new CustomEvent<LookupOptionsResponse>(LOOKUP_OPTIONS_RESPONSE_EVENT, { detail: response }),
|
|
100
|
+
);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
/** editor side: listen for host responses. Returns an unsubscribe function. */
|
|
104
|
+
export const onLookupOptionsResponse = (listener: (response: LookupOptionsResponse) => void) => {
|
|
105
|
+
const handler = (event: Event) => {
|
|
106
|
+
const detail = (event as CustomEvent<LookupOptionsResponse>).detail;
|
|
107
|
+
if (!detail) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
listener(detail);
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
|
|
114
|
+
|
|
115
|
+
return () => {
|
|
116
|
+
lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
|
|
117
|
+
};
|
|
118
|
+
};
|
package/src/interface/types.ts
CHANGED
|
@@ -18,7 +18,7 @@ function isUseInConditionals(
|
|
|
18
18
|
|
|
19
19
|
function isValueNode(
|
|
20
20
|
node: SchemaNode,
|
|
21
|
-
): node is { type: 'string' | 'number'; title?: string; options?:
|
|
21
|
+
): node is { type: 'string' | 'number'; title?: string; options?: { fieldLookupSource?: string } } {
|
|
22
22
|
return node?.type === 'string' || node?.type === 'number';
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -44,6 +44,7 @@ function walkSchema(
|
|
|
44
44
|
fieldType,
|
|
45
45
|
fullKey,
|
|
46
46
|
title: fullTitle || fullKey,
|
|
47
|
+
lookupSource: node.options?.fieldLookupSource?.trim(),
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
}
|