@nest-my-admin/core 0.3.2 → 0.5.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 (118) hide show
  1. package/README.md +56 -0
  2. package/dist/admin.module.js +6 -0
  3. package/dist/admin.module.js.map +1 -1
  4. package/dist/api/action.service.js +3 -0
  5. package/dist/api/action.service.js.map +1 -1
  6. package/dist/api/admin-api.service.d.ts +54 -2
  7. package/dist/api/admin-api.service.js +320 -11
  8. package/dist/api/admin-api.service.js.map +1 -1
  9. package/dist/api/menu-routes.d.ts +16 -0
  10. package/dist/api/menu-routes.js +10 -0
  11. package/dist/api/menu-routes.js.map +1 -0
  12. package/dist/api/menu.d.ts +15 -0
  13. package/dist/api/menu.js +85 -0
  14. package/dist/api/menu.js.map +1 -0
  15. package/dist/appearance/appearance.service.d.ts +28 -0
  16. package/dist/appearance/appearance.service.js +88 -0
  17. package/dist/appearance/appearance.service.js.map +1 -0
  18. package/dist/appearance/entities.d.ts +8 -0
  19. package/dist/appearance/entities.js +35 -0
  20. package/dist/appearance/entities.js.map +1 -0
  21. package/dist/audit/entities.d.ts +4 -0
  22. package/dist/audit/entities.js.map +1 -1
  23. package/dist/constants.d.ts +2 -0
  24. package/dist/constants.js +2 -0
  25. package/dist/constants.js.map +1 -1
  26. package/dist/contract.d.ts +256 -7
  27. package/dist/crud/computed-columns.d.ts +65 -0
  28. package/dist/crud/computed-columns.js +264 -0
  29. package/dist/crud/computed-columns.js.map +1 -0
  30. package/dist/crud/list-query-builder.d.ts +3 -1
  31. package/dist/crud/list-query-builder.js +5 -2
  32. package/dist/crud/list-query-builder.js.map +1 -1
  33. package/dist/crud/list-query.js +6 -1
  34. package/dist/crud/list-query.js.map +1 -1
  35. package/dist/crud/list-tabs.d.ts +7 -0
  36. package/dist/crud/list-tabs.js +44 -0
  37. package/dist/crud/list-tabs.js.map +1 -0
  38. package/dist/dashboard/dashboard-routes.d.ts +18 -0
  39. package/dist/dashboard/dashboard-routes.js +13 -0
  40. package/dist/dashboard/dashboard-routes.js.map +1 -0
  41. package/dist/dashboard/dashboard.service.d.ts +20 -0
  42. package/dist/dashboard/dashboard.service.js +80 -0
  43. package/dist/dashboard/dashboard.service.js.map +1 -0
  44. package/dist/dashboard/widget-registry.d.ts +22 -0
  45. package/dist/dashboard/widget-registry.js +77 -0
  46. package/dist/dashboard/widget-registry.js.map +1 -0
  47. package/dist/decorators/admin-action.d.ts +15 -2
  48. package/dist/decorators/admin-action.js +21 -2
  49. package/dist/decorators/admin-action.js.map +1 -1
  50. package/dist/decorators/admin-field.d.ts +23 -3
  51. package/dist/decorators/admin-field.js +1 -1
  52. package/dist/decorators/admin-field.js.map +1 -1
  53. package/dist/decorators/admin-print.d.ts +35 -0
  54. package/dist/decorators/admin-print.js +53 -0
  55. package/dist/decorators/admin-print.js.map +1 -0
  56. package/dist/decorators/admin-resource.d.ts +7 -0
  57. package/dist/decorators/admin-resource.js.map +1 -1
  58. package/dist/decorators/admin-widget.d.ts +27 -0
  59. package/dist/decorators/admin-widget.js +14 -0
  60. package/dist/decorators/admin-widget.js.map +1 -0
  61. package/dist/export/export-cells.d.ts +8 -0
  62. package/dist/export/export-cells.js +45 -0
  63. package/dist/export/export-cells.js.map +1 -0
  64. package/dist/export/xlsx.d.ts +23 -0
  65. package/dist/export/xlsx.js +115 -0
  66. package/dist/export/xlsx.js.map +1 -0
  67. package/dist/http/admin-http.server.d.ts +5 -1
  68. package/dist/http/admin-http.server.js +41 -2
  69. package/dist/http/admin-http.server.js.map +1 -1
  70. package/dist/index.d.ts +6 -2
  71. package/dist/index.js +4 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/inlines/inline-config.d.ts +3 -0
  74. package/dist/inlines/inline-config.js +11 -3
  75. package/dist/inlines/inline-config.js.map +1 -1
  76. package/dist/inlines/inline-reader.d.ts +5 -0
  77. package/dist/inlines/inline-reader.js +9 -2
  78. package/dist/inlines/inline-reader.js.map +1 -1
  79. package/dist/inlines/inline-writer.js +4 -0
  80. package/dist/inlines/inline-writer.js.map +1 -1
  81. package/dist/internal.d.ts +3 -0
  82. package/dist/internal.js +2 -0
  83. package/dist/internal.js.map +1 -1
  84. package/dist/options.d.ts +49 -0
  85. package/dist/options.js +31 -0
  86. package/dist/options.js.map +1 -1
  87. package/dist/policy/admin-policy.service.d.ts +14 -1
  88. package/dist/policy/admin-policy.service.js +127 -9
  89. package/dist/policy/admin-policy.service.js.map +1 -1
  90. package/dist/policy/catalog.d.ts +2 -2
  91. package/dist/policy/catalog.js +5 -4
  92. package/dist/policy/catalog.js.map +1 -1
  93. package/dist/policy/explain.js +3 -1
  94. package/dist/policy/explain.js.map +1 -1
  95. package/dist/print/html.d.ts +16 -0
  96. package/dist/print/html.js +37 -0
  97. package/dist/print/html.js.map +1 -0
  98. package/dist/print/print-page.d.ts +10 -0
  99. package/dist/print/print-page.js +47 -0
  100. package/dist/print/print-page.js.map +1 -0
  101. package/dist/rbac/rbac.service.d.ts +3 -1
  102. package/dist/rbac/rbac.service.js +8 -4
  103. package/dist/rbac/rbac.service.js.map +1 -1
  104. package/dist/registry/resource-registry.d.ts +25 -0
  105. package/dist/registry/resource-registry.js +109 -0
  106. package/dist/registry/resource-registry.js.map +1 -1
  107. package/dist/resource/admin-resource-base.d.ts +120 -9
  108. package/dist/resource/admin-resource-base.js +16 -2
  109. package/dist/resource/admin-resource-base.js.map +1 -1
  110. package/dist/schema/build-resource-schema.js +104 -6
  111. package/dist/schema/build-resource-schema.js.map +1 -1
  112. package/dist/schema/currency.d.ts +9 -0
  113. package/dist/schema/currency.js +11 -0
  114. package/dist/schema/currency.js.map +1 -0
  115. package/dist/schema/field-config.d.ts +33 -4
  116. package/dist/schema/field-config.js +68 -3
  117. package/dist/schema/field-config.js.map +1 -1
  118. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  import type { ObjectLiteral, Repository, SelectQueryBuilder } from 'typeorm';
2
- import type { FilterOperator, SortDirection } from '../contract.js';
2
+ import type { FilterOperator, SortDirection, Tone } from '../contract.js';
3
3
  import type { DtoClass } from '../schema/dto-fields.js';
4
4
  import type { LocalizedText } from '../i18n/localized-text.js';
5
5
  import type { FieldsConfig, LayoutConfig } from '../schema/field-config.js';
@@ -34,6 +34,8 @@ export interface ListParams {
34
34
  pagination?: 'offset' | 'keyset';
35
35
  /** Soft-deletable resources: `only` lists the trash, `with` lists everything. */
36
36
  trashed?: 'only' | 'with';
37
+ /** A list tab (`list.tabs`): its `where` applies in `buildListQuery`. */
38
+ tab?: string;
37
39
  }
38
40
  export interface FindManyResult<T> {
39
41
  items: T[];
@@ -63,8 +65,8 @@ export interface ListConfig<T> {
63
65
  * tables; it sorts only by non-nullable columns, and counts nothing unless `count` says so.
64
66
  */
65
67
  pagination?: 'offset' | 'keyset';
66
- /** Default: every column except json and text, and every to-one relation. */
67
- columns?: FieldPath<T>[];
68
+ /** Default: every column except json and text, and every to-one relation. May name `computed` columns. */
69
+ columns?: Array<FieldPath<T> | (string & {})>;
68
70
  /** `'name'` for ascending, `'-createdAt'` for descending. Defaults to `-<primary key>`. */
69
71
  sort?: FieldPath<T> | `-${FieldPath<T>}`;
70
72
  pageSize?: number;
@@ -82,18 +84,123 @@ export interface ListConfig<T> {
82
84
  * Fields or paths, like `columns`; without it a card shows the title, then the columns.
83
85
  */
84
86
  mobile?: {
85
- title?: FieldPath<T>;
86
- subtitle?: FieldPath<T>;
87
- badge?: FieldPath<T>;
88
- meta?: FieldPath<T>[];
87
+ title?: FieldPath<T> | (string & {});
88
+ subtitle?: FieldPath<T> | (string & {});
89
+ badge?: FieldPath<T> | (string & {});
90
+ meta?: Array<FieldPath<T> | (string & {})>;
89
91
  };
92
+ /**
93
+ * Columns computed for each page of the list (spec §5.4): an image, a title with a subline, money with a previous
94
+ * price, a status badge, a count or an on/off toggle, from a field or path, an aggregate or first row of a one-to-many
95
+ * relation, an enum toggle, or your own batch function. Name them in `columns` (and `mobile`). A column is cut for a
96
+ * viewer who cannot see a field or relation it reads; aggregates and first rows count only the rows the viewer sees.
97
+ */
98
+ computed?: Record<string, ComputedColumn<T>>;
99
+ /**
100
+ * «Export to Excel» on the list (`<resource>.export`): the rows the list shows now (filters, search, tab, sort,
101
+ * scopes) as an `.xlsx`, in `columns` (default: the list's field columns), at most `max` rows (default 10,000, up to
102
+ * 100,000). Columns the viewer may not see are left out.
103
+ */
104
+ export?: boolean | {
105
+ columns?: Array<Extract<keyof T, string> | (string & {})>;
106
+ max?: number;
107
+ };
108
+ /**
109
+ * Tabs over the list (spec §5.5), at most 6, each with its count: «همه» (no filter), «فعال» (`filter`), «ناموجود»
110
+ * (`where`, for what filters cannot say). `filter` holds `filter[...]` list parameters; `where` adds conditions
111
+ * (`qb.alias`, like `query()`). Counts follow the viewer's scopes; `count: 'none'` shows no count.
112
+ */
113
+ tabs?: ListTab[];
114
+ }
115
+ export interface ListTab {
116
+ key: string;
117
+ label: LocalizedText;
118
+ filter?: Record<string, string>;
119
+ where?: (qb: SelectQueryBuilder<any>, ctx: AdminContext) => void;
120
+ count?: CountMode;
121
+ }
122
+ /** Where a computed column's value comes from. */
123
+ export type ComputedSource<T = any> =
124
+ /** A field or a to-one path (`category.name`). */
125
+ FieldPath<T> | (string & {})
126
+ /** Over a one-to-many relation's rows (the viewer's rows only): `count` needs no field. */
127
+ | {
128
+ aggregate: 'min' | 'max' | 'sum' | 'count';
129
+ relation: string;
130
+ field?: string;
131
+ }
132
+ /** A field of the relation's first row by `by` (the first SKU, the first image). */
133
+ | {
134
+ first: string;
135
+ field: string;
136
+ by: string;
137
+ }
138
+ /** An enum field shown as a switch: `on` is checked, a click writes `on` or `off` (a normal PATCH). */
139
+ | {
140
+ toggle: string;
141
+ on: string;
142
+ off: string;
143
+ }
144
+ /** Your own values, called once per page with its rows: `{ [rowId]: value }`. `fields` are the fields it reads. */
145
+ | {
146
+ compute: (rows: T[], ctx: AdminContext) => Promise<Record<string, unknown>>;
147
+ fields: string[];
148
+ };
149
+ export interface ComputedColumn<T = any> {
150
+ label: LocalizedText;
151
+ kind: 'image' | 'title' | 'money' | 'badge' | 'count' | 'toggle';
152
+ source: ComputedSource<T>;
153
+ /** `title`: the muted line under it (a SKU). */
154
+ subline?: ComputedSource<T>;
155
+ /** `money`: the earlier price, struck through. */
156
+ previous?: ComputedSource<T>;
157
+ /** `badge`: the value's label and tone; receives the row too. */
158
+ map?: (value: unknown, row: T) => {
159
+ label: LocalizedText;
160
+ tone: Tone;
161
+ };
162
+ /** `aggregate` and `first` sources only. */
163
+ sortable?: boolean;
90
164
  }
91
165
  export interface FormConfig {
92
166
  create?: DtoClass;
93
167
  /** Defaults to `create`. Update bodies are always validated as partial: only the fields sent are checked. */
94
168
  update?: DtoClass;
95
- /** Sections (with 1–3 columns), optionally grouped into tabs. Fields left out go into a last section. */
96
- layout?: LayoutConfig;
169
+ /**
170
+ * Sections (with 1–3 columns), optionally grouped into tabs. Fields left out go into a last section. For the
171
+ * design's record page, `{ main, aside }`: the sections in a main column and read-only cards beside it (spec §5.6).
172
+ */
173
+ layout?: LayoutConfig | {
174
+ main: LayoutConfig;
175
+ aside: AsideCardConfig[];
176
+ };
177
+ /** `view`: an existing record opens as text, and «Edit» turns its editable fields into inputs. Default `edit`. */
178
+ mode?: 'edit' | 'view';
179
+ /**
180
+ * The record's header: `badges` (fields shown as badges next to the title; default: every badge-widget field) and a
181
+ * `subtitle` line of field values and computed list columns (`{ computed: '<list.computed key>' }`), joined by «·».
182
+ * `stepper` names an enum field shown as the order's steps (Task 11).
183
+ */
184
+ header?: {
185
+ badges?: string[];
186
+ subtitle?: Array<string | {
187
+ computed: string;
188
+ }>;
189
+ stepper?: string;
190
+ };
191
+ }
192
+ /**
193
+ * A read-only card beside the record's main column: some of its own fields, or fields of a to-one relation's record
194
+ * (`relation`: the relation field), with a link to it (`link`, «مشاهده پروفایل»).
195
+ */
196
+ export interface AsideCardConfig {
197
+ title: LocalizedText;
198
+ icon?: string;
199
+ fields: string[] | {
200
+ relation: string;
201
+ fields: string[];
202
+ };
203
+ link?: boolean;
97
204
  }
98
205
  /** An external link shown in the record's header (Django's `view_on_site`): http(s) or a relative URL. */
99
206
  export interface RecordLinkConfig {
@@ -116,6 +223,10 @@ export declare abstract class AdminResourceBase<T extends ObjectLiteral = Object
116
223
  attachScoper(scoper: (qb: SelectQueryBuilder<any>, ctx: AdminContext | undefined) => SelectQueryBuilder<any>): void;
117
224
  /** `query()` and then the signed-in user's row scopes: what every read of this resource starts from. */
118
225
  private restrict;
226
+ /** @internal Called once by the registry: sorts by a sortable computed column (`list.computed`). */
227
+ attachComputedSort(sorter: (qb: SelectQueryBuilder<any>, field: string, ctx: AdminContext | undefined) => string | undefined): void;
228
+ /** @internal A query of this resource's rows as `ctx`'s user may read them (`query()` and scopes): computed columns of other resources aggregate over it. */
229
+ readQuery(alias: string, ctx: AdminContext | undefined): SelectQueryBuilder<T>;
119
230
  /** @internal Called once by the registry during bootstrap. */
120
231
  attachRepository(repository: Repository<T>): void;
121
232
  protected get repository(): Repository<T>;
@@ -30,6 +30,15 @@ export class AdminResourceBase {
30
30
  const restricted = this.query(qb, ctx);
31
31
  return this.#scoper ? this.#scoper(restricted, ctx) : restricted;
32
32
  }
33
+ #computedSort;
34
+ /** @internal Called once by the registry: sorts by a sortable computed column (`list.computed`). */
35
+ attachComputedSort(sorter) {
36
+ this.#computedSort = sorter;
37
+ }
38
+ /** @internal A query of this resource's rows as `ctx`'s user may read them (`query()` and scopes): computed columns of other resources aggregate over it. */
39
+ readQuery(alias, ctx) {
40
+ return this.restrict((ctx ? this.repositoryFor(ctx) : this.repository).createQueryBuilder(alias), ctx);
41
+ }
33
42
  /** @internal Called once by the registry during bootstrap. */
34
43
  attachRepository(repository) {
35
44
  this.#repository = repository;
@@ -55,8 +64,13 @@ export class AdminResourceBase {
55
64
  */
56
65
  buildListQuery(params, ctx, alias = 'entity') {
57
66
  const repository = ctx ? this.repositoryFor(ctx) : this.repository;
58
- const qb = this.restrict(repository.createQueryBuilder(alias), ctx ?? AdminContext.current());
59
- return applyListParams(qb, params, repository.metadata);
67
+ const context = ctx ?? AdminContext.current();
68
+ const qb = this.restrict(repository.createQueryBuilder(alias), context);
69
+ const sorter = this.#computedSort;
70
+ // The tab's own restriction (a tab with `where`); its filters arrive as normal filter params.
71
+ if (params.tab)
72
+ this.list?.tabs?.find((tab) => tab.key === params.tab)?.where?.(qb, context);
73
+ return applyListParams(qb, params, repository.metadata, sorter && ((query, field) => sorter(query, field, context)));
60
74
  }
61
75
  /**
62
76
  * Restricts which records the admin sees, on every read path: the list (`buildListQuery`), `findOne` (so GET, PATCH,
@@ -1 +1 @@
1
- {"version":3,"file":"admin-resource-base.js","sourceRoot":"","sources":["../../src/resource/admin-resource-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-resource-base.js","sourceRoot":"","sources":["../../src/resource/admin-resource-base.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { columnToField, isSupportedColumn } from './column-field.js';
2
- import { applyFieldConfig, checkFieldConfig, checkLayout, localizeLayout, mergeFieldConfig } from './field-config.js';
2
+ import { applyFieldConfig, checkFieldConfig, checkLayout, localizeLayout, mainLayout, mergeFieldConfig } from './field-config.js';
3
3
  import { dtoObjectField, embeddedField, nestedTypeOf, topEmbedded } from './nested-fields.js';
4
4
  import { isToOne, pathField as toPathField, relationFields, resolvePath } from './relation-fields.js';
5
5
  import { dtoConstraints, hasDtoInitializer, isConditionalProperty } from './dto-constraints.js';
@@ -139,8 +139,14 @@ export function buildResourceSchema(input) {
139
139
  .map((field) => field.name);
140
140
  if (columns.length === 0)
141
141
  fail('list.columns must name at least one column');
142
+ const computedConfig = resource.list?.computed ?? {};
143
+ const isComputed = (name) => Object.hasOwn(computedConfig, name);
144
+ for (const key of Object.keys(computedConfig))
145
+ if (byName.has(key))
146
+ fail(`list.computed.${key}: the name is a field's; give the column another name`);
142
147
  for (const column of columns)
143
- lookup('list.columns', column);
148
+ if (!isComputed(column))
149
+ lookup('list.columns', column);
144
150
  const rawSort = resource.list?.sort ?? `-${primaryKeys[0]}`;
145
151
  const direction = rawSort.startsWith('-') ? 'desc' : 'asc';
146
152
  const sortField = rawSort.replace(/^-/, '');
@@ -167,10 +173,11 @@ export function buildResourceSchema(input) {
167
173
  : undefined;
168
174
  if (mobile) {
169
175
  for (const key of ['title', 'subtitle', 'badge'])
170
- if (mobile[key])
176
+ if (mobile[key] && !isComputed(mobile[key]))
171
177
  lookup(`list.mobile.${key}`, mobile[key]);
172
178
  for (const name of mobile.meta)
173
- lookup('list.mobile.meta', name);
179
+ if (!isComputed(name))
180
+ lookup('list.mobile.meta', name);
174
181
  }
175
182
  for (const [setting, names] of [['list.columns', columns], ['list.filters', resource.list?.filters ?? []], ['list.search', resource.list?.search ?? []], ['list.editable', editable]]) {
176
183
  const repeated = names.find((name, index) => names.indexOf(name) !== index);
@@ -207,7 +214,12 @@ export function buildResourceSchema(input) {
207
214
  if (!keysetSortable(sortField))
208
215
  fail(`list.sort: keyset lists sort by a non-nullable column, not "${sortField}"`);
209
216
  sortable = sortable.filter(keysetSortable);
217
+ const sortedComputed = Object.keys(computedConfig).find((key) => computedConfig[key].sortable);
218
+ if (sortedComputed)
219
+ fail(`list.computed.${sortedComputed}: keyset lists cannot sort by a computed column`);
210
220
  }
221
+ // Aggregates and first rows sort through a subquery (checkComputed allows `sortable` on those only).
222
+ sortable = [...sortable, ...Object.keys(computedConfig).filter((key) => computedConfig[key].sortable)];
211
223
  const entityConstraints = (name, field = byName.get(name), column = columnByName.get(name)) => {
212
224
  if (!field)
213
225
  return {};
@@ -277,9 +289,54 @@ export function buildResourceSchema(input) {
277
289
  const readonlyNames = [...fieldConfig].filter(([, options]) => options.readonly).map(([name]) => name);
278
290
  const writableUpdate = update.filter((name) => !readonlyNames.includes(name));
279
291
  const formReadonly = readonlyNames.filter((name) => update.includes(name) || byName.has(name));
280
- const layout = resource.form?.layout;
292
+ const layout = mainLayout(resource.form?.layout);
281
293
  if (layout)
282
- checkLayout(layout, [...new Set([...create, ...update, ...formReadonly])], fail, { inlines: true });
294
+ checkLayout(layout, [...new Set([...create, ...update, ...formReadonly])], fail, { inlines: true, summary: { fields: [...byName.keys()], computed: Object.keys(resource.list?.computed ?? {}) } });
295
+ // Aside cards and the header read fields; relation cards are checked by the registry once every resource is known.
296
+ const asideConfig = resource.form?.layout && !Array.isArray(resource.form.layout) ? resource.form.layout.aside : undefined;
297
+ if (asideConfig !== undefined && !Array.isArray(asideConfig))
298
+ fail('form.layout.aside must be a list of cards');
299
+ const ownField = (setting, name) => {
300
+ if (!byName.has(name))
301
+ fail(`${setting}: unknown field "${name}" on ${entityName}${didYouMean(name, [...byName.keys()])}`);
302
+ };
303
+ (asideConfig ?? []).forEach((card, index) => {
304
+ if (Array.isArray(card.fields))
305
+ for (const name of card.fields)
306
+ ownField(`form.layout.aside[${index}]`, name);
307
+ else if (!card.fields || typeof card.fields.relation !== 'string' || !Array.isArray(card.fields.fields))
308
+ fail(`form.layout.aside[${index}]: fields is a list, or { relation, fields }`);
309
+ else {
310
+ const relationField = byName.get(card.fields.relation);
311
+ if (!relationField || relationField.type !== 'relation' || relationField.relation?.kind !== 'to-one')
312
+ fail(`form.layout.aside[${index}]: "${card.fields.relation}" is not a to-one relation field of ${entityName}`);
313
+ }
314
+ });
315
+ const mode = resource.form?.mode;
316
+ if (mode !== undefined && mode !== 'edit' && mode !== 'view')
317
+ fail('form.mode is edit or view');
318
+ const headerConfig = resource.form?.header;
319
+ for (const name of headerConfig?.badges ?? [])
320
+ ownField('form.header.badges', name);
321
+ for (const item of headerConfig?.subtitle ?? []) {
322
+ if (typeof item === 'string')
323
+ ownField('form.header.subtitle', item);
324
+ else if (!Object.hasOwn(resource.list?.computed ?? {}, item.computed))
325
+ fail(`form.header.subtitle: "${item.computed}" is not a list.computed column`);
326
+ }
327
+ if (headerConfig?.stepper !== undefined) {
328
+ const stepper = byName.get(headerConfig.stepper);
329
+ if (!stepper || stepper.type !== 'enum')
330
+ fail(`form.header.stepper: "${headerConfig.stepper}" is not an enum field of ${entityName}`);
331
+ }
332
+ const text = (label) => (typeof label === 'string' ? label : (Object.values(label)[0] ?? ''));
333
+ const aside = asideConfig?.map((card) => ({
334
+ title: text(card.title),
335
+ ...(card.icon ? { icon: card.icon } : {}),
336
+ fields: Array.isArray(card.fields) ? [...card.fields] : [...card.fields.fields],
337
+ // `resource` is filled in by the registry once the target is known.
338
+ ...(Array.isArray(card.fields) ? {} : { relation: { field: card.fields.relation, resource: '', link: card.link === true } }),
339
+ }));
283
340
  const dedicatedUpdateDto = resource.form?.update;
284
341
  const constraints = {
285
342
  create: compile(create, createDto, (name) => requiredOnCreate.includes(name), true),
@@ -296,6 +353,7 @@ export function buildResourceSchema(input) {
296
353
  ...(definition.readonly ? { readonly: true } : {}),
297
354
  related: [], // filled in by the registry once every resource is known
298
355
  actions: [], // filled in by the registry from the resource's @AdminAction methods
356
+ prints: [], // and from its @AdminPrint methods
299
357
  softDelete: metadata.columns.some((column) => column.isDeleteDate),
300
358
  ...(versionField ? { version: versionField } : {}),
301
359
  // Texts in the first language given; AdminApiService localizes per request.
@@ -311,6 +369,35 @@ export function buildResourceSchema(input) {
311
369
  search,
312
370
  editable,
313
371
  ...(mobile ? { mobile } : {}),
372
+ ...(resource.list?.tabs
373
+ ? {
374
+ tabs: resource.list.tabs.map((tab) => ({
375
+ key: tab.key,
376
+ // The first language given; AdminApiService localizes per request.
377
+ label: typeof tab.label === 'string' ? tab.label : (Object.values(tab.label)[0] ?? tab.key),
378
+ filter: { ...(tab.filter ?? {}) },
379
+ where: typeof tab.where === 'function',
380
+ count: tab.count ?? 'exact',
381
+ })),
382
+ }
383
+ : {}),
384
+ ...(Object.keys(computedConfig).length > 0
385
+ ? {
386
+ computed: Object.fromEntries(Object.entries(computedConfig).map(([key, column]) => {
387
+ const source = column.source;
388
+ return [
389
+ key,
390
+ {
391
+ // The first language given; AdminApiService localizes per request.
392
+ label: typeof column.label === 'string' ? column.label : (Object.values(column.label)[0] ?? key),
393
+ kind: column.kind,
394
+ sortable: column.sortable === true,
395
+ ...(typeof source === 'object' && source.toggle ? { toggle: { field: source.toggle, on: source.on, off: source.off } } : {}),
396
+ },
397
+ ];
398
+ })),
399
+ }
400
+ : {}),
314
401
  },
315
402
  form: {
316
403
  create,
@@ -319,6 +406,17 @@ export function buildResourceSchema(input) {
319
406
  readonly: formReadonly,
320
407
  constraints,
321
408
  ...(layout ? { layout: localizeLayout(layout, '', '') } : {}),
409
+ ...(aside ? { aside } : {}),
410
+ ...(mode === 'view' ? { mode: 'view' } : {}),
411
+ ...(headerConfig
412
+ ? {
413
+ header: {
414
+ ...(headerConfig.badges ? { badges: [...headerConfig.badges] } : {}),
415
+ ...(headerConfig.subtitle ? { subtitle: headerConfig.subtitle.map((item) => (typeof item === 'string' ? { field: item } : { computed: item.computed })) } : {}),
416
+ ...(headerConfig.stepper ? { stepper: headerConfig.stepper } : {}),
417
+ },
418
+ }
419
+ : {}),
322
420
  },
323
421
  };
324
422
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-resource-schema.js","sourceRoot":"","sources":["../../src/schema/build-resource-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-resource-schema.js","sourceRoot":"","sources":["../../src/schema/build-resource-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { LocalizedText } from '../i18n/localized-text.js';
2
+ /** How money is labelled (spec §4): the unit, in one or several languages, before or after the number. */
3
+ export interface AdminCurrency {
4
+ unit: LocalizedText;
5
+ /** Default `after` (`۳٬۲۵۰٬۰۰۰ تومان`). */
6
+ position?: 'after' | 'before';
7
+ }
8
+ /** A currency option (global, or a field's): a unit that is not blank, and `after` unless `before` is asked for. */
9
+ export declare function checkCurrency(currency: AdminCurrency, where: string): Required<AdminCurrency>;
@@ -0,0 +1,11 @@
1
+ /** A currency option (global, or a field's): a unit that is not blank, and `after` unless `before` is asked for. */
2
+ export function checkCurrency(currency, where) {
3
+ const units = typeof currency.unit === 'string' ? [currency.unit] : Object.values(currency.unit);
4
+ if (units.length === 0 || units.some((unit) => typeof unit !== 'string' || unit.trim() === ''))
5
+ throw new Error(`nest-my-admin: ${where}.unit must be a non-empty text`);
6
+ const position = currency.position ?? 'after';
7
+ if (position !== 'after' && position !== 'before')
8
+ throw new Error(`nest-my-admin: ${where}.position must be 'after' or 'before', got "${String(position)}"`);
9
+ return { unit: currency.unit, position };
10
+ }
11
+ //# sourceMappingURL=currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/schema/currency.ts"],"names":[],"mappings":"AASA,oHAAoH;AACpH,MAAM,UAAU,aAAa,CAAC,QAAuB,EAAE,KAAa;IAClE,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,gCAAgC,CAAC,CAAC;IACzK,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC9C,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,+CAA+C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9J,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC"}
@@ -44,14 +44,37 @@ export interface LayoutInlineConfig {
44
44
  min?: number;
45
45
  /** Most rows a save may leave and the form edits (default 100, at most 500). */
46
46
  max?: number;
47
+ /** Shown, never edited here (a write to it is refused with 422): an order's lines once it is placed. */
48
+ readonly?: boolean;
49
+ /** Computed columns of the child (`list.computed` keys) shown in the table, before its fields (a line's product thumbnail). */
50
+ computed?: string[];
51
+ /** Cards: a marker on the first card in `order` (the product's «main picture»). */
52
+ cards?: {
53
+ markFirst?: LocalizedText;
54
+ };
55
+ }
56
+ /** Label and value rows in a card (an order's totals): fields of the record, or its computed columns (`list.computed`). */
57
+ export interface LayoutSummaryConfig {
58
+ section?: LocalizedText;
59
+ summary: Array<{
60
+ label: LocalizedText;
61
+ value: string | {
62
+ computed: string;
63
+ };
64
+ }>;
47
65
  }
48
66
  export interface LayoutTabConfig {
49
67
  tab: LocalizedText;
50
- sections: Array<LayoutSectionConfig | LayoutInlineConfig>;
68
+ sections: Array<LayoutSectionConfig | LayoutInlineConfig | LayoutSummaryConfig>;
51
69
  }
52
- export type LayoutConfig = Array<LayoutSectionConfig | LayoutTabConfig | LayoutInlineConfig>;
53
- export declare function isInlineConfig(node: LayoutSectionConfig | LayoutTabConfig | LayoutInlineConfig): node is LayoutInlineConfig;
70
+ export type LayoutConfig = Array<LayoutSectionConfig | LayoutTabConfig | LayoutInlineConfig | LayoutSummaryConfig>;
71
+ export declare function isSummaryConfig(node: object): node is LayoutSummaryConfig;
72
+ export declare function isInlineConfig(node: LayoutSectionConfig | LayoutTabConfig | LayoutInlineConfig | LayoutSummaryConfig): node is LayoutInlineConfig;
54
73
  /** Every inline node of a layout, tabs included, in layout order. */
74
+ /** The sections of `form.layout`: the list itself, or the main column of a `{ main, aside }` record layout. */
75
+ export declare function mainLayout(layout: LayoutConfig | {
76
+ main: LayoutConfig;
77
+ } | undefined): LayoutConfig | undefined;
55
78
  export declare function layoutInlines(layout: LayoutConfig | undefined): LayoutInlineConfig[];
56
79
  /** Default for `files.maxBytes`: 10 MiB. */
57
80
  export declare const DEFAULT_MAX_FILE_BYTES = 10485760;
@@ -82,8 +105,14 @@ export declare function applyFieldConfig(field: FieldSchema, options: FieldConfi
82
105
  * Every layout name is a form field, listed once. Inline nodes (only where `allow.inlines`: a resource's form) are
83
106
  * checked for their shape here; the registry resolves them against the child once every resource is known.
84
107
  */
85
- export declare function checkLayout(layout: LayoutConfig, formNames: string[], fail: (message: string) => never, allow?: {
108
+ export declare function checkLayout(layout: LayoutConfig, formNames: string[], fail: (message: string) => never,
109
+ /** `inlines` and summaries belong in a resource's form; a summary reads these fields and computed columns. */
110
+ allow?: {
86
111
  inlines?: boolean;
112
+ summary?: {
113
+ fields: string[];
114
+ computed: string[];
115
+ };
87
116
  }): void;
88
117
  /**
89
118
  * The layout with texts in `locale`. `inline` turns an inline node into what the UI gets (given the section's title in