@mintplayer/ng-spark 0.0.4 → 0.0.5
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/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken,
|
|
2
|
+
import { InjectionToken, Type, TemplateRef, PipeTransform, InputSignal, Provider } from '@angular/core';
|
|
3
3
|
import { Color } from '@mintplayer/ng-bootstrap';
|
|
4
4
|
import { DatatableSettings } from '@mintplayer/ng-bootstrap/datatable';
|
|
5
5
|
import { PaginationResponse } from '@mintplayer/pagination';
|
|
@@ -54,6 +54,10 @@ interface PersistentObjectAttribute {
|
|
|
54
54
|
isValueChanged?: boolean;
|
|
55
55
|
rules: ValidationRule[];
|
|
56
56
|
group?: string;
|
|
57
|
+
/** Renderer component name for custom display in detail/list views */
|
|
58
|
+
renderer?: string;
|
|
59
|
+
/** Options passed to the renderer component */
|
|
60
|
+
rendererOptions?: Record<string, any>;
|
|
57
61
|
}
|
|
58
62
|
|
|
59
63
|
interface PersistentObject {
|
|
@@ -95,6 +99,10 @@ interface EntityAttributeDefinition {
|
|
|
95
99
|
group?: string;
|
|
96
100
|
/** Number of grid columns this attribute spans within a tab's column layout */
|
|
97
101
|
columnSpan?: number;
|
|
102
|
+
/** Renderer component name for custom display in detail/list views */
|
|
103
|
+
renderer?: string;
|
|
104
|
+
/** Options passed to the renderer component */
|
|
105
|
+
rendererOptions?: Record<string, any>;
|
|
98
106
|
}
|
|
99
107
|
interface AttributeTab {
|
|
100
108
|
id: string;
|
|
@@ -297,31 +305,15 @@ declare class RetryActionService {
|
|
|
297
305
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<RetryActionService>;
|
|
298
306
|
}
|
|
299
307
|
|
|
300
|
-
interface SparkFieldTemplateContext {
|
|
301
|
-
$implicit: EntityAttributeDefinition;
|
|
302
|
-
formData: Record<string, any>;
|
|
303
|
-
value: any;
|
|
304
|
-
hasError: boolean;
|
|
305
|
-
errorMessage: TranslatedString | null;
|
|
306
|
-
}
|
|
307
|
-
declare class SparkFieldTemplateDirective {
|
|
308
|
-
template: TemplateRef<SparkFieldTemplateContext>;
|
|
309
|
-
name: _angular_core.InputSignal<string>;
|
|
310
|
-
constructor(template: TemplateRef<SparkFieldTemplateContext>);
|
|
311
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkFieldTemplateDirective, never>;
|
|
312
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SparkFieldTemplateDirective, "[sparkFieldTemplate]", never, { "name": { "alias": "sparkFieldTemplate"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
308
|
declare class SparkPoFormComponent {
|
|
316
309
|
private readonly sparkService;
|
|
317
310
|
private readonly translations;
|
|
318
|
-
|
|
311
|
+
private readonly rendererRegistry;
|
|
319
312
|
entityType: _angular_core.InputSignal<EntityType>;
|
|
320
313
|
formData: _angular_core.ModelSignal<Record<string, any>>;
|
|
321
314
|
validationErrors: _angular_core.InputSignal<ValidationError[]>;
|
|
322
315
|
showButtons: _angular_core.InputSignal<boolean>;
|
|
323
316
|
isSaving: _angular_core.InputSignal<boolean>;
|
|
324
|
-
externalFieldTemplates: _angular_core.InputSignal<SparkFieldTemplateDirective[]>;
|
|
325
317
|
save: _angular_core.OutputEmitterRef<void>;
|
|
326
318
|
cancel: _angular_core.OutputEmitterRef<void>;
|
|
327
319
|
colors: typeof Color;
|
|
@@ -354,8 +346,6 @@ declare class SparkPoFormComponent {
|
|
|
354
346
|
attrsForGroup(group: AttributeGroup): EntityAttributeDefinition[];
|
|
355
347
|
referenceVisibleAttributes: _angular_core.Signal<EntityAttributeDefinition[]>;
|
|
356
348
|
filteredLookupItems: _angular_core.Signal<LookupReferenceValue[]>;
|
|
357
|
-
getFieldTemplate(attr: EntityAttributeDefinition): TemplateRef<SparkFieldTemplateContext> | null;
|
|
358
|
-
getFieldTemplateContext(attr: EntityAttributeDefinition): SparkFieldTemplateContext;
|
|
359
349
|
constructor();
|
|
360
350
|
private toRecord;
|
|
361
351
|
loadReferenceOptions(): Promise<void>;
|
|
@@ -366,6 +356,8 @@ declare class SparkPoFormComponent {
|
|
|
366
356
|
openLookupSelector(attr: EntityAttributeDefinition): void;
|
|
367
357
|
selectLookupItem(item: LookupReferenceValue): void;
|
|
368
358
|
closeLookupModal(): void;
|
|
359
|
+
getEditRendererComponent(attr: EntityAttributeDefinition): Type<any> | null;
|
|
360
|
+
getEditRendererInputs(attr: EntityAttributeDefinition): Record<string, any>;
|
|
369
361
|
hasError(attrName: string): boolean;
|
|
370
362
|
onFieldChange(): void;
|
|
371
363
|
onSave(): void;
|
|
@@ -384,14 +376,13 @@ declare class SparkPoFormComponent {
|
|
|
384
376
|
selectReferenceItem(item: PersistentObject): void;
|
|
385
377
|
closeReferenceModal(): void;
|
|
386
378
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkPoFormComponent, never>;
|
|
387
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoFormComponent, "spark-po-form", never, { "entityType": { "alias": "entityType"; "required": false; "isSignal": true; }; "formData": { "alias": "formData"; "required": false; "isSignal": true; }; "validationErrors": { "alias": "validationErrors"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "isSaving": { "alias": "isSaving"; "required": false; "isSignal": true; };
|
|
379
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoFormComponent, "spark-po-form", never, { "entityType": { "alias": "entityType"; "required": false; "isSignal": true; }; "formData": { "alias": "formData"; "required": false; "isSignal": true; }; "validationErrors": { "alias": "validationErrors"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "isSaving": { "alias": "isSaving"; "required": false; "isSignal": true; }; }, { "formData": "formDataChange"; "save": "save"; "cancel": "cancel"; }, never, never, true, never>;
|
|
388
380
|
}
|
|
389
381
|
|
|
390
382
|
declare class SparkPoCreateComponent {
|
|
391
383
|
private readonly route;
|
|
392
384
|
private readonly router;
|
|
393
385
|
private readonly sparkService;
|
|
394
|
-
fieldTemplates: QueryList<SparkFieldTemplateDirective>;
|
|
395
386
|
saved: _angular_core.OutputEmitterRef<PersistentObject>;
|
|
396
387
|
cancelled: _angular_core.OutputEmitterRef<void>;
|
|
397
388
|
colors: typeof Color;
|
|
@@ -408,14 +399,13 @@ declare class SparkPoCreateComponent {
|
|
|
408
399
|
onSave(): Promise<void>;
|
|
409
400
|
onCancel(): void;
|
|
410
401
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkPoCreateComponent, never>;
|
|
411
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoCreateComponent, "spark-po-create", never, {}, { "saved": "saved"; "cancelled": "cancelled"; },
|
|
402
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoCreateComponent, "spark-po-create", never, {}, { "saved": "saved"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
412
403
|
}
|
|
413
404
|
|
|
414
405
|
declare class SparkPoEditComponent {
|
|
415
406
|
private readonly route;
|
|
416
407
|
private readonly router;
|
|
417
408
|
private readonly sparkService;
|
|
418
|
-
fieldTemplates: QueryList<SparkFieldTemplateDirective>;
|
|
419
409
|
saved: _angular_core.OutputEmitterRef<PersistentObject>;
|
|
420
410
|
cancelled: _angular_core.OutputEmitterRef<void>;
|
|
421
411
|
colors: typeof Color;
|
|
@@ -434,20 +424,7 @@ declare class SparkPoEditComponent {
|
|
|
434
424
|
onSave(): Promise<void>;
|
|
435
425
|
onCancel(): void;
|
|
436
426
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkPoEditComponent, never>;
|
|
437
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoEditComponent, "spark-po-edit", never, {}, { "saved": "saved"; "cancelled": "cancelled"; },
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
interface SparkDetailFieldTemplateContext {
|
|
441
|
-
$implicit: EntityAttributeDefinition;
|
|
442
|
-
item: PersistentObject;
|
|
443
|
-
value: any;
|
|
444
|
-
}
|
|
445
|
-
declare class SparkDetailFieldTemplateDirective {
|
|
446
|
-
template: TemplateRef<SparkDetailFieldTemplateContext>;
|
|
447
|
-
name: _angular_core.InputSignal<string>;
|
|
448
|
-
constructor(template: TemplateRef<SparkDetailFieldTemplateContext>);
|
|
449
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkDetailFieldTemplateDirective, never>;
|
|
450
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SparkDetailFieldTemplateDirective, "[sparkDetailFieldTemplate]", never, { "name": { "alias": "sparkDetailFieldTemplate"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
427
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoEditComponent, "spark-po-edit", never, {}, { "saved": "saved"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
451
428
|
}
|
|
452
429
|
|
|
453
430
|
declare class SparkPoDetailComponent {
|
|
@@ -455,7 +432,7 @@ declare class SparkPoDetailComponent {
|
|
|
455
432
|
private readonly router;
|
|
456
433
|
private readonly sparkService;
|
|
457
434
|
private readonly lang;
|
|
458
|
-
|
|
435
|
+
private readonly rendererRegistry;
|
|
459
436
|
showCustomActions: _angular_core.InputSignal<boolean>;
|
|
460
437
|
extraActionsTemplate: _angular_core.InputSignal<TemplateRef<void>>;
|
|
461
438
|
extraContentTemplate: _angular_core.InputSignal<TemplateRef<{
|
|
@@ -489,8 +466,8 @@ declare class SparkPoDetailComponent {
|
|
|
489
466
|
resolvedTabs: _angular_core.Signal<AttributeTab[]>;
|
|
490
467
|
groupsForTab(tab: AttributeTab): AttributeGroup[];
|
|
491
468
|
attrsForGroup(group: AttributeGroup): EntityAttributeDefinition[];
|
|
492
|
-
|
|
493
|
-
|
|
469
|
+
getDetailRendererComponent(attr: EntityAttributeDefinition): Type<any> | null;
|
|
470
|
+
getDetailRendererInputs(attr: EntityAttributeDefinition, item: PersistentObject): Record<string, any>;
|
|
494
471
|
private loadLookupReferenceOptions;
|
|
495
472
|
private loadAsDetailTypes;
|
|
496
473
|
onCustomAction(action: CustomActionDefinition): Promise<void>;
|
|
@@ -498,27 +475,14 @@ declare class SparkPoDetailComponent {
|
|
|
498
475
|
onDelete(): Promise<void>;
|
|
499
476
|
onBack(): void;
|
|
500
477
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkPoDetailComponent, never>;
|
|
501
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoDetailComponent, "spark-po-detail", never, { "showCustomActions": { "alias": "showCustomActions"; "required": false; "isSignal": true; }; "extraActionsTemplate": { "alias": "extraActionsTemplate"; "required": false; "isSignal": true; }; "extraContentTemplate": { "alias": "extraContentTemplate"; "required": false; "isSignal": true; }; }, { "edited": "edited"; "deleted": "deleted"; "customActionExecuted": "customActionExecuted"; },
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
interface SparkColumnTemplateContext {
|
|
505
|
-
$implicit: PersistentObject;
|
|
506
|
-
attr: EntityAttributeDefinition;
|
|
507
|
-
value: any;
|
|
508
|
-
}
|
|
509
|
-
declare class SparkColumnTemplateDirective {
|
|
510
|
-
template: TemplateRef<SparkColumnTemplateContext>;
|
|
511
|
-
name: _angular_core.InputSignal<string>;
|
|
512
|
-
constructor(template: TemplateRef<SparkColumnTemplateContext>);
|
|
513
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkColumnTemplateDirective, never>;
|
|
514
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SparkColumnTemplateDirective, "[sparkColumnTemplate]", never, { "name": { "alias": "sparkColumnTemplate"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
478
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkPoDetailComponent, "spark-po-detail", never, { "showCustomActions": { "alias": "showCustomActions"; "required": false; "isSignal": true; }; "extraActionsTemplate": { "alias": "extraActionsTemplate"; "required": false; "isSignal": true; }; "extraContentTemplate": { "alias": "extraContentTemplate"; "required": false; "isSignal": true; }; }, { "edited": "edited"; "deleted": "deleted"; "customActionExecuted": "customActionExecuted"; }, never, never, true, never>;
|
|
515
479
|
}
|
|
516
480
|
|
|
517
481
|
declare class SparkQueryListComponent {
|
|
518
482
|
private readonly route;
|
|
519
483
|
private readonly router;
|
|
520
484
|
private readonly sparkService;
|
|
521
|
-
|
|
485
|
+
private readonly rendererRegistry;
|
|
522
486
|
extraActionsTemplate: _angular_core.InputSignal<TemplateRef<void>>;
|
|
523
487
|
rowClicked: _angular_core.OutputEmitterRef<PersistentObject>;
|
|
524
488
|
createClicked: _angular_core.OutputEmitterRef<void>;
|
|
@@ -545,13 +509,13 @@ declare class SparkQueryListComponent {
|
|
|
545
509
|
applyFilter(): void;
|
|
546
510
|
clearSearch(): void;
|
|
547
511
|
visibleAttributes: _angular_core.Signal<EntityAttributeDefinition[]>;
|
|
548
|
-
|
|
549
|
-
|
|
512
|
+
getColumnRendererComponent(attr: EntityAttributeDefinition): Type<any> | null;
|
|
513
|
+
getColumnRendererInputs(item: PersistentObject, attr: EntityAttributeDefinition): Record<string, any>;
|
|
550
514
|
private loadLookupReferenceOptions;
|
|
551
515
|
onRowClick(item: PersistentObject): void;
|
|
552
516
|
onCreate(): void;
|
|
553
517
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SparkQueryListComponent, never>;
|
|
554
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkQueryListComponent, "spark-query-list", never, { "extraActionsTemplate": { "alias": "extraActionsTemplate"; "required": false; "isSignal": true; }; }, { "rowClicked": "rowClicked"; "createClicked": "createClicked"; },
|
|
518
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SparkQueryListComponent, "spark-query-list", never, { "extraActionsTemplate": { "alias": "extraActionsTemplate"; "required": false; "isSignal": true; }; }, { "rowClicked": "rowClicked"; "createClicked": "createClicked"; }, never, never, true, never>;
|
|
555
519
|
}
|
|
556
520
|
|
|
557
521
|
declare class SparkRetryActionModalComponent {
|
|
@@ -721,6 +685,69 @@ declare class ArrayValuePipe implements PipeTransform {
|
|
|
721
685
|
static ɵpipe: _angular_core.ɵɵPipeDeclaration<ArrayValuePipe, "arrayValue", true>;
|
|
722
686
|
}
|
|
723
687
|
|
|
688
|
+
/**
|
|
689
|
+
* Contract for detail-page renderers (spark-po-detail).
|
|
690
|
+
* Displays a single attribute value in the PO detail view.
|
|
691
|
+
*/
|
|
692
|
+
interface SparkAttributeDetailRenderer {
|
|
693
|
+
/** The current attribute value */
|
|
694
|
+
value: InputSignal<any>;
|
|
695
|
+
/** The attribute definition metadata */
|
|
696
|
+
attribute: InputSignal<EntityAttributeDefinition | undefined>;
|
|
697
|
+
/** Renderer-specific options from rendererOptions */
|
|
698
|
+
options: InputSignal<Record<string, any> | undefined>;
|
|
699
|
+
/** The full form data (for cross-field dependencies) */
|
|
700
|
+
formData: InputSignal<Record<string, any>>;
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Contract for query-list column renderers (spark-query-list).
|
|
704
|
+
* Displays a compact cell value in the list/grid view.
|
|
705
|
+
*/
|
|
706
|
+
interface SparkAttributeColumnRenderer {
|
|
707
|
+
/** The current attribute value */
|
|
708
|
+
value: InputSignal<any>;
|
|
709
|
+
/** The attribute definition metadata */
|
|
710
|
+
attribute: InputSignal<EntityAttributeDefinition | undefined>;
|
|
711
|
+
/** Renderer-specific options from rendererOptions */
|
|
712
|
+
options: InputSignal<Record<string, any> | undefined>;
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Contract for edit-form renderers (spark-po-form on create/edit pages).
|
|
716
|
+
* Replaces the default <input> for this attribute.
|
|
717
|
+
*/
|
|
718
|
+
interface SparkAttributeEditRenderer {
|
|
719
|
+
/** The current attribute value */
|
|
720
|
+
value: InputSignal<any>;
|
|
721
|
+
/** The attribute definition metadata */
|
|
722
|
+
attribute: InputSignal<EntityAttributeDefinition | undefined>;
|
|
723
|
+
/** Renderer-specific options from rendererOptions */
|
|
724
|
+
options: InputSignal<Record<string, any> | undefined>;
|
|
725
|
+
/** Callback to notify parent form of value changes (since NgComponentOutlet doesn't support outputs) */
|
|
726
|
+
valueChange: InputSignal<(value: any) => void>;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
interface SparkAttributeRendererRegistration {
|
|
730
|
+
/** The renderer name (must match attr.renderer in model JSON) */
|
|
731
|
+
name: string;
|
|
732
|
+
/** Component for the PO detail page. Must implement SparkAttributeDetailRenderer. */
|
|
733
|
+
detailComponent: Type<any>;
|
|
734
|
+
/** Component for query-list column cells. Must implement SparkAttributeColumnRenderer. */
|
|
735
|
+
columnComponent: Type<any>;
|
|
736
|
+
/** Optional component for create/edit forms. Must implement SparkAttributeEditRenderer. When omitted, the default input is used. */
|
|
737
|
+
editComponent?: Type<any>;
|
|
738
|
+
}
|
|
739
|
+
declare const SPARK_ATTRIBUTE_RENDERERS: InjectionToken<SparkAttributeRendererRegistration[]>;
|
|
740
|
+
/**
|
|
741
|
+
* Register custom attribute renderers globally.
|
|
742
|
+
*
|
|
743
|
+
* @example
|
|
744
|
+
* provideSparkAttributeRenderers([
|
|
745
|
+
* { name: 'video-player', detailComponent: VideoDetailComponent, columnComponent: VideoColumnComponent },
|
|
746
|
+
* { name: 'color-swatch', detailComponent: ColorDetailComponent, columnComponent: ColorColumnComponent },
|
|
747
|
+
* ])
|
|
748
|
+
*/
|
|
749
|
+
declare function provideSparkAttributeRenderers(renderers: SparkAttributeRendererRegistration[]): Provider;
|
|
750
|
+
|
|
724
751
|
interface SparkRouteConfig {
|
|
725
752
|
queryList?: Route['loadComponent'];
|
|
726
753
|
poCreate?: Route['loadComponent'];
|
|
@@ -731,5 +758,5 @@ declare function sparkRoutes(config?: SparkRouteConfig): Routes;
|
|
|
731
758
|
|
|
732
759
|
declare function provideSpark(config?: Partial<SparkConfig>): Provider[];
|
|
733
760
|
|
|
734
|
-
export { ArrayValuePipe, AsDetailCellValuePipe, AsDetailColumnsPipe, AsDetailDisplayValuePipe, AsDetailTypePipe, AttributeValuePipe, CanCreateDetailRowPipe, CanDeleteDetailRowPipe, ELookupDisplayType, ErrorForAttributePipe, IconNamePipe, InlineRefOptionsPipe, InputTypePipe, LookupDisplayTypePipe, LookupDisplayValuePipe, LookupOptionsPipe, RawAttributeValuePipe, ReferenceAttrValuePipe, ReferenceDisplayValuePipe, ReferenceLinkRoutePipe, ResolveTranslationPipe, RetryActionService, RouterLinkPipe, SPARK_CONFIG, ShowedOn,
|
|
735
|
-
export type { AttributeGroup, AttributeTab, CustomActionDefinition, EntityAttributeDefinition, EntityPermissions, EntityType, LookupReference, LookupReferenceListItem, LookupReferenceValue, PersistentObject, PersistentObjectAttribute, ProgramUnit, ProgramUnitGroup, ProgramUnitsConfiguration, RetryActionPayload, RetryActionResult,
|
|
761
|
+
export { ArrayValuePipe, AsDetailCellValuePipe, AsDetailColumnsPipe, AsDetailDisplayValuePipe, AsDetailTypePipe, AttributeValuePipe, CanCreateDetailRowPipe, CanDeleteDetailRowPipe, ELookupDisplayType, ErrorForAttributePipe, IconNamePipe, InlineRefOptionsPipe, InputTypePipe, LookupDisplayTypePipe, LookupDisplayValuePipe, LookupOptionsPipe, RawAttributeValuePipe, ReferenceAttrValuePipe, ReferenceDisplayValuePipe, ReferenceLinkRoutePipe, ResolveTranslationPipe, RetryActionService, RouterLinkPipe, SPARK_ATTRIBUTE_RENDERERS, SPARK_CONFIG, ShowedOn, SparkIconComponent, SparkIconRegistry, SparkLanguageService, SparkPoCreateComponent, SparkPoDetailComponent, SparkPoEditComponent, SparkPoFormComponent, SparkQueryListComponent, SparkRetryActionModalComponent, SparkService, TranslateKeyPipe, defaultSparkConfig, hasShowedOnFlag, provideSpark, provideSparkAttributeRenderers, resolveTranslation, sparkRoutes };
|
|
762
|
+
export type { AttributeGroup, AttributeTab, CustomActionDefinition, EntityAttributeDefinition, EntityPermissions, EntityType, LookupReference, LookupReferenceListItem, LookupReferenceValue, PersistentObject, PersistentObjectAttribute, ProgramUnit, ProgramUnitGroup, ProgramUnitsConfiguration, RetryActionPayload, RetryActionResult, SparkAttributeColumnRenderer, SparkAttributeDetailRenderer, SparkAttributeEditRenderer, SparkAttributeRendererRegistration, SparkConfig, SparkQuery, SparkRouteConfig, TranslatedString, ValidationError, ValidationRule };
|