@cosmicdrift/kumiko-types 0.242.0 → 0.243.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/package.json +1 -1
- package/src/screen.ts +23 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.243.0",
|
|
4
4
|
"description": "Framework-Type-Definitions für Kumiko — FeatureDefinition, BootCheck-Types und die reinen Engine-Types. Erlaubt Downstream-Konsumenten, gegen die Type-Contracts zu bauen, ohne das ganze Framework-Package zu importieren. Enthaelt keine identitaets-sensitiven Runtime-Werte mehr (Error-Klassen leben seit #1629 in kumiko-framework, Brand-Symbole nutzen Symbol.for) und ist deshalb eine plain dependency, keine peerDependency.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
package/src/screen.ts
CHANGED
|
@@ -970,8 +970,13 @@ export type ActionFormScreenDefinition = {
|
|
|
970
970
|
* the target at boot time — an app that doesn't mount the target
|
|
971
971
|
* feature fails the boot-validator; only use this form in a reusable
|
|
972
972
|
* feature when the target feature is guaranteed to be mounted
|
|
973
|
-
* alongside it.
|
|
974
|
-
|
|
973
|
+
* alongside it.
|
|
974
|
+
*
|
|
975
|
+
* The object form additionally names the success-payload field the
|
|
976
|
+
* navigation id comes from (`ActionFormRedirect.idFrom`) — needed when
|
|
977
|
+
* the handler creates a child record but the target screen is the
|
|
978
|
+
* parent's detail screen (fw#2670). */
|
|
979
|
+
readonly redirect?: string | ActionFormRedirect;
|
|
975
980
|
/** Target of the Cancel button. Default: `redirect` (historical
|
|
976
981
|
* behavior — Cancel and the submit-redirect then land in the same
|
|
977
982
|
* place). `false` = no Cancel button; correct for single-action
|
|
@@ -988,6 +993,22 @@ export type ActionFormScreenDefinition = {
|
|
|
988
993
|
readonly access?: AccessRule;
|
|
989
994
|
};
|
|
990
995
|
|
|
996
|
+
/** Redirect target plus the success-payload field carrying the navigation
|
|
997
|
+
* id. The write-handler reports the id of what it wrote (`data.id`); when
|
|
998
|
+
* that record is a child and the target screen shows its parent, the
|
|
999
|
+
* parent id has to be read from a different field instead of forcing the
|
|
1000
|
+
* handler to misreport its own result (fw#2670). */
|
|
1001
|
+
export type ActionFormRedirect = {
|
|
1002
|
+
/** Same target forms as the string `redirect`: short screen ID
|
|
1003
|
+
* (same-feature) or a fully-qualified cross-feature screen QN. */
|
|
1004
|
+
readonly screen: string;
|
|
1005
|
+
/** Flat field name in the handler's success payload, e.g. "leaseId".
|
|
1006
|
+
* Only used when the target screen type carries an id (`entityEdit`,
|
|
1007
|
+
* `projectionDetail`); a non-string or missing value navigates without
|
|
1008
|
+
* an id, same as a payload without `id` does today. */
|
|
1009
|
+
readonly idFrom: string;
|
|
1010
|
+
};
|
|
1011
|
+
|
|
991
1012
|
// --- custom ---
|
|
992
1013
|
|
|
993
1014
|
// Sub-route declared by a custom screen (Expo Router / URL-routing use).
|