@trudb/tru-common-lib 0.0.179 → 0.0.181

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.
@@ -19,7 +19,13 @@ TruToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
19
19
  TruToolbarDropdownModule,
20
20
  TruToolbarSeparatorModule,
21
21
  TruToolbarContextFilterModule,
22
- TruToolbarTextModule], exports: [TruToolbar] });
22
+ TruToolbarTextModule], exports: [TruToolbar,
23
+ TruToolbarMenuModule,
24
+ TruToolbarButtonModule,
25
+ TruToolbarDropdownModule,
26
+ TruToolbarSeparatorModule,
27
+ TruToolbarContextFilterModule,
28
+ TruToolbarTextModule] });
23
29
  TruToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruToolbarModule, imports: [CommonModule,
24
30
  FormsModule,
25
31
  TruToolbarMenuModule,
@@ -27,6 +33,11 @@ TruToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
27
33
  TruToolbarDropdownModule,
28
34
  TruToolbarSeparatorModule,
29
35
  TruToolbarContextFilterModule,
36
+ TruToolbarTextModule, TruToolbarMenuModule,
37
+ TruToolbarButtonModule,
38
+ TruToolbarDropdownModule,
39
+ TruToolbarSeparatorModule,
40
+ TruToolbarContextFilterModule,
30
41
  TruToolbarTextModule] });
31
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruToolbarModule, decorators: [{
32
43
  type: NgModule,
@@ -42,7 +53,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
42
53
  TruToolbarContextFilterModule,
43
54
  TruToolbarTextModule
44
55
  ],
45
- exports: [TruToolbar]
56
+ exports: [TruToolbar,
57
+ TruToolbarMenuModule,
58
+ TruToolbarButtonModule,
59
+ TruToolbarDropdownModule,
60
+ TruToolbarSeparatorModule,
61
+ TruToolbarContextFilterModule,
62
+ TruToolbarTextModule
63
+ ]
46
64
  }]
47
65
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdHJ1LXRvb2xiYXItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQWdCdEUsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQWJaLFVBQVUsYUFFdkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLG9CQUFvQixhQUVaLFVBQVU7OEdBRVQsZ0JBQWdCLFlBWHpCLFlBQVk7UUFDWixXQUFXO1FBQ1gsb0JBQW9CO1FBQ3BCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLDZCQUE2QjtRQUM3QixvQkFBb0I7MkZBSVgsZ0JBQWdCO2tCQWQ1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLDZCQUE2Qjt3QkFDN0Isb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBUcnVUb29sYmFyIH0gZnJvbSBcIi4vdHJ1LXRvb2xiYXJcIjtcclxuaW1wb3J0IHsgVHJ1VG9vbGJhck1lbnVNb2R1bGUgfSBmcm9tIFwiLi9tZW51L3RydS10b29sYmFyLW1lbnUtbW9kdWxlXCI7XHJcbmltcG9ydCB7IFRydVRvb2xiYXJCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi9idXR0b24vdHJ1LXRvb2xiYXItYnV0dG9uLW1vZHVsZVwiO1xyXG5pbXBvcnQgeyBUcnVUb29sYmFyRHJvcGRvd25Nb2R1bGUgfSBmcm9tIFwiLi9kcm9wZG93bi90cnUtdG9vbGJhci1kcm9wZG93bi1tb2R1bGVcIjtcclxuaW1wb3J0IHsgVHJ1VG9vbGJhclNlcGFyYXRvck1vZHVsZSB9IGZyb20gXCIuL3NlcGFyYXRvci90cnUtdG9vbGJhci1zZXBhcmF0b3ItbW9kdWxlXCI7XHJcbmltcG9ydCB7IFRydVRvb2xiYXJDb250ZXh0RmlsdGVyTW9kdWxlIH0gZnJvbSBcIi4vY29udGV4dC1maWx0ZXIvdHJ1LXRvb2xiYXItY29udGV4dC1maWx0ZXItbW9kdWxlXCI7XHJcbmltcG9ydCB7IFRydVRvb2xiYXJUZXh0TW9kdWxlIH0gZnJvbSBcIi4vdGV4dC90cnUtdG9vbGJhci10ZXh0LW1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUcnVUb29sYmFyXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFRydVRvb2xiYXJNZW51TW9kdWxlLFxyXG4gICAgVHJ1VG9vbGJhckJ1dHRvbk1vZHVsZSxcclxuICAgIFRydVRvb2xiYXJEcm9wZG93bk1vZHVsZSxcclxuICAgIFRydVRvb2xiYXJTZXBhcmF0b3JNb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyQ29udGV4dEZpbHRlck1vZHVsZSxcclxuICAgIFRydVRvb2xiYXJUZXh0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVHJ1VG9vbGJhcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVRvb2xiYXJNb2R1bGUgeyB9XHJcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdHJ1LXRvb2xiYXItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQXVCdEUsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQXBCWixVQUFVLGFBRXZCLFlBQVk7UUFDWixXQUFXO1FBQ1gsb0JBQW9CO1FBQ3BCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLDZCQUE2QjtRQUM3QixvQkFBb0IsYUFFWixVQUFVO1FBQ2xCLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6Qiw2QkFBNkI7UUFDN0Isb0JBQW9COzhHQUdYLGdCQUFnQixZQWxCekIsWUFBWTtRQUNaLFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLG9CQUFvQixFQUdwQixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLG9CQUFvQjsyRkFHWCxnQkFBZ0I7a0JBckI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLDZCQUE2Qjt3QkFDN0Isb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxVQUFVO3dCQUNsQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLDZCQUE2Qjt3QkFDN0Isb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHsgVHJ1VG9vbGJhciB9IGZyb20gXCIuL3RydS10b29sYmFyXCI7XHJcbmltcG9ydCB7IFRydVRvb2xiYXJNZW51TW9kdWxlIH0gZnJvbSBcIi4vbWVudS90cnUtdG9vbGJhci1tZW51LW1vZHVsZVwiO1xyXG5pbXBvcnQgeyBUcnVUb29sYmFyQnV0dG9uTW9kdWxlIH0gZnJvbSBcIi4vYnV0dG9uL3RydS10b29sYmFyLWJ1dHRvbi1tb2R1bGVcIjtcclxuaW1wb3J0IHsgVHJ1VG9vbGJhckRyb3Bkb3duTW9kdWxlIH0gZnJvbSBcIi4vZHJvcGRvd24vdHJ1LXRvb2xiYXItZHJvcGRvd24tbW9kdWxlXCI7XHJcbmltcG9ydCB7IFRydVRvb2xiYXJTZXBhcmF0b3JNb2R1bGUgfSBmcm9tIFwiLi9zZXBhcmF0b3IvdHJ1LXRvb2xiYXItc2VwYXJhdG9yLW1vZHVsZVwiO1xyXG5pbXBvcnQgeyBUcnVUb29sYmFyQ29udGV4dEZpbHRlck1vZHVsZSB9IGZyb20gXCIuL2NvbnRleHQtZmlsdGVyL3RydS10b29sYmFyLWNvbnRleHQtZmlsdGVyLW1vZHVsZVwiO1xyXG5pbXBvcnQgeyBUcnVUb29sYmFyVGV4dE1vZHVsZSB9IGZyb20gXCIuL3RleHQvdHJ1LXRvb2xiYXItdGV4dC1tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVHJ1VG9vbGJhcl0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyTWVudU1vZHVsZSxcclxuICAgIFRydVRvb2xiYXJCdXR0b25Nb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyU2VwYXJhdG9yTW9kdWxlLFxyXG4gICAgVHJ1VG9vbGJhckNvbnRleHRGaWx0ZXJNb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyVGV4dE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1RydVRvb2xiYXIsXHJcbiAgICBUcnVUb29sYmFyTWVudU1vZHVsZSxcclxuICAgIFRydVRvb2xiYXJCdXR0b25Nb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyU2VwYXJhdG9yTW9kdWxlLFxyXG4gICAgVHJ1VG9vbGJhckNvbnRleHRGaWx0ZXJNb2R1bGUsXHJcbiAgICBUcnVUb29sYmFyVGV4dE1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVRvb2xiYXJNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class PredicateMap {
4
+ constructor() { }
5
+ }
6
+ PredicateMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PredicateMap, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
+ PredicateMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PredicateMap });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PredicateMap, decorators: [{
9
+ type: Injectable
10
+ }], ctorParameters: function () { return []; } });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByZWRpY2F0ZS1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS1wcmVkaWNhdGUtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLGdCQUFnQixDQUFDOzt5R0FETixZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUHJlZGljYXRlTWFwIHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,134 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as _ from 'underscore';
3
+ import * as i0 from "@angular/core";
4
+ export class TruTextManager {
5
+ constructor() {
6
+ /**
7
+ * If text.length exceeds length, then returns a string that is the first length chars
8
+ * of text plus suffix. Otherwise, returns text.
9
+ * @param {string} text
10
+ * @param {number} length
11
+ * @param {string} suffix
12
+ * @return {string}
13
+ */
14
+ this.truncate = (text, length, suffix) => {
15
+ return text.length > length ? text.substr(0, length) + suffix : text.toString();
16
+ };
17
+ this.isMac = () => {
18
+ return navigator.platform.toUpperCase().indexOf('MAC') >= 0;
19
+ };
20
+ /**
21
+ * Formats the text to use for the window title.
22
+ * @param {string} text
23
+ * @return {string} - Window title.
24
+ */
25
+ this.formatWindowTitle = (text) => {
26
+ return this.truncate(text, 60, '...');
27
+ };
28
+ /**
29
+ * Returns a message indicating that an entity or entities were deleted in another view.
30
+ * @param {string} entityTypeLabel - Description of the entity type.
31
+ * @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
32
+ * @param [{number}] count - Number of entities.
33
+ */
34
+ this.fmtEntityDeletedInOtherView = (entityTypeLabel, entityTypePluralLabel, count) => {
35
+ if (!count || count === 1)
36
+ return entityTypeLabel + ' deleted in another view';
37
+ return count + ' ' + entityTypePluralLabel + ' deleted in another view';
38
+ };
39
+ /**
40
+ * Returns a message used to confirm deletion of an entity or entities.
41
+ * @param {string} entityTypeLabel - Description of the entity type.
42
+ * @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
43
+ * @param [{number}] count - Number of entities.
44
+ */
45
+ this.fmtDeleteConfirmation = (entityTypeLabel, entityTypePluralLabel = null, count = null) => {
46
+ if (count === null)
47
+ return 'Are you sure you want to delete this ' + entityTypeLabel + '?';
48
+ if (count === 1)
49
+ return 'Are you sure you want to delete 1 ' + entityTypeLabel + '?';
50
+ return 'Are you sure you want to delete ' + count + ' ' + entityTypePluralLabel + '?';
51
+ };
52
+ /**
53
+ * Returns a message formatted from an error object.
54
+ * @param {error|string} error
55
+ * @returns {string}
56
+ */
57
+ this.fmtErrorToShow = (error) => {
58
+ if (typeof error === 'string')
59
+ error = new Error(error);
60
+ var lines = [];
61
+ lines.push(error.message);
62
+ var exception = error.detail;
63
+ while (exception) {
64
+ var message = exception.ExceptionMessage;
65
+ if (!_.contains(lines, message))
66
+ lines.push(message);
67
+ exception = exception.InnerException;
68
+ }
69
+ if (error.entityErrors) {
70
+ error.entityErrors.forEach((entityError) => {
71
+ lines.push('Entity <' + entityError.propertyName + '>: ' + entityError.errorMessage);
72
+ });
73
+ }
74
+ if (error.stack)
75
+ lines.push(error.stack);
76
+ var text = lines.join('\r\n\r\n');
77
+ if (!text)
78
+ text = _.map(error, (value, key) => { return key + ': ' + value; }).join('\r\n');
79
+ return text;
80
+ };
81
+ /**
82
+ * Returns a message formatted from an exception object.
83
+ * @param {object} exception
84
+ * @returns {string}
85
+ */
86
+ this.fmtExceptionToShow = (exception) => {
87
+ var lines = [];
88
+ while (exception) {
89
+ var message = exception.Message;
90
+ if (!_.contains(lines, message))
91
+ lines.push(message);
92
+ exception = exception.InnerException;
93
+ }
94
+ return lines.join('\r\n\r\n');
95
+ };
96
+ /**
97
+ * Returns a message for a data error type.
98
+ * @param {string} typeName
99
+ * @returns {string}
100
+ */
101
+ this.fmtDataError = (typeName) => {
102
+ if (typeName.indexOf('OptimisticLockViolation') >= 0)
103
+ return 'The record was edited already, by another user. Please reload and attempt your edit again.';
104
+ if (typeName.indexOf('DataConstraintViolation') >= 0)
105
+ return 'Foreign key constraint violation';
106
+ if (typeName.indexOf('DuplicateKeyError') >= 0)
107
+ return 'Duplicate key error';
108
+ return typeName;
109
+ };
110
+ this.msgModifierKeyLabel = this.isMac() ? 'Cmd' : 'Ctrl';
111
+ this.msgConfirmExitWithChangesPending = 'You have unsaved changes that will be lost.';
112
+ this.msgDeleteSuccessful = 'Delete succeeded';
113
+ this.msgSaveSuccessful = 'Save succeeded';
114
+ this.msgNoChangesToSave = 'No changes to save';
115
+ this.msgSaveInProgress = 'Save in progress';
116
+ this.msgInvalidData = 'Invalid data';
117
+ this.msgDirtyPreventsReadOnly = 'Save or revert before disabling editing';
118
+ this.msgDirtyPreventsNavigate = 'Save or revert before navigating';
119
+ this.msgDirtyPreventsClose = 'Save or revert before closing window';
120
+ this.msgDirtyPreventsDeleteExistingRecord = 'Save or revert before deleting';
121
+ this.msgNoDeleteAccess = 'Contact administrator about delete access';
122
+ this.msgCannotDeleteNewAndExistingRecords = 'Delete new or existing records - but not both';
123
+ this.msgDeleteReferencingRecordsFirst = 'Delete all referencing records first';
124
+ }
125
+ }
126
+ TruTextManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruTextManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
127
+ TruTextManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruTextManager, providedIn: 'root' });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruTextManager, decorators: [{
129
+ type: Injectable,
130
+ args: [{
131
+ providedIn: 'root',
132
+ }]
133
+ }], ctorParameters: function () { return []; } });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRleHQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LXRleHQtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDOztBQUtoQyxNQUFNLE9BQU8sY0FBYztJQWdCekI7UUFpQkE7Ozs7Ozs7VUFPRTtRQUNNLGFBQVEsR0FBRyxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFVLEVBQUU7WUFDMUUsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEYsQ0FBQyxDQUFBO1FBRUQsVUFBSyxHQUFHLEdBQVksRUFBRTtZQUNwQixPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUE7UUFFRDs7OztXQUlHO1FBQ0gsc0JBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRTtZQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUE7UUFFRDs7Ozs7VUFLRTtRQUNGLGdDQUEyQixHQUFHLENBQUMsZUFBdUIsRUFBRSxxQkFBNkIsRUFBRSxLQUFhLEVBQVUsRUFBRTtZQUM5RyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDO2dCQUN2QixPQUFPLGVBQWUsR0FBRywwQkFB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QWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAndW5kZXJzY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VGV4dE1hbmFnZXIge1xyXG4gIHJlYWRvbmx5IG1zZ01vZGlmaWVyS2V5TGFiZWw6IHN0cmluZztcclxuICByZWFkb25seSBtc2dDb25maXJtRXhpdFdpdGhDaGFuZ2VzUGVuZGluZzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0RlbGV0ZVN1Y2Nlc3NmdWw6IHN0cmluZztcclxuICByZWFkb25seSBtc2dTYXZlU3VjY2Vzc2Z1bDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ05vQ2hhbmdlc1RvU2F2ZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ1NhdmVJblByb2dyZXNzOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgbXNnSW52YWxpZERhdGE6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzUmVhZE9ubHk6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzTmF2aWdhdGU6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzQ2xvc2U6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzRGVsZXRlRXhpc3RpbmdSZWNvcmQ6IHN0cmluZztcclxuICByZWFkb25seSBtc2dOb0RlbGV0ZUFjY2Vzczogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0Nhbm5vdERlbGV0ZU5ld0FuZEV4aXN0aW5nUmVjb3Jkczogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0RlbGV0ZVJlZmVyZW5jaW5nUmVjb3Jkc0ZpcnN0OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5tc2dNb2RpZmllcktleUxhYmVsID0gdGhpcy5pc01hYygpID8gJ0NtZCcgOiAnQ3RybCc7XHJcbiAgICB0aGlzLm1zZ0NvbmZpcm1FeGl0V2l0aENoYW5nZXNQZW5kaW5nID0gJ1lvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyB0aGF0IHdpbGwgYmUgbG9zdC4nO1xyXG4gICAgdGhpcy5tc2dEZWxldGVTdWNjZXNzZnVsID0gJ0RlbGV0ZSBzdWNjZWVkZWQnO1xyXG4gICAgdGhpcy5tc2dTYXZlU3VjY2Vzc2Z1bCA9ICdTYXZlIHN1Y2NlZWRlZCc7XHJcbiAgICB0aGlzLm1zZ05vQ2hhbmdlc1RvU2F2ZSA9ICdObyBjaGFuZ2VzIHRvIHNhdmUnO1xyXG4gICAgdGhpcy5tc2dTYXZlSW5Qcm9ncmVzcyA9ICdTYXZlIGluIHByb2dyZXNzJztcclxuICAgIHRoaXMubXNnSW52YWxpZERhdGEgPSAnSW52YWxpZCBkYXRhJztcclxuICAgIHRoaXMubXNnRGlydHlQcmV2ZW50c1JlYWRPbmx5ID0gJ1NhdmUgb3IgcmV2ZXJ0IGJlZm9yZSBkaXNhYmxpbmcgZWRpdGluZyc7XHJcbiAgICB0aGlzLm1zZ0RpcnR5UHJldmVudHNOYXZpZ2F0ZSA9ICdTYXZlIG9yIHJldmVydCBiZWZvcmUgbmF2aWdhdGluZyc7XHJcbiAgICB0aGlzLm1zZ0RpcnR5UHJldmVudHNDbG9zZSA9ICdTYXZlIG9yIHJldmVydCBiZWZvcmUgY2xvc2luZyB3aW5kb3cnO1xyXG4gICAgdGhpcy5tc2dEaXJ0eVByZXZlbnRzRGVsZXRlRXhpc3RpbmdSZWNvcmQgPSAnU2F2ZSBvciByZXZlcnQgYmVmb3JlIGRlbGV0aW5nJztcclxuICAgIHRoaXMubXNnTm9EZWxldGVBY2Nlc3MgPSAnQ29udGFjdCBhZG1pbmlzdHJhdG9yIGFib3V0IGRlbGV0ZSBhY2Nlc3MnO1xyXG4gICAgdGhpcy5tc2dDYW5ub3REZWxldGVOZXdBbmRFeGlzdGluZ1JlY29yZHMgPSAnRGVsZXRlIG5ldyBvciBleGlzdGluZyByZWNvcmRzIC0gYnV0IG5vdCBib3RoJztcclxuICAgIHRoaXMubXNnRGVsZXRlUmVmZXJlbmNpbmdSZWNvcmRzRmlyc3QgPSAnRGVsZXRlIGFsbCByZWZlcmVuY2luZyByZWNvcmRzIGZpcnN0JztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSWYgdGV4dC5sZW5ndGggZXhjZWVkcyBsZW5ndGgsIHRoZW4gcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHRoZSBmaXJzdCBsZW5ndGggY2hhcnMgXHJcbiAgKiBvZiB0ZXh0IHBsdXMgc3VmZml4LiAgT3RoZXJ3aXNlLCByZXR1cm5zIHRleHQuXHJcbiAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dFxyXG4gICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxyXG4gICogQHBhcmFtIHtzdHJpbmd9IHN1ZmZpeFxyXG4gICogQHJldHVybiB7c3RyaW5nfVxyXG4gICovXHJcbiAgcHJpdmF0ZSB0cnVuY2F0ZSA9ICh0ZXh0OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyLCBzdWZmaXg6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgICByZXR1cm4gdGV4dC5sZW5ndGggPiBsZW5ndGggPyB0ZXh0LnN1YnN0cigwLCBsZW5ndGgpICsgc3VmZml4IDogdGV4dC50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgaXNNYWMgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICByZXR1cm4gbmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZignTUFDJykgPj0gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdHMgdGhlIHRleHQgdG8gdXNlIGZvciB0aGUgd2luZG93IHRpdGxlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XHJcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIFdpbmRvdyB0aXRsZS5cclxuICAgKi9cclxuICBmb3JtYXRXaW5kb3dUaXRsZSA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJ1bmNhdGUodGV4dCwgNjAsICcuLi4nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogUmV0dXJucyBhIG1lc3NhZ2UgaW5kaWNhdGluZyB0aGF0IGFuIGVudGl0eSBvciBlbnRpdGllcyB3ZXJlIGRlbGV0ZWQgaW4gYW5vdGhlciB2aWV3LiBcclxuICAqIEBwYXJhbSB7c3RyaW5nfSBlbnRpdHlUeXBlTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgKiBAcGFyYW0gW3tzdHJpbmd9XSBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIG9mIHRoZSBlbnRpdHkgdHlwZS5cclxuICAqIEBwYXJhbSBbe251bWJlcn1dIGNvdW50IC0gTnVtYmVyIG9mIGVudGl0aWVzLlxyXG4gICovXHJcbiAgZm10RW50aXR5RGVsZXRlZEluT3RoZXJWaWV3ID0gKGVudGl0eVR5cGVMYWJlbDogc3RyaW5nLCBlbnRpdHlUeXBlUGx1cmFsTGFiZWw6IHN0cmluZywgY291bnQ6IG51bWJlcik6IHN0cmluZyA9PiB7XHJcbiAgICBpZiAoIWNvdW50IHx8IGNvdW50ID09PSAxKVxyXG4gICAgICByZXR1cm4gZW50aXR5VHlwZUxhYmVsICsgJyBkZWxldGVkIGluIGFub3RoZXIgdmlldyc7XHJcbiAgICByZXR1cm4gY291bnQgKyAnICcgKyBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgKyAnIGRlbGV0ZWQgaW4gYW5vdGhlciB2aWV3JztcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbWVzc2FnZSB1c2VkIHRvIGNvbmZpcm0gZGVsZXRpb24gb2YgYW4gZW50aXR5IG9yIGVudGl0aWVzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbnRpdHlUeXBlTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgICogQHBhcmFtIFt7c3RyaW5nfV0gZW50aXR5VHlwZVBsdXJhbExhYmVsIC0gRGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgICogQHBhcmFtIFt7bnVtYmVyfV0gY291bnQgLSBOdW1iZXIgb2YgZW50aXRpZXMuXHJcbiAgICovXHJcbiAgZm10RGVsZXRlQ29uZmlybWF0aW9uID0gKFxyXG4gICAgZW50aXR5VHlwZUxhYmVsOiBzdHJpbmcsXHJcbiAgICBlbnRpdHlUeXBlUGx1cmFsTGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgY291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgIGlmIChjb3VudCA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgJyArIGVudGl0eVR5cGVMYWJlbCArICc/JztcclxuICAgIGlmIChjb3VudCA9PT0gMSlcclxuICAgICAgcmV0dXJuICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIDEgJyArIGVudGl0eVR5cGVMYWJlbCArICc/JztcclxuICAgIHJldHVybiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSAnICsgY291bnQgKyAnICcgKyBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgKyAnPyc7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIG1lc3NhZ2UgZm9ybWF0dGVkIGZyb20gYW4gZXJyb3Igb2JqZWN0LlxyXG4gICAqIEBwYXJhbSB7ZXJyb3J8c3RyaW5nfSBlcnJvciBcclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxyXG4gICAqL1xyXG4gIGZtdEVycm9yVG9TaG93ID0gKGVycm9yOiBhbnkpOiBzdHJpbmcgPT4ge1xyXG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKGVycm9yKTtcclxuICAgIHZhciBsaW5lcyA9IFtdO1xyXG4gICAgbGluZXMucHVzaChlcnJvci5tZXNzYWdlKTtcclxuICAgIHZhciBleGNlcHRpb24gPSBlcnJvci5kZXRhaWw7XHJcbiAgICB3aGlsZSAoZXhjZXB0aW9uKSB7XHJcbiAgICAgIHZhciBtZXNzYWdlID0gZXhjZXB0aW9uLkV4Y2VwdGlvbk1lc3NhZ2U7XHJcbiAgICAgIGlmICghXy5jb250YWlucyhsaW5lcywgbWVzc2FnZSkpXHJcbiAgICAgICAgbGluZXMucHVzaChtZXNzYWdlKTtcclxuICAgICAgZXhjZXB0aW9uID0gZXhjZXB0aW9uLklubmVyRXhjZXB0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGVycm9yLmVudGl0eUVycm9ycykge1xyXG4gICAgICBlcnJvci5lbnRpdHlFcnJvcnMuZm9yRWFjaCgoZW50aXR5RXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIGxpbmVzLnB1c2goJ0VudGl0eSA8JyArIGVudGl0eUVycm9yLnByb3BlcnR5TmFtZSArICc+OiAnICsgZW50aXR5RXJyb3IuZXJyb3JNZXNzYWdlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXJyb3Iuc3RhY2spXHJcbiAgICAgIGxpbmVzLnB1c2goZXJyb3Iuc3RhY2spO1xyXG4gICAgdmFyIHRleHQgPSBsaW5lcy5qb2luKCdcXHJcXG5cXHJcXG4nKTtcclxuICAgIGlmICghdGV4dClcclxuICAgICAgdGV4dCA9IF8ubWFwKGVycm9yLCAodmFsdWU6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHsgcmV0dXJuIGtleSArICc6ICcgKyB2YWx1ZSB9KS5qb2luKCdcXHJcXG4nKTtcclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSBtZXNzYWdlIGZvcm1hdHRlZCBmcm9tIGFuIGV4Y2VwdGlvbiBvYmplY3QuXHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGV4Y2VwdGlvblxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XHJcbiAgICovXHJcbiAgZm10RXhjZXB0aW9uVG9TaG93ID0gKGV4Y2VwdGlvbjogYW55KTogc3RyaW5nID0+IHtcclxuICAgIHZhciBsaW5lcyA9IFtdO1xyXG4gICAgd2hpbGUgKGV4Y2VwdGlvbikge1xyXG4gICAgICB2YXIgbWVzc2FnZSA9IGV4Y2VwdGlvbi5NZXNzYWdlO1xyXG4gICAgICBpZiAoIV8uY29udGFpbnMobGluZXMsIG1lc3NhZ2UpKVxyXG4gICAgICAgIGxpbmVzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgIGV4Y2VwdGlvbiA9IGV4Y2VwdGlvbi5Jbm5lckV4Y2VwdGlvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXHJcXG5cXHJcXG4nKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbWVzc2FnZSBmb3IgYSBkYXRhIGVycm9yIHR5cGUuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGVOYW1lIFxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFxyXG4gICAqL1xyXG4gIGZtdERhdGFFcnJvciA9ICh0eXBlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgIGlmICh0eXBlTmFtZS5pbmRleE9mKCdPcHRpbWlzdGljTG9ja1Zpb2xhdGlvbicpID49IDApXHJcbiAgICAgIHJldHVybiAnVGhlIHJlY29yZCB3YXMgZWRpdGVkIGFscmVhZHksIGJ5IGFub3RoZXIgdXNlci4gIFBsZWFzZSByZWxvYWQgYW5kIGF0dGVtcHQgeW91ciBlZGl0IGFnYWluLic7XHJcbiAgICBpZiAodHlwZU5hbWUuaW5kZXhPZignRGF0YUNvbnN0cmFpbnRWaW9sYXRpb24nKSA+PSAwKVxyXG4gICAgICByZXR1cm4gJ0ZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdmlvbGF0aW9uJztcclxuICAgIGlmICh0eXBlTmFtZS5pbmRleE9mKCdEdXBsaWNhdGVLZXlFcnJvcicpID49IDApXHJcbiAgICAgIHJldHVybiAnRHVwbGljYXRlIGtleSBlcnJvcic7XHJcbiAgICByZXR1cm4gdHlwZU5hbWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,54 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TruUser {
4
+ constructor() {
5
+ this._ref = -1;
6
+ this._username = null;
7
+ this._firstName = null;
8
+ this._lastName = null;
9
+ this._roles = null;
10
+ this.hasRoles = (roles) => {
11
+ if (this._roles === null)
12
+ return true;
13
+ return true; //_.intersection(roles, this._roles).length > 0;
14
+ };
15
+ }
16
+ get activeUserRef() {
17
+ if (this._ref < 0)
18
+ throw new Error('Inavlid User.');
19
+ return this._ref;
20
+ }
21
+ set activeUserRef(ref) {
22
+ this._ref = ref;
23
+ }
24
+ get username() {
25
+ return this._username;
26
+ }
27
+ set username(username) {
28
+ this._username = username;
29
+ }
30
+ get firstName() {
31
+ return this._firstName;
32
+ }
33
+ set firstName(firstName) {
34
+ this._firstName = firstName;
35
+ }
36
+ get lastName() {
37
+ return this._lastName;
38
+ }
39
+ set lastName(lastName) {
40
+ this._lastName = lastName;
41
+ }
42
+ set roles(roles) {
43
+ this._roles = roles;
44
+ }
45
+ }
46
+ TruUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruUser, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ TruUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruUser, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruUser, decorators: [{
49
+ type: Injectable,
50
+ args: [{
51
+ providedIn: 'root',
52
+ }]
53
+ }], ctorParameters: function () { return []; } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxPQUFPO0lBT2xCO1FBTlEsU0FBSSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLFdBQU0sR0FBb0IsSUFBSSxDQUFDO1FBMEN2QyxhQUFRLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSTtnQkFDdEIsT0FBTyxJQUFJLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQyxDQUFDLGlEQUFpRDtRQUNoRSxDQUFDLENBQUM7SUE1Q2EsQ0FBQztJQUVoQixJQUFJLGFBQWE7UUFDZixJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLFNBQXdCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFzQjtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDOztvR0E3Q1UsT0FBTzt3R0FBUCxPQUFPLGNBRk4sTUFBTTsyRkFFUCxPQUFPO2tCQUhuQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICd1bmRlcnNjb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVVc2VyIHtcclxuICBwcml2YXRlIF9yZWY6IG51bWJlciA9IC0xO1xyXG4gIHByaXZhdGUgX3VzZXJuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9maXJzdE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX2xhc3ROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9yb2xlczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBnZXQgYWN0aXZlVXNlclJlZigpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3JlZiA8IDApXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW5hdmxpZCBVc2VyLicpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZjtcclxuICB9XHJcblxyXG4gIHNldCBhY3RpdmVVc2VyUmVmKHJlZjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9yZWYgPSByZWY7XHJcbiAgfVxyXG5cclxuICBnZXQgdXNlcm5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdXNlcm5hbWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdXNlcm5hbWUodXNlcm5hbWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHRoaXMuX3VzZXJuYW1lID0gdXNlcm5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3ROYW1lKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpcnN0TmFtZTtcclxuICB9XHJcblxyXG4gIHNldCBmaXJzdE5hbWUoZmlyc3ROYW1lOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9maXJzdE5hbWUgPSBmaXJzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBzZXQgbGFzdE5hbWUobGFzdE5hbWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHRoaXMuX2xhc3ROYW1lID0gbGFzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBzZXQgcm9sZXMocm9sZXM6IHN0cmluZ1tdIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fcm9sZXMgPSByb2xlcztcclxuICB9XHJcblxyXG4gIGhhc1JvbGVzID0gKHJvbGVzOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgaWYgKHRoaXMuX3JvbGVzID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0cnVlOyAvL18uaW50ZXJzZWN0aW9uKHJvbGVzLCB0aGlzLl9yb2xlcykubGVuZ3RoID4gMDsgXHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -26,11 +26,31 @@ export * from "./lib/components/export-dialog/tru-export-dialog";
26
26
  export * from "./lib/components/export-dialog/tru-export-dialog-module";
27
27
  export * from "./lib/components/toolbar/tru-toolbar";
28
28
  export * from "./lib/components/toolbar/tru-toolbar-module";
29
+ export * from "./lib/components/toolbar/menu/tru-toolbar-menu";
30
+ export * from "./lib/components/toolbar/menu/tru-toolbar-menu-module";
31
+ export * from "./lib/components/toolbar/button/tru-toolbar-button";
32
+ export * from "./lib/components/toolbar/button/tru-toolbar-button-module";
33
+ export * from "./lib/components/toolbar/dropdown/tru-toolbar-dropdown";
34
+ export * from "./lib/components/toolbar/dropdown/tru-toolbar-dropdown-module";
35
+ export * from "./lib/components/toolbar/separator/tru-toolbar-separator";
36
+ export * from "./lib/components/toolbar/separator/tru-toolbar-separator-module";
37
+ export * from "./lib/components/toolbar/context-filter/tru-toolbar-context-filter";
38
+ export * from "./lib/components/toolbar/context-filter/tru-toolbar-context-filter-module";
39
+ export * from "./lib/components/toolbar/text/tru-toolbar-text";
40
+ export * from "./lib/components/toolbar/text/tru-toolbar-text-module";
29
41
  /*
30
42
  * Services
31
43
  */
32
- export * from './lib/services/tru-search-group-event-handler';
44
+ export * from './lib/services/tru-app-environment';
45
+ export * from './lib/services/tru-breeze-context-factory';
33
46
  export * from './lib/services/tru-component-lookup';
47
+ export * from './lib/services/tru-data-context';
48
+ export * from './lib/services/tru-entity-accessor';
49
+ export * from './lib/services/tru-predicate-map';
50
+ export * from './lib/services/tru-text-manager';
51
+ export * from './lib/services/tru-ui-notification';
52
+ export * from './lib/services/tru-user';
53
+ export * from './lib/services/tru-search-group-event-handler';
34
54
  export * from './lib/services/tru-window-action-event-handler';
35
55
  export * from './lib/services/tru-window-event-handler';
36
56
  /*
@@ -38,4 +58,4 @@ export * from './lib/services/tru-window-event-handler';
38
58
  */
39
59
  export * from "./lib/assets/tru-search-icon-module";
40
60
  export * from "./lib/tru-common-module";
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFOztHQUVHO0FBQ0gsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RDs7R0FFRztBQUNILGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RDs7R0FFRztBQUNILGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMseUNBQXlDLENBQUM7QUFHeEQ7O0dBRUc7QUFDSCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRydS1jb21tb24tbGliXG4gKi9cblxuLypcbiAqIEJhc2UgQ2xhc3Nlc1xuICovXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvYmFzZS1jbGFzc2VzL3RydS1lbnRpdHktYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LXNlYXJjaC1jb21wb25lbnQtYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtc2VhcmNoLWNvbXBvbmVudC1jb25maWctYmFzZVwiO1xuXG4vKlxuICogQ2xhc3Nlc1xuICovXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY2xhc3Nlcy90cnUtcHJlZGljYXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY2xhc3Nlcy90cnUtcXVlcnktcHJlZGljYXRlLW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jbGFzc2VzL3RydS13aW5kb3ctZXZlbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jbGFzc2VzL3RydS13aW5kb3ctYWRkLXZpZXctZXZlbnRcIjtcblxuLypcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvdHJ1LWNvbmZpcm0tZGlhbG9nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2ctbW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3RydS1kZXNrdG9wXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3RydS1kZXNrdG9wLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZy1tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdHJ1LXRvb2xiYXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdHJ1LXRvb2xiYXItbW9kdWxlXCI7XG5cbi8qXG4gKiBTZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtc2VhcmNoLWdyb3VwLWV2ZW50LWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWNvbXBvbmVudC1sb29rdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXdpbmRvdy1hY3Rpb24tZXZlbnQtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtd2luZG93LWV2ZW50LWhhbmRsZXInO1xuXG5cbi8qXG4gKiBNb2R1bGVzXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9hc3NldHMvdHJ1LXNlYXJjaC1pY29uLW1vZHVsZVwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdHJ1LWNvbW1vbi1tb2R1bGVcIjtcbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFOztHQUVHO0FBQ0gsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RDs7R0FFRztBQUNILGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1REFBdUQsQ0FBQztBQUV0RTs7R0FFRztBQUNILGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0cnUtY29tbW9uLWxpYlxuICovXG5cbi8qXG4gKiBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtZW50aXR5LWJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29tcG9uZW50LWJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LXNlYXJjaC1jb21wb25lbnQtY29uZmlnLWJhc2VcIjtcblxuLypcbiAqIENsYXNzZXNcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NsYXNzZXMvdHJ1LXByZWRpY2F0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NsYXNzZXMvdHJ1LXF1ZXJ5LXByZWRpY2F0ZS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY2xhc3Nlcy90cnUtd2luZG93LWV2ZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY2xhc3Nlcy90cnUtd2luZG93LWFkZC12aWV3LWV2ZW50XCI7XG5cbi8qXG4gKiBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL3RydS1jb25maXJtLWRpYWxvZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvdHJ1LWNvbmZpcm0tZGlhbG9nLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZGVza3RvcC90cnUtZGVza3RvcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZGVza3RvcC90cnUtZGVza3RvcC1tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2V4cG9ydC1kaWFsb2cvdHJ1LWV4cG9ydC1kaWFsb2dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2V4cG9ydC1kaWFsb2cvdHJ1LWV4cG9ydC1kaWFsb2ctbW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL3RydS10b29sYmFyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL3RydS10b29sYmFyLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9tZW51L3RydS10b29sYmFyLW1lbnVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvbWVudS90cnUtdG9vbGJhci1tZW51LW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9idXR0b24vdHJ1LXRvb2xiYXItYnV0dG9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL2J1dHRvbi90cnUtdG9vbGJhci1idXR0b24tbW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL2Ryb3Bkb3duL3RydS10b29sYmFyLWRyb3Bkb3duXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL2Ryb3Bkb3duL3RydS10b29sYmFyLWRyb3Bkb3duLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9zZXBhcmF0b3IvdHJ1LXRvb2xiYXItc2VwYXJhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL3NlcGFyYXRvci90cnUtdG9vbGJhci1zZXBhcmF0b3ItbW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL2NvbnRleHQtZmlsdGVyL3RydS10b29sYmFyLWNvbnRleHQtZmlsdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90b29sYmFyL2NvbnRleHQtZmlsdGVyL3RydS10b29sYmFyLWNvbnRleHQtZmlsdGVyLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdG9vbGJhci90ZXh0L3RydS10b29sYmFyLXRleHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdGV4dC90cnUtdG9vbGJhci10ZXh0LW1vZHVsZVwiO1xuXG4vKlxuICogU2VydmljZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWFwcC1lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtYnJlZXplLWNvbnRleHQtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtY29tcG9uZW50LWxvb2t1cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtZGF0YS1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1lbnRpdHktYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXByZWRpY2F0ZS1tYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXRleHQtbWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtdWktbm90aWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1zZWFyY2gtZ3JvdXAtZXZlbnQtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtd2luZG93LWFjdGlvbi1ldmVudC1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS13aW5kb3ctZXZlbnQtaGFuZGxlcic7XG5cbi8qXG4gKiBNb2R1bGVzXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9hc3NldHMvdHJ1LXNlYXJjaC1pY29uLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RydS1jb21tb24tbW9kdWxlXCI7XG4iXX0=
@@ -2966,7 +2966,13 @@ TruToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
2966
2966
  TruToolbarDropdownModule,
2967
2967
  TruToolbarSeparatorModule,
2968
2968
  TruToolbarContextFilterModule,
2969
- TruToolbarTextModule], exports: [TruToolbar] });
2969
+ TruToolbarTextModule], exports: [TruToolbar,
2970
+ TruToolbarMenuModule,
2971
+ TruToolbarButtonModule,
2972
+ TruToolbarDropdownModule,
2973
+ TruToolbarSeparatorModule,
2974
+ TruToolbarContextFilterModule,
2975
+ TruToolbarTextModule] });
2970
2976
  TruToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruToolbarModule, imports: [CommonModule,
2971
2977
  FormsModule,
2972
2978
  TruToolbarMenuModule,
@@ -2974,6 +2980,11 @@ TruToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
2974
2980
  TruToolbarDropdownModule,
2975
2981
  TruToolbarSeparatorModule,
2976
2982
  TruToolbarContextFilterModule,
2983
+ TruToolbarTextModule, TruToolbarMenuModule,
2984
+ TruToolbarButtonModule,
2985
+ TruToolbarDropdownModule,
2986
+ TruToolbarSeparatorModule,
2987
+ TruToolbarContextFilterModule,
2977
2988
  TruToolbarTextModule] });
2978
2989
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruToolbarModule, decorators: [{
2979
2990
  type: NgModule,
@@ -2989,7 +3000,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
2989
3000
  TruToolbarContextFilterModule,
2990
3001
  TruToolbarTextModule
2991
3002
  ],
2992
- exports: [TruToolbar]
3003
+ exports: [TruToolbar,
3004
+ TruToolbarMenuModule,
3005
+ TruToolbarButtonModule,
3006
+ TruToolbarDropdownModule,
3007
+ TruToolbarSeparatorModule,
3008
+ TruToolbarContextFilterModule,
3009
+ TruToolbarTextModule
3010
+ ]
2993
3011
  }]
2994
3012
  }] });
2995
3013
 
@@ -3211,6 +3229,198 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
3211
3229
  }]
3212
3230
  }] });
3213
3231
 
3232
+ class PredicateMap {
3233
+ constructor() { }
3234
+ }
3235
+ PredicateMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PredicateMap, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3236
+ PredicateMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PredicateMap });
3237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PredicateMap, decorators: [{
3238
+ type: Injectable
3239
+ }], ctorParameters: function () { return []; } });
3240
+
3241
+ class TruTextManager {
3242
+ constructor() {
3243
+ /**
3244
+ * If text.length exceeds length, then returns a string that is the first length chars
3245
+ * of text plus suffix. Otherwise, returns text.
3246
+ * @param {string} text
3247
+ * @param {number} length
3248
+ * @param {string} suffix
3249
+ * @return {string}
3250
+ */
3251
+ this.truncate = (text, length, suffix) => {
3252
+ return text.length > length ? text.substr(0, length) + suffix : text.toString();
3253
+ };
3254
+ this.isMac = () => {
3255
+ return navigator.platform.toUpperCase().indexOf('MAC') >= 0;
3256
+ };
3257
+ /**
3258
+ * Formats the text to use for the window title.
3259
+ * @param {string} text
3260
+ * @return {string} - Window title.
3261
+ */
3262
+ this.formatWindowTitle = (text) => {
3263
+ return this.truncate(text, 60, '...');
3264
+ };
3265
+ /**
3266
+ * Returns a message indicating that an entity or entities were deleted in another view.
3267
+ * @param {string} entityTypeLabel - Description of the entity type.
3268
+ * @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
3269
+ * @param [{number}] count - Number of entities.
3270
+ */
3271
+ this.fmtEntityDeletedInOtherView = (entityTypeLabel, entityTypePluralLabel, count) => {
3272
+ if (!count || count === 1)
3273
+ return entityTypeLabel + ' deleted in another view';
3274
+ return count + ' ' + entityTypePluralLabel + ' deleted in another view';
3275
+ };
3276
+ /**
3277
+ * Returns a message used to confirm deletion of an entity or entities.
3278
+ * @param {string} entityTypeLabel - Description of the entity type.
3279
+ * @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
3280
+ * @param [{number}] count - Number of entities.
3281
+ */
3282
+ this.fmtDeleteConfirmation = (entityTypeLabel, entityTypePluralLabel = null, count = null) => {
3283
+ if (count === null)
3284
+ return 'Are you sure you want to delete this ' + entityTypeLabel + '?';
3285
+ if (count === 1)
3286
+ return 'Are you sure you want to delete 1 ' + entityTypeLabel + '?';
3287
+ return 'Are you sure you want to delete ' + count + ' ' + entityTypePluralLabel + '?';
3288
+ };
3289
+ /**
3290
+ * Returns a message formatted from an error object.
3291
+ * @param {error|string} error
3292
+ * @returns {string}
3293
+ */
3294
+ this.fmtErrorToShow = (error) => {
3295
+ if (typeof error === 'string')
3296
+ error = new Error(error);
3297
+ var lines = [];
3298
+ lines.push(error.message);
3299
+ var exception = error.detail;
3300
+ while (exception) {
3301
+ var message = exception.ExceptionMessage;
3302
+ if (!_.contains(lines, message))
3303
+ lines.push(message);
3304
+ exception = exception.InnerException;
3305
+ }
3306
+ if (error.entityErrors) {
3307
+ error.entityErrors.forEach((entityError) => {
3308
+ lines.push('Entity <' + entityError.propertyName + '>: ' + entityError.errorMessage);
3309
+ });
3310
+ }
3311
+ if (error.stack)
3312
+ lines.push(error.stack);
3313
+ var text = lines.join('\r\n\r\n');
3314
+ if (!text)
3315
+ text = _.map(error, (value, key) => { return key + ': ' + value; }).join('\r\n');
3316
+ return text;
3317
+ };
3318
+ /**
3319
+ * Returns a message formatted from an exception object.
3320
+ * @param {object} exception
3321
+ * @returns {string}
3322
+ */
3323
+ this.fmtExceptionToShow = (exception) => {
3324
+ var lines = [];
3325
+ while (exception) {
3326
+ var message = exception.Message;
3327
+ if (!_.contains(lines, message))
3328
+ lines.push(message);
3329
+ exception = exception.InnerException;
3330
+ }
3331
+ return lines.join('\r\n\r\n');
3332
+ };
3333
+ /**
3334
+ * Returns a message for a data error type.
3335
+ * @param {string} typeName
3336
+ * @returns {string}
3337
+ */
3338
+ this.fmtDataError = (typeName) => {
3339
+ if (typeName.indexOf('OptimisticLockViolation') >= 0)
3340
+ return 'The record was edited already, by another user. Please reload and attempt your edit again.';
3341
+ if (typeName.indexOf('DataConstraintViolation') >= 0)
3342
+ return 'Foreign key constraint violation';
3343
+ if (typeName.indexOf('DuplicateKeyError') >= 0)
3344
+ return 'Duplicate key error';
3345
+ return typeName;
3346
+ };
3347
+ this.msgModifierKeyLabel = this.isMac() ? 'Cmd' : 'Ctrl';
3348
+ this.msgConfirmExitWithChangesPending = 'You have unsaved changes that will be lost.';
3349
+ this.msgDeleteSuccessful = 'Delete succeeded';
3350
+ this.msgSaveSuccessful = 'Save succeeded';
3351
+ this.msgNoChangesToSave = 'No changes to save';
3352
+ this.msgSaveInProgress = 'Save in progress';
3353
+ this.msgInvalidData = 'Invalid data';
3354
+ this.msgDirtyPreventsReadOnly = 'Save or revert before disabling editing';
3355
+ this.msgDirtyPreventsNavigate = 'Save or revert before navigating';
3356
+ this.msgDirtyPreventsClose = 'Save or revert before closing window';
3357
+ this.msgDirtyPreventsDeleteExistingRecord = 'Save or revert before deleting';
3358
+ this.msgNoDeleteAccess = 'Contact administrator about delete access';
3359
+ this.msgCannotDeleteNewAndExistingRecords = 'Delete new or existing records - but not both';
3360
+ this.msgDeleteReferencingRecordsFirst = 'Delete all referencing records first';
3361
+ }
3362
+ }
3363
+ TruTextManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruTextManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3364
+ TruTextManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruTextManager, providedIn: 'root' });
3365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruTextManager, decorators: [{
3366
+ type: Injectable,
3367
+ args: [{
3368
+ providedIn: 'root',
3369
+ }]
3370
+ }], ctorParameters: function () { return []; } });
3371
+
3372
+ class TruUser {
3373
+ constructor() {
3374
+ this._ref = -1;
3375
+ this._username = null;
3376
+ this._firstName = null;
3377
+ this._lastName = null;
3378
+ this._roles = null;
3379
+ this.hasRoles = (roles) => {
3380
+ if (this._roles === null)
3381
+ return true;
3382
+ return true; //_.intersection(roles, this._roles).length > 0;
3383
+ };
3384
+ }
3385
+ get activeUserRef() {
3386
+ if (this._ref < 0)
3387
+ throw new Error('Inavlid User.');
3388
+ return this._ref;
3389
+ }
3390
+ set activeUserRef(ref) {
3391
+ this._ref = ref;
3392
+ }
3393
+ get username() {
3394
+ return this._username;
3395
+ }
3396
+ set username(username) {
3397
+ this._username = username;
3398
+ }
3399
+ get firstName() {
3400
+ return this._firstName;
3401
+ }
3402
+ set firstName(firstName) {
3403
+ this._firstName = firstName;
3404
+ }
3405
+ get lastName() {
3406
+ return this._lastName;
3407
+ }
3408
+ set lastName(lastName) {
3409
+ this._lastName = lastName;
3410
+ }
3411
+ set roles(roles) {
3412
+ this._roles = roles;
3413
+ }
3414
+ }
3415
+ TruUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruUser, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3416
+ TruUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruUser, providedIn: 'root' });
3417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruUser, decorators: [{
3418
+ type: Injectable,
3419
+ args: [{
3420
+ providedIn: 'root',
3421
+ }]
3422
+ }], ctorParameters: function () { return []; } });
3423
+
3214
3424
  class TruSearchGroupEventHandler {
3215
3425
  constructor() {
3216
3426
  this.search$ = new EventEmitter();
@@ -3339,5 +3549,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
3339
3549
  * Generated bundle index. Do not edit.
3340
3550
  */
3341
3551
 
3342
- export { TruCommonModule, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruDesktop, TruDesktopModule, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruPredicate, TruPropertyConfigBase, TruQueryPredicateManager, TruSearchComponentBase, TruSearchComponentConfigBase, TruSearchGroupEventHandler, TruSearchIconModule, TruToolbar, TruToolbarModule, TruWindowActionEventHandler, TruWindowAddViewEvent, TruWindowEvent, TruWindowEventHandler };
3552
+ export { PredicateMap, TruAppEnvironment, TruBreezeContext, TruBreezeContextFactory, TruCommonModule, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruDataContext, TruDesktop, TruDesktopModule, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruPredicate, TruPropertyConfigBase, TruQueryPredicateManager, TruSearchComponentBase, TruSearchComponentConfigBase, TruSearchGroupEventHandler, TruSearchIconModule, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruUiNotification, TruUser, TruWindowActionEventHandler, TruWindowAddViewEvent, TruWindowEvent, TruWindowEventHandler };
3343
3553
  //# sourceMappingURL=trudb-tru-common-lib.mjs.map