@marianmeres/collection-types 2.8.0 → 2.9.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.
@@ -56,9 +56,14 @@ export interface CollectionDTOIn {
56
56
  is_deletable?: boolean;
57
57
  /** Whether collection is read-only */
58
58
  is_readonly?: boolean;
59
- /** Folder definitions */
60
- folders?: Record<string, FolderDefinition>;
61
- /** Tag definitions per model type */
59
+ /**
60
+ * Folder definitions per model type. Outer key is the model type (or the
61
+ * special `"__common__"` bucket applied to every type); inner key is the
62
+ * folder (ltree) label. Mirrors {@link tags}; this is the shape the server
63
+ * reads in `ServiceModel.findAllFolders` (`coll.folders["__common__" | type]`).
64
+ */
65
+ folders?: Record<string, Record<string, FolderDefinition>>;
66
+ /** Tag definitions per model type (outer key = model type / `"__common__"`). */
62
67
  tags?: Record<string, Record<string, TagDefinition>>;
63
68
  /** Ownership mode for models in this collection */
64
69
  owner_id_mode?: OwnerIdMode;
@@ -36,6 +36,14 @@ export type ObjectSchema<T> = {
36
36
  * last touched" in the list.
37
37
  */
38
38
  _data_table_dates?: ("_created_at" | "_updated_at")[];
39
+ /**
40
+ * Admin list-view hint: blacklist of always-on system columns to suppress in
41
+ * the DataTable (e.g. `["model_id"]` to hide the opaque UUID when the built-in
42
+ * human-friendly `code` column already identifies the row). Applied after the
43
+ * column list is assembled. Cosmetic only — row navigation reads `model_id`
44
+ * from the row, not the visible column.
45
+ */
46
+ _data_table_hidden_columns?: string[];
39
47
  };
40
48
  /** Extended schema (loose typing for __extends patterns) */
41
49
  export type ExtendedSchema = {
package/dist/schema.d.ts CHANGED
@@ -50,6 +50,11 @@ export interface SelectConfig {
50
50
  intent?: string;
51
51
  }>;
52
52
  multiple?: boolean;
53
+ /** `multiselect` only: when true the picker accepts free-text values not in
54
+ * `options` (the listed options become suggestions, not a closed set). Use
55
+ * for fields like account `roles` where the value set is intentionally open
56
+ * server-side. Default false (a true closed enum). */
57
+ allowUnknown?: boolean;
53
58
  }
54
59
  /** Configuration for keyvalues fields */
55
60
  export interface KeyValuesConfig {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marianmeres/collection-types",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "type": "module",
5
5
  "main": "dist/mod.js",
6
6
  "types": "dist/mod.d.ts",