@antelopejs/interface-dms 0.9.0 → 0.9.1
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/CHANGELOG.md +42 -0
- package/dist/page/types.d.ts +14 -1
- package/docs/tsconfig.json +5 -1
- package/package.json +1 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,51 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.9.1
|
|
4
|
+
|
|
5
|
+
[compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.9.0...v0.9.1)
|
|
6
|
+
|
|
7
|
+
### 🚀 Enhancements
|
|
8
|
+
|
|
9
|
+
- **menu:** Support nested dynamic menu entries ([#446](https://github.com/AntelopeJS/dms/pull/446))
|
|
10
|
+
|
|
11
|
+
### 🩹 Fixes
|
|
12
|
+
|
|
13
|
+
- **release:** Build the interface before the release lint ([#454](https://github.com/AntelopeJS/dms/pull/454))
|
|
14
|
+
|
|
15
|
+
### 📖 Documentation
|
|
16
|
+
|
|
17
|
+
- **changelog:** Upgrade notes of dms 0.11.0 ([#440](https://github.com/AntelopeJS/dms/pull/440))
|
|
18
|
+
|
|
19
|
+
### 📦 Build
|
|
20
|
+
|
|
21
|
+
- Adopt the AntelopeJS guardrail pack ([#444](https://github.com/AntelopeJS/dms/pull/444))
|
|
22
|
+
|
|
23
|
+
### 🏡 Chore
|
|
24
|
+
|
|
25
|
+
- **release:** @antelopejs/dms v0.11.0 ([65235375](https://github.com/AntelopeJS/dms/commit/65235375))
|
|
26
|
+
- Configure Renovate with the shared preset ([#445](https://github.com/AntelopeJS/dms/pull/445))
|
|
27
|
+
|
|
28
|
+
### 🤖 CI
|
|
29
|
+
|
|
30
|
+
- Run docs-playground on main pushes only ([#443](https://github.com/AntelopeJS/dms/pull/443))
|
|
31
|
+
|
|
32
|
+
### ❤️ Contributors
|
|
33
|
+
|
|
34
|
+
- Antony Rizzitelli ([@Upd4ting](http://github.com/Upd4ting))
|
|
35
|
+
|
|
3
36
|
## v0.9.0
|
|
4
37
|
|
|
5
38
|
[compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.8.0...v0.9.0)
|
|
6
39
|
|
|
40
|
+
### Upgrade notes
|
|
41
|
+
|
|
42
|
+
- **Breaking:** `DefaultLayoutOptions.record` is a `PageRecordLoader` instead of `{ fetchUrl }`, and `PageRecordSource` is removed ([#426](https://github.com/AntelopeJS/dms/pull/426)). `record: { fetchUrl: "/api/sites/get?id={{params.id}}" }` becomes `record: ({ params }) => …` reading the row, in `PageLayoutRequest`'s context.
|
|
43
|
+
- **Breaking:** the default tenant is provisioned through `TENANT_BEING_PROVISIONED` ([#420](https://github.com/AntelopeJS/dms/pull/420)). `TenantProvisioningHookPayload.userId` is now `string | undefined`, and an emitter calling `ExecuteHooks(Hook.TENANT_BEING_PROVISIONED, …)` directly no longer gets the schema instance registered: use `ProvisionTenant`.
|
|
44
|
+
- **Behavior change:** in generated forms, the fallback language of a `@Localized` field is required ([#427](https://github.com/AntelopeJS/dms/pull/427)). `FormField.fallbackLocale` carries it, and the column's server validator refuses a localized value that fills another language but not that one.
|
|
45
|
+
- Table view columns take `visibleWhen` and `disabledWhen` conditions, carried to `FormField` ([#431](https://github.com/AntelopeJS/dms/pull/431)). The `new` and `edit` data routes enforce them: a hidden field is neither required nor written, an edit that hides a `visibleWhen` field clears its stored value, and a `disabledWhen` field keeps its stored value.
|
|
46
|
+
- Relations answer "Not found" for unanswered ids; the cascader reads by `?ids=`; lists need the `Foreign` join ([#421](https://github.com/AntelopeJS/dms/pull/421)). The dev manifest lists the origins it rewrites (`originRewrites`, [#434](https://github.com/AntelopeJS/dms/pull/434)).
|
|
47
|
+
- Requires `@antelopejs/interface-data-api` `>=0.4.0` (structured `400 { code, fields }`), `@antelopejs/interface-database-decorators` `>=0.1.10` and `@antelopejs/interface-database` `>=0.1.11`. Modules implementing interface-dms move to `>=0.9.0 <0.10.0`; `@antelopejs/dms` 0.11 implements it.
|
|
48
|
+
|
|
7
49
|
### 🚀 Enhancements
|
|
8
50
|
|
|
9
51
|
- **frontend:** List the origins the dev manifest rewrites ([#434](https://github.com/AntelopeJS/dms/pull/434))
|
package/dist/page/types.d.ts
CHANGED
|
@@ -338,7 +338,9 @@ export interface PageInfo extends CategoryInfo {
|
|
|
338
338
|
*/
|
|
339
339
|
export interface DynamicMenuItem {
|
|
340
340
|
/**
|
|
341
|
-
* Unique
|
|
341
|
+
* Unique among siblings; appended to the parent's `fullId` with a dot.
|
|
342
|
+
* Top-level entries use the provider category as their parent.
|
|
343
|
+
* Duplicate sibling ids are skipped with a warning; the first admitted entry wins.
|
|
342
344
|
* Dots separate the levels of a `fullId`, so an id may not contain one — an
|
|
343
345
|
* entry that does is skipped with a warning.
|
|
344
346
|
*/
|
|
@@ -362,6 +364,10 @@ export interface DynamicMenuItem {
|
|
|
362
364
|
icon?: string;
|
|
363
365
|
order?: number;
|
|
364
366
|
variant?: MenuItemVariant;
|
|
367
|
+
/**
|
|
368
|
+
* Status dot, trailing on leaves and on the leading icon for parents.
|
|
369
|
+
* An entry with children and a status should declare an icon.
|
|
370
|
+
*/
|
|
365
371
|
status?: MenuItemStatus;
|
|
366
372
|
/** Short count or label rendered at the end of the entry (`3`, `new`). */
|
|
367
373
|
badge?: string;
|
|
@@ -378,6 +384,13 @@ export interface DynamicMenuItem {
|
|
|
378
384
|
* `<recoveryPageFullId>.settle`.
|
|
379
385
|
*/
|
|
380
386
|
permissionId?: string;
|
|
387
|
+
/**
|
|
388
|
+
* Nested menu entries, each admitted on its own target access and permission.
|
|
389
|
+
* An unadmitted parent drops its subtree. Omitted and empty arrays mean a leaf.
|
|
390
|
+
* The maximum depth is 3, counting provider entries as level 1.
|
|
391
|
+
* Deeper entries are dropped with a warning.
|
|
392
|
+
*/
|
|
393
|
+
children?: readonly DynamicMenuItem[];
|
|
381
394
|
}
|
|
382
395
|
/**
|
|
383
396
|
* Resolves the dynamic entries of a category for one request. `permissions` is
|
package/docs/tsconfig.json
CHANGED
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
"composite": false,
|
|
6
6
|
"incremental": false,
|
|
7
7
|
"tsBuildInfoFile": null,
|
|
8
|
-
"noEmit": true
|
|
8
|
+
"noEmit": true,
|
|
9
|
+
"paths": {
|
|
10
|
+
"@antelopejs/interface-dms": ["../src/index.ts"],
|
|
11
|
+
"@antelopejs/interface-dms/*": ["../src/*"]
|
|
12
|
+
}
|
|
9
13
|
},
|
|
10
14
|
"include": ["../src/**/*.ts", "**/*.ts"]
|
|
11
15
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/interface-dms",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Public AntelopeJS interfaces of the DMS: pages, components, permissions, tenancy, auth, notifications and HTML rendering.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"antelopejs",
|
|
@@ -34,9 +34,6 @@
|
|
|
34
34
|
"build": "rimraf dist && tsc",
|
|
35
35
|
"typecheck": "tsc --noEmit",
|
|
36
36
|
"test": "pnpm run build && node --test tests/*.test.cjs",
|
|
37
|
-
"lint": "oxlint && oxfmt --check .",
|
|
38
|
-
"lint:fix": "oxlint --fix --max-warnings=1000000 && oxfmt .",
|
|
39
|
-
"format": "oxfmt .",
|
|
40
37
|
"prepack": "pnpm run build && pnpm run check:exports && pnpm run check:proxies",
|
|
41
38
|
"check:exports": "node scripts/check-exports.mjs",
|
|
42
39
|
"check:proxies": "node scripts/check-proxies.mjs",
|
|
@@ -69,9 +66,6 @@
|
|
|
69
66
|
"@types/node": "^24.0.0",
|
|
70
67
|
"@types/randomstring": "^1.3.0",
|
|
71
68
|
"knip": "^6.34.0",
|
|
72
|
-
"oxfmt": "^0.66.0",
|
|
73
|
-
"oxlint": "1.81.0",
|
|
74
|
-
"oxlint-tsgolint": "^7.0.2001",
|
|
75
69
|
"release-it": "^19.2.4",
|
|
76
70
|
"release-it-changelogen": "^0.1.0",
|
|
77
71
|
"rimraf": "^6.1.3",
|