ngx-techlify-core 18.3.1 → 18.3.3

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.
Files changed (71) hide show
  1. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +4 -4
  2. package/esm2022/lib/entity-files/entity-files-view-all.component.mjs +4 -4
  3. package/esm2022/lib/material.module.mjs +12 -4
  4. package/esm2022/lib/role/roles-view-all.component.mjs +7 -7
  5. package/esm2022/lib/techlify-notifications/index.mjs +1 -25
  6. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +38 -70
  7. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.mjs +18 -0
  8. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.mjs +18 -0
  9. package/esm2022/lib/user/users-view-all.component.mjs +8 -8
  10. package/fesm2022/ngx-techlify-core.mjs +203 -1436
  11. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  12. package/lib/material.module.d.ts +3 -1
  13. package/lib/techlify-notifications/index.d.ts +0 -24
  14. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.d.ts +10 -15
  15. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.d.ts +8 -0
  16. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.d.ts +8 -0
  17. package/package.json +1 -1
  18. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier-routing.module.mjs +0 -18
  19. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +0 -103
  20. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.module.mjs +0 -42
  21. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard-routing.module.mjs +0 -18
  22. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +0 -173
  23. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.module.mjs +0 -50
  24. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form-routing.module.mjs +0 -18
  25. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +0 -117
  26. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.module.mjs +0 -43
  27. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list-routing.module.mjs +0 -18
  28. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +0 -180
  29. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.module.mjs +0 -48
  30. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter-routing.module.mjs +0 -18
  31. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +0 -69
  32. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.module.mjs +0 -40
  33. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-routing.module.mjs +0 -32
  34. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber.module.mjs +0 -46
  35. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +0 -6
  36. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form-routing.module.mjs +0 -18
  37. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +0 -99
  38. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.module.mjs +0 -48
  39. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list-routing.module.mjs +0 -18
  40. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +0 -166
  41. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.module.mjs +0 -44
  42. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-routing.module.mjs +0 -26
  43. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type.module.mjs +0 -42
  44. package/esm2022/lib/techlify-notifications/techlify-notification-user-status.model.mjs +0 -5
  45. package/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier-routing.module.d.ts +0 -7
  46. package/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.d.ts +0 -28
  47. package/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.module.d.ts +0 -13
  48. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard-routing.module.d.ts +0 -7
  49. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.d.ts +0 -39
  50. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.module.d.ts +0 -15
  51. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form-routing.module.d.ts +0 -7
  52. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.d.ts +0 -37
  53. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.module.d.ts +0 -14
  54. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list-routing.module.d.ts +0 -7
  55. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.d.ts +0 -37
  56. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.module.d.ts +0 -15
  57. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter-routing.module.d.ts +0 -7
  58. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.d.ts +0 -21
  59. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.module.d.ts +0 -13
  60. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-routing.module.d.ts +0 -7
  61. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber.module.d.ts +0 -14
  62. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.d.ts +0 -5
  63. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form-routing.module.d.ts +0 -7
  64. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.d.ts +0 -32
  65. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.module.d.ts +0 -15
  66. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list-routing.module.d.ts +0 -7
  67. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.d.ts +0 -35
  68. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.module.d.ts +0 -14
  69. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-routing.module.d.ts +0 -7
  70. package/lib/techlify-notifications/techlify-notification-type/techlify-notification-type.module.d.ts +0 -13
  71. package/lib/techlify-notifications/techlify-notification-user-status.model.d.ts +0 -4
@@ -1,166 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, Inject, ViewChild } from '@angular/core';
3
- import { UntypedFormControl } from '@angular/forms';
4
- import { distinctUntilChanged, debounceTime } from 'rxjs/operators';
5
- import { MatSort } from '@angular/material/sort';
6
- import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
7
- import { TechlifyNotificationTypeFormComponent } from '../techlify-notification-type-form/techlify-notification-type-form.component';
8
- import { ActionPopupComponent } from '../../../action-popup';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/material/dialog";
11
- import * as i2 from "../../../core";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/material/button";
14
- import * as i5 from "@angular/material/form-field";
15
- import * as i6 from "@angular/material/icon";
16
- import * as i7 from "@angular/material/input";
17
- import * as i8 from "@angular/material/core";
18
- import * as i9 from "@angular/material/select";
19
- import * as i10 from "@angular/material/sort";
20
- import * as i11 from "@angular/material/table";
21
- import * as i12 from "@angular/flex-layout/flex";
22
- import * as i13 from "@angular/forms";
23
- import * as i14 from "ngx-infinite-scroll";
24
- let TechlifyNotificationTypeListComponent = class TechlifyNotificationTypeListComponent {
25
- constructor(dialog, http, environment) {
26
- this.dialog = dialog;
27
- this.http = http;
28
- this.environment = environment;
29
- this.notificationTypeList = [];
30
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
31
- this.filters = {
32
- sort_by: 'created_at|desc',
33
- isLoadRelations: true,
34
- relations: []
35
- };
36
- this.search = new UntypedFormControl('');
37
- this.displayColumns = new UntypedFormControl(['index', 'title', 'code', 'description', 'is_admin', 'actions']);
38
- this.displayedColumns = [];
39
- this.availableDisplayColumns = [
40
- { order: 1, value: 'index', name: 'Index' },
41
- { order: 2, value: 'title', name: 'Title' },
42
- { order: 3, value: 'code', name: 'Code' },
43
- { order: 5, value: 'description', name: 'Description' },
44
- { order: 6, value: 'is_admin', name: 'Admin Notificaiton' },
45
- { order: 7, value: 'actions', name: 'Actions' }
46
- ];
47
- }
48
- ngOnInit() {
49
- this.rootScrollContainer = this.environment?.rootScrollContainer || 'body';
50
- this.displayedColumns = this.displayColumns.value;
51
- this.initializeData();
52
- this.search.valueChanges.pipe(debounceTime(500), distinctUntilChanged(), untilDestroyed(this)).subscribe(value => {
53
- this.filters.search = value;
54
- this.reload();
55
- });
56
- if (this.sort) {
57
- this.sort.sortChange.pipe(untilDestroyed(this))
58
- .subscribe((value) => {
59
- this.changeSort(value);
60
- });
61
- }
62
- }
63
- get selectedColumns() {
64
- return this.availableDisplayColumns
65
- .filter(col => this.displayColumns.value.some((x) => x === col.value))
66
- .sort((a, b) => (a.order > b.order) ? 1 : ((b.order > a.order) ? -1 : 0))
67
- .map(col => col.value);
68
- }
69
- columnsChange() {
70
- this.displayedColumns = this.selectedColumns;
71
- }
72
- initializeData() {
73
- this.http.get(`api/notification-types`, { params: { ...this.filters, ...this.pageEvent } })
74
- .pipe(untilDestroyed(this))
75
- .subscribe((result) => {
76
- this.notificationTypeList = this.notificationTypeList.concat(result.data);
77
- this.pageEvent.page = result.current_page;
78
- this.pageEvent.lastPage = result.last_page;
79
- });
80
- }
81
- addTechlifyNotificationType() {
82
- const dialogRef = this.dialog.open(TechlifyNotificationTypeFormComponent, {
83
- width: '400px',
84
- autoFocus: false,
85
- data: {} // Any data passed here will be injected into the model
86
- });
87
- dialogRef.afterClosed().subscribe((result) => {
88
- if (result) {
89
- this.reload();
90
- }
91
- });
92
- }
93
- editTechlifyNotificationType(event, notificationType) {
94
- event.stopPropagation();
95
- const dialogRef = this.dialog.open(TechlifyNotificationTypeFormComponent, {
96
- width: '400px',
97
- autoFocus: false,
98
- data: {
99
- notificationType
100
- } // Any data passed here will be injected into the model
101
- });
102
- dialogRef.afterClosed().subscribe((result) => {
103
- if (result) {
104
- this.reload();
105
- }
106
- });
107
- }
108
- deleteTechlifyNotificationType(event, notificationType) {
109
- event.stopPropagation();
110
- const dialogRef = this.dialog.open(ActionPopupComponent, {
111
- width: '400px',
112
- data: {
113
- title: 'Delete Notification Type',
114
- message: `Are you sure to proceed delete the Notification Type ${notificationType.title}?`
115
- },
116
- autoFocus: false
117
- });
118
- dialogRef.afterClosed().subscribe(result => {
119
- if (result) {
120
- // Action confirmed
121
- this.http.delete(`api/notification-types/${notificationType?.id}`)
122
- .pipe(untilDestroyed(this))
123
- .subscribe((result) => {
124
- this.notificationTypeList = this.notificationTypeList.filter(x => x.id !== notificationType.id);
125
- });
126
- }
127
- });
128
- }
129
- onScroll() {
130
- if (this.pageEvent.lastPage > this.pageEvent.page) {
131
- this.pageEvent.page += 1;
132
- this.initializeData();
133
- }
134
- }
135
- changeSort(event) {
136
- if (event.direction) {
137
- this.filters.sort_by = `${event.active}|${event.direction}`;
138
- this.reload();
139
- }
140
- }
141
- reload() {
142
- this.notificationTypeList = [];
143
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
144
- this.initializeData();
145
- }
146
- ngOnDestroy() {
147
- // Until destroyed uses it
148
- }
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeListComponent, deps: [{ token: i1.MatDialog }, { token: i2.HttpService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component }); }
150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyNotificationTypeListComponent, selector: "app-techlify-notification-type-list", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"mat-typography m-4\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"start center\">\n <mat-form-field>\n <input matInput [formControl]=\"search\" placeholder=\"Notification Type\" autocomplete=\"off\" />\n <button matSuffix mat-icon-button>\n <mat-icon>search</mat-icon>\n </button>\n <button *ngIf=\"search.value\" matSuffix mat-icon-button (click)=\"search.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <div class=\"ml-2\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addTechlifyNotificationType()\">+\n Notification\n Type</button>\n </div>\n <span fxFlex></span>\n <mat-form-field appearance=\"outline\" class=\"no-padding\">\n <mat-label>Columns</mat-label>\n <mat-select [formControl]=\"displayColumns\" multiple (selectionChange)=\"columnsChange()\">\n <mat-option *ngFor=\"let column of availableDisplayColumns\" [value]=\"column.value\">{{column.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <section>\n <div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\" [infiniteScrollContainer]=\"rootScrollContainer\">\n <table mat-table [dataSource]=\"notificationTypeList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"techlify-notification-type-table\" aria-describedby=\"Notification type list\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let notificationType; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Title </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.title }} </td>\n </ng-container>\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Code </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.code }}\n </td>\n </ng-container>\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.description }}\n </td>\n </ng-container>\n <ng-container matColumnDef=\"is_admin\">\n <th mat-header-cell *matHeaderCellDef> Admin Notification </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.is_admin? 'Yes': 'No' }}\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 notificationType\">\n <button type=\"button\" mat-icon-button\n (click)=\"deleteTechlifyNotificationType($event,notificationType)\">\n <mat-icon>delete</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button\n (click)=\"editTechlifyNotificationType($event,notificationType)\">\n <mat-icon>edit</mat-icon>\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n </section>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i10.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i11.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i11.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i11.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i11.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i11.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i11.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i11.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i11.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i11.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i11.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i12.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: i12.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: i12.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: i13.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: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i13.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i14.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }] }); }
151
- };
152
- TechlifyNotificationTypeListComponent = __decorate([
153
- UntilDestroy()
154
- ], TechlifyNotificationTypeListComponent);
155
- export { TechlifyNotificationTypeListComponent };
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeListComponent, decorators: [{
157
- type: Component,
158
- args: [{ selector: 'app-techlify-notification-type-list', template: "<div class=\"mat-typography m-4\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"start center\">\n <mat-form-field>\n <input matInput [formControl]=\"search\" placeholder=\"Notification Type\" autocomplete=\"off\" />\n <button matSuffix mat-icon-button>\n <mat-icon>search</mat-icon>\n </button>\n <button *ngIf=\"search.value\" matSuffix mat-icon-button (click)=\"search.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <div class=\"ml-2\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addTechlifyNotificationType()\">+\n Notification\n Type</button>\n </div>\n <span fxFlex></span>\n <mat-form-field appearance=\"outline\" class=\"no-padding\">\n <mat-label>Columns</mat-label>\n <mat-select [formControl]=\"displayColumns\" multiple (selectionChange)=\"columnsChange()\">\n <mat-option *ngFor=\"let column of availableDisplayColumns\" [value]=\"column.value\">{{column.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <section>\n <div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\" [infiniteScrollContainer]=\"rootScrollContainer\">\n <table mat-table [dataSource]=\"notificationTypeList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"techlify-notification-type-table\" aria-describedby=\"Notification type list\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let notificationType; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Title </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.title }} </td>\n </ng-container>\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Code </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.code }}\n </td>\n </ng-container>\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.description }}\n </td>\n </ng-container>\n <ng-container matColumnDef=\"is_admin\">\n <th mat-header-cell *matHeaderCellDef> Admin Notification </th>\n <td mat-cell *matCellDef=\"let notificationType;\"> {{ notificationType?.is_admin? 'Yes': 'No' }}\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 notificationType\">\n <button type=\"button\" mat-icon-button\n (click)=\"deleteTechlifyNotificationType($event,notificationType)\">\n <mat-icon>delete</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button\n (click)=\"editTechlifyNotificationType($event,notificationType)\">\n <mat-icon>edit</mat-icon>\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n </section>\n</div>" }]
159
- }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.HttpService }, { type: undefined, decorators: [{
160
- type: Inject,
161
- args: ['environment']
162
- }] }], propDecorators: { sort: [{
163
- type: ViewChild,
164
- args: [MatSort, { static: true }]
165
- }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUvdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktbm90aWZpY2F0aW9ucy90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS1saXN0L3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi10eXBlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFHckksT0FBTyxFQUFjLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRakUsSUFBTSxxQ0FBcUMsR0FBM0MsTUFBTSxxQ0FBcUM7SUEwQmhELFlBQ1Us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QU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULDBCQUEwQjtJQUM1QixDQUFDOytHQXhKVSxxQ0FBcUMsc0VBNkJ0QyxhQUFhO21HQTdCWixxQ0FBcUMsaUhBYXJDLE9BQU8sOERDOUJwQixncUlBNEVNOztBRDNETyxxQ0FBcUM7SUFOakQsWUFBWSxFQUFFO0dBTUYscUNBQXFDLENBMEpqRDs7NEZBMUpZLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxxQ0FBcUM7OzBCQWlDNUMsTUFBTTsyQkFBQyxhQUFhO3lDQWhCZSxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtZm9ybS90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9kYXRhLXRhYmxlJztcbmltcG9ydCB7SHR0cFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHtBY3Rpb25Qb3B1cCwgQWN0aW9uUG9wdXBDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi1wb3B1cCc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRlY2hsaWZ5LW5vdGlmaWNhdGlvbi10eXBlLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi10eXBlLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBub3RpZmljYXRpb25UeXBlTGlzdDogYW55W10gPSBbXTtcbiAgcGFnZUV2ZW50OiBQYWdlRXZlbnQgPSB7IHBhZ2U6IDEsIHBlclBhZ2U6IDI1LCBsYXN0UGFnZTogMSB9O1xuICBmaWx0ZXJzOiBhbnkgPSB7XG4gICAgc29ydF9ieTogJ2NyZWF0ZWRfYXR8ZGVzYycsXG4gICAgaXNMb2FkUmVsYXRpb25zOiB0cnVlLFxuICAgIHJlbGF0aW9uczogW11cbiAgfTtcbiAgc2VhcmNoOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcbiAgcm9vdFNjcm9sbENvbnRhaW5lcjogc3RyaW5nO1xuXG5cbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xuXG4gIGRpc3BsYXlDb2x1bW5zOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKFsnaW5kZXgnLCAndGl0bGUnLCAnY29kZScsICdkZXNjcmlwdGlvbicsICdpc19hZG1pbicsICdhY3Rpb25zJ10pO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBhbnlbXSA9IFtdO1xuICBhdmFpbGFibGVEaXNwbGF5Q29sdW1uczogYW55W10gPSBbXG4gICAgeyBvcmRlcjogMSwgdmFsdWU6ICdpbmRleCcsIG5hbWU6ICdJbmRleCcgfSxcbiAgICB7IG9yZGVyOiAyLCB2YWx1ZTogJ3RpdGxlJywgbmFtZTogJ1RpdGxlJyB9LFxuICAgIHsgb3JkZXI6IDMsIHZhbHVlOiAnY29kZScsIG5hbWU6ICdDb2RlJyB9LFxuICAgIHsgb3JkZXI6IDUsIHZhbHVlOiAnZGVzY3JpcHRpb24nLCBuYW1lOiAnRGVzY3JpcHRpb24nIH0sXG4gICAgeyBvcmRlcjogNiwgdmFsdWU6ICdpc19hZG1pbicsIG5hbWU6ICdBZG1pbiBOb3RpZmljYWl0b24nIH0sXG4gICAgeyBvcmRlcjogNywgdmFsdWU6ICdhY3Rpb25zJywgbmFtZTogJ0FjdGlvbnMnIH1cbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yb290U2Nyb2xsQ29udGFpbmVyID0gdGhpcy5lbnZpcm9ubWVudD8ucm9vdFNjcm9sbENvbnRhaW5lciB8fCAnYm9keSc7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5kaXNwbGF5Q29sdW1ucy52YWx1ZTtcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gICAgdGhpcy5zZWFyY2gudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuZmlsdGVycy5zZWFyY2ggPSB2YWx1ZTtcbiAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zb3J0KSB7XG4gICAgICB0aGlzLnNvcnQuc29ydENoYW5nZS5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VTb3J0KHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNlbGVjdGVkQ29sdW1ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuYXZhaWxhYmxlRGlzcGxheUNvbHVtbnNcbiAgICAgIC5maWx0ZXIoY29sID0+ICh0aGlzLmRpc3BsYXlDb2x1bW5zLnZhbHVlIGFzIGFueSkuc29tZSgoeDogYW55KSA9PiB4ID09PSBjb2wudmFsdWUpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IChhLm9yZGVyID4gYi5vcmRlcikgPyAxIDogKChiLm9yZGVyID4gYS5vcmRlcikgPyAtMSA6IDApKVxuICAgICAgLm1hcChjb2wgPT4gY29sLnZhbHVlKTtcbiAgfVxuXG4gIGNvbHVtbnNDaGFuZ2UoKSB7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5zZWxlY3RlZENvbHVtbnM7XG4gIH1cblxuXG4gIGluaXRpYWxpemVEYXRhKCkge1xuICAgIHRoaXMuaHR0cC5nZXQoYGFwaS9ub3RpZmljYXRpb24tdHlwZXNgLCB7IHBhcmFtczogeyAuLi50aGlzLmZpbHRlcnMsIC4uLnRoaXMucGFnZUV2ZW50IH0gfSlcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25UeXBlTGlzdCA9IHRoaXMubm90aWZpY2F0aW9uVHlwZUxpc3QuY29uY2F0KHJlc3VsdC5kYXRhKTtcbiAgICAgICAgdGhpcy5wYWdlRXZlbnQucGFnZSA9IHJlc3VsdC5jdXJyZW50X3BhZ2U7XG4gICAgICAgIHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlID0gcmVzdWx0Lmxhc3RfcGFnZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYWRkVGVjaGxpZnlOb3RpZmljYXRpb25UeXBlKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVGVjaGxpZnlOb3RpZmljYXRpb25UeXBlRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgZGF0YToge30gLy8gQW55IGRhdGEgcGFzc2VkIGhlcmUgd2lsbCBiZSBpbmplY3RlZCBpbnRvIHRoZSBtb2RlbFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICBlZGl0VGVjaGxpZnlOb3RpZmljYXRpb25UeXBlKGV2ZW50OiBhbnksIG5vdGlmaWNhdGlvblR5cGU6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVGVjaGxpZnlOb3RpZmljYXRpb25UeXBlRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgZGF0YToge1xuICAgICAgICBub3RpZmljYXRpb25UeXBlXG4gICAgICB9IC8vIEFueSBkYXRhIHBhc3NlZCBoZXJlIHdpbGwgYmUgaW5qZWN0ZWQgaW50byB0aGUgbW9kZWxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZVRlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZShldmVudDogYW55LCBub3RpZmljYXRpb25UeXBlOiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFjdGlvblBvcHVwQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgTm90aWZpY2F0aW9uIFR5cGUnLFxuICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHRvIHByb2NlZWQgZGVsZXRlIHRoZSBOb3RpZmljYXRpb24gVHlwZSAke25vdGlmaWNhdGlvblR5cGUudGl0bGV9P2BcbiAgICAgIH0gYXMgQWN0aW9uUG9wdXAsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy8gQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0aGlzLmh0dHAuZGVsZXRlKGBhcGkvbm90aWZpY2F0aW9uLXR5cGVzLyR7bm90aWZpY2F0aW9uVHlwZT8uaWR9YClcbiAgICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25UeXBlTGlzdCA9IHRoaXMubm90aWZpY2F0aW9uVHlwZUxpc3QuZmlsdGVyKHggPT4geC5pZCAhPT0gbm90aWZpY2F0aW9uVHlwZS5pZCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPiB0aGlzLnBhZ2VFdmVudC5wYWdlKSB7XG4gICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlICs9IDE7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlU29ydChldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LmRpcmVjdGlvbikge1xuICAgICAgdGhpcy5maWx0ZXJzLnNvcnRfYnkgPSBgJHtldmVudC5hY3RpdmV9fCR7ZXZlbnQuZGlyZWN0aW9ufWA7XG4gICAgICB0aGlzLnJlbG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblR5cGVMaXN0ID0gW107XG4gICAgdGhpcy5wYWdlRXZlbnQgPSB7IHBhZ2U6IDEsIHBlclBhZ2U6IDI1LCBsYXN0UGFnZTogMSB9O1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vIFVudGlsIGRlc3Ryb3llZCB1c2VzIGl0XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5IG0tNFwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIk5vdGlmaWNhdGlvbiBUeXBlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlYXJjaC52YWx1ZVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNlYXJjaC5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkVGVjaGxpZnlOb3RpZmljYXRpb25UeXBlKClcIj4rXG4gICAgICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgVHlwZTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJuby1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPkNvbHVtbnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJkaXNwbGF5Q29sdW1uc1wiIG11bHRpcGxlIChzZWxlY3Rpb25DaGFuZ2UpPVwiY29sdW1uc0NoYW5nZSgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhdmFpbGFibGVEaXNwbGF5Q29sdW1uc1wiIFt2YWx1ZV09XCJjb2x1bW4udmFsdWVcIj57e2NvbHVtbi5uYW1lfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG5cbiAgICA8c2VjdGlvbj5cbiAgICAgICAgPGRpdiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiXG4gICAgICAgICAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiIFtpbmZpbml0ZVNjcm9sbENvbnRhaW5lcl09XCJyb290U2Nyb2xsQ29udGFpbmVyXCI+XG4gICAgICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm5vdGlmaWNhdGlvblR5cGVMaXN0XCIgbWF0U29ydCBjbGFzcz1cInctMTAwIG10LTFcIiBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcbiAgICAgICAgICAgICAgICBpZD1cInRlY2hsaWZ5LW5vdGlmaWNhdGlvbi10eXBlLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cIk5vdGlmaWNhdGlvbiB0eXBlIGxpc3RcIj5cblxuICAgICAgICAgICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbm90aWZpY2F0aW9uVHlwZTsgbGV0IGkgPSBkYXRhSW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gVGl0bGUgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IG5vdGlmaWNhdGlvblR5cGU7XCI+IHt7IG5vdGlmaWNhdGlvblR5cGU/LnRpdGxlIH19IDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBDb2RlIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBub3RpZmljYXRpb25UeXBlO1wiPiB7eyBub3RpZmljYXRpb25UeXBlPy5jb2RlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEZXNjcmlwdGlvbiA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbm90aWZpY2F0aW9uVHlwZTtcIj4ge3sgbm90aWZpY2F0aW9uVHlwZT8uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzX2FkbWluXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFkbWluIE5vdGlmaWNhdGlvbiA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbm90aWZpY2F0aW9uVHlwZTtcIj4ge3sgbm90aWZpY2F0aW9uVHlwZT8uaXNfYWRtaW4/ICdZZXMnOiAnTm8nIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8IS0tIEFjdGlvbnMgQ29sdW1uIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb25zIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBub3RpZmljYXRpb25UeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlVGVjaGxpZnlOb3RpZmljYXRpb25UeXBlKCRldmVudCxub3RpZmljYXRpb25UeXBlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFRlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZSgkZXZlbnQsbm90aWZpY2F0aW9uVHlwZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTp0cnVlXCI+PC90cj5cbiAgICAgICAgICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuPC9kaXY+Il19
@@ -1,44 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { TechlifyNotificationTypeListRoutingModule } from './techlify-notification-type-list-routing.module';
4
- import { TechlifyNotificationTypeListComponent } from './techlify-notification-type-list.component';
5
- import { TechlifyNotificationTypeFormModule } from '../techlify-notification-type-form/techlify-notification-type-form.module';
6
- import { InfiniteScrollModule } from 'ngx-infinite-scroll';
7
- import { FlexLayoutModule } from '@angular/flex-layout';
8
- import { ReactiveFormsModule } from '@angular/forms';
9
- import { MaterialModule } from '../../../material.module';
10
- import * as i0 from "@angular/core";
11
- export class TechlifyNotificationTypeListModule {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeListModule, declarations: [TechlifyNotificationTypeListComponent], imports: [CommonModule,
14
- MaterialModule,
15
- FlexLayoutModule,
16
- ReactiveFormsModule,
17
- InfiniteScrollModule,
18
- TechlifyNotificationTypeFormModule,
19
- TechlifyNotificationTypeListRoutingModule], exports: [TechlifyNotificationTypeListComponent] }); }
20
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeListModule, imports: [CommonModule,
21
- MaterialModule,
22
- FlexLayoutModule,
23
- ReactiveFormsModule,
24
- InfiniteScrollModule,
25
- TechlifyNotificationTypeFormModule,
26
- TechlifyNotificationTypeListRoutingModule] }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeListModule, decorators: [{
29
- type: NgModule,
30
- args: [{
31
- declarations: [TechlifyNotificationTypeListComponent],
32
- imports: [
33
- CommonModule,
34
- MaterialModule,
35
- FlexLayoutModule,
36
- ReactiveFormsModule,
37
- InfiniteScrollModule,
38
- TechlifyNotificationTypeFormModule,
39
- TechlifyNotificationTypeListRoutingModule
40
- ],
41
- exports: [TechlifyNotificationTypeListComponent]
42
- }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUvdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBZ0J4RCxNQUFNLE9BQU8sa0NBQWtDOytHQUFsQyxrQ0FBa0M7Z0hBQWxDLGtDQUFrQyxpQkFaOUIscUNBQXFDLGFBRWxELFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsa0NBQWtDO1lBQ2xDLHlDQUF5QyxhQUVqQyxxQ0FBcUM7Z0hBRXBDLGtDQUFrQyxZQVYzQyxZQUFZO1lBQ1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGtDQUFrQztZQUNsQyx5Q0FBeUM7OzRGQUloQyxrQ0FBa0M7a0JBYjlDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUNBQXFDLENBQUM7b0JBQ3JELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsa0NBQWtDO3dCQUNsQyx5Q0FBeUM7cUJBQzFDO29CQUNELE9BQU8sRUFBRSxDQUFDLHFDQUFxQyxDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVMaXN0Um91dGluZ01vZHVsZSB9IGZyb20gJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVGb3JtTW9kdWxlIH0gZnJvbSAnLi4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtZm9ybS90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZUxpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVGb3JtTW9kdWxlLFxuICAgIFRlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZUxpc3RSb3V0aW5nTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVMaXN0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVMaXN0TW9kdWxlIHsgfVxuIl19
@@ -1,26 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import { TechlifyNotificationTypeListComponent } from './techlify-notification-type-list/techlify-notification-type-list.component';
4
- import { AuthenticationGuard } from '../../core';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- const routes = [
8
- {
9
- path: '',
10
- component: TechlifyNotificationTypeListComponent,
11
- canActivate: [AuthenticationGuard],
12
- },
13
- ];
14
- export class TechlifyNotificationTypeRoutingModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
17
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeRoutingModule, decorators: [{
20
- type: NgModule,
21
- args: [{
22
- imports: [RouterModule.forChild(routes)],
23
- exports: [RouterModule]
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUvdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDcEksT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sWUFBWSxDQUFDOzs7QUFFL0MsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxxQ0FBcUM7UUFDaEQsV0FBVyxFQUFFLENBQUMsbUJBQW1CLENBQUM7S0FDbkM7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLHFDQUFxQzsrR0FBckMscUNBQXFDO2dIQUFyQyxxQ0FBcUMsd0NBRnRDLFlBQVk7Z0hBRVgscUNBQXFDLFlBSHRDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLHFDQUFxQztrQkFKakQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi10eXBlLWxpc3QvdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtBdXRoZW50aWNhdGlvbkd1YXJkfSBmcm9tICcuLi8uLi9jb3JlJztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFRlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZUxpc3RDb21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoZW50aWNhdGlvbkd1YXJkXSxcbiAgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZVJvdXRpbmdNb2R1bGUgeyB9XG4iXX0=
@@ -1,42 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { TechlifyNotificationTypeRoutingModule } from './techlify-notification-type-routing.module';
4
- import { TechlifyNotificationTypeListModule } from './techlify-notification-type-list/techlify-notification-type-list.module';
5
- import { FlexLayoutModule } from '@angular/flex-layout';
6
- import { ReactiveFormsModule } from '@angular/forms';
7
- import { InfiniteScrollModule } from 'ngx-infinite-scroll';
8
- import { MaterialModule } from '../../material.module';
9
- import * as i0 from "@angular/core";
10
- export class TechlifyNotificationTypeModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeModule, imports: [CommonModule,
13
- MaterialModule,
14
- FlexLayoutModule,
15
- ReactiveFormsModule,
16
- InfiniteScrollModule,
17
- TechlifyNotificationTypeRoutingModule,
18
- TechlifyNotificationTypeListModule] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeModule, imports: [CommonModule,
20
- MaterialModule,
21
- FlexLayoutModule,
22
- ReactiveFormsModule,
23
- InfiniteScrollModule,
24
- TechlifyNotificationTypeRoutingModule,
25
- TechlifyNotificationTypeListModule] }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationTypeModule, decorators: [{
28
- type: NgModule,
29
- args: [{
30
- declarations: [],
31
- imports: [
32
- CommonModule,
33
- MaterialModule,
34
- FlexLayoutModule,
35
- ReactiveFormsModule,
36
- InfiniteScrollModule,
37
- TechlifyNotificationTypeRoutingModule,
38
- TechlifyNotificationTypeListModule
39
- ]
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS1ub3RpZmljYXRpb25zL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi10eXBlL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi10eXBlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBZ0JyRCxNQUFNLE9BQU8sOEJBQThCOytHQUE5Qiw4QkFBOEI7Z0hBQTlCLDhCQUE4QixZQVR2QyxZQUFZO1lBQ1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLHFDQUFxQztZQUNyQyxrQ0FBa0M7Z0hBR3pCLDhCQUE4QixZQVR2QyxZQUFZO1lBQ1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLHFDQUFxQztZQUNyQyxrQ0FBa0M7OzRGQUd6Qiw4QkFBOEI7a0JBYjFDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixxQ0FBcUM7d0JBQ3JDLGtDQUFrQztxQkFDbkM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25UeXBlUm91dGluZ01vZHVsZSB9IGZyb20gJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25UeXBlTGlzdE1vZHVsZSB9IGZyb20gJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXR5cGUtbGlzdC90ZWNobGlmeS1ub3RpZmljYXRpb24tdHlwZS1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVSb3V0aW5nTW9kdWxlLFxuICAgIFRlY2hsaWZ5Tm90aWZpY2F0aW9uVHlwZUxpc3RNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeU5vdGlmaWNhdGlvblR5cGVNb2R1bGUgeyB9XG4iXX0=
@@ -1,5 +0,0 @@
1
- export class TechlifyNotificationUserStatus {
2
- static { this.DELIVERED = 1; }
3
- static { this.READ = 2; }
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXVzZXItc3RhdHVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS1ub3RpZmljYXRpb25zL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi11c2VyLXN0YXR1cy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sOEJBQThCO2FBQ3pCLGNBQVMsR0FBRyxDQUFDLENBQUM7YUFDZCxTQUFJLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRlY2hsaWZ5Tm90aWZpY2F0aW9uVXNlclN0YXR1cyB7XG4gICAgcHVibGljIHN0YXRpYyBERUxJVkVSRUQgPSAxO1xuICAgIHB1YmxpYyBzdGF0aWMgUkVBRCA9IDI7XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/router";
3
- export declare class NgxTechlifyNotifierRoutingModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxTechlifyNotifierRoutingModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxTechlifyNotifierRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<NgxTechlifyNotifierRoutingModule>;
7
- }
@@ -1,28 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { HttpService } from '../../core';
3
- import { PageEvent } from '../../data-table';
4
- import { Observable, Subscription } from 'rxjs';
5
- import { ToastrService } from 'ngx-toastr';
6
- import * as i0 from "@angular/core";
7
- export declare class NgxTechlifyNotifierComponent implements OnInit {
8
- private http;
9
- private toastr;
10
- private environment;
11
- notifications: any[];
12
- pageEvent: PageEvent;
13
- filters: any;
14
- rootScrollContainer: string;
15
- pollingInterval: number;
16
- $notificationLoader: Subscription;
17
- constructor(http: HttpService, toastr: ToastrService, environment: any);
18
- ngOnInit(): void;
19
- loadNotifications(initiate?: boolean): void;
20
- startNotificationPolling(): void;
21
- get unreadNotificationsCount(): number;
22
- fetchNotifications(pageEvent: PageEvent): Observable<any>;
23
- onScroll(): void;
24
- notificationClick(event: any, notification: any): void;
25
- ngOnDestroy(): void;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxTechlifyNotifierComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxTechlifyNotifierComponent, "app-ngx-techlify-notifier", never, {}, {}, never, never, false, never>;
28
- }
@@ -1,13 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./ngx-techlify-notifier.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "ngx-infinite-scroll";
5
- import * as i4 from "../../material.module";
6
- import * as i5 from "@angular/material/badge";
7
- import * as i6 from "@angular/flex-layout";
8
- import * as i7 from "./ngx-techlify-notifier-routing.module";
9
- export declare class NgxTechlifyNotifierModule {
10
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxTechlifyNotifierModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxTechlifyNotifierModule, [typeof i1.NgxTechlifyNotifierComponent], [typeof i2.CommonModule, typeof i3.InfiniteScrollModule, typeof i4.MaterialModule, typeof i5.MatBadgeModule, typeof i6.FlexLayoutModule, typeof i7.NgxTechlifyNotifierRoutingModule], [typeof i1.NgxTechlifyNotifierComponent]>;
12
- static ɵinj: i0.ɵɵInjectorDeclaration<NgxTechlifyNotifierModule>;
13
- }
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/router";
3
- export declare class TechlifyNotficationSubscriberDashboardRoutingModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotficationSubscriberDashboardRoutingModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<TechlifyNotficationSubscriberDashboardRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<TechlifyNotficationSubscriberDashboardRoutingModule>;
7
- }
@@ -1,39 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { MatDialog } from '@angular/material/dialog';
3
- import { UntypedFormControl } from '@angular/forms';
4
- import { MatSort } from '@angular/material/sort';
5
- import { ActivatedRoute, Router } from '@angular/router';
6
- import { PageEvent } from '../../../data-table';
7
- import { HttpService } from '../../../core';
8
- import * as i0 from "@angular/core";
9
- export declare class TechlifyNotficationSubscriberDashboardComponent implements OnInit {
10
- private dialog;
11
- private http;
12
- private router;
13
- private route;
14
- private environment;
15
- subscriberList: any[];
16
- pageEvent: PageEvent;
17
- filters: any;
18
- rootScrollContainer: string;
19
- sort: MatSort;
20
- displayColumns: UntypedFormControl;
21
- displayedColumns: any[];
22
- availableDisplayColumns: any[];
23
- constructor(dialog: MatDialog, http: HttpService, router: Router, route: ActivatedRoute, environment: any);
24
- ngOnInit(): void;
25
- get selectedColumns(): string[];
26
- columnsChange(): void;
27
- navigateToView(event: any, notification: any): void;
28
- initializeData(): void;
29
- filterChange(event: any): void;
30
- addTechlifyNotificationSubscriber(): void;
31
- editTechlifyNotificationSubscriber(event: any, subscriber: any): void;
32
- deleteTechlifyNotificationSubscriber(event: any, subscriber: any): void;
33
- onScroll(): void;
34
- changeSort(event: any): void;
35
- reload(): void;
36
- ngOnDestroy(): void;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotficationSubscriberDashboardComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<TechlifyNotficationSubscriberDashboardComponent, "app-techlify-notfication-subscriber-dashboard", never, {}, {}, never, never, false, never>;
39
- }
@@ -1,15 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./techlify-notfication-subscriber-dashboard.component";
3
- import * as i2 from "../techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.module";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "ngx-infinite-scroll";
6
- import * as i5 from "../../../material.module";
7
- import * as i6 from "@angular/flex-layout";
8
- import * as i7 from "@angular/forms";
9
- import * as i8 from "./techlify-notfication-subscriber-dashboard-routing.module";
10
- import * as i9 from "../techlify-notification-subscriber-form/techlify-notification-subscriber-form.module";
11
- export declare class TechlifyNotficationSubscriberDashboardModule {
12
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotficationSubscriberDashboardModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<TechlifyNotficationSubscriberDashboardModule, [typeof i1.TechlifyNotficationSubscriberDashboardComponent], [typeof i2.TechlifyNotificationSubscriberListFilterModule, typeof i3.CommonModule, typeof i4.InfiniteScrollModule, typeof i5.MaterialModule, typeof i6.FlexLayoutModule, typeof i7.ReactiveFormsModule, typeof i8.TechlifyNotficationSubscriberDashboardRoutingModule, typeof i9.TechlifyNotificationSubscriberFormModule], [typeof i1.TechlifyNotficationSubscriberDashboardComponent]>;
14
- static ɵinj: i0.ɵɵInjectorDeclaration<TechlifyNotficationSubscriberDashboardModule>;
15
- }
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/router";
3
- export declare class TechlifyNotificationSubscriberFormRoutingModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotificationSubscriberFormRoutingModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<TechlifyNotificationSubscriberFormRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<TechlifyNotificationSubscriberFormRoutingModule>;
7
- }
@@ -1,37 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';
3
- import { MatDialogRef } from '@angular/material/dialog';
4
- import { AlertService, FormValidatorService, HttpService } from '../../../core';
5
- import * as i0 from "@angular/core";
6
- export declare class TechlifyNotificationSubscriberFormComponent implements OnInit {
7
- private fb;
8
- private formValidatorService;
9
- private alertService;
10
- dialogRef: MatDialogRef<TechlifyNotificationSubscriberFormComponent>;
11
- data: any;
12
- private http;
13
- private environment;
14
- updateMode: boolean;
15
- subscriberFormGroup: UntypedFormGroup;
16
- subscriberFormFirstAttempt: boolean;
17
- subscriber: any;
18
- isSubmitLoading: boolean;
19
- selectedSubscriber: any;
20
- selectedType: any;
21
- subscriptionEntity: any;
22
- userTypes: any[];
23
- constructor(fb: UntypedFormBuilder, formValidatorService: FormValidatorService, alertService: AlertService, dialogRef: MatDialogRef<TechlifyNotificationSubscriberFormComponent>, data: any, http: HttpService, environment: any);
24
- /** Method to create a form **/
25
- private createForm;
26
- ngOnInit(): void;
27
- submit(): void;
28
- cancel(): void;
29
- /**Method to evaluate form fields*/
30
- isFieldValid(field: string): any;
31
- /**Method to find error in form fields*/
32
- getErrorMessage(field: string): any;
33
- getFieldValue(field: string): any;
34
- ngOnDestroy(): void;
35
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotificationSubscriberFormComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<TechlifyNotificationSubscriberFormComponent, "app-techlify-notification-subscriber-form", never, {}, {}, never, never, false, never>;
37
- }
@@ -1,14 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./techlify-notification-subscriber-form.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "../../../material.module";
5
- import * as i4 from "@angular/flex-layout";
6
- import * as i5 from "@angular/forms";
7
- import * as i6 from "../../../searchable-selector/searchable-selector.module";
8
- import * as i7 from "./techlify-notification-subscriber-form-routing.module";
9
- import * as i8 from "../../../loader/loader.module";
10
- export declare class TechlifyNotificationSubscriberFormModule {
11
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotificationSubscriberFormModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<TechlifyNotificationSubscriberFormModule, [typeof i1.TechlifyNotificationSubscriberFormComponent], [typeof i2.CommonModule, typeof i3.MaterialModule, typeof i4.FlexLayoutModule, typeof i5.ReactiveFormsModule, typeof i6.SearchableSelectorModule, typeof i7.TechlifyNotificationSubscriberFormRoutingModule, typeof i8.LoaderModule], never>;
13
- static ɵinj: i0.ɵɵInjectorDeclaration<TechlifyNotificationSubscriberFormModule>;
14
- }
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/router";
3
- export declare class TechlifyNotificationSubscriberListRoutingModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotificationSubscriberListRoutingModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<TechlifyNotificationSubscriberListRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<TechlifyNotificationSubscriberListRoutingModule>;
7
- }
@@ -1,37 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { MatDialog } from '@angular/material/dialog';
3
- import { UntypedFormControl } from '@angular/forms';
4
- import { MatSort } from '@angular/material/sort';
5
- import { Location } from '@angular/common';
6
- import { HttpService } from '../../../core';
7
- import { PageEvent } from '../../../data-table';
8
- import * as i0 from "@angular/core";
9
- export declare class TechlifyNotificationSubscriberListComponent implements OnInit {
10
- private dialog;
11
- private http;
12
- private location;
13
- private environment;
14
- subscriberList: any[];
15
- pageEvent: PageEvent;
16
- filters: any;
17
- rootScrollContainer: string;
18
- sort: MatSort;
19
- displayColumns: UntypedFormControl;
20
- displayedColumns: any[];
21
- availableDisplayColumns: any[];
22
- constructor(dialog: MatDialog, http: HttpService, location: Location, environment: any);
23
- ngOnInit(): void;
24
- get selectedColumns(): string[];
25
- columnsChange(): void;
26
- initializeData(): void;
27
- filterChange(event: any): void;
28
- addTechlifyNotificationSubscriber(): void;
29
- editTechlifyNotificationSubscriber(event: any, subscriber: any): void;
30
- deleteTechlifyNotificationSubscriber(event: any, subscriber: any): void;
31
- onScroll(): void;
32
- changeSort(event: any): void;
33
- reload(): void;
34
- ngOnDestroy(): void;
35
- static ɵfac: i0.ɵɵFactoryDeclaration<TechlifyNotificationSubscriberListComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<TechlifyNotificationSubscriberListComponent, "app-techlify-notification-subscriber-list", never, {}, {}, never, never, false, never>;
37
- }