ngx-techlify-core 18.25.0 → 18.27.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/custom-icon/custom-icon-registry.service.mjs +23 -0
- package/esm2022/lib/custom-icon/custom-icon.component.mjs +24 -0
- package/esm2022/lib/custom-icon/custom-icon.module.mjs +20 -0
- package/esm2022/lib/custom-icon/custom-icons.registry.mjs +21 -0
- package/esm2022/lib/techlify-feature/techlify-feature-directive.module.mjs +20 -0
- package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +10 -7
- package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +11 -4
- package/esm2022/lib/techlify-icon/techlify-icon.module.mjs +7 -3
- package/esm2022/public-api.mjs +6 -2
- package/fesm2022/ngx-techlify-core.mjs +119 -14
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/custom-icon/custom-icon-registry.service.d.ts +10 -0
- package/lib/custom-icon/custom-icon.component.d.ts +11 -0
- package/lib/custom-icon/custom-icon.module.d.ts +8 -0
- package/lib/custom-icon/custom-icons.registry.d.ts +4 -0
- package/lib/techlify-feature/techlify-feature-directive.module.d.ts +8 -0
- package/lib/techlify-feature/techlify-feature.module.d.ts +8 -8
- package/lib/techlify-icon/techlify-icon.component.d.ts +2 -0
- package/lib/techlify-icon/techlify-icon.module.d.ts +2 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
|
@@ -8,7 +8,7 @@ import { MatButtonModule, MatButton } from '@angular/material/button';
|
|
|
8
8
|
import { __decorate } from 'tslib';
|
|
9
9
|
import { debounceTime, catchError, switchMap, map as map$1, distinctUntilChanged, startWith, finalize, filter } from 'rxjs/operators';
|
|
10
10
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
|
11
|
-
import * as
|
|
11
|
+
import * as i1$6 from '@angular/platform-browser';
|
|
12
12
|
import { Title } from '@angular/platform-browser';
|
|
13
13
|
import * as i9 from '@angular/material/sort';
|
|
14
14
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
@@ -3999,10 +3999,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3999
3999
|
}]
|
|
4000
4000
|
}], ctorParameters: () => [{ type: HttpService }] });
|
|
4001
4001
|
|
|
4002
|
+
/**
|
|
4003
|
+
* Registry file to maintain the custom icons SVGs
|
|
4004
|
+
*/
|
|
4005
|
+
const CUSTOM_ICONS = {
|
|
4006
|
+
'batch-add': `
|
|
4007
|
+
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
4008
|
+
<g clip-path="url(#clip0_8645_35194)">
|
|
4009
|
+
<path d="M22.498 15.243H17.6766V20.0645H16.0695V15.243H11.248V13.6359H16.0695V8.81445H17.6766V13.6359H22.498V15.243Z"
|
|
4010
|
+
fill="black" stroke="black" stroke-width="0.75" stroke-linejoin="round"/>
|
|
4011
|
+
<path d="M13.748 11.493H8.92662V16.3145H7.31948V11.493H2.49805V9.88588H7.31948V5.06445H8.92662V9.88588H13.748V11.493Z"
|
|
4012
|
+
fill="black" stroke="black" stroke-width="0.75" stroke-linejoin="round"/>
|
|
4013
|
+
</g>
|
|
4014
|
+
<defs>
|
|
4015
|
+
<clipPath id="clip0_8645_35194">
|
|
4016
|
+
<rect width="24" height="24" fill="white" transform="translate(0.498047 0.0644531)"/>
|
|
4017
|
+
</clipPath>
|
|
4018
|
+
</defs>
|
|
4019
|
+
</svg>
|
|
4020
|
+
`
|
|
4021
|
+
};
|
|
4022
|
+
|
|
4023
|
+
class CustomIconRegistryService {
|
|
4024
|
+
constructor(sanitizer) {
|
|
4025
|
+
this.sanitizer = sanitizer;
|
|
4026
|
+
this.icons = new Map();
|
|
4027
|
+
Object.entries(CUSTOM_ICONS).forEach(([name, svg]) => {
|
|
4028
|
+
this.icons.set(name, this.sanitizer.bypassSecurityTrustHtml(svg));
|
|
4029
|
+
});
|
|
4030
|
+
}
|
|
4031
|
+
getIcon(name) {
|
|
4032
|
+
return this.icons.get(name);
|
|
4033
|
+
}
|
|
4034
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconRegistryService, deps: [{ token: i1$6.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4035
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconRegistryService, providedIn: 'root' }); }
|
|
4036
|
+
}
|
|
4037
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconRegistryService, decorators: [{
|
|
4038
|
+
type: Injectable,
|
|
4039
|
+
args: [{ providedIn: 'root' }]
|
|
4040
|
+
}], ctorParameters: () => [{ type: i1$6.DomSanitizer }] });
|
|
4041
|
+
|
|
4042
|
+
/**
|
|
4043
|
+
* Custom font-awesome icon implementation.
|
|
4044
|
+
* Supports all font awesome sizing classes.
|
|
4045
|
+
*/
|
|
4046
|
+
class CustomIconComponent {
|
|
4047
|
+
constructor(registry) {
|
|
4048
|
+
this.registry = registry;
|
|
4049
|
+
}
|
|
4050
|
+
ngOnChanges() {
|
|
4051
|
+
this.svgIcon = this.registry.getIcon(this.name);
|
|
4052
|
+
}
|
|
4053
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconComponent, deps: [{ token: CustomIconRegistryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4054
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomIconComponent, selector: "app-custom-icon", inputs: { name: "name" }, usesOnChanges: true, ngImport: i0, template: "<span class=\"fa\" [innerHTML]=\"svgIcon\"></span>", styles: [".fa{display:inline-block;vertical-align:-.125em;line-height:1}.fa svg{width:100%;height:100%;fill:currentColor}\n"] }); }
|
|
4055
|
+
}
|
|
4056
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconComponent, decorators: [{
|
|
4057
|
+
type: Component,
|
|
4058
|
+
args: [{ selector: 'app-custom-icon', template: "<span class=\"fa\" [innerHTML]=\"svgIcon\"></span>", styles: [".fa{display:inline-block;vertical-align:-.125em;line-height:1}.fa svg{width:100%;height:100%;fill:currentColor}\n"] }]
|
|
4059
|
+
}], ctorParameters: () => [{ type: CustomIconRegistryService }], propDecorators: { name: [{
|
|
4060
|
+
type: Input
|
|
4061
|
+
}] } });
|
|
4062
|
+
|
|
4002
4063
|
class TechlifyIconComponent {
|
|
4003
4064
|
constructor() {
|
|
4004
4065
|
this.name = '';
|
|
4005
4066
|
this.size = 'md';
|
|
4067
|
+
//Custom icon list
|
|
4068
|
+
this.customIconList = ['batch-add'];
|
|
4006
4069
|
// Map logical names to CSS classes
|
|
4007
4070
|
this.iconMap = {
|
|
4008
4071
|
add: 'fas fa-plus',
|
|
@@ -4011,7 +4074,7 @@ class TechlifyIconComponent {
|
|
|
4011
4074
|
delete: 'fas fa-trash',
|
|
4012
4075
|
import: 'fas fa-file-import',
|
|
4013
4076
|
export: 'fas fa-file-excel',
|
|
4014
|
-
pdf: 'fas fa-file-pdf'
|
|
4077
|
+
pdf: 'fas fa-file-pdf',
|
|
4015
4078
|
};
|
|
4016
4079
|
// Map size input to CSS classes
|
|
4017
4080
|
this.sizeMap = {
|
|
@@ -4027,12 +4090,16 @@ class TechlifyIconComponent {
|
|
|
4027
4090
|
const sizeClass = this.sizeMap[this.size] || '';
|
|
4028
4091
|
return [baseClass, sizeClass];
|
|
4029
4092
|
}
|
|
4093
|
+
//Method to check custom icons
|
|
4094
|
+
isCustomIcon(name) {
|
|
4095
|
+
return this.customIconList.includes(name);
|
|
4096
|
+
}
|
|
4030
4097
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4031
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyIconComponent, selector: "app-techlify-icon", inputs: { name: "name", size: "size" }, ngImport: i0, template: "<i [ngClass]=\"iconClass\"></i>", styles: [".scroll-container{height:400px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
4098
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyIconComponent, selector: "app-techlify-icon", inputs: { name: "name", size: "size" }, ngImport: i0, template: "<!-- Custom icon -->\n<ng-container *ngIf=\"isCustomIcon(name); else faIcon\">\n <app-custom-icon [name]=\"name\"></app-custom-icon>\n</ng-container>\n\n<!-- Font Awesome -->\n<ng-template #faIcon>\n <i [ngClass]=\"iconClass\"></i>\n</ng-template>", styles: [".scroll-container{height:400px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CustomIconComponent, selector: "app-custom-icon", inputs: ["name"] }] }); }
|
|
4032
4099
|
}
|
|
4033
4100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyIconComponent, decorators: [{
|
|
4034
4101
|
type: Component,
|
|
4035
|
-
args: [{ selector: 'app-techlify-icon', template: "<i [ngClass]=\"iconClass\"></i>", styles: [".scroll-container{height:400px;overflow:auto}\n"] }]
|
|
4102
|
+
args: [{ selector: 'app-techlify-icon', template: "<!-- Custom icon -->\n<ng-container *ngIf=\"isCustomIcon(name); else faIcon\">\n <app-custom-icon [name]=\"name\"></app-custom-icon>\n</ng-container>\n\n<!-- Font Awesome -->\n<ng-template #faIcon>\n <i [ngClass]=\"iconClass\"></i>\n</ng-template>", styles: [".scroll-container{height:400px;overflow:auto}\n"] }]
|
|
4036
4103
|
}], propDecorators: { name: [{
|
|
4037
4104
|
type: Input
|
|
4038
4105
|
}], size: [{
|
|
@@ -4315,7 +4382,7 @@ let AuditLogListComponent = class AuditLogListComponent extends TechlifyListingC
|
|
|
4315
4382
|
error: () => (this.isWorking = false)
|
|
4316
4383
|
});
|
|
4317
4384
|
}
|
|
4318
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListComponent, deps: [{ token: i1$5.Router }, { token:
|
|
4385
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListComponent, deps: [{ token: i1$5.Router }, { token: i1$6.DomSanitizer }, { token: i1$4.FormBuilder }, { token: AuditLogService }, { token: RequestHelperService }, { token: i1$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4319
4386
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuditLogListComponent, selector: "app-audit-log-list", inputs: { objectId: "objectId", objectType: "objectType", showFilter: "showFilter", showExportButtons: "showExportButtons", userId: "userId", disableFilterPatchingFromUrl: "disableFilterPatchingFromUrl", scrollContainer: "scrollContainer" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-card class=\"m-2\">\n <mat-card-content>\n <div class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-canter gap-2\" style=\"min-width: 200px\">\n <h3 class=\"mb-0\">\n Audit Logs\n </h3>\n <app-export-excel-button *ngIf=\"showExportButtons\" matTooltip=\"Export\" elementId=\"audit-logs-table\" class=\"mt-1\"\n name=\"AuditLogs\" [data]=\"excelData\">\n </app-export-excel-button>\n </div>\n\n <app-audit-log-list-filter class=\"w-100\" *ngIf=\"showFilter\" [filterForm]=\"filterForm\"\n (valueChange)=\"filterChange($event)\" [objectType]=\"objectType\"\n [objectId]=\"objectId\"></app-audit-log-list-filter>\n </div>\n </mat-card-content>\n</mat-card>\n\n<mat-card class=\"mt-2\">\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" matSort class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" [infiniteScrollContainer]=\"scrollContainer\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"id\">\n <th mat-header-cell *matHeaderCellDef> Log # </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.id}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"object_type\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Model Type </th>\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog.object_type }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"object_id\">\n <th mat-header-cell *matHeaderCellDef> Model # </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.object_id}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Action </th>\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog?.action }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created At </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.created_at | date:'medium'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"user.email\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created By </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n <p class=\"mb-0\">{{auditLog?.user?.name}}</p>\n <small class=\"text-secondary\">{{ auditLog?.user?.email }}</small>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"changes\">\n <th mat-header-cell *matHeaderCellDef> Changes</th>\n <td mat-cell *matCellDef=\"let auditLog\">\n <div class=\"px-3\" [innerHtml]=\"sanitizer.bypassSecurityTrustHtml(getTransformedChanges(auditLog))\">\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 auditLog\">\n <mat-icon (click)=\"logClicked(auditLog);$event.stopPropagation();\">visibility</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: ["tr.row-hover:hover{background-color:#dcdcdc}.scroll-container{height:800px;overflow-y:auto}:host ::ng-deep #old-value{margin-right:5px;background-color:#f08080}:host ::ng-deep #new-value{background-color:#98fb98}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: ["isCSV", "fileName", "data", "tableId"], outputs: ["isExportingToExcel"] }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i13.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i13.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i13.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i13.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i13.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i13.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i13.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i13.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i13.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i13.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i6$1.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: AuditLogListFilterComponent, selector: "app-audit-log-list-filter", inputs: ["filterForm", "objectId", "objectType"], outputs: ["valueChange"] }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }] }); }
|
|
4320
4387
|
};
|
|
4321
4388
|
AuditLogListComponent = __decorate([
|
|
@@ -4324,7 +4391,7 @@ AuditLogListComponent = __decorate([
|
|
|
4324
4391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListComponent, decorators: [{
|
|
4325
4392
|
type: Component,
|
|
4326
4393
|
args: [{ selector: 'app-audit-log-list', template: "<mat-card class=\"m-2\">\n <mat-card-content>\n <div class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-canter gap-2\" style=\"min-width: 200px\">\n <h3 class=\"mb-0\">\n Audit Logs\n </h3>\n <app-export-excel-button *ngIf=\"showExportButtons\" matTooltip=\"Export\" elementId=\"audit-logs-table\" class=\"mt-1\"\n name=\"AuditLogs\" [data]=\"excelData\">\n </app-export-excel-button>\n </div>\n\n <app-audit-log-list-filter class=\"w-100\" *ngIf=\"showFilter\" [filterForm]=\"filterForm\"\n (valueChange)=\"filterChange($event)\" [objectType]=\"objectType\"\n [objectId]=\"objectId\"></app-audit-log-list-filter>\n </div>\n </mat-card-content>\n</mat-card>\n\n<mat-card class=\"mt-2\">\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" matSort class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" [infiniteScrollContainer]=\"scrollContainer\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"id\">\n <th mat-header-cell *matHeaderCellDef> Log # </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.id}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"object_type\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Model Type </th>\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog.object_type }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"object_id\">\n <th mat-header-cell *matHeaderCellDef> Model # </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.object_id}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Action </th>\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog?.action }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created At </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.created_at | date:'medium'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"user.email\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created By </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n <p class=\"mb-0\">{{auditLog?.user?.name}}</p>\n <small class=\"text-secondary\">{{ auditLog?.user?.email }}</small>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"changes\">\n <th mat-header-cell *matHeaderCellDef> Changes</th>\n <td mat-cell *matCellDef=\"let auditLog\">\n <div class=\"px-3\" [innerHtml]=\"sanitizer.bypassSecurityTrustHtml(getTransformedChanges(auditLog))\">\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 auditLog\">\n <mat-icon (click)=\"logClicked(auditLog);$event.stopPropagation();\">visibility</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: ["tr.row-hover:hover{background-color:#dcdcdc}.scroll-container{height:800px;overflow-y:auto}:host ::ng-deep #old-value{margin-right:5px;background-color:#f08080}:host ::ng-deep #new-value{background-color:#98fb98}\n"] }]
|
|
4327
|
-
}], ctorParameters: () => [{ type: i1$5.Router }, { type:
|
|
4394
|
+
}], ctorParameters: () => [{ type: i1$5.Router }, { type: i1$6.DomSanitizer }, { type: i1$4.FormBuilder }, { type: AuditLogService }, { type: RequestHelperService }, { type: i1$5.ActivatedRoute }], propDecorators: { objectId: [{
|
|
4328
4395
|
type: Input
|
|
4329
4396
|
}], objectType: [{
|
|
4330
4397
|
type: Input
|
|
@@ -7950,16 +8017,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7950
8017
|
}]
|
|
7951
8018
|
}] });
|
|
7952
8019
|
|
|
8020
|
+
class CustomIconModule {
|
|
8021
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8022
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CustomIconModule, declarations: [CustomIconComponent], imports: [CommonModule], exports: [CustomIconComponent] }); }
|
|
8023
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconModule, imports: [CommonModule] }); }
|
|
8024
|
+
}
|
|
8025
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomIconModule, decorators: [{
|
|
8026
|
+
type: NgModule,
|
|
8027
|
+
args: [{
|
|
8028
|
+
declarations: [CustomIconComponent],
|
|
8029
|
+
imports: [
|
|
8030
|
+
CommonModule,
|
|
8031
|
+
],
|
|
8032
|
+
exports: [CustomIconComponent]
|
|
8033
|
+
}]
|
|
8034
|
+
}] });
|
|
8035
|
+
|
|
7953
8036
|
class TechlifyIconModule {
|
|
7954
8037
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7955
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyIconModule, declarations: [TechlifyIconComponent], imports: [CommonModule
|
|
7956
|
-
|
|
8038
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyIconModule, declarations: [TechlifyIconComponent], imports: [CommonModule,
|
|
8039
|
+
CustomIconModule], exports: [TechlifyIconComponent] }); }
|
|
8040
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyIconModule, imports: [CommonModule,
|
|
8041
|
+
CustomIconModule] }); }
|
|
7957
8042
|
}
|
|
7958
8043
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyIconModule, decorators: [{
|
|
7959
8044
|
type: NgModule,
|
|
7960
8045
|
args: [{
|
|
7961
8046
|
imports: [
|
|
7962
8047
|
CommonModule,
|
|
8048
|
+
CustomIconModule
|
|
7963
8049
|
],
|
|
7964
8050
|
declarations: [TechlifyIconComponent],
|
|
7965
8051
|
exports: [TechlifyIconComponent]
|
|
@@ -9443,22 +9529,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
9443
9529
|
args: ['techlifyFeatureEnabled']
|
|
9444
9530
|
}] } });
|
|
9445
9531
|
|
|
9532
|
+
class TechlifyFeatureDirectiveModule {
|
|
9533
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9534
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureDirectiveModule, declarations: [TechlifyFeatureEnabledDirective], imports: [CommonModule], exports: [TechlifyFeatureEnabledDirective] }); }
|
|
9535
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureDirectiveModule, imports: [CommonModule] }); }
|
|
9536
|
+
}
|
|
9537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureDirectiveModule, decorators: [{
|
|
9538
|
+
type: NgModule,
|
|
9539
|
+
args: [{
|
|
9540
|
+
imports: [
|
|
9541
|
+
CommonModule,
|
|
9542
|
+
],
|
|
9543
|
+
declarations: [TechlifyFeatureEnabledDirective],
|
|
9544
|
+
exports: [TechlifyFeatureEnabledDirective]
|
|
9545
|
+
}]
|
|
9546
|
+
}] });
|
|
9547
|
+
|
|
9446
9548
|
class TechlifyFeatureModule {
|
|
9447
9549
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9448
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureModule, declarations: [TechlifyFeatureListingComponent, OnOffSwitchComponent
|
|
9550
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureModule, declarations: [TechlifyFeatureListingComponent, OnOffSwitchComponent], imports: [CommonModule,
|
|
9449
9551
|
MaterialModule,
|
|
9450
9552
|
FlexLayoutModule, i1$5.RouterModule, MatSlideToggleModule,
|
|
9451
9553
|
FormsModule,
|
|
9554
|
+
TechlifyFeatureDirectiveModule,
|
|
9452
9555
|
ReactiveFormsModule,
|
|
9453
|
-
InfiniteScrollModule], exports: [TechlifyFeatureListingComponent,
|
|
9556
|
+
InfiniteScrollModule], exports: [TechlifyFeatureListingComponent, TechlifyFeatureDirectiveModule] }); }
|
|
9454
9557
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureModule, imports: [CommonModule,
|
|
9455
9558
|
MaterialModule,
|
|
9456
9559
|
FlexLayoutModule,
|
|
9457
9560
|
TechlifyFeatureRoutes,
|
|
9458
9561
|
MatSlideToggleModule,
|
|
9459
9562
|
FormsModule,
|
|
9563
|
+
TechlifyFeatureDirectiveModule,
|
|
9460
9564
|
ReactiveFormsModule,
|
|
9461
|
-
InfiniteScrollModule] }); }
|
|
9565
|
+
InfiniteScrollModule, TechlifyFeatureDirectiveModule] }); }
|
|
9462
9566
|
}
|
|
9463
9567
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyFeatureModule, decorators: [{
|
|
9464
9568
|
type: NgModule,
|
|
@@ -9470,11 +9574,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
9470
9574
|
TechlifyFeatureRoutes,
|
|
9471
9575
|
MatSlideToggleModule,
|
|
9472
9576
|
FormsModule,
|
|
9577
|
+
TechlifyFeatureDirectiveModule,
|
|
9473
9578
|
ReactiveFormsModule,
|
|
9474
9579
|
InfiniteScrollModule
|
|
9475
9580
|
],
|
|
9476
|
-
declarations: [TechlifyFeatureListingComponent, OnOffSwitchComponent
|
|
9477
|
-
exports: [TechlifyFeatureListingComponent,
|
|
9581
|
+
declarations: [TechlifyFeatureListingComponent, OnOffSwitchComponent],
|
|
9582
|
+
exports: [TechlifyFeatureListingComponent, TechlifyFeatureDirectiveModule]
|
|
9478
9583
|
}]
|
|
9479
9584
|
}] });
|
|
9480
9585
|
|
|
@@ -13711,5 +13816,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13711
13816
|
* Generated bundle index. Do not edit.
|
|
13712
13817
|
*/
|
|
13713
13818
|
|
|
13714
|
-
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppAdminUserViewComponent, AppAdminUserViewModule, AppSwitcherComponent, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, ClientService, ColumnConfig, ColumnSelectorComponent, ColumnSelectorModule, CommentFormComponent, CompanyInfoDisplayComponent, CompanyInformationComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, DEFAULT_SELECTED_VALUE, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileService, EntityFilesViewAllComponent, EntityFilesViewAllModule, 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, SuccessSnackComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFeatureService, TechlifyFormComponentInterface, TechlifyIconComponent, TechlifyIconModule, TechlifyListingControllerInterface, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TenantFormButtonComponent, TenantListWidgetComponent, Timeline, 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 };
|
|
13819
|
+
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppAdminUserViewComponent, AppAdminUserViewModule, AppSwitcherComponent, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, ClientService, ColumnConfig, ColumnSelectorComponent, ColumnSelectorModule, CommentFormComponent, CompanyInfoDisplayComponent, CompanyInformationComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, 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, SuccessSnackComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureDirectiveModule, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFeatureService, TechlifyFormComponentInterface, TechlifyIconComponent, TechlifyIconModule, TechlifyListingControllerInterface, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TenantFormButtonComponent, TenantListWidgetComponent, Timeline, 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 };
|
|
13715
13820
|
//# sourceMappingURL=ngx-techlify-core.mjs.map
|