@dflat-core/web 1.0.42 → 1.0.43

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 (40) hide show
  1. package/core-ux/index.d.ts +1 -0
  2. package/core-ux/lib/services/entity-selectors.d.ts +37 -0
  3. package/core-ux/lib/services/selectorMapperBase.service.d.ts +7 -1
  4. package/core-ux/lib/v2/models/contexts/section-context.d.ts +12 -0
  5. package/fesm2022/dflat-core-web-core-ux.mjs +95 -10
  6. package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
  7. package/fesm2022/dflat-core-web-system-model.mjs.map +1 -1
  8. package/fesm2022/dflat-core-web-system-root.mjs +10 -4
  9. package/fesm2022/dflat-core-web-system-root.mjs.map +1 -1
  10. package/fesm2022/dflat-core-web-system-ux.mjs +2607 -2175
  11. package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
  12. package/package.json +11 -11
  13. package/system-model/lib/model/interface.generated.d.ts +18 -0
  14. package/system-ux/lib/data-components/generated/company.component.generated.d.ts +8 -1
  15. package/system-ux/lib/data-components/generated/country.component.generated.d.ts +8 -1
  16. package/system-ux/lib/data-components/generated/currency.component.generated.d.ts +8 -1
  17. package/system-ux/lib/data-components/generated/customfield.component.generated.d.ts +8 -1
  18. package/system-ux/lib/data-components/generated/customfieldgroup.component.generated.d.ts +8 -1
  19. package/system-ux/lib/data-components/generated/keyword.component.generated.d.ts +8 -1
  20. package/system-ux/lib/data-components/generated/metaentity.component.generated.d.ts +8 -1
  21. package/system-ux/lib/data-components/generated/metaentityfield.component.generated.d.ts +8 -1
  22. package/system-ux/lib/data-components/generated/metaentityform.component.generated.d.ts +8 -1
  23. package/system-ux/lib/data-components/generated/metaentityformsection.component.generated.d.ts +8 -1
  24. package/system-ux/lib/data-components/generated/metaentityrelation.component.generated.d.ts +8 -1
  25. package/system-ux/lib/data-components/generated/metaentityviewfield.component.generated.d.ts +8 -1
  26. package/system-ux/lib/data-components/generated/news.component.generated.d.ts +8 -1
  27. package/system-ux/lib/data-components/generated/parameter.component.generated.d.ts +8 -1
  28. package/system-ux/lib/data-components/generated/parametersection.component.generated.d.ts +8 -1
  29. package/system-ux/lib/data-components/generated/permission.component.generated.d.ts +8 -1
  30. package/system-ux/lib/data-components/generated/presentationprofile.component.generated.d.ts +8 -1
  31. package/system-ux/lib/data-components/generated/ratingsummary.component.generated.d.ts +8 -1
  32. package/system-ux/lib/data-components/generated/request.component.generated.d.ts +8 -1
  33. package/system-ux/lib/data-components/generated/requestentity.component.generated.d.ts +8 -1
  34. package/system-ux/lib/data-components/generated/resourcekey.component.generated.d.ts +8 -1
  35. package/system-ux/lib/data-components/generated/resourcelanguage.component.generated.d.ts +8 -1
  36. package/system-ux/lib/data-components/generated/role.component.generated.d.ts +8 -1
  37. package/system-ux/lib/data-components/generated/supplier.component.generated.d.ts +8 -1
  38. package/system-ux/lib/data-components/generated/system-components.generated.d.ts +7 -1
  39. package/system-ux/lib/data-components/generated/useraccount.component.generated.d.ts +8 -1
  40. package/system-ux/lib/system-ux.module.d.ts +2 -0
@@ -25,6 +25,7 @@ export * from './lib/services/modal.service';
25
25
  export * from './lib/services/application.service';
26
26
  export * from './lib/services/presentation-profile.token';
27
27
  export * from './lib/services/selectorMapperBase.service';
28
+ export * from './lib/services/entity-selectors';
28
29
  export * from './lib/services/action.service';
29
30
  export * from './lib/components/actions/actions.component';
30
31
  export * from './lib/components/actions/actions-content.component';
@@ -0,0 +1,37 @@
1
+ import { Injector, Type } from '@angular/core';
2
+ import { EntityDataService } from '@dflat-core/web/core-data';
3
+ /**
4
+ * Sélecteur d'une entité (champ de formulaire FilterType Custom, dont ModalEntityKey désigne
5
+ * l'entité) : composant de recherche ouvert en fenêtre modale et service de données dont la
6
+ * recherche alimente la liste du sélecteur.
7
+ */
8
+ export interface EntitySelector {
9
+ /** Clé de l'entité : route de son contrôleur, en minuscule (ex. country). */
10
+ key: string;
11
+ /** Composant de recherche de l'entité. */
12
+ component: Type<any>;
13
+ /** Libellé de l'entité (titre de la fenêtre de sélection). */
14
+ title?: string;
15
+ /** Service de données de l'entité (recherche). */
16
+ dataService?: Type<EntityDataService<any, any>>;
17
+ }
18
+ /**
19
+ * Sélecteurs d'entité des modules de l'application. Chaque librairie [module]-ux enregistre ceux
20
+ * de ses entités, générés par codegenerator (dflat -g ts) dans [module]-components.generated.ts,
21
+ * dans le constructeur de son module Angular :
22
+ * `constructor(injector: Injector) { EntitySelectors.register(<Module>GeneratedSelectors, injector); }`.
23
+ * Le registre est global et garde l'injecteur du module : il sert aussi aux modules chargés à la
24
+ * demande (loadChildren), dont les services de données ne sont pas visibles de l'injecteur
25
+ * racine. SelectorMapperServiceBase s'en sert pour toute clé que l'application ne traite pas
26
+ * elle-même.
27
+ */
28
+ export declare class EntitySelectors {
29
+ private static readonly selectors;
30
+ /** Enregistre des sélecteurs et l'injecteur de leur module (le dernier enregistré l'emporte pour une même clé). */
31
+ static register(selectors: EntitySelector[], injector?: Injector): void;
32
+ /** Sélecteur de l'entité de clé `key` (insensible à la casse) et injecteur de son module, sinon undefined. */
33
+ static find(key: string): {
34
+ selector: EntitySelector;
35
+ injector?: Injector;
36
+ } | undefined;
37
+ }
@@ -16,9 +16,15 @@ export interface ModalConfig {
16
16
  }
17
17
  export declare abstract class SelectorMapperServiceBase {
18
18
  protected modalService: ModalService;
19
+ private readonly injector;
19
20
  constructor(modalService: ModalService);
20
21
  getInputSelectorContext(key: string, title: string, filter?: FilterViewModel, params?: any): IInputSelectorContext;
21
- abstract getComponentParams(key: string, params?: any): {
22
+ /**
23
+ * Composants et recherche du sélecteur de l'entité de clé `key` : par défaut, le sélecteur
24
+ * généré de l'entité (EntitySelectors, enregistrés par les librairies [module]-ux). Une
25
+ * application dérivée traite ses propres clés, puis appelle super.getComponentParams.
26
+ */
27
+ getComponentParams(key: string, params?: any): {
22
28
  selectionCompType: Type<any>;
23
29
  selectionModalTitle?: string;
24
30
  creationComType: Type<any>;
@@ -48,6 +48,18 @@ export declare class SectionContext<P extends EntityViewModel> {
48
48
  registerDynamicContainers(containers: ViewContainerRef[]): void;
49
49
  private defaultLayoutOverride;
50
50
  registerSection<F extends FilterViewModel, T extends EntityViewModel>(name: string, template: Type<ISectionComponent<T>>, config?: ISectionConfig<T, F, P>): ISpecificSectionContext<T, F, P>;
51
+ /**
52
+ * Onglet d'une entité liée (relation 1..*), décrit par une section du formulaire par défaut et
53
+ * enregistré par le composant généré (Base[X]Component.registerFormSections) : liste des
54
+ * enregistrements de l'entité dont le critère `filterProperty` vaut l'Id de l'enregistrement
55
+ * sélectionné. Ignoré si le composant spécifique a déjà enregistré un onglet du même titre ou
56
+ * de la même entité (clé d'entité du composant, ex. variante dérivée du composant généré).
57
+ */
58
+ registerRelatedSection<F extends FilterViewModel, T extends EntityViewModel>(name: string, template: Type<ISectionComponent<T>>, filterProperty: keyof F): void;
59
+ /** Onglets d'entités liées enregistrés par registerRelatedSection (une entité peut en avoir plusieurs, un par clé). */
60
+ private relatedSections;
61
+ /** Clé d'entité d'un composant (getEntityKey sans instance, valeur constante), sinon null. */
62
+ private static getEntityKey;
51
63
  getActiveTab(): number;
52
64
  renderSection(section: ISpecificSectionContext<any, any, P>, container: ViewContainerRef): void;
53
65
  private attachComponentOverrides;
@@ -2,7 +2,7 @@ import { ApiErrorTypes, FilterType, FilterOperator, CustomFieldTypes, ActionDisp
2
2
  import * as i2 from '@angular/common';
3
3
  import { CommonModule, Location } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Directive, ContentChild, Component, InjectionToken, ViewChild, Inject, Injectable, HostListener, EventEmitter, forwardRef, Input, Output, ChangeDetectionStrategy, Pipe, ViewChildren, ContentChildren, ViewContainerRef, HostBinding, Host, ElementRef, TemplateRef, signal, computed, inject, LOCALE_ID, Injector, NgModule } from '@angular/core';
5
+ import { Directive, ContentChild, Component, InjectionToken, ViewChild, Inject, Injectable, HostListener, inject, Injector, EventEmitter, forwardRef, Input, Output, ChangeDetectionStrategy, Pipe, ViewChildren, ContentChildren, ViewContainerRef, HostBinding, Host, ElementRef, TemplateRef, signal, computed, LOCALE_ID, NgModule } from '@angular/core';
6
6
  import * as i3 from '@angular/forms';
7
7
  import { NG_VALUE_ACCESSOR, UntypedFormGroup, UntypedFormControl, Validators, FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
8
8
  import * as i2$4 from '@angular/router';
@@ -2239,6 +2239,8 @@ class SectionContext {
2239
2239
  facade.layout.setShowActionTitle(false);
2240
2240
  facade.layout.setShowFilterButton(false);
2241
2241
  };
2242
+ /** Onglets d'entités liées enregistrés par registerRelatedSection (une entité peut en avoir plusieurs, un par clé). */
2243
+ this.relatedSections = new Set();
2242
2244
  this.renderedSections = new Set();
2243
2245
  this.lastSelected = [];
2244
2246
  //#region Extended Properties
@@ -2274,6 +2276,30 @@ class SectionContext {
2274
2276
  this.sectionsSubject.next(this.sections.slice());
2275
2277
  return section;
2276
2278
  }
2279
+ /**
2280
+ * Onglet d'une entité liée (relation 1..*), décrit par une section du formulaire par défaut et
2281
+ * enregistré par le composant généré (Base[X]Component.registerFormSections) : liste des
2282
+ * enregistrements de l'entité dont le critère `filterProperty` vaut l'Id de l'enregistrement
2283
+ * sélectionné. Ignoré si le composant spécifique a déjà enregistré un onglet du même titre ou
2284
+ * de la même entité (clé d'entité du composant, ex. variante dérivée du composant généré).
2285
+ */
2286
+ registerRelatedSection(name, template, filterProperty) {
2287
+ const key = SectionContext.getEntityKey(template);
2288
+ if (this.sections.some(s => s.Name === name
2289
+ || (!this.relatedSections.has(s.Name) && !Utilities.IsNil(key) && SectionContext.getEntityKey(s.Template) === key)))
2290
+ return;
2291
+ this.relatedSections.add(name);
2292
+ this.registerSection(name, template, { filterOverride: filterFromId(filterProperty) });
2293
+ }
2294
+ /** Clé d'entité d'un composant (getEntityKey sans instance, valeur constante), sinon null. */
2295
+ static getEntityKey(template) {
2296
+ try {
2297
+ return template?.prototype?.getEntityKey?.call(undefined) ?? null;
2298
+ }
2299
+ catch {
2300
+ return null;
2301
+ }
2302
+ }
2277
2303
  getActiveTab() {
2278
2304
  return this.activeTabIndex;
2279
2305
  }
@@ -3586,9 +3612,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
3586
3612
  type: Injectable
3587
3613
  }], ctorParameters: () => [] });
3588
3614
 
3615
+ /**
3616
+ * Sélecteurs d'entité des modules de l'application. Chaque librairie [module]-ux enregistre ceux
3617
+ * de ses entités, générés par codegenerator (dflat -g ts) dans [module]-components.generated.ts,
3618
+ * dans le constructeur de son module Angular :
3619
+ * `constructor(injector: Injector) { EntitySelectors.register(<Module>GeneratedSelectors, injector); }`.
3620
+ * Le registre est global et garde l'injecteur du module : il sert aussi aux modules chargés à la
3621
+ * demande (loadChildren), dont les services de données ne sont pas visibles de l'injecteur
3622
+ * racine. SelectorMapperServiceBase s'en sert pour toute clé que l'application ne traite pas
3623
+ * elle-même.
3624
+ */
3625
+ class EntitySelectors {
3626
+ static { this.selectors = new Map(); }
3627
+ /** Enregistre des sélecteurs et l'injecteur de leur module (le dernier enregistré l'emporte pour une même clé). */
3628
+ static register(selectors, injector) {
3629
+ (selectors ?? []).forEach(selector => EntitySelectors.selectors.set(selector.key.toLowerCase(), { selector, injector }));
3630
+ }
3631
+ /** Sélecteur de l'entité de clé `key` (insensible à la casse) et injecteur de son module, sinon undefined. */
3632
+ static find(key) {
3633
+ return key ? EntitySelectors.selectors.get(key.toLowerCase()) : undefined;
3634
+ }
3635
+ }
3636
+
3589
3637
  class SelectorMapperServiceBase {
3590
3638
  constructor(modalService) {
3591
3639
  this.modalService = modalService;
3640
+ this.injector = inject(Injector);
3592
3641
  }
3593
3642
  getInputSelectorContext(key, title, filter = null, params = null) {
3594
3643
  let initialViewModel = {};
@@ -3616,6 +3665,26 @@ class SelectorMapperServiceBase {
3616
3665
  context.selectionModalTitle = title;
3617
3666
  return context;
3618
3667
  }
3668
+ /**
3669
+ * Composants et recherche du sélecteur de l'entité de clé `key` : par défaut, le sélecteur
3670
+ * généré de l'entité (EntitySelectors, enregistrés par les librairies [module]-ux). Une
3671
+ * application dérivée traite ses propres clés, puis appelle super.getComponentParams.
3672
+ */
3673
+ getComponentParams(key, params) {
3674
+ const registered = EntitySelectors.find(key);
3675
+ if (Utilities.IsNil(registered))
3676
+ return undefined;
3677
+ const selector = registered.selector;
3678
+ const injector = registered.injector ?? this.injector;
3679
+ return {
3680
+ selectionCompType: selector.component,
3681
+ selectionModalTitle: Utilities.IsNil(selector.title) ? 'Sélectionner' : `Sélectionner : ${selector.title}`,
3682
+ creationComType: undefined,
3683
+ loadFunction: Utilities.IsNil(selector.dataService)
3684
+ ? undefined
3685
+ : (filter) => injector.get(selector.dataService).search(filter).pipe(map$1(r => r?.Values ?? [])),
3686
+ };
3687
+ }
3619
3688
  getDialogOptions(context, choice) {
3620
3689
  let creationViewModel = {};
3621
3690
  creationViewModel[nameof((component) => component.isModal)] = true;
@@ -11512,14 +11581,30 @@ class SelectorComponent {
11512
11581
  ngAfterViewInit() {
11513
11582
  this.context = this.selectorMapperService
11514
11583
  .getInputSelectorContext(this.field.ModalEntityKey.toLowerCase(), this.field.ModalTitle);
11515
- this.items$ = this.search$
11516
- .pipe(debounceTime(200), distinctUntilChanged(), switchMap((keywords) => {
11517
- let filter = { ...this.field.DataFilter };
11518
- filter.Take = 10;
11519
- filter.Offset = 0;
11520
- filter.Keywords = keywords;
11521
- return this.context.loadFunction(filter);
11522
- }));
11584
+ if (Utilities.IsNil(this.context?.loadFunction)) {
11585
+ this.items$ = of([]);
11586
+ return;
11587
+ }
11588
+ // Sélecteur sur la clé étrangère (valeur = Id de l'entité choisie) : l'enregistrement
11589
+ // sélectionné est lu par son Id pour afficher son libellé, même hors de la page chargée.
11590
+ const current$ = this.field.ModalPropertyValue === 'Id' && !Utilities.IsNil(this.control?.value)
11591
+ ? this.context.loadFunction({ ...this.field.DataFilter, Id: this.control.value, Take: 1, Offset: 0 })
11592
+ .pipe(catchError(() => of([])))
11593
+ : of([]);
11594
+ this.items$ = combineLatest([
11595
+ current$,
11596
+ this.search$
11597
+ .pipe(debounceTime(200), distinctUntilChanged(), switchMap((keywords) => {
11598
+ let filter = { ...this.field.DataFilter };
11599
+ filter.Take = 10;
11600
+ filter.Offset = 0;
11601
+ filter.Keywords = keywords;
11602
+ return this.context.loadFunction(filter);
11603
+ }))
11604
+ ]).pipe(map$1(([current, items]) => [
11605
+ ...(current ?? []).filter(c => !(items ?? []).some(i => i?.Id === c?.Id)),
11606
+ ...(items ?? []),
11607
+ ]));
11523
11608
  }
11524
11609
  onSearch(param) {
11525
11610
  // this.page$.next(0);
@@ -16299,5 +16384,5 @@ class SortingState {
16299
16384
  * Generated bundle index. Do not edit.
16300
16385
  */
16301
16386
 
16302
- export { Action, ActionContext, ActionDefinition, ActionHandlerContext, ActionPanelComponent, ActionService, ActionsComponent, ActionsContentComponent, AddclassDirective, AlertDialog, AlertMessage, AlertService, AppConfigService, ApplicationService, BaseArrayParameterTypeComponent, BaseComponent, BaseEditorComponent, BaseFormContext, BaseItemListComponent, BaseParameterTypeComponent, BaseShortcutsDirective, BreadcrumbComponent, CanDeactivateGuard, CellRendererComponent, ChangeDetectionContext, ChangeUtilities, CollapseDirective, ConfirmModalComponent, ConfirmOptions, ContextChoice, CoreUxModule, DataContext, DataGridComponent, DataGridStyleContext, DataListComponent, DatagridCellComponent, DatagridCustomComponent, DefaultDataGridStyleContext, DefaultFilterComponent, DefaultLayoutComponent, DflatBaseComponent, DflatBaseFilterComponent, DialogComponent, DialogComponentParameter, DialogType, DraggableDirective, DroppableDirective, DynamicFieldComponent, DynamicFilterComponent, DynamicFilterExtraComponent, DynamicFilterPanel, DynamicFormComponent, EXTENDED_ACTION_COMPONENT, EditModeDirective, EditorContext, EditorTabComponent, EditorTabSetComponent, EntityConfigContext, EntityFacade, EntityFacadeRegistryService, EntityUpdater, ExportDataModalComponent, ExtendedAction, ExtendedActionComponent, FacadeLoadGuard, FacadeModalService, FieldComponent, FilterContext, FilterFormModalComponent, FilterLifecycleGuard, FilterSummaryComponent, FilterSummaryPanelComponent, FireAuthService, FocusableDirective, FormPasswordComponent, FormWrapper, GridFieldComponent, GridRowComponent, GridStylePipe, HideOnThresholdDirective, IIsCancelWithWarning, ImageComponent, ImageService, InputSelectorComponent, InputSelectorOptions, InputTreeSelectorComponent, InsertionDirective, LayoutContext, LayoutHandlerDirective, LayoutService, LoginLayoutComponent, LogsComponent, MenuComponent, MenuDashboardComponent, MessageSeverity, ModalService, ModalStateService, NewEditorComponent, NewPaginatorComponent, OldDataPageComponent, OldLayoutHandlerDirective, OnEnterDirective, OrderableModalComponent, OrderableModalService, PP_SERVICE, PageLayoutComponent, PaginatorComponent, ParameterFieldComponent, ParameterTypeBoolArrayComponent, ParameterTypeBoolComponent, ParameterTypeDateArrayComponent, ParameterTypeDateComponent, ParameterTypeNumberArrayComponent, ParameterTypeNumberComponent, ParameterTypePasswordComponent, ParameterTypeTextArrayComponent, ParameterTypeTextComponent, PropertyChangeBus, PropertyEditorComponent, PropertyGridComponent, ROOT_DEPS, RowRefDirective, RowRefHost, RowRegistry, SearchResultsComponent, SectionContext, SelectionContext, SelectionService, SelectionStyler, SelectorComponent, SelectorDataSource, SelectorMapperServiceBase, SelectorRegistry, SortableColumnComponent, SortingState, StandardPageLayoutComponent, TRACK_RECORD_MODAL_COMPONENT, Tab, TabHeadingDirective, TabTranscludeDirective, Tabset, TestService, TextViewerComponent, TimePickerComponent, ToDefinePipe, ToFixedSizeIntegerPipe, TooltipDirective, TrackRecordModalComponent, TreeComponent, ValidateOnEnterDirective, ValidationErrorComponent, ValidationModalComponent, ValidationService, ViewModeDirective, ViewModelLoaderService, WizardComponent, WizardStepComponent, downloadFile, filterFromId, layoutKeyToString, normalisedOrder };
16387
+ export { Action, ActionContext, ActionDefinition, ActionHandlerContext, ActionPanelComponent, ActionService, ActionsComponent, ActionsContentComponent, AddclassDirective, AlertDialog, AlertMessage, AlertService, AppConfigService, ApplicationService, BaseArrayParameterTypeComponent, BaseComponent, BaseEditorComponent, BaseFormContext, BaseItemListComponent, BaseParameterTypeComponent, BaseShortcutsDirective, BreadcrumbComponent, CanDeactivateGuard, CellRendererComponent, ChangeDetectionContext, ChangeUtilities, CollapseDirective, ConfirmModalComponent, ConfirmOptions, ContextChoice, CoreUxModule, DataContext, DataGridComponent, DataGridStyleContext, DataListComponent, DatagridCellComponent, DatagridCustomComponent, DefaultDataGridStyleContext, DefaultFilterComponent, DefaultLayoutComponent, DflatBaseComponent, DflatBaseFilterComponent, DialogComponent, DialogComponentParameter, DialogType, DraggableDirective, DroppableDirective, DynamicFieldComponent, DynamicFilterComponent, DynamicFilterExtraComponent, DynamicFilterPanel, DynamicFormComponent, EXTENDED_ACTION_COMPONENT, EditModeDirective, EditorContext, EditorTabComponent, EditorTabSetComponent, EntityConfigContext, EntityFacade, EntityFacadeRegistryService, EntitySelectors, EntityUpdater, ExportDataModalComponent, ExtendedAction, ExtendedActionComponent, FacadeLoadGuard, FacadeModalService, FieldComponent, FilterContext, FilterFormModalComponent, FilterLifecycleGuard, FilterSummaryComponent, FilterSummaryPanelComponent, FireAuthService, FocusableDirective, FormPasswordComponent, FormWrapper, GridFieldComponent, GridRowComponent, GridStylePipe, HideOnThresholdDirective, IIsCancelWithWarning, ImageComponent, ImageService, InputSelectorComponent, InputSelectorOptions, InputTreeSelectorComponent, InsertionDirective, LayoutContext, LayoutHandlerDirective, LayoutService, LoginLayoutComponent, LogsComponent, MenuComponent, MenuDashboardComponent, MessageSeverity, ModalService, ModalStateService, NewEditorComponent, NewPaginatorComponent, OldDataPageComponent, OldLayoutHandlerDirective, OnEnterDirective, OrderableModalComponent, OrderableModalService, PP_SERVICE, PageLayoutComponent, PaginatorComponent, ParameterFieldComponent, ParameterTypeBoolArrayComponent, ParameterTypeBoolComponent, ParameterTypeDateArrayComponent, ParameterTypeDateComponent, ParameterTypeNumberArrayComponent, ParameterTypeNumberComponent, ParameterTypePasswordComponent, ParameterTypeTextArrayComponent, ParameterTypeTextComponent, PropertyChangeBus, PropertyEditorComponent, PropertyGridComponent, ROOT_DEPS, RowRefDirective, RowRefHost, RowRegistry, SearchResultsComponent, SectionContext, SelectionContext, SelectionService, SelectionStyler, SelectorComponent, SelectorDataSource, SelectorMapperServiceBase, SelectorRegistry, SortableColumnComponent, SortingState, StandardPageLayoutComponent, TRACK_RECORD_MODAL_COMPONENT, Tab, TabHeadingDirective, TabTranscludeDirective, Tabset, TestService, TextViewerComponent, TimePickerComponent, ToDefinePipe, ToFixedSizeIntegerPipe, TooltipDirective, TrackRecordModalComponent, TreeComponent, ValidateOnEnterDirective, ValidationErrorComponent, ValidationModalComponent, ValidationService, ViewModeDirective, ViewModelLoaderService, WizardComponent, WizardStepComponent, downloadFile, filterFromId, layoutKeyToString, normalisedOrder };
16303
16388
  //# sourceMappingURL=dflat-core-web-core-ux.mjs.map