@trudb/tru-common-lib 0.0.190 → 0.0.195

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.
@@ -1,6 +1,6 @@
1
1
  import { EntityAspect, BinaryPredicate, AndOrPredicate, breeze, MetadataStore, DataService, EntityManager, EntityQuery, FetchStrategy, EntityState } from 'breeze-client';
2
2
  import * as i0 from '@angular/core';
3
- import { Directive, Input, Component, NgModule, Injectable, EventEmitter, Inject, HostListener, ViewEncapsulation, Output, APP_INITIALIZER } from '@angular/core';
3
+ import { Directive, Input, Component, NgModule, Injectable, Inject, HostListener, EventEmitter, ViewEncapsulation, Output, APP_INITIALIZER } from '@angular/core';
4
4
  import * as i1$3 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import * as i2 from '@angular/forms';
@@ -379,36 +379,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
379
379
  }]
380
380
  }] });
381
381
 
382
- class TruSearchViewEventHandler {
382
+ class TruSearchViewControlEventHandler {
383
383
  constructor() {
384
- this.search$ = new EventEmitter();
385
- this.filter$ = new EventEmitter();
386
384
  this.clear$ = new BehaviorSubject(null);
387
385
  this.default$ = new BehaviorSubject(null);
388
386
  }
389
- onSearch() {
390
- return this.search$;
387
+ onSetDefaults() {
388
+ return this.default$;
391
389
  }
392
- onFilter() {
393
- return this.filter$;
390
+ setDefaults() {
391
+ this.default$.next(null);
394
392
  }
395
393
  onClearValues() {
396
394
  return this.clear$;
397
395
  }
398
- onSetDefaults() {
399
- return this.default$;
396
+ clearValues() {
397
+ this.clear$.next(null);
398
+ }
399
+ }
400
+ TruSearchViewControlEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewControlEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
401
+ TruSearchViewControlEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewControlEventHandler });
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewControlEventHandler, decorators: [{
403
+ type: Injectable
404
+ }] });
405
+
406
+ class TruSearchViewEventHandler {
407
+ constructor() {
408
+ this.search$ = new BehaviorSubject(null);
409
+ this.filter$ = new BehaviorSubject(null);
400
410
  }
401
- search(entityQuery) {
402
- this.search$.emit(entityQuery);
411
+ search(query) {
412
+ this.search$.next(query);
403
413
  }
404
- filter(entityQuery) {
405
- this.filter$.emit(entityQuery);
414
+ onSearch() {
415
+ return this.search$.asObservable();
406
416
  }
407
- clearValues() {
408
- this.clear$.next(null);
417
+ filter(query) {
418
+ this.filter$.next(query);
409
419
  }
410
- setDefaults() {
411
- this.default$.next(null);
420
+ onFilter() {
421
+ return this.filter$.asObservable();
412
422
  }
413
423
  }
414
424
  TruSearchViewEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -2003,18 +2013,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
2003
2013
 
2004
2014
  class TruToolbarContextFilter {
2005
2015
  constructor() {
2006
- this.config = null;
2007
- this.filters = []; //this.contextFilterConfig.contextFilters;
2016
+ this.filters = [];
2008
2017
  }
2009
2018
  ngOnInit() {
2010
2019
  }
2011
2020
  }
2012
2021
  TruToolbarContextFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruToolbarContextFilter, deps: [], target: i0.ɵɵFactoryTarget.Component });
2013
- TruToolbarContextFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruToolbarContextFilter, selector: "tru-toolbar-context-filter", inputs: { config: "config" }, ngImport: i0, template: "<mat-form-field *ngIf=\"filters.length\">\r\n <div *ngFor=\"let filter of filters\">\r\n <mat-select [(ngModel)]=\"filter.selectedChoice\"\r\n [compareWith]=\"filter.comparer\"\r\n (selectionChange)=\"filter.onChange(filter.selectedChoice)\"\r\n title=\"{{filter.tooltip}}\">\r\n <mat-option *ngFor=\"let choice of filter.choices; trackBy filter.identify\" [value]=\"choice\">\r\n {{choice.label}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n</mat-form-field>\r\n", styles: [".toolbar{height:25px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-form-field-infix{padding:0;border-top:0;width:auto}.toolbar .mat-form-field-underline{background-color:red}.toolbar .mat-form-field .mat-form-field-underline,.toolbar .mat-form-field.mat-focused .mat-form-field-underline{display:none}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}\n", ".toolbar mat-select{width:auto;min-width:90px;padding:3px;padding-top:3px!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:15px;margin-top:2px;margin-left:2px;margin-right:2px}.toolbar .mat-form-field-underline{background-color:red}.toolbar .mat-form-field .mat-form-field-underline,.toolbar .mat-form-field.mat-focused .mat-form-field-underline{display:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }], encapsulation: i0.ViewEncapsulation.None });
2022
+ TruToolbarContextFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruToolbarContextFilter, selector: "tru-toolbar-context-filter", inputs: { filters: "filters" }, ngImport: i0, template: "<mat-form-field *ngIf=\"filters.length\">\r\n <div *ngFor=\"let filter of filters\">\r\n <mat-select [(ngModel)]=\"filter.selectedChoice\"\r\n [compareWith]=\"filter.comparer\"\r\n (selectionChange)=\"filter.onChange(filter.selectedChoice)\"\r\n title=\"{{filter.tooltip}}\">\r\n <mat-option *ngFor=\"let choice of filter.choices; trackBy filter.identify\" [value]=\"choice\">\r\n {{choice.label}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n</mat-form-field>\r\n", styles: [".toolbar{height:25px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-form-field-infix{padding:0;border-top:0;width:auto}.toolbar .mat-form-field-underline{background-color:red}.toolbar .mat-form-field .mat-form-field-underline,.toolbar .mat-form-field.mat-focused .mat-form-field-underline{display:none}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}\n", ".toolbar mat-select{width:auto;min-width:90px;padding:3px;padding-top:3px!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:15px;margin-top:2px;margin-left:2px;margin-right:2px}.toolbar .mat-form-field-underline{background-color:red}.toolbar .mat-form-field .mat-form-field-underline,.toolbar .mat-form-field.mat-focused .mat-form-field-underline{display:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }], encapsulation: i0.ViewEncapsulation.None });
2014
2023
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruToolbarContextFilter, decorators: [{
2015
2024
  type: Component,
2016
2025
  args: [{ selector: 'tru-toolbar-context-filter', encapsulation: ViewEncapsulation.None, template: "<mat-form-field *ngIf=\"filters.length\">\r\n <div *ngFor=\"let filter of filters\">\r\n <mat-select [(ngModel)]=\"filter.selectedChoice\"\r\n [compareWith]=\"filter.comparer\"\r\n (selectionChange)=\"filter.onChange(filter.selectedChoice)\"\r\n title=\"{{filter.tooltip}}\">\r\n <mat-option *ngFor=\"let choice of filter.choices; trackBy filter.identify\" [value]=\"choice\">\r\n {{choice.label}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n</mat-form-field>\r\n", styles: [".toolbar{height:25px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-form-field-infix{padding:0;border-top:0;width:auto}.toolbar .mat-form-field-underline{background-color:red}.toolbar .mat-form-field .mat-form-field-underline,.toolbar .mat-form-field.mat-focused .mat-form-field-underline{display:none}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}\n", ".toolbar mat-select{width:auto;min-width:90px;padding:3px;padding-top:3px!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:15px;margin-top:2px;margin-left:2px;margin-right:2px}.toolbar .mat-form-field-underline{background-color:red}.toolbar .mat-form-field .mat-form-field-underline,.toolbar .mat-form-field.mat-focused .mat-form-field-underline{display:none}\n"] }]
2017
- }], ctorParameters: function () { return []; }, propDecorators: { config: [{
2026
+ }], ctorParameters: function () { return []; }, propDecorators: { filters: [{
2018
2027
  type: Input
2019
2028
  }] } });
2020
2029
 
@@ -2370,6 +2379,7 @@ class TruDesktopMenubar {
2370
2379
  constructor() {
2371
2380
  this.options = null;
2372
2381
  this.configs = null;
2382
+ this.filters = [];
2373
2383
  this.openWindow = (event, windowOverrides) => {
2374
2384
  this.desktopCtrl.openWindow(windowOverrides);
2375
2385
  };
@@ -2377,13 +2387,14 @@ class TruDesktopMenubar {
2377
2387
  ngOnInit() {
2378
2388
  this.options = this.desktopCtrl.getOptions();
2379
2389
  this.configs = this.options.menubarConfig;
2390
+ this.filters = this.options.contextFilters;
2380
2391
  }
2381
2392
  }
2382
2393
  TruDesktopMenubar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruDesktopMenubar, deps: [], target: i0.ɵɵFactoryTarget.Component });
2383
- TruDesktopMenubar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruDesktopMenubar, selector: "tru-desktop-menubar", inputs: { desktopCtrl: "desktopCtrl" }, ngImport: i0, template: "<div class=\"desktop-main-menu\">\r\n <tru-toolbar>\r\n <tru-toolbar-menu *ngFor=\"let config of configs\" [config]=\"config\"></tru-toolbar-menu>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n <tru-toolbar-context-filter></tru-toolbar-context-filter>\r\n </tru-toolbar>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TruToolbar, selector: "tru-toolbar", inputs: ["config"] }, { kind: "component", type: TruToolbarMenu, selector: "tru-toolbar-menu", inputs: ["config"] }, { kind: "component", type: TruToolbarSeparator, selector: "tru-toolbar-separator" }, { kind: "component", type: TruToolbarContextFilter, selector: "tru-toolbar-context-filter", inputs: ["config"] }], encapsulation: i0.ViewEncapsulation.None });
2394
+ TruDesktopMenubar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruDesktopMenubar, selector: "tru-desktop-menubar", inputs: { desktopCtrl: "desktopCtrl" }, ngImport: i0, template: "<div class=\"desktop-main-menu\">\r\n <tru-toolbar>\r\n <tru-toolbar-menu *ngFor=\"let config of configs\" [config]=\"config\"></tru-toolbar-menu>\r\n <tru-toolbar-separator *ngIf=\"filters.length\"></tru-toolbar-separator>\r\n <tru-toolbar-context-filter [filters]=\"filters\"></tru-toolbar-context-filter>\r\n </tru-toolbar>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TruToolbar, selector: "tru-toolbar", inputs: ["config"] }, { kind: "component", type: TruToolbarMenu, selector: "tru-toolbar-menu", inputs: ["config"] }, { kind: "component", type: TruToolbarSeparator, selector: "tru-toolbar-separator" }, { kind: "component", type: TruToolbarContextFilter, selector: "tru-toolbar-context-filter", inputs: ["filters"] }], encapsulation: i0.ViewEncapsulation.None });
2384
2395
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruDesktopMenubar, decorators: [{
2385
2396
  type: Component,
2386
- args: [{ selector: 'tru-desktop-menubar', encapsulation: ViewEncapsulation.None, template: "<div class=\"desktop-main-menu\">\r\n <tru-toolbar>\r\n <tru-toolbar-menu *ngFor=\"let config of configs\" [config]=\"config\"></tru-toolbar-menu>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n <tru-toolbar-context-filter></tru-toolbar-context-filter>\r\n </tru-toolbar>\r\n</div>\r\n" }]
2397
+ args: [{ selector: 'tru-desktop-menubar', encapsulation: ViewEncapsulation.None, template: "<div class=\"desktop-main-menu\">\r\n <tru-toolbar>\r\n <tru-toolbar-menu *ngFor=\"let config of configs\" [config]=\"config\"></tru-toolbar-menu>\r\n <tru-toolbar-separator *ngIf=\"filters.length\"></tru-toolbar-separator>\r\n <tru-toolbar-context-filter [filters]=\"filters\"></tru-toolbar-context-filter>\r\n </tru-toolbar>\r\n</div>\r\n" }]
2387
2398
  }], ctorParameters: function () { return []; }, propDecorators: { desktopCtrl: [{
2388
2399
  type: Input
2389
2400
  }] } });
@@ -4689,5 +4700,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
4689
4700
  * Generated bundle index. Do not edit.
4690
4701
  */
4691
4702
 
4692
- export { DetailViewModule, TruAppEnvironment, TruBreezeContext, TruBreezeContextFactory, TruBreezeMetadataProvider, TruColumn, TruColumnModule, TruCommonModule, TruComponentConfigBase, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruControlComponentConfigBase, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDesktop, TruDesktopManager, TruDesktopModule, TruDetailViewBase, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruForm, TruFormModule, TruFormulaEval, TruGroupBox, TruGroupBoxModule, TruPredicate, TruPredicateMap, TruPropertyConfigBase, TruPropertyConfigCloudFile, TruPropertyConfigDecimal, TruPropertyConfigForeignKey, TruPropertyConfigInteger, TruPropertyConfigPassword, TruPropertyConfigPercentage, TruPropertyConfigScientific, TruPropertyConfigText, TruPropertyConfigTextChoices, TruPropertyConfigUsaAddress, TruPropertyConfigZipCode, TruQueryPredicateManager, TruRow, TruRowModule, TruSearchComponentBase, TruSearchComponentConfigBase, TruSearchConfigBase, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, TruSearchViewBase, TruSearchViewBaseModule, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruUiNotification, TruUser, TruWindowActionEventHandler, TruWindowAddViewEventArgs, TruWindowEventArgs, TruWindowEventHandler };
4703
+ export { DetailViewModule, TruAppEnvironment, TruBreezeContext, TruBreezeContextFactory, TruBreezeMetadataProvider, TruColumn, TruColumnModule, TruCommonModule, TruComponentConfigBase, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruControlComponentConfigBase, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDesktop, TruDesktopManager, TruDesktopModule, TruDetailViewBase, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruForm, TruFormModule, TruFormulaEval, TruGroupBox, TruGroupBoxModule, TruPredicate, TruPredicateMap, TruPropertyConfigBase, TruPropertyConfigCloudFile, TruPropertyConfigDecimal, TruPropertyConfigForeignKey, TruPropertyConfigInteger, TruPropertyConfigPassword, TruPropertyConfigPercentage, TruPropertyConfigScientific, TruPropertyConfigText, TruPropertyConfigTextChoices, TruPropertyConfigUsaAddress, TruPropertyConfigZipCode, TruQueryPredicateManager, TruRow, TruRowModule, TruSearchComponentBase, TruSearchComponentConfigBase, TruSearchConfigBase, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, TruSearchViewBase, TruSearchViewBaseModule, TruSearchViewControlEventHandler, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruUiNotification, TruUser, TruWindowActionEventHandler, TruWindowAddViewEventArgs, TruWindowEventArgs, TruWindowEventHandler };
4693
4704
  //# sourceMappingURL=trudb-tru-common-lib.mjs.map