@mintplayer/ng-spark 22.22.0 → 22.24.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 (68) hide show
  1. package/README.md +181 -0
  2. package/fesm2022/mintplayer-ng-spark-attribute-description.mjs +100 -47
  3. package/fesm2022/mintplayer-ng-spark-attribute-description.mjs.map +1 -1
  4. package/fesm2022/mintplayer-ng-spark-client-operations.mjs +308 -329
  5. package/fesm2022/mintplayer-ng-spark-client-operations.mjs.map +1 -1
  6. package/fesm2022/mintplayer-ng-spark-column-filter.mjs +175 -135
  7. package/fesm2022/mintplayer-ng-spark-column-filter.mjs.map +1 -1
  8. package/fesm2022/mintplayer-ng-spark-grid.mjs +2259 -1117
  9. package/fesm2022/mintplayer-ng-spark-grid.mjs.map +1 -1
  10. package/fesm2022/mintplayer-ng-spark-history.mjs +611 -0
  11. package/fesm2022/mintplayer-ng-spark-history.mjs.map +1 -0
  12. package/fesm2022/mintplayer-ng-spark-icon.mjs +64 -27
  13. package/fesm2022/mintplayer-ng-spark-icon.mjs.map +1 -1
  14. package/fesm2022/mintplayer-ng-spark-models.mjs +365 -753
  15. package/fesm2022/mintplayer-ng-spark-models.mjs.map +1 -1
  16. package/fesm2022/mintplayer-ng-spark-moderation.mjs +1212 -0
  17. package/fesm2022/mintplayer-ng-spark-moderation.mjs.map +1 -0
  18. package/fesm2022/mintplayer-ng-spark-panels.mjs +52 -0
  19. package/fesm2022/mintplayer-ng-spark-panels.mjs.map +1 -0
  20. package/fesm2022/mintplayer-ng-spark-pipes.mjs +1122 -765
  21. package/fesm2022/mintplayer-ng-spark-pipes.mjs.map +1 -1
  22. package/fesm2022/mintplayer-ng-spark-po-create.mjs +273 -169
  23. package/fesm2022/mintplayer-ng-spark-po-create.mjs.map +1 -1
  24. package/fesm2022/mintplayer-ng-spark-po-detail.mjs +786 -410
  25. package/fesm2022/mintplayer-ng-spark-po-detail.mjs.map +1 -1
  26. package/fesm2022/mintplayer-ng-spark-po-edit.mjs +292 -284
  27. package/fesm2022/mintplayer-ng-spark-po-edit.mjs.map +1 -1
  28. package/fesm2022/mintplayer-ng-spark-po-form.mjs +2187 -1225
  29. package/fesm2022/mintplayer-ng-spark-po-form.mjs.map +1 -1
  30. package/fesm2022/mintplayer-ng-spark-query-list.mjs +516 -303
  31. package/fesm2022/mintplayer-ng-spark-query-list.mjs.map +1 -1
  32. package/fesm2022/mintplayer-ng-spark-renderers.mjs +17 -55
  33. package/fesm2022/mintplayer-ng-spark-renderers.mjs.map +1 -1
  34. package/fesm2022/mintplayer-ng-spark-retry-action-modal.mjs +216 -177
  35. package/fesm2022/mintplayer-ng-spark-retry-action-modal.mjs.map +1 -1
  36. package/fesm2022/mintplayer-ng-spark-routes.mjs +24 -28
  37. package/fesm2022/mintplayer-ng-spark-routes.mjs.map +1 -1
  38. package/fesm2022/mintplayer-ng-spark-services.mjs +625 -640
  39. package/fesm2022/mintplayer-ng-spark-services.mjs.map +1 -1
  40. package/fesm2022/mintplayer-ng-spark-shell.mjs +1013 -397
  41. package/fesm2022/mintplayer-ng-spark-shell.mjs.map +1 -1
  42. package/fesm2022/mintplayer-ng-spark-soft-delete.mjs +294 -0
  43. package/fesm2022/mintplayer-ng-spark-soft-delete.mjs.map +1 -0
  44. package/fesm2022/mintplayer-ng-spark.mjs +13 -50
  45. package/fesm2022/mintplayer-ng-spark.mjs.map +1 -1
  46. package/package.json +17 -1
  47. package/types/mintplayer-ng-spark-attribute-description.d.ts +25 -18
  48. package/types/mintplayer-ng-spark-client-operations.d.ts +133 -160
  49. package/types/mintplayer-ng-spark-column-filter.d.ts +73 -55
  50. package/types/mintplayer-ng-spark-grid.d.ts +885 -448
  51. package/types/mintplayer-ng-spark-history.d.ts +223 -0
  52. package/types/mintplayer-ng-spark-icon.d.ts +15 -13
  53. package/types/mintplayer-ng-spark-models.d.ts +624 -573
  54. package/types/mintplayer-ng-spark-moderation.d.ts +402 -0
  55. package/types/mintplayer-ng-spark-panels.d.ts +108 -0
  56. package/types/mintplayer-ng-spark-pipes.d.ts +120 -149
  57. package/types/mintplayer-ng-spark-po-create.d.ts +46 -37
  58. package/types/mintplayer-ng-spark-po-detail.d.ts +177 -117
  59. package/types/mintplayer-ng-spark-po-edit.d.ts +64 -65
  60. package/types/mintplayer-ng-spark-po-form.d.ts +507 -371
  61. package/types/mintplayer-ng-spark-query-list.d.ts +118 -82
  62. package/types/mintplayer-ng-spark-renderers.d.ts +79 -85
  63. package/types/mintplayer-ng-spark-retry-action-modal.d.ts +31 -34
  64. package/types/mintplayer-ng-spark-routes.d.ts +7 -11
  65. package/types/mintplayer-ng-spark-services.d.ts +377 -261
  66. package/types/mintplayer-ng-spark-shell.d.ts +209 -128
  67. package/types/mintplayer-ng-spark-soft-delete.d.ts +90 -0
  68. package/types/mintplayer-ng-spark.d.ts +7 -12
@@ -1,26 +1,22 @@
1
- import * as i0 from '@angular/core';
2
- import { PipeTransform } from '@angular/core';
3
- import { TranslatedString, PersistentObject, EntityType, LookupReference, EntityAttributeDefinition, QueryResultItem, SparkRow, ProgramUnit, EntityPermissions, ELookupDisplayType, LookupReferenceValue, ValidationError, QueryColumn } from '@mintplayer/ng-spark/models';
4
-
5
- declare class TranslateKeyPipe implements PipeTransform {
6
- private readonly lang;
7
- transform(key: string): string;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<TranslateKeyPipe, never>;
9
- static ɵpipe: i0.ɵɵPipeDeclaration<TranslateKeyPipe, "t", true>;
1
+ import * as i0 from "@angular/core";
2
+ import { PipeTransform } from "@angular/core";
3
+ import { ELookupDisplayType, EntityAttributeDefinition, EntityPermissions, EntityType, LookupReference, LookupReferenceValue, PersistentObject, ProgramUnit, QueryColumn, QueryResultItem, SparkRow, TranslatedString, ValidationError } from "@mintplayer/ng-spark/models";
4
+ export declare class TranslateKeyPipe implements PipeTransform {
5
+ private readonly lang;
6
+ transform(key: string): string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TranslateKeyPipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<TranslateKeyPipe, "t", true>;
10
9
  }
11
-
12
- declare class ResolveTranslationPipe implements PipeTransform {
13
- transform(value: TranslatedString | undefined, fallback?: string): string;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<ResolveTranslationPipe, never>;
15
- static ɵpipe: i0.ɵɵPipeDeclaration<ResolveTranslationPipe, "resolveTranslation", true>;
10
+ export declare class ResolveTranslationPipe implements PipeTransform {
11
+ transform(value: TranslatedString | undefined, fallback?: string): string;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResolveTranslationPipe, never>;
13
+ static ɵpipe: i0.ɵɵPipeDeclaration<ResolveTranslationPipe, "resolveTranslation", true>;
16
14
  }
17
-
18
- declare class InputTypePipe implements PipeTransform {
19
- transform(dataType: string): string;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<InputTypePipe, never>;
21
- static ɵpipe: i0.ɵɵPipeDeclaration<InputTypePipe, "inputType", true>;
15
+ export declare class InputTypePipe implements PipeTransform {
16
+ transform(dataType: string): string;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputTypePipe, never>;
18
+ static ɵpipe: i0.ɵɵPipeDeclaration<InputTypePipe, "inputType", true>;
22
19
  }
23
-
24
20
  /**
25
21
  * Parses a wire value into a `Date`, or `null` when it is absent or unparseable.
26
22
  *
@@ -38,32 +34,28 @@ declare class InputTypePipe implements PipeTransform {
38
34
  * display — a viewer wants the moment in their own zone — but it means a `Date` can never be the thing
39
35
  * you reach for when you need the *originating* wall clock. Read that from the wire value instead.
40
36
  */
41
- declare class ParsedDatePipe implements PipeTransform {
42
- transform(value: unknown): Date | null;
43
- static ɵfac: i0.ɵɵFactoryDeclaration<ParsedDatePipe, never>;
44
- static ɵpipe: i0.ɵɵPipeDeclaration<ParsedDatePipe, "parsedDate", true>;
37
+ export declare class ParsedDatePipe implements PipeTransform {
38
+ transform(value: unknown): Date | null;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<ParsedDatePipe, never>;
40
+ static ɵpipe: i0.ɵɵPipeDeclaration<ParsedDatePipe, "parsedDate", true>;
45
41
  }
46
-
47
- declare class AttributeValuePipe implements PipeTransform {
48
- transform(attrName: string, item: PersistentObject | null, entityType: EntityType | null, lookupRefOptions: Record<string, LookupReference>, allEntityTypes: EntityType[]): any;
49
- private formatAsDetailValue;
50
- static ɵfac: i0.ɵɵFactoryDeclaration<AttributeValuePipe, never>;
51
- static ɵpipe: i0.ɵɵPipeDeclaration<AttributeValuePipe, "attributeValue", true>;
42
+ export declare class AttributeValuePipe implements PipeTransform {
43
+ transform(attrName: string, item: PersistentObject | null, entityType: EntityType | null, lookupRefOptions: Record<string, LookupReference>, allEntityTypes: EntityType[]): any;
44
+ private formatAsDetailValue;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<AttributeValuePipe, never>;
46
+ static ɵpipe: i0.ɵɵPipeDeclaration<AttributeValuePipe, "attributeValue", true>;
52
47
  }
53
-
54
- declare class RawAttributeValuePipe implements PipeTransform {
55
- transform(attrName: string, item: PersistentObject | null): any;
56
- static ɵfac: i0.ɵɵFactoryDeclaration<RawAttributeValuePipe, never>;
57
- static ɵpipe: i0.ɵɵPipeDeclaration<RawAttributeValuePipe, "rawAttributeValue", true>;
48
+ export declare class RawAttributeValuePipe implements PipeTransform {
49
+ transform(attrName: string, item: PersistentObject | null): any;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<RawAttributeValuePipe, never>;
51
+ static ɵpipe: i0.ɵɵPipeDeclaration<RawAttributeValuePipe, "rawAttributeValue", true>;
58
52
  }
59
-
60
- declare class ReferenceDisplayValuePipe implements PipeTransform {
61
- private readonly lang;
62
- transform(attr: EntityAttributeDefinition, formData: Record<string, any>, referenceOptions: Record<string, QueryResultItem[]>): string;
63
- static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceDisplayValuePipe, never>;
64
- static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceDisplayValuePipe, "referenceDisplayValue", true>;
53
+ export declare class ReferenceDisplayValuePipe implements PipeTransform {
54
+ private readonly lang;
55
+ transform(attr: EntityAttributeDefinition, formData: Record<string, any>, referenceOptions: Record<string, QueryResultItem[]>): string;
56
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceDisplayValuePipe, never>;
57
+ static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceDisplayValuePipe, "referenceDisplayValue", true>;
65
58
  }
66
-
67
59
  /**
68
60
  * The text a reference picker's result grid shows in one column.
69
61
  *
@@ -77,21 +69,19 @@ declare class ReferenceDisplayValuePipe implements PipeTransform {
77
69
  * have to know which one it was handed. Using it is also what keeps this working if a picker is ever
78
70
  * pointed at an AsDetail sub-table, whose rows are the flat record shape.
79
71
  */
80
- declare class ReferenceAttrValuePipe implements PipeTransform {
81
- transform(item: SparkRow, attrName: string): any;
82
- static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceAttrValuePipe, never>;
83
- static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceAttrValuePipe, "referenceAttrValue", true>;
72
+ export declare class ReferenceAttrValuePipe implements PipeTransform {
73
+ transform(item: SparkRow, attrName: string): any;
74
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceAttrValuePipe, never>;
75
+ static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceAttrValuePipe, "referenceAttrValue", true>;
84
76
  }
85
-
86
- declare class ReferenceLinkRoutePipe implements PipeTransform {
87
- transform(referenceClrType: string, referenceId: any, allEntityTypes: EntityType[]): string[] | null;
88
- static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceLinkRoutePipe, never>;
89
- static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceLinkRoutePipe, "referenceLinkRoute", true>;
77
+ export declare class ReferenceLinkRoutePipe implements PipeTransform {
78
+ transform(referenceClrType: string, referenceId: any, allEntityTypes: EntityType[]): string[] | null;
79
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceLinkRoutePipe, never>;
80
+ static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceLinkRoutePipe, "referenceLinkRoute", true>;
90
81
  }
91
-
92
- interface ReferenceChip {
93
- id: string;
94
- label: string;
82
+ export interface ReferenceChip {
83
+ id: string;
84
+ label: string;
95
85
  }
96
86
  /**
97
87
  * Resolves a multi-reference attribute (`dataType === 'Reference'`, `isArray === true`)
@@ -100,12 +90,11 @@ interface ReferenceChip {
100
90
  * the id when no breadcrumb is present. Mirrors the single-reference `breadcrumb`
101
91
  * display, applied per id.
102
92
  */
103
- declare class ReferenceChipsPipe implements PipeTransform {
104
- transform(attrName: string, item: PersistentObject | null): ReferenceChip[];
105
- static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceChipsPipe, never>;
106
- static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceChipsPipe, "referenceChips", true>;
93
+ export declare class ReferenceChipsPipe implements PipeTransform {
94
+ transform(attrName: string, item: PersistentObject | null): ReferenceChip[];
95
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReferenceChipsPipe, never>;
96
+ static ɵpipe: i0.ɵɵPipeDeclaration<ReferenceChipsPipe, "referenceChips", true>;
107
97
  }
108
-
109
98
  /**
110
99
  * Maps a program unit to the router commands that open it. Type comparisons are exact: the
111
100
  * server's loader canonicalizes `type` casing, so tolerating variants here would only mask a
@@ -114,26 +103,23 @@ declare class ReferenceChipsPipe implements PipeTransform {
114
103
  * Returns null for a `url` unit — an external address is an `<a href>`, not a router link; the
115
104
  * component rendering the menu owns that branch.
116
105
  */
117
- declare class RouterLinkPipe implements PipeTransform {
118
- transform(unit: ProgramUnit): string[] | null;
119
- static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkPipe, never>;
120
- static ɵpipe: i0.ɵɵPipeDeclaration<RouterLinkPipe, "routerLink", true>;
106
+ export declare class RouterLinkPipe implements PipeTransform {
107
+ transform(unit: ProgramUnit): string[] | null;
108
+ static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkPipe, never>;
109
+ static ɵpipe: i0.ɵɵPipeDeclaration<RouterLinkPipe, "routerLink", true>;
121
110
  }
122
-
123
- declare class AsDetailTypePipe implements PipeTransform {
124
- transform(attr: EntityAttributeDefinition, asDetailTypes: Record<string, EntityType>): EntityType | null;
125
- static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailTypePipe, never>;
126
- static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailTypePipe, "asDetailType", true>;
111
+ export declare class AsDetailTypePipe implements PipeTransform {
112
+ transform(attr: EntityAttributeDefinition, asDetailTypes: Record<string, EntityType>): EntityType | null;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailTypePipe, never>;
114
+ static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailTypePipe, "asDetailType", true>;
127
115
  }
128
-
129
- declare class AsDetailColumnsPipe implements PipeTransform {
130
- transform(attr: EntityAttributeDefinition, asDetailTypes: Record<string, EntityType>): EntityAttributeDefinition[];
131
- static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailColumnsPipe, never>;
132
- static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailColumnsPipe, "asDetailColumns", true>;
116
+ export declare class AsDetailColumnsPipe implements PipeTransform {
117
+ transform(attr: EntityAttributeDefinition, asDetailTypes: Record<string, EntityType>): EntityAttributeDefinition[];
118
+ static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailColumnsPipe, never>;
119
+ static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailColumnsPipe, "asDetailColumns", true>;
133
120
  }
134
-
135
121
  /** What a cell can resolve to: the column's own type, or `null` when it has no value. */
136
- type AsDetailCellValue = string | number | boolean | Date | null;
122
+ export type AsDetailCellValue = string | number | boolean | Date | null;
137
123
  /**
138
124
  * The value of one cell in an `AsDetail` table, **typed by the column's `dataType`** rather than
139
125
  * flattened to a string.
@@ -168,31 +154,27 @@ type AsDetailCellValue = string | number | boolean | Date | null;
168
154
  * falls back to its text, because showing what is there beats showing `Invalid Date`.
169
155
  * </p>
170
156
  */
171
- declare class AsDetailCellValuePipe implements PipeTransform {
172
- transform(row: Record<string, any>, parentAttr: EntityAttributeDefinition, col: EntityAttributeDefinition, asDetailRefOptions: Record<string, Record<string, QueryResultItem[]>>): AsDetailCellValue;
173
- static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailCellValuePipe, never>;
174
- static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailCellValuePipe, "asDetailCellValue", true>;
157
+ export declare class AsDetailCellValuePipe implements PipeTransform {
158
+ transform(row: Record<string, any>, parentAttr: EntityAttributeDefinition, col: EntityAttributeDefinition, asDetailRefOptions: Record<string, Record<string, QueryResultItem[]>>): AsDetailCellValue;
159
+ static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailCellValuePipe, never>;
160
+ static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailCellValuePipe, "asDetailCellValue", true>;
175
161
  }
176
-
177
- declare class AsDetailDisplayValuePipe implements PipeTransform {
178
- private readonly lang;
179
- transform(attr: EntityAttributeDefinition, formData: Record<string, any>, asDetailTypes: Record<string, EntityType>): string;
180
- static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailDisplayValuePipe, never>;
181
- static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailDisplayValuePipe, "asDetailDisplayValue", true>;
162
+ export declare class AsDetailDisplayValuePipe implements PipeTransform {
163
+ private readonly lang;
164
+ transform(attr: EntityAttributeDefinition, formData: Record<string, any>, asDetailTypes: Record<string, EntityType>): string;
165
+ static ɵfac: i0.ɵɵFactoryDeclaration<AsDetailDisplayValuePipe, never>;
166
+ static ɵpipe: i0.ɵɵPipeDeclaration<AsDetailDisplayValuePipe, "asDetailDisplayValue", true>;
182
167
  }
183
-
184
- declare class CanCreateDetailRowPipe implements PipeTransform {
185
- transform(attr: EntityAttributeDefinition, permissions: Record<string, EntityPermissions>): boolean;
186
- static ɵfac: i0.ɵɵFactoryDeclaration<CanCreateDetailRowPipe, never>;
187
- static ɵpipe: i0.ɵɵPipeDeclaration<CanCreateDetailRowPipe, "canCreateDetailRow", true>;
168
+ export declare class CanCreateDetailRowPipe implements PipeTransform {
169
+ transform(attr: EntityAttributeDefinition, permissions: Record<string, EntityPermissions>): boolean;
170
+ static ɵfac: i0.ɵɵFactoryDeclaration<CanCreateDetailRowPipe, never>;
171
+ static ɵpipe: i0.ɵɵPipeDeclaration<CanCreateDetailRowPipe, "canCreateDetailRow", true>;
188
172
  }
189
-
190
- declare class CanDeleteDetailRowPipe implements PipeTransform {
191
- transform(attr: EntityAttributeDefinition, permissions: Record<string, EntityPermissions>): boolean;
192
- static ɵfac: i0.ɵɵFactoryDeclaration<CanDeleteDetailRowPipe, never>;
193
- static ɵpipe: i0.ɵɵPipeDeclaration<CanDeleteDetailRowPipe, "canDeleteDetailRow", true>;
173
+ export declare class CanDeleteDetailRowPipe implements PipeTransform {
174
+ transform(attr: EntityAttributeDefinition, permissions: Record<string, EntityPermissions>): boolean;
175
+ static ɵfac: i0.ɵɵFactoryDeclaration<CanDeleteDetailRowPipe, never>;
176
+ static ɵpipe: i0.ɵɵPipeDeclaration<CanDeleteDetailRowPipe, "canDeleteDetailRow", true>;
194
177
  }
195
-
196
178
  /**
197
179
  * Whether the caller may edit rows of an AsDetail attribute's row type.
198
180
  *
@@ -204,48 +186,41 @@ declare class CanDeleteDetailRowPipe implements PipeTransform {
204
186
  * readable; hiding the inputs would hide the data, which is a worse answer than showing it
205
187
  * uneditable.
206
188
  */
207
- declare class CanEditDetailRowPipe implements PipeTransform {
208
- transform(attr: EntityAttributeDefinition, permissions: Record<string, EntityPermissions>): boolean;
209
- static ɵfac: i0.ɵɵFactoryDeclaration<CanEditDetailRowPipe, never>;
210
- static ɵpipe: i0.ɵɵPipeDeclaration<CanEditDetailRowPipe, "canEditDetailRow", true>;
189
+ export declare class CanEditDetailRowPipe implements PipeTransform {
190
+ transform(attr: EntityAttributeDefinition, permissions: Record<string, EntityPermissions>): boolean;
191
+ static ɵfac: i0.ɵɵFactoryDeclaration<CanEditDetailRowPipe, never>;
192
+ static ɵpipe: i0.ɵɵPipeDeclaration<CanEditDetailRowPipe, "canEditDetailRow", true>;
211
193
  }
212
-
213
- declare class LookupDisplayTypePipe implements PipeTransform {
214
- transform(attr: EntityAttributeDefinition, lookupRefOptions: Record<string, LookupReference>): ELookupDisplayType;
215
- static ɵfac: i0.ɵɵFactoryDeclaration<LookupDisplayTypePipe, never>;
216
- static ɵpipe: i0.ɵɵPipeDeclaration<LookupDisplayTypePipe, "lookupDisplayType", true>;
194
+ export declare class LookupDisplayTypePipe implements PipeTransform {
195
+ transform(attr: EntityAttributeDefinition, lookupRefOptions: Record<string, LookupReference>): ELookupDisplayType;
196
+ static ɵfac: i0.ɵɵFactoryDeclaration<LookupDisplayTypePipe, never>;
197
+ static ɵpipe: i0.ɵɵPipeDeclaration<LookupDisplayTypePipe, "lookupDisplayType", true>;
217
198
  }
218
-
219
- declare class LookupDisplayValuePipe implements PipeTransform {
220
- transform(attr: EntityAttributeDefinition, formData: Record<string, any>, lookupRefOptions: Record<string, LookupReference>): string;
221
- static ɵfac: i0.ɵɵFactoryDeclaration<LookupDisplayValuePipe, never>;
222
- static ɵpipe: i0.ɵɵPipeDeclaration<LookupDisplayValuePipe, "lookupDisplayValue", true>;
199
+ export declare class LookupDisplayValuePipe implements PipeTransform {
200
+ transform(attr: EntityAttributeDefinition, formData: Record<string, any>, lookupRefOptions: Record<string, LookupReference>): string;
201
+ static ɵfac: i0.ɵɵFactoryDeclaration<LookupDisplayValuePipe, never>;
202
+ static ɵpipe: i0.ɵɵPipeDeclaration<LookupDisplayValuePipe, "lookupDisplayValue", true>;
223
203
  }
224
-
225
- declare class LookupOptionsPipe implements PipeTransform {
226
- transform(attr: EntityAttributeDefinition, lookupRefOptions: Record<string, LookupReference>): LookupReferenceValue[];
227
- static ɵfac: i0.ɵɵFactoryDeclaration<LookupOptionsPipe, never>;
228
- static ɵpipe: i0.ɵɵPipeDeclaration<LookupOptionsPipe, "lookupOptions", true>;
204
+ export declare class LookupOptionsPipe implements PipeTransform {
205
+ transform(attr: EntityAttributeDefinition, lookupRefOptions: Record<string, LookupReference>): LookupReferenceValue[];
206
+ static ɵfac: i0.ɵɵFactoryDeclaration<LookupOptionsPipe, never>;
207
+ static ɵpipe: i0.ɵɵPipeDeclaration<LookupOptionsPipe, "lookupOptions", true>;
229
208
  }
230
-
231
- declare class InlineRefOptionsPipe implements PipeTransform {
232
- transform(parentAttr: EntityAttributeDefinition, col: EntityAttributeDefinition, asDetailRefOptions: Record<string, Record<string, QueryResultItem[]>>): QueryResultItem[];
233
- static ɵfac: i0.ɵɵFactoryDeclaration<InlineRefOptionsPipe, never>;
234
- static ɵpipe: i0.ɵɵPipeDeclaration<InlineRefOptionsPipe, "inlineRefOptions", true>;
209
+ export declare class InlineRefOptionsPipe implements PipeTransform {
210
+ transform(parentAttr: EntityAttributeDefinition, col: EntityAttributeDefinition, asDetailRefOptions: Record<string, Record<string, QueryResultItem[]>>): QueryResultItem[];
211
+ static ɵfac: i0.ɵɵFactoryDeclaration<InlineRefOptionsPipe, never>;
212
+ static ɵpipe: i0.ɵɵPipeDeclaration<InlineRefOptionsPipe, "inlineRefOptions", true>;
235
213
  }
236
-
237
- declare class ErrorForAttributePipe implements PipeTransform {
238
- transform(attrName: string, validationErrors: ValidationError[]): string | null;
239
- static ɵfac: i0.ɵɵFactoryDeclaration<ErrorForAttributePipe, never>;
240
- static ɵpipe: i0.ɵɵPipeDeclaration<ErrorForAttributePipe, "errorForAttribute", true>;
214
+ export declare class ErrorForAttributePipe implements PipeTransform {
215
+ transform(attrName: string, validationErrors: ValidationError[]): string | null;
216
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorForAttributePipe, never>;
217
+ static ɵpipe: i0.ɵɵPipeDeclaration<ErrorForAttributePipe, "errorForAttribute", true>;
241
218
  }
242
-
243
- declare class IconNamePipe implements PipeTransform {
244
- transform(value: string | undefined, fallback: string): string;
245
- static ɵfac: i0.ɵɵFactoryDeclaration<IconNamePipe, never>;
246
- static ɵpipe: i0.ɵɵPipeDeclaration<IconNamePipe, "iconName", true>;
219
+ export declare class IconNamePipe implements PipeTransform {
220
+ transform(value: string | undefined, fallback: string): string;
221
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconNamePipe, never>;
222
+ static ɵpipe: i0.ɵɵPipeDeclaration<IconNamePipe, "iconName", true>;
247
223
  }
248
-
249
224
  /**
250
225
  * Resolves an attribute to a list of flat row dicts for the detail-page table.
251
226
  * AsDetail array attributes carry their data as nested PersistentObjects in
@@ -254,12 +229,11 @@ declare class IconNamePipe implements PipeTransform {
254
229
  * this branch, the detail page rendered AsDetail arrays as empty tables even
255
230
  * when the edit page (which reads <c>attr.objects</c> directly) showed rows.
256
231
  */
257
- declare class ArrayValuePipe implements PipeTransform {
258
- transform(attrName: string, item: PersistentObject | null): Record<string, any>[];
259
- static ɵfac: i0.ɵɵFactoryDeclaration<ArrayValuePipe, never>;
260
- static ɵpipe: i0.ɵɵPipeDeclaration<ArrayValuePipe, "arrayValue", true>;
232
+ export declare class ArrayValuePipe implements PipeTransform {
233
+ transform(attrName: string, item: PersistentObject | null): Record<string, any>[];
234
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArrayValuePipe, never>;
235
+ static ɵpipe: i0.ɵɵPipeDeclaration<ArrayValuePipe, "arrayValue", true>;
261
236
  }
262
-
263
237
  /**
264
238
  * The display text of one query-grid cell.
265
239
  *
@@ -270,10 +244,10 @@ declare class ArrayValuePipe implements PipeTransform {
270
244
  * merely unnecessary here, they are unreachable. Sharing the code would mean carrying branches
271
245
  * that can never fire and inviting the next reader to feed one shape into the other.
272
246
  */
273
- declare class QueryCellValuePipe implements PipeTransform {
274
- transform(column: QueryColumn, item: QueryResultItem | null, lookupRefOptions: Record<string, LookupReference>): any;
275
- static ɵfac: i0.ɵɵFactoryDeclaration<QueryCellValuePipe, never>;
276
- static ɵpipe: i0.ɵɵPipeDeclaration<QueryCellValuePipe, "queryCellValue", true>;
247
+ export declare class QueryCellValuePipe implements PipeTransform {
248
+ transform(column: QueryColumn, item: QueryResultItem | null, lookupRefOptions: Record<string, LookupReference>): any;
249
+ static ɵfac: i0.ɵɵFactoryDeclaration<QueryCellValuePipe, never>;
250
+ static ɵpipe: i0.ɵɵPipeDeclaration<QueryCellValuePipe, "queryCellValue", true>;
277
251
  }
278
252
  /**
279
253
  * Resolves a multi-reference column (`dataType === 'Reference'`, `isArray === true`) to chips.
@@ -282,11 +256,8 @@ declare class QueryCellValuePipe implements PipeTransform {
282
256
  * falling back to the id itself when a label is missing — the same display rule as a single
283
257
  * reference, applied per id.
284
258
  */
285
- declare class QueryReferenceChipsPipe implements PipeTransform {
286
- transform(column: QueryColumn, item: QueryResultItem | null): ReferenceChip[];
287
- static ɵfac: i0.ɵɵFactoryDeclaration<QueryReferenceChipsPipe, never>;
288
- static ɵpipe: i0.ɵɵPipeDeclaration<QueryReferenceChipsPipe, "queryReferenceChips", true>;
289
- }
290
-
291
- export { ArrayValuePipe, AsDetailCellValuePipe, AsDetailColumnsPipe, AsDetailDisplayValuePipe, AsDetailTypePipe, AttributeValuePipe, CanCreateDetailRowPipe, CanDeleteDetailRowPipe, CanEditDetailRowPipe, ErrorForAttributePipe, IconNamePipe, InlineRefOptionsPipe, InputTypePipe, LookupDisplayTypePipe, LookupDisplayValuePipe, LookupOptionsPipe, ParsedDatePipe, QueryCellValuePipe, QueryReferenceChipsPipe, RawAttributeValuePipe, ReferenceAttrValuePipe, ReferenceChipsPipe, ReferenceDisplayValuePipe, ReferenceLinkRoutePipe, ResolveTranslationPipe, RouterLinkPipe, TranslateKeyPipe };
292
- export type { AsDetailCellValue, ReferenceChip };
259
+ export declare class QueryReferenceChipsPipe implements PipeTransform {
260
+ transform(column: QueryColumn, item: QueryResultItem | null): ReferenceChip[];
261
+ static ɵfac: i0.ɵɵFactoryDeclaration<QueryReferenceChipsPipe, never>;
262
+ static ɵpipe: i0.ɵɵPipeDeclaration<QueryReferenceChipsPipe, "queryReferenceChips", true>;
263
+ }
@@ -1,37 +1,46 @@
1
- import * as _mintplayer_ng_spark_models from '@mintplayer/ng-spark/models';
2
- import { PersistentObject, EntityType, RefreshOverlay, ValidationError } from '@mintplayer/ng-spark/models';
3
- import * as _angular_core from '@angular/core';
4
- import { Color } from '@mintplayer/ng-bootstrap';
5
-
6
- declare class SparkPoCreateComponent {
7
- private readonly route;
8
- private readonly router;
9
- private readonly sparkService;
10
- saved: _angular_core.OutputEmitterRef<PersistentObject>;
11
- cancelled: _angular_core.OutputEmitterRef<void>;
12
- colors: typeof Color;
13
- entityType: _angular_core.WritableSignal<EntityType | null>;
14
- type: _angular_core.WritableSignal<string>;
15
- formData: _angular_core.WritableSignal<Record<string, any>>;
16
- /** Bound two-way to the form. See {@link getEditableAttributes}. */
17
- refreshOverlay: _angular_core.WritableSignal<RefreshOverlay>;
18
- validationErrors: _angular_core.WritableSignal<ValidationError[]>;
19
- isSaving: _angular_core.WritableSignal<boolean>;
20
- private allEntityTypes;
21
- generalErrors: _angular_core.Signal<ValidationError[]>;
22
- constructor();
23
- private onParamsChange;
24
- initFormData(): void;
25
- /**
26
- * ⚠️ Overlaid before filtering — same reason as <c>spark-po-edit</c>, and worse here: this list is
27
- * the <em>only</em> source of the create payload, so an attribute a refresh hook revealed was not
28
- * merely sent stale, it was absent from the new object entirely.
29
- */
30
- getEditableAttributes(): _mintplayer_ng_spark_models.EntityAttributeDefinition[];
31
- onSave(): Promise<void>;
32
- onCancel(): void;
33
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkPoCreateComponent, never>;
34
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoCreateComponent, "spark-po-create", never, {}, { "saved": "saved"; "cancelled": "cancelled"; }, never, never, true, never>;
35
- }
36
-
37
- export { SparkPoCreateComponent };
1
+ import { Color } from "@mintplayer/ng-bootstrap";
2
+ import { EntityType, PersistentObject, RefreshOverlay, ValidationError } from "@mintplayer/ng-spark/models";
3
+ import * as i0 from "@angular/core";
4
+ export declare class SparkPoCreateComponent {
5
+ private readonly route;
6
+ private readonly router;
7
+ private readonly sparkService;
8
+ saved: import("@angular/core").OutputEmitterRef<PersistentObject>;
9
+ cancelled: import("@angular/core").OutputEmitterRef<void>;
10
+ colors: typeof Color;
11
+ entityType: import("@angular/core").WritableSignal<EntityType | null>;
12
+ type: import("@angular/core").WritableSignal<string>;
13
+ formData: import("@angular/core").WritableSignal<Record<string, any>>;
14
+ /** Bound two-way to the form. See {@link getEditableAttributes}. */
15
+ refreshOverlay: import("@angular/core").WritableSignal<RefreshOverlay>;
16
+ validationErrors: import("@angular/core").WritableSignal<ValidationError[]>;
17
+ isSaving: import("@angular/core").WritableSignal<boolean>;
18
+ private allEntityTypes;
19
+ generalErrors: import("@angular/core").Signal<ValidationError[]>;
20
+ constructor();
21
+ private onParamsChange;
22
+ /**
23
+ * The blank object comes from the server (#460, D19): `/po/new` runs the type's `OnNewAsync`, so a
24
+ * default a hook sets — and, for a New started from a sub-query, the reference to the parent the
25
+ * base hook fills — reaches the form. The sub-query card passes the parent as query parameters
26
+ * (`parentId`, `parentType`, `queryId`), so it survives the navigation and a reload of this page.
27
+ *
28
+ * A refusal (the parent is gone, or not the caller's to see) is shown and the client-side blank
29
+ * form stays usable, exactly as it was before the round-trip existed.
30
+ */
31
+ private applyServerDefaults;
32
+ initFormData(entityType?: EntityType | null): void;
33
+ /**
34
+ * ⚠️ Overlaid before filtering — same reason as <c>spark-po-edit</c>, and worse here: this list is
35
+ * the <em>only</em> source of the create payload, so an attribute a refresh hook revealed was not
36
+ * merely sent stale, it was absent from the new object entirely.
37
+ */
38
+ getEditableAttributes(entityType?: EntityType | null): import("@mintplayer/ng-spark/models").EntityAttributeDefinition[];
39
+ onSave(): Promise<void>;
40
+ onCancel(): void;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<SparkPoCreateComponent, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<SparkPoCreateComponent, "spark-po-create", never, {}, {
43
+ "saved": "saved";
44
+ "cancelled": "cancelled";
45
+ }, never, never, true, never>;
46
+ }