ngx-techlify-core 18.41.0 → 18.43.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/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +1 -1
- package/esm2022/lib/base-model/techlify-listing-component.class.mjs +37 -4
- package/esm2022/lib/role/role-form.component.mjs +5 -15
- package/esm2022/lib/role/role-view/role-view-routing.module.mjs +26 -0
- package/esm2022/lib/role/role-view/role-view.module.mjs +47 -0
- package/esm2022/lib/role/role.module.mjs +5 -6
- package/esm2022/lib/role/role.routes.mjs +6 -3
- package/esm2022/lib/role/role.service.mjs +1 -4
- package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +3 -2
- package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.component.mjs +1 -1
- package/esm2022/lib/user-clients-list/user-clients-list.component.mjs +1 -1
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/ngx-techlify-core.mjs +236 -150
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.d.ts +1 -1
- package/lib/base-model/techlify-listing-component.class.d.ts +7 -2
- package/lib/role/role-form.component.d.ts +0 -2
- package/lib/role/role-view/role-view-routing.module.d.ts +7 -0
- package/lib/role/role-view/role-view.module.d.ts +13 -0
- package/lib/role/role.module.d.ts +9 -10
- package/lib/role/role.service.d.ts +0 -1
- package/lib/user/user-sessions/user-sessions/user-sessions.component.d.ts +1 -1
- package/lib/user-clients-list/user-clients-list.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
|
@@ -11,7 +11,7 @@ import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-b
|
|
|
11
11
|
import * as i8 from '@angular/material/icon';
|
|
12
12
|
import { MatIconModule, MatIcon } from '@angular/material/icon';
|
|
13
13
|
import { __decorate } from 'tslib';
|
|
14
|
-
import { debounceTime, catchError, switchMap, map as map$1, distinctUntilChanged, startWith,
|
|
14
|
+
import { debounceTime, finalize as finalize$1, catchError, switchMap, map as map$1, distinctUntilChanged, startWith, filter } from 'rxjs/operators';
|
|
15
15
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
|
16
16
|
import * as i1$6 from '@angular/platform-browser';
|
|
17
17
|
import { Title } from '@angular/platform-browser';
|
|
@@ -529,7 +529,8 @@ let TechlifyListingControllerInterface = class TechlifyListingControllerInterfac
|
|
|
529
529
|
get pageTitle() {
|
|
530
530
|
return undefined; // default
|
|
531
531
|
}
|
|
532
|
-
constructor() {
|
|
532
|
+
constructor(service) {
|
|
533
|
+
this.service = service;
|
|
533
534
|
this.models = [];
|
|
534
535
|
this.selectedModelIds = [];
|
|
535
536
|
this.isAllSelected = false;
|
|
@@ -573,6 +574,29 @@ let TechlifyListingControllerInterface = class TechlifyListingControllerInterfac
|
|
|
573
574
|
patchFiltersFromRoute() {
|
|
574
575
|
this.requestHelperService.updateFormWithQueryParams(this.filterForm, this.filterFormConfiguration);
|
|
575
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* Function that loads the main models of the application
|
|
579
|
+
*/
|
|
580
|
+
loadData(filters) {
|
|
581
|
+
if (!this.service) {
|
|
582
|
+
throw new Error(`${this.constructor.name}: Service is required to load the data`);
|
|
583
|
+
}
|
|
584
|
+
this.isWorking = true;
|
|
585
|
+
if (!filters) {
|
|
586
|
+
filters = JSON.parse(JSON.stringify(this.filterForm.value));
|
|
587
|
+
filters.perPage = this.perPage;
|
|
588
|
+
filters.page = this.page;
|
|
589
|
+
}
|
|
590
|
+
this.service.index(filters)
|
|
591
|
+
.pipe(finalize$1(() => this.isWorking = false))
|
|
592
|
+
.subscribe((result) => {
|
|
593
|
+
this.lastPage = result?.last_page || this.page;
|
|
594
|
+
if (result?.data?.length > 0) {
|
|
595
|
+
this.models = this.models.concat(result.data);
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
;
|
|
576
600
|
/**
|
|
577
601
|
* Reload all data from page 1
|
|
578
602
|
*/
|
|
@@ -669,10 +693,17 @@ let TechlifyListingControllerInterface = class TechlifyListingControllerInterfac
|
|
|
669
693
|
this.models = [];
|
|
670
694
|
this.filterForm.get('sort_by').setValue(`${event?.active}|${direction}`);
|
|
671
695
|
}
|
|
696
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyListingControllerInterface, deps: [{ token: TechlifyServiceBaseClass, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
697
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyListingControllerInterface, ngImport: i0 }); }
|
|
672
698
|
};
|
|
673
699
|
TechlifyListingControllerInterface = __decorate([
|
|
674
700
|
UntilDestroy()
|
|
675
701
|
], TechlifyListingControllerInterface);
|
|
702
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyListingControllerInterface, decorators: [{
|
|
703
|
+
type: Directive
|
|
704
|
+
}], ctorParameters: () => [{ type: TechlifyServiceBaseClass, decorators: [{
|
|
705
|
+
type: Optional
|
|
706
|
+
}] }] });
|
|
676
707
|
|
|
677
708
|
var DataTableComponent_1;
|
|
678
709
|
let DataTableComponent = class DataTableComponent {
|
|
@@ -3868,7 +3899,8 @@ class TechlifyIconComponent {
|
|
|
3868
3899
|
history: 'fas fa-clock',
|
|
3869
3900
|
copy: 'fas fa-copy',
|
|
3870
3901
|
activate: 'fas fa-check-circle',
|
|
3871
|
-
deactivate: 'fas fa-stop-circle'
|
|
3902
|
+
deactivate: 'fas fa-stop-circle',
|
|
3903
|
+
email: 'far fa-envelope'
|
|
3872
3904
|
};
|
|
3873
3905
|
// Map size input to CSS classes
|
|
3874
3906
|
this.sizeMap = {
|
|
@@ -4746,7 +4778,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4746
4778
|
args: [{ selector: 'user-view', template: "<div class=\"mat-typography m-4\" *ngIf=\"user\">\n <h1 class=\"text-center\">{{user.name}}</h1>\n\n <div class=\"border\">\n <mat-tab-group>\n <mat-tab label=\"Basic Information\">\n <ng-template matTabContent>\n <div class=\"row m-4\">\n <div class=\"col-4\">\n <div class=\"bordered-section\">\n <div class=\"row\" *ngIf=\"currentUser?.user_type_id != 3\">\n <button type=\"button\" mat-icon-button (click)=\"editUser(user)\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-stroked-button color=\"warn\" *ngIf=\"!user.user_client?.is_enabled\"\n (click)=\"enableOrDisableUser('enable')\">\n Enable\n </button>\n <button mat-stroked-button color=\"primary\" *ngIf=\"user.user_client?.is_enabled\"\n (click)=\"enableOrDisableUser('disable')\">Disable</button>\n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Name:</label>\n <div class=\"col-sm-8\">{{user?.name}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Email:</label>\n <div class=\"col-sm-8\">{{user?.email}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Type:</label>\n <div class=\"col-sm-8\">{{user?.type?.title}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Status:</label>\n <div class=\"col-sm-8\">{{user?.user_client?.is_enabled ? 'Enabled' : 'Disabled' }}\n </div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Role:</label>\n <div class=\"col-sm-8\">\n <span *ngFor=\"let role of user?.roles\">\n <button class=\"btn btn-outline-dark btn-xs mb-2\">{{role?.label}}</button>\n \n </span>\n </div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Signature:</label>\n <div class=\"col-sm-8\">\n <span *ngIf=\"user?.signature\">\n <img src=\"{{user?.signature_url}}\" alt=\"\" width=\"250px\" />\n </span>\n <span *ngIf=\"!user?.signature\">\n No Signature Added\n </span>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Login History\">\n <ng-template matTabContent>\n <app-login-history-for-user [userId]=\"user?.id\"></app-login-history-for-user>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Activity Logs\">\n <ng-template matTabContent>\n <app-audit-log-list objectType=\"User\" [objectId]=\"user?.id\" [showExportButtons]=\"false\">\n </app-audit-log-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Tenants\" *ngIf=\"currentUser?.user_type_id === UserTypeEnum.ADMIN\">\n <ng-template matTabContent>\n <app-user-clients-list [user]=\"user\"></app-user-clients-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Sessions\">\n <ng-template matTabContent>\n <app-user-sessions [user]=\"user\"></app-user-sessions>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n\n</div>", styles: [".user-node .page-title{margin:20px 0 0}.user-node #information-tabs-wrapper .nav-pills .nav-link{border-radius:0;border:1px solid #007bff;border-right:none;width:190px}.user-node #information-tabs-wrapper .tab-content{padding:20px;border:1px solid #007bff;width:calc(100vw - 200px)}\n"] }]
|
|
4747
4779
|
}], ctorParameters: () => [{ type: UserService }, { type: i1$2.ActivatedRoute }, { type: ConfigService }, { type: HttpService }, { type: i1.MatDialog }, { type: CurrentUserService }] });
|
|
4748
4780
|
|
|
4749
|
-
const routes$
|
|
4781
|
+
const routes$H = [
|
|
4750
4782
|
{ path: '', component: UsersViewAllComponent, canActivate: [AuthenticationGuard] },
|
|
4751
4783
|
{ path: ':id', component: UserViewComponent, canActivate: [AuthenticationGuard] },
|
|
4752
4784
|
{ path: ':id/app-admin-view', loadChildren: () => Promise.resolve().then(function () { return appAdminUserView_module; }).then(mod => mod.AppAdminUserViewModule), canActivate: [AuthenticationGuard] },
|
|
@@ -4757,12 +4789,12 @@ const routes$G = [
|
|
|
4757
4789
|
class UserRoutingProvider {
|
|
4758
4790
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRoutingProvider, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4759
4791
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UserRoutingProvider, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
4760
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRoutingProvider, imports: [RouterModule.forChild(routes$
|
|
4792
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRoutingProvider, imports: [RouterModule.forChild(routes$H), RouterModule] }); }
|
|
4761
4793
|
}
|
|
4762
4794
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRoutingProvider, decorators: [{
|
|
4763
4795
|
type: NgModule,
|
|
4764
4796
|
args: [{
|
|
4765
|
-
imports: [RouterModule.forChild(routes$
|
|
4797
|
+
imports: [RouterModule.forChild(routes$H)],
|
|
4766
4798
|
exports: [RouterModule]
|
|
4767
4799
|
}]
|
|
4768
4800
|
}] });
|
|
@@ -6161,16 +6193,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6161
6193
|
}]
|
|
6162
6194
|
}] });
|
|
6163
6195
|
|
|
6164
|
-
const routes$
|
|
6196
|
+
const routes$G = [];
|
|
6165
6197
|
class TimelineFilterRoutingModule {
|
|
6166
6198
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimelineFilterRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6167
6199
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TimelineFilterRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6168
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimelineFilterRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6200
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimelineFilterRoutingModule, imports: [RouterModule.forChild(routes$G), RouterModule] }); }
|
|
6169
6201
|
}
|
|
6170
6202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimelineFilterRoutingModule, decorators: [{
|
|
6171
6203
|
type: NgModule,
|
|
6172
6204
|
args: [{
|
|
6173
|
-
imports: [RouterModule.forChild(routes$
|
|
6205
|
+
imports: [RouterModule.forChild(routes$G)],
|
|
6174
6206
|
exports: [RouterModule]
|
|
6175
6207
|
}]
|
|
6176
6208
|
}] });
|
|
@@ -6247,16 +6279,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6247
6279
|
}]
|
|
6248
6280
|
}] });
|
|
6249
6281
|
|
|
6250
|
-
const routes$
|
|
6282
|
+
const routes$F = [];
|
|
6251
6283
|
class TechlifyNotificationRoutingModule {
|
|
6252
6284
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6253
6285
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6254
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6286
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationRoutingModule, imports: [RouterModule.forChild(routes$F), RouterModule] }); }
|
|
6255
6287
|
}
|
|
6256
6288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationRoutingModule, decorators: [{
|
|
6257
6289
|
type: NgModule,
|
|
6258
6290
|
args: [{
|
|
6259
|
-
imports: [RouterModule.forChild(routes$
|
|
6291
|
+
imports: [RouterModule.forChild(routes$F)],
|
|
6260
6292
|
exports: [RouterModule]
|
|
6261
6293
|
}]
|
|
6262
6294
|
}] });
|
|
@@ -6348,7 +6380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6348
6380
|
args: [{ selector: 'app-techlify-notification-for-user', template: "<div fxLayout=\"column\" class=\"container my-4\">\n <div>\n <mat-card appearance=\"outlined\">\n <h3>My Notification Preferences</h3>\n </mat-card>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n <mat-card appearance=\"outlined\" class=\"mt-4\">\n <mat-list fxLayout=\"column\">\n <mat-list-item fxLayout>\n <h5 fxFlex=\"33%\" class=\"p-1\">Notification</h5>\n <h5 fxFlex class=\"p-1\">Email</h5>\n <h5 fxFlex class=\"p-1\">Mobile</h5>\n <h5 fxFlex class=\"p-1\">In-App</h5>\n </mat-list-item>\n <ng-container *ngFor=\"let model of models|keyvalue\">\n <mat-list-item>\n <h5 class=\"p-1\">{{model?.key}}</h5>\n </mat-list-item>\n <mat-list-item *ngFor=\"let notificationType of model.value\" fxLayout=\"start center\">\n <div fxFlex=\"33%\" class=\"p-1\">\n <div>{{notificationType?.title}} </div>\n <div style=\"text-wrap: auto; line-height: normal;\">\n <small class=\"text-secondary\"> {{notificationType?.description}} </small>\n </div>\n </div>\n <div fxFlex class=\"p-1\">\n <mat-slide-toggle\n (change)=\"toggleSubscription(notificationType,'is_subscribed_email',$event)\"\n [checked]=\"notificationType?.is_subscribed_email\"\n [disabled]=\"(!notificationType.is_editable) || notificationType.isWorking || notificationType?.is_subscribed_email_default == null\">\n </mat-slide-toggle>\n </div>\n <div fxFlex class=\"p-1\">\n <mat-slide-toggle\n (change)=\"toggleSubscription(notificationType,'is_subscribed_mobile',$event)\"\n [checked]=\"notificationType?.is_subscribed_mobile\"\n [disabled]=\"(!notificationType.is_editable) || notificationType.isWorking || notificationType?.is_subscribed_mobile_default == null\">\n </mat-slide-toggle>\n </div>\n <div fxFlex class=\"p-1\">\n <mat-slide-toggle\n (change)=\"toggleSubscription(notificationType,'is_subscribed_in_app',$event)\"\n [checked]=\"notificationType?.is_subscribed_in_app\"\n [disabled]=\"(!notificationType.is_editable) || notificationType.isWorking || notificationType?.is_subscribed_in_app_default == null\">\n </mat-slide-toggle>\n </div>\n </mat-list-item>\n <mat-divider></mat-divider>\n </ng-container>\n </mat-list>\n </mat-card>\n </div>\n\n</div>", styles: [":host ::ng-deep .mdc-list-item.mdc-list-item--with-one-line{height:auto!important}\n"] }]
|
|
6349
6381
|
}], ctorParameters: () => [{ type: TechlifyNotificationTypeService }, { type: TechlifyNotificationSubscriptionService }] });
|
|
6350
6382
|
|
|
6351
|
-
const routes$
|
|
6383
|
+
const routes$E = [
|
|
6352
6384
|
{
|
|
6353
6385
|
path: '',
|
|
6354
6386
|
component: TechlifyNotificationForUserComponent,
|
|
@@ -6358,12 +6390,12 @@ const routes$D = [
|
|
|
6358
6390
|
class TechlifyNotificationForUserRoutingModule {
|
|
6359
6391
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationForUserRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6360
6392
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationForUserRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6361
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationForUserRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6393
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationForUserRoutingModule, imports: [RouterModule.forChild(routes$E), RouterModule] }); }
|
|
6362
6394
|
}
|
|
6363
6395
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationForUserRoutingModule, decorators: [{
|
|
6364
6396
|
type: NgModule,
|
|
6365
6397
|
args: [{
|
|
6366
|
-
imports: [RouterModule.forChild(routes$
|
|
6398
|
+
imports: [RouterModule.forChild(routes$E)],
|
|
6367
6399
|
exports: [RouterModule]
|
|
6368
6400
|
}]
|
|
6369
6401
|
}] });
|
|
@@ -6402,16 +6434,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6402
6434
|
* Public API Surface of techlify-notifications
|
|
6403
6435
|
*/
|
|
6404
6436
|
|
|
6405
|
-
const routes$
|
|
6437
|
+
const routes$D = [];
|
|
6406
6438
|
class EmailSubscriptionRoutingModule {
|
|
6407
6439
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6408
6440
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6409
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6441
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionRoutingModule, imports: [RouterModule.forChild(routes$D), RouterModule] }); }
|
|
6410
6442
|
}
|
|
6411
6443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionRoutingModule, decorators: [{
|
|
6412
6444
|
type: NgModule,
|
|
6413
6445
|
args: [{
|
|
6414
|
-
imports: [RouterModule.forChild(routes$
|
|
6446
|
+
imports: [RouterModule.forChild(routes$D)],
|
|
6415
6447
|
exports: [RouterModule]
|
|
6416
6448
|
}]
|
|
6417
6449
|
}] });
|
|
@@ -6434,16 +6466,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6434
6466
|
}]
|
|
6435
6467
|
}] });
|
|
6436
6468
|
|
|
6437
|
-
const routes$
|
|
6469
|
+
const routes$C = [];
|
|
6438
6470
|
class EmailSubscriptionUserRoutingModule {
|
|
6439
6471
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6440
6472
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6441
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6473
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserRoutingModule, imports: [RouterModule.forChild(routes$C), RouterModule] }); }
|
|
6442
6474
|
}
|
|
6443
6475
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserRoutingModule, decorators: [{
|
|
6444
6476
|
type: NgModule,
|
|
6445
6477
|
args: [{
|
|
6446
|
-
imports: [RouterModule.forChild(routes$
|
|
6478
|
+
imports: [RouterModule.forChild(routes$C)],
|
|
6447
6479
|
exports: [RouterModule]
|
|
6448
6480
|
}]
|
|
6449
6481
|
}] });
|
|
@@ -6466,16 +6498,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6466
6498
|
}]
|
|
6467
6499
|
}] });
|
|
6468
6500
|
|
|
6469
|
-
const routes$
|
|
6501
|
+
const routes$B = [];
|
|
6470
6502
|
class EmailSubscriptionUserFormRoutingModule {
|
|
6471
6503
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserFormRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6472
6504
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserFormRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6473
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserFormRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6505
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserFormRoutingModule, imports: [RouterModule.forChild(routes$B), RouterModule] }); }
|
|
6474
6506
|
}
|
|
6475
6507
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserFormRoutingModule, decorators: [{
|
|
6476
6508
|
type: NgModule,
|
|
6477
6509
|
args: [{
|
|
6478
|
-
imports: [RouterModule.forChild(routes$
|
|
6510
|
+
imports: [RouterModule.forChild(routes$B)],
|
|
6479
6511
|
exports: [RouterModule]
|
|
6480
6512
|
}]
|
|
6481
6513
|
}] });
|
|
@@ -6780,7 +6812,7 @@ const esulr = {
|
|
|
6780
6812
|
redirectTo: '/'
|
|
6781
6813
|
}
|
|
6782
6814
|
};
|
|
6783
|
-
const routes$
|
|
6815
|
+
const routes$A = [
|
|
6784
6816
|
{
|
|
6785
6817
|
path: '',
|
|
6786
6818
|
component: EmailSubscriptionUserListComponent,
|
|
@@ -6791,26 +6823,26 @@ const routes$z = [
|
|
|
6791
6823
|
class EmailSubscriptionUserListRoutingModule {
|
|
6792
6824
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6793
6825
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6794
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6826
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListRoutingModule, imports: [RouterModule.forChild(routes$A), RouterModule] }); }
|
|
6795
6827
|
}
|
|
6796
6828
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListRoutingModule, decorators: [{
|
|
6797
6829
|
type: NgModule,
|
|
6798
6830
|
args: [{
|
|
6799
|
-
imports: [RouterModule.forChild(routes$
|
|
6831
|
+
imports: [RouterModule.forChild(routes$A)],
|
|
6800
6832
|
exports: [RouterModule]
|
|
6801
6833
|
}]
|
|
6802
6834
|
}] });
|
|
6803
6835
|
|
|
6804
|
-
const routes$
|
|
6836
|
+
const routes$z = [];
|
|
6805
6837
|
class EmailSubscriptionUserListFilterRoutingModule {
|
|
6806
6838
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListFilterRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6807
6839
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListFilterRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6808
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListFilterRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6840
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListFilterRoutingModule, imports: [RouterModule.forChild(routes$z), RouterModule] }); }
|
|
6809
6841
|
}
|
|
6810
6842
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionUserListFilterRoutingModule, decorators: [{
|
|
6811
6843
|
type: NgModule,
|
|
6812
6844
|
args: [{
|
|
6813
|
-
imports: [RouterModule.forChild(routes$
|
|
6845
|
+
imports: [RouterModule.forChild(routes$z)],
|
|
6814
6846
|
exports: [RouterModule]
|
|
6815
6847
|
}]
|
|
6816
6848
|
}] });
|
|
@@ -6883,16 +6915,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6883
6915
|
}]
|
|
6884
6916
|
}] });
|
|
6885
6917
|
|
|
6886
|
-
const routes$
|
|
6918
|
+
const routes$y = [];
|
|
6887
6919
|
class EmailSubscriptionTypeRoutingModule {
|
|
6888
6920
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6889
6921
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6890
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6922
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeRoutingModule, imports: [RouterModule.forChild(routes$y), RouterModule] }); }
|
|
6891
6923
|
}
|
|
6892
6924
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeRoutingModule, decorators: [{
|
|
6893
6925
|
type: NgModule,
|
|
6894
6926
|
args: [{
|
|
6895
|
-
imports: [RouterModule.forChild(routes$
|
|
6927
|
+
imports: [RouterModule.forChild(routes$y)],
|
|
6896
6928
|
exports: [RouterModule]
|
|
6897
6929
|
}]
|
|
6898
6930
|
}] });
|
|
@@ -6915,16 +6947,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6915
6947
|
}]
|
|
6916
6948
|
}] });
|
|
6917
6949
|
|
|
6918
|
-
const routes$
|
|
6950
|
+
const routes$x = [];
|
|
6919
6951
|
class EmailSubscriptionTypeFormRoutingModule {
|
|
6920
6952
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeFormRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6921
6953
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeFormRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6922
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeFormRoutingModule, imports: [RouterModule.forChild(routes$
|
|
6954
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeFormRoutingModule, imports: [RouterModule.forChild(routes$x), RouterModule] }); }
|
|
6923
6955
|
}
|
|
6924
6956
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeFormRoutingModule, decorators: [{
|
|
6925
6957
|
type: NgModule,
|
|
6926
6958
|
args: [{
|
|
6927
|
-
imports: [RouterModule.forChild(routes$
|
|
6959
|
+
imports: [RouterModule.forChild(routes$x)],
|
|
6928
6960
|
exports: [RouterModule]
|
|
6929
6961
|
}]
|
|
6930
6962
|
}] });
|
|
@@ -7192,7 +7224,7 @@ const estlr = {
|
|
|
7192
7224
|
redirectTo: '/'
|
|
7193
7225
|
}
|
|
7194
7226
|
};
|
|
7195
|
-
const routes$
|
|
7227
|
+
const routes$w = [
|
|
7196
7228
|
{
|
|
7197
7229
|
path: '',
|
|
7198
7230
|
component: EmailSubscriptionTypeListComponent,
|
|
@@ -7203,12 +7235,12 @@ const routes$v = [
|
|
|
7203
7235
|
class EmailSubscriptionTypeListRoutingModule {
|
|
7204
7236
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeListRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7205
7237
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeListRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
7206
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeListRoutingModule, imports: [RouterModule.forChild(routes$
|
|
7238
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeListRoutingModule, imports: [RouterModule.forChild(routes$w), RouterModule] }); }
|
|
7207
7239
|
}
|
|
7208
7240
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionTypeListRoutingModule, decorators: [{
|
|
7209
7241
|
type: NgModule,
|
|
7210
7242
|
args: [{
|
|
7211
|
-
imports: [RouterModule.forChild(routes$
|
|
7243
|
+
imports: [RouterModule.forChild(routes$w)],
|
|
7212
7244
|
exports: [RouterModule]
|
|
7213
7245
|
}]
|
|
7214
7246
|
}] });
|
|
@@ -7314,7 +7346,7 @@ const esfur = {
|
|
|
7314
7346
|
only: ['client_admin']
|
|
7315
7347
|
}
|
|
7316
7348
|
};
|
|
7317
|
-
const routes$
|
|
7349
|
+
const routes$v = [
|
|
7318
7350
|
{
|
|
7319
7351
|
path: '',
|
|
7320
7352
|
component: EmailSubscriptionForUserComponent,
|
|
@@ -7325,12 +7357,12 @@ const routes$u = [
|
|
|
7325
7357
|
class EmailSubscriptionForUserRoutingModule {
|
|
7326
7358
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionForUserRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7327
7359
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionForUserRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
7328
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionForUserRoutingModule, imports: [RouterModule.forChild(routes$
|
|
7360
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionForUserRoutingModule, imports: [RouterModule.forChild(routes$v), RouterModule] }); }
|
|
7329
7361
|
}
|
|
7330
7362
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailSubscriptionForUserRoutingModule, decorators: [{
|
|
7331
7363
|
type: NgModule,
|
|
7332
7364
|
args: [{
|
|
7333
|
-
imports: [RouterModule.forChild(routes$
|
|
7365
|
+
imports: [RouterModule.forChild(routes$v)],
|
|
7334
7366
|
exports: [RouterModule]
|
|
7335
7367
|
}]
|
|
7336
7368
|
}] });
|
|
@@ -7667,7 +7699,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7667
7699
|
args: [{ selector: 'app-techlify-updates-list', template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n App Updates\n <button mat-raised-button (click)=\"modifyTechlifyUpdate()\" class=\"primary-bg text-white\">\n <mat-icon>\n add\n </mat-icon>\n Create\n </button>\n </h3>\n <form [formGroup]=\"filterFormGroup\" fxLayout=\"row wrap\" fxLayoutGap=\"0.5rem\" fxFlex=\"100%\" style=\"font-size: 12px;\">\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Title\" autocomplete=\"off\" />\n <button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button (click)=\"resetFieldValue('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" />\n <button *ngIf=\"filterFormGroup.get('version').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n\n <table mat-table [dataSource]=\"techlifyUpdates\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.title}} </td>\n </ng-container>\n\n <!--Is Pinned Column-->\n <ng-container matColumnDef=\"is_pinned\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Is Pinned </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_pinned ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n\n <!-- Version Column -->\n <ng-container matColumnDef=\"version\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Version </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.version}} </td>\n </ng-container>\n\n <!-- Released On Column -->\n <ng-container matColumnDef=\"released_on\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Released On </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.released_on | date:'mediumDate'}} </td>\n </ng-container>\n\n <!-- Learn More Link Column -->\n <ng-container matColumnDef=\"learn_more_link\">\n <th mat-header-cell *matHeaderCellDef> Learn more link </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [href]=\"element?.learn_more_link\" target=\"_blank\">\n {{element?.learn_more_link}}\n </a>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element?.description\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.creator?.name}}\n <div fxLayout class=\"small\">\n {{element?.created_at | date : 'mediumDate'}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"modifyTechlifyUpdate(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"deleteTechlifyUpdate(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>" }]
|
|
7668
7700
|
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: AlertService }, { type: TechlifyUpdateService }, { type: i1$5.UntypedFormBuilder }] });
|
|
7669
7701
|
|
|
7670
|
-
const routes$
|
|
7702
|
+
const routes$u = [
|
|
7671
7703
|
{ path: '', redirectTo: 'all', pathMatch: 'full' },
|
|
7672
7704
|
{ path: 'all', component: TechlifyUpdatesListComponent },
|
|
7673
7705
|
//fallback
|
|
@@ -7680,12 +7712,12 @@ const routes$t = [
|
|
|
7680
7712
|
class TechlifyUpdateRoutingModule {
|
|
7681
7713
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7682
7714
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
7683
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateRoutingModule, imports: [RouterModule.forChild(routes$
|
|
7715
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateRoutingModule, imports: [RouterModule.forChild(routes$u), RouterModule] }); }
|
|
7684
7716
|
}
|
|
7685
7717
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateRoutingModule, decorators: [{
|
|
7686
7718
|
type: NgModule,
|
|
7687
7719
|
args: [{
|
|
7688
|
-
imports: [RouterModule.forChild(routes$
|
|
7720
|
+
imports: [RouterModule.forChild(routes$u)],
|
|
7689
7721
|
exports: [RouterModule]
|
|
7690
7722
|
}]
|
|
7691
7723
|
}] });
|
|
@@ -7879,7 +7911,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7879
7911
|
args: [{ selector: 'app-techlify-update-history', template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n App Updates\n </h3>\n <form [formGroup]=\"filterFormGroup\" fxLayout=\"row wrap\" fxLayoutGap=\"0.5rem\" fxFlex=\"100%\" style=\"font-size: 12px;\">\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Title\" autocomplete=\"off\" />\n <button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button (click)=\"resetFieldValue('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" />\n <button *ngIf=\"filterFormGroup.get('version').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n\n <table mat-table [dataSource]=\"techlifyUpdates\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Course Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.title}} </td>\n </ng-container>\n\n <!--Is Pinned Column-->\n <ng-container matColumnDef=\"is_pinned\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Is Pinned </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_pinned ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n <!-- Version Column -->\n <ng-container matColumnDef=\"version\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Version </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.version}} </td>\n </ng-container>\n\n <!-- Released On Column -->\n <ng-container matColumnDef=\"released_on\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Released On </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.released_on | date:'mediumDate'}} </td>\n </ng-container>\n\n <!-- Learn More Link Column -->\n <ng-container matColumnDef=\"learn_more_link\">\n <th mat-header-cell *matHeaderCellDef> Learn more link </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [href]=\"element?.learn_more_link\" target=\"_blank\">\n {{element?.learn_more_link}}\n </a>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element?.description\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.creator?.name}}\n <div fxLayout class=\"small\">\n {{element?.created_at | date : 'mediumDate'}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"openUpdateView(element)\">\n <mat-icon>remove_red_eye</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>" }]
|
|
7880
7912
|
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: TechlifyUpdateService }, { type: i1$5.UntypedFormBuilder }, { type: AlertService }] });
|
|
7881
7913
|
|
|
7882
|
-
const routes$
|
|
7914
|
+
const routes$t = [
|
|
7883
7915
|
{ path: '', redirectTo: 'update-history', pathMatch: 'full' },
|
|
7884
7916
|
{ path: 'update-history', component: TechlifyUpdateHistoryComponent },
|
|
7885
7917
|
//fallback
|
|
@@ -7892,12 +7924,12 @@ const routes$s = [
|
|
|
7892
7924
|
class TechlifyUpdateHistoryRoutingModule {
|
|
7893
7925
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7894
7926
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
7895
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, imports: [RouterModule.forChild(routes$
|
|
7927
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, imports: [RouterModule.forChild(routes$t), RouterModule] }); }
|
|
7896
7928
|
}
|
|
7897
7929
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, decorators: [{
|
|
7898
7930
|
type: NgModule,
|
|
7899
7931
|
args: [{
|
|
7900
|
-
imports: [RouterModule.forChild(routes$
|
|
7932
|
+
imports: [RouterModule.forChild(routes$t)],
|
|
7901
7933
|
exports: [RouterModule]
|
|
7902
7934
|
}]
|
|
7903
7935
|
}] });
|
|
@@ -8322,30 +8354,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8322
8354
|
type: Input
|
|
8323
8355
|
}] } });
|
|
8324
8356
|
|
|
8325
|
-
const routes$
|
|
8357
|
+
const routes$s = [];
|
|
8326
8358
|
class AuditLogForModelRoutingModule {
|
|
8327
8359
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogForModelRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8328
8360
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AuditLogForModelRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
8329
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogForModelRoutingModule, imports: [RouterModule.forChild(routes$
|
|
8361
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogForModelRoutingModule, imports: [RouterModule.forChild(routes$s), RouterModule] }); }
|
|
8330
8362
|
}
|
|
8331
8363
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogForModelRoutingModule, decorators: [{
|
|
8332
8364
|
type: NgModule,
|
|
8333
8365
|
args: [{
|
|
8334
|
-
imports: [RouterModule.forChild(routes$
|
|
8366
|
+
imports: [RouterModule.forChild(routes$s)],
|
|
8335
8367
|
exports: [RouterModule]
|
|
8336
8368
|
}]
|
|
8337
8369
|
}] });
|
|
8338
8370
|
|
|
8339
|
-
const routes$
|
|
8371
|
+
const routes$r = [];
|
|
8340
8372
|
class AuditLogViewModelRoutingModule {
|
|
8341
8373
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewModelRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8342
8374
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewModelRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
8343
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewModelRoutingModule, imports: [RouterModule.forChild(routes$
|
|
8375
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewModelRoutingModule, imports: [RouterModule.forChild(routes$r), RouterModule] }); }
|
|
8344
8376
|
}
|
|
8345
8377
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewModelRoutingModule, decorators: [{
|
|
8346
8378
|
type: NgModule,
|
|
8347
8379
|
args: [{
|
|
8348
|
-
imports: [RouterModule.forChild(routes$
|
|
8380
|
+
imports: [RouterModule.forChild(routes$r)],
|
|
8349
8381
|
exports: [RouterModule]
|
|
8350
8382
|
}]
|
|
8351
8383
|
}] });
|
|
@@ -8375,44 +8407,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8375
8407
|
}]
|
|
8376
8408
|
}] });
|
|
8377
8409
|
|
|
8378
|
-
const routes$
|
|
8410
|
+
const routes$q = [];
|
|
8379
8411
|
class AuditLogsViewModelRoutingModule {
|
|
8380
8412
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogsViewModelRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8381
8413
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AuditLogsViewModelRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
8382
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogsViewModelRoutingModule, imports: [RouterModule.forChild(routes$
|
|
8414
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogsViewModelRoutingModule, imports: [RouterModule.forChild(routes$q), RouterModule] }); }
|
|
8383
8415
|
}
|
|
8384
8416
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogsViewModelRoutingModule, decorators: [{
|
|
8385
8417
|
type: NgModule,
|
|
8386
8418
|
args: [{
|
|
8387
|
-
imports: [RouterModule.forChild(routes$
|
|
8419
|
+
imports: [RouterModule.forChild(routes$q)],
|
|
8388
8420
|
exports: [RouterModule]
|
|
8389
8421
|
}]
|
|
8390
8422
|
}] });
|
|
8391
8423
|
|
|
8392
|
-
const routes$
|
|
8424
|
+
const routes$p = [];
|
|
8393
8425
|
class AuditLogListRoutingModule {
|
|
8394
8426
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8395
8427
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
8396
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListRoutingModule, imports: [RouterModule.forChild(routes$
|
|
8428
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListRoutingModule, imports: [RouterModule.forChild(routes$p), RouterModule] }); }
|
|
8397
8429
|
}
|
|
8398
8430
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListRoutingModule, decorators: [{
|
|
8399
8431
|
type: NgModule,
|
|
8400
8432
|
args: [{
|
|
8401
|
-
imports: [RouterModule.forChild(routes$
|
|
8433
|
+
imports: [RouterModule.forChild(routes$p)],
|
|
8402
8434
|
exports: [RouterModule]
|
|
8403
8435
|
}]
|
|
8404
8436
|
}] });
|
|
8405
8437
|
|
|
8406
|
-
const routes$
|
|
8438
|
+
const routes$o = [];
|
|
8407
8439
|
class AuditLogListFilterRoutingModule {
|
|
8408
8440
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListFilterRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8409
8441
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListFilterRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
8410
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListFilterRoutingModule, imports: [RouterModule.forChild(routes$
|
|
8442
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListFilterRoutingModule, imports: [RouterModule.forChild(routes$o), RouterModule] }); }
|
|
8411
8443
|
}
|
|
8412
8444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListFilterRoutingModule, decorators: [{
|
|
8413
8445
|
type: NgModule,
|
|
8414
8446
|
args: [{
|
|
8415
|
-
imports: [RouterModule.forChild(routes$
|
|
8447
|
+
imports: [RouterModule.forChild(routes$o)],
|
|
8416
8448
|
exports: [RouterModule]
|
|
8417
8449
|
}]
|
|
8418
8450
|
}] });
|
|
@@ -8593,16 +8625,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8593
8625
|
args: [{ selector: 'app-audit-log-view', template: "<div fxLayout=\"column\" class=\"m-4\" fxLayoutGap=\"1.5rem\">\n <h3 class=\"text-center\">Audit Log</h3>\n <div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" *ngIf=\"logInfo\">\n <div>Object Type: {{logInfo?.object_type}}</div>\n <div>Object Id: {{logInfo?.object_id}}</div>\n <div>Action: {{logInfo?.action}}</div>\n <div>Created At: {{logInfo?.created_at | date:'medium'}}</div>\n <div>Created By: {{logInfo?.user?.email}}</div>\n </div>\n\n\n <div fxLayout=\"column\" *ngIf=\"logInfo?.action !== 'deleted'\">\n <div>\n <button mat-raised-button color=\"primary\" (click)=\"showDeltaChanges = !showDeltaChanges\">\n {{showDeltaChanges?'Hide JSON Changes': 'Show JSON Changes'}}\n </button>\n </div>\n <div [hidden]=\"!showDeltaChanges\">\n <h4 class=\"font-weight-bold\" *ngIf=\"logInfo\">Changes in JSON</h4>\n <div id=\"jsondiff\"></div>\n </div>\n </div>\n\n <div class=\"container\" *ngIf=\"changeList.length > 0\">\n <h4 class=\"font-weight-bold\"> Changes in Attributes</h4>\n <table class=\"table table-striped table-sm border\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Attribute</th>\n <th scope=\"col\">Old Value</th>\n <th scope=\"col\">New Value</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let change of changeList; let i= index;\">\n <th scope=\"row\">{{i+1}}</th>\n <td>{{change?.displayAttribute}}</td>\n <td>{{change?.oldValue}}</td>\n <td>{{change?.newValue}}</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n</div>" }]
|
|
8594
8626
|
}], ctorParameters: () => [{ type: DataManager }, { type: i1$2.ActivatedRoute }, { type: i2$1.Location }] });
|
|
8595
8627
|
|
|
8596
|
-
const routes$
|
|
8628
|
+
const routes$n = [];
|
|
8597
8629
|
class AuditLogViewRoutingModule {
|
|
8598
8630
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8599
8631
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
8600
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewRoutingModule, imports: [RouterModule.forChild(routes$
|
|
8632
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewRoutingModule, imports: [RouterModule.forChild(routes$n), RouterModule] }); }
|
|
8601
8633
|
}
|
|
8602
8634
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogViewRoutingModule, decorators: [{
|
|
8603
8635
|
type: NgModule,
|
|
8604
8636
|
args: [{
|
|
8605
|
-
imports: [RouterModule.forChild(routes$
|
|
8637
|
+
imports: [RouterModule.forChild(routes$n)],
|
|
8606
8638
|
exports: [RouterModule]
|
|
8607
8639
|
}]
|
|
8608
8640
|
}] });
|
|
@@ -8632,7 +8664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8632
8664
|
}]
|
|
8633
8665
|
}] });
|
|
8634
8666
|
|
|
8635
|
-
const routes$
|
|
8667
|
+
const routes$m = [
|
|
8636
8668
|
{ path: 'log-list', component: AuditLogListComponent, canActivate: [AuthenticationGuard] },
|
|
8637
8669
|
{ path: 'log-view/:id', component: AuditLogViewComponent, canActivate: [AuthenticationGuard] },
|
|
8638
8670
|
{ path: '**', redirectTo: 'log-list', pathMatch: 'full' }
|
|
@@ -8640,12 +8672,12 @@ const routes$l = [
|
|
|
8640
8672
|
class AuditLogRoutingModule {
|
|
8641
8673
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8642
8674
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AuditLogRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
8643
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogRoutingModule, imports: [RouterModule.forChild(routes$
|
|
8675
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogRoutingModule, imports: [RouterModule.forChild(routes$m), RouterModule] }); }
|
|
8644
8676
|
}
|
|
8645
8677
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogRoutingModule, decorators: [{
|
|
8646
8678
|
type: NgModule,
|
|
8647
8679
|
args: [{
|
|
8648
|
-
imports: [RouterModule.forChild(routes$
|
|
8680
|
+
imports: [RouterModule.forChild(routes$m)],
|
|
8649
8681
|
exports: [RouterModule]
|
|
8650
8682
|
}]
|
|
8651
8683
|
}] });
|
|
@@ -9184,7 +9216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
9184
9216
|
}]
|
|
9185
9217
|
}] });
|
|
9186
9218
|
|
|
9187
|
-
const routes$
|
|
9219
|
+
const routes$l = [
|
|
9188
9220
|
{
|
|
9189
9221
|
path: '',
|
|
9190
9222
|
component: LoginHistoryForUserComponent,
|
|
@@ -9194,12 +9226,12 @@ const routes$k = [
|
|
|
9194
9226
|
class LoginHistoryForUserRoutingModule {
|
|
9195
9227
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginHistoryForUserRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9196
9228
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LoginHistoryForUserRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
9197
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginHistoryForUserRoutingModule, imports: [RouterModule.forChild(routes$
|
|
9229
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginHistoryForUserRoutingModule, imports: [RouterModule.forChild(routes$l), RouterModule] }); }
|
|
9198
9230
|
}
|
|
9199
9231
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginHistoryForUserRoutingModule, decorators: [{
|
|
9200
9232
|
type: NgModule,
|
|
9201
9233
|
args: [{
|
|
9202
|
-
imports: [RouterModule.forChild(routes$
|
|
9234
|
+
imports: [RouterModule.forChild(routes$l)],
|
|
9203
9235
|
exports: [RouterModule]
|
|
9204
9236
|
}]
|
|
9205
9237
|
}] });
|
|
@@ -9621,14 +9653,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
9621
9653
|
args: [{ selector: 'app-techlify-listing-feature', template: "<div fxLayout=\"column\" fxLayoutGap=\"3rem\" class=\"p-3\">\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"primary-color mt-3\">\n <h3>Features Configuration</h3>\n <mat-hint>\n <i> Here you can specify which optional features you'd like to have available to your team </i>\n </mat-hint>\n </div>\n\n\n <div>\n <mat-card>\n <mat-card-content fxlayout=\"column\" style=\"overflow: auto; height: 700px\" class=\"classifications-card\">\n <table mat-table [dataSource]=\"features\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [fromRoot]=\"true\" [infiniteScrollContainer]=\"'.classifications-card'\">\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\">\n {{ i + 1 }}\n </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"feature\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear>\n Feature\n </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.title }}</td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear>\n Descriptions\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.description }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear>\n Actions\n </th>\n <td mat-cell *matCellDef=\"let element\">\n <div *ngIf=\"!element?.client_feature\">\n <app-on-off-switch [value]=\"element?.is_enabled_default\"\n (click)=\"toggeleFeature(element?.is_enabled_default, element)\"></app-on-off-switch>\n </div>\n <div *ngIf=\"element?.client_feature\">\n <app-on-off-switch [value]=\"element?.client_feature?.is_enabled\"\n (click)=\"toggeleFeature(element?.client_feature?.is_enabled, element)\"></app-on-off-switch>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n </mat-card-content>\n </mat-card>\n </div>\n</div>" }]
|
|
9622
9654
|
}], ctorParameters: () => [{ type: ErrorHandlerService }, { type: i1$5.UntypedFormBuilder }, { type: AlertService }, { type: i1.MatDialog }, { type: TechlifyFeatureService }] });
|
|
9623
9655
|
|
|
9624
|
-
const routes$
|
|
9656
|
+
const routes$k = [
|
|
9625
9657
|
{
|
|
9626
9658
|
path: '',
|
|
9627
9659
|
component: TechlifyFeatureListingComponent,
|
|
9628
9660
|
canActivate: [AuthenticationGuard]
|
|
9629
9661
|
},
|
|
9630
9662
|
];
|
|
9631
|
-
const TechlifyFeatureRoutes = RouterModule.forChild(routes$
|
|
9663
|
+
const TechlifyFeatureRoutes = RouterModule.forChild(routes$k);
|
|
9632
9664
|
|
|
9633
9665
|
class TechlifyFeatureEnabledDirective {
|
|
9634
9666
|
constructor(el, featureService) {
|
|
@@ -9929,7 +9961,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
9929
9961
|
args: [{ selector: 'app-change-password', template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\">\n <div class=\"row w-100\">\n <div class=\"col-lg-6 col-md-8 col-sm-10 col-xs-12 col-12 mx-auto\">\n <mat-card>\n <mat-card-title>\n Update Your Password\n </mat-card-title>\n <mat-card-subtitle>\n <small class=\"text-muted\" *ngIf=\"user?.is_temporary_password\">\n You\u2019re currently using a temporary password, please change it to proceed\n </small>\n </mat-card-subtitle>\n <form [formGroup]=\"passwordResetForm\" (ngSubmit)=\"saveNewPassword()\">\n <mat-card-content fxLayout=\"column wrap\" fxLayoutGap=\"1rem\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Current Password</mat-label>\n <input matInput formControlName=\"current_password\"\n placeholder=\"Current Password\"\n type=\"password\"\n autocomplete=\"off\"\n required />\n <mat-hint>Your current password.</mat-hint>\n <mat-error *ngIf=\"isFieldValid('current_password')\">\n {{getErrorMessage('current_password')}}\n </mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"100%\">\n <mat-label>New Password</mat-label>\n <input matInput formControlName=\"password\"\n placeholder=\"New Password\"\n [type]=\"passwordHide ? 'password' : 'text'\"\n autocomplete=\"off\"\n required />\n <button matSuffix mat-icon-button (click)=\"passwordHide = !passwordHide\" type=\"button\">\n <mat-icon>{{passwordHide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('password')\">\n {{getErrorMessage('password')}}\n </mat-error>\n <mat-hint>The new password you would like to use.</mat-hint>\n </mat-form-field>\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Confirm Password</mat-label>\n <input matInput formControlName=\"password_confirmation\"\n placeholder=\"Confirm Password\"\n [type]=\"passwordConfirmationHide ? 'password' : 'text'\"\n autocomplete=\"off\" required />\n <button matSuffix mat-icon-button (click)=\"passwordConfirmationHide = !passwordConfirmationHide\" type=\"button\">\n <mat-icon>{{passwordConfirmationHide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('password_confirmation')\">\n {{getErrorMessage('password_confirmation')}}\n </mat-error>\n </mat-form-field>\n </mat-card-content>\n <div class=\"mt-2 mb-2\">\n <techlify-password-requirement-check [password]=\"passwordResetForm.get('password').value\"></techlify-password-requirement-check>\n </div>\n <mat-card-actions fxLayoutAlign=\"end\">\n <button mat-raised-button color=primary type=\"submit\" [disabled]=\"isWorking\">\n Change Password\n </button>\n </mat-card-actions>\n </form>\n </mat-card>\n </div>\n </div>\n</div>\n" }]
|
|
9930
9962
|
}], ctorParameters: () => [{ type: HttpService }, { type: AlertService }, { type: i1$2.Router }, { type: CurrentUserService }, { type: i1$5.UntypedFormBuilder }, { type: ErrorHandlerService }, { type: FormValidatorService }] });
|
|
9931
9963
|
|
|
9932
|
-
const routes$
|
|
9964
|
+
const routes$j = [
|
|
9933
9965
|
{ path: '', component: ChangePasswordComponent, canActivate: [AuthenticationGuard] },
|
|
9934
9966
|
// fallback when no prior route found
|
|
9935
9967
|
{ path: '**', redirectTo: '', pathMatch: 'full' }
|
|
@@ -9937,12 +9969,12 @@ const routes$i = [
|
|
|
9937
9969
|
class ChangePasswordRoutingModule {
|
|
9938
9970
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangePasswordRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9939
9971
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ChangePasswordRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
9940
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangePasswordRoutingModule, imports: [RouterModule.forChild(routes$
|
|
9972
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangePasswordRoutingModule, imports: [RouterModule.forChild(routes$j), RouterModule] }); }
|
|
9941
9973
|
}
|
|
9942
9974
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangePasswordRoutingModule, decorators: [{
|
|
9943
9975
|
type: NgModule,
|
|
9944
9976
|
args: [{
|
|
9945
|
-
imports: [RouterModule.forChild(routes$
|
|
9977
|
+
imports: [RouterModule.forChild(routes$j)],
|
|
9946
9978
|
exports: [RouterModule]
|
|
9947
9979
|
}]
|
|
9948
9980
|
}] });
|
|
@@ -10062,18 +10094,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10062
10094
|
args: [{ selector: 'forgot-password', template: "<div class=\"h-100 row align-items-center mx-0\">\n <div class=\"col\">\n <header class=\"branding-block mb-0 mt-4\">\n <div class=\"branding text-center\">\n <a *ngIf=\"userConfig.appLogoUrl\" href=\"{{userConfig.appUrl}}\" target=\"_blank\">\n <img class=\"techlify-logo d-inline-block\" [src]=\"userConfig.appLogoUrl\" />\n </a>\n </div>\n <div class=\"product-info text-center mt-2\">\n <h3 class=\"product-name\">{{ userConfig.appName }}</h3>\n </div>\n </header>\n\n <div id=\"login-form-wrapper\"\n class=\"form-bordered mx-auto form-medium form-bordered form-centered form-horizontal mt-3 white-box\"\n style=\"width:550px\">\n\n <h4 class=\"section-title text-center mt-4\">RESET</h4>\n\n <form [formGroup]=\"forgotPasswordForm\" (ngSubmit)=\"sendOtp()\" class=\"mt-4\">\n\n <div class=\"form-group row\">\n <mat-form-field class=\"offset-2 col-8\">\n <input matInput formControlName=\"email\" placeholder=\"Email\" type=\"email\" autocomplete=\"off\"\n required />\n <mat-error *ngIf=\"isFieldValid('email')\">{{getErrorMessage('email')}}</mat-error>\n </mat-form-field>\n </div>\n\n <div class=\"row mt-4\">\n <div class=\"col-12 text-center\">\n <button mat-raised-button color=\"primary\" class=\"w-50\" type=\"submit\"\n [disabled]=\"isWorking\">\n Send OTP\n </button>\n </div>\n </div>\n </form>\n </div>\n\n <div class=\"row mt-3 mr-0 ml-0\" *ngIf=\"userConfig.showSignup\">\n <div class=\"col-12 text-center\">\n <p>New to {{ userConfig.appName }}?</p>\n <button mat-button class=\"btn btn-sm btn-secondary text-white\" style=\"width: 550px;\" type=\"button\"\n [routerLink]=\"['/signup']\">\n Create an account\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["#login-form-wrapper{margin-top:100px}#login-form-wrapper .branding-block{margin-bottom:60px}#login-form-wrapper .techlify-logo{height:40px;padding-right:10px;bottom:10px;position:relative}#login-form-wrapper .company-name{margin-bottom:0}:host{width:100%}.white-box{background-color:#fff;padding:10px}\n"] }]
|
|
10063
10095
|
}], ctorParameters: () => [{ type: HttpService }, { type: AlertService }, { type: i1$2.Router }, { type: CurrentUserService }, { type: ErrorHandlerService }, { type: CredentialsService }, { type: i1$5.UntypedFormBuilder }, { type: FormValidatorService }, { type: UserConfigService }] });
|
|
10064
10096
|
|
|
10065
|
-
const routes$
|
|
10097
|
+
const routes$i = [
|
|
10066
10098
|
{ path: '', component: ForgotPasswordComponent }
|
|
10067
10099
|
];
|
|
10068
10100
|
class ForgotPasswordRoutingModule {
|
|
10069
10101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10070
10102
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
10071
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordRoutingModule, imports: [RouterModule.forChild(routes$
|
|
10103
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordRoutingModule, imports: [RouterModule.forChild(routes$i), RouterModule] }); }
|
|
10072
10104
|
}
|
|
10073
10105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordRoutingModule, decorators: [{
|
|
10074
10106
|
type: NgModule,
|
|
10075
10107
|
args: [{
|
|
10076
|
-
imports: [RouterModule.forChild(routes$
|
|
10108
|
+
imports: [RouterModule.forChild(routes$i)],
|
|
10077
10109
|
exports: [RouterModule],
|
|
10078
10110
|
providers: []
|
|
10079
10111
|
}]
|
|
@@ -10285,19 +10317,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10285
10317
|
args: [{ selector: 'login', template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\" style=\"background: #fafafa;\">\n <div class=\"row w-100\">\n <div class=\"col-lg-4 col-md-6 col-sm-8 col-xs-10 col-12 mx-auto\">\n <mat-card class=\"mb-3 mt-3 w-100\">\n <header class=\"branding-block mb-0 mt-4\">\n <div class=\"branding text-center\">\n <a *ngIf=\"userConfig.appLogoUrl\" href=\"{{userConfig.appUrl}}\" target=\"_blank\">\n <img class=\"techlify-logo d-inline-block\" [src]=\"userConfig.appLogoUrl\" alt=\"Logo\" />\n </a>\n </div>\n <div class=\"product-info text-center mt-2\">\n <h3 class=\"product-name\">{{ userConfig.appName }}</h3>\n </div>\n </header>\n\n <div id=\"login-form-wrapper\">\n <app-login-form-fields [userConfig]=\"userConfig\"></app-login-form-fields>\n </div>\n\n <div class=\"mt-3 p-0 mr-0 ml-0\" *ngIf=\"userConfig.showSignup\">\n <p>New to {{ userConfig.appName }}?</p>\n <button mat-raised-button class=\"w-100\" color=\"accent\" type=\"button\" [routerLink]=\"['/signup']\">\n Create an account\n </button>\n </div>\n </mat-card>\n </div>\n </div>\n</div>", styles: ["#login-form-wrapper{margin-top:40px}#login-form-wrapper .branding-block{margin-bottom:60px}#login-form-wrapper .techlify-logo{height:40px;padding-right:10px;bottom:10px;position:relative}#login-form-wrapper .company-name{margin-bottom:0}#login-form-wrapper .google-button{background:#ce1d1d;color:#fff}#login-form-wrapper .facebook-button{background:#38388e;color:#fff}:host{width:100%}.white-box{background-color:#fff;padding:10px}mat-selection-list{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}mat-list-option{border:1px solid #ccc;text-align:center;border-radius:4px;padding:10px;cursor:pointer}mat-list-option:hover{background-color:#f0f0f0}\n"] }]
|
|
10286
10318
|
}], ctorParameters: () => [{ type: AlertService }, { type: i1$2.Router }, { type: AuthenticationService }, { type: CurrentUserService }, { type: StorageService }, { type: CredentialsService }, { type: i1$2.ActivatedRoute }, { type: UserConfigService }] });
|
|
10287
10319
|
|
|
10288
|
-
const routes$
|
|
10320
|
+
const routes$h = [
|
|
10289
10321
|
{ path: '', component: LoginComponent },
|
|
10290
10322
|
{ path: ':id', component: LoginComponent }
|
|
10291
10323
|
];
|
|
10292
10324
|
class LoginRoutingModule {
|
|
10293
10325
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10294
10326
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LoginRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
10295
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginRoutingModule, imports: [RouterModule.forChild(routes$
|
|
10327
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginRoutingModule, imports: [RouterModule.forChild(routes$h), RouterModule] }); }
|
|
10296
10328
|
}
|
|
10297
10329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginRoutingModule, decorators: [{
|
|
10298
10330
|
type: NgModule,
|
|
10299
10331
|
args: [{
|
|
10300
|
-
imports: [RouterModule.forChild(routes$
|
|
10332
|
+
imports: [RouterModule.forChild(routes$h)],
|
|
10301
10333
|
exports: [RouterModule],
|
|
10302
10334
|
providers: []
|
|
10303
10335
|
}]
|
|
@@ -10367,18 +10399,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10367
10399
|
type: Output
|
|
10368
10400
|
}] } });
|
|
10369
10401
|
|
|
10370
|
-
const routes$
|
|
10402
|
+
const routes$g = [
|
|
10371
10403
|
{ path: '', component: ProfileEditComponent, canActivate: [AuthenticationGuard] }
|
|
10372
10404
|
];
|
|
10373
10405
|
class ProfileRoutingModule {
|
|
10374
10406
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10375
10407
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ProfileRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
10376
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileRoutingModule, imports: [RouterModule.forChild(routes$
|
|
10408
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileRoutingModule, imports: [RouterModule.forChild(routes$g), RouterModule] }); }
|
|
10377
10409
|
}
|
|
10378
10410
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileRoutingModule, decorators: [{
|
|
10379
10411
|
type: NgModule,
|
|
10380
10412
|
args: [{
|
|
10381
|
-
imports: [RouterModule.forChild(routes$
|
|
10413
|
+
imports: [RouterModule.forChild(routes$g)],
|
|
10382
10414
|
exports: [RouterModule],
|
|
10383
10415
|
providers: []
|
|
10384
10416
|
}]
|
|
@@ -10394,9 +10426,6 @@ class RoleService {
|
|
|
10394
10426
|
updateRole(role) {
|
|
10395
10427
|
return this.http.put(`api/roles/${role.id}`, role).toPromise();
|
|
10396
10428
|
}
|
|
10397
|
-
getClientSubscriptions(filters) {
|
|
10398
|
-
return this.http.get(`api/client-subscriptions`, { params: filters }).toPromise();
|
|
10399
|
-
}
|
|
10400
10429
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleService, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10401
10430
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleService, providedIn: 'root' }); }
|
|
10402
10431
|
}
|
|
@@ -10424,10 +10453,8 @@ class RoleFormComponent {
|
|
|
10424
10453
|
this.roleService = roleService;
|
|
10425
10454
|
this.modules = [];
|
|
10426
10455
|
this.isWorking = false;
|
|
10427
|
-
this.showModuleSelector = true;
|
|
10428
10456
|
this.isUpdateMode = false;
|
|
10429
10457
|
this.config = this.userConfigService.getConfig();
|
|
10430
|
-
this.showModuleSelector = this.config.roleConfig.showModuleSelectorOnForm;
|
|
10431
10458
|
}
|
|
10432
10459
|
get isAdminUser() {
|
|
10433
10460
|
return (this.credentialsService.credentials?.user?.user_type_id === 1);
|
|
@@ -10437,16 +10464,13 @@ class RoleFormComponent {
|
|
|
10437
10464
|
id: [''],
|
|
10438
10465
|
label: new UntypedFormControl('', Validators.compose([Validators.required])),
|
|
10439
10466
|
description: new UntypedFormControl(''),
|
|
10440
|
-
is_editable: [true],
|
|
10441
|
-
client_id: [this.data
|
|
10467
|
+
is_editable: [this.data?.client_id ? true : false],
|
|
10468
|
+
client_id: [this.data?.client_id ? this.data.client_id : '']
|
|
10442
10469
|
});
|
|
10443
10470
|
if (this.data.role) {
|
|
10444
10471
|
this.roleForm.patchValue(this.data.role);
|
|
10445
10472
|
this.isUpdateMode = true;
|
|
10446
10473
|
}
|
|
10447
|
-
if (this.showModuleSelector) {
|
|
10448
|
-
this.getSubscribedModules();
|
|
10449
|
-
}
|
|
10450
10474
|
}
|
|
10451
10475
|
async save() {
|
|
10452
10476
|
if (!this.roleForm.valid) {
|
|
@@ -10460,11 +10484,6 @@ class RoleFormComponent {
|
|
|
10460
10484
|
this.dialogRef.close(result);
|
|
10461
10485
|
this.isWorking = false;
|
|
10462
10486
|
}
|
|
10463
|
-
async getSubscribedModules() {
|
|
10464
|
-
let filters = {};
|
|
10465
|
-
filters.client_id = this.data.client_id;
|
|
10466
|
-
const result = await this.roleService.getClientSubscriptions(filters);
|
|
10467
|
-
}
|
|
10468
10487
|
/** Method to evaluate form fields*/
|
|
10469
10488
|
isFieldValid(field) {
|
|
10470
10489
|
return this.formValidatorService.isFieldValid(field, this.roleForm);
|
|
@@ -10474,11 +10493,11 @@ class RoleFormComponent {
|
|
|
10474
10493
|
return this.formValidatorService.getErrorMessage(field, this.roleForm, errorMessages$2);
|
|
10475
10494
|
}
|
|
10476
10495
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleFormComponent, deps: [{ token: AlertService }, { token: CredentialsService }, { token: i1$5.UntypedFormBuilder }, { token: FormValidatorService }, { token: UserConfigService }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: RoleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10477
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RoleFormComponent, selector: "role-form", ngImport: i0, template: "<form [formGroup]=\"roleForm\" (ngSubmit)=\"save()\" class=\"p-3\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Role Form</div>\n </div>\n <mat-form-field fxFlex=\"100%\">\n <input matInput formControlName=\"label\" placeholder=\"Role\" type=\"text\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('label')\">{{getErrorMessage('label')}}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"100%\">\n <textarea matInput placeholder=\"Description\" formControlName=\"description\"></textarea>\n </mat-form-field>\n\n <ng-container *ngIf=\"isAdminUser\">\n <mat-checkbox formControlName=\"is_editable\"> Is Editable</mat-checkbox>\n </ng-container>\n\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button mat-button class=\"mt-2\" type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" class=\"mt-2\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n</form>", 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$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "component", type: i7$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9$1.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: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.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: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
10496
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RoleFormComponent, selector: "role-form", ngImport: i0, template: "<form [formGroup]=\"roleForm\" (ngSubmit)=\"save()\" class=\"p-3\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Role Form</div>\n </div>\n <mat-form-field fxFlex=\"100%\">\n <input matInput formControlName=\"label\" placeholder=\"Role\" type=\"text\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('label')\">{{getErrorMessage('label')}}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"100%\">\n <textarea matInput placeholder=\"Description\" formControlName=\"description\"></textarea>\n </mat-form-field>\n\n <ng-container *ngIf=\"isAdminUser && roleForm.get('client_id').value\">\n <mat-checkbox formControlName=\"is_editable\"> Is Editable</mat-checkbox>\n </ng-container>\n\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button mat-button class=\"mt-2\" type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" class=\"mt-2\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n</form>", 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$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "component", type: i7$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9$1.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: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.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: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
10478
10497
|
}
|
|
10479
10498
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleFormComponent, decorators: [{
|
|
10480
10499
|
type: Component,
|
|
10481
|
-
args: [{ selector: 'role-form', template: "<form [formGroup]=\"roleForm\" (ngSubmit)=\"save()\" class=\"p-3\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Role Form</div>\n </div>\n <mat-form-field fxFlex=\"100%\">\n <input matInput formControlName=\"label\" placeholder=\"Role\" type=\"text\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('label')\">{{getErrorMessage('label')}}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"100%\">\n <textarea matInput placeholder=\"Description\" formControlName=\"description\"></textarea>\n </mat-form-field>\n\n <ng-container *ngIf=\"isAdminUser\">\n <mat-checkbox formControlName=\"is_editable\"> Is Editable</mat-checkbox>\n </ng-container>\n\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button mat-button class=\"mt-2\" type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" class=\"mt-2\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n</form>" }]
|
|
10500
|
+
args: [{ selector: 'role-form', template: "<form [formGroup]=\"roleForm\" (ngSubmit)=\"save()\" class=\"p-3\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Role Form</div>\n </div>\n <mat-form-field fxFlex=\"100%\">\n <input matInput formControlName=\"label\" placeholder=\"Role\" type=\"text\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('label')\">{{getErrorMessage('label')}}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"100%\">\n <textarea matInput placeholder=\"Description\" formControlName=\"description\"></textarea>\n </mat-form-field>\n\n <ng-container *ngIf=\"isAdminUser && roleForm.get('client_id').value\">\n <mat-checkbox formControlName=\"is_editable\"> Is Editable</mat-checkbox>\n </ng-container>\n\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button mat-button class=\"mt-2\" type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" class=\"mt-2\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n</form>" }]
|
|
10482
10501
|
}], ctorParameters: () => [{ type: AlertService }, { type: CredentialsService }, { type: i1$5.UntypedFormBuilder }, { type: FormValidatorService }, { type: UserConfigService }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
10483
10502
|
type: Inject,
|
|
10484
10503
|
args: [MAT_DIALOG_DATA]
|
|
@@ -10802,58 +10821,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10802
10821
|
class Permission {
|
|
10803
10822
|
}
|
|
10804
10823
|
|
|
10805
|
-
|
|
10806
|
-
constructor(http, errorHandler, route) {
|
|
10807
|
-
this.http = http;
|
|
10808
|
-
this.errorHandler = errorHandler;
|
|
10809
|
-
this.route = route;
|
|
10810
|
-
}
|
|
10811
|
-
ngOnInit() {
|
|
10812
|
-
this.route.params.subscribe(params => {
|
|
10813
|
-
if (params.id !== undefined) {
|
|
10814
|
-
this.roleId = params.id;
|
|
10815
|
-
this.getRole();
|
|
10816
|
-
}
|
|
10817
|
-
});
|
|
10818
|
-
}
|
|
10819
|
-
getRole() {
|
|
10820
|
-
try {
|
|
10821
|
-
this.http.get(`api/roles/${this.roleId}`).subscribe((result) => {
|
|
10822
|
-
this.role = result.item;
|
|
10823
|
-
});
|
|
10824
|
-
}
|
|
10825
|
-
catch (error) {
|
|
10826
|
-
this.errorHandler.handleError(error);
|
|
10827
|
-
}
|
|
10828
|
-
}
|
|
10829
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewComponent, deps: [{ token: HttpService }, { token: ErrorHandlerService }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10830
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RoleViewComponent, selector: "app-role-view", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\" class=\"p-4\">\n <h3 fxLayoutAlign=\"center\" class=\"pb-4\">Role View</h3>\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Basic Info.</mat-card-title>\n <mat-card-content fxLayout=\"column wrap\" fxLayoutGap=\"1rem\">\n <div>\n <span class=\"font-weight-bold\">Role:</span> {{role?.label}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Description:</span> {{role?.description}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Is App Role:</span> {{(role?.client_id == null) ? 'Yes' : 'No'}}\n </div>\n <div>\n <span class=\"font-weight-bold\"># Users:</span> {{role?.role_users_count}}\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Permissions ({{role?.permissions.length}})</mat-card-title>\n <mat-card-content style=\"height:400px;overflow-y: scroll;\">\n <div fxLayout=\"column wrap\">\n <div *ngFor=\"let permission of role?.permissions;let i=index;\">\n {{i+1}}. {{permission.label}}\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] }); }
|
|
10831
|
-
}
|
|
10832
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewComponent, decorators: [{
|
|
10833
|
-
type: Component,
|
|
10834
|
-
args: [{ selector: 'app-role-view', template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\" class=\"p-4\">\n <h3 fxLayoutAlign=\"center\" class=\"pb-4\">Role View</h3>\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Basic Info.</mat-card-title>\n <mat-card-content fxLayout=\"column wrap\" fxLayoutGap=\"1rem\">\n <div>\n <span class=\"font-weight-bold\">Role:</span> {{role?.label}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Description:</span> {{role?.description}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Is App Role:</span> {{(role?.client_id == null) ? 'Yes' : 'No'}}\n </div>\n <div>\n <span class=\"font-weight-bold\"># Users:</span> {{role?.role_users_count}}\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Permissions ({{role?.permissions.length}})</mat-card-title>\n <mat-card-content style=\"height:400px;overflow-y: scroll;\">\n <div fxLayout=\"column wrap\">\n <div *ngFor=\"let permission of role?.permissions;let i=index;\">\n {{i+1}}. {{permission.label}}\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n</div>" }]
|
|
10835
|
-
}], ctorParameters: () => [{ type: HttpService }, { type: ErrorHandlerService }, { type: i1$2.ActivatedRoute }] });
|
|
10836
|
-
|
|
10837
|
-
const routes$e = [
|
|
10824
|
+
const routes$f = [
|
|
10838
10825
|
{ path: '', component: RolesViewAllComponent, canActivate: [AuthenticationGuard] },
|
|
10839
|
-
{
|
|
10826
|
+
{
|
|
10827
|
+
path: ':id',
|
|
10828
|
+
loadChildren: () => Promise.resolve().then(function () { return roleView_module; }).then(mod => mod.RoleViewModule),
|
|
10829
|
+
canActivate: [AuthenticationGuard]
|
|
10830
|
+
},
|
|
10840
10831
|
// fallback when no prior route found
|
|
10841
10832
|
{ path: '**', redirectTo: '', pathMatch: 'full' },
|
|
10842
10833
|
];
|
|
10843
10834
|
class RoleRoutingProvider {
|
|
10844
10835
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleRoutingProvider, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10845
10836
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RoleRoutingProvider, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
10846
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleRoutingProvider, imports: [RouterModule.forChild(routes$
|
|
10837
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleRoutingProvider, imports: [RouterModule.forChild(routes$f), RouterModule] }); }
|
|
10847
10838
|
}
|
|
10848
10839
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleRoutingProvider, decorators: [{
|
|
10849
10840
|
type: NgModule,
|
|
10850
10841
|
args: [{
|
|
10851
|
-
imports: [RouterModule.forChild(routes$
|
|
10842
|
+
imports: [RouterModule.forChild(routes$f)],
|
|
10852
10843
|
exports: [RouterModule]
|
|
10853
10844
|
}]
|
|
10854
10845
|
}] });
|
|
10855
10846
|
|
|
10856
|
-
const routes$
|
|
10847
|
+
const routes$e = [
|
|
10857
10848
|
{ path: '', component: PermissionsManagementComponent, canActivate: [AuthenticationGuard] },
|
|
10858
10849
|
// fallback when no prior route found
|
|
10859
10850
|
{ path: '**', redirectTo: '', pathMatch: 'full' },
|
|
@@ -10861,12 +10852,12 @@ const routes$d = [
|
|
|
10861
10852
|
class PermissionRoutingProvider {
|
|
10862
10853
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionRoutingProvider, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10863
10854
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PermissionRoutingProvider, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
10864
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionRoutingProvider, imports: [RouterModule.forChild(routes$
|
|
10855
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionRoutingProvider, imports: [RouterModule.forChild(routes$e), RouterModule] }); }
|
|
10865
10856
|
}
|
|
10866
10857
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionRoutingProvider, decorators: [{
|
|
10867
10858
|
type: NgModule,
|
|
10868
10859
|
args: [{
|
|
10869
|
-
imports: [RouterModule.forChild(routes$
|
|
10860
|
+
imports: [RouterModule.forChild(routes$e)],
|
|
10870
10861
|
exports: [RouterModule]
|
|
10871
10862
|
}]
|
|
10872
10863
|
}] });
|
|
@@ -10938,18 +10929,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10938
10929
|
args: [{ selector: 'signup', template: "<div class=\"h-100 row align-items-center mx-0\">\n <div class=\"col\">\n <header class=\"branding-block mb-0 mt-4\">\n <div class=\"branding text-center\">\n <a *ngIf=\"userConfig.appLogoUrl\" href=\"{{userConfig.appUrl}}\" target=\"_blank\">\n <img class=\"techlify-logo d-inline-block\" [src]=\"userConfig.appLogoUrl\" />\n </a>\n </div>\n <div class=\"product-info text-center mt-2\">\n <h3 class=\"product-name\">{{ userConfig.appName }}</h3>\n </div>\n </header>\n\n <div id=\"login-form-wrapper\"\n class=\"form-bordered mx-auto form-medium form-bordered form-centered form-horizontal mt-3 white-box\"\n style=\"width:550px\">\n\n <h4 class=\"section-title text-center\">REGISTER</h4>\n\n <form [formGroup]=\"signUpForm\" (ngSubmit)=\"signUp()\" class=\"pt-4 pr-4 pl-4 pb-1 mt-4 ml-4 mr-4 mb-1\">\n <div class=\"form-group row\">\n <mat-form-field class=\"col-12\">\n <input matInput formControlName=\"business_name\" placeholder=\"Business / Company Name\"\n type=\"text\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('business_name')\">{{getErrorMessage('business_name')}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group row\">\n <mat-form-field class=\"col-12\">\n <input matInput formControlName=\"business_email\" placeholder=\"Business / Company Email\"\n type=\"email\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('business_email')\">{{getErrorMessage('business_email')}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group row\">\n <mat-form-field class=\"col-12\">\n <input matInput formControlName=\"user_name\" placeholder=\"User Name\" type=\"text\"\n autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('user_name')\">{{getErrorMessage('user_name')}}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group row\">\n <mat-form-field class=\"col-12\">\n <input matInput formControlName=\"user_email\" placeholder=\"User Email\" type=\"email\"\n autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('user_email')\">{{getErrorMessage('user_email')}}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"row mt-4\">\n <div class=\"col-12 text-center\">\n <button mat-button type=\"submit\" class=\"btn btn-sm btn-primary w-100\"\n [disabled]=\"isWorking\">Register</button>\n </div>\n </div>\n <div class=\"row mt-2\" *ngIf=\"userConfig.showSocialLogin\">\n <div class=\"col-6\">\n <button class=\"col-12 google-button\" mat-raised-button type=\"button\"\n (click)=\"redirect('google')\">Google</button>\n </div>\n <div class=\"col-6\">\n <button class=\"col-12 facebook-button\" mat-raised-button type=\"button\"\n (click)=\"redirect('facebook')\">Facebook</button>\n </div>\n </div>\n </form>\n </div>\n <div class=\"row mt-3 mr-0 ml-0\">\n <div class=\"col-12 text-center\">\n <p>Already an {{ userConfig.appName }} member?</p>\n <button mat-button class=\"btn btn-sm btn-secondary text-white\" style=\"width: 550px;\" type=\"button\"\n [routerLink]=\"['/login']\">\n Continue with login\n </button>\n </div>\n </div>\n </div>\n</div>", styles: ["#login-form-wrapper{margin-top:40px}#login-form-wrapper .branding-block{margin-bottom:60px}#login-form-wrapper .techlify-logo{height:40px;padding-right:10px;bottom:10px;position:relative}#login-form-wrapper .company-name{margin-bottom:0}#login-form-wrapper .google-button{background:#ce1d1d;color:#fff}#login-form-wrapper .facebook-button{background:#38388e;color:#fff}:host{width:100%}.white-box{background-color:#fff;padding:10px}mat-selection-list{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}mat-list-option{border:1px solid #ccc;text-align:center;border-radius:4px;padding:10px;cursor:pointer}mat-list-option:hover{background-color:#f0f0f0}\n"] }]
|
|
10939
10930
|
}], ctorParameters: () => [{ type: HttpService }, { type: AlertService }, { type: i1$2.Router }, { type: ErrorHandlerService }, { type: i1$5.UntypedFormBuilder }, { type: FormValidatorService }, { type: UserConfigService }] });
|
|
10940
10931
|
|
|
10941
|
-
const routes$
|
|
10932
|
+
const routes$d = [
|
|
10942
10933
|
{ path: '', component: SignUpComponent }
|
|
10943
10934
|
];
|
|
10944
10935
|
class SignupRoutingModule {
|
|
10945
10936
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignupRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10946
10937
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SignupRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
10947
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignupRoutingModule, imports: [RouterModule.forChild(routes$
|
|
10938
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignupRoutingModule, imports: [RouterModule.forChild(routes$d), RouterModule] }); }
|
|
10948
10939
|
}
|
|
10949
10940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignupRoutingModule, decorators: [{
|
|
10950
10941
|
type: NgModule,
|
|
10951
10942
|
args: [{
|
|
10952
|
-
imports: [RouterModule.forChild(routes$
|
|
10943
|
+
imports: [RouterModule.forChild(routes$d)],
|
|
10953
10944
|
exports: [RouterModule],
|
|
10954
10945
|
providers: []
|
|
10955
10946
|
}]
|
|
@@ -11169,7 +11160,6 @@ class RoleModule {
|
|
|
11169
11160
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11170
11161
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RoleModule, declarations: [RoleFormComponent,
|
|
11171
11162
|
RolesViewAllComponent,
|
|
11172
|
-
RoleViewComponent,
|
|
11173
11163
|
RoleFormButtonComponent], imports: [CommonModule,
|
|
11174
11164
|
RoleRoutingProvider,
|
|
11175
11165
|
MaterialModule,
|
|
@@ -11178,7 +11168,8 @@ class RoleModule {
|
|
|
11178
11168
|
ReactiveFormsModule,
|
|
11179
11169
|
InfiniteScrollModule,
|
|
11180
11170
|
MatProgressBarModule], exports: [RolesViewAllComponent,
|
|
11181
|
-
RoleFormButtonComponent
|
|
11171
|
+
RoleFormButtonComponent,
|
|
11172
|
+
RoleFormComponent] }); }
|
|
11182
11173
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleModule, imports: [CommonModule,
|
|
11183
11174
|
RoleRoutingProvider,
|
|
11184
11175
|
MaterialModule,
|
|
@@ -11204,12 +11195,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
11204
11195
|
declarations: [
|
|
11205
11196
|
RoleFormComponent,
|
|
11206
11197
|
RolesViewAllComponent,
|
|
11207
|
-
RoleViewComponent,
|
|
11208
11198
|
RoleFormButtonComponent
|
|
11209
11199
|
],
|
|
11210
11200
|
exports: [
|
|
11211
11201
|
RolesViewAllComponent,
|
|
11212
|
-
RoleFormButtonComponent
|
|
11202
|
+
RoleFormButtonComponent,
|
|
11203
|
+
RoleFormComponent
|
|
11213
11204
|
]
|
|
11214
11205
|
}]
|
|
11215
11206
|
}] });
|
|
@@ -11219,6 +11210,101 @@ var role_module = /*#__PURE__*/Object.freeze({
|
|
|
11219
11210
|
RoleModule: RoleModule
|
|
11220
11211
|
});
|
|
11221
11212
|
|
|
11213
|
+
class RoleViewComponent {
|
|
11214
|
+
constructor(http, errorHandler, route) {
|
|
11215
|
+
this.http = http;
|
|
11216
|
+
this.errorHandler = errorHandler;
|
|
11217
|
+
this.route = route;
|
|
11218
|
+
}
|
|
11219
|
+
ngOnInit() {
|
|
11220
|
+
this.route.params.subscribe(params => {
|
|
11221
|
+
if (params.id !== undefined) {
|
|
11222
|
+
this.roleId = params.id;
|
|
11223
|
+
this.getRole();
|
|
11224
|
+
}
|
|
11225
|
+
});
|
|
11226
|
+
}
|
|
11227
|
+
getRole() {
|
|
11228
|
+
try {
|
|
11229
|
+
this.http.get(`api/roles/${this.roleId}`).subscribe((result) => {
|
|
11230
|
+
this.role = result.item;
|
|
11231
|
+
});
|
|
11232
|
+
}
|
|
11233
|
+
catch (error) {
|
|
11234
|
+
this.errorHandler.handleError(error);
|
|
11235
|
+
}
|
|
11236
|
+
}
|
|
11237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewComponent, deps: [{ token: HttpService }, { token: ErrorHandlerService }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11238
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RoleViewComponent, selector: "app-role-view", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\" class=\"p-4\">\n <h3 fxLayoutAlign=\"center\" class=\"pb-4\">Role View</h3>\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Basic Info.</mat-card-title>\n <mat-card-content fxLayout=\"column wrap\" fxLayoutGap=\"1rem\">\n <div>\n <span class=\"font-weight-bold\">Role:</span> {{role?.label}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Description:</span> {{role?.description}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Is App Role:</span> {{(role?.client_id == null) ? 'Yes' : 'No'}}\n </div>\n <div>\n <span class=\"font-weight-bold\"># Users:</span> {{role?.role_users_count}}\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Permissions ({{role?.permissions.length}})</mat-card-title>\n <mat-card-content style=\"height:400px;overflow-y: scroll;\">\n <div fxLayout=\"column wrap\">\n <div *ngFor=\"let permission of role?.permissions;let i=index;\">\n {{i+1}}. {{permission.label}}\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] }); }
|
|
11239
|
+
}
|
|
11240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewComponent, decorators: [{
|
|
11241
|
+
type: Component,
|
|
11242
|
+
args: [{ selector: 'app-role-view', template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\" class=\"p-4\">\n <h3 fxLayoutAlign=\"center\" class=\"pb-4\">Role View</h3>\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Basic Info.</mat-card-title>\n <mat-card-content fxLayout=\"column wrap\" fxLayoutGap=\"1rem\">\n <div>\n <span class=\"font-weight-bold\">Role:</span> {{role?.label}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Description:</span> {{role?.description}}\n </div>\n <div>\n <span class=\"font-weight-bold\">Is App Role:</span> {{(role?.client_id == null) ? 'Yes' : 'No'}}\n </div>\n <div>\n <span class=\"font-weight-bold\"># Users:</span> {{role?.role_users_count}}\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n <div fxFlex.lt-md=\"100%\" fxFlex=\"0 1 calc(50%-1rem)\">\n <mat-card fxFlex=\"100%\">\n <mat-card-title>Permissions ({{role?.permissions.length}})</mat-card-title>\n <mat-card-content style=\"height:400px;overflow-y: scroll;\">\n <div fxLayout=\"column wrap\">\n <div *ngFor=\"let permission of role?.permissions;let i=index;\">\n {{i+1}}. {{permission.label}}\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n</div>" }]
|
|
11243
|
+
}], ctorParameters: () => [{ type: HttpService }, { type: ErrorHandlerService }, { type: i1$2.ActivatedRoute }] });
|
|
11244
|
+
|
|
11245
|
+
const routes$c = [
|
|
11246
|
+
{
|
|
11247
|
+
path: '**',
|
|
11248
|
+
component: RoleViewComponent,
|
|
11249
|
+
canActivate: [AuthenticationGuard],
|
|
11250
|
+
},
|
|
11251
|
+
];
|
|
11252
|
+
class RoleViewRoutingModule {
|
|
11253
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11254
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RoleViewRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
11255
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewRoutingModule, imports: [RouterModule.forChild(routes$c), RouterModule] }); }
|
|
11256
|
+
}
|
|
11257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewRoutingModule, decorators: [{
|
|
11258
|
+
type: NgModule,
|
|
11259
|
+
args: [{
|
|
11260
|
+
imports: [RouterModule.forChild(routes$c)],
|
|
11261
|
+
exports: [RouterModule]
|
|
11262
|
+
}]
|
|
11263
|
+
}] });
|
|
11264
|
+
|
|
11265
|
+
class RoleViewModule {
|
|
11266
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11267
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RoleViewModule, declarations: [RoleViewComponent], imports: [CommonModule,
|
|
11268
|
+
RoleViewRoutingModule,
|
|
11269
|
+
MaterialModule,
|
|
11270
|
+
FlexLayoutModule,
|
|
11271
|
+
FormsModule,
|
|
11272
|
+
ReactiveFormsModule,
|
|
11273
|
+
InfiniteScrollModule], exports: [RoleViewComponent] }); }
|
|
11274
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewModule, imports: [CommonModule,
|
|
11275
|
+
RoleViewRoutingModule,
|
|
11276
|
+
MaterialModule,
|
|
11277
|
+
FlexLayoutModule,
|
|
11278
|
+
FormsModule,
|
|
11279
|
+
ReactiveFormsModule,
|
|
11280
|
+
InfiniteScrollModule] }); }
|
|
11281
|
+
}
|
|
11282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RoleViewModule, decorators: [{
|
|
11283
|
+
type: NgModule,
|
|
11284
|
+
args: [{
|
|
11285
|
+
imports: [
|
|
11286
|
+
CommonModule,
|
|
11287
|
+
RoleViewRoutingModule,
|
|
11288
|
+
MaterialModule,
|
|
11289
|
+
FlexLayoutModule,
|
|
11290
|
+
FormsModule,
|
|
11291
|
+
ReactiveFormsModule,
|
|
11292
|
+
InfiniteScrollModule
|
|
11293
|
+
],
|
|
11294
|
+
declarations: [
|
|
11295
|
+
RoleViewComponent,
|
|
11296
|
+
],
|
|
11297
|
+
exports: [
|
|
11298
|
+
RoleViewComponent
|
|
11299
|
+
]
|
|
11300
|
+
}]
|
|
11301
|
+
}] });
|
|
11302
|
+
|
|
11303
|
+
var roleView_module = /*#__PURE__*/Object.freeze({
|
|
11304
|
+
__proto__: null,
|
|
11305
|
+
RoleViewModule: RoleViewModule
|
|
11306
|
+
});
|
|
11307
|
+
|
|
11222
11308
|
class PermissionModule {
|
|
11223
11309
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11224
11310
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PermissionModule, declarations: [PermissionsManagementComponent], imports: [CommonModule,
|
|
@@ -14854,5 +14940,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
14854
14940
|
* Generated bundle index. Do not edit.
|
|
14855
14941
|
*/
|
|
14856
14942
|
|
|
14857
|
-
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppAdminUserViewComponent, AppAdminUserViewModule, 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, CustomIconComponent, CustomIconModule, 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, EnvironmentService, 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, PdfButtonComponent, PdfButtonModule, 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, SubscriptionFormComponent, SubscriptionFormModule, SubscriptionListingComponent, SubscriptionListingModule, SubscriptionPackageListingComponent, SubscriptionPackageListingModule, SubscriptionPackageViewComponent, SubscriptionPackageViewModule, SubscriptionService, SuccessSnackComponent, TechlifyAppSelectorComponent, TechlifyAppSelectorModule, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureDirectiveModule, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFeatureService, TechlifyFormComponentInterface, TechlifyIconComponent, TechlifyIconModule, TechlifyListingControllerInterface, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyServiceBaseClass, TechlifySubscriptionDirective, TechlifySubscriptionDirectiveModule, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TenantFormButtonComponent, TenantListWidgetComponent, Timeline, TimelineActivityButtonComponent, TimelineActivityButtonModule, TimelineActivityListComponent, TimelineActivityListModule, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserClientEnableDisableButtonComponent, UserClientEnableDisableButtonModule, UserClientsListComponent, UserClientsListModule, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserEnableButtonModule, UserExploreComponent, UserFormComponent, UserListPageConfig, UserMenuComponent, UserMenuModule, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UserSessionsComponent, UserSessionsModule, UserViewComponent, UsersViewAllComponent, UtilityModule, ViewerConfig, WrapPipe, calculateTimeline, esfur, estlr, esulr };
|
|
14943
|
+
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppAdminUserViewComponent, AppAdminUserViewModule, 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, CustomIconComponent, CustomIconModule, 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, EnvironmentService, 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, PdfButtonComponent, PdfButtonModule, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, ResetPasswordComponent, ResetPasswordModule, ResetPasswordRoutingModule, ResetPasswordService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormButtonComponent, RoleFormComponent, RoleModule, RoleRoutingProvider, RoleService, RoleViewComponent, RoleViewModule, RolesViewAllComponent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SubscriptionFormComponent, SubscriptionFormModule, SubscriptionListingComponent, SubscriptionListingModule, SubscriptionPackageListingComponent, SubscriptionPackageListingModule, SubscriptionPackageViewComponent, SubscriptionPackageViewModule, SubscriptionService, SuccessSnackComponent, TechlifyAppSelectorComponent, TechlifyAppSelectorModule, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureDirectiveModule, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFeatureService, TechlifyFormComponentInterface, TechlifyIconComponent, TechlifyIconModule, TechlifyListingControllerInterface, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyServiceBaseClass, TechlifySubscriptionDirective, TechlifySubscriptionDirectiveModule, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TenantFormButtonComponent, TenantListWidgetComponent, Timeline, TimelineActivityButtonComponent, TimelineActivityButtonModule, TimelineActivityListComponent, TimelineActivityListModule, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserClientEnableDisableButtonComponent, UserClientEnableDisableButtonModule, UserClientsListComponent, UserClientsListModule, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserEnableButtonModule, UserExploreComponent, UserFormComponent, UserListPageConfig, UserMenuComponent, UserMenuModule, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UserSessionsComponent, UserSessionsModule, UserViewComponent, UsersViewAllComponent, UtilityModule, ViewerConfig, WrapPipe, calculateTimeline, esfur, estlr, esulr };
|
|
14858
14944
|
//# sourceMappingURL=ngx-techlify-core.mjs.map
|