@trudb/tru-common-lib 0.0.683 → 0.0.689
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/password-dialog/tru-password-dialog.mjs +40 -0
- package/esm2020/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +14 -17
- package/esm2020/lib/services/tru-ui-notification.mjs +14 -1
- package/fesm2015/trudb-tru-common-lib.mjs +58 -13
- package/fesm2015/trudb-tru-common-lib.mjs.map +1 -1
- package/fesm2020/trudb-tru-common-lib.mjs +55 -12
- package/fesm2020/trudb-tru-common-lib.mjs.map +1 -1
- package/lib/components/password-dialog/tru-password-dialog.d.ts +23 -0
- package/lib/components/toolbar/user-profile/tru-toolbar-user-profile.d.ts +3 -5
- package/lib/services/tru-ui-notification.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
2
|
+
import { Component, Inject } from '@angular/core';
|
|
3
|
+
import { FormControl } from '@angular/forms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "../../services/tru-user";
|
|
7
|
+
import * as i3 from "../../services/tru-app-environment";
|
|
8
|
+
export class TruPasswordDialog {
|
|
9
|
+
constructor(dialogRef, user, appEnvironment, data) {
|
|
10
|
+
this.dialogRef = dialogRef;
|
|
11
|
+
this.user = user;
|
|
12
|
+
this.appEnvironment = appEnvironment;
|
|
13
|
+
this.data = data;
|
|
14
|
+
this.newPasswordControl = new FormControl('', []);
|
|
15
|
+
this.confirmPasswordControl = new FormControl('', []);
|
|
16
|
+
this.message = null;
|
|
17
|
+
this.canSubmit = () => {
|
|
18
|
+
return this.newPasswordControl.value && this.confirmPasswordControl.value;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.userEntity = this.appEnvironment.globalDataContext?.entityAccess().searchUserByRefCacheOnly(this.user.activeUserRef);
|
|
23
|
+
}
|
|
24
|
+
onConfirm() {
|
|
25
|
+
this.dialogRef.close(true);
|
|
26
|
+
}
|
|
27
|
+
onDismiss() {
|
|
28
|
+
this.dialogRef.close(false);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
TruPasswordDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialog, deps: [{ token: i1.MatDialogRef }, { token: i2.TruUser }, { token: i3.TruAppEnvironment }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
TruPasswordDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruPasswordDialog, selector: "tru-password-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n Change Password\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <p>{{message}}</p>\r\n\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Cancel</button>\r\n <button [disabled]=\"canSubmit()\" mat-raised-button color=\"primary\" (click)=\"onConfirm()\">Submit</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mdc-dialog__title{padding:20px 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}\n"] });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialog, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'tru-password-dialog', template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n Change Password\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <p>{{message}}</p>\r\n\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Cancel</button>\r\n <button [disabled]=\"canSubmit()\" mat-raised-button color=\"primary\" (click)=\"onConfirm()\">Submit</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mdc-dialog__title{padding:20px 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}\n"] }]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.TruUser }, { type: i3.TruAppEnvironment }, { type: TruPasswordDialog, decorators: [{
|
|
37
|
+
type: Inject,
|
|
38
|
+
args: [MAT_DIALOG_DATA]
|
|
39
|
+
}] }]; } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXBhc3N3b3JkLWRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1kaWFsb2cvdHJ1LXBhc3N3b3JkLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1kaWFsb2cvdHJ1LXBhc3N3b3JkLWRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVM3QyxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLFlBQW1CLFNBQTBDLEVBQ25ELElBQWEsRUFDYixjQUFpQyxFQUNULElBQXVCO1FBSHRDLGNBQVMsR0FBVCxTQUFTLENBQWlDO1FBQ25ELFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVZ6RCx1QkFBa0IsR0FBZ0IsSUFBSSxXQUFXLENBQTRCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRiwyQkFBc0IsR0FBZ0IsSUFBSSxXQUFXLENBQTRCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6RixZQUFPLEdBQWtCLElBQUksQ0FBQztRQWM5QixjQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDNUUsQ0FBQyxDQUFBO0lBUkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBTUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OEdBNUJVLGlCQUFpQixzR0FXbEIsZUFBZTtrR0FYZCxpQkFBaUIsMkRDWDlCLDJiQWFBOzJGREZhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxxQkFBcUI7OzBCQWU1QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRydUFwcEVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJ1LWFwcC1lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7IFRydVVzZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cnUtdXNlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS1wYXNzd29yZC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cnUtcGFzc3dvcmQtZGlhbG9nLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS1wYXNzd29yZC1kaWFsb2cuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVBhc3N3b3JkRGlhbG9nIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBuZXdQYXNzd29yZENvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCcnLCBbXSk7XHJcbiAgY29uZmlybVBhc3N3b3JkQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oJycsIFtdKTtcclxuXHJcbiAgbWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgdXNlckVudGl0eTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VHJ1UGFzc3dvcmREaWFsb2c+LFxyXG4gICAgcHJpdmF0ZSB1c2VyOiBUcnVVc2VyLFxyXG4gICAgcHJpdmF0ZSBhcHBFbnZpcm9ubWVudDogVHJ1QXBwRW52aXJvbm1lbnQsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFRydVBhc3N3b3JkRGlhbG9nKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudXNlckVudGl0eSA9IHRoaXMuYXBwRW52aXJvbm1lbnQuZ2xvYmFsRGF0YUNvbnRleHQ/LmVudGl0eUFjY2VzcygpLnNlYXJjaFVzZXJCeVJlZkNhY2hlT25seSh0aGlzLnVzZXIuYWN0aXZlVXNlclJlZik7XHJcbiAgfVxyXG5cclxuICBjYW5TdWJtaXQgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZXdQYXNzd29yZENvbnRyb2wudmFsdWUgJiYgdGhpcy5jb25maXJtUGFzc3dvcmRDb250cm9sLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgb25Db25maXJtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkRpc21pc3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtYXQtZGlhbG9nLXRpdGxlXCI+XHJcbiAgQ2hhbmdlIFBhc3N3b3JkXHJcbjwvZGl2PlxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtZGlhbG9nLWNvbnRlbnRcIj5cclxuICA8cD57e21lc3NhZ2V9fTwvcD5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJtYXQtZGlhbG9nLWFjdGlvbnNcIj5cclxuICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJvbkRpc21pc3MoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gIDxidXR0b24gW2Rpc2FibGVkXT1cImNhblN1Ym1pdCgpXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCI+U3VibWl0PC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "
|
|
5
|
-
import * as i3 from "../../../services/tru-
|
|
6
|
-
import * as i4 from "
|
|
7
|
-
import * as i5 from "@angular/
|
|
8
|
-
import * as i6 from "@angular/material/
|
|
9
|
-
import * as i7 from "@angular/material/
|
|
10
|
-
import * as i8 from "@angular/material/icon";
|
|
3
|
+
import * as i1 from "../../../services/tru-user";
|
|
4
|
+
import * as i2 from "../../login/services/tru-auth";
|
|
5
|
+
import * as i3 from "../../../services/tru-ui-notification";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@angular/material/menu";
|
|
8
|
+
import * as i6 from "@angular/material/button";
|
|
9
|
+
import * as i7 from "@angular/material/icon";
|
|
11
10
|
export class TruToolbarUserProfile {
|
|
12
|
-
constructor(
|
|
13
|
-
this.desktopManager = desktopManager;
|
|
14
|
-
this.appEnvironment = appEnvironment;
|
|
11
|
+
constructor(user, auth, uiNotification) {
|
|
15
12
|
this.user = user;
|
|
16
13
|
this.auth = auth;
|
|
14
|
+
this.uiNotification = uiNotification;
|
|
17
15
|
this.initial = null;
|
|
18
16
|
this.name = null;
|
|
19
17
|
this.email = null;
|
|
20
18
|
this.onChangePasswordButtonClicked = () => {
|
|
21
|
-
|
|
22
|
-
this.desktopManager.addWindow('TruDbUser', 'TruDbUsers', 'Users', 'TruDbUserDetailView', [entity], true);
|
|
19
|
+
this.uiNotification.changePassword();
|
|
23
20
|
};
|
|
24
21
|
this.onLogoutButtonClicked = () => {
|
|
25
22
|
this.auth.doLogoutAndRedirectToLogin();
|
|
@@ -29,10 +26,10 @@ export class TruToolbarUserProfile {
|
|
|
29
26
|
this.email = user?.email;
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
|
-
TruToolbarUserProfile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarUserProfile, deps: [{ token: i1.
|
|
33
|
-
TruToolbarUserProfile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruToolbarUserProfile, selector: "tru-toolbar-user-profile", ngImport: i0, template: "<div class=\"tru-toolbar-user-profile\">\r\n <button mat-mini-fab color=\"primary\" class=\"tru-toolbar-user-profile-user-button\" [matMenuTriggerFor]=\"userMenu\">\r\n {{initial}}\r\n </button>\r\n</div>\r\n<mat-menu #userMenu=\"matMenu\">\r\n <div class=\"tru-toolbar-user-profile-menu-container\">\r\n <mat-icon class=\"tru-toolbar-user-profile-menu-circle-icon\" [svgIcon]=\"'circle-icon'\"></mat-icon>\r\n <span class=\"tru-toolbar-user-profile-menu-circle-icon-text\">{{initial}}</span>\r\n <div class=\"tru-toolbar-user-profile-menu-text-container\">\r\n <p>{{name}}</p>\r\n <p *ngIf=\"email\">{{email}}</p>\r\n </div>\r\n <button mat-menu-item\r\n (click)=\"onChangePasswordButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Change Password\r\n </button>\r\n <button mat-menu-item\r\n (click)=\"onLogoutButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Logout\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tru-toolbar-user-profile{height:25px;float:right}.tru-toolbar-user-profile button{height:23px;width:23px;margin-right:10px;margin-top:1px;font-size:12px;box-shadow:none}.tru-toolbar-user-profile-menu-container{width:250px}.tru-toolbar-user-profile-menu-container mat-icon{height:50px;width:50px;margin:auto;display:flex;justify-content:center;color:#006dcc}.tru-toolbar-user-profile-menu-container p{margin:5px;font-size:14px;text-align:center}.tru-toolbar-user-profile-menu-container .tru-toolbar-user-profile-menu-logout-button{display:flex;justify-content:center}.tru-toolbar-user-profile-menu-text-container{margin-top:-15px}.tru-toolbar-user-profile-menu-circle-icon-text{color:#fff;font-weight:200;font-size:30px;margin-right:12px;display:block;margin-left:12px;display:flex;justify-content:center;position:relative;z-index:100;top:-35px}\n"], dependencies: [{ kind: "directive", type:
|
|
29
|
+
TruToolbarUserProfile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarUserProfile, deps: [{ token: i1.TruUser }, { token: i2.TruAuth }, { token: i3.TruUiNotification }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
TruToolbarUserProfile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruToolbarUserProfile, selector: "tru-toolbar-user-profile", ngImport: i0, template: "<div class=\"tru-toolbar-user-profile\">\r\n <button mat-mini-fab color=\"primary\" class=\"tru-toolbar-user-profile-user-button\" [matMenuTriggerFor]=\"userMenu\">\r\n {{initial}}\r\n </button>\r\n</div>\r\n<mat-menu #userMenu=\"matMenu\">\r\n <div class=\"tru-toolbar-user-profile-menu-container\">\r\n <mat-icon class=\"tru-toolbar-user-profile-menu-circle-icon\" [svgIcon]=\"'circle-icon'\"></mat-icon>\r\n <span class=\"tru-toolbar-user-profile-menu-circle-icon-text\">{{initial}}</span>\r\n <div class=\"tru-toolbar-user-profile-menu-text-container\">\r\n <p>{{name}}</p>\r\n <p *ngIf=\"email\">{{email}}</p>\r\n </div>\r\n <button mat-menu-item\r\n (click)=\"onChangePasswordButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Change Password\r\n </button>\r\n <button mat-menu-item\r\n (click)=\"onLogoutButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Logout\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tru-toolbar-user-profile{height:25px;float:right}.tru-toolbar-user-profile button{height:23px;width:23px;margin-right:10px;margin-top:1px;font-size:12px;box-shadow:none}.tru-toolbar-user-profile-menu-container{width:250px}.tru-toolbar-user-profile-menu-container mat-icon{height:50px;width:50px;margin:auto;display:flex;justify-content:center;color:#006dcc}.tru-toolbar-user-profile-menu-container p{margin:5px;font-size:14px;text-align:center}.tru-toolbar-user-profile-menu-container .tru-toolbar-user-profile-menu-logout-button{display:flex;justify-content:center}.tru-toolbar-user-profile-menu-text-container{margin-top:-15px}.tru-toolbar-user-profile-menu-circle-icon-text{color:#fff;font-weight:200;font-size:30px;margin-right:12px;display:block;margin-left:12px;display:flex;justify-content:center;position:relative;z-index:100;top:-35px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
34
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarUserProfile, decorators: [{
|
|
35
32
|
type: Component,
|
|
36
33
|
args: [{ selector: 'tru-toolbar-user-profile', encapsulation: ViewEncapsulation.None, template: "<div class=\"tru-toolbar-user-profile\">\r\n <button mat-mini-fab color=\"primary\" class=\"tru-toolbar-user-profile-user-button\" [matMenuTriggerFor]=\"userMenu\">\r\n {{initial}}\r\n </button>\r\n</div>\r\n<mat-menu #userMenu=\"matMenu\">\r\n <div class=\"tru-toolbar-user-profile-menu-container\">\r\n <mat-icon class=\"tru-toolbar-user-profile-menu-circle-icon\" [svgIcon]=\"'circle-icon'\"></mat-icon>\r\n <span class=\"tru-toolbar-user-profile-menu-circle-icon-text\">{{initial}}</span>\r\n <div class=\"tru-toolbar-user-profile-menu-text-container\">\r\n <p>{{name}}</p>\r\n <p *ngIf=\"email\">{{email}}</p>\r\n </div>\r\n <button mat-menu-item\r\n (click)=\"onChangePasswordButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Change Password\r\n </button>\r\n <button mat-menu-item\r\n (click)=\"onLogoutButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Logout\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tru-toolbar-user-profile{height:25px;float:right}.tru-toolbar-user-profile button{height:23px;width:23px;margin-right:10px;margin-top:1px;font-size:12px;box-shadow:none}.tru-toolbar-user-profile-menu-container{width:250px}.tru-toolbar-user-profile-menu-container mat-icon{height:50px;width:50px;margin:auto;display:flex;justify-content:center;color:#006dcc}.tru-toolbar-user-profile-menu-container p{margin:5px;font-size:14px;text-align:center}.tru-toolbar-user-profile-menu-container .tru-toolbar-user-profile-menu-logout-button{display:flex;justify-content:center}.tru-toolbar-user-profile-menu-text-container{margin-top:-15px}.tru-toolbar-user-profile-menu-circle-icon-text{color:#fff;font-weight:200;font-size:30px;margin-right:12px;display:block;margin-left:12px;display:flex;justify-content:center;position:relative;z-index:100;top:-35px}\n"] }]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.TruUser }, { type: i2.TruAuth }, { type: i3.TruUiNotification }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItdXNlci1wcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdXNlci1wcm9maWxlL3RydS10b29sYmFyLXVzZXItcHJvZmlsZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL3VzZXItcHJvZmlsZS90cnUtdG9vbGJhci11c2VyLXByb2ZpbGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFZN0QsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUNVLElBQWEsRUFDYixJQUFhLEVBQ2IsY0FBaUM7UUFGakMsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNiLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFQM0MsWUFBTyxHQUE4QixJQUFJLENBQUM7UUFDMUMsU0FBSSxHQUE4QixJQUFJLENBQUM7UUFDdkMsVUFBSyxHQUE4QixJQUFJLENBQUM7UUFXeEMsa0NBQTZCLEdBQUcsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkMsQ0FBQyxDQUFBO1FBRUQsMEJBQXFCLEdBQUcsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUE7UUFYQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3RILElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDO1FBQ3hHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssQ0FBQztJQUMzQixDQUFDOztrSEFaVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixnRUNabEMsNmlDQXlCQTsyRkRiYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsMEJBQTBCLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcnVVaU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RydS11aS1ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBUcnVVc2VyIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJ1LXVzZXInO1xyXG5pbXBvcnQgeyBUcnVBdXRoIH0gZnJvbSAnLi4vLi4vbG9naW4vc2VydmljZXMvdHJ1LWF1dGgnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndHJ1LXRvb2xiYXItdXNlci1wcm9maWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LXRvb2xiYXItdXNlci1wcm9maWxlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS10b29sYmFyLXVzZXItcHJvZmlsZS5jc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVUb29sYmFyVXNlclByb2ZpbGUge1xyXG4gIGluaXRpYWw6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xyXG4gIG5hbWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xyXG4gIGVtYWlsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXI6IFRydVVzZXIsXHJcbiAgICBwcml2YXRlIGF1dGg6IFRydUF1dGgsXHJcbiAgICBwcml2YXRlIHVpTm90aWZpY2F0aW9uOiBUcnVVaU5vdGlmaWNhdGlvbikge1xyXG4gICAgdGhpcy5pbml0aWFsID0gdXNlcj8uZmlyc3ROYW1lID8gdXNlcj8uZmlyc3ROYW1lLnNsaWNlKDAsIDEpLnRvVXBwZXJDYXNlKCkgOiB1c2VyPy51c2VybmFtZT8uc2xpY2UoMCwgMSkudG9VcHBlckNhc2UoKVxyXG4gICAgdGhpcy5uYW1lID0gdXNlcj8uZmlyc3ROYW1lICYmIHVzZXI/Lmxhc3ROYW1lID8gdXNlcj8uZmlyc3ROYW1lICsgJyAnICsgdXNlcj8ubGFzdE5hbWUgOiB1c2VyPy51c2VybmFtZTtcclxuICAgIHRoaXMuZW1haWwgPSB1c2VyPy5lbWFpbDtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlUGFzc3dvcmRCdXR0b25DbGlja2VkID0gKCkgPT4ge1xyXG4gICAgdGhpcy51aU5vdGlmaWNhdGlvbi5jaGFuZ2VQYXNzd29yZCgpO1xyXG4gIH1cclxuXHJcbiAgb25Mb2dvdXRCdXR0b25DbGlja2VkID0gKCkgPT4ge1xyXG4gICAgdGhpcy5hdXRoLmRvTG9nb3V0QW5kUmVkaXJlY3RUb0xvZ2luKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0cnUtdG9vbGJhci11c2VyLXByb2ZpbGVcIj5cclxuICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cInRydS10b29sYmFyLXVzZXItcHJvZmlsZS11c2VyLWJ1dHRvblwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJ1c2VyTWVudVwiPlxyXG4gICAge3tpbml0aWFsfX1cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxtYXQtbWVudSAjdXNlck1lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRydS10b29sYmFyLXVzZXItcHJvZmlsZS1tZW51LWNvbnRhaW5lclwiPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwidHJ1LXRvb2xiYXItdXNlci1wcm9maWxlLW1lbnUtY2lyY2xlLWljb25cIiBbc3ZnSWNvbl09XCInY2lyY2xlLWljb24nXCI+PC9tYXQtaWNvbj5cclxuICAgIDxzcGFuIGNsYXNzPVwidHJ1LXRvb2xiYXItdXNlci1wcm9maWxlLW1lbnUtY2lyY2xlLWljb24tdGV4dFwiPnt7aW5pdGlhbH19PC9zcGFuPlxyXG4gICAgPGRpdiBjbGFzcz1cInRydS10b29sYmFyLXVzZXItcHJvZmlsZS1tZW51LXRleHQtY29udGFpbmVyXCI+XHJcbiAgICAgIDxwPnt7bmFtZX19PC9wPlxyXG4gICAgICA8cCAqbmdJZj1cImVtYWlsXCI+e3tlbWFpbH19PC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlUGFzc3dvcmRCdXR0b25DbGlja2VkKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRydS10b29sYmFyLXVzZXItcHJvZmlsZS1tZW51LWxvZ291dC1idXR0b25cIj5cclxuICAgICAgQ2hhbmdlIFBhc3N3b3JkXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvdXRCdXR0b25DbGlja2VkKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRydS10b29sYmFyLXVzZXItcHJvZmlsZS1tZW51LWxvZ291dC1idXR0b25cIj5cclxuICAgICAgTG9nb3V0XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { TruConfirmDialog, TruConfirmDialogConfig } from '../components/confirm-dialog/tru-confirm-dialog';
|
|
3
3
|
import { TruExportDialog, TruExportDialogConfig } from '../components/export-dialog/tru-export-dialog';
|
|
4
|
+
import { TruPasswordDialog } from '../components/password-dialog/tru-password-dialog';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "ngx-toastr";
|
|
6
7
|
import * as i2 from "@angular/material/dialog";
|
|
@@ -75,6 +76,18 @@ export class TruUiNotification {
|
|
|
75
76
|
});
|
|
76
77
|
});
|
|
77
78
|
};
|
|
79
|
+
this.changePassword = () => {
|
|
80
|
+
return new Promise((resolve, reject) => {
|
|
81
|
+
let dialogRef = this._dialog.open(TruPasswordDialog, {
|
|
82
|
+
disableClose: true,
|
|
83
|
+
minWidth: "400px",
|
|
84
|
+
maxWidth: "400px"
|
|
85
|
+
});
|
|
86
|
+
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
87
|
+
resolve(dialogResult);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
};
|
|
78
91
|
this._toastr = toastr;
|
|
79
92
|
this._dialog = dialog;
|
|
80
93
|
}
|
|
@@ -87,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
87
100
|
providedIn: 'root',
|
|
88
101
|
}]
|
|
89
102
|
}], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: i2.MatDialog }]; } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVpLW5vdGlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LXVpLW5vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7OztBQUt2RyxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQ1UsTUFBcUIsRUFDckIsTUFBaUI7UUFEakIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBSzNCLGdCQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsR0FBOEIsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLFNBQStCLElBQUksRUFBRSxFQUFFO1lBQ2pJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNmLE9BQU8sR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQztZQUNsQyxJQUFJLE1BQU07Z0JBQ1IsT0FBTyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUM7UUFFRjs7OztVQUlFO1FBQ0YsVUFBSyxHQUFHLENBQUMsT0FBZSxFQUFFLFNBQStCLElBQUksRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8s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QUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ2xELFlBQVksRUFBRSxJQUFJO29CQUNsQixRQUFRLEVBQUUsT0FBTztvQkFDakIsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLElBQUksRUFBRSxZQUFZO2lCQUNuQixDQUFDLENBQUM7Z0JBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtvQkFDL0MsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN4QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBO1FBN0ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7OzhHQVRVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBUcnVDb25maXJtRGlhbG9nLCBUcnVDb25maXJtRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVFeHBvcnREaWFsb2csIFRydUV4cG9ydERpYWxvZ0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VWlOb3RpZmljYXRpb24ge1xyXG4gIHByaXZhdGUgX3RvYXN0cjogVG9hc3RyU2VydmljZTtcclxuICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIHRoaXMuX3RvYXN0ciA9IHRvYXN0cjtcclxuICAgIHRoaXMuX2RpYWxvZyA9IGRpYWxvZztcclxuICB9XHJcblxyXG4gIHNob3dNZXNzYWdlID0gKHBvcHVwOiBhbnksIGxvZzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCwgcHJlZml4OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgZGV0YWlsOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwpID0+IHtcclxuICAgIHBvcHVwKG1lc3NhZ2UpO1xyXG4gICAgbWVzc2FnZSA9IHByZWZpeCArICc6ICcgKyBtZXNzYWdlO1xyXG4gICAgaWYgKGRldGFpbClcclxuICAgICAgbWVzc2FnZSArPSAnXFxyXFxuJyArIGRldGFpbDtcclxuICAgIHRoaXMubG9nKG1lc3NhZ2UpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICogU2hvd3MgYXMgdG9hc3QgYW5kIGxvZ3MgdG8gc2VydmVyIGFuIGVycm9yIG1lc3NhZ2UgYW5kIG9wdGlvbmFsIGRldGFpbCBpbmZvcm1hdGlvbi5cclxuICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gRGlzcGxheWVkIGFzIHRvYXN0LlxyXG4gICogQHBhcmFtIHtzdHJpbmd9IFtkZXRhaWxdIC0gTG9nZ2VkIHRvIGNvbnNvbGUuXHJcbiAgKi9cclxuICBlcnJvciA9IChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKChtZXNzYWdlOiBzdHJpbmcpID0+IHRoaXMuX3RvYXN0ci5lcnJvcihtZXNzYWdlKSwgdGhpcy5sb2csICdFcnJvcicsIG1lc3NhZ2UsIGRldGFpbCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICAqIFNhbWUgYXMgZXJyb3IoKSBidXQgZm9yIGluZm8gbWVzc2FnZS5cclxuICAgICovXHJcbiAgaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKChtZXNzYWdlOiBzdHJpbmcpID0+IHRoaXMuX3RvYXN0ci5pbmZvKG1lc3NhZ2UpLCB0aGlzLmxvZywgJ0luZm8nLCBtZXNzYWdlLCBkZXRhaWwpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbWUgYXMgZXJyb3IoKSBidXQgZm9yIHN1Y2Nlc3MgbWVzc2FnZS5cclxuICAgKi9cclxuICBzdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlsOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwpID0+IHtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UoKG1lc3NhZ2U6IHN0cmluZykgPT4gdGhpcy5fdG9hc3RyLnN1Y2Nlc3MobWVzc2FnZSksIHRoaXMubG9nLCAnU3VjY2VzcycsIG1lc3NhZ2UsIGRldGFpbCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2FtZSBhcyBlcnJvcigpIGJ1dCBmb3Igd2FybmluZyBtZXNzYWdlLlxyXG4gICAqL1xyXG4gIHdhcm5pbmcgPSAobWVzc2FnZTogc3RyaW5nLCBkZXRhaWw6IEFycmF5PHN0cmluZz4gfCBudWxsID0gbnVsbCkgPT4ge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgobWVzc2FnZTogc3RyaW5nKSA9PiB0aGlzLl90b2FzdHIud2FybmluZyhtZXNzYWdlKSwgdGhpcy5sb2csICdXYXJuaW5nJywgbWVzc2FnZSwgZGV0YWlsKTtcclxuICB9O1xyXG5cclxuICBsb2cgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XHJcbiAgICB2YXIgY29uc29sZSA9IHdpbmRvdy5jb25zb2xlO1xyXG4gICAgISFjb25zb2xlICYmIGNvbnNvbGUubG9nICYmIGNvbnNvbGUubG9nLmFwcGx5ICYmIGNvbnNvbGUubG9nLmFwcGx5KGNvbnNvbGUsIFttZXNzYWdlXSk7XHJcbiAgfVxyXG5cclxuICBzaG93RXJyb3JEaWFsb2cgPSAodGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XHJcblxyXG4gIH07XHJcblxyXG4gIHNob3dFeHBvcnREaWFsb2cgPSAoKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBsZXQgZGlhbG9nQ29uZmlnID0gbmV3IFRydUV4cG9ydERpYWxvZ0NvbmZpZygnRXhwb3J0Jyk7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbihUcnVFeHBvcnREaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiMjAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShkaWFsb2dSZXN1bHQgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoZGlhbG9nUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25maXJtID0gKFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGRpc3BsYXlDYW5jZWxCdXR0b246IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgZGlzcGxheUNvbmZpcm1CdXR0b246IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgY2FuY2VsQnV0dG9uTmFtZTogc3RyaW5nID0gJ0NhbmNlbCcsXHJcbiAgICBjb25maXJtQnV0dG9uTmFtZTogc3RyaW5nID0gJ09rJyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgbGV0IGRpYWxvZ0NvbmZpZyA9IG5ldyBUcnVDb25maXJtRGlhbG9nQ29uZmlnKFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgZGlzcGxheUNhbmNlbEJ1dHRvbixcclxuICAgICAgICBkaXNwbGF5Q29uZmlybUJ1dHRvbixcclxuICAgICAgICBjYW5jZWxCdXR0b25OYW1lLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25OYW1lKTtcclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKFRydUNvbmZpcm1EaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiMjAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShkaWFsb2dSZXN1bHQgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoZGlhbG9nUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVpLW5vdGlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LXVpLW5vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7OztBQUt0RixNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQ1UsTUFBcUIsRUFDckIsTUFBaUI7UUFEakIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBSzNCLGdCQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsR0FBOEIsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLFNBQStCLElBQUksRUFBRSxFQUFFO1lBQ2pJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNmLE9BQU8sR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQztZQUNsQyxJQUFJLE1BQU07Z0JBQ1IsT0FBTyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUM7UUFFRjs7OztVQUlFO1FBQ0YsVUFBSyxHQUFHLENBQUMsT0FBZSxFQUFFLFNBQStCLElBQUksRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8s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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBUcnVDb25maXJtRGlhbG9nLCBUcnVDb25maXJtRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVFeHBvcnREaWFsb2csIFRydUV4cG9ydERpYWxvZ0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZyc7XHJcbmltcG9ydCB7IFRydVBhc3N3b3JkRGlhbG9nIH0gZnJvbSAnLi4vY29tcG9uZW50cy9wYXNzd29yZC1kaWFsb2cvdHJ1LXBhc3N3b3JkLWRpYWxvZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VWlOb3RpZmljYXRpb24ge1xyXG4gIHByaXZhdGUgX3RvYXN0cjogVG9hc3RyU2VydmljZTtcclxuICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIHRoaXMuX3RvYXN0ciA9IHRvYXN0cjtcclxuICAgIHRoaXMuX2RpYWxvZyA9IGRpYWxvZztcclxuICB9XHJcblxyXG4gIHNob3dNZXNzYWdlID0gKHBvcHVwOiBhbnksIGxvZzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCwgcHJlZml4OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgZGV0YWlsOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwpID0+IHtcclxuICAgIHBvcHVwKG1lc3NhZ2UpO1xyXG4gICAgbWVzc2FnZSA9IHByZWZpeCArICc6ICcgKyBtZXNzYWdlO1xyXG4gICAgaWYgKGRldGFpbClcclxuICAgICAgbWVzc2FnZSArPSAnXFxyXFxuJyArIGRldGFpbDtcclxuICAgIHRoaXMubG9nKG1lc3NhZ2UpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICogU2hvd3MgYXMgdG9hc3QgYW5kIGxvZ3MgdG8gc2VydmVyIGFuIGVycm9yIG1lc3NhZ2UgYW5kIG9wdGlvbmFsIGRldGFpbCBpbmZvcm1hdGlvbi5cclxuICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gRGlzcGxheWVkIGFzIHRvYXN0LlxyXG4gICogQHBhcmFtIHtzdHJpbmd9IFtkZXRhaWxdIC0gTG9nZ2VkIHRvIGNvbnNvbGUuXHJcbiAgKi9cclxuICBlcnJvciA9IChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKChtZXNzYWdlOiBzdHJpbmcpID0+IHRoaXMuX3RvYXN0ci5lcnJvcihtZXNzYWdlKSwgdGhpcy5sb2csICdFcnJvcicsIG1lc3NhZ2UsIGRldGFpbCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICAqIFNhbWUgYXMgZXJyb3IoKSBidXQgZm9yIGluZm8gbWVzc2FnZS5cclxuICAgICovXHJcbiAgaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKChtZXNzYWdlOiBzdHJpbmcpID0+IHRoaXMuX3RvYXN0ci5pbmZvKG1lc3NhZ2UpLCB0aGlzLmxvZywgJ0luZm8nLCBtZXNzYWdlLCBkZXRhaWwpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbWUgYXMgZXJyb3IoKSBidXQgZm9yIHN1Y2Nlc3MgbWVzc2FnZS5cclxuICAgKi9cclxuICBzdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlsOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwpID0+IHtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UoKG1lc3NhZ2U6IHN0cmluZykgPT4gdGhpcy5fdG9hc3RyLnN1Y2Nlc3MobWVzc2FnZSksIHRoaXMubG9nLCAnU3VjY2VzcycsIG1lc3NhZ2UsIGRldGFpbCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2FtZSBhcyBlcnJvcigpIGJ1dCBmb3Igd2FybmluZyBtZXNzYWdlLlxyXG4gICAqL1xyXG4gIHdhcm5pbmcgPSAobWVzc2FnZTogc3RyaW5nLCBkZXRhaWw6IEFycmF5PHN0cmluZz4gfCBudWxsID0gbnVsbCkgPT4ge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgobWVzc2FnZTogc3RyaW5nKSA9PiB0aGlzLl90b2FzdHIud2FybmluZyhtZXNzYWdlKSwgdGhpcy5sb2csICdXYXJuaW5nJywgbWVzc2FnZSwgZGV0YWlsKTtcclxuICB9O1xyXG5cclxuICBsb2cgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XHJcbiAgICB2YXIgY29uc29sZSA9IHdpbmRvdy5jb25zb2xlO1xyXG4gICAgISFjb25zb2xlICYmIGNvbnNvbGUubG9nICYmIGNvbnNvbGUubG9nLmFwcGx5ICYmIGNvbnNvbGUubG9nLmFwcGx5KGNvbnNvbGUsIFttZXNzYWdlXSk7XHJcbiAgfVxyXG5cclxuICBzaG93RXJyb3JEaWFsb2cgPSAodGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XHJcblxyXG4gIH07XHJcblxyXG4gIHNob3dFeHBvcnREaWFsb2cgPSAoKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBsZXQgZGlhbG9nQ29uZmlnID0gbmV3IFRydUV4cG9ydERpYWxvZ0NvbmZpZygnRXhwb3J0Jyk7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbihUcnVFeHBvcnREaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiMjAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShkaWFsb2dSZXN1bHQgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoZGlhbG9nUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25maXJtID0gKFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGRpc3BsYXlDYW5jZWxCdXR0b246IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgZGlzcGxheUNvbmZpcm1CdXR0b246IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgY2FuY2VsQnV0dG9uTmFtZTogc3RyaW5nID0gJ0NhbmNlbCcsXHJcbiAgICBjb25maXJtQnV0dG9uTmFtZTogc3RyaW5nID0gJ09rJyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgbGV0IGRpYWxvZ0NvbmZpZyA9IG5ldyBUcnVDb25maXJtRGlhbG9nQ29uZmlnKFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgZGlzcGxheUNhbmNlbEJ1dHRvbixcclxuICAgICAgICBkaXNwbGF5Q29uZmlybUJ1dHRvbixcclxuICAgICAgICBjYW5jZWxCdXR0b25OYW1lLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25OYW1lKTtcclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKFRydUNvbmZpcm1EaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiMjAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShkaWFsb2dSZXN1bHQgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoZGlhbG9nUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjaGFuZ2VQYXNzd29yZCA9ICgpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbihUcnVQYXNzd29yZERpYWxvZywge1xyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBtaW5XaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIG1heFdpZHRoOiBcIjQwMHB4XCJcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoZGlhbG9nUmVzdWx0ID0+IHtcclxuICAgICAgICByZXNvbHZlKGRpYWxvZ1Jlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -12,7 +12,7 @@ import { CommonModule } from '@angular/common';
|
|
|
12
12
|
import * as i3 from '@angular/material/button';
|
|
13
13
|
import { MatButtonModule } from '@angular/material/button';
|
|
14
14
|
import * as i7 from '@angular/forms';
|
|
15
|
-
import { FormsModule, FormGroup,
|
|
15
|
+
import { FormControl, FormsModule, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
16
16
|
import * as i3$1 from '@angular/material/checkbox';
|
|
17
17
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
18
18
|
import * as i1$2 from 'ngx-toastr';
|
|
@@ -40,10 +40,10 @@ import { MatExpansionModule } from '@angular/material/expansion';
|
|
|
40
40
|
import { MatGridListModule } from '@angular/material/grid-list';
|
|
41
41
|
import * as i2 from '@angular/material/icon';
|
|
42
42
|
import { MatIconModule } from '@angular/material/icon';
|
|
43
|
-
import * as i5$
|
|
43
|
+
import * as i5$2 from '@angular/material/input';
|
|
44
44
|
import { MatInputModule } from '@angular/material/input';
|
|
45
45
|
import { MatListModule } from '@angular/material/list';
|
|
46
|
-
import * as
|
|
46
|
+
import * as i5$1 from '@angular/material/menu';
|
|
47
47
|
import { MatMenuModule } from '@angular/material/menu';
|
|
48
48
|
import * as i5 from '@angular/material/core';
|
|
49
49
|
import { MatNativeDateModule, MatRippleModule, MatOptionModule } from '@angular/material/core';
|
|
@@ -586,6 +586,42 @@ class TruExportDialogConfig {
|
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
588
|
|
|
589
|
+
class TruPasswordDialog {
|
|
590
|
+
constructor(dialogRef, user, appEnvironment, data) {
|
|
591
|
+
this.dialogRef = dialogRef;
|
|
592
|
+
this.user = user;
|
|
593
|
+
this.appEnvironment = appEnvironment;
|
|
594
|
+
this.data = data;
|
|
595
|
+
this.newPasswordControl = new FormControl('', []);
|
|
596
|
+
this.confirmPasswordControl = new FormControl('', []);
|
|
597
|
+
this.message = null;
|
|
598
|
+
this.canSubmit = () => {
|
|
599
|
+
return this.newPasswordControl.value && this.confirmPasswordControl.value;
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
ngOnInit() {
|
|
603
|
+
var _a;
|
|
604
|
+
this.userEntity = (_a = this.appEnvironment.globalDataContext) === null || _a === void 0 ? void 0 : _a.entityAccess().searchUserByRefCacheOnly(this.user.activeUserRef);
|
|
605
|
+
}
|
|
606
|
+
onConfirm() {
|
|
607
|
+
this.dialogRef.close(true);
|
|
608
|
+
}
|
|
609
|
+
onDismiss() {
|
|
610
|
+
this.dialogRef.close(false);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
TruPasswordDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialog, deps: [{ token: i1.MatDialogRef }, { token: TruUser }, { token: TruAppEnvironment }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
614
|
+
TruPasswordDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruPasswordDialog, selector: "tru-password-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n Change Password\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <p>{{message}}</p>\r\n\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Cancel</button>\r\n <button [disabled]=\"canSubmit()\" mat-raised-button color=\"primary\" (click)=\"onConfirm()\">Submit</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mdc-dialog__title{padding:20px 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}\n"] });
|
|
615
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialog, decorators: [{
|
|
616
|
+
type: Component,
|
|
617
|
+
args: [{ selector: 'tru-password-dialog', template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n Change Password\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <p>{{message}}</p>\r\n\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Cancel</button>\r\n <button [disabled]=\"canSubmit()\" mat-raised-button color=\"primary\" (click)=\"onConfirm()\">Submit</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mdc-dialog__title{padding:20px 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}\n"] }]
|
|
618
|
+
}], ctorParameters: function () {
|
|
619
|
+
return [{ type: i1.MatDialogRef }, { type: TruUser }, { type: TruAppEnvironment }, { type: TruPasswordDialog, decorators: [{
|
|
620
|
+
type: Inject,
|
|
621
|
+
args: [MAT_DIALOG_DATA]
|
|
622
|
+
}] }];
|
|
623
|
+
} });
|
|
624
|
+
|
|
589
625
|
class TruUiNotification {
|
|
590
626
|
constructor(toastr, dialog) {
|
|
591
627
|
this.toastr = toastr;
|
|
@@ -657,6 +693,18 @@ class TruUiNotification {
|
|
|
657
693
|
});
|
|
658
694
|
});
|
|
659
695
|
};
|
|
696
|
+
this.changePassword = () => {
|
|
697
|
+
return new Promise((resolve, reject) => {
|
|
698
|
+
let dialogRef = this._dialog.open(TruPasswordDialog, {
|
|
699
|
+
disableClose: true,
|
|
700
|
+
minWidth: "400px",
|
|
701
|
+
maxWidth: "400px"
|
|
702
|
+
});
|
|
703
|
+
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
704
|
+
resolve(dialogResult);
|
|
705
|
+
});
|
|
706
|
+
});
|
|
707
|
+
};
|
|
660
708
|
this._toastr = toastr;
|
|
661
709
|
this._dialog = dialog;
|
|
662
710
|
}
|
|
@@ -3726,19 +3774,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
3726
3774
|
} });
|
|
3727
3775
|
|
|
3728
3776
|
class TruToolbarUserProfile {
|
|
3729
|
-
constructor(
|
|
3777
|
+
constructor(user, auth, uiNotification) {
|
|
3730
3778
|
var _a;
|
|
3731
|
-
this.desktopManager = desktopManager;
|
|
3732
|
-
this.appEnvironment = appEnvironment;
|
|
3733
3779
|
this.user = user;
|
|
3734
3780
|
this.auth = auth;
|
|
3781
|
+
this.uiNotification = uiNotification;
|
|
3735
3782
|
this.initial = null;
|
|
3736
3783
|
this.name = null;
|
|
3737
3784
|
this.email = null;
|
|
3738
3785
|
this.onChangePasswordButtonClicked = () => {
|
|
3739
|
-
|
|
3740
|
-
let entity = (_a = this.appEnvironment.globalDataContext) === null || _a === void 0 ? void 0 : _a.entityAccess().searchUserByRefCacheOnly(this.user.activeUserRef);
|
|
3741
|
-
this.desktopManager.addWindow('TruDbUser', 'TruDbUsers', 'Users', 'TruDbUserDetailView', [entity], true);
|
|
3786
|
+
this.uiNotification.changePassword();
|
|
3742
3787
|
};
|
|
3743
3788
|
this.onLogoutButtonClicked = () => {
|
|
3744
3789
|
this.auth.doLogoutAndRedirectToLogin();
|
|
@@ -3748,12 +3793,12 @@ class TruToolbarUserProfile {
|
|
|
3748
3793
|
this.email = user === null || user === void 0 ? void 0 : user.email;
|
|
3749
3794
|
}
|
|
3750
3795
|
}
|
|
3751
|
-
TruToolbarUserProfile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarUserProfile, deps: [{ token:
|
|
3752
|
-
TruToolbarUserProfile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruToolbarUserProfile, selector: "tru-toolbar-user-profile", ngImport: i0, template: "<div class=\"tru-toolbar-user-profile\">\r\n <button mat-mini-fab color=\"primary\" class=\"tru-toolbar-user-profile-user-button\" [matMenuTriggerFor]=\"userMenu\">\r\n {{initial}}\r\n </button>\r\n</div>\r\n<mat-menu #userMenu=\"matMenu\">\r\n <div class=\"tru-toolbar-user-profile-menu-container\">\r\n <mat-icon class=\"tru-toolbar-user-profile-menu-circle-icon\" [svgIcon]=\"'circle-icon'\"></mat-icon>\r\n <span class=\"tru-toolbar-user-profile-menu-circle-icon-text\">{{initial}}</span>\r\n <div class=\"tru-toolbar-user-profile-menu-text-container\">\r\n <p>{{name}}</p>\r\n <p *ngIf=\"email\">{{email}}</p>\r\n </div>\r\n <button mat-menu-item\r\n (click)=\"onChangePasswordButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Change Password\r\n </button>\r\n <button mat-menu-item\r\n (click)=\"onLogoutButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Logout\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tru-toolbar-user-profile{height:25px;float:right}.tru-toolbar-user-profile button{height:23px;width:23px;margin-right:10px;margin-top:1px;font-size:12px;box-shadow:none}.tru-toolbar-user-profile-menu-container{width:250px}.tru-toolbar-user-profile-menu-container mat-icon{height:50px;width:50px;margin:auto;display:flex;justify-content:center;color:#006dcc}.tru-toolbar-user-profile-menu-container p{margin:5px;font-size:14px;text-align:center}.tru-toolbar-user-profile-menu-container .tru-toolbar-user-profile-menu-logout-button{display:flex;justify-content:center}.tru-toolbar-user-profile-menu-text-container{margin-top:-15px}.tru-toolbar-user-profile-menu-circle-icon-text{color:#fff;font-weight:200;font-size:30px;margin-right:12px;display:block;margin-left:12px;display:flex;justify-content:center;position:relative;z-index:100;top:-35px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
|
3796
|
+
TruToolbarUserProfile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarUserProfile, deps: [{ token: TruUser }, { token: TruAuth }, { token: TruUiNotification }], target: i0.ɵɵFactoryTarget.Component });
|
|
3797
|
+
TruToolbarUserProfile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruToolbarUserProfile, selector: "tru-toolbar-user-profile", ngImport: i0, template: "<div class=\"tru-toolbar-user-profile\">\r\n <button mat-mini-fab color=\"primary\" class=\"tru-toolbar-user-profile-user-button\" [matMenuTriggerFor]=\"userMenu\">\r\n {{initial}}\r\n </button>\r\n</div>\r\n<mat-menu #userMenu=\"matMenu\">\r\n <div class=\"tru-toolbar-user-profile-menu-container\">\r\n <mat-icon class=\"tru-toolbar-user-profile-menu-circle-icon\" [svgIcon]=\"'circle-icon'\"></mat-icon>\r\n <span class=\"tru-toolbar-user-profile-menu-circle-icon-text\">{{initial}}</span>\r\n <div class=\"tru-toolbar-user-profile-menu-text-container\">\r\n <p>{{name}}</p>\r\n <p *ngIf=\"email\">{{email}}</p>\r\n </div>\r\n <button mat-menu-item\r\n (click)=\"onChangePasswordButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Change Password\r\n </button>\r\n <button mat-menu-item\r\n (click)=\"onLogoutButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Logout\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tru-toolbar-user-profile{height:25px;float:right}.tru-toolbar-user-profile button{height:23px;width:23px;margin-right:10px;margin-top:1px;font-size:12px;box-shadow:none}.tru-toolbar-user-profile-menu-container{width:250px}.tru-toolbar-user-profile-menu-container mat-icon{height:50px;width:50px;margin:auto;display:flex;justify-content:center;color:#006dcc}.tru-toolbar-user-profile-menu-container p{margin:5px;font-size:14px;text-align:center}.tru-toolbar-user-profile-menu-container .tru-toolbar-user-profile-menu-logout-button{display:flex;justify-content:center}.tru-toolbar-user-profile-menu-text-container{margin-top:-15px}.tru-toolbar-user-profile-menu-circle-icon-text{color:#fff;font-weight:200;font-size:30px;margin-right:12px;display:block;margin-left:12px;display:flex;justify-content:center;position:relative;z-index:100;top:-35px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3753
3798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarUserProfile, decorators: [{
|
|
3754
3799
|
type: Component,
|
|
3755
3800
|
args: [{ selector: 'tru-toolbar-user-profile', encapsulation: ViewEncapsulation.None, template: "<div class=\"tru-toolbar-user-profile\">\r\n <button mat-mini-fab color=\"primary\" class=\"tru-toolbar-user-profile-user-button\" [matMenuTriggerFor]=\"userMenu\">\r\n {{initial}}\r\n </button>\r\n</div>\r\n<mat-menu #userMenu=\"matMenu\">\r\n <div class=\"tru-toolbar-user-profile-menu-container\">\r\n <mat-icon class=\"tru-toolbar-user-profile-menu-circle-icon\" [svgIcon]=\"'circle-icon'\"></mat-icon>\r\n <span class=\"tru-toolbar-user-profile-menu-circle-icon-text\">{{initial}}</span>\r\n <div class=\"tru-toolbar-user-profile-menu-text-container\">\r\n <p>{{name}}</p>\r\n <p *ngIf=\"email\">{{email}}</p>\r\n </div>\r\n <button mat-menu-item\r\n (click)=\"onChangePasswordButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Change Password\r\n </button>\r\n <button mat-menu-item\r\n (click)=\"onLogoutButtonClicked()\"\r\n class=\"tru-toolbar-user-profile-menu-logout-button\">\r\n Logout\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tru-toolbar-user-profile{height:25px;float:right}.tru-toolbar-user-profile button{height:23px;width:23px;margin-right:10px;margin-top:1px;font-size:12px;box-shadow:none}.tru-toolbar-user-profile-menu-container{width:250px}.tru-toolbar-user-profile-menu-container mat-icon{height:50px;width:50px;margin:auto;display:flex;justify-content:center;color:#006dcc}.tru-toolbar-user-profile-menu-container p{margin:5px;font-size:14px;text-align:center}.tru-toolbar-user-profile-menu-container .tru-toolbar-user-profile-menu-logout-button{display:flex;justify-content:center}.tru-toolbar-user-profile-menu-text-container{margin-top:-15px}.tru-toolbar-user-profile-menu-circle-icon-text{color:#fff;font-weight:200;font-size:30px;margin-right:12px;display:block;margin-left:12px;display:flex;justify-content:center;position:relative;z-index:100;top:-35px}\n"] }]
|
|
3756
|
-
}], ctorParameters: function () { return [{ type:
|
|
3801
|
+
}], ctorParameters: function () { return [{ type: TruUser }, { type: TruAuth }, { type: TruUiNotification }]; } });
|
|
3757
3802
|
|
|
3758
3803
|
class TruToolbarUserProfileModule {
|
|
3759
3804
|
}
|
|
@@ -5921,7 +5966,7 @@ class TruLogin {
|
|
|
5921
5966
|
}
|
|
5922
5967
|
}
|
|
5923
5968
|
TruLogin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruLogin, deps: [{ token: TruAuth }], target: i0.ɵɵFactoryTarget.Component });
|
|
5924
|
-
TruLogin.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruLogin, selector: "tru-login", ngImport: i0, template: "<div class=\"login-wrapper\">\r\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"onSubmit()\">\r\n <mat-card class=\"animate-login\">\r\n <mat-card-header>\r\n <mat-card-title> loginFormTitle </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-form-field>\r\n <mat-label>Username</mat-label>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Password</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" placeholder=\"Password\">\r\n </mat-form-field>\r\n <div *ngIf=\"loginError\" class=\"animate-login-error animated rubberBand\">\r\n <p style=\"color: red; font-weight: bold;\"> {{ loginError }}</p>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-raised-button color=\"primary\" type=\"submit\" [disabled]=\"isDisabled()\">Login</button>\r\n </mat-card-actions>\r\n </mat-card>\r\n </form>\r\n</div>\r\n", styles: [".login-container{display:flex;justify-content:center;align-items:center;height:100vh;margin:0;padding:0}.login-input{margin-bottom:20px}.animate-login{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;margin-top:50px}.wrapper{display:flex;justify-content:center;align-items:center;height:100vh}mat-card{max-width:300px;width:100%;max-height:300px;padding:20px}.form-group{width:100%;max-width:400px;margin-bottom:20px}.login-wrapper{display:flex;justify-content:center;align-items:center;height:100vh}::ng-deep .login-wrapper .mat-mdc-text-field-wrapper{padding:0 16px!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i5$
|
|
5969
|
+
TruLogin.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruLogin, selector: "tru-login", ngImport: i0, template: "<div class=\"login-wrapper\">\r\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"onSubmit()\">\r\n <mat-card class=\"animate-login\">\r\n <mat-card-header>\r\n <mat-card-title> loginFormTitle </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-form-field>\r\n <mat-label>Username</mat-label>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Password</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" placeholder=\"Password\">\r\n </mat-form-field>\r\n <div *ngIf=\"loginError\" class=\"animate-login-error animated rubberBand\">\r\n <p style=\"color: red; font-weight: bold;\"> {{ loginError }}</p>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-raised-button color=\"primary\" type=\"submit\" [disabled]=\"isDisabled()\">Login</button>\r\n </mat-card-actions>\r\n </mat-card>\r\n </form>\r\n</div>\r\n", styles: [".login-container{display:flex;justify-content:center;align-items:center;height:100vh;margin:0;padding:0}.login-input{margin-bottom:20px}.animate-login{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;margin-top:50px}.wrapper{display:flex;justify-content:center;align-items:center;height:100vh}mat-card{max-width:300px;width:100%;max-height:300px;padding:20px}.form-group{width:100%;max-width:400px;margin-bottom:20px}.login-wrapper{display:flex;justify-content:center;align-items:center;height:100vh}::ng-deep .login-wrapper .mat-mdc-text-field-wrapper{padding:0 16px!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i5$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
5925
5970
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruLogin, decorators: [{
|
|
5926
5971
|
type: Component,
|
|
5927
5972
|
args: [{ selector: 'tru-login', template: "<div class=\"login-wrapper\">\r\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"onSubmit()\">\r\n <mat-card class=\"animate-login\">\r\n <mat-card-header>\r\n <mat-card-title> loginFormTitle </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-form-field>\r\n <mat-label>Username</mat-label>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Password</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" placeholder=\"Password\">\r\n </mat-form-field>\r\n <div *ngIf=\"loginError\" class=\"animate-login-error animated rubberBand\">\r\n <p style=\"color: red; font-weight: bold;\"> {{ loginError }}</p>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-raised-button color=\"primary\" type=\"submit\" [disabled]=\"isDisabled()\">Login</button>\r\n </mat-card-actions>\r\n </mat-card>\r\n </form>\r\n</div>\r\n", styles: [".login-container{display:flex;justify-content:center;align-items:center;height:100vh;margin:0;padding:0}.login-input{margin-bottom:20px}.animate-login{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;margin-top:50px}.wrapper{display:flex;justify-content:center;align-items:center;height:100vh}mat-card{max-width:300px;width:100%;max-height:300px;padding:20px}.form-group{width:100%;max-width:400px;margin-bottom:20px}.login-wrapper{display:flex;justify-content:center;align-items:center;height:100vh}::ng-deep .login-wrapper .mat-mdc-text-field-wrapper{padding:0 16px!important}\n"] }]
|