ngx-techlify-core 18.13.0 → 18.16.0
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/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs +10 -3
- package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +3 -3
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +42 -13
- package/esm2022/lib/user-menu/user-menu.component.mjs +39 -0
- package/esm2022/lib/user-menu/user-menu.module.mjs +28 -0
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/ngx-techlify-core.mjs +96 -14
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/company-information/company-info-display/company-info-display.component.d.ts +3 -0
- package/lib/file-dropper/file-dropper.component.d.ts +1 -1
- package/lib/user/user-enable-button-component/user-enable-button.component.d.ts +3 -1
- package/lib/user-menu/user-menu.component.d.ts +17 -0
- package/lib/user-menu/user-menu.module.d.ts +13 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -20,7 +20,7 @@ import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
|
20
20
|
import * as i8$1 from '@angular/material/icon';
|
|
21
21
|
import { MatIconModule, MatIcon } from '@angular/material/icon';
|
|
22
22
|
import * as i8$2 from '@angular/material/menu';
|
|
23
|
-
import { MatMenuModule, MatMenuTrigger, MatMenu } from '@angular/material/menu';
|
|
23
|
+
import { MatMenuModule, MatMenuTrigger, MatMenu, MatMenuItem } from '@angular/material/menu';
|
|
24
24
|
import * as i13 from '@angular/material/table';
|
|
25
25
|
import { MatTableModule } from '@angular/material/table';
|
|
26
26
|
import * as i3 from 'ngx-doc-viewer';
|
|
@@ -48,7 +48,7 @@ import { MatChipsModule } from '@angular/material/chips';
|
|
|
48
48
|
import * as i8$4 from '@angular/material/autocomplete';
|
|
49
49
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
50
50
|
import * as i1$5 from '@angular/router';
|
|
51
|
-
import { RouteReuseStrategy, RouterModule, NavigationEnd } from '@angular/router';
|
|
51
|
+
import { RouteReuseStrategy, RouterModule, NavigationEnd, RouterLink } from '@angular/router';
|
|
52
52
|
import * as i9$3 from '@angular/material/select';
|
|
53
53
|
import { MatSelectModule } from '@angular/material/select';
|
|
54
54
|
import moment from 'moment';
|
|
@@ -3256,10 +3256,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3256
3256
|
}] } });
|
|
3257
3257
|
|
|
3258
3258
|
let UserEnableButtonComponent = class UserEnableButtonComponent {
|
|
3259
|
-
constructor(service, alertService, currentUserService) {
|
|
3259
|
+
constructor(service, alertService, currentUserService, dialog) {
|
|
3260
3260
|
this.service = service;
|
|
3261
3261
|
this.alertService = alertService;
|
|
3262
3262
|
this.currentUserService = currentUserService;
|
|
3263
|
+
this.dialog = dialog;
|
|
3263
3264
|
this.isUseIcons = false;
|
|
3264
3265
|
this.onSave = new EventEmitter();
|
|
3265
3266
|
}
|
|
@@ -3271,8 +3272,21 @@ let UserEnableButtonComponent = class UserEnableButtonComponent {
|
|
|
3271
3272
|
this.alertService.addAlert('Current user cannot be changed', 'warn');
|
|
3272
3273
|
return;
|
|
3273
3274
|
}
|
|
3274
|
-
this.
|
|
3275
|
-
|
|
3275
|
+
const dialogRef = this.dialog.open(ActionPopupComponent, {
|
|
3276
|
+
width: "400px",
|
|
3277
|
+
data: {
|
|
3278
|
+
title: 'Enable User',
|
|
3279
|
+
message: 'This will re-enable the user’s account. Are you sure you want to continue?'
|
|
3280
|
+
},
|
|
3281
|
+
autoFocus: false
|
|
3282
|
+
});
|
|
3283
|
+
dialogRef.afterClosed().subscribe(async (result) => {
|
|
3284
|
+
if (result) {
|
|
3285
|
+
//Action confirmed
|
|
3286
|
+
this.service.enable(this.user).then(res => {
|
|
3287
|
+
this.onSave.emit(this.user);
|
|
3288
|
+
});
|
|
3289
|
+
}
|
|
3276
3290
|
});
|
|
3277
3291
|
}
|
|
3278
3292
|
disableUser() {
|
|
@@ -3280,11 +3294,24 @@ let UserEnableButtonComponent = class UserEnableButtonComponent {
|
|
|
3280
3294
|
this.alertService.addAlert('Current user cannot be changed', 'warn');
|
|
3281
3295
|
return;
|
|
3282
3296
|
}
|
|
3283
|
-
this.
|
|
3284
|
-
|
|
3297
|
+
const dialogRef = this.dialog.open(ActionPopupComponent, {
|
|
3298
|
+
width: "400px",
|
|
3299
|
+
data: {
|
|
3300
|
+
title: 'Disable User',
|
|
3301
|
+
message: 'This will disable the user’s account and access to TechlifyHR self-service. Are you sure you want to continue?'
|
|
3302
|
+
},
|
|
3303
|
+
autoFocus: false
|
|
3304
|
+
});
|
|
3305
|
+
dialogRef.afterClosed().subscribe(async (result) => {
|
|
3306
|
+
if (result) {
|
|
3307
|
+
//Action confirmed
|
|
3308
|
+
this.service.disable(this.user).then(res => {
|
|
3309
|
+
this.onSave.emit(this.user);
|
|
3310
|
+
});
|
|
3311
|
+
}
|
|
3285
3312
|
});
|
|
3286
3313
|
}
|
|
3287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserEnableButtonComponent, deps: [{ token: UserService }, { token: AlertService }, { token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3314
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserEnableButtonComponent, deps: [{ token: UserService }, { token: AlertService }, { token: CurrentUserService }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3288
3315
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserEnableButtonComponent, selector: "app-user-enable-button", inputs: { user: "user", isUseIcons: "isUseIcons" }, outputs: { onSave: "onSave" }, ngImport: i0, template: "<ng-container *ngIf=\"!isUseIcons\">\n <button mat-stroked-button color=\"warn\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\">\n Disable\n </button>\n <button mat-raised-button color=\"primary\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\">\n Enable\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"isUseIcons\">\n <button mat-icon-button class=\"text-danger\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\" matTooltip=\"Disable User\">\n <mat-icon>person_off</mat-icon>\n </button>\n <button mat-icon-button class=\"text-success\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\" matTooltip=\"Enable User\">\n <mat-icon>task_alt</mat-icon>\n </button>\n</ng-container>", dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
3289
3316
|
};
|
|
3290
3317
|
UserEnableButtonComponent = __decorate([
|
|
@@ -3299,7 +3326,7 @@ UserEnableButtonComponent = __decorate([
|
|
|
3299
3326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserEnableButtonComponent, decorators: [{
|
|
3300
3327
|
type: Component,
|
|
3301
3328
|
args: [{ selector: 'app-user-enable-button', template: "<ng-container *ngIf=\"!isUseIcons\">\n <button mat-stroked-button color=\"warn\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\">\n Disable\n </button>\n <button mat-raised-button color=\"primary\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\">\n Enable\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"isUseIcons\">\n <button mat-icon-button class=\"text-danger\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\" matTooltip=\"Disable User\">\n <mat-icon>person_off</mat-icon>\n </button>\n <button mat-icon-button class=\"text-success\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\" matTooltip=\"Enable User\">\n <mat-icon>task_alt</mat-icon>\n </button>\n</ng-container>" }]
|
|
3302
|
-
}], ctorParameters: () => [{ type: UserService }, { type: AlertService }, { type: CurrentUserService }], propDecorators: { user: [{
|
|
3329
|
+
}], ctorParameters: () => [{ type: UserService }, { type: AlertService }, { type: CurrentUserService }, { type: i1.MatDialog }], propDecorators: { user: [{
|
|
3303
3330
|
type: Input
|
|
3304
3331
|
}], isUseIcons: [{
|
|
3305
3332
|
type: Input
|
|
@@ -12265,11 +12292,11 @@ class TechlifyCompanySwitcherComponent {
|
|
|
12265
12292
|
});
|
|
12266
12293
|
}
|
|
12267
12294
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyCompanySwitcherComponent, deps: [{ token: HttpService }, { token: CredentialsService }, { token: AlertService }, { token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher", ngImport: i0, template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <
|
|
12295
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher", ngImport: i0, template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let userClient of userClients\">\n <button\n *ngIf=\"userClient?.client\"\n mat-menu-item\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
|
|
12269
12296
|
}
|
|
12270
12297
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyCompanySwitcherComponent, decorators: [{
|
|
12271
12298
|
type: Component,
|
|
12272
|
-
args: [{ selector: 'app-techlify-company-switcher', template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <
|
|
12299
|
+
args: [{ selector: 'app-techlify-company-switcher', template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let userClient of userClients\">\n <button\n *ngIf=\"userClient?.client\"\n mat-menu-item\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"] }]
|
|
12273
12300
|
}], ctorParameters: () => [{ type: HttpService }, { type: CredentialsService }, { type: AlertService }, { type: CurrentUserService }] });
|
|
12274
12301
|
|
|
12275
12302
|
class TechlifyCompanySwitcherModule {
|
|
@@ -12969,7 +12996,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
12969
12996
|
}], ctorParameters: () => [{ type: FormValidatorService }, { type: i1$4.FormBuilder }, { type: CurrentUserService }, { type: ClientService }, { type: AlertService }, { type: i2$1.Location }] });
|
|
12970
12997
|
|
|
12971
12998
|
class CompanyInfoDisplayComponent {
|
|
12972
|
-
|
|
12999
|
+
constructor(currentUserService) {
|
|
13000
|
+
this.currentUserService = currentUserService;
|
|
13001
|
+
this.currentUserService.getUserObservable(true).subscribe((user) => {
|
|
13002
|
+
this.client = user?.client;
|
|
13003
|
+
});
|
|
13004
|
+
}
|
|
13005
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, deps: [{ token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12973
13006
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyInfoDisplayComponent, isStandalone: true, selector: "app-company-info-display", inputs: { client: "client" }, ngImport: i0, template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
12974
13007
|
}
|
|
12975
13008
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, decorators: [{
|
|
@@ -12977,7 +13010,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
12977
13010
|
args: [{ selector: 'app-company-info-display', standalone: true, imports: [
|
|
12978
13011
|
NgIf
|
|
12979
13012
|
], template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n" }]
|
|
12980
|
-
}], propDecorators: { client: [{
|
|
13013
|
+
}], ctorParameters: () => [{ type: CurrentUserService }], propDecorators: { client: [{
|
|
12981
13014
|
type: Input
|
|
12982
13015
|
}] } });
|
|
12983
13016
|
|
|
@@ -13130,6 +13163,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13130
13163
|
}]
|
|
13131
13164
|
}] });
|
|
13132
13165
|
|
|
13166
|
+
class UserMenuComponent {
|
|
13167
|
+
constructor(router, errorHandler, alertService, credentialsService, authenticationService) {
|
|
13168
|
+
this.router = router;
|
|
13169
|
+
this.errorHandler = errorHandler;
|
|
13170
|
+
this.alertService = alertService;
|
|
13171
|
+
this.credentialsService = credentialsService;
|
|
13172
|
+
this.authenticationService = authenticationService;
|
|
13173
|
+
this.user = this.credentialsService.credentials?.user;
|
|
13174
|
+
}
|
|
13175
|
+
get username() {
|
|
13176
|
+
return this.credentialsService.credentials?.user?.name || '';
|
|
13177
|
+
}
|
|
13178
|
+
async logout() {
|
|
13179
|
+
try {
|
|
13180
|
+
await this.authenticationService.logout().toPromise();
|
|
13181
|
+
this.alertService.addAlert('Successfully signed off', 'success');
|
|
13182
|
+
this.router.navigate(['/login'], { replaceUrl: true });
|
|
13183
|
+
}
|
|
13184
|
+
catch (error) {
|
|
13185
|
+
this.errorHandler.handleError(error);
|
|
13186
|
+
}
|
|
13187
|
+
}
|
|
13188
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserMenuComponent, deps: [{ token: i1$5.Router }, { token: ErrorHandlerService }, { token: AlertService }, { token: CredentialsService }, { token: AuthenticationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13189
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserMenuComponent, selector: "app-user-menu", ngImport: i0, template: "<button\n mat-button\n [matMenuTriggerFor]=\"userMenu\"\n type=\"button\"\n color=\"primary\"\n class=\"p-1 font-xs w-100\"\n>\n <div class=\"d-flex align-items-center gap-1\">\n <span class=\"material-symbols-outlined\"> account_circle </span>\n <span class=\"font-weight-normal font-md\">\n {{ username }}\n </span>\n <span class=\"material-symbols-outlined\"> arrow_drop_down </span>\n </div>\n</button>\n\n<mat-menu #userMenu=\"matMenu\">\n <app-techlify-company-switcher *ngIf=\"user.user_type_id != 1\"></app-techlify-company-switcher>\n <button mat-menu-item type=\"button\" [routerLink]=\"['/change-password']\">\n <mat-icon>vpn_key</mat-icon>\n Change Password\n </button>\n <button mat-menu-item (click)=\"logout()\" type=\"button\">\n <mat-icon>login</mat-icon>\n Logout\n </button>\n</mat-menu>\n", dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher" }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
13190
|
+
}
|
|
13191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserMenuComponent, decorators: [{
|
|
13192
|
+
type: Component,
|
|
13193
|
+
args: [{ selector: 'app-user-menu', template: "<button\n mat-button\n [matMenuTriggerFor]=\"userMenu\"\n type=\"button\"\n color=\"primary\"\n class=\"p-1 font-xs w-100\"\n>\n <div class=\"d-flex align-items-center gap-1\">\n <span class=\"material-symbols-outlined\"> account_circle </span>\n <span class=\"font-weight-normal font-md\">\n {{ username }}\n </span>\n <span class=\"material-symbols-outlined\"> arrow_drop_down </span>\n </div>\n</button>\n\n<mat-menu #userMenu=\"matMenu\">\n <app-techlify-company-switcher *ngIf=\"user.user_type_id != 1\"></app-techlify-company-switcher>\n <button mat-menu-item type=\"button\" [routerLink]=\"['/change-password']\">\n <mat-icon>vpn_key</mat-icon>\n Change Password\n </button>\n <button mat-menu-item (click)=\"logout()\" type=\"button\">\n <mat-icon>login</mat-icon>\n Logout\n </button>\n</mat-menu>\n" }]
|
|
13194
|
+
}], ctorParameters: () => [{ type: i1$5.Router }, { type: ErrorHandlerService }, { type: AlertService }, { type: CredentialsService }, { type: AuthenticationService }] });
|
|
13195
|
+
|
|
13196
|
+
class UserMenuModule {
|
|
13197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13198
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UserMenuModule, declarations: [UserMenuComponent], imports: [CommonModule, MatButton, MatMenu, MatMenuItem, RouterLink, MatMenuTrigger, TechlifyCompanySwitcherModule,
|
|
13199
|
+
MatIcon], exports: [UserMenuComponent] }); }
|
|
13200
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserMenuModule, imports: [CommonModule, MatButton, MatMenu, MatMenuItem, TechlifyCompanySwitcherModule,
|
|
13201
|
+
MatIcon] }); }
|
|
13202
|
+
}
|
|
13203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserMenuModule, decorators: [{
|
|
13204
|
+
type: NgModule,
|
|
13205
|
+
args: [{
|
|
13206
|
+
declarations: [UserMenuComponent],
|
|
13207
|
+
imports: [
|
|
13208
|
+
CommonModule, MatButton, MatMenu, MatMenuItem, RouterLink, MatMenuTrigger, TechlifyCompanySwitcherModule,
|
|
13209
|
+
MatIcon
|
|
13210
|
+
],
|
|
13211
|
+
exports: [UserMenuComponent]
|
|
13212
|
+
}]
|
|
13213
|
+
}] });
|
|
13214
|
+
|
|
13133
13215
|
/*
|
|
13134
13216
|
* Public API Surface of ngx-techlify-core
|
|
13135
13217
|
*/
|
|
@@ -13138,5 +13220,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13138
13220
|
* Generated bundle index. Do not edit.
|
|
13139
13221
|
*/
|
|
13140
13222
|
|
|
13141
|
-
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppSwitcherComponent, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, ClientService, ColumnConfig, ColumnSelectorComponent, ColumnSelectorModule, CommentFormComponent, CompanyInfoDisplayComponent, CompanyInformationComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, DEFAULT_SELECTED_VALUE, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileService, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDragdropUploaderComponent, FileDragdropUploaderModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginComponent, LoginFormFieldsComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MaterialModule, MultiUserConfig, NgxTechlifyUsersModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberInputButtonComponent, NumberInputButtonModule, NumberSelector, PageEvent, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, ResetPasswordComponent, ResetPasswordModule, ResetPasswordRoutingModule, ResetPasswordService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormButtonComponent, RoleFormComponent, RoleModule, RoleRoutingProvider, RoleService, RolesViewAllComponent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TenantListWidgetComponent, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserClientEnableDisableButtonComponent, UserClientsListComponent, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserExploreComponent, UserFormComponent, UserListPageConfig, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UserSessionsComponent, UsersViewAllComponent, UtilityModule, ViewerConfig, WrapPipe, calculateTimeline, esfur, estlr, esulr };
|
|
13223
|
+
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppSwitcherComponent, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, ClientService, ColumnConfig, ColumnSelectorComponent, ColumnSelectorModule, CommentFormComponent, CompanyInfoDisplayComponent, CompanyInformationComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, DEFAULT_SELECTED_VALUE, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileService, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDragdropUploaderComponent, FileDragdropUploaderModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginComponent, LoginFormFieldsComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MaterialModule, MultiUserConfig, NgxTechlifyUsersModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberInputButtonComponent, NumberInputButtonModule, NumberSelector, PageEvent, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, ResetPasswordComponent, ResetPasswordModule, ResetPasswordRoutingModule, ResetPasswordService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormButtonComponent, RoleFormComponent, RoleModule, RoleRoutingProvider, RoleService, RolesViewAllComponent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TenantListWidgetComponent, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserClientEnableDisableButtonComponent, UserClientsListComponent, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserExploreComponent, UserFormComponent, UserListPageConfig, UserMenuComponent, UserMenuModule, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UserSessionsComponent, UsersViewAllComponent, UtilityModule, ViewerConfig, WrapPipe, calculateTimeline, esfur, estlr, esulr };
|
|
13142
13224
|
//# sourceMappingURL=ngx-techlify-core.mjs.map
|