@servicetitan/dte-pdf-editor 1.63.0 → 1.65.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/interface/types.d.ts +2 -0
- package/dist/interface/types.d.ts.map +1 -1
- package/dist/interface/types.js.map +1 -1
- package/dist/utils/data-model/extract-fields.utils.d.ts.map +1 -1
- package/dist/utils/data-model/extract-fields.utils.js +16 -12
- package/dist/utils/data-model/extract-fields.utils.js.map +1 -1
- package/dist/utils/formula/form-fields.utils.d.ts.map +1 -1
- package/dist/utils/formula/form-fields.utils.js +11 -7
- package/dist/utils/formula/form-fields.utils.js.map +1 -1
- package/package.json +1 -1
- package/src/interface/types.ts +2 -0
- package/src/utils/data-model/__tests__/extract-fields.utils.test.ts +21 -0
- package/src/utils/data-model/extract-fields.utils.ts +20 -14
- package/src/utils/formula/__tests__/form-fields.utils.test.ts +29 -4
- package/src/utils/formula/form-fields.utils.ts +1 -0
|
@@ -22,6 +22,7 @@ export interface FormFieldInfo {
|
|
|
22
22
|
id: string;
|
|
23
23
|
header: string;
|
|
24
24
|
itemType: FormFieldType;
|
|
25
|
+
groupType?: string;
|
|
25
26
|
}
|
|
26
27
|
export interface FormInfo {
|
|
27
28
|
id: number;
|
|
@@ -127,6 +128,7 @@ export interface FormulaFieldFormSnapshot {
|
|
|
127
128
|
formName: string;
|
|
128
129
|
fieldName: string;
|
|
129
130
|
fieldType: FormFieldType;
|
|
131
|
+
groupType?: string;
|
|
130
132
|
}
|
|
131
133
|
/** Single token in a structured formula (number, operator, paren, or field reference) */
|
|
132
134
|
export type FormulaToken = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interface/types.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,OAAO,YAAY;CACtB;AAED,oBAAY,cAAc;IACtB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,QAAQ,aAAa;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAChC,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;
|
|
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":"types.js","sourceRoot":"","sources":["../../src/interface/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,oCAAmB,CAAA;AACvB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,uCAAqB,CAAA;AACzB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/interface/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,oCAAmB,CAAA;AACvB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,uCAAqB,CAAA;AACzB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAuHD,kCAAkC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAkItD;;GAEG;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9C,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACtD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;CAC1C,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;IAChD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC9C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,SAAS,EAAE;IAC5D,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,SAAS,EAAE;CACnD,CAAC;AAMX,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9C,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;CAChD,CAAC;AAEX,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAwB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-fields.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/data-model/extract-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EAKnB,YAAY,EAGf,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-fields.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/data-model/extract-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EAKnB,YAAY,EAGf,MAAM,uBAAuB,CAAC;AA0C/B,MAAM,WAAW,2BAA2B;IACxC,gGAAgG;IAChG,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAQD,eAAO,MAAM,iCAAiC,GAC1C,WAAW,YAAY,EACvB,UAAU,2BAA2B,KACtC,mBAAmB,EAqDrB,CAAC"}
|
|
@@ -5,6 +5,10 @@ function isSchemaSimpleNumber(node) {
|
|
|
5
5
|
function isSchemaSimpleDate(node) {
|
|
6
6
|
return node.type === 'date';
|
|
7
7
|
}
|
|
8
|
+
// TODO: temporary filters out html subtype fields: until BE implementation
|
|
9
|
+
function isSchemaStringHtml(node) {
|
|
10
|
+
return node.type === 'string' && node.subType === 'html';
|
|
11
|
+
}
|
|
8
12
|
function getSchemaFieldType(node) {
|
|
9
13
|
if (isSchemaSimpleNumber(node)) {
|
|
10
14
|
return 'number';
|
|
@@ -18,6 +22,16 @@ function useInCalculatedFields(node) {
|
|
|
18
22
|
var _a;
|
|
19
23
|
return ((_a = node.options) === null || _a === void 0 ? void 0 : _a.useInCalculatedFields) === true;
|
|
20
24
|
}
|
|
25
|
+
function isExtractableLeaf(node) {
|
|
26
|
+
if (isSchemaStringHtml(node)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const rawType = node.type;
|
|
30
|
+
return (node.type === 'string' ||
|
|
31
|
+
isSchemaSimpleNumber(node) ||
|
|
32
|
+
isSchemaSimpleDate(node) ||
|
|
33
|
+
rawType === 'boolean');
|
|
34
|
+
}
|
|
21
35
|
/**
|
|
22
36
|
* Utility function to extract grouped fields from DataModel structure
|
|
23
37
|
* Filters out array types and only processes object properties, generating correct paths for data replacement
|
|
@@ -48,13 +62,8 @@ export const extractGroupedFieldsFromDataModel = (dataModel, options) => {
|
|
|
48
62
|
}
|
|
49
63
|
else {
|
|
50
64
|
// First-level simple field (string, number, boolean) – add under default group
|
|
51
|
-
const rawType = property.type;
|
|
52
|
-
const isLeaf = property.type === 'string' ||
|
|
53
|
-
isSchemaSimpleNumber(property) ||
|
|
54
|
-
isSchemaSimpleDate(property) ||
|
|
55
|
-
rawType === 'boolean';
|
|
56
65
|
const includeField = !onlyUseInCalculatedFields || useInCalculatedFields(property);
|
|
57
|
-
if (
|
|
66
|
+
if (isExtractableLeaf(property) && includeField) {
|
|
58
67
|
topLevelFields.push({
|
|
59
68
|
label: (_b = property.title) !== null && _b !== void 0 ? _b : key,
|
|
60
69
|
type: FieldTypeEnum.dataModel,
|
|
@@ -79,13 +88,8 @@ const extractFieldsRecursive = (properties, basePath, fields, groupName, onlyUse
|
|
|
79
88
|
var _a, _b;
|
|
80
89
|
const fieldProperty = properties[fieldKey];
|
|
81
90
|
const currentPath = `${basePath}.${fieldKey}`;
|
|
82
|
-
const rawType = fieldProperty.type;
|
|
83
|
-
const isLeaf = fieldProperty.type === 'string' ||
|
|
84
|
-
isSchemaSimpleNumber(fieldProperty) ||
|
|
85
|
-
isSchemaSimpleDate(fieldProperty) ||
|
|
86
|
-
rawType === 'boolean';
|
|
87
91
|
const includeField = !onlyUseInCalculatedFields || useInCalculatedFields(fieldProperty);
|
|
88
|
-
if (
|
|
92
|
+
if (isExtractableLeaf(fieldProperty) && includeField) {
|
|
89
93
|
const label = (_a = fieldProperty.title) !== null && _a !== void 0 ? _a : fieldKey;
|
|
90
94
|
fields.push({
|
|
91
95
|
label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-fields.utils.js","sourceRoot":"","sources":["../../../src/utils/data-model/extract-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAOhB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,oBAAoB,CAAC,IAAgB;IAC1C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB;IACxC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB;IACxC,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAgB;;IAC3C,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,qBAAqB,MAAK,IAAI,CAAC;AACxD,CAAC;AAQD;;;GAGG;AACH,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAEpC,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC7C,SAAuB,EACvB,OAAqC,EAChB,EAAE;IACvB,MAAM,yBAAyB,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,yBAAyB,MAAK,IAAI,CAAC;IAC9E,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,cAAc,GAAsB,EAAE,CAAC;IAE7C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAA,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;;QAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,MAAM,GAAsB,EAAE,CAAC;YACrC,sBAAsB,CAClB,QAAQ,CAAC,UAAU,EACnB,GAAG,EACH,MAAM,EACN,GAAG,EACH,yBAAyB,CAC5B,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,MAAA,QAAQ,CAAC,KAAK,mCAAI,GAAG;oBAChC,MAAM;iBACT,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrD,yDAAyD;QAC7D,CAAC;aAAM,CAAC;YACJ,+EAA+E;YAC/E,MAAM,
|
|
1
|
+
{"version":3,"file":"extract-fields.utils.js","sourceRoot":"","sources":["../../../src/utils/data-model/extract-fields.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-fields.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/formula/form-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,yBAAyB,EAAyB,aAAa,EAAE,CAAC;AAE/E,6FAA6F;AAC7F,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AAEnE,eAAO,MAAM,2BAA2B,GAAI,SAAS,MAAM,KAAG,MAAqC,CAAC;AAEpG,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,MACoB,CAAC;AAKzF,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAcrF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAC/B,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,OAAO,aAAa,KACrB,
|
|
1
|
+
{"version":3,"file":"form-fields.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/formula/form-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,yBAAyB,EAAyB,aAAa,EAAE,CAAC;AAE/E,6FAA6F;AAC7F,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AAEnE,eAAO,MAAM,2BAA2B,GAAI,SAAS,MAAM,KAAG,MAAqC,CAAC;AAEpG,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,MACoB,CAAC;AAKzF,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAcrF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAC/B,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,OAAO,aAAa,KACrB,wBAOD,CAAC;AAEH,eAAO,MAAM,gCAAgC,GACzC,MAAM,MAAM,EACZ,OAAO,QAAQ,EAAE,EACjB,oBAAoB,mBAAmB,KACxC,wBAAwB,GAAG,SAe7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,UAAU,aAAa,KAAG,QAAQ,IAAI,eACjC,CAAC;AAEjD,eAAO,MAAM,kCAAkC,GAC3C,QAAQ,MAAM,EACd,QAAQ,aAAa,EAAE,EACvB,UAAU,MAAM,KACjB,eAAe,EAWP,CAAC;AAEZ,eAAO,MAAM,8BAA8B,GACvC,QAAQ,MAAM,EACd,OAAO,aAAa,EACpB,UAAU,MAAM,KACjB,eAMD,CAAC;AAEH,eAAO,MAAM,0CAA0C,GACnD,MAAM,QAAQ,EACd,OAAO,aAAa,KACrB,eAKD,CAAC;AAEH,eAAO,MAAM,kCAAkC,GAC3C,cAAc,MAAM,EACpB,iBAAiB,eAAe,EAAE,EAClC,iBAAiB,eAAe,EAAE,EAClC,oBAAoB,mBAAmB,KACxC,QAAQ,GAAG,QAiBb,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC5C,aAAa,EACb,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CACzE,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,cAAc,MAAM,EACpB,iBAAiB,eAAe,EAAE,EAClC,iBAAiB,eAAe,EAAE,KACnC,0BAA0B,GAAG,IAc/B,CAAC"}
|
|
@@ -21,13 +21,17 @@ export const parseFormFieldKey = (key) => {
|
|
|
21
21
|
}
|
|
22
22
|
return null;
|
|
23
23
|
};
|
|
24
|
-
export const buildFormFieldSnapshot = (formId, formName, field) =>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
export const buildFormFieldSnapshot = (formId, formName, field) => {
|
|
25
|
+
var _a;
|
|
26
|
+
return ({
|
|
27
|
+
formId,
|
|
28
|
+
fieldId: field.id,
|
|
29
|
+
formName,
|
|
30
|
+
fieldName: field.header,
|
|
31
|
+
fieldType: field.itemType,
|
|
32
|
+
groupType: (_a = field.groupType) !== null && _a !== void 0 ? _a : '',
|
|
33
|
+
});
|
|
34
|
+
};
|
|
31
35
|
export const tryBuildFormFieldFormulaSnapshot = (path, forms, formFieldsByFormId) => {
|
|
32
36
|
const parsed = parseFormFieldKey(path);
|
|
33
37
|
if (!parsed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-fields.utils.js","sourceRoot":"","sources":["../../../src/utils/formula/form-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAQhB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAoB,CAAC;AAE/E,6FAA6F;AAC7F,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,OAAe,EAAU,EAAE,CACzE,GAAG,6BAA6B,IAAI,MAAM,IAAI,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;AAEzF,MAAM,6BAA6B,GAAG,8CAA8C,CAAC;AACrF,MAAM,mCAAmC,GAAG,mCAAmC,CAAC;AAEhF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAA8C,EAAE;IACzF,IAAI,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,KAAK,GAAG,mCAAmC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7D,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,MAAc,EACd,QAAgB,EAChB,KAAoB,EACI,EAAE,
|
|
1
|
+
{"version":3,"file":"form-fields.utils.js","sourceRoot":"","sources":["../../../src/utils/formula/form-fields.utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/interface/types.ts
CHANGED
|
@@ -27,6 +27,7 @@ export interface FormFieldInfo {
|
|
|
27
27
|
id: string;
|
|
28
28
|
header: string;
|
|
29
29
|
itemType: FormFieldType;
|
|
30
|
+
groupType?: string;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
export interface FormInfo {
|
|
@@ -146,6 +147,7 @@ export interface FormulaFieldFormSnapshot {
|
|
|
146
147
|
formName: string;
|
|
147
148
|
fieldName: string;
|
|
148
149
|
fieldType: FormFieldType;
|
|
150
|
+
groupType?: string;
|
|
149
151
|
}
|
|
150
152
|
|
|
151
153
|
/** Single token in a structured formula (number, operator, paren, or field reference) */
|
|
@@ -112,6 +112,27 @@ describe('extractGroupedFieldsFromDataModel', () => {
|
|
|
112
112
|
expect(subject(schema)).toEqual([]);
|
|
113
113
|
});
|
|
114
114
|
|
|
115
|
+
test('skips string fields with subType html', () => {
|
|
116
|
+
const schema: SchemaObject = {
|
|
117
|
+
type: 'object',
|
|
118
|
+
properties: {
|
|
119
|
+
summary: { type: 'string', title: 'Summary' },
|
|
120
|
+
richBody: { type: 'string', title: 'Body', subType: 'html' },
|
|
121
|
+
job: {
|
|
122
|
+
type: 'object',
|
|
123
|
+
title: 'Job',
|
|
124
|
+
properties: {
|
|
125
|
+
address: { type: 'string', title: 'Address', subType: 'html' },
|
|
126
|
+
number: { type: 'string', title: 'Number' },
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
const result = subject(schema);
|
|
132
|
+
const allPaths = result.flatMap(g => g.fields.map(f => f.path));
|
|
133
|
+
expect(allPaths).toEqual(['summary', 'job.number']);
|
|
134
|
+
});
|
|
135
|
+
|
|
115
136
|
test('skips empty object groups', () => {
|
|
116
137
|
const schema: SchemaObject = {
|
|
117
138
|
type: 'object',
|
|
@@ -17,6 +17,11 @@ function isSchemaSimpleDate(node: SchemaNode): node is SchemaSimpleDate {
|
|
|
17
17
|
return node.type === 'date';
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
// TODO: temporary filters out html subtype fields: until BE implementation
|
|
21
|
+
function isSchemaStringHtml(node: SchemaNode): boolean {
|
|
22
|
+
return node.type === 'string' && node.subType === 'html';
|
|
23
|
+
}
|
|
24
|
+
|
|
20
25
|
function getSchemaFieldType(node: SchemaNode): SchemaFieldType | undefined {
|
|
21
26
|
if (isSchemaSimpleNumber(node)) {
|
|
22
27
|
return 'number';
|
|
@@ -31,6 +36,19 @@ function useInCalculatedFields(node: SchemaNode): boolean {
|
|
|
31
36
|
return node.options?.useInCalculatedFields === true;
|
|
32
37
|
}
|
|
33
38
|
|
|
39
|
+
function isExtractableLeaf(node: SchemaNode): boolean {
|
|
40
|
+
if (isSchemaStringHtml(node)) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
const rawType = (node as { type?: string }).type;
|
|
44
|
+
return (
|
|
45
|
+
node.type === 'string' ||
|
|
46
|
+
isSchemaSimpleNumber(node) ||
|
|
47
|
+
isSchemaSimpleDate(node) ||
|
|
48
|
+
rawType === 'boolean'
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
34
52
|
export interface ExtractGroupedFieldsOptions {
|
|
35
53
|
/** When true, only include fields with SchemaFieldBaseOptions.useInCalculatedFields === true */
|
|
36
54
|
onlyUseInCalculatedFields?: boolean;
|
|
@@ -78,14 +96,8 @@ export const extractGroupedFieldsFromDataModel = (
|
|
|
78
96
|
// Skip array types - filter them out from the data model
|
|
79
97
|
} else {
|
|
80
98
|
// First-level simple field (string, number, boolean) – add under default group
|
|
81
|
-
const rawType = (property as { type?: string }).type;
|
|
82
|
-
const isLeaf =
|
|
83
|
-
property.type === 'string' ||
|
|
84
|
-
isSchemaSimpleNumber(property) ||
|
|
85
|
-
isSchemaSimpleDate(property) ||
|
|
86
|
-
rawType === 'boolean';
|
|
87
99
|
const includeField = !onlyUseInCalculatedFields || useInCalculatedFields(property);
|
|
88
|
-
if (
|
|
100
|
+
if (isExtractableLeaf(property) && includeField) {
|
|
89
101
|
topLevelFields.push({
|
|
90
102
|
label: property.title ?? key,
|
|
91
103
|
type: FieldTypeEnum.dataModel,
|
|
@@ -119,14 +131,8 @@ const extractFieldsRecursive = (
|
|
|
119
131
|
const fieldProperty = properties[fieldKey];
|
|
120
132
|
const currentPath = `${basePath}.${fieldKey}`;
|
|
121
133
|
|
|
122
|
-
const rawType = (fieldProperty as { type?: string }).type;
|
|
123
|
-
const isLeaf =
|
|
124
|
-
fieldProperty.type === 'string' ||
|
|
125
|
-
isSchemaSimpleNumber(fieldProperty) ||
|
|
126
|
-
isSchemaSimpleDate(fieldProperty) ||
|
|
127
|
-
rawType === 'boolean';
|
|
128
134
|
const includeField = !onlyUseInCalculatedFields || useInCalculatedFields(fieldProperty);
|
|
129
|
-
if (
|
|
135
|
+
if (isExtractableLeaf(fieldProperty) && includeField) {
|
|
130
136
|
const label = fieldProperty.title ?? fieldKey;
|
|
131
137
|
fields.push({
|
|
132
138
|
label,
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
buildFormFieldKey,
|
|
10
10
|
buildFormFieldSnapshot,
|
|
11
|
-
formFieldInfoToFieldTypeOption,
|
|
12
11
|
formFieldInfosToCalculationOptions,
|
|
12
|
+
formFieldInfoToFieldTypeOption,
|
|
13
13
|
formFieldToDisplayConditionDataPointOption,
|
|
14
14
|
getDisplayConditionFieldTypeForKey,
|
|
15
15
|
inferDisplayConditionSourceKind,
|
|
@@ -84,6 +84,19 @@ describe('buildFormFieldSnapshot', () => {
|
|
|
84
84
|
fieldType: 'number',
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
+
|
|
88
|
+
test('includes groupType when present on the field', () => {
|
|
89
|
+
expect(
|
|
90
|
+
buildFormFieldSnapshot(7, 'Form A', buildFormFieldInfo({ groupType: 'SmartField' })),
|
|
91
|
+
).toEqual({
|
|
92
|
+
formId: 7,
|
|
93
|
+
fieldId: 'abc-123',
|
|
94
|
+
formName: 'Form A',
|
|
95
|
+
fieldName: 'My Field',
|
|
96
|
+
fieldType: 'number',
|
|
97
|
+
groupType: 'SmartField',
|
|
98
|
+
});
|
|
99
|
+
});
|
|
87
100
|
});
|
|
88
101
|
|
|
89
102
|
describe('tryBuildFormFieldFormulaSnapshot', () => {
|
|
@@ -209,7 +222,12 @@ describe('getDisplayConditionFieldTypeForKey', () => {
|
|
|
209
222
|
|
|
210
223
|
test('returns fieldType from fillable options', () => {
|
|
211
224
|
expect(
|
|
212
|
-
getDisplayConditionFieldTypeForKey(
|
|
225
|
+
getDisplayConditionFieldTypeForKey(
|
|
226
|
+
'fillable_a_b',
|
|
227
|
+
mergeTagOptions,
|
|
228
|
+
fillableOptions,
|
|
229
|
+
{},
|
|
230
|
+
),
|
|
213
231
|
).toBe('string');
|
|
214
232
|
});
|
|
215
233
|
|
|
@@ -229,7 +247,12 @@ describe('getDisplayConditionFieldTypeForKey', () => {
|
|
|
229
247
|
|
|
230
248
|
test('returns string for unknown data point key', () => {
|
|
231
249
|
expect(
|
|
232
|
-
getDisplayConditionFieldTypeForKey(
|
|
250
|
+
getDisplayConditionFieldTypeForKey(
|
|
251
|
+
'unknown.path',
|
|
252
|
+
mergeTagOptions,
|
|
253
|
+
fillableOptions,
|
|
254
|
+
{},
|
|
255
|
+
),
|
|
233
256
|
).toBe('string');
|
|
234
257
|
});
|
|
235
258
|
});
|
|
@@ -269,6 +292,8 @@ describe('inferDisplayConditionSourceKind', () => {
|
|
|
269
292
|
});
|
|
270
293
|
|
|
271
294
|
test('returns null for unknown key', () => {
|
|
272
|
-
expect(
|
|
295
|
+
expect(
|
|
296
|
+
inferDisplayConditionSourceKind('unknown', mergeTagOptions, fillableOptions),
|
|
297
|
+
).toBeNull();
|
|
273
298
|
});
|
|
274
299
|
});
|