@cosmicdrift/kumiko-types 0.245.0 → 0.247.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/screen.ts +20 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-types",
3
- "version": "0.245.0",
3
+ "version": "0.247.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
@@ -130,6 +130,11 @@ export type ListColumnSpec =
130
130
  /** Row field on the referenced entity shown as the label (default
131
131
  * "id"). Only meaningful together with `refEntity`. */
132
132
  readonly refLabelField?: string;
133
+ /** Marks this column as sortable via a clickable header — for
134
+ * relatedList columns, which have no `EntityDefinition` field to carry
135
+ * `sortable` on. Ignored on `entityList` columns, where the entity
136
+ * field's own `sortable` flag wins. */
137
+ readonly sortable?: boolean;
133
138
  };
134
139
 
135
140
  // Pagination-Modi für entityList:
@@ -811,6 +816,11 @@ export type EditRelatedListSection = {
811
816
  readonly parentParam?: string;
812
817
  readonly columns: readonly ListColumnSpec[];
813
818
  readonly pageSize?: number;
819
+ /** Initial sort on mount, applied client-side over the already-loaded rows
820
+ * (this section has no pager, so there is no "loaded subset" to mislead).
821
+ * `field` must name a column with `sortable: true` — boot-validator pins
822
+ * that, same as `entityList.defaultSort`. */
823
+ readonly defaultSort?: ListSortSpec;
814
824
  /** Row click opens the target entity's detail screen via ObjectTarget —
815
825
  * the `detailFor` lookup owns the entity→screen mapping, so no screenId
816
826
  * is named here. `idColumn` names the row key holding that id (default
@@ -928,6 +938,11 @@ export type EntityEditScreenDefinition = {
928
938
  * reusable feature when the target feature is guaranteed to be
929
939
  * mounted alongside it. */
930
940
  readonly redirect?: string;
941
+ /** Parent list screen (short id) for breadcrumb + nav highlighting when
942
+ * this screen has no nav entry of its own. Same field/semantics as on
943
+ * `custom`/`projectionDetail`; an explicit value here wins over the
944
+ * entity-list heuristic (rowAction target / same-entity entityList). */
945
+ readonly listScreenId?: string;
931
946
  /** Optionaler per-Field-Label-i18n-Key (Field-Name → Key), überschreibt
932
947
  * die Default-Konvention `<feature>:entity:<entity>:field:<name>`.
933
948
  * Primär für configEdit: dessen Pseudo-Entity `__config-edit__` hat
@@ -1013,6 +1028,11 @@ export type ActionFormScreenDefinition = {
1013
1028
  * reusable feature when the target feature is guaranteed to be
1014
1029
  * mounted alongside it. */
1015
1030
  readonly cancelTarget?: string | false;
1031
+ /** Parent list screen (short id) for breadcrumb + nav highlighting when
1032
+ * this screen has no nav entry of its own. Same field/semantics as on
1033
+ * `custom`/`projectionDetail`/`entityEdit`; an explicit value here wins
1034
+ * over the rowAction heuristic. */
1035
+ readonly listScreenId?: string;
1016
1036
  readonly slots?: ScreenSlots;
1017
1037
  readonly access?: AccessRule;
1018
1038
  };