@qoretechnologies/reqraft 0.10.50 → 0.10.51-pr.115.g3e79f11
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/design/FORM_ENGINE_EXPRESSIONS.md +110 -0
- package/dist/components/dpqlEditor/dpqlProbe.d.ts +37 -0
- package/dist/components/dpqlEditor/dpqlProbe.d.ts.map +1 -0
- package/dist/components/dpqlEditor/dpqlProbe.js +203 -0
- package/dist/components/dpqlEditor/dpqlProbe.js.map +1 -0
- package/dist/components/dpqlEditor/index.d.ts +4 -0
- package/dist/components/dpqlEditor/index.d.ts.map +1 -1
- package/dist/components/dpqlEditor/index.js +5 -1
- package/dist/components/dpqlEditor/index.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +29 -2
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlProbe.d.ts +4 -0
- package/dist/components/dpqlEditor/useDpqlProbe.d.ts.map +1 -0
- package/dist/components/dpqlEditor/useDpqlProbe.js +29 -0
- package/dist/components/dpqlEditor/useDpqlProbe.js.map +1 -0
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +5 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +8 -2
- package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +91 -12
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +5 -2
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +107 -11
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +277 -51
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.d.ts +17 -2
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +61 -11
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +7 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
- package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.d.ts +19 -1
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +63 -10
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/rendererTypes.d.ts +13 -0
- package/dist/components/form/engine/rendererTypes.d.ts.map +1 -1
- package/dist/components/form/engine/rendererTypes.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +147 -18
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/dpqlMockLsp.d.ts +17 -0
- package/dist/components/form/expressions/dpqlMockLsp.d.ts.map +1 -1
- package/dist/components/form/expressions/dpqlMockLsp.js +43 -8
- package/dist/components/form/expressions/dpqlMockLsp.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +11 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +14 -2
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +8 -1
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +2 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +3 -2
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +168 -2
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts.map +1 -1
- package/dist/components/smartEditor/__fixtures__/mockLspServer.js +24 -1
- package/dist/components/smartEditor/__fixtures__/mockLspServer.js.map +1 -1
- package/dist/helpers/dpqlDetection.d.ts +58 -0
- package/dist/helpers/dpqlDetection.d.ts.map +1 -0
- package/dist/helpers/dpqlDetection.js +147 -0
- package/dist/helpers/dpqlDetection.js.map +1 -0
- package/dist/helpers/optionUiTypes.d.ts +1 -1
- package/dist/helpers/templates.d.ts +21 -0
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +28 -1
- package/dist/helpers/templates.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/fetch.d.ts +115 -1
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +210 -44
- package/dist/utils/fetch.js.map +1 -1
- package/package.json +1 -1
- package/src/components/dpqlEditor/dpqlProbe.ts +165 -0
- package/src/components/dpqlEditor/index.ts +4 -0
- package/src/components/dpqlEditor/types.ts +26 -2
- package/src/components/dpqlEditor/useDpqlProbe.ts +33 -0
- package/src/components/dpqlEditor/useDpqlSession.ts +20 -4
- package/src/components/form/engine/CompactRow.tsx +112 -4
- package/src/components/form/engine/CompactToolbar.tsx +10 -3
- package/src/components/form/engine/FormEngine.stories.tsx +328 -6
- package/src/components/form/engine/FormEngine.tsx +319 -33
- package/src/components/form/engine/OptionFieldMessages.tsx +89 -11
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +11 -0
- package/src/components/form/engine/compactToolbarContext.ts +1 -1
- package/src/components/form/engine/readFirst.ts +70 -7
- package/src/components/form/engine/rendererTypes.ts +12 -0
- package/src/components/form/expressions/ExpressionField.stories.tsx +216 -29
- package/src/components/form/expressions/ExpressionField.tsx +194 -16
- package/src/components/form/expressions/dpqlMockLsp.ts +48 -0
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +13 -2
- package/src/components/form/fields/auto/AutoFormField.tsx +7 -0
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +4 -2
- package/src/components/form/fields/template/TemplateField.tsx +234 -1
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +25 -1
- package/src/helpers/dpqlDetection.ts +192 -0
- package/src/helpers/templates.ts +31 -0
- package/src/index.tsx +14 -1
- package/src/utils/fetch.ts +247 -21
|
@@ -43,8 +43,9 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
43
43
|
// Owns the `IExpression` value and offers two views of the same AST —
|
|
44
44
|
// Visual (the builder, Phase 3) and Text (DPQL, this phase). The DPQL text
|
|
45
45
|
// editor bridges to the AST via the LSP `dpql/parse` (text → AST on edit)
|
|
46
|
-
// and `dpql/serialize` (AST → text on entering Text mode); a
|
|
47
|
-
//
|
|
46
|
+
// and `dpql/serialize` (AST → text on entering Text mode); a debounced
|
|
47
|
+
// "Preview" box renders the current AST (`dpql/renderExpression`) when that
|
|
48
|
+
// rendering differs from the text the author typed.
|
|
48
49
|
var reqore_1 = require("@qoretechnologies/reqore");
|
|
49
50
|
var react_1 = require("react");
|
|
50
51
|
var dpqlEditor_1 = require("../../dpqlEditor");
|
|
@@ -52,6 +53,15 @@ var builder_1 = require("./builder");
|
|
|
52
53
|
var useExpressions_1 = require("./useExpressions");
|
|
53
54
|
var useRenderExpression_1 = require("./useRenderExpression");
|
|
54
55
|
var PARSE_DEBOUNCE_MS = 300;
|
|
56
|
+
/**
|
|
57
|
+
* How long the Preview waits before catching up with the editor.
|
|
58
|
+
*
|
|
59
|
+
* It mirrors the AST, so without this it re-renders on every keystroke — a box
|
|
60
|
+
* appearing, changing and vanishing under the line being typed. Slightly
|
|
61
|
+
* SLOWER than the parse it follows, so the preview settles once after the text
|
|
62
|
+
* has stopped moving rather than twitching on the way there.
|
|
63
|
+
*/
|
|
64
|
+
var PREVIEW_DEBOUNCE_MS = 400;
|
|
55
65
|
/** Retry cadence for seeding the Text editor while its LSP session opens. */
|
|
56
66
|
var SEED_RETRY_MS = 400;
|
|
57
67
|
var SEED_MAX_TRIES = 20;
|
|
@@ -72,52 +82,165 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
|
|
|
72
82
|
// Text mode state. `text` is the DPQL string the editor shows; the AST
|
|
73
83
|
// (`value`) stays the source of truth, kept in sync via parse-on-edit.
|
|
74
84
|
var _f = (0, react_1.useState)(''), text = _f[0], setText = _f[1];
|
|
85
|
+
/* The text the current AST was parsed FROM.
|
|
86
|
+
*
|
|
87
|
+
* The preview renders the AST, and the AST only moves on a SUCCESSFUL
|
|
88
|
+
* parse — so while an edit is mid-flight or simply invalid, the AST still
|
|
89
|
+
* describes the last thing that parsed. Showing it then states something
|
|
90
|
+
* the editor does not contain: deleting the `2` from `1 + 2` left
|
|
91
|
+
* "Unexpected end of input" sitting directly above a Preview confidently
|
|
92
|
+
* reading `1 + 2`. */
|
|
93
|
+
var _g = (0, react_1.useState)(''), astText = _g[0], setAstText = _g[1];
|
|
94
|
+
/**
|
|
95
|
+
* The server's answer to "can this expression's result satisfy the type
|
|
96
|
+
* this field declares?". `null` when nothing has been asked, or when the
|
|
97
|
+
* field declares no type worth asking about.
|
|
98
|
+
*/
|
|
99
|
+
var _h = (0, react_1.useState)(null), typeCheck = _h[0], setTypeCheck = _h[1];
|
|
75
100
|
var dpqlRef = (0, react_1.useRef)(null);
|
|
76
101
|
var parseTimer = (0, react_1.useRef)(null);
|
|
77
102
|
var ast = (0, react_1.useMemo)(function () { return value === null || value === void 0 ? void 0 : value.value; }, [value]);
|
|
103
|
+
/**
|
|
104
|
+
* The type the expression's result has to satisfy, sent with every parse.
|
|
105
|
+
*
|
|
106
|
+
* `auto` and `any` are left out deliberately: they accept anything, so the
|
|
107
|
+
* server would answer "compatible" for everything and the round trip would
|
|
108
|
+
* buy nothing. A field offering a CHOICE of return types has no single
|
|
109
|
+
* answer either, so it asks nothing rather than asking about the wrong one.
|
|
110
|
+
*/
|
|
111
|
+
var targetType = (0, react_1.useMemo)(function () {
|
|
112
|
+
var declared = Array.isArray(returnType) ? undefined : (returnType !== null && returnType !== void 0 ? returnType : type);
|
|
113
|
+
return declared && declared !== 'auto' && declared !== 'any' ? declared : undefined;
|
|
114
|
+
}, [returnType, type]);
|
|
115
|
+
/** Read the type analysis off a parse result, or clear it. */
|
|
116
|
+
var readTypeCheck = (0, react_1.useCallback)(function (result) {
|
|
117
|
+
var _a;
|
|
118
|
+
if (!result || result.type_compatible === undefined) {
|
|
119
|
+
setTypeCheck(null);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
setTypeCheck({
|
|
123
|
+
compatible: !!result.type_compatible,
|
|
124
|
+
mayFail: !!result.coercion_may_fail,
|
|
125
|
+
inferred: result.inferred_type,
|
|
126
|
+
target: result.target_type,
|
|
127
|
+
fix: (_a = result.suggested_fix) === null || _a === void 0 ? void 0 : _a.text,
|
|
128
|
+
});
|
|
129
|
+
}, []);
|
|
78
130
|
// Keep a readable rendering of the current expression in sync — the
|
|
79
131
|
// single live mirror of the AST (server `dpql/renderExpression` when
|
|
80
132
|
// reachable, the client-side approximation otherwise).
|
|
133
|
+
//
|
|
134
|
+
// Debounced: it follows the AST, which follows the text, so rendering it
|
|
135
|
+
// eagerly put a box under the cursor that appeared, changed and vanished
|
|
136
|
+
// while the author was still typing.
|
|
81
137
|
(0, react_1.useEffect)(function () {
|
|
82
138
|
var live = true;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
139
|
+
var timer = setTimeout(function () {
|
|
140
|
+
renderRich(ast !== null && ast !== void 0 ? ast : {}, expressions).then(function (r) {
|
|
141
|
+
if (live)
|
|
142
|
+
setPreview({ text: r.text, server: r.server });
|
|
143
|
+
});
|
|
144
|
+
}, PREVIEW_DEBOUNCE_MS);
|
|
87
145
|
return function () {
|
|
88
146
|
live = false;
|
|
147
|
+
clearTimeout(timer);
|
|
89
148
|
};
|
|
90
149
|
}, [renderRich, ast, expressions]);
|
|
91
150
|
// Tracks whether the user has typed since entering Text mode, so a
|
|
92
151
|
// slow seed response can't clobber their input.
|
|
93
152
|
var userTypedRef = (0, react_1.useRef)(false);
|
|
94
153
|
var astRef = (0, react_1.useRef)(ast);
|
|
154
|
+
/* A cleared value must clear the editor with it.
|
|
155
|
+
*
|
|
156
|
+
* "Clear value" empties the option (`handleValueChange(name, undefined)`),
|
|
157
|
+
* but the DPQL text is local state seeded once on entering Text mode, and
|
|
158
|
+
* the seeding effect returns early for an empty AST — it exists to fill the
|
|
159
|
+
* editor, not to empty it. So the value went and the text stayed: the row
|
|
160
|
+
* reported "This field is required" while still showing `1 + 2`, which
|
|
161
|
+
* reads as the clear having silently failed.
|
|
162
|
+
*
|
|
163
|
+
* Only an AST that HAD content and lost it clears the box. A field that
|
|
164
|
+
* simply starts empty is left alone, so this cannot wipe what an author is
|
|
165
|
+
* part-way through typing before their first parse lands.
|
|
166
|
+
*/
|
|
167
|
+
var hadExpression = (0, react_1.useRef)(false);
|
|
168
|
+
(0, react_1.useEffect)(function () {
|
|
169
|
+
/* GONE, not merely incomplete.
|
|
170
|
+
*
|
|
171
|
+
* The first cut asked whether the AST still had an `exp`, and that is a
|
|
172
|
+
* state the value passes THROUGH while the author types: a half-written
|
|
173
|
+
* expression parses to something without one. So typing `1 + 2` cleared
|
|
174
|
+
* the editor mid-keystroke and the text vanished under the cursor.
|
|
175
|
+
*
|
|
176
|
+
* A clear removes the value itself, so that is what to watch: `value`
|
|
177
|
+
* empty, not an AST that is between shapes. Typing never produces that —
|
|
178
|
+
* `handleDpqlChange` only emits on a SUCCESSFUL parse, so an incomplete
|
|
179
|
+
* expression leaves the previous value in place. */
|
|
180
|
+
if (ast) {
|
|
181
|
+
hadExpression.current = true;
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
if (hadExpression.current) {
|
|
185
|
+
hadExpression.current = false;
|
|
186
|
+
userTypedRef.current = false;
|
|
187
|
+
setText('');
|
|
188
|
+
}
|
|
189
|
+
}, [ast]);
|
|
95
190
|
(0, react_1.useEffect)(function () {
|
|
96
191
|
astRef.current = ast;
|
|
97
192
|
}, [ast]);
|
|
98
193
|
// Text mode: parse the DPQL into the AST (debounced).
|
|
194
|
+
/* The session may not be attached when the debounce fires — the editor
|
|
195
|
+
mounts on the render that flips the mode, and its LSP session comes up
|
|
196
|
+
after that. `dpqlRef.current?.parse?.()` is optional all the way down, so
|
|
197
|
+
an early call resolves `undefined`, `readTypeCheck` CLEARS the analysis,
|
|
198
|
+
and nothing asks again: the author types once into a fresh Text field and
|
|
199
|
+
is told nothing about the type until they happen to type another
|
|
200
|
+
character.
|
|
201
|
+
|
|
202
|
+
The seeding effect below already retries for this exact reason
|
|
203
|
+
("`serialize` resolves '' until the editor's LSP session is ready"); the
|
|
204
|
+
parse path needed the same care and did not have it. Same budget as
|
|
205
|
+
seeding, so a session that never arrives gives up rather than spinning.
|
|
206
|
+
|
|
207
|
+
Found by CI, not locally: the session is up before the debounce on a
|
|
208
|
+
fast machine, so the story asserting the type message passed here every
|
|
209
|
+
time and failed on the runner. */
|
|
99
210
|
var handleDpqlChange = (0, react_1.useCallback)(function (next) {
|
|
100
211
|
userTypedRef.current = true;
|
|
101
212
|
setText(next);
|
|
102
213
|
if (parseTimer.current)
|
|
103
214
|
clearTimeout(parseTimer.current);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
var
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
215
|
+
var tries = 0;
|
|
216
|
+
var runParse = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
217
|
+
var parse, result;
|
|
218
|
+
var _a;
|
|
219
|
+
return __generator(this, function (_b) {
|
|
220
|
+
switch (_b.label) {
|
|
221
|
+
case 0:
|
|
222
|
+
parse = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.parse;
|
|
223
|
+
if (!parse) {
|
|
224
|
+
if (++tries < SEED_MAX_TRIES) {
|
|
225
|
+
parseTimer.current = setTimeout(runParse, SEED_RETRY_MS);
|
|
226
|
+
}
|
|
227
|
+
return [2 /*return*/];
|
|
228
|
+
}
|
|
229
|
+
return [4 /*yield*/, parse(next, targetType)];
|
|
110
230
|
case 1:
|
|
111
|
-
result =
|
|
231
|
+
result = _b.sent();
|
|
232
|
+
readTypeCheck(result);
|
|
112
233
|
if ((result === null || result === void 0 ? void 0 : result.success) && result.expression) {
|
|
234
|
+
setAstText(next);
|
|
113
235
|
// `dpql/parse` returns the field-ready `{ is_expression, value }`.
|
|
114
236
|
onChange(result.expression);
|
|
115
237
|
}
|
|
116
238
|
return [2 /*return*/];
|
|
117
239
|
}
|
|
118
240
|
});
|
|
119
|
-
}); }
|
|
120
|
-
|
|
241
|
+
}); };
|
|
242
|
+
parseTimer.current = setTimeout(runParse, PARSE_DEBOUNCE_MS);
|
|
243
|
+
}, [onChange, targetType, readTypeCheck]);
|
|
121
244
|
// Seed the Text editor from the AST whenever Text mode becomes active
|
|
122
245
|
// (including a `defaultMode='text'` mount). This must run as an
|
|
123
246
|
// effect: the editor only mounts on the same render that flips the
|
|
@@ -146,6 +269,7 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
|
|
|
146
269
|
return [2 /*return*/];
|
|
147
270
|
if (t) {
|
|
148
271
|
setText(t);
|
|
272
|
+
setAstText(t);
|
|
149
273
|
}
|
|
150
274
|
else if (++tries < SEED_MAX_TRIES) {
|
|
151
275
|
timer = setTimeout(seed, SEED_RETRY_MS);
|
|
@@ -176,9 +300,10 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
|
|
|
176
300
|
if (parseTimer.current)
|
|
177
301
|
clearTimeout(parseTimer.current);
|
|
178
302
|
if (!(mode === 'text' && text)) return [3 /*break*/, 2];
|
|
179
|
-
return [4 /*yield*/, ((_b = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.parse) === null || _b === void 0 ? void 0 : _b.call(_a, text))];
|
|
303
|
+
return [4 /*yield*/, ((_b = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.parse) === null || _b === void 0 ? void 0 : _b.call(_a, text, targetType))];
|
|
180
304
|
case 1:
|
|
181
305
|
result = _c.sent();
|
|
306
|
+
readTypeCheck(result);
|
|
182
307
|
if ((result === null || result === void 0 ? void 0 : result.success) && result.expression) {
|
|
183
308
|
onChange(result.expression);
|
|
184
309
|
}
|
|
@@ -188,12 +313,16 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
|
|
|
188
313
|
return [2 /*return*/];
|
|
189
314
|
}
|
|
190
315
|
});
|
|
191
|
-
}); }, [mode, text, onChange]);
|
|
316
|
+
}); }, [mode, text, onChange, targetType, readTypeCheck]);
|
|
192
317
|
(0, react_1.useEffect)(function () { return function () {
|
|
193
318
|
if (parseTimer.current)
|
|
194
319
|
clearTimeout(parseTimer.current);
|
|
195
320
|
}; }, []);
|
|
196
|
-
return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, gapSize: 'small', className: 'expression-field', children: [(0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { gapSize: 'small', fluid: true, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'NodeTree', active: mode === 'visual', onClick: enterVisualMode, disabled: readOnly, size: size, children: "Visual" }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'CodeLine', active: mode === 'text', onClick: enterTextMode, disabled: readOnly, size: size, children: "Text" })] }), mode === 'text' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(dpqlEditor_1.DpqlEditor, { ref: dpqlRef, value: text, onChange: handleDpqlChange, provider: provider, recordType: recordType, readOnly: readOnly, height: '48px' }),
|
|
321
|
+
return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, gapSize: 'small', className: 'expression-field', children: [(0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { gapSize: 'small', fluid: true, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'NodeTree', active: mode === 'visual', onClick: enterVisualMode, disabled: readOnly, size: size, children: "Visual" }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'CodeLine', active: mode === 'text', onClick: enterTextMode, disabled: readOnly, size: size, children: "Text" })] }), mode === 'text' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(dpqlEditor_1.DpqlEditor, { ref: dpqlRef, value: text, onChange: handleDpqlChange, provider: provider, recordType: recordType, readOnly: readOnly, height: '48px' }), typeCheck && !typeCheck.compatible && ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreMessage, { intent: typeCheck.mayFail ? 'warning' : 'danger', size: 'small', flat: true, opaque: false, title: typeCheck.mayFail ? 'This may not fit' : 'This does not fit', children: ["The expression returns ".concat(typeCheck.inferred, ", and this field holds ").concat(typeCheck.target, "."), typeCheck.mayFail ?
|
|
322
|
+
' That conversion is attempted rather than guaranteed, so the value itself is checked when it runs.'
|
|
323
|
+
: '', typeCheck.fix ? ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: '6px' }, children: (0, jsx_runtime_1.jsx)("code", { "data-testid": 'expression-type-fix', children: typeCheck.fix }) })) : null] })), preview.text &&
|
|
324
|
+
astText.trim() === text.trim() &&
|
|
325
|
+
preview.text.trim() !== text.trim() ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: 'info', size: 'small', title: 'Preview', flat: true, opaque: false, children: preview.server ? (
|
|
197
326
|
// Server rendering shown through a read-only DpqlEditor:
|
|
198
327
|
// template-ref chips + LSP token colours; diagnostics off
|
|
199
328
|
// (the rendering is readable text, not parseable DPQL).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionField.js","sourceRoot":"","sources":["../../../../src/components/form/expressions/ExpressionField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,wEAAwE;AACxE,sEAAsE;AACtE,2EAA2E;AAC3E,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"ExpressionField.js","sourceRoot":"","sources":["../../../../src/components/form/expressions/ExpressionField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every `dpql/parse` the mock answered, in order, for diagnosis.
|
|
3
|
+
*
|
|
4
|
+
* The type-analysis stories depend on the front end SENDING `target_type` —
|
|
5
|
+
* the mock returns analysis only when it is present, exactly as the server
|
|
6
|
+
* behaves. When one of those stories fails there are two very different
|
|
7
|
+
* causes, and the rendered DOM cannot tell them apart: the request never
|
|
8
|
+
* carried a target, or it did and the answer was not rendered. This records
|
|
9
|
+
* which, and the story reports it in its assertion message so the answer
|
|
10
|
+
* survives into a CI log.
|
|
11
|
+
*/
|
|
12
|
+
export interface IDpqlMockParseCall {
|
|
13
|
+
text: string;
|
|
14
|
+
target?: string;
|
|
15
|
+
analysed: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const dpqlMockParseCalls: IDpqlMockParseCall[];
|
|
1
18
|
/** Start the mock LSP; returns a teardown function. */
|
|
2
19
|
export declare const startDpqlMockLsp: () => (() => void);
|
|
3
20
|
//# sourceMappingURL=dpqlMockLsp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dpqlMockLsp.d.ts","sourceRoot":"","sources":["../../../../src/components/form/expressions/dpqlMockLsp.ts"],"names":[],"mappings":"AAqBA,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,QAAO,CAAC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"dpqlMockLsp.d.ts","sourceRoot":"","sources":["../../../../src/components/form/expressions/dpqlMockLsp.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EAAO,CAAC;AAE3D,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,QAAO,CAAC,MAAM,IAAI,CA2G9C,CAAC"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.startDpqlMockLsp = void 0;
|
|
14
|
+
exports.startDpqlMockLsp = exports.dpqlMockParseCalls = void 0;
|
|
4
15
|
// Copyright 2026 Qore Technologies, s.r.o.
|
|
5
16
|
// A compact mock LSP for ExpressionField Text-mode stories. Registers just
|
|
6
17
|
// enough of the DPQL contract on the shared harness plumbing
|
|
@@ -9,8 +20,10 @@ exports.startDpqlMockLsp = void 0;
|
|
|
9
20
|
// `dpql/serialize` reconstructs a string. (The DpqlEditor's own stories
|
|
10
21
|
// carry the full mock; this is the minimal subset.)
|
|
11
22
|
var mockLspServer_1 = require("../../smartEditor/__fixtures__/mockLspServer");
|
|
23
|
+
exports.dpqlMockParseCalls = [];
|
|
12
24
|
/** Start the mock LSP; returns a teardown function. */
|
|
13
25
|
var startDpqlMockLsp = function () {
|
|
26
|
+
exports.dpqlMockParseCalls.length = 0;
|
|
14
27
|
var lsp = (0, mockLspServer_1.createMockLspServer)(mockLspServer_1.MOCK_LSP_URL, {
|
|
15
28
|
capabilities: {
|
|
16
29
|
textDocumentSync: { openClose: true, change: 2 },
|
|
@@ -25,11 +38,35 @@ var startDpqlMockLsp = function () {
|
|
|
25
38
|
// Echo the typed text into an `==` expression so the AST is
|
|
26
39
|
// deterministic and verifiable.
|
|
27
40
|
'dpql/parse': function (msg) {
|
|
28
|
-
var _a, _b;
|
|
41
|
+
var _a, _b, _c;
|
|
29
42
|
var text = ((_b = (_a = msg.params) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : '').trim();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
43
|
+
// Type analysis is returned ONLY when the request carried a
|
|
44
|
+
// `target_type`, exactly as the server behaves. That makes it a real
|
|
45
|
+
// check rather than a fixture: a front end that stops sending the
|
|
46
|
+
// target gets no analysis, and the stories asserting the message go
|
|
47
|
+
// red instead of quietly passing.
|
|
48
|
+
var target = (_c = msg.params) === null || _c === void 0 ? void 0 : _c.target_type;
|
|
49
|
+
var inferred = 'string';
|
|
50
|
+
var analysis = target ?
|
|
51
|
+
{
|
|
52
|
+
inferred_type: inferred,
|
|
53
|
+
target_type: target,
|
|
54
|
+
type_compatible: target === inferred || target === 'auto',
|
|
55
|
+
auto_coercible: true,
|
|
56
|
+
// "text used as a number" is the attempted-but-not-guaranteed
|
|
57
|
+
// conversion; "text used as text" needs no conversion at all.
|
|
58
|
+
coercion_may_fail: target === 'int' || target === 'float',
|
|
59
|
+
suggested_fix: target === inferred || target === 'auto' ?
|
|
60
|
+
undefined
|
|
61
|
+
: { text: "to".concat(target[0].toUpperCase()).concat(target.slice(1), "(").concat(text, ")") },
|
|
62
|
+
}
|
|
63
|
+
: {};
|
|
64
|
+
exports.dpqlMockParseCalls.push({
|
|
65
|
+
text: text,
|
|
66
|
+
target: target,
|
|
67
|
+
analysed: !!target,
|
|
68
|
+
});
|
|
69
|
+
return __assign(__assign({ success: true, expression: {
|
|
33
70
|
is_expression: true,
|
|
34
71
|
value: {
|
|
35
72
|
exp: '==',
|
|
@@ -38,9 +75,7 @@ var startDpqlMockLsp = function () {
|
|
|
38
75
|
{ type: 'string', value: '' },
|
|
39
76
|
],
|
|
40
77
|
},
|
|
41
|
-
},
|
|
42
|
-
diagnostics: [],
|
|
43
|
-
};
|
|
78
|
+
} }, analysis), { diagnostics: [] });
|
|
44
79
|
},
|
|
45
80
|
'dpql/serialize': function (msg) {
|
|
46
81
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dpqlMockLsp.js","sourceRoot":"","sources":["../../../../src/components/form/expressions/dpqlMockLsp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dpqlMockLsp.js","sourceRoot":"","sources":["../../../../src/components/form/expressions/dpqlMockLsp.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,13 +20,23 @@ export interface IFieldAllowedValuesProps extends Pick<IReqoreButtonProps, 'size
|
|
|
20
20
|
* Whether a creatable field's value is carried by the chip picker rather than
|
|
21
21
|
* by a raw editor with a suggestion list beside it.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
23
|
+
* String-valued only, and only with something to suggest. Every other shape a
|
|
24
24
|
* creatable field can declare either does not fit a one-line chip (a document
|
|
25
25
|
* — `long-string`, `binary`, `data`; a hash; a list) or would come back out of
|
|
26
26
|
* one as a string (a number, a date), and a field with nothing to offer is
|
|
27
27
|
* better served by the editor it has always had. Those keep today's rendering:
|
|
28
28
|
* the raw editor, with the saved-and-suggested picker under it.
|
|
29
29
|
*
|
|
30
|
+
* `select-string` counts, and leaving it out was the bug. A picker field
|
|
31
|
+
* declares its storage type (`*string`) and its `ui_type` (`select-string`),
|
|
32
|
+
* and by the time a schema reaches here the two have been flattened to one:
|
|
33
|
+
* `type` arrives as `select-string`. So this returned false for every such
|
|
34
|
+
* field and NEITHER renderer stood down — the picker drew the value, and the
|
|
35
|
+
* saved-and-suggested list drew the same candidates again underneath it. A
|
|
36
|
+
* test's Service and Method fields showed 183 and 7 items twice over, in two
|
|
37
|
+
* controls that set one value. A select-string's value IS a string and fits the
|
|
38
|
+
* chip, which is the only thing this predicate is really asking.
|
|
39
|
+
*
|
|
30
40
|
* Both the renderer of the picker (`FieldAllowedValues`) and the renderer of
|
|
31
41
|
* the raw editor (`AutoFormField`, `FormField`) ask this, so that exactly one
|
|
32
42
|
* of them draws the value.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllowedValues.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/allowed-values/AllowedValues.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI9E,OAAO,EAAE,oBAAoB,EAA6B,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,kBAAkB,EAClB,MAAM,GAAG,UAAU,GAAG,UAAU,CACjC;IACC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAID
|
|
1
|
+
{"version":3,"file":"AllowedValues.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/allowed-values/AllowedValues.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI9E,OAAO,EAAE,oBAAoB,EAA6B,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,kBAAkB,EAClB,MAAM,GAAG,UAAU,GAAG,UAAU,CACjC;IACC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAID;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,2BAA2B,UAC/B,MAAM,kBACG,OAAO,UACf,OAAO,EAAE,KAChB,OACqF,CAAC;AAEzF,eAAO,MAAM,4BAA4B,sGASpC,QAAQ,KAAK,wBAAwB,EAAE,OAAO,CAAC,CAAC,GAAG;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,6CAiDF,CAAC;AAEF,eAAO,MAAM,kBAAkB,iLAe1B,wBAAwB,6CAuF5B,CAAC"}
|
|
@@ -53,18 +53,30 @@ var DISALLOW_COMPACT_AO_TYPES = ['connection'];
|
|
|
53
53
|
* Whether a creatable field's value is carried by the chip picker rather than
|
|
54
54
|
* by a raw editor with a suggestion list beside it.
|
|
55
55
|
*
|
|
56
|
-
*
|
|
56
|
+
* String-valued only, and only with something to suggest. Every other shape a
|
|
57
57
|
* creatable field can declare either does not fit a one-line chip (a document
|
|
58
58
|
* — `long-string`, `binary`, `data`; a hash; a list) or would come back out of
|
|
59
59
|
* one as a string (a number, a date), and a field with nothing to offer is
|
|
60
60
|
* better served by the editor it has always had. Those keep today's rendering:
|
|
61
61
|
* the raw editor, with the saved-and-suggested picker under it.
|
|
62
62
|
*
|
|
63
|
+
* `select-string` counts, and leaving it out was the bug. A picker field
|
|
64
|
+
* declares its storage type (`*string`) and its `ui_type` (`select-string`),
|
|
65
|
+
* and by the time a schema reaches here the two have been flattened to one:
|
|
66
|
+
* `type` arrives as `select-string`. So this returned false for every such
|
|
67
|
+
* field and NEITHER renderer stood down — the picker drew the value, and the
|
|
68
|
+
* saved-and-suggested list drew the same candidates again underneath it. A
|
|
69
|
+
* test's Service and Method fields showed 183 and 7 items twice over, in two
|
|
70
|
+
* controls that set one value. A select-string's value IS a string and fits the
|
|
71
|
+
* chip, which is the only thing this predicate is really asking.
|
|
72
|
+
*
|
|
63
73
|
* Both the renderer of the picker (`FieldAllowedValues`) and the renderer of
|
|
64
74
|
* the raw editor (`AutoFormField`, `FormField`) ask this, so that exactly one
|
|
65
75
|
* of them draws the value.
|
|
66
76
|
*/
|
|
67
|
-
var rendersCreatableValueSelect = function (type, allowCreation, items) {
|
|
77
|
+
var rendersCreatableValueSelect = function (type, allowCreation, items) {
|
|
78
|
+
return !!allowCreation && (type === 'string' || type === 'select-string') && (0, lodash_1.size)(items) > 0;
|
|
79
|
+
};
|
|
68
80
|
exports.rendersCreatableValueSelect = rendersCreatableValueSelect;
|
|
69
81
|
exports.FieldAllowedValuesCheckGroup = (0, react_1.memo)(function (_a) {
|
|
70
82
|
var items = _a.items, multiSelect = _a.multiSelect, onChange = _a.onChange, name = _a.name, value = _a.value, label = _a.label, rest = __rest(_a, ["items", "multiSelect", "onChange", "name", "value", "label"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllowedValues.js","sourceRoot":"","sources":["../../../../../src/components/form/fields/allowed-values/AllowedValues.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,2BAA2B;AAC3B,2EAA2E;AAC3E,qDAAqD;AACrD,oEAAoE;AACpE,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,mDAA0F;AAG1F,iCAAgD;AAChD,+BAAsC;AACtC,+DAA2E;AAC3E,2CAAmF;AAoBnF,IAAM,yBAAyB,GAAG,CAAC,YAAY,CAAC,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"AllowedValues.js","sourceRoot":"","sources":["../../../../../src/components/form/fields/allowed-values/AllowedValues.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoFormField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/auto/AutoFormField.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEjF,OAAO,KAAiD,MAAM,OAAO,CAAC;AAatE,OAAO,EAAc,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAuBrE,OAAO,EAAE,oBAAoB,EAAmB,MAAM,kBAAkB,CAAC;AAIzE,kFAAkF;AAClF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,eACf,SACE,eAAe,EACf,IAAI,CACF,qBAAqB,EACrB,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG,MAAM,GAAG,YAAY,CACvE;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtF,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACrC;yBACqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;mFAE+E;IAC/E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB;;;GAU9B,CAAC;
|
|
1
|
+
{"version":3,"file":"AutoFormField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/auto/AutoFormField.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEjF,OAAO,KAAiD,MAAM,OAAO,CAAC;AAatE,OAAO,EAAc,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAuBrE,OAAO,EAAE,oBAAoB,EAAmB,MAAM,kBAAkB,CAAC;AAIzE,kFAAkF;AAClF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,eACf,SACE,eAAe,EACf,IAAI,CACF,qBAAqB,EACrB,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG,MAAM,GAAG,YAAY,CACvE;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtF,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACrC;yBACqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;mFAE+E;IAC/E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB;;;GAU9B,CAAC;AAq5BF,eAAO,MAAM,aAAa,2BAA+C,CAAC"}
|
|
@@ -285,7 +285,14 @@ function AutoField(_a) {
|
|
|
285
285
|
// text sat one fetch away. `element_type`/`ui_element_type` travel with
|
|
286
286
|
// it: a sub-schema alone cannot say whether the value is one hash or a
|
|
287
287
|
// list of them.
|
|
288
|
-
arg_schema: arg_schema, element_type: element_type, ui_element_type: ui_element_type,
|
|
288
|
+
arg_schema: arg_schema, element_type: element_type, ui_element_type: ui_element_type,
|
|
289
|
+
// Same reason as the three above: it is destructured out of `rest` so the
|
|
290
|
+
// primitive renderers do not spread it onto a DOM node, which also took
|
|
291
|
+
// it away from host editors — and a host editor is exactly what
|
|
292
|
+
// `inherit_props` exists to feed. A field declaring it got the values
|
|
293
|
+
// resolved and then had nowhere to send them, so every consumer
|
|
294
|
+
// downstream saw `undefined` and silently did nothing.
|
|
295
|
+
inheritedFromParent: inheritedFromParent, name: name, value: value, onChange: function (val, emittedType, emittedIsFunction) {
|
|
289
296
|
var returnType = emittedType || currentType;
|
|
290
297
|
if (onChange && returnType) {
|
|
291
298
|
onChange(name, val, returnType, emittedIsFunction);
|