@qoretechnologies/reqraft 0.10.49-pr.111.geb617d4 → 0.10.49
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/helpers/common.d.ts
CHANGED
|
@@ -7,22 +7,6 @@ type TTypedValue = {
|
|
|
7
7
|
type MaybeTyped = TTypedValue | undefined;
|
|
8
8
|
export declare const yamlToTyped: (yamlString: string) => MaybeTyped;
|
|
9
9
|
export declare const typedToYaml: (typed: MaybeTyped) => string;
|
|
10
|
-
/**
|
|
11
|
-
* The default a field will fall back to, or `undefined` when it declares none.
|
|
12
|
-
*
|
|
13
|
-
* The schema is optional because every call site reaches it the same way --
|
|
14
|
-
* `getDefaultValue(options?.[optionName])` -- and that lookup misses whenever a
|
|
15
|
-
* VALUE is held under a name the schema does not describe. A form carrying a
|
|
16
|
-
* value for a field the server no longer sends is ordinary, not exceptional.
|
|
17
|
-
*
|
|
18
|
-
* The signature said the argument was always there, so the body used
|
|
19
|
-
* `'default_value' in schema` and `in` THROWS on undefined rather than
|
|
20
|
-
* returning false. That threw during render, so the error left the tree
|
|
21
|
-
* unmounted: a whole page went blank on a value whose only crime was not being
|
|
22
|
-
* in the schema, with `Cannot use 'in' operator to search for 'default_value'
|
|
23
|
-
* in undefined` as the only trace. A field with no schema has no declared
|
|
24
|
-
* default, which is exactly what `undefined` already means here.
|
|
25
|
-
*/
|
|
26
10
|
export declare const getDefaultValue: (schema?: TQorusFormFieldSchema) => unknown | undefined;
|
|
27
11
|
export declare const richtextToString: (richtext: IReqoreRichTextEditorProps['value']) => string;
|
|
28
12
|
/** One piece of a richtext document, flattened to a single line: a run of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAK9F,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAK9F,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AA6C1C,eAAO,MAAM,WAAW,eAAgB,MAAM,KAAG,UAOhD,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,UAAU,KAAG,MAQ/C,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,qBAAqB,KAAG,OAAO,GAAG,SAkB1E,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAc,0BAA0B,CAAC,OAAO,CAAC,KAAG,MA6BhF,CAAC;AAEF;;+EAE+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;sEAEsE;AACtE,eAAO,MAAM,kBAAkB,aACnB,0BAA0B,CAAC,OAAO,CAAC,KAC5C,gBAAgB,EAkClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aACjB,uBAAuB,KAChC,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAuD,CAAC;AAEtF,eAAO,MAAM,aAAa,UAAW,GAAG,EAAE,wBAAyB,GAAG,KAAG,GAAG,EAE3E,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,CAIrF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAElE;;+DAE+D;AAC/D,eAAO,MAAM,aAAa,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAK7E,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,YAAY,KAAG,MACE,CAAC;AAExD,eAAO,MAAM,iBAAiB,SAAU,YAAY,KAAG,MACG,CAAC;AAE3D;8EAC8E;AAC9E,eAAO,MAAM,0BAA0B,WAAY,MAAM,KAAG,YAO3D,CAAC;AAEF;2EAC2E;AAC3E,eAAO,MAAM,kBAAkB,OAAQ,MAAM,KAAG,MAG/C,CAAC;AAEF;+EAC+E;AAC/E,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAY3C,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,OAAO,gBAAiB,MAAM,KAAG,OAA2C,CAAC;AAK1F,eAAO,MAAM,WAAW,OAAQ,MAAM,KAAG,MAQxC,CAAC;AAEF,eAAO,MAAM,UAAU,OAAQ,MAAM,KAAG,MAavC,CAAC"}
|
package/dist/helpers/common.js
CHANGED
|
@@ -85,24 +85,16 @@ var typedToYaml = function (typed) {
|
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
87
|
exports.typedToYaml = typedToYaml;
|
|
88
|
-
/**
|
|
89
|
-
* The default a field will fall back to, or `undefined` when it declares none.
|
|
90
|
-
*
|
|
91
|
-
* The schema is optional because every call site reaches it the same way --
|
|
92
|
-
* `getDefaultValue(options?.[optionName])` -- and that lookup misses whenever a
|
|
93
|
-
* VALUE is held under a name the schema does not describe. A form carrying a
|
|
94
|
-
* value for a field the server no longer sends is ordinary, not exceptional.
|
|
95
|
-
*
|
|
96
|
-
* The signature said the argument was always there, so the body used
|
|
97
|
-
* `'default_value' in schema` and `in` THROWS on undefined rather than
|
|
98
|
-
* returning false. That threw during render, so the error left the tree
|
|
99
|
-
* unmounted: a whole page went blank on a value whose only crime was not being
|
|
100
|
-
* in the schema, with `Cannot use 'in' operator to search for 'default_value'
|
|
101
|
-
* in undefined` as the only trace. A field with no schema has no declared
|
|
102
|
-
* default, which is exactly what `undefined` already means here.
|
|
103
|
-
*/
|
|
104
88
|
var getDefaultValue = function (schema) {
|
|
105
|
-
|
|
89
|
+
// No schema, no default. A form can hold a value key its schema does not
|
|
90
|
+
// (yet) describe — a host that recomputes schema and value in separate
|
|
91
|
+
// memos renders once in between — and the compact row asks for the default
|
|
92
|
+
// of every empty row. `'default_value' in undefined` is a TypeError that
|
|
93
|
+
// takes the whole form to the error boundary; the answer is simply "none".
|
|
94
|
+
if (!schema) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
if ('default_value' in schema) {
|
|
106
98
|
if (schema.default_value != null && typeof schema.default_value === 'object') {
|
|
107
99
|
return schema.default_value.value;
|
|
108
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,oDAA2B;AAO3B,IAAM,eAAe,GAAG,UAAC,GAAY;IACnC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,GAAG,KAAK,QAAQ;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,oDAA2B;AAO3B,IAAM,eAAe,GAAG,UAAC,GAAY;IACnC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,GAAG,KAAK,QAAQ;QACzB,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC7F,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,IAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,CAAC,GAAG,CAAC,UAAC,EAAM;gBAAL,CAAC,QAAA,EAAE,CAAC,QAAA;YAAM,OAAA,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAAvB,CAAuB,CAAC,CACxF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAA,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,KAAiB;IACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,8EAA8E;IAC9E,iFAAiF;IACjF,oEAAoE;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtC,IAAA,KAAkB,KAA2C,EAA3D,IAAI,UAAA,EAAE,KAAK,WAAgD,CAAC;IACpE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,2EAA2E;QAC3E,wEAAwE;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAmC,CAAC,CAAC,GAAG,CAAC,UAAC,EAAM;oBAAL,CAAC,QAAA,EAAE,CAAC,QAAA;gBAAM,OAAA,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YAApB,CAAoB,CAAC,CAC1F;YACH,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IACD,qEAAqE;IACrE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEK,IAAM,WAAW,GAAG,UAAC,UAAkB;IAC5C,IAAI,CAAC;QACH,IAAM,GAAG,GAAG,iBAAI,CAAC,IAAI,CAAC,UAAU,CAAY,CAAC;QAC7C,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEK,IAAM,WAAW,GAAG,UAAC,KAAiB;IAC3C,IAAI,OAAO,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC5C,IAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,iBAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB;AAEK,IAAM,eAAe,GAAG,UAAC,MAA8B;IAC5D,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B;AAEK,IAAM,gBAAgB,GAAG,UAAC,QAA6C;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,yDAAyD;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,IAAM,cAAc,GAAG,UAAC,OAA+B;;QACrD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;QACzC,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AA7BW,QAAA,gBAAgB,oBA6B3B;AAaF;;sEAEsE;AAC/D,IAAM,kBAAkB,GAAG,UAChC,QAA6C;IAE7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,IAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAM,QAAQ,GAAG,UAAC,IAAY;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,MAAM;YAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;;YACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,IAAM,IAAI,GAAG,UAAC,OAAY;;QACxB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QACtD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAM,KAAK,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,OAAA,EAAE,IAAI,EAAE,CAAA,MAAA,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK,CAAC,0CAAE,QAAQ,EAAE,KAAI,KAAK,EAAE,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApCW,QAAA,kBAAkB,sBAoC7B;AAEF;;;;;GAKG;AACI,IAAM,gBAAgB,GAAG,UAC9B,QAAiC,IACC,OAAA,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAjD,CAAiD,CAAC;AAFzE,QAAA,gBAAgB,oBAEyD;AAE/E,IAAM,aAAa,GAAG,UAAC,KAAiB,EAAE,KAAS,EAAE,KAAU;IAAxC,sBAAA,EAAA,UAAiB;IAAE,sBAAA,EAAA,SAAS;IACxD,qDAAW,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,UAAE,KAAK,WAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAE;AAClE,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,wEAAwE;AACjE,IAAM,aAAa,GAAG,UAAC,KAAc;IAC1C,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAIF;;+DAE+D;AAClD,QAAA,aAAa,GAAyD;IACjF,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACnC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;IAC1C,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;IAC3C,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;CAC5C,CAAC;AAEK,IAAM,eAAe,GAAG,UAAC,IAAkB;IAChD,OAAA,qBAAa,CAAC,IAAI,CAAC,UAAC,EAAS;YAAP,KAAK,WAAA;QAAO,OAAA,KAAK,KAAK,IAAI;IAAd,CAAc,CAAE,CAAC,EAAE;AAArD,CAAqD,CAAC;AAD3C,QAAA,eAAe,mBAC4B;AAEjD,IAAM,iBAAiB,GAAG,UAAC,IAAkB;IAClD,OAAA,qBAAa,CAAC,IAAI,CAAC,UAAC,EAAS;YAAP,KAAK,WAAA;QAAO,OAAA,KAAK,KAAK,IAAI;IAAd,CAAc,CAAE,CAAC,KAAK;AAAxD,CAAwD,CAAC;AAD9C,QAAA,iBAAiB,qBAC6B;AAE3D;8EAC8E;AACvE,IAAM,0BAA0B,GAAG,UAAC,KAAc;IACvD,KAAK,IAAI,CAAC,GAAG,qBAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,qBAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,qBAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAPW,QAAA,0BAA0B,8BAOrC;AAEF;2EAC2E;AACpE,IAAM,kBAAkB,GAAG,UAAC,EAAU;IAC3C,IAAM,IAAI,GAAG,IAAA,kCAA0B,EAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,UAAG,EAAE,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,cAAI,IAAI,CAAE,CAAC;AACjD,CAAC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B;AAEF;+EAC+E;AACxE,IAAM,WAAW,GAAG,UAAC,KAAa;IACvC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,UAAG,KAAK,OAAI,CAAC;IACtB,CAAC;IACD,IAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,IAAI,IAAI,CAAC;QACd,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,UAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAI,KAAK,CAAC,IAAI,CAAC,CAAE,CAAC;AAC9C,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB;AAEF,6DAA6D;AACtD,IAAM,OAAO,GAAG,UAAC,WAAmB,IAAc,OAAA,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAhC,CAAgC,CAAC;AAA7E,QAAA,OAAO,WAAsE;AAE1F,4EAA4E;AAC5E,0EAA0E;AAC1E,iDAAiD;AAC1C,IAAM,WAAW,GAAG,UAAC,CAAU;IACpC,IAAM,SAAS,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB;AAEK,IAAM,UAAU,GAAG,UAAC,CAAU;IACnC,IAAM,SAAS,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qoretechnologies/reqraft",
|
|
3
|
-
"version": "0.10.49
|
|
3
|
+
"version": "0.10.49",
|
|
4
4
|
"description": "ReQraft is a collection of React components and hooks that are used across Qore Technologies' products made using the ReQore component library from Qore.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -2,7 +2,7 @@ import { ReqoreInput } from '@qoretechnologies/reqore';
|
|
|
2
2
|
import { TSizes } from '@qoretechnologies/reqore/dist/constants/sizes';
|
|
3
3
|
import { IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
|
|
4
4
|
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
5
|
-
import { ChangeEvent, useEffect, useState } from 'react';
|
|
5
|
+
import { ChangeEvent, useEffect, useMemo, useState } from 'react';
|
|
6
6
|
import { expect, fireEvent, fn, userEvent, waitFor, within } from 'storybook/test';
|
|
7
7
|
import { validateField } from '../../../helpers/validations';
|
|
8
8
|
import { defaultQorusTypes } from '../../../hooks/useQorusTypes';
|
|
@@ -2493,6 +2493,68 @@ export const CompactReadOnly: Story = {
|
|
|
2493
2493
|
},
|
|
2494
2494
|
};
|
|
2495
2495
|
|
|
2496
|
+
/**
|
|
2497
|
+
* The schema SHRINKS under a mounted form: a field the form has a value for
|
|
2498
|
+
* stops existing. A host does this whenever one choice decides which other
|
|
2499
|
+
* fields exist — qorus-ide's model editor drops `composedOf` when the
|
|
2500
|
+
* composition kind goes back to "none" — and for a render the form still
|
|
2501
|
+
* holds the value while the schema no longer describes it. The row for it
|
|
2502
|
+
* used to throw from the default-value lookup and take the whole form to the
|
|
2503
|
+
* error boundary.
|
|
2504
|
+
*/
|
|
2505
|
+
const SchemaShrinksHarness = (args: IFormEngineProps) => {
|
|
2506
|
+
const [shrunk, setShrunk] = useState(false);
|
|
2507
|
+
const options = useMemo<IOptionsSchema>(
|
|
2508
|
+
() =>
|
|
2509
|
+
shrunk ? CompactSchema : (
|
|
2510
|
+
{
|
|
2511
|
+
...CompactSchema,
|
|
2512
|
+
composedOf: {
|
|
2513
|
+
type: 'list',
|
|
2514
|
+
ui_type: 'list',
|
|
2515
|
+
display_name: 'Composed of',
|
|
2516
|
+
short_desc: 'Only exists while the composition kind says so',
|
|
2517
|
+
preselected: true,
|
|
2518
|
+
group: 'info',
|
|
2519
|
+
},
|
|
2520
|
+
}
|
|
2521
|
+
),
|
|
2522
|
+
[shrunk]
|
|
2523
|
+
);
|
|
2524
|
+
return (
|
|
2525
|
+
<div>
|
|
2526
|
+
<button type='button' onClick={() => setShrunk(true)}>
|
|
2527
|
+
Shrink the schema
|
|
2528
|
+
</button>
|
|
2529
|
+
<FormEngine {...args} options={options} />
|
|
2530
|
+
</div>
|
|
2531
|
+
);
|
|
2532
|
+
};
|
|
2533
|
+
|
|
2534
|
+
export const SchemaShrinksWhileMounted: Story = {
|
|
2535
|
+
parameters: {
|
|
2536
|
+
docs: {
|
|
2537
|
+
description: {
|
|
2538
|
+
story:
|
|
2539
|
+
'Renders the Compact fixture with one extra list field that holds an empty value, then removes that field from the schema while mounted — what a host does when one choice decides which other fields exist. The form keeps rendering: the orphaned value has no schema and therefore no default, and the row it briefly still has draws an em-dash instead of throwing.',
|
|
2540
|
+
},
|
|
2541
|
+
},
|
|
2542
|
+
chromatic: { disable: true },
|
|
2543
|
+
},
|
|
2544
|
+
args: {
|
|
2545
|
+
...Compact.args,
|
|
2546
|
+
value: { ...CompactValue, composedOf: { type: 'list', value: [] } },
|
|
2547
|
+
},
|
|
2548
|
+
render: (args) => <SchemaShrinksHarness {...args} />,
|
|
2549
|
+
play: async () => {
|
|
2550
|
+
await _testsWaitForText('Composed of');
|
|
2551
|
+
await _testsClickText('Shrink the schema');
|
|
2552
|
+
await _testsWaitForTextToNotExist('Composed of');
|
|
2553
|
+
await _testsWaitForText('order-fulfilment');
|
|
2554
|
+
await _testsWaitForTextToNotExist('Something went wrong');
|
|
2555
|
+
},
|
|
2556
|
+
};
|
|
2557
|
+
|
|
2496
2558
|
export const CompactEmpty: Story = {
|
|
2497
2559
|
parameters: {
|
|
2498
2560
|
docs: {
|
|
@@ -7550,9 +7612,11 @@ export const CompactMaxFieldsShown: Story = {
|
|
|
7550
7612
|
expect(edge.borderStyle).toBe('dashed');
|
|
7551
7613
|
expect(edge.borderTopWidth).toBe('1px');
|
|
7552
7614
|
// …and it inherits the rows' geometry rather than inventing its own
|
|
7553
|
-
expect(edge.paddingLeft).toBe(
|
|
7554
|
-
|
|
7555
|
-
|
|
7615
|
+
expect(edge.paddingLeft).toBe(
|
|
7616
|
+
getComputedStyle(
|
|
7617
|
+
canvasElement.querySelector('.readfirst-row:not(.readfirst-more-row)') as HTMLElement
|
|
7618
|
+
).paddingLeft
|
|
7619
|
+
);
|
|
7556
7620
|
|
|
7557
7621
|
fireEvent.click(more);
|
|
7558
7622
|
|
package/src/helpers/common.ts
CHANGED
|
@@ -10,7 +10,8 @@ type MaybeTyped = TTypedValue | undefined;
|
|
|
10
10
|
const inferTypedValue = (raw: unknown): MaybeTyped => {
|
|
11
11
|
if (raw === null || raw === undefined) return undefined;
|
|
12
12
|
if (typeof raw === 'boolean') return { type: 'bool', value: raw };
|
|
13
|
-
if (typeof raw === 'number')
|
|
13
|
+
if (typeof raw === 'number')
|
|
14
|
+
return Number.isInteger(raw) ? { type: 'int', value: raw } : { type: 'float', value: raw };
|
|
14
15
|
if (typeof raw === 'string') return { type: 'string', value: raw };
|
|
15
16
|
if (Array.isArray(raw)) {
|
|
16
17
|
const items = raw.map(inferTypedValue).filter(Boolean);
|
|
@@ -68,24 +69,16 @@ export const typedToYaml = (typed: MaybeTyped): string => {
|
|
|
68
69
|
}
|
|
69
70
|
};
|
|
70
71
|
|
|
71
|
-
/**
|
|
72
|
-
* The default a field will fall back to, or `undefined` when it declares none.
|
|
73
|
-
*
|
|
74
|
-
* The schema is optional because every call site reaches it the same way --
|
|
75
|
-
* `getDefaultValue(options?.[optionName])` -- and that lookup misses whenever a
|
|
76
|
-
* VALUE is held under a name the schema does not describe. A form carrying a
|
|
77
|
-
* value for a field the server no longer sends is ordinary, not exceptional.
|
|
78
|
-
*
|
|
79
|
-
* The signature said the argument was always there, so the body used
|
|
80
|
-
* `'default_value' in schema` and `in` THROWS on undefined rather than
|
|
81
|
-
* returning false. That threw during render, so the error left the tree
|
|
82
|
-
* unmounted: a whole page went blank on a value whose only crime was not being
|
|
83
|
-
* in the schema, with `Cannot use 'in' operator to search for 'default_value'
|
|
84
|
-
* in undefined` as the only trace. A field with no schema has no declared
|
|
85
|
-
* default, which is exactly what `undefined` already means here.
|
|
86
|
-
*/
|
|
87
72
|
export const getDefaultValue = (schema?: TQorusFormFieldSchema): unknown | undefined => {
|
|
88
|
-
|
|
73
|
+
// No schema, no default. A form can hold a value key its schema does not
|
|
74
|
+
// (yet) describe — a host that recomputes schema and value in separate
|
|
75
|
+
// memos renders once in between — and the compact row asks for the default
|
|
76
|
+
// of every empty row. `'default_value' in undefined` is a TypeError that
|
|
77
|
+
// takes the whole form to the error boundary; the answer is simply "none".
|
|
78
|
+
if (!schema) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
if ('default_value' in schema) {
|
|
89
82
|
if (schema.default_value != null && typeof schema.default_value === 'object') {
|
|
90
83
|
return schema.default_value.value;
|
|
91
84
|
}
|