@trudb/tru-common-lib 0.0.186 → 0.0.188

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 (30) hide show
  1. package/esm2020/lib/base-classes/tru-component-config-base.mjs +4 -0
  2. package/esm2020/lib/base-classes/tru-control-component-config-base.mjs +4 -0
  3. package/esm2020/lib/base-classes/tru-search-config-base.mjs +4 -0
  4. package/esm2020/lib/base-views/detail/tru-detail-view-base-module.mjs +19 -0
  5. package/esm2020/lib/base-views/detail/tru-detail-view-base.mjs +12 -0
  6. package/esm2020/lib/base-views/search/services/tru-search-view-event-handler.mjs +41 -0
  7. package/esm2020/lib/base-views/search/tru-search-view-base-module.mjs +19 -0
  8. package/esm2020/lib/base-views/search/tru-search-view-base.mjs +65 -0
  9. package/esm2020/lib/components/data-grid/tru-data-grid.mjs +2 -2
  10. package/esm2020/lib/components/desktop/services/tru-desktop-manager.mjs +81 -0
  11. package/esm2020/public-api.mjs +13 -7
  12. package/fesm2015/trudb-tru-common-lib.mjs +312 -140
  13. package/fesm2015/trudb-tru-common-lib.mjs.map +1 -1
  14. package/fesm2020/trudb-tru-common-lib.mjs +312 -140
  15. package/fesm2020/trudb-tru-common-lib.mjs.map +1 -1
  16. package/lib/base-classes/tru-component-config-base.d.ts +3 -0
  17. package/lib/base-classes/tru-control-component-config-base.d.ts +19 -0
  18. package/lib/base-classes/tru-search-config-base.d.ts +9 -0
  19. package/lib/base-views/detail/tru-detail-view-base-module.d.ts +9 -0
  20. package/lib/base-views/detail/tru-detail-view-base.d.ts +6 -0
  21. package/lib/{event-handlers/tru-search-group-event-handler.d.ts → base-views/search/services/tru-search-view-event-handler.d.ts} +3 -3
  22. package/lib/base-views/search/tru-search-view-base-module.d.ts +9 -0
  23. package/lib/base-views/search/tru-search-view-base.d.ts +35 -0
  24. package/lib/components/data-grid/tru-data-grid.d.ts +1 -1
  25. package/lib/components/desktop/services/tru-desktop-manager.d.ts +29 -0
  26. package/package.json +1 -1
  27. package/public-api.d.ts +9 -3
  28. package/esm2020/lib/event-handlers/tru-search-group-event-handler.mjs +0 -41
  29. package/esm2020/lib/event-handlers/tru-search-view-event-handler.mjs +0 -20
  30. package/lib/event-handlers/tru-search-view-event-handler.d.ts +0 -8
@@ -1,15 +1,15 @@
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, Inject, NgModule, Injectable, HostListener, EventEmitter, ViewEncapsulation, Output, APP_INITIALIZER } from '@angular/core';
4
- import * as _ from 'underscore';
5
- import * as moment from 'moment';
6
- import * as i1 from '@angular/material/dialog';
7
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import { Directive, Input, Component, NgModule, Injectable, EventEmitter, Inject, HostListener, ViewEncapsulation, Output, APP_INITIALIZER } from '@angular/core';
8
4
  import * as i1$3 from '@angular/common';
9
5
  import { CommonModule } from '@angular/common';
10
6
  import * as i2 from '@angular/forms';
11
7
  import { FormsModule } from '@angular/forms';
12
- import { BehaviorSubject, defer, from, of, skip, forkJoin, Subject } from 'rxjs';
8
+ import { Subject, BehaviorSubject, defer, from, of, skip, forkJoin } from 'rxjs';
9
+ import * as _ from 'underscore';
10
+ import * as moment from 'moment';
11
+ import * as i1 from '@angular/material/dialog';
12
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
13
13
  import * as i1$2 from '@angular/common/http';
14
14
  import { HttpClientModule } from '@angular/common/http';
15
15
  import * as i3 from '@angular/material/checkbox';
@@ -30,6 +30,14 @@ import * as i1$4 from '@angular/platform-browser';
30
30
  import { BrowserModule } from '@angular/platform-browser';
31
31
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
32
32
 
33
+ class TruComponentConfigBase {
34
+ constructor() { }
35
+ }
36
+
37
+ class TruControlComponentConfigBase {
38
+ constructor() { }
39
+ }
40
+
33
41
  class TruEntityBase {
34
42
  constructor(...args) {
35
43
  this.entityAspect = new EntityAspect();
@@ -103,6 +111,10 @@ class TruSearchComponentConfigBase {
103
111
  constructor() { }
104
112
  }
105
113
 
114
+ class TruSearchConfigBase {
115
+ constructor() { }
116
+ }
117
+
106
118
  class TruTableConfigBase {
107
119
  constructor() {
108
120
  this.Label = undefined;
@@ -115,6 +127,296 @@ class TruTableConfigBase {
115
127
  }
116
128
  }
117
129
 
130
+ class TruDetailViewBase {
131
+ constructor() { }
132
+ }
133
+ TruDetailViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruDetailViewBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
134
+ TruDetailViewBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruDetailViewBase, selector: "tru-detail-view-base", ngImport: i0, template: "", styles: ["::ng-deep .detail-container .mat-form-field{margin-left:10px;width:calc(100% - 20px)}::ng-deep .detail-container .mat-tab-group{margin-left:10px;margin-right:10px}\n"] });
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruDetailViewBase, decorators: [{
136
+ type: Component,
137
+ args: [{ selector: 'tru-detail-view-base', template: "", styles: ["::ng-deep .detail-container .mat-form-field{margin-left:10px;width:calc(100% - 20px)}::ng-deep .detail-container .mat-tab-group{margin-left:10px;margin-right:10px}\n"] }]
138
+ }], ctorParameters: function () { return []; } });
139
+
140
+ class DetailViewModule {
141
+ }
142
+ DetailViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DetailViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
143
+ DetailViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: DetailViewModule, declarations: [TruDetailViewBase], imports: [CommonModule, FormsModule], exports: [TruDetailViewBase] });
144
+ DetailViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DetailViewModule, imports: [CommonModule, FormsModule] });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DetailViewModule, decorators: [{
146
+ type: NgModule,
147
+ args: [{
148
+ declarations: [TruDetailViewBase],
149
+ imports: [CommonModule, FormsModule],
150
+ exports: [TruDetailViewBase]
151
+ }]
152
+ }] });
153
+
154
+ class TruWindowAddViewEventArgs {
155
+ constructor() {
156
+ this.active = null;
157
+ this.entities = null;
158
+ this.entityIndex = 0;
159
+ this.isDirty = false;
160
+ this.isEditing = false;
161
+ this.isInvalid = false;
162
+ this.componentName = '';
163
+ }
164
+ }
165
+ TruWindowAddViewEventArgs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowAddViewEventArgs, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
166
+ TruWindowAddViewEventArgs.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowAddViewEventArgs, providedIn: 'root' });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowAddViewEventArgs, decorators: [{
168
+ type: Injectable,
169
+ args: [{
170
+ providedIn: 'root'
171
+ }]
172
+ }] });
173
+
174
+ class TruWindowEventArgs {
175
+ constructor() {
176
+ this.title = '';
177
+ this.tableName = '';
178
+ this.tablePluralName = '';
179
+ this.tablePluralLabel = '';
180
+ this.context = {};
181
+ this.contentBottom = '23px';
182
+ this.statusbarDirective = 'tru-statusbar';
183
+ this.height = '450px';
184
+ this.width = '900px';
185
+ this.views = [{}];
186
+ }
187
+ }
188
+ TruWindowEventArgs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventArgs, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
189
+ TruWindowEventArgs.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventArgs, providedIn: 'root' });
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventArgs, decorators: [{
191
+ type: Injectable,
192
+ args: [{
193
+ providedIn: 'root'
194
+ }]
195
+ }] });
196
+
197
+ class TruWindowEventHandler {
198
+ constructor() {
199
+ this.open$ = new Subject();
200
+ this.addView$ = new Subject();
201
+ this.removeForwadViews$ = new Subject();
202
+ }
203
+ onOpen() {
204
+ return this.open$;
205
+ }
206
+ open(windowEvent) {
207
+ this.open$.next(windowEvent);
208
+ }
209
+ onAddView() {
210
+ return this.addView$;
211
+ }
212
+ addView(windowAddViewEvent) {
213
+ this.addView$.next(windowAddViewEvent);
214
+ }
215
+ onRemoveForwardViews() {
216
+ return this.removeForwadViews$;
217
+ }
218
+ removeForwardViews() {
219
+ this.removeForwadViews$.next(null);
220
+ }
221
+ }
222
+ TruWindowEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
223
+ TruWindowEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventHandler, providedIn: 'root' });
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventHandler, decorators: [{
225
+ type: Injectable,
226
+ args: [{
227
+ providedIn: 'root'
228
+ }]
229
+ }] });
230
+
231
+ class TruDesktopManager {
232
+ constructor(truWindowEventHandler) {
233
+ this.truWindowEventHandler = truWindowEventHandler;
234
+ this.getWindowEvent = (tableName, tablePluralName, tablePluralLabel, componentName, data) => {
235
+ var windowEvent = new TruWindowEventArgs();
236
+ windowEvent.tableName = tableName;
237
+ windowEvent.tablePluralName = tablePluralName;
238
+ windowEvent.tablePluralLabel = tablePluralLabel;
239
+ windowEvent.views = [
240
+ {
241
+ active: true,
242
+ entities: undefined,
243
+ entityIndex: 0,
244
+ isDirty: false,
245
+ isEditing: false,
246
+ isInvalid: false,
247
+ data: data,
248
+ componentName: componentName
249
+ }
250
+ ];
251
+ return windowEvent;
252
+ };
253
+ /**
254
+ * Opens a window for a directive.
255
+ * @param {string} directiveName - name of the view directive.
256
+ * @param {object} data - values to pass to the view.
257
+ * @param {optional bool} showIfExists - if true and a view already exists for the
258
+ * directive, then shows its window instead of creating a new one.
259
+ */
260
+ this.addWindow = (tableName, tablePluralName, tablePluralLabel, componentName, data = null, showNavigation = true, showIfExists) => {
261
+ this.truWindowEventHandler.open(this.getWindowEvent(tableName, tablePluralName, tablePluralLabel, componentName, data));
262
+ };
263
+ this.windowTitlesByBaseText = {};
264
+ /**
265
+ * Returns a unique string for the base name of a window. At first, returns the input.
266
+ * For second call with same base name, returns the name plus ' - 2' and so on. When
267
+ * all of the titles for the base name are released, then the next title will have no
268
+ * suffix.
269
+ * @param {string} text - base name of a window.
270
+ * @returns {object} - text: the unique text and release(): releases the name for
271
+ * future windows.
272
+ */
273
+ this.getUniqueTitle = (text) => {
274
+ var baseText = text;
275
+ var titles = this.windowTitlesByBaseText[baseText];
276
+ if (!titles) {
277
+ this.windowTitlesByBaseText[baseText] = titles = {
278
+ dispensedCount: 1,
279
+ activeCount: 1
280
+ };
281
+ }
282
+ else {
283
+ ++titles.activeCount;
284
+ text += ' - ' + (++titles.dispensedCount);
285
+ }
286
+ return {
287
+ text: text,
288
+ release: () => {
289
+ if (titles.activeCount === 1)
290
+ delete this.windowTitlesByBaseText[baseText];
291
+ else {
292
+ --titles.activeCount;
293
+ }
294
+ }
295
+ };
296
+ };
297
+ }
298
+ }
299
+ TruDesktopManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruDesktopManager, deps: [{ token: TruWindowEventHandler }], target: i0.ɵɵFactoryTarget.Injectable });
300
+ TruDesktopManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruDesktopManager, providedIn: 'root' });
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruDesktopManager, decorators: [{
302
+ type: Injectable,
303
+ args: [{
304
+ providedIn: 'root',
305
+ }]
306
+ }], ctorParameters: function () { return [{ type: TruWindowEventHandler }]; } });
307
+
308
+ class TruSearchViewBase {
309
+ constructor(desktopManager, truWindowEventHandler) {
310
+ this.desktopManager = desktopManager;
311
+ this.truWindowEventHandler = truWindowEventHandler;
312
+ this.tableName = '';
313
+ this.tablePluralName = '';
314
+ this.tablePluralLabel = '';
315
+ this.pkeyName = '';
316
+ this.windowTitle = {};
317
+ this.unsubscribes = [];
318
+ this.expands = [];
319
+ this.isSearching = false;
320
+ this.entities = [];
321
+ this.hasDetailView = true;
322
+ this.searchPanelConfig = {
323
+ side: 'right',
324
+ active: true,
325
+ open: true,
326
+ modKeyLabel: '',
327
+ size: 500,
328
+ pinned: false
329
+ };
330
+ this.setWindowTitle = () => {
331
+ if (this.view.active)
332
+ this.windowConfig.title = this.windowTitle.text;
333
+ };
334
+ this.onPkeyCellDoubleClicked = (gridConfig) => {
335
+ if (this.hasDetailView) {
336
+ var truWindowAddViewEventArgs = new TruWindowAddViewEventArgs();
337
+ truWindowAddViewEventArgs.active = true;
338
+ truWindowAddViewEventArgs.entities = gridConfig.api.getRenderedNodes().map((rowNode) => rowNode.data.$entity);
339
+ truWindowAddViewEventArgs.entityIndex = gridConfig.rowIndex;
340
+ truWindowAddViewEventArgs.componentName = this.tableName + 'DetailView';
341
+ this.truWindowEventHandler.addView(truWindowAddViewEventArgs);
342
+ }
343
+ else {
344
+ alert(this.tablePluralLabel + ' does not have a detail view.');
345
+ }
346
+ };
347
+ }
348
+ ngOnInit() {
349
+ this.tableName = this.view.window.tableName;
350
+ this.tablePluralName = this.view.window.tablePluralName;
351
+ this.tablePluralLabel = this.view.window.tablePluralLabel;
352
+ this.pkeyName = this.tableName + 'Ref';
353
+ this.windowTitle = this.desktopManager.getUniqueTitle(this.tablePluralLabel);
354
+ this.windowConfig = this.view.window;
355
+ this.contextFilters = this.view.window.globals;
356
+ this.setWindowTitle();
357
+ }
358
+ }
359
+ TruSearchViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewBase, deps: [{ token: TruDesktopManager }, { token: TruWindowEventHandler }], target: i0.ɵɵFactoryTarget.Component });
360
+ TruSearchViewBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruSearchViewBase, selector: "tru-search-view-base", inputs: { view: "view" }, ngImport: i0, template: "", styles: [""] });
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewBase, decorators: [{
362
+ type: Component,
363
+ args: [{ selector: 'tru-search-view-base', template: "" }]
364
+ }], ctorParameters: function () { return [{ type: TruDesktopManager }, { type: TruWindowEventHandler }]; }, propDecorators: { view: [{
365
+ type: Input
366
+ }] } });
367
+
368
+ class TruSearchViewBaseModule {
369
+ }
370
+ TruSearchViewBaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
371
+ TruSearchViewBaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewBaseModule, declarations: [TruSearchViewBase], imports: [CommonModule, FormsModule], exports: [TruSearchViewBase] });
372
+ TruSearchViewBaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewBaseModule, imports: [CommonModule, FormsModule] });
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewBaseModule, decorators: [{
374
+ type: NgModule,
375
+ args: [{
376
+ declarations: [TruSearchViewBase],
377
+ imports: [CommonModule, FormsModule],
378
+ exports: [TruSearchViewBase]
379
+ }]
380
+ }] });
381
+
382
+ class TruSearchViewEventHandler {
383
+ constructor() {
384
+ this.search$ = new EventEmitter();
385
+ this.filter$ = new EventEmitter();
386
+ this.clear$ = new BehaviorSubject(null);
387
+ this.default$ = new BehaviorSubject(null);
388
+ }
389
+ onSearch() {
390
+ return this.search$;
391
+ }
392
+ onFilter() {
393
+ return this.filter$;
394
+ }
395
+ onClearValues() {
396
+ return this.clear$;
397
+ }
398
+ onSetDefaults() {
399
+ return this.default$;
400
+ }
401
+ search(entityQuery) {
402
+ this.search$.emit(entityQuery);
403
+ }
404
+ filter(entityQuery) {
405
+ this.filter$.emit(entityQuery);
406
+ }
407
+ clearValues() {
408
+ this.clear$.next(null);
409
+ }
410
+ setDefaults() {
411
+ this.default$.next(null);
412
+ }
413
+ }
414
+ TruSearchViewEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
415
+ TruSearchViewEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler });
416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler, decorators: [{
417
+ type: Injectable
418
+ }] });
419
+
118
420
  class TruFormulaEval {
119
421
  static isString(s) {
120
422
  return typeof s === 'string';
@@ -1193,23 +1495,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
1193
1495
  type: Injectable
1194
1496
  }], ctorParameters: function () { return [{ type: TruBreezeContextFactory }, { type: TruAppEnvironment }, { type: TruEntityAccessor }, { type: TruUiNotification }]; } });
1195
1497
 
1196
- class TruSearchViewEventHandler {
1197
- constructor() {
1198
- this.search$ = new BehaviorSubject(null);
1199
- }
1200
- search(query) {
1201
- this.search$.next(query);
1202
- }
1203
- onSearch() {
1204
- return this.search$.asObservable();
1205
- }
1206
- }
1207
- TruSearchViewEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1208
- TruSearchViewEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler });
1209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler, decorators: [{
1210
- type: Injectable
1211
- }] });
1212
-
1213
1498
  class TruToolbar {
1214
1499
  constructor() {
1215
1500
  this.config = null;
@@ -2090,40 +2375,6 @@ class ViewConfig {
2090
2375
  }
2091
2376
  ;
2092
2377
 
2093
- class TruWindowEventHandler {
2094
- constructor() {
2095
- this.open$ = new Subject();
2096
- this.addView$ = new Subject();
2097
- this.removeForwadViews$ = new Subject();
2098
- }
2099
- onOpen() {
2100
- return this.open$;
2101
- }
2102
- open(windowEvent) {
2103
- this.open$.next(windowEvent);
2104
- }
2105
- onAddView() {
2106
- return this.addView$;
2107
- }
2108
- addView(windowAddViewEvent) {
2109
- this.addView$.next(windowAddViewEvent);
2110
- }
2111
- onRemoveForwardViews() {
2112
- return this.removeForwadViews$;
2113
- }
2114
- removeForwardViews() {
2115
- this.removeForwadViews$.next(null);
2116
- }
2117
- }
2118
- TruWindowEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2119
- TruWindowEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventHandler, providedIn: 'root' });
2120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventHandler, decorators: [{
2121
- type: Injectable,
2122
- args: [{
2123
- providedIn: 'root'
2124
- }]
2125
- }] });
2126
-
2127
2378
  class TruDesktopMenubar {
2128
2379
  constructor() {
2129
2380
  this.options = null;
@@ -3789,49 +4040,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
3789
4040
  type: Injectable
3790
4041
  }] });
3791
4042
 
3792
- class TruWindowAddViewEventArgs {
3793
- constructor() {
3794
- this.active = null;
3795
- this.entities = null;
3796
- this.entityIndex = 0;
3797
- this.isDirty = false;
3798
- this.isEditing = false;
3799
- this.isInvalid = false;
3800
- this.componentName = '';
3801
- }
3802
- }
3803
- TruWindowAddViewEventArgs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowAddViewEventArgs, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3804
- TruWindowAddViewEventArgs.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowAddViewEventArgs, providedIn: 'root' });
3805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowAddViewEventArgs, decorators: [{
3806
- type: Injectable,
3807
- args: [{
3808
- providedIn: 'root'
3809
- }]
3810
- }] });
3811
-
3812
- class TruWindowEventArgs {
3813
- constructor() {
3814
- this.title = '';
3815
- this.tableName = '';
3816
- this.tablePluralName = '';
3817
- this.tablePluralLabel = '';
3818
- this.context = {};
3819
- this.contentBottom = '23px';
3820
- this.statusbarDirective = 'tru-statusbar';
3821
- this.height = '450px';
3822
- this.width = '900px';
3823
- this.views = [{}];
3824
- }
3825
- }
3826
- TruWindowEventArgs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventArgs, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3827
- TruWindowEventArgs.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventArgs, providedIn: 'root' });
3828
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruWindowEventArgs, decorators: [{
3829
- type: Injectable,
3830
- args: [{
3831
- providedIn: 'root'
3832
- }]
3833
- }] });
3834
-
3835
4043
  class TruExportDialogModule {
3836
4044
  }
3837
4045
  TruExportDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruExportDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -4122,44 +4330,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
4122
4330
  }]
4123
4331
  }] });
4124
4332
 
4125
- class TruSearchGroupEventHandler {
4126
- constructor() {
4127
- this.search$ = new EventEmitter();
4128
- this.filter$ = new EventEmitter();
4129
- this.clear$ = new BehaviorSubject(null);
4130
- this.default$ = new BehaviorSubject(null);
4131
- }
4132
- onSearch() {
4133
- return this.search$;
4134
- }
4135
- onFilter() {
4136
- return this.filter$;
4137
- }
4138
- onClearValues() {
4139
- return this.clear$;
4140
- }
4141
- onSetDefaults() {
4142
- return this.default$;
4143
- }
4144
- search(entityQuery) {
4145
- this.search$.emit(entityQuery);
4146
- }
4147
- filter(entityQuery) {
4148
- this.filter$.emit(entityQuery);
4149
- }
4150
- clearValues() {
4151
- this.clear$.next(null);
4152
- }
4153
- setDefaults() {
4154
- this.default$.next(null);
4155
- }
4156
- }
4157
- TruSearchGroupEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchGroupEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4158
- TruSearchGroupEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchGroupEventHandler });
4159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchGroupEventHandler, decorators: [{
4160
- type: Injectable
4161
- }] });
4162
-
4163
4333
  class TruPredicateMap {
4164
4334
  constructor() { }
4165
4335
  }
@@ -4522,11 +4692,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
4522
4692
  }]
4523
4693
  }] });
4524
4694
 
4525
- /// <reference path='lib/event-handlers/tru-search-group-event-handler.ts' />
4695
+ /*
4696
+ * Public API Surface of tru-common-lib
4697
+ */
4526
4698
 
4527
4699
  /**
4528
4700
  * Generated bundle index. Do not edit.
4529
4701
  */
4530
4702
 
4531
- export { TruAppEnvironment, TruBreezeContext, TruBreezeContextFactory, TruBreezeMetadataProvider, TruColumn, TruColumnModule, TruCommonModule, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDesktop, TruDesktopModule, 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, TruSearchGroupEventHandler, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, 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, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruUiNotification, TruUser, TruWindowActionEventHandler, TruWindowAddViewEventArgs, TruWindowEventArgs, TruWindowEventHandler };
4532
4704
  //# sourceMappingURL=trudb-tru-common-lib.mjs.map