@antelopejs/interface-dms 0.8.0 → 0.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/base/form-schema.d.ts +11 -4
  3. package/dist/base/form-schema.js +22 -0
  4. package/dist/base/form-schema.js.map +1 -1
  5. package/dist/base/form-types.d.ts +26 -0
  6. package/dist/base/form-types.js.map +1 -1
  7. package/dist/base/internal/form-schema.js +3 -0
  8. package/dist/base/internal/form-schema.js.map +1 -1
  9. package/dist/base/internal/layouts.d.ts +13 -5
  10. package/dist/base/layouts.d.ts +16 -17
  11. package/dist/base/layouts.js.map +1 -1
  12. package/dist/base/table-view/internal/column-conditions.d.ts +15 -0
  13. package/dist/base/table-view/internal/column-conditions.js +94 -0
  14. package/dist/base/table-view/internal/column-conditions.js.map +1 -0
  15. package/dist/base/table-view/internal/validation.d.ts +7 -0
  16. package/dist/base/table-view/internal/validation.js +22 -0
  17. package/dist/base/table-view/internal/validation.js.map +1 -1
  18. package/dist/base/table-view/meta.d.ts +17 -1
  19. package/dist/base/table-view/meta.js +11 -1
  20. package/dist/base/table-view/meta.js.map +1 -1
  21. package/dist/base/table-view/options.d.ts +13 -11
  22. package/dist/base/table-view/routes.js +3 -2
  23. package/dist/base/table-view/routes.js.map +1 -1
  24. package/dist/component.d.ts +6 -0
  25. package/dist/component.js.map +1 -1
  26. package/dist/hooks.d.ts +13 -5
  27. package/dist/hooks.js +7 -3
  28. package/dist/hooks.js.map +1 -1
  29. package/dist/invite-extensions/internal/form-slot.js +1 -1
  30. package/dist/invite-extensions/internal/form-slot.js.map +1 -1
  31. package/dist/page/internal/layout-filter.d.ts +10 -5
  32. package/dist/page/internal/layout-filter.js +26 -15
  33. package/dist/page/internal/layout-filter.js.map +1 -1
  34. package/dist/page/internal/page-record.d.ts +34 -0
  35. package/dist/page/internal/page-record.js +87 -0
  36. package/dist/page/internal/page-record.js.map +1 -0
  37. package/dist/page/metadata.js +7 -2
  38. package/dist/page/metadata.js.map +1 -1
  39. package/dist/tenant-provisioning.d.ts +15 -0
  40. package/dist/tenant-provisioning.js +27 -0
  41. package/dist/tenant-provisioning.js.map +1 -0
  42. package/docs/1.core/7.hooks.md +12 -2
  43. package/docs/3.base/3.forms.md +7 -2
  44. package/docs/3.base/4.tables.md +14 -1
  45. package/docs/3.base/6.layout.md +14 -5
  46. package/docs/3.base/8.data-types.md +2 -2
  47. package/package.json +7 -7
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readPageRecord = readPageRecord;
4
+ exports.withPageRecord = withPageRecord;
5
+ const logging_1 = require("@antelopejs/interface-core/logging");
6
+ // The record a page shows (`DefaultLayout({ record })`), read with its layout:
7
+ // `{{record.X}}` in a header button's target, a button acting on it.
8
+ const RECORD_TOKEN = /\{\{\s*record\.([\w.-]+)\s*\}\}/g;
9
+ const NAMES_RECORD = /\{\{\s*record\./;
10
+ const PATH_SEPARATOR = ".";
11
+ const targetUrl = (target) => {
12
+ const url = target?.url;
13
+ return typeof url === "string" ? url : undefined;
14
+ };
15
+ function valueAt(record, path) {
16
+ return path
17
+ .split(PATH_SEPARATOR)
18
+ .reduce((value, key) => value && typeof value === "object"
19
+ ? value[key]
20
+ : undefined, record);
21
+ }
22
+ /**
23
+ * The record the page's layout reads for one request, `undefined` when the
24
+ * layout declares none. A loader that throws counts as finding none, with
25
+ * the `error` status: the buttons acting on the record are left out, and the
26
+ * page still loads.
27
+ *
28
+ * @internal
29
+ */
30
+ async function readPageRecord(layout, context) {
31
+ const options = layout?.options;
32
+ if (!options?.record)
33
+ return undefined;
34
+ try {
35
+ const record = (await options.record(context)) ?? undefined;
36
+ return record ? { record, status: "found" } : { status: "missing" };
37
+ }
38
+ catch (error) {
39
+ logging_1.Logging.Error("[dms] the record of the page could not be read:", error);
40
+ return { status: "error" };
41
+ }
42
+ }
43
+ /** Whether a header button acts on the page's record. */
44
+ function isRecordBound(button) {
45
+ if (button.requiresRecord)
46
+ return true;
47
+ const url = targetUrl(button.target);
48
+ return !!url && NAMES_RECORD.test(url);
49
+ }
50
+ /**
51
+ * A URL with its `{{record.X}}` tokens filled in, each value percent-encoded
52
+ * (an address is one query value). A token the record has no value for is
53
+ * left as written.
54
+ */
55
+ function fillRecordTokens(url, record) {
56
+ return url.replace(RECORD_TOKEN, (match, path) => {
57
+ const value = valueAt(record, path);
58
+ return typeof value === "string" || typeof value === "number"
59
+ ? encodeURIComponent(String(value))
60
+ : match;
61
+ });
62
+ }
63
+ /**
64
+ * A header button as the page's record leaves it: unchanged when the layout
65
+ * reads no record or the button does not act on it, left out (`undefined`)
66
+ * when the record was not found, its target's `{{record.X}}` filled in
67
+ * otherwise.
68
+ *
69
+ * @internal
70
+ */
71
+ function withPageRecord(button, declaresRecord, record) {
72
+ if (!declaresRecord || !isRecordBound(button))
73
+ return button;
74
+ if (!record)
75
+ return undefined;
76
+ const url = targetUrl(button.target);
77
+ if (!url)
78
+ return button;
79
+ return {
80
+ ...button,
81
+ target: {
82
+ ...button.target,
83
+ url: fillRecordTokens(url, record),
84
+ },
85
+ };
86
+ }
87
+ //# sourceMappingURL=page-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-record.js","sourceRoot":"","sources":["../../../src/page/internal/page-record.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ const declaration_conflict_1 = require("./declaration-conflict");
31
31
  const page_routes_1 = require("./page-routes");
32
32
  const layout_filter_1 = require("./layout-filter");
33
33
  const layout_filter_2 = require("./internal/layout-filter");
34
+ const page_record_1 = require("./internal/page-record");
34
35
  const member_access_1 = require("./internal/member-access");
35
36
  const table_view_ids_1 = require("./internal/table-view-ids");
36
37
  const registry_1 = require("./internal/registry");
@@ -481,11 +482,15 @@ class PageMetadata {
481
482
  };
482
483
  // Header actions declaring a permission are filtered on every page, even
483
484
  // one skipping component permissions: they name their own requirement.
485
+ // The page's record is read first, so every availability of the page
486
+ // reads it with the URL.
484
487
  const context = { tenantId, user, query, params };
488
+ const read = await (0, page_record_1.readPageRecord)(layout.layout, context);
489
+ context.record = read?.record;
485
490
  if (this.pageInfo?.publicAccess === true || this.skipComponentPermissions) {
486
491
  return {
487
492
  ...layout,
488
- layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, loadPermissions, context, this.pagePermissionId), components),
493
+ layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, loadPermissions, context, this.pagePermissionId, read?.status), components),
489
494
  components: (0, table_view_ids_1.withTableViewPlacements)(components),
490
495
  };
491
496
  }
@@ -495,7 +500,7 @@ class PageMetadata {
495
500
  ...layout,
496
501
  // A component's header buttons are added once it was filtered: the
497
502
  // ones the caller may not press are gone already.
498
- layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, async () => permissions, context, this.pagePermissionId), servedComponents),
503
+ layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, async () => permissions, context, this.pagePermissionId, read?.status), servedComponents),
499
504
  components: (0, table_view_ids_1.withTableViewPlacements)(servedComponents),
500
505
  ...hiddenComponentsFlag(components, servedComponents),
501
506
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/page/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/page/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type TenantProvisioningHookPayload } from "./hooks";
2
+ /**
3
+ * Provision a tenant whose row was just created: register it as an instance
4
+ * of the tenant schema, then run the `Hook.TENANT_BEING_PROVISIONED`
5
+ * handlers in series. The instance is registered first, here rather than by a
6
+ * handler, so no handler ever runs before it, whatever order the modules
7
+ * registered in.
8
+ *
9
+ * Call it once per tenant, at its creation, and fire the hook through it
10
+ * only. A handler that throws rejects the call, and the caller unwinds the
11
+ * tenant it was creating.
12
+ *
13
+ * @param payload Tenant being provisioned and what the caller carries along
14
+ */
15
+ export declare function ProvisionTenant(payload: TenantProvisioningHookPayload): Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProvisionTenant = ProvisionTenant;
4
+ const node_assert_1 = require("node:assert");
5
+ const interface_database_1 = require("@antelopejs/interface-database");
6
+ const constants_1 = require("./constants");
7
+ const hooks_1 = require("./hooks");
8
+ /**
9
+ * Provision a tenant whose row was just created: register it as an instance
10
+ * of the tenant schema, then run the `Hook.TENANT_BEING_PROVISIONED`
11
+ * handlers in series. The instance is registered first, here rather than by a
12
+ * handler, so no handler ever runs before it, whatever order the modules
13
+ * registered in.
14
+ *
15
+ * Call it once per tenant, at its creation, and fire the hook through it
16
+ * only. A handler that throws rejects the call, and the caller unwinds the
17
+ * tenant it was creating.
18
+ *
19
+ * @param payload Tenant being provisioned and what the caller carries along
20
+ */
21
+ async function ProvisionTenant(payload) {
22
+ const schema = interface_database_1.Schema.get(constants_1.TENANT_SCHEMA_NAME);
23
+ (0, node_assert_1.strict)(schema, `Schema '${constants_1.TENANT_SCHEMA_NAME}' is not registered`);
24
+ await schema.createInstance(payload.tenantId);
25
+ await (0, hooks_1.ExecuteHooks)(hooks_1.Hook.TENANT_BEING_PROVISIONED, payload);
26
+ }
27
+ //# sourceMappingURL=tenant-provisioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-provisioning.js","sourceRoot":"","sources":["../src/tenant-provisioning.ts"],"names":[],"mappings":";;AAsBA,0CAOC;AA7BD,6CAA+C;AAC/C,uEAAwD;AACxD,2CAAiD;AACjD,mCAIiB;AAEjB;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,eAAe,CACnC,OAAsC;IAEtC,MAAM,MAAM,GAAG,2BAAM,CAAC,GAAG,CAAC,8BAAkB,CAAC,CAAC;IAC9C,IAAA,oBAAM,EAAC,MAAM,EAAE,WAAW,8BAAkB,qBAAqB,CAAC,CAAC;IACnE,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,IAAA,oBAAY,EAAC,YAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC"}
@@ -89,7 +89,7 @@ The `*_BEING_*` members fire before the write they precede; the past-tense membe
89
89
  ```typescript
90
90
  interface TenantProvisioningHookPayload {
91
91
  tenantId: string;
92
- userId: string;
92
+ userId?: string; // absent for the `default` tenant
93
93
  extras: Record<string, unknown>;
94
94
  }
95
95
 
@@ -263,7 +263,17 @@ The flip side is the usual one for a `*_BEING_*` hook: a handler that throws for
263
263
 
264
264
  `extras` is opaque by design. The DMS reads no key of it, validates nothing, and stores nothing — it carries the object from the caller of the provisioning flow to the handlers, and each handler writes what it recognises. The shape is a contract between that caller and that handler, one the DMS is deliberately not a party to, so a product can start collecting a new field without waiting on a DMS release.
265
265
 
266
- No DMS code fires this hook: provisioning belongs to the signup flow of a SaaS module such as **`dms-saas`**. The DMS declares the contract; the emitter honours it. Without such a module, nothing invokes it.
266
+ It fires once per tenant, when the tenant is created, and never again on a later start. The DMS fires it for the `default` tenant, on the start that creates it, once every `DATABASE_INITIALIZED` handler has finished, so a module's tables and settings are ready; that payload has no `userId`, since the `default` tenant has no owner until onboarding. A SaaS module such as **`dms-saas`** fires it for each workspace its signup flow creates.
267
+
268
+ This is where a module writes the **default data** a tenant starts with — templates, folders, a sender, a demo history. Written once, that data belongs to the tenant: the module does not write it again on a later start, does not compare it with what members changed since, and does not wait for the tenant from `start()` or `DATABASE_INITIALIZED`.
269
+
270
+ ```typescript
271
+ RegisterHook(Hook.TENANT_BEING_PROVISIONED, async ({ tenantId }) => {
272
+ await writeDefaultFolders(tenantId);
273
+ });
274
+ ```
275
+
276
+ An emitter fires the hook through `ProvisionTenant` from `@antelopejs/interface-dms/tenant-provisioning`, never with a bare `ExecuteHooks`. It registers the tenant as an instance of the `dms-tenant` schema first, then runs the handlers, so no handler runs before the instance exists, whatever order the modules registered in.
267
277
 
268
278
  ## Contribute to a Tenant Data Export
269
279
 
@@ -117,6 +117,11 @@ A `FormField` describes one input.
117
117
  | `defaultValue` | `DefaultValue` | Initial value. |
118
118
  | `offersDefault` | `boolean` | `defaultValue` is the module's default for a setting: while the field holds something else, it shows "Module default: X" with "Use default", which puts it back. Off unless set, so a record form never presents a column's initial value as a default. |
119
119
  | `localized` | `boolean` | The value is a per-locale record rather than a single value. |
120
+ | `fallbackLocale` | `string` | A localized field's fallback language: a value in any language requires one in this one. Set by a table view from `@Localized({ fallbackLocale })`. |
121
+ | `visibleWhen` | `FieldCondition` | `{ field, in }`: shown only while the field `field` holds one of the values `in` lists (`null` for an empty one), from the moment the form opens; hidden, it is neither required nor sent. |
122
+ | `disabledWhen` | `FieldCondition` | Same shape: read-only while the condition holds; its value is not sent. |
123
+
124
+ A module's own form applies `visibleWhen` and `disabledWhen` in the browser; its submit handler enforces what it needs. A table view's columns carry them to its forms and its data routes enforce them as well (see [Tables](/docs/interfaces/base/tables)).
120
125
 
121
126
  `FormFieldSerialized` replaces `type` with the data type's registered id string and `inputComponent` with a mandatory `component: ComponentInfoSerialized` — the resolved input component, taken from `inputComponent` when set and from `type.inputComponent()` otherwise.
122
127
 
@@ -213,13 +218,13 @@ function buildFormSchema(
213
218
  ```typescript
214
219
  function adaptFieldValidationSchema(
215
220
  baseSchema: z.ZodTypeAny,
216
- options: { localized?: boolean; required?: boolean },
221
+ options: FieldValidationOptions, // { localized?, required?, fallbackLocale? }
217
222
  ): z.ZodTypeAny;
218
223
  ```
219
224
 
220
225
  `adaptFieldValidationSchema` turns the schema a data type returns from `getValidation()` into the schema for one particular field:
221
226
 
222
- - With `localized: true` the schema is wrapped in `z.record(z.string(), schema)`, so the value becomes a map of locale to value.
227
+ - With `localized: true` the schema is wrapped in `z.record(z.string(), schema)`, so the value becomes a map of locale to value. With a `fallbackLocale` as well, a map filling any language must fill that one, else it fails with `$dms.field_errors.required` on `[fallbackLocale]`.
223
228
  - When `required` is falsy the schema becomes `.nullable().optional()`.
224
229
  - When `required` is true and the schema is a `ZodString` or a `ZodArray`, a `.min(1)` is added so an empty string or empty array does not satisfy the requirement.
225
230
 
@@ -137,10 +137,23 @@ These are not the plain data-api defaults. Every route asserts tenant access and
137
137
  | `group` | `string` | Identifier of the `ColumnGroup` this column belongs to in the generated forms. |
138
138
  | `cellWrap` | `boolean` | Wrap the grid cell without a line limit. |
139
139
  | `size` | `number` | Default width of the grid column in px (150 when omitted). |
140
+ | `visibleWhen` | `FieldCondition` | `{ field, in }`: the form field shows only while the column `field` holds one of the values `in` lists (`null` for an empty one). The data routes hold to it too: hidden, the field is not mandatory, the value sent for it is ignored, and an edit clears the value it stored. |
141
+ | `disabledWhen` | `FieldCondition` | Same shape: the form field is read-only while the condition holds, and the data routes ignore the value sent for it. |
140
142
  | `display` | `ColumnDisplay` | A display class instance (`new DefaultDisplays.IdentityDisplay({ … })`, or a module's own `@RegisterDisplay("<module>:<id>")` class) the grid cells (and expanded-row fields) render with, its options typed by the class. `type` keeps driving forms, filters, validation and exports; the formatter also receives the row. Serialized as `{ type, options? }`. |
141
143
 
142
144
  A field is read-only in a form when its `@Access` for the action that form runs is `AccessMode.ReadOnly`: the per-action override (`@Access(AccessMode.ReadWrite, { new: AccessMode.ReadOnly })`, keyed `new`, `edit` and `get` for the view form) where it declares one, else its default access — the access the data API applies to the value it writes. Such a field is disabled in that form, or dropped from it when its `readonlyBehavior` resolves to `hidden` for the mode; a field whose data type has no input component is dropped from every form.
143
145
 
146
+ `visibleWhen` and `disabledWhen` make a field depend on the value of another column, with no watch: the generated forms apply them from the values they open with, and the `new` and `edit` routes (`TableViewRoutes.New`, `Edit`, `EditWith`) apply them to what they write, read on the row as it will be stored — an edit's stored row under its body. A hidden or disabled field leaves the body before the guard runs, and an edit clears the value a hidden field stored (a disabled one keeps its own); `@Mandatory` binds a field with `visibleWhen` only while it shows, and there an edit must leave it filled (a deal moved to `lost` without its reason is refused with `400 { code: "missing_mandatory_fields", fields: ["lostReason"] }`, as the data API refuses any mandatory field). A condition naming an unknown column, the column itself or no value throws at registration.
147
+
148
+ ```ts
149
+ @Mandatory("new", "edit")
150
+ @Column({ name: "Loss reason", type: reasonType, visibleWhen: { field: "stage", in: ["lost"] } })
151
+ declare lostReason: string;
152
+
153
+ @Column({ name: "Probability", type: percentType, disabledWhen: { field: "stage", in: ["won", "lost"] } })
154
+ declare probability: number;
155
+ ```
156
+
144
157
  ### Column Groups
145
158
 
146
159
  `ColumnGroup(id, config)` is a class decorator on the data controller. Columns join a group by naming its `id` in `ColumnOptions.group`; the generated forms then render a `FieldGroup` in the position of the group's first column.
@@ -241,7 +254,7 @@ Typing `TableViewOptions` by `InstanceType<T>` is what makes row-action rules fi
241
254
  | `rowActions` | `TableViewRowActionOptions<T>` | Built-in and custom row actions. |
242
255
  | `columns` | `TableViewColumnsOptions` | The controller's columns as this table view shows them: `hidden` lists the ones it opens hidden, as `isVisible: false` does on the `@Column`, for this table view only (they stay in the column menu, filterable and in the forms). A name the controller has no column for throws at registration. |
243
256
  | `customButtons` | `CustomButton[]` | Toolbar buttons; see [Shared Types](/docs/interfaces/base/types). |
244
- | `forms` | `Partial<Record<"new" \| "edit" \| "view", TableViewFormSetup>>` | A callback per generated form, `(form: FormBuilder) => void`, receiving its builder before the table view embeds it: what it declares (`.watch()`, a field shown, hidden or required as another changes) holds in a drawer, a modal or a form page alike. |
257
+ | `forms` | `Partial<Record<"new" \| "edit" \| "view", TableViewFormSetup>>` | A callback per generated form, `(form: FormBuilder) => void`, receiving its builder before the table view embeds it, for input comfort only: what it declares (`.watch()`, a value filled in from another, a field one table's forms leave out) holds in a drawer, a modal or a form page alike. No data rule here, the routes never see it: a field shown, required or locked by another's value is a column's `visibleWhen` / `disabledWhen`. |
245
258
  | `formContainer` | `FormContainer` | Where the `new` / `edit` / `view` forms open. |
246
259
  | `archiveMode` | `boolean` | Replace delete with archive/restore. Requires `@ArchiveField`. |
247
260
  | `archivedCountLabel` | `string` | How the footer counts the archived rows: an i18n key with `$` receiving `{ count }` and pluralized on it, or a text with `{count}`. Defaults to "Archived: {count}", which agrees with no noun. |
@@ -195,7 +195,7 @@ export class OverviewPage extends PageController(
195
195
  | `hideHeader` | `boolean` | Omit the page header. |
196
196
  | `fillHeight` | `boolean` | Let the page fill the height of the panel instead of growing with its content, for a tool that scrolls inside itself — see [Pages that fill the panel](#pages-that-fill-the-panel). Defaults to `false`. |
197
197
  | `headerActions` | `CustomButton[]` | Buttons right of the page title, in order — see [Header actions](#header-actions). |
198
- | `record` | `PageRecordSource` | The record the page shows (`{ fetchUrl }`), which header buttons act on — see [Buttons acting on the page's record](#buttons-acting-on-the-pages-record). |
198
+ | `record` | `PageRecordLoader` | Reads the record the page shows, with the layout, for the header buttons acting on it and every `availability` of the page — see [Buttons acting on the page's record](#buttons-acting-on-the-pages-record). |
199
199
 
200
200
  Dashboard pages are full-width unless they opt out, which is what a table, a grid of cards or a chart wants. Set `fullWidth: false` for a page that only holds a form, where a constrained column stays readable — or use `FormPageLayout`, which is exactly that:
201
201
 
@@ -276,7 +276,7 @@ A page scoped by its URL — `?workspace=web`, a record id in the path — decla
276
276
 
277
277
  A label's translation takes the page's route and query parameters as its own (a query parameter wins over a route parameter of the same name), so `"Download {locale}.json"` names the language of `?locale=fr` and follows it as the URL changes.
278
278
 
279
- An `availability` receives the page URL's query as `context.query` (one value per name; caller-supplied, so check it like any input) and its route parameters as `context.params` (`/projects/project/p1` on a page registered at `/projects/project/:id` is `{ id: "p1" }`). The header asks again whenever the query or the route parameters change — only when one of its buttons declares an `availability` — and keeps the buttons it has until the answer lands. The keys the DMS writes for the view itself never cause a request: `record` (the row open in a side panel), `live` (the paused live mode) and a period selector's `<id>.period`, `<id>.compare`, `<id>.from`, `<id>.to`, `<id>.compareFrom` and `<id>.compareTo`. A query key may carry dots, so `{{query.api.period}}` reads a period selector's choice.
279
+ An `availability` receives the page URL's query as `context.query` (one value per name; caller-supplied, so check it like any input), its route parameters as `context.params` (`/projects/project/p1` on a page registered at `/projects/project/:id` is `{ id: "p1" }`), and the record the layout read as `context.record` ([Buttons acting on the page's record](#buttons-acting-on-the-pages-record)). The header asks again whenever the query or the route parameters change, and once a write refreshed the page — only when one of its buttons declares an `availability` or the layout reads a `record` — and keeps the buttons it has until the answer lands. The keys the DMS writes for the view itself never cause a request: `record` (the row open in a side panel), `live` (the paused live mode) and a period selector's `<id>.period`, `<id>.compare`, `<id>.from`, `<id>.to`, `<id>.compareFrom` and `<id>.compareTo`. A query key may carry dots, so `{{query.api.period}}` reads a period selector's choice.
280
280
 
281
281
  ```typescript
282
282
  DefaultLayout({
@@ -304,11 +304,11 @@ Who sees a button is settled on the server when the layout is served: a button w
304
304
 
305
305
  #### Buttons acting on the page's record
306
306
 
307
- A page about one record (a site, an invoice) declares it with `record: { fetchUrl }` — typically its controller's `get` route, `{{params.X}}` and `{{query.X}}` filled in from the page URL. The browser reads it for the header, and a button's target names its fields as `{{record.X}}`, percent-encoded: a maps link to the site's address, an API call on its own id. A button acting on the record — one whose target names `{{record.X}}`, or declaring `requiresRecord: true` (an "Edit" link that only needs `{{params.id}}`) — is disabled while the record loads, and left out of a page whose record cannot be read (not found, refused). The other buttons never wait for it:
307
+ A page about one record (a site, an invoice) reads it with its layout: `record` is a function the server calls each time it serves the layout, with the request's context — the page URL's `params` and `query`, the `user` and the `tenantId` — and answers the record, or `undefined` when there is none to show. A button's target names its fields as `{{record.X}}`, filled in by the server and percent-encoded: a maps link to the site's address, an API call on its own id. A button acting on the record — one whose target names `{{record.X}}`, or declaring `requiresRecord: true` (an "Edit" link that only needs `{{params.id}}`) — is left out of a page whose record was not found, or whose `record` threw (logged). Every `availability` of the page reads the record as `context.record`, so a button can be disabled on the record's state without reading it again:
308
308
 
309
309
  ```typescript
310
310
  DefaultLayout({
311
- record: { fetchUrl: "/api/sites/get?id={{params.id}}" },
311
+ record: ({ params }) => GetModel(SiteModel).get(params?.id ?? ""),
312
312
  headerActions: [
313
313
  {
314
314
  label: "$sites.directions",
@@ -316,11 +316,20 @@ DefaultLayout({
316
316
  target: { type: "external", url: "https://www.google.com/maps/search/?api=1&query={{record.address}}", newTab: true },
317
317
  },
318
318
  { label: "$sites.edit", requiresRecord: true, target: { type: "page", url: "/sites/{{params.id}}/edit" } },
319
+ {
320
+ label: "$sites.close",
321
+ target: { type: "api", url: "/api/sites/close?id={{params.id}}" },
322
+ availability: ({ record }) => (record?.closed ? { reason: "$sites.already_closed" } : undefined),
323
+ },
319
324
  ],
320
325
  });
321
326
  ```
322
327
 
323
- The record is read like a block's `fetchUrl` (`useApiData`, keyed on the URL): a block of the page reading the same URL — the `ResourceForm` or `KeyValueList` showing the record — shares the one request, and a server render hands it to the browser with the page. Its fields only shape the buttons; the route behind each one still checks the record on its own.
328
+ The record travels with the layout, so the header is drawn with it, on the server too, and never waits for it. Like an `availability`, it follows the page URL: the header asks for its buttons again when the route parameters or the query change, and once a write refreshed the page (`refreshPageBlocks()`, which a header button calls after a change, and a form once it saved). Its fields only shape the buttons; the route behind each one still checks the record on its own.
329
+
330
+ #### A record deleted under the page
331
+
332
+ A page reading a `record` leaves it once it is deleted, in every tab and for every member on it, with no code of the module. On each event of one of the page's realtime topics (its table views' rows, a `realtimeTopic`, a topic bound with `RegisterPageTopic`), the page asks its layout again: a record the server found before and now finds none of (its `record` answers `undefined`) was deleted. A toast says so, and the page opens the list it is a detail of (`MenuOptions.parent`); without one, it stays, on the "not found" state of its blocks. A `record` that throws counts as unknown, never as deleted, and a page opened on a record that never existed shows its blocks' "not found" state without a toast. Publish on one of the page's topics when the record is deleted: a table view's delete does it on its own.
324
333
 
325
334
  #### Hidden or disabled
326
335
 
@@ -319,7 +319,7 @@ declare customerId: string;
319
319
  | `placeholder` | `string` | Picker placeholder. |
320
320
  | `multiple` | `boolean` | Allow more than one related row. |
321
321
  | `deselectable` | `boolean` | Allow clearing the selection. |
322
- | `filterOnly` | `boolean` | Skip the join entirely: the raw scalar id stays in the list output and the funnel filter runs equality on it. |
322
+ | `filterOnly` | `boolean` | Skip the join entirely: the raw scalar id stays in the list output and the funnel filter runs equality on it. A table cell, a card or a kanban card of that column then shows the id: lists draw the joined row only, they never read the ids by `?ids=`. |
323
323
  | `addForm` | `{ displayName?: string; description?: string }` | Title and description of the drawer the picker's "add" entry opens ("New customer"). `$`-prefixed: i18n keys. Default to "New entry". |
324
324
  | `filterBy` | `{ field, from }` | List only the target rows whose `field` equals the form's current value of the field `from`, e.g. `{ field: "customerId", from: "customerId" }` for a site among its customer's sites. `field` must be filterable on the target (`filterable: true` or `@Filter`); `decorateField` throws otherwise. |
325
325
  | `fallback` | `string` | Text used in place of an empty value. |
@@ -328,7 +328,7 @@ With `filterBy`, the picker sends the table filter syntax to the `select` endpoi
328
328
 
329
329
  When the target controller exposes a `new` endpoint and has form fields, the picker of an editable form field also carries an inline "add" form built from the target's `new` fields, plus the permission id of the target's `add` action. That form is the bulk of the component — the target's fields, its validation schema, its own relations' add forms — so a table column's type, its filter and a read-only field leave it out: they read the related rows through the `select` route, and a filter only picks among them.
330
330
 
331
- `CascaderRelationType<T>` is the same idea for a self-referencing table: the target's `select` endpoint returns a flat list, and the widget rebuilds the tree client-side. Its `keyMapping` is required and adds `parent` — the field pointing at the parent row, which must itself carry `@Select()` — alongside the required `label` and `value`. It adds `maxDepth` and `leafOnly` to the relation options, and supports the same `filterOnly` behaviour. In a table cell it shows the path of the picked node ("Electronics / Audio"); a `multiple` one shows a badge per picked node, named by its own label with its path on hover, and folds those past three into `+N`.
331
+ `CascaderRelationType<T>` is the same idea for a self-referencing table: the target's `select` endpoint returns a flat list, and the widget rebuilds the tree client-side. Its cell and its field name the picked row by its path, read by `?ids=` for the picked rows and then each level of their ancestors. Its `keyMapping` is required and adds `parent` — the field pointing at the parent row, which must itself carry `@Select()` — alongside the required `label` and `value`. It adds `maxDepth` and `leafOnly` to the relation options, and supports the same `filterOnly` behaviour. In a table cell it shows the path of the picked node ("Electronics / Audio"); a `multiple` one shows a badge per picked node, named by its own label with its path on hover, and folds those past three into `+N`.
332
332
 
333
333
  ### Address
334
334
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-dms",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Public AntelopeJS interfaces of the DMS: pages, components, permissions, tenancy, auth, notifications and HTML rendering.",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -53,18 +53,18 @@
53
53
  "@antelopejs/interface-api": ">=0.0.15 <1.0.0",
54
54
  "@antelopejs/interface-api-util": ">=0.1.3 <1.0.0",
55
55
  "@antelopejs/interface-core": ">=0.2.4 <1.0.0",
56
- "@antelopejs/interface-data-api": ">=0.3.0 <1.0.0",
57
- "@antelopejs/interface-database": ">=0.1.10 <1.0.0",
58
- "@antelopejs/interface-database-decorators": ">=0.1.9 <1.0.0",
56
+ "@antelopejs/interface-data-api": ">=0.4.0 <1.0.0",
57
+ "@antelopejs/interface-database": ">=0.1.11 <1.0.0",
58
+ "@antelopejs/interface-database-decorators": ">=0.1.10 <1.0.0",
59
59
  "@antelopejs/interface-file-storage": ">=0.1.4 <1.0.0"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@antelopejs/interface-api": ">=0.0.15 <1.0.0",
63
63
  "@antelopejs/interface-api-util": ">=0.1.3 <1.0.0",
64
64
  "@antelopejs/interface-core": ">=0.2.4 <1.0.0",
65
- "@antelopejs/interface-data-api": ">=0.3.0 <1.0.0",
66
- "@antelopejs/interface-database": ">=0.1.10 <1.0.0",
67
- "@antelopejs/interface-database-decorators": ">=0.1.9 <1.0.0",
65
+ "@antelopejs/interface-data-api": ">=0.4.0 <1.0.0",
66
+ "@antelopejs/interface-database": ">=0.1.11 <1.0.0",
67
+ "@antelopejs/interface-database-decorators": ">=0.1.10 <1.0.0",
68
68
  "@antelopejs/interface-file-storage": ">=0.1.4 <1.0.0",
69
69
  "@types/node": "^24.0.0",
70
70
  "@types/randomstring": "^1.3.0",