@servicetitan/dte-unlayer 0.157.0 → 0.159.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.js +15 -89
- package/dist/display-conditions/ConditionGroup.js.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 +71 -296
- package/dist/display-conditions/ConditionRow.js.map +1 -1
- package/dist/display-conditions/DisplayConditionModal.js +40 -190
- package/dist/display-conditions/DisplayConditionModal.js.map +1 -1
- package/dist/display-conditions/LookupValueControl.d.ts.map +1 -1
- package/dist/display-conditions/LookupValueControl.js +42 -109
- 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.d.ts.map +1 -1
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.js +48 -156
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.js.map +1 -1
- package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts +3 -1
- package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts.map +1 -1
- package/dist/e-sign-offset/ESignOffsetRuleRow.js +12 -71
- 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 +72 -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.d.ts +32 -13
- package/dist/shared/date-calc.d.ts.map +1 -1
- package/dist/shared/date-calc.js +130 -76
- 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.d.ts +3 -0
- package/dist/shared/instance-id.d.ts.map +1 -1
- package/dist/shared/instance-id.js +10 -7
- 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 -547
- 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 +25 -1
- 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 +131 -0
- package/src/__tests__/date-calc.test.ts +145 -0
- package/src/__tests__/e-sign-offset-modal.test.tsx +124 -0
- package/src/__tests__/instance-id.test.ts +49 -0
- 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/ConditionRow.tsx +102 -175
- package/src/display-conditions/LookupValueControl.tsx +1 -12
- package/src/e-sign-offset/ESignDateSignedOffsetModal.tsx +20 -12
- package/src/e-sign-offset/ESignOffsetRuleRow.tsx +7 -2
- 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 +61 -0
- package/src/shared/date-calc.ts +155 -78
- package/src/shared/instance-id.ts +6 -1
- package/src/store.ts +68 -5
- package/src/unlayer-interface.tsx +25 -1
- package/src/unlayer.tsx +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { buildFormFieldKey, parseFormFieldKey, toNunjucksFieldReference } from '../shared/forms';
|
|
2
2
|
import { generateId } from './constants';
|
|
3
|
-
import { VALUE_LESS_OPERATORS } from './types';
|
|
3
|
+
import { VALUE_LESS_OPERATORS, } from './types';
|
|
4
4
|
function escapeNunjucksString(s) {
|
|
5
5
|
return s.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
|
|
6
6
|
}
|
|
@@ -9,7 +9,7 @@ function nunjucksValueLiteral(value) {
|
|
|
9
9
|
}
|
|
10
10
|
function isEscapedAt(s, index) {
|
|
11
11
|
let slashCount = 0;
|
|
12
|
-
for(let i = index - 1; i >= 0 && s[i] === '\\'; i--){
|
|
12
|
+
for (let i = index - 1; i >= 0 && s[i] === '\\'; i--) {
|
|
13
13
|
slashCount++;
|
|
14
14
|
}
|
|
15
15
|
return slashCount % 2 === 1;
|
|
@@ -20,15 +20,18 @@ function isValueLessOperator(operator) {
|
|
|
20
20
|
/**
|
|
21
21
|
* Build a single condition expression in Nunjucks.
|
|
22
22
|
* Wrapped in () so splitting never breaks composite expressions.
|
|
23
|
-
*/
|
|
23
|
+
*/
|
|
24
|
+
function buildSingleConditionExpression(dataPointKey, operator, value) {
|
|
24
25
|
const path = toNunjucksFieldReference(dataPointKey);
|
|
25
26
|
const defaulted = `(${path} | default(''))`;
|
|
26
27
|
const numDefaulted = `(${path} | default(0))`;
|
|
27
28
|
const normalizedValue = value.trim();
|
|
28
29
|
const literal = normalizedValue ? nunjucksValueLiteral(normalizedValue) : "''";
|
|
29
|
-
const numLiteral = /^-?(?:\d+\.?\d*|\.\d+)$/.test(normalizedValue) && normalizedValue !== '-'
|
|
30
|
+
const numLiteral = /^-?(?:\d+\.?\d*|\.\d+)$/.test(normalizedValue) && normalizedValue !== '-'
|
|
31
|
+
? normalizedValue
|
|
32
|
+
: '0';
|
|
30
33
|
let inner;
|
|
31
|
-
switch(operator){
|
|
34
|
+
switch (operator) {
|
|
32
35
|
case 'is_equal_to':
|
|
33
36
|
inner = `${defaulted} == ${literal}`;
|
|
34
37
|
break;
|
|
@@ -78,7 +81,8 @@ function isValueLessOperator(operator) {
|
|
|
78
81
|
* is_empty / is_not_empty embed space-delimited " or " / " and " in the expression.
|
|
79
82
|
* tokenizeGroupExpression splits on those at depth 0, so wrap once more so parse
|
|
80
83
|
* keeps each value-less condition as a single segment (see parseGroupExpression).
|
|
81
|
-
*/
|
|
84
|
+
*/
|
|
85
|
+
if (operator === 'is_empty' || operator === 'is_not_empty') {
|
|
82
86
|
return `((${inner}))`;
|
|
83
87
|
}
|
|
84
88
|
return `(${inner})`;
|
|
@@ -86,15 +90,18 @@ function isValueLessOperator(operator) {
|
|
|
86
90
|
/**
|
|
87
91
|
* Build group expression. Each condition is connected by its own logical operator.
|
|
88
92
|
* E.g. (cond1) and (cond2) or (cond3)
|
|
89
|
-
*/
|
|
90
|
-
|
|
93
|
+
*/
|
|
94
|
+
function buildGroupExpression(group) {
|
|
95
|
+
const valid = group.conditions.filter(c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== ''));
|
|
91
96
|
if (valid.length === 0) {
|
|
92
97
|
return '';
|
|
93
98
|
}
|
|
94
99
|
let result = buildSingleConditionExpression(valid[0].dataPointKey, valid[0].operator, valid[0].value);
|
|
95
|
-
for(let i = 1; i < valid.length; i++){
|
|
100
|
+
for (let i = 1; i < valid.length; i++) {
|
|
96
101
|
const joiner = valid[i].logicalOperator === 'or' ? ' or ' : ' and ';
|
|
97
|
-
result +=
|
|
102
|
+
result +=
|
|
103
|
+
joiner +
|
|
104
|
+
buildSingleConditionExpression(valid[i].dataPointKey, valid[i].operator, valid[i].value);
|
|
98
105
|
}
|
|
99
106
|
// Wrap group in parens so top-level rule AND split works cleanly
|
|
100
107
|
return valid.length > 1 ? `(${result})` : result;
|
|
@@ -103,16 +110,16 @@ function isValueLessOperator(operator) {
|
|
|
103
110
|
* Build full condition expression.
|
|
104
111
|
* Rules (groups) are connected by each group's logical operator.
|
|
105
112
|
* hide behavior wraps everything in not().
|
|
106
|
-
*/
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
113
|
+
*/
|
|
114
|
+
function buildFullConditionExpression(state) {
|
|
115
|
+
const validGroups = state.groups
|
|
116
|
+
.map(group => ({ expression: buildGroupExpression(group), group }))
|
|
117
|
+
.filter(item => !!item.expression);
|
|
111
118
|
if (validGroups.length === 0) {
|
|
112
119
|
return '';
|
|
113
120
|
}
|
|
114
121
|
let combined = validGroups[0].expression;
|
|
115
|
-
for(let i = 1; i < validGroups.length; i++){
|
|
122
|
+
for (let i = 1; i < validGroups.length; i++) {
|
|
116
123
|
const joiner = validGroups[i].group.logicalOperator === 'or' ? ' or ' : ' and ';
|
|
117
124
|
combined += `${joiner}${validGroups[i].expression}`;
|
|
118
125
|
}
|
|
@@ -122,14 +129,13 @@ function isValueLessOperator(operator) {
|
|
|
122
129
|
return combined;
|
|
123
130
|
}
|
|
124
131
|
function generateConditionText(state) {
|
|
125
|
-
const conditionCount = state.groups.reduce((count, group)=>count +
|
|
132
|
+
const conditionCount = state.groups.reduce((count, group) => count +
|
|
133
|
+
group.conditions.filter(c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== '')).length, 0);
|
|
126
134
|
const label = state.behavior === 'show' ? 'Show condition configured' : 'Hide condition configured';
|
|
127
|
-
const description = conditionCount === 1
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
type: ''
|
|
132
|
-
};
|
|
135
|
+
const description = conditionCount === 1
|
|
136
|
+
? '1 condition is currently applied'
|
|
137
|
+
: `${conditionCount} conditions are currently applied`;
|
|
138
|
+
return { description, label, type: '' };
|
|
133
139
|
}
|
|
134
140
|
export function buildUnlayerDisplayCondition(state) {
|
|
135
141
|
const expr = buildFullConditionExpression(state);
|
|
@@ -139,28 +145,24 @@ export function buildUnlayerDisplayCondition(state) {
|
|
|
139
145
|
const before = `{% if ${expr} %}`;
|
|
140
146
|
const after = '{% endif %}';
|
|
141
147
|
const { description, label, type } = generateConditionText(state);
|
|
142
|
-
return {
|
|
143
|
-
after,
|
|
144
|
-
before,
|
|
145
|
-
description,
|
|
146
|
-
label,
|
|
147
|
-
type
|
|
148
|
-
};
|
|
148
|
+
return { after, before, description, label, type };
|
|
149
149
|
}
|
|
150
150
|
/*
|
|
151
151
|
* ---------------------------------------------------------------------------
|
|
152
152
|
* Parse helpers
|
|
153
153
|
* ---------------------------------------------------------------------------
|
|
154
|
-
*/
|
|
154
|
+
*/
|
|
155
|
+
function stripOuterParens(s) {
|
|
155
156
|
const t = s.trim();
|
|
156
157
|
if (t.length < 2 || !t.startsWith('(') || t.at(-1) !== ')') {
|
|
157
158
|
return t;
|
|
158
159
|
}
|
|
159
160
|
let depth = 1;
|
|
160
|
-
for(let i = 1; i < t.length - 1; i++){
|
|
161
|
+
for (let i = 1; i < t.length - 1; i++) {
|
|
161
162
|
if (t[i] === '(') {
|
|
162
163
|
depth++;
|
|
163
|
-
}
|
|
164
|
+
}
|
|
165
|
+
else if (t[i] === ')') {
|
|
164
166
|
depth--;
|
|
165
167
|
if (depth === 0) {
|
|
166
168
|
return t;
|
|
@@ -175,21 +177,25 @@ export function buildUnlayerDisplayCondition(state) {
|
|
|
175
177
|
*
|
|
176
178
|
* This scans for top-level " and " / " or " while respecting parens,
|
|
177
179
|
* and records which separator was found between each pair.
|
|
178
|
-
*/
|
|
180
|
+
*/
|
|
181
|
+
function tokenizeGroupExpression(expr) {
|
|
179
182
|
const conditionExprs = [];
|
|
180
183
|
const operators = [];
|
|
181
184
|
let depth = 0;
|
|
182
185
|
let inSingleQuote = false;
|
|
183
186
|
let start = 0;
|
|
184
|
-
for(let i = 0; i < expr.length; i++){
|
|
187
|
+
for (let i = 0; i < expr.length; i++) {
|
|
185
188
|
const c = expr[i];
|
|
186
189
|
if (c === "'" && !isEscapedAt(expr, i)) {
|
|
187
190
|
inSingleQuote = !inSingleQuote;
|
|
188
|
-
}
|
|
191
|
+
}
|
|
192
|
+
else if (!inSingleQuote && c === '(') {
|
|
189
193
|
depth++;
|
|
190
|
-
}
|
|
194
|
+
}
|
|
195
|
+
else if (!inSingleQuote && c === ')') {
|
|
191
196
|
depth = Math.max(0, depth - 1);
|
|
192
|
-
}
|
|
197
|
+
}
|
|
198
|
+
else if (!inSingleQuote && depth === 0) {
|
|
193
199
|
// Check for " and " or " or " at this position
|
|
194
200
|
if (expr.slice(i, i + 5) === ' and ') {
|
|
195
201
|
conditionExprs.push(expr.slice(start, i).trim());
|
|
@@ -208,22 +214,19 @@ export function buildUnlayerDisplayCondition(state) {
|
|
|
208
214
|
}
|
|
209
215
|
}
|
|
210
216
|
conditionExprs.push(expr.slice(start).trim());
|
|
211
|
-
return {
|
|
212
|
-
conditionExprs,
|
|
213
|
-
operators
|
|
214
|
-
};
|
|
217
|
+
return { conditionExprs, operators };
|
|
215
218
|
}
|
|
216
219
|
function unescapeNunjucksString(s) {
|
|
217
|
-
return s.replaceAll('\\\\', '\\').replaceAll(String.raw`\'`, "'");
|
|
220
|
+
return s.replaceAll('\\\\', '\\').replaceAll(String.raw `\'`, "'");
|
|
218
221
|
}
|
|
219
|
-
const SIMPLE_DATA_POINT_PATH = String.raw`[\w.]+`;
|
|
220
|
-
const FORM_RUNTIME_DATA_POINT_PATH = String.raw`__submission_fields\["\d+"\]\["[A-Za-z0-9]+"\]`;
|
|
221
|
-
const DATA_POINT_PATH = String.raw`(${SIMPLE_DATA_POINT_PATH}|${FORM_RUNTIME_DATA_POINT_PATH})`;
|
|
222
|
-
const RE_STR_DEFAULT = String.raw`\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)`;
|
|
223
|
-
const RE_NUM_DEFAULT = String.raw`\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*0\s*\)\)`;
|
|
224
|
-
const QUOTED_CONTENT = String.raw`((?:[^'\\]|\\.)*)`;
|
|
222
|
+
const SIMPLE_DATA_POINT_PATH = String.raw `[\w.]+`;
|
|
223
|
+
const FORM_RUNTIME_DATA_POINT_PATH = String.raw `__submission_fields\["\d+"\]\["[A-Za-z0-9]+"\]`;
|
|
224
|
+
const DATA_POINT_PATH = String.raw `(${SIMPLE_DATA_POINT_PATH}|${FORM_RUNTIME_DATA_POINT_PATH})`;
|
|
225
|
+
const RE_STR_DEFAULT = String.raw `\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)`;
|
|
226
|
+
const RE_NUM_DEFAULT = String.raw `\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*0\s*\)\)`;
|
|
227
|
+
const QUOTED_CONTENT = String.raw `((?:[^'\\]|\\.)*)`;
|
|
225
228
|
function toSingleCondition(operator, dataPointKey, value, logicalOp) {
|
|
226
|
-
const normalizedDataPointKey = (()=>{
|
|
229
|
+
const normalizedDataPointKey = (() => {
|
|
227
230
|
const parsed = parseFormFieldKey(dataPointKey.trim());
|
|
228
231
|
if (!parsed) {
|
|
229
232
|
return dataPointKey.trim();
|
|
@@ -234,7 +237,7 @@ function toSingleCondition(operator, dataPointKey, value, logicalOp) {
|
|
|
234
237
|
dataPointKey: normalizedDataPointKey,
|
|
235
238
|
id: generateId(),
|
|
236
239
|
operator,
|
|
237
|
-
value
|
|
240
|
+
value,
|
|
238
241
|
};
|
|
239
242
|
if (logicalOp) {
|
|
240
243
|
condition.logicalOperator = logicalOp;
|
|
@@ -247,17 +250,14 @@ function parseQuotedValue(s) {
|
|
|
247
250
|
}
|
|
248
251
|
let i = 1;
|
|
249
252
|
let value = '';
|
|
250
|
-
while(i < s.length){
|
|
253
|
+
while (i < s.length) {
|
|
251
254
|
if (s[i] === '\\' && i + 1 < s.length) {
|
|
252
255
|
value += s[i + 1] === "'" ? "'" : s[i + 1];
|
|
253
256
|
i += 2;
|
|
254
257
|
continue;
|
|
255
258
|
}
|
|
256
259
|
if (s[i] === "'") {
|
|
257
|
-
return {
|
|
258
|
-
rest: s.slice(i + 1).trim(),
|
|
259
|
-
value: unescapeNunjucksString(value)
|
|
260
|
-
};
|
|
260
|
+
return { rest: s.slice(i + 1).trim(), value: unescapeNunjucksString(value) };
|
|
261
261
|
}
|
|
262
262
|
value += s[i];
|
|
263
263
|
i++;
|
|
@@ -267,111 +267,95 @@ function parseQuotedValue(s) {
|
|
|
267
267
|
const PARSE_PATTERNS = [
|
|
268
268
|
// value-less
|
|
269
269
|
{
|
|
270
|
-
getValue: ()=>'',
|
|
270
|
+
getValue: () => '',
|
|
271
271
|
operator: 'is_empty',
|
|
272
272
|
pathGroup: 1,
|
|
273
|
-
pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*==\s*''\s+or\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*==\s*0$`)
|
|
273
|
+
pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*==\s*''\s+or\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*==\s*0$`),
|
|
274
274
|
},
|
|
275
275
|
{
|
|
276
|
-
getValue: ()=>'',
|
|
276
|
+
getValue: () => '',
|
|
277
277
|
operator: 'is_not_empty',
|
|
278
278
|
pathGroup: 1,
|
|
279
|
-
pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*!=\s*''\s+and\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*>\s*0$`)
|
|
279
|
+
pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*!=\s*''\s+and\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*>\s*0$`),
|
|
280
280
|
},
|
|
281
281
|
// string with value
|
|
282
282
|
{
|
|
283
|
-
getValue: (m)
|
|
284
|
-
var _ref;
|
|
285
|
-
var _parseQuotedValue;
|
|
286
|
-
return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
|
|
287
|
-
},
|
|
283
|
+
getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
|
|
288
284
|
operator: 'is_equal_to',
|
|
289
285
|
pathGroup: 1,
|
|
290
|
-
pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*==\s+(.+)$`)
|
|
286
|
+
pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*==\s+(.+)$`),
|
|
291
287
|
},
|
|
292
288
|
{
|
|
293
|
-
getValue: (m)
|
|
294
|
-
var _ref;
|
|
295
|
-
var _parseQuotedValue;
|
|
296
|
-
return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
|
|
297
|
-
},
|
|
289
|
+
getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
|
|
298
290
|
operator: 'is_not_equal_to',
|
|
299
291
|
pathGroup: 1,
|
|
300
|
-
pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*!=\s+(.+)$`)
|
|
292
|
+
pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*!=\s+(.+)$`),
|
|
301
293
|
},
|
|
302
294
|
{
|
|
303
|
-
getValue:
|
|
295
|
+
getValue: m => unescapeNunjucksString(m[1]),
|
|
304
296
|
operator: 'contains',
|
|
305
297
|
pathGroup: 2,
|
|
306
|
-
pattern: new RegExp(String.raw`^'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}$`)
|
|
298
|
+
pattern: new RegExp(String.raw `^'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}$`),
|
|
307
299
|
},
|
|
308
300
|
{
|
|
309
|
-
getValue:
|
|
301
|
+
getValue: m => unescapeNunjucksString(m[1]),
|
|
310
302
|
operator: 'does_not_contain',
|
|
311
303
|
pathGroup: 2,
|
|
312
|
-
pattern: new RegExp(String.raw`^not\s*\(\s*'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}\s*\)\s*$`)
|
|
304
|
+
pattern: new RegExp(String.raw `^not\s*\(\s*'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}\s*\)\s*$`),
|
|
313
305
|
},
|
|
314
306
|
{
|
|
315
|
-
getValue: (m)
|
|
316
|
-
var _ref;
|
|
317
|
-
var _parseQuotedValue;
|
|
318
|
-
return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
|
|
319
|
-
},
|
|
307
|
+
getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
|
|
320
308
|
operator: 'starts_with',
|
|
321
309
|
pathGroup: 1,
|
|
322
|
-
pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*\|\s*startswith\s*\(\s*(.+)\s*\)\s*$`)
|
|
310
|
+
pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*\|\s*startswith\s*\(\s*(.+)\s*\)\s*$`),
|
|
323
311
|
},
|
|
324
312
|
{
|
|
325
|
-
getValue: (m)
|
|
326
|
-
var _ref;
|
|
327
|
-
var _parseQuotedValue;
|
|
328
|
-
return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
|
|
329
|
-
},
|
|
313
|
+
getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
|
|
330
314
|
operator: 'ends_with',
|
|
331
315
|
pathGroup: 1,
|
|
332
|
-
pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*\|\s*endswith\s*\(\s*(.+)\s*\)\s*$`)
|
|
316
|
+
pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*\|\s*endswith\s*\(\s*(.+)\s*\)\s*$`),
|
|
333
317
|
},
|
|
334
318
|
// number operators (>= and <= before > and < to avoid partial match)
|
|
335
319
|
{
|
|
336
|
-
getValue:
|
|
320
|
+
getValue: m => m[2].trim(),
|
|
337
321
|
operator: 'num_gte',
|
|
338
322
|
pathGroup: 1,
|
|
339
|
-
pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*>=\s*(.+)$`)
|
|
323
|
+
pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*>=\s*(.+)$`),
|
|
340
324
|
},
|
|
341
325
|
{
|
|
342
|
-
getValue:
|
|
326
|
+
getValue: m => m[2].trim(),
|
|
343
327
|
operator: 'num_lte',
|
|
344
328
|
pathGroup: 1,
|
|
345
|
-
pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*<=\s*(.+)$`)
|
|
329
|
+
pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*<=\s*(.+)$`),
|
|
346
330
|
},
|
|
347
331
|
{
|
|
348
|
-
getValue:
|
|
332
|
+
getValue: m => m[2].trim(),
|
|
349
333
|
operator: 'num_eq',
|
|
350
334
|
pathGroup: 1,
|
|
351
|
-
pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*==\s*(.+)$`)
|
|
335
|
+
pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*==\s*(.+)$`),
|
|
352
336
|
},
|
|
353
337
|
{
|
|
354
|
-
getValue:
|
|
338
|
+
getValue: m => m[2].trim(),
|
|
355
339
|
operator: 'num_neq',
|
|
356
340
|
pathGroup: 1,
|
|
357
|
-
pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*!=\s*(.+)$`)
|
|
341
|
+
pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*!=\s*(.+)$`),
|
|
358
342
|
},
|
|
359
343
|
{
|
|
360
|
-
getValue:
|
|
344
|
+
getValue: m => m[2].trim(),
|
|
361
345
|
operator: 'num_gt',
|
|
362
346
|
pathGroup: 1,
|
|
363
|
-
pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*>\s*(.+)$`)
|
|
347
|
+
pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*>\s*(.+)$`),
|
|
364
348
|
},
|
|
365
349
|
{
|
|
366
|
-
getValue:
|
|
350
|
+
getValue: m => m[2].trim(),
|
|
367
351
|
operator: 'num_lt',
|
|
368
352
|
pathGroup: 1,
|
|
369
|
-
pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*<\s*(.+)$`)
|
|
370
|
-
}
|
|
353
|
+
pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*<\s*(.+)$`),
|
|
354
|
+
},
|
|
371
355
|
];
|
|
372
356
|
function parseSingleConditionExpression(expr, logicalOp) {
|
|
373
357
|
const trimmed = expr.trim();
|
|
374
|
-
for (const { getValue, operator, pathGroup, pattern } of PARSE_PATTERNS){
|
|
358
|
+
for (const { getValue, operator, pathGroup, pattern } of PARSE_PATTERNS) {
|
|
375
359
|
const match = new RegExp(pattern).exec(trimmed);
|
|
376
360
|
if (!match) {
|
|
377
361
|
continue;
|
|
@@ -384,9 +368,9 @@ function parseSingleConditionExpression(expr, logicalOp) {
|
|
|
384
368
|
}
|
|
385
369
|
return null;
|
|
386
370
|
}
|
|
387
|
-
const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
|
|
371
|
+
const parseSegmentToSingleCondition = (rawSegment, logicalOp) => {
|
|
388
372
|
let text = stripOuterParens(rawSegment.trim());
|
|
389
|
-
for(;;){
|
|
373
|
+
for (;;) {
|
|
390
374
|
const single = parseSingleConditionExpression(text, logicalOp);
|
|
391
375
|
if (single) {
|
|
392
376
|
return single;
|
|
@@ -400,10 +384,11 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
|
|
|
400
384
|
};
|
|
401
385
|
/**
|
|
402
386
|
* Parse a group expression into conditions with per-condition logical operators.
|
|
403
|
-
*/
|
|
387
|
+
*/
|
|
388
|
+
function parseGroupExpression(groupExpr) {
|
|
404
389
|
const { conditionExprs, operators } = tokenizeGroupExpression(groupExpr);
|
|
405
390
|
const conditions = [];
|
|
406
|
-
for(let i = 0; i < conditionExprs.length; i++){
|
|
391
|
+
for (let i = 0; i < conditionExprs.length; i++) {
|
|
407
392
|
const cs = conditionExprs[i];
|
|
408
393
|
if (!cs) {
|
|
409
394
|
continue;
|
|
@@ -419,7 +404,9 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
|
|
|
419
404
|
/**
|
|
420
405
|
* Parse a saved Unlayer display condition back into modal state for prefilling.
|
|
421
406
|
* Returns null if the condition is missing or cannot be parsed.
|
|
422
|
-
*/
|
|
407
|
+
*/
|
|
408
|
+
export function parseUnlayerDisplayCondition(condition) {
|
|
409
|
+
var _a;
|
|
423
410
|
if (!(condition === null || condition === void 0 ? void 0 : condition.before)) {
|
|
424
411
|
return null;
|
|
425
412
|
}
|
|
@@ -435,7 +422,7 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
|
|
|
435
422
|
}
|
|
436
423
|
const { conditionExprs: ruleStrings, operators: groupOperators } = tokenizeGroupExpression(expr);
|
|
437
424
|
const groups = [];
|
|
438
|
-
for(let i = 0; i < ruleStrings.length; i++){
|
|
425
|
+
for (let i = 0; i < ruleStrings.length; i++) {
|
|
439
426
|
const rs = ruleStrings[i];
|
|
440
427
|
if (!rs) {
|
|
441
428
|
continue;
|
|
@@ -445,11 +432,10 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
|
|
|
445
432
|
if (conditions) {
|
|
446
433
|
const group = {
|
|
447
434
|
conditions,
|
|
448
|
-
id: generateId()
|
|
435
|
+
id: generateId(),
|
|
449
436
|
};
|
|
450
437
|
if (i > 0) {
|
|
451
|
-
|
|
452
|
-
group.logicalOperator = (_groupOperators_ = groupOperators[i - 1]) !== null && _groupOperators_ !== void 0 ? _groupOperators_ : 'and';
|
|
438
|
+
group.logicalOperator = (_a = groupOperators[i - 1]) !== null && _a !== void 0 ? _a : 'and';
|
|
453
439
|
}
|
|
454
440
|
groups.push(group);
|
|
455
441
|
}
|
|
@@ -457,10 +443,6 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
|
|
|
457
443
|
if (groups.length === 0) {
|
|
458
444
|
return null;
|
|
459
445
|
}
|
|
460
|
-
return {
|
|
461
|
-
behavior,
|
|
462
|
-
groups
|
|
463
|
-
};
|
|
446
|
+
return { behavior, groups };
|
|
464
447
|
}
|
|
465
|
-
|
|
466
448
|
//# sourceMappingURL=nunjucks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/display-conditions/nunjucks.ts"],"sourcesContent":["import { buildFormFieldKey, parseFormFieldKey, toNunjucksFieldReference } from '../shared/forms';\nimport { generateId } from './constants';\nimport {\n ConditionGroup,\n ConditionOperator,\n DisplayBehavior,\n DisplayConditionState,\n LogicalOperator,\n SingleCondition,\n UnlayerDisplayCondition,\n VALUE_LESS_OPERATORS,\n} from './types';\n\nfunction escapeNunjucksString(s: string): string {\n return s.replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\");\n}\n\nfunction nunjucksValueLiteral(value: string): string {\n return `'${escapeNunjucksString(value)}'`;\n}\n\nfunction isEscapedAt(s: string, index: number): boolean {\n let slashCount = 0;\n for (let i = index - 1; i >= 0 && s[i] === '\\\\'; i--) {\n slashCount++;\n }\n return slashCount % 2 === 1;\n}\n\nfunction isValueLessOperator(operator: string): boolean {\n return VALUE_LESS_OPERATORS.includes(operator as ConditionOperator);\n}\n\n/**\n * Build a single condition expression in Nunjucks.\n * Wrapped in () so splitting never breaks composite expressions.\n */\nfunction buildSingleConditionExpression(\n dataPointKey: string,\n operator: string,\n value: string,\n): string {\n const path = toNunjucksFieldReference(dataPointKey);\n const defaulted = `(${path} | default(''))`;\n const numDefaulted = `(${path} | default(0))`;\n const normalizedValue = value.trim();\n const literal = normalizedValue ? nunjucksValueLiteral(normalizedValue) : \"''\";\n const numLiteral =\n /^-?(?:\\d+\\.?\\d*|\\.\\d+)$/.test(normalizedValue) && normalizedValue !== '-'\n ? normalizedValue\n : '0';\n let inner: string;\n\n switch (operator) {\n case 'is_equal_to':\n inner = `${defaulted} == ${literal}`;\n break;\n case 'is_not_equal_to':\n inner = `${defaulted} != ${literal}`;\n break;\n case 'contains':\n inner = `${literal} in ${defaulted}`;\n break;\n case 'does_not_contain':\n inner = `not (${literal} in ${defaulted})`;\n break;\n case 'starts_with':\n inner = `(${defaulted} | startswith(${literal}))`;\n break;\n case 'ends_with':\n inner = `(${defaulted} | endswith(${literal}))`;\n break;\n case 'is_empty':\n inner = `${defaulted} == '' or (${defaulted} | length) == 0`;\n break;\n case 'is_not_empty':\n inner = `${defaulted} != '' and (${defaulted} | length) > 0`;\n break;\n case 'num_eq':\n inner = `${numDefaulted} == ${numLiteral}`;\n break;\n case 'num_neq':\n inner = `${numDefaulted} != ${numLiteral}`;\n break;\n case 'num_gt':\n inner = `${numDefaulted} > ${numLiteral}`;\n break;\n case 'num_lt':\n inner = `${numDefaulted} < ${numLiteral}`;\n break;\n case 'num_gte':\n inner = `${numDefaulted} >= ${numLiteral}`;\n break;\n case 'num_lte':\n inner = `${numDefaulted} <= ${numLiteral}`;\n break;\n default:\n inner = `${defaulted} == ${literal}`;\n }\n /*\n * is_empty / is_not_empty embed space-delimited \" or \" / \" and \" in the expression.\n * tokenizeGroupExpression splits on those at depth 0, so wrap once more so parse\n * keeps each value-less condition as a single segment (see parseGroupExpression).\n */\n if (operator === 'is_empty' || operator === 'is_not_empty') {\n return `((${inner}))`;\n }\n return `(${inner})`;\n}\n\n/**\n * Build group expression. Each condition is connected by its own logical operator.\n * E.g. (cond1) and (cond2) or (cond3)\n */\nfunction buildGroupExpression(group: ConditionGroup): string {\n const valid = group.conditions.filter(\n c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== ''),\n );\n if (valid.length === 0) {\n return '';\n }\n let result = buildSingleConditionExpression(\n valid[0].dataPointKey,\n valid[0].operator,\n valid[0].value,\n );\n for (let i = 1; i < valid.length; i++) {\n const joiner = valid[i].logicalOperator === 'or' ? ' or ' : ' and ';\n result +=\n joiner +\n buildSingleConditionExpression(\n valid[i].dataPointKey,\n valid[i].operator,\n valid[i].value,\n );\n }\n // Wrap group in parens so top-level rule AND split works cleanly\n return valid.length > 1 ? `(${result})` : result;\n}\n\n/**\n * Build full condition expression.\n * Rules (groups) are connected by each group's logical operator.\n * hide behavior wraps everything in not().\n */\nfunction buildFullConditionExpression(state: DisplayConditionState): string {\n const validGroups = state.groups\n .map(group => ({ expression: buildGroupExpression(group), group }))\n .filter(item => !!item.expression);\n if (validGroups.length === 0) {\n return '';\n }\n let combined = validGroups[0].expression;\n for (let i = 1; i < validGroups.length; i++) {\n const joiner = validGroups[i].group.logicalOperator === 'or' ? ' or ' : ' and ';\n combined += `${joiner}${validGroups[i].expression}`;\n }\n if (state.behavior === 'hide') {\n return `not (${combined})`;\n }\n return combined;\n}\n\nfunction generateConditionText(state: DisplayConditionState): {\n description: string;\n label: string;\n type: string;\n} {\n const conditionCount = state.groups.reduce(\n (count, group) =>\n count +\n group.conditions.filter(\n c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== ''),\n ).length,\n 0,\n );\n const label =\n state.behavior === 'show' ? 'Show condition configured' : 'Hide condition configured';\n const description =\n conditionCount === 1\n ? '1 condition is currently applied'\n : `${conditionCount} conditions are currently applied`;\n return { description, label, type: '' };\n}\n\nexport function buildUnlayerDisplayCondition(\n state: DisplayConditionState,\n): UnlayerDisplayCondition | null {\n const expr = buildFullConditionExpression(state);\n if (!expr) {\n return null;\n }\n const before = `{% if ${expr} %}`;\n const after = '{% endif %}';\n const { description, label, type } = generateConditionText(state);\n return { after, before, description, label, type };\n}\n\n/*\n * ---------------------------------------------------------------------------\n * Parse helpers\n * ---------------------------------------------------------------------------\n */\n\nfunction stripOuterParens(s: string): string {\n const t = s.trim();\n if (t.length < 2 || !t.startsWith('(') || t.at(-1) !== ')') {\n return t;\n }\n let depth = 1;\n for (let i = 1; i < t.length - 1; i++) {\n if (t[i] === '(') {\n depth++;\n } else if (t[i] === ')') {\n depth--;\n if (depth === 0) {\n return t;\n }\n }\n }\n return depth === 1 ? t.slice(1, -1).trim() : t;\n}\n\n/**\n * Tokenize an expression into alternating tokens of (expr, operator).\n * Returns: [expr, 'and'|'or', expr, 'and'|'or', expr, ...]\n *\n * This scans for top-level \" and \" / \" or \" while respecting parens,\n * and records which separator was found between each pair.\n */\nfunction tokenizeGroupExpression(expr: string): {\n conditionExprs: string[];\n operators: LogicalOperator[];\n} {\n const conditionExprs: string[] = [];\n const operators: LogicalOperator[] = [];\n let depth = 0;\n let inSingleQuote = false;\n let start = 0;\n\n for (let i = 0; i < expr.length; i++) {\n const c = expr[i];\n if (c === \"'\" && !isEscapedAt(expr, i)) {\n inSingleQuote = !inSingleQuote;\n } else if (!inSingleQuote && c === '(') {\n depth++;\n } else if (!inSingleQuote && c === ')') {\n depth = Math.max(0, depth - 1);\n } else if (!inSingleQuote && depth === 0) {\n // Check for \" and \" or \" or \" at this position\n if (expr.slice(i, i + 5) === ' and ') {\n conditionExprs.push(expr.slice(start, i).trim());\n operators.push('and');\n start = i + 5;\n i += 4;\n continue;\n }\n if (expr.slice(i, i + 4) === ' or ') {\n conditionExprs.push(expr.slice(start, i).trim());\n operators.push('or');\n start = i + 4;\n i += 3;\n continue;\n }\n }\n }\n conditionExprs.push(expr.slice(start).trim());\n return { conditionExprs, operators };\n}\n\nfunction unescapeNunjucksString(s: string): string {\n return s.replaceAll('\\\\\\\\', '\\\\').replaceAll(String.raw`\\'`, \"'\");\n}\n\nconst SIMPLE_DATA_POINT_PATH = String.raw`[\\w.]+`;\nconst FORM_RUNTIME_DATA_POINT_PATH = String.raw`__submission_fields\\[\"\\d+\"\\]\\[\"[A-Za-z0-9]+\"\\]`;\nconst DATA_POINT_PATH = String.raw`(${SIMPLE_DATA_POINT_PATH}|${FORM_RUNTIME_DATA_POINT_PATH})`;\nconst RE_STR_DEFAULT = String.raw`\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*''\\s*\\)\\)`;\nconst RE_NUM_DEFAULT = String.raw`\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*0\\s*\\)\\)`;\nconst QUOTED_CONTENT = String.raw`((?:[^'\\\\]|\\\\.)*)`;\n\nfunction toSingleCondition(\n operator: ConditionOperator,\n dataPointKey: string,\n value: string,\n logicalOp?: LogicalOperator,\n): SingleCondition {\n const normalizedDataPointKey = (() => {\n const parsed = parseFormFieldKey(dataPointKey.trim());\n if (!parsed) {\n return dataPointKey.trim();\n }\n return buildFormFieldKey(parsed.formId, parsed.fieldId);\n })();\n const condition: SingleCondition = {\n dataPointKey: normalizedDataPointKey,\n id: generateId(),\n operator,\n value,\n };\n if (logicalOp) {\n condition.logicalOperator = logicalOp;\n }\n return condition;\n}\n\nfunction parseQuotedValue(s: string): { value: string; rest: string } | null {\n if (!s.startsWith(\"'\")) {\n return null;\n }\n let i = 1;\n let value = '';\n while (i < s.length) {\n if (s[i] === '\\\\' && i + 1 < s.length) {\n value += s[i + 1] === \"'\" ? \"'\" : s[i + 1];\n i += 2;\n continue;\n }\n if (s[i] === \"'\") {\n return { rest: s.slice(i + 1).trim(), value: unescapeNunjucksString(value) };\n }\n value += s[i];\n i++;\n }\n return null;\n}\n\ninterface ParsePattern {\n getValue: (match: RegExpMatchArray) => string | null;\n operator: ConditionOperator;\n pathGroup: number;\n pattern: RegExp;\n}\n\nconst PARSE_PATTERNS: ParsePattern[] = [\n // value-less\n {\n getValue: () => '',\n operator: 'is_empty',\n pathGroup: 1,\n pattern: new RegExp(\n String.raw`^${RE_STR_DEFAULT}\\s*==\\s*''\\s+or\\s+\\(\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*''\\s*\\)\\)\\s*\\|\\s*length\\)\\s*==\\s*0$`,\n ),\n },\n {\n getValue: () => '',\n operator: 'is_not_empty',\n pathGroup: 1,\n pattern: new RegExp(\n String.raw`^${RE_STR_DEFAULT}\\s*!=\\s*''\\s+and\\s+\\(\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*''\\s*\\)\\)\\s*\\|\\s*length\\)\\s*>\\s*0$`,\n ),\n },\n // string with value\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'is_equal_to',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*==\\s+(.+)$`),\n },\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'is_not_equal_to',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*!=\\s+(.+)$`),\n },\n {\n getValue: m => unescapeNunjucksString(m[1]),\n operator: 'contains',\n pathGroup: 2,\n pattern: new RegExp(String.raw`^'${QUOTED_CONTENT}'\\s+in\\s+${RE_STR_DEFAULT}$`),\n },\n {\n getValue: m => unescapeNunjucksString(m[1]),\n operator: 'does_not_contain',\n pathGroup: 2,\n pattern: new RegExp(\n String.raw`^not\\s*\\(\\s*'${QUOTED_CONTENT}'\\s+in\\s+${RE_STR_DEFAULT}\\s*\\)\\s*$`,\n ),\n },\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'starts_with',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*\\|\\s*startswith\\s*\\(\\s*(.+)\\s*\\)\\s*$`),\n },\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'ends_with',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*\\|\\s*endswith\\s*\\(\\s*(.+)\\s*\\)\\s*$`),\n },\n // number operators (>= and <= before > and < to avoid partial match)\n {\n getValue: m => m[2].trim(),\n operator: 'num_gte',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*>=\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_lte',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*<=\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_eq',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*==\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_neq',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*!=\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_gt',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*>\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_lt',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*<\\s*(.+)$`),\n },\n];\n\nfunction parseSingleConditionExpression(\n expr: string,\n logicalOp?: LogicalOperator,\n): SingleCondition | null {\n const trimmed = expr.trim();\n for (const { getValue, operator, pathGroup, pattern } of PARSE_PATTERNS) {\n const match = new RegExp(pattern).exec(trimmed);\n if (!match) {\n continue;\n }\n const value = getValue(match);\n if (value === null) {\n continue;\n }\n return toSingleCondition(operator, match[pathGroup], value, logicalOp);\n }\n return null;\n}\n\nconst parseSegmentToSingleCondition = (\n rawSegment: string,\n logicalOp?: LogicalOperator,\n): SingleCondition | null => {\n let text = stripOuterParens(rawSegment.trim());\n for (;;) {\n const single = parseSingleConditionExpression(text, logicalOp);\n if (single) {\n return single;\n }\n const next = stripOuterParens(text);\n if (next === text) {\n return null;\n }\n text = next;\n }\n};\n\n/**\n * Parse a group expression into conditions with per-condition logical operators.\n */\nfunction parseGroupExpression(groupExpr: string): SingleCondition[] | null {\n const { conditionExprs, operators } = tokenizeGroupExpression(groupExpr);\n const conditions: SingleCondition[] = [];\n\n for (let i = 0; i < conditionExprs.length; i++) {\n const cs = conditionExprs[i];\n if (!cs) {\n continue;\n }\n const logicalOp = i > 0 ? operators[i - 1] : undefined;\n const single = parseSegmentToSingleCondition(cs, logicalOp);\n if (single) {\n conditions.push(single);\n }\n }\n\n return conditions.length > 0 ? conditions : null;\n}\n\n/**\n * Parse a saved Unlayer display condition back into modal state for prefilling.\n * Returns null if the condition is missing or cannot be parsed.\n */\nexport function parseUnlayerDisplayCondition(\n condition: UnlayerDisplayCondition | null | undefined,\n): DisplayConditionState | null {\n if (!condition?.before) {\n return null;\n }\n const ifMatch = new RegExp(/\\{%\\s*if\\s+(.+)\\s*%\\}/s).exec(condition.before);\n if (!ifMatch) {\n return null;\n }\n let expr = ifMatch[1].trim();\n\n let behavior: DisplayBehavior = 'show';\n if (expr.startsWith('not (') && expr.endsWith(')')) {\n behavior = 'hide';\n expr = expr.slice(5, -1).trim();\n }\n\n const { conditionExprs: ruleStrings, operators: groupOperators } =\n tokenizeGroupExpression(expr);\n const groups: ConditionGroup[] = [];\n\n for (let i = 0; i < ruleStrings.length; i++) {\n const rs = ruleStrings[i];\n if (!rs) {\n continue;\n }\n const unwrapped = stripOuterParens(rs);\n const conditions = parseGroupExpression(unwrapped);\n if (conditions) {\n const group: ConditionGroup = {\n conditions,\n id: generateId(),\n };\n if (i > 0) {\n group.logicalOperator = groupOperators[i - 1] ?? 'and';\n }\n groups.push(group);\n }\n }\n\n if (groups.length === 0) {\n return null;\n }\n\n return { behavior, groups };\n}\n"],"names":["buildFormFieldKey","parseFormFieldKey","toNunjucksFieldReference","generateId","VALUE_LESS_OPERATORS","escapeNunjucksString","s","replace","nunjucksValueLiteral","value","isEscapedAt","index","slashCount","i","isValueLessOperator","operator","includes","buildSingleConditionExpression","dataPointKey","path","defaulted","numDefaulted","normalizedValue","trim","literal","numLiteral","test","inner","buildGroupExpression","group","valid","conditions","filter","c","length","result","joiner","logicalOperator","buildFullConditionExpression","state","validGroups","groups","map","expression","item","combined","behavior","generateConditionText","conditionCount","reduce","count","label","description","type","buildUnlayerDisplayCondition","expr","before","after","stripOuterParens","t","startsWith","at","depth","slice","tokenizeGroupExpression","conditionExprs","operators","inSingleQuote","start","Math","max","push","unescapeNunjucksString","replaceAll","String","raw","SIMPLE_DATA_POINT_PATH","FORM_RUNTIME_DATA_POINT_PATH","DATA_POINT_PATH","RE_STR_DEFAULT","RE_NUM_DEFAULT","QUOTED_CONTENT","toSingleCondition","logicalOp","normalizedDataPointKey","parsed","formId","fieldId","condition","id","parseQuotedValue","rest","PARSE_PATTERNS","getValue","pathGroup","pattern","RegExp","m","parseSingleConditionExpression","trimmed","match","exec","parseSegmentToSingleCondition","rawSegment","text","single","next","parseGroupExpression","groupExpr","cs","undefined","parseUnlayerDisplayCondition","ifMatch","endsWith","ruleStrings","groupOperators","rs","unwrapped"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nunjucks.js","sourceRoot":"","sources":["../../src/display-conditions/nunjucks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import { schemaBuildMap, schemaIsNumber } from '../shared/schema';
|
|
1
|
+
import { schemaBuildMap, schemaIsNumber, } from '../shared/schema';
|
|
2
2
|
function isUseInConditionals(node) {
|
|
3
|
-
var
|
|
4
|
-
return (node === null || node === void 0 ? void 0 :
|
|
3
|
+
var _a, _b;
|
|
4
|
+
return (((_a = node === null || node === void 0 ? void 0 : node.options) === null || _a === void 0 ? void 0 : _a.useInConditionals) === true || ((_b = node === null || node === void 0 ? void 0 : node.options) === null || _b === void 0 ? void 0 : _b.useInCalculatedFields) === true);
|
|
5
5
|
}
|
|
6
6
|
export function getSchemaDataPointOptions(schema) {
|
|
7
7
|
if (!(schema === null || schema === void 0 ? void 0 : schema.properties)) {
|
|
8
8
|
return [];
|
|
9
9
|
}
|
|
10
10
|
const { map } = schemaBuildMap(schema);
|
|
11
|
-
return Object.values(map)
|
|
12
|
-
|
|
11
|
+
return Object.values(map)
|
|
12
|
+
.filter(f => f.isValue &&
|
|
13
|
+
!f.isArrayed &&
|
|
14
|
+
isUseInConditionals(f.node))
|
|
15
|
+
.map(f => {
|
|
16
|
+
var _a;
|
|
13
17
|
const fieldType = schemaIsNumber(f.node) ? 'number' : 'string';
|
|
14
|
-
const lookupSource = (
|
|
18
|
+
const lookupSource = (_a = f.node.options) === null || _a === void 0 ? void 0 : _a.fieldLookupSource;
|
|
15
19
|
return {
|
|
16
20
|
fieldType,
|
|
17
21
|
fullKey: f.fullKey,
|
|
18
22
|
title: f.fullTitle || f.title || f.fullKey,
|
|
19
|
-
...lookupSource ? {
|
|
20
|
-
lookupSource
|
|
21
|
-
} : {}
|
|
23
|
+
...(lookupSource ? { lookupSource } : {}),
|
|
22
24
|
};
|
|
23
|
-
})
|
|
25
|
+
})
|
|
26
|
+
.sort((a, b) => a.title.localeCompare(b.title));
|
|
24
27
|
}
|
|
25
|
-
|
|
26
28
|
//# sourceMappingURL=schemaDataPoints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/display-conditions/schemaDataPoints.ts"],"
|
|
1
|
+
{"version":3,"file":"schemaDataPoints.js","sourceRoot":"","sources":["../../src/display-conditions/schemaDataPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,cAAc,EACd,cAAc,GACjB,MAAM,kBAAkB,CAAC;AAG1B,SAAS,mBAAmB,CAAC,IAAsD;;IAC/E,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,MAAM,UAAU,yBAAyB,CAAC,MAAgC;IACtE,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;SACpB,MAAM,CACH,CAAC,CAAC,EAAE,CACA,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,CAAC,SAAS;QACZ,mBAAmB,CAAC,CAAC,CAAC,IAA4C,CAAC,CAC1E;SACA,GAAG,CAAC,CAAC,CAAC,EAAE;;QACL,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,QAAkB,CAAC;QACrF,MAAM,YAAY,GAAG,MAAC,CAAC,CAAC,IAA6C,CAAC,OAAO,0CACvE,iBAAiB,CAAC;QACxB,OAAO;YACH,SAAS;YACT,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO;YAC1C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;IACN,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC"}
|