ngx-techlify-core 18.30.0 → 18.32.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.
Files changed (58) hide show
  1. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +4 -3
  2. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +7 -3
  3. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +2 -2
  4. package/esm2022/lib/role/permission/permissions-management.component.mjs +2 -8
  5. package/esm2022/lib/role/role-form.component.mjs +4 -10
  6. package/esm2022/lib/role/role.model.mjs +1 -1
  7. package/esm2022/lib/role/roles-view-all.component.mjs +3 -10
  8. package/esm2022/lib/subscription/subscription-form/subscription-form-routing.module.mjs +18 -0
  9. package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +149 -0
  10. package/esm2022/lib/subscription/subscription-form/subscription-form.module.mjs +42 -0
  11. package/esm2022/lib/subscription/subscription-listing/subscription-listing-routing.module.mjs +26 -0
  12. package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +136 -0
  13. package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +53 -0
  14. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.mjs +26 -0
  15. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +119 -0
  16. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.module.mjs +49 -0
  17. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view-routing.module.mjs +26 -0
  18. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +39 -0
  19. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.module.mjs +37 -0
  20. package/esm2022/lib/subscription/subscription-package.service.mjs +21 -0
  21. package/esm2022/lib/subscription/subscription-status.enum.mjs +6 -0
  22. package/esm2022/lib/subscription/subscription.service.mjs +36 -0
  23. package/esm2022/lib/subscription/techlify-subscription-directive.module.mjs +20 -0
  24. package/esm2022/lib/subscription/techlify-subscription.directive.mjs +33 -0
  25. package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +2 -1
  26. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +6 -6
  27. package/esm2022/lib/user/user-form.component.mjs +6 -13
  28. package/esm2022/lib/user-selector/user-selector.component.mjs +2 -7
  29. package/esm2022/public-api.mjs +13 -1
  30. package/fesm2022/ngx-techlify-core.mjs +909 -257
  31. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  32. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -1
  33. package/lib/role/permission/permissions-management.component.d.ts +0 -1
  34. package/lib/role/role.model.d.ts +0 -2
  35. package/lib/role/roles-view-all.component.d.ts +0 -1
  36. package/lib/subscription/subscription-form/subscription-form-routing.module.d.ts +7 -0
  37. package/lib/subscription/subscription-form/subscription-form.component.d.ts +31 -0
  38. package/lib/subscription/subscription-form/subscription-form.module.d.ts +13 -0
  39. package/lib/subscription/subscription-listing/subscription-listing-routing.module.d.ts +7 -0
  40. package/lib/subscription/subscription-listing/subscription-listing.component.d.ts +29 -0
  41. package/lib/subscription/subscription-listing/subscription-listing.module.d.ts +15 -0
  42. package/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.d.ts +7 -0
  43. package/lib/subscription/subscription-package-listing/subscription-package-listing.component.d.ts +29 -0
  44. package/lib/subscription/subscription-package-listing/subscription-package-listing.module.d.ts +15 -0
  45. package/lib/subscription/subscription-package-view/subscription-package-view-routing.module.d.ts +7 -0
  46. package/lib/subscription/subscription-package-view/subscription-package-view.component.d.ts +15 -0
  47. package/lib/subscription/subscription-package-view/subscription-package-view.module.d.ts +12 -0
  48. package/lib/subscription/subscription-package.service.d.ts +9 -0
  49. package/lib/subscription/subscription-status.enum.d.ts +4 -0
  50. package/lib/subscription/subscription.service.d.ts +12 -0
  51. package/lib/subscription/techlify-subscription-directive.module.d.ts +8 -0
  52. package/lib/subscription/techlify-subscription.directive.d.ts +14 -0
  53. package/lib/timeline-filter/timeline-filter.component.d.ts +1 -1
  54. package/lib/user/user-form.component.d.ts +0 -2
  55. package/lib/user-selector/user-selector.component.d.ts +1 -2
  56. package/package.json +1 -1
  57. package/public-api.d.ts +11 -0
  58. package/styles/style.scss +6 -0
@@ -0,0 +1,26 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { SubscriptionPackageListingComponent } from './subscription-package-listing.component';
4
+ import { AuthenticationGuard } from '../../core/authentication.guard';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '**',
10
+ component: SubscriptionPackageListingComponent,
11
+ canActivate: [AuthenticationGuard],
12
+ },
13
+ ];
14
+ export class SubscriptionPackageListingRoutingModule {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingRoutingModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [RouterModule.forChild(routes)],
23
+ exports: [RouterModule]
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZy1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wYWNrYWdlLWxpc3Rpbmcvc3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZy1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRXRFLE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLElBQUk7UUFDVixTQUFTLEVBQUUsbUNBQW1DO1FBQzlDLFdBQVcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0tBQ25DO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyx1Q0FBdUM7K0dBQXZDLHVDQUF1QztnSEFBdkMsdUNBQXVDLHdDQUZ4QyxZQUFZO2dIQUVYLHVDQUF1QyxZQUh4QyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzs0RkFFWCx1Q0FBdUM7a0JBSm5ELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25QYWNrYWdlTGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4vc3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25HdWFyZCB9IGZyb20gJy4uLy4uL2NvcmUvYXV0aGVudGljYXRpb24uZ3VhcmQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcqKicsXG4gICAgY29tcG9uZW50OiBTdWJzY3JpcHRpb25QYWNrYWdlTGlzdGluZ0NvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhlbnRpY2F0aW9uR3VhcmRdLFxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uUGFja2FnZUxpc3RpbmdSb3V0aW5nTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,119 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component } from '@angular/core';
3
+ import { debounceTime, finalize } from 'rxjs';
4
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
+ import { TechlifyListingControllerInterface } from '../../base-model/techlify-listing-component.class';
6
+ import { ActionPopupComponent } from '../../action-popup';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../subscription-package.service";
9
+ import * as i2 from "@angular/router";
10
+ import * as i3 from "../../core/filter.service";
11
+ import * as i4 from "@angular/material/dialog";
12
+ import * as i5 from "@angular/forms";
13
+ import * as i6 from "@angular/common";
14
+ import * as i7 from "@angular/material/button";
15
+ import * as i8 from "@angular/material/form-field";
16
+ import * as i9 from "@angular/material/icon";
17
+ import * as i10 from "@angular/material/input";
18
+ import * as i11 from "@angular/material/sort";
19
+ import * as i12 from "@angular/material/table";
20
+ import * as i13 from "@angular/material/card";
21
+ import * as i14 from "@angular/material/tooltip";
22
+ import * as i15 from "@angular/material/progress-bar";
23
+ import * as i16 from "@angular/material/slide-toggle";
24
+ import * as i17 from "@angular/flex-layout/flex";
25
+ import * as i18 from "ngx-infinite-scroll";
26
+ import * as i19 from "../../techlify-icon/techlify-icon.component";
27
+ let SubscriptionPackageListingComponent = class SubscriptionPackageListingComponent extends TechlifyListingControllerInterface {
28
+ constructor(subscriptionPackageService, activatedRoute, filterService, router, dialog, fb) {
29
+ super();
30
+ this.subscriptionPackageService = subscriptionPackageService;
31
+ this.activatedRoute = activatedRoute;
32
+ this.filterService = filterService;
33
+ this.router = router;
34
+ this.dialog = dialog;
35
+ this.fb = fb;
36
+ this.displayedColumns = ['index', 'title', 'code', 'description', 'tenants_count', 'actions'];
37
+ this.isWorking = false;
38
+ this.filterFormGroup = this.fb.group({
39
+ search: [''],
40
+ sort_by: ['']
41
+ });
42
+ }
43
+ ngOnInit() {
44
+ this.patchFilters();
45
+ this.loadData();
46
+ this.listenForChanges();
47
+ }
48
+ listenForChanges() {
49
+ this.filterFormGroup.valueChanges
50
+ .pipe(debounceTime(500), untilDestroyed(this))
51
+ .subscribe((_) => {
52
+ this.filterService.applyFilterToRoute(this.activatedRoute, this.filterFormGroup.value);
53
+ this.reload();
54
+ });
55
+ }
56
+ patchFilters() {
57
+ let routeFilters = this.filterService.getFiltersFromRoute(this.activatedRoute, this.filterFormGroup.value);
58
+ this.filterFormGroup.setValue(routeFilters);
59
+ }
60
+ loadData() {
61
+ this.isWorking = true;
62
+ const filters = JSON.parse(JSON.stringify(this.filterFormGroup.value));
63
+ filters.page = this.page;
64
+ filters.perPage = this.perPage;
65
+ this.subscriptionPackageService.index(filters)
66
+ .pipe(finalize(() => this.isWorking = false))
67
+ .subscribe((res) => {
68
+ this.lastPage = res?.last_page || this.page;
69
+ if (res?.data.length > 0) {
70
+ this.models = this.models.concat(res.data);
71
+ }
72
+ });
73
+ }
74
+ sortColumn(event) {
75
+ const direction = event.direction.toString().toUpperCase();
76
+ this.models = [];
77
+ this.filterFormGroup.get('sort_by').setValue(`${event?.active}|${direction}`);
78
+ }
79
+ confirmToggle(event, subscriptionPackage) {
80
+ const previousValue = subscriptionPackage.is_enabled;
81
+ event.source.checked = previousValue;
82
+ const action = previousValue ? 'Disable' : 'Enable';
83
+ const dialogRef = this.dialog.open(ActionPopupComponent, {
84
+ width: '400px',
85
+ data: {
86
+ title: `${action} Package`,
87
+ message: `Are you sure to ${action.toLowerCase()} this package?`,
88
+ },
89
+ autoFocus: false
90
+ });
91
+ dialogRef.afterClosed().subscribe((confirmed) => {
92
+ if (confirmed) {
93
+ this.subscriptionPackageService.toggle(subscriptionPackage.id)
94
+ .pipe(finalize(() => this.isWorking = false))
95
+ .subscribe((res) => {
96
+ subscriptionPackage.is_enabled = res?.item?.is_enabled;
97
+ event.source.checked = subscriptionPackage.is_enabled; // update UI after success
98
+ });
99
+ }
100
+ else {
101
+ event.source.checked = previousValue; // ensure UI fully restored
102
+ }
103
+ });
104
+ }
105
+ navigateToView(subscriptionPackage) {
106
+ this.router.navigate([`./${subscriptionPackage?.id}/view`], { relativeTo: this.activatedRoute });
107
+ }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingComponent, deps: [{ token: i1.SubscriptionPackageService }, { token: i2.ActivatedRoute }, { token: i3.FilterService }, { token: i2.Router }, { token: i4.MatDialog }, { token: i5.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SubscriptionPackageListingComponent, selector: "app-subscription-package-listing", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" class=\"m-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutGap=\"0.5rem\" fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">Subscription Packages</h5>\n <span fxFlex></span>\n <form [formGroup]=\"filterFormGroup\" class=\"filter-form\" fxLayout=\"row\">\n <mat-form-field appearance=\"outline\" class=\"nil-subscript-wrappe fl-md\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Search..\" name=\"search\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button\n (click)=\"filterFormGroup.get('search').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n </mat-card>\n <mat-card appearance=\"outlined\" class=\"p-0 mt-2\">\n <table mat-table matSort [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" (matSortChange)=\"sortColumn($event)\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.title }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Code </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.code }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear class=\"w-description\"> Description\n </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.description }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tenants_count\">\n <th mat-header-cell *matHeaderCellDef> Tenants </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.tenants_count ?? 0 }} tenants</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <div class=\"text-secondary\" fxLayout fxLayoutAlign=\"start center\">\n <app-techlify-icon name=\"view\" class=\"clickable\" matTooltip=\"View\"\n (click)=\"navigateToView(subscriptionPackage)\"></app-techlify-icon>\n <mat-slide-toggle style=\"transform: scale(0.8);\" [checked]=\"subscriptionPackage?.is_enabled\"\n color=\"primary\" (change)=\"confirmToggle($event,subscriptionPackage)\">Is Enabled\n </mat-slide-toggle>\n </div>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></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>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i11.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i11.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i12.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i12.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i12.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i12.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i12.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i12.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i12.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i12.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i12.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i12.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i13.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i14.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i15.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i16.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i17.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: i17.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i17.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: i17.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: i18.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: i19.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
110
+ };
111
+ SubscriptionPackageListingComponent = __decorate([
112
+ UntilDestroy()
113
+ ], SubscriptionPackageListingComponent);
114
+ export { SubscriptionPackageListingComponent };
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingComponent, decorators: [{
116
+ type: Component,
117
+ args: [{ selector: 'app-subscription-package-listing', template: "<div fxLayout=\"column\" class=\"m-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutGap=\"0.5rem\" fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">Subscription Packages</h5>\n <span fxFlex></span>\n <form [formGroup]=\"filterFormGroup\" class=\"filter-form\" fxLayout=\"row\">\n <mat-form-field appearance=\"outline\" class=\"nil-subscript-wrappe fl-md\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Search..\" name=\"search\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button\n (click)=\"filterFormGroup.get('search').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n </mat-card>\n <mat-card appearance=\"outlined\" class=\"p-0 mt-2\">\n <table mat-table matSort [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" (matSortChange)=\"sortColumn($event)\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.title }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Code </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.code }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear class=\"w-description\"> Description\n </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.description }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tenants_count\">\n <th mat-header-cell *matHeaderCellDef> Tenants </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <span>{{subscriptionPackage?.tenants_count ?? 0 }} tenants</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let subscriptionPackage\">\n <div class=\"text-secondary\" fxLayout fxLayoutAlign=\"start center\">\n <app-techlify-icon name=\"view\" class=\"clickable\" matTooltip=\"View\"\n (click)=\"navigateToView(subscriptionPackage)\"></app-techlify-icon>\n <mat-slide-toggle style=\"transform: scale(0.8);\" [checked]=\"subscriptionPackage?.is_enabled\"\n color=\"primary\" (change)=\"confirmToggle($event,subscriptionPackage)\">Is Enabled\n </mat-slide-toggle>\n </div>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></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>\n</div>" }]
118
+ }], ctorParameters: () => [{ type: i1.SubscriptionPackageService }, { type: i2.ActivatedRoute }, { type: i3.FilterService }, { type: i2.Router }, { type: i4.MatDialog }, { type: i5.UntypedFormBuilder }] });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcGFja2FnZS1saXN0aW5nL3N1YnNjcmlwdGlvbi1wYWNrYWdlLWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZy9zdWJzY3JpcHRpb24tcGFja2FnZS1saXN0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNuRCxJQUFNLG1DQUFtQyxHQUF6QyxNQUFNLG1DQUFvQyxTQUFRLGtDQUFrQztJQU16RixZQUNVLDBCQUFzRCxFQUN0RCxjQUE4QixFQUM5QixhQUE0QixFQUM1QixNQUFjLEVBQ2QsTUFBaUIsRUFDakIsRUFBc0I7UUFDOUIsS0FBSyxFQUFFLENBQUM7UUFOQSwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQVZoQyxxQkFBZ0IsR0FBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkcsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVd6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25DLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNaLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZO2FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FDbkMsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQzNCLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQ3ZELElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN6QixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7YUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO2FBQzVDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzVDLElBQUksR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssRUFBRSxNQUFNLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxtQkFBd0I7UUFDaEQsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1FBQ3JELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3ZELEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxHQUFHLE1BQU0sVUFBVTtnQkFDMUIsT0FBTyxFQUFFLG1CQUFtQixNQUFNLENBQUMsV0FBVyxFQUFFLGdCQUFnQjthQUNqRTtZQUNELFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUM5QyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO3FCQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUM7cUJBQzVDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUN0QixtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUM7b0JBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLDBCQUEwQjtnQkFDbkYsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsMkJBQTJCO1lBQ25FLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsbUJBQXdCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxtQkFBbUIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25HLENBQUM7K0dBaEdVLG1DQUFtQzttR0FBbkMsbUNBQW1DLCtGQ2pCaEQsNjZIQXVFTTs7QUR0RE8sbUNBQW1DO0lBTi9DLFlBQVksRUFBRTtHQU1GLG1DQUFtQyxDQWtHL0M7OzRGQWxHWSxtQ0FBbUM7a0JBTC9DLFNBQVM7K0JBQ0Usa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblBhY2thZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3Vic2NyaXB0aW9uLXBhY2thZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgVGVjaGxpZnlMaXN0aW5nQ29udHJvbGxlckludGVyZmFjZSB9IGZyb20gJy4uLy4uL2Jhc2UtbW9kZWwvdGVjaGxpZnktbGlzdGluZy1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb24tcG9wdXAnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWJzY3JpcHRpb24tcGFja2FnZS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdGlvblBhY2thZ2VMaXN0aW5nQ29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0aW5nQ29udHJvbGxlckludGVyZmFjZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbJ2luZGV4JywgJ3RpdGxlJywgJ2NvZGUnLCAnZGVzY3JpcHRpb24nLCAndGVuYW50c19jb3VudCcsICdhY3Rpb25zJ107XG4gIGlzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBmaWx0ZXJGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25QYWNrYWdlU2VydmljZTogU3Vic2NyaXB0aW9uUGFja2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgc29ydF9ieTogWycnXVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXRjaEZpbHRlcnMoKTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgdGhpcy5saXN0ZW5Gb3JDaGFuZ2VzKCk7XG4gIH1cblxuICBsaXN0ZW5Gb3JDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2UuYXBwbHlGaWx0ZXJUb1JvdXRlKFxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcGF0Y2hGaWx0ZXJzKCkge1xuICAgIGxldCByb3V0ZUZpbHRlcnMgPSB0aGlzLmZpbHRlclNlcnZpY2UuZ2V0RmlsdGVyc0Zyb21Sb3V0ZShcbiAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZVxuICAgICk7XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuc2V0VmFsdWUocm91dGVGaWx0ZXJzKTtcbiAgfVxuXG4gIGxvYWREYXRhKCkge1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZSkpO1xuICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICBmaWx0ZXJzLnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25QYWNrYWdlU2VydmljZS5pbmRleChmaWx0ZXJzKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5pc1dvcmtpbmcgPSBmYWxzZSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxhc3RQYWdlID0gcmVzPy5sYXN0X3BhZ2UgfHwgdGhpcy5wYWdlO1xuICAgICAgICBpZiAocmVzPy5kYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzLmNvbmNhdChyZXMuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH1cblxuICBzb3J0Q29sdW1uKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBldmVudC5kaXJlY3Rpb24udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgIHRoaXMubW9kZWxzID0gW107XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoYCR7ZXZlbnQ/LmFjdGl2ZX18JHtkaXJlY3Rpb259YCk7XG4gIH1cblxuICBjb25maXJtVG9nZ2xlKGV2ZW50OiBhbnksIHN1YnNjcmlwdGlvblBhY2thZ2U6IGFueSkge1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBzdWJzY3JpcHRpb25QYWNrYWdlLmlzX2VuYWJsZWQ7XG4gICAgZXZlbnQuc291cmNlLmNoZWNrZWQgPSBwcmV2aW91c1ZhbHVlO1xuICAgIGNvbnN0IGFjdGlvbiA9IHByZXZpb3VzVmFsdWUgPyAnRGlzYWJsZScgOiAnRW5hYmxlJztcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFjdGlvblBvcHVwQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6IGAke2FjdGlvbn0gUGFja2FnZWAsXG4gICAgICAgIG1lc3NhZ2U6IGBBcmUgeW91IHN1cmUgdG8gJHthY3Rpb24udG9Mb3dlckNhc2UoKX0gdGhpcyBwYWNrYWdlP2AsXG4gICAgICB9LFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChjb25maXJtZWQpID0+IHtcbiAgICAgIGlmIChjb25maXJtZWQpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25QYWNrYWdlU2VydmljZS50b2dnbGUoc3Vic2NyaXB0aW9uUGFja2FnZS5pZClcbiAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uUGFja2FnZS5pc19lbmFibGVkID0gcmVzPy5pdGVtPy5pc19lbmFibGVkO1xuICAgICAgICAgICAgZXZlbnQuc291cmNlLmNoZWNrZWQgPSBzdWJzY3JpcHRpb25QYWNrYWdlLmlzX2VuYWJsZWQ7IC8vIHVwZGF0ZSBVSSBhZnRlciBzdWNjZXNzXG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBldmVudC5zb3VyY2UuY2hlY2tlZCA9IHByZXZpb3VzVmFsdWU7IC8vIGVuc3VyZSBVSSBmdWxseSByZXN0b3JlZFxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmF2aWdhdGVUb1ZpZXcoc3Vic2NyaXB0aW9uUGFja2FnZTogYW55KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AuLyR7c3Vic2NyaXB0aW9uUGFja2FnZT8uaWR9L3ZpZXdgXSwgeyByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm0tMlwiPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBmeExheW91dCBmeExheW91dEdhcD1cIjAuNXJlbVwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgPGg1IGNsYXNzPVwibS0wXCI+U3Vic2NyaXB0aW9uIFBhY2thZ2VzPC9oNT5cbiAgICAgICAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtR3JvdXBcIiBjbGFzcz1cImZpbHRlci1mb3JtXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwibmlsLXN1YnNjcmlwdC13cmFwcGUgZmwtbWRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoLi5cIiBuYW1lPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlsdGVyRm9ybUdyb3VwLmdldCgnc2VhcmNoJykudmFsdWVcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWx0ZXJGb3JtR3JvdXAuZ2V0KCdzZWFyY2gnKS5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZm9ybT5cbiAgICA8L21hdC1jYXJkPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cInAtMCBtdC0yXCI+XG4gICAgICAgIDx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBjbGFzcz1cInctMTAwXCIgaW5maW5pdGVTY3JvbGwgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiXG4gICAgICAgICAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCIgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENvbHVtbigkZXZlbnQpXCI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmlwdGlvblBhY2thZ2U7IGxldCBpID0gaW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGRpc2FibGVDbGVhcj4gVGl0bGUgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3Vic2NyaXB0aW9uUGFja2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e3N1YnNjcmlwdGlvblBhY2thZ2U/LnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjb2RlXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgZGlzYWJsZUNsZWFyPiBDb2RlIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmlwdGlvblBhY2thZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tzdWJzY3JpcHRpb25QYWNrYWdlPy5jb2RlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGRpc2FibGVDbGVhciBjbGFzcz1cInctZGVzY3JpcHRpb25cIj4gRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBzdWJzY3JpcHRpb25QYWNrYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7c3Vic2NyaXB0aW9uUGFja2FnZT8uZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRlbmFudHNfY291bnRcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBUZW5hbnRzIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmlwdGlvblBhY2thZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tzdWJzY3JpcHRpb25QYWNrYWdlPy50ZW5hbnRzX2NvdW50ID8/IDAgfX0gdGVuYW50czwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3Vic2NyaXB0aW9uUGFja2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIiBmeExheW91dCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cInZpZXdcIiBjbGFzcz1cImNsaWNrYWJsZVwiIG1hdFRvb2x0aXA9XCJWaWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1ZpZXcoc3Vic2NyaXB0aW9uUGFja2FnZSlcIj48L2FwcC10ZWNobGlmeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgc3R5bGU9XCJ0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XCIgW2NoZWNrZWRdPVwic3Vic2NyaXB0aW9uUGFja2FnZT8uaXNfZW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCIgKGNoYW5nZSk9XCJjb25maXJtVG9nZ2xlKCRldmVudCxzdWJzY3JpcHRpb25QYWNrYWdlKVwiPklzIEVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJpc1dvcmtpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgPC9tYXQtY2FyZD5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SubscriptionPackageListingRoutingModule } from './subscription-package-listing-routing.module';
4
+ import { SubscriptionPackageListingComponent } from './subscription-package-listing.component';
5
+ import { MaterialModule } from '../../material.module';
6
+ import { SearchableSelectorModule } from '../../searchable-selector/searchable-selector.module';
7
+ import { ReactiveFormsModule } from '@angular/forms';
8
+ import { FlexLayoutModule } from '@angular/flex-layout';
9
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
10
+ import { TechlifyIconModule } from '../../techlify-icon/techlify-icon.module';
11
+ import * as i0 from "@angular/core";
12
+ export class SubscriptionPackageListingModule {
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingModule, declarations: [SubscriptionPackageListingComponent], imports: [CommonModule,
15
+ SubscriptionPackageListingRoutingModule,
16
+ ReactiveFormsModule,
17
+ MaterialModule,
18
+ SearchableSelectorModule,
19
+ FlexLayoutModule,
20
+ InfiniteScrollModule,
21
+ TechlifyIconModule] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingModule, imports: [CommonModule,
23
+ SubscriptionPackageListingRoutingModule,
24
+ ReactiveFormsModule,
25
+ MaterialModule,
26
+ SearchableSelectorModule,
27
+ FlexLayoutModule,
28
+ InfiniteScrollModule,
29
+ TechlifyIconModule] }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageListingModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ declarations: [
35
+ SubscriptionPackageListingComponent
36
+ ],
37
+ imports: [
38
+ CommonModule,
39
+ SubscriptionPackageListingRoutingModule,
40
+ ReactiveFormsModule,
41
+ MaterialModule,
42
+ SearchableSelectorModule,
43
+ FlexLayoutModule,
44
+ InfiniteScrollModule,
45
+ TechlifyIconModule
46
+ ]
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2UtbGlzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcGFja2FnZS1saXN0aW5nL3N1YnNjcmlwdGlvbi1wYWNrYWdlLWxpc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFrQjlFLE1BQU0sT0FBTyxnQ0FBZ0M7K0dBQWhDLGdDQUFnQztnSEFBaEMsZ0NBQWdDLGlCQWJ6QyxtQ0FBbUMsYUFHbkMsWUFBWTtZQUNaLHVDQUF1QztZQUN2QyxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGtCQUFrQjtnSEFHVCxnQ0FBZ0MsWUFWekMsWUFBWTtZQUNaLHVDQUF1QztZQUN2QyxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGtCQUFrQjs7NEZBR1QsZ0NBQWdDO2tCQWY1QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQ0FBbUM7cUJBQ3BDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHVDQUF1Qzt3QkFDdkMsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjtxQkFDbkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uUGFja2FnZUxpc3RpbmdSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9zdWJzY3JpcHRpb24tcGFja2FnZS1saXN0aW5nLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblBhY2thZ2VMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9zdWJzY3JpcHRpb24tcGFja2FnZS1saXN0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi9zZWFyY2hhYmxlLXNlbGVjdG9yL3NlYXJjaGFibGUtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IFRlY2hsaWZ5SWNvbk1vZHVsZSB9IGZyb20gJy4uLy4uL3RlY2hsaWZ5LWljb24vdGVjaGxpZnktaWNvbi5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFN1YnNjcmlwdGlvblBhY2thZ2VMaXN0aW5nQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU3Vic2NyaXB0aW9uUGFja2FnZUxpc3RpbmdSb3V0aW5nTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgVGVjaGxpZnlJY29uTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uUGFja2FnZUxpc3RpbmdNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { AuthenticationGuard } from '../../core/authentication.guard';
4
+ import { SubscriptionPackageViewComponent } from './subscription-package-view.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '**',
10
+ component: SubscriptionPackageViewComponent,
11
+ canActivate: [AuthenticationGuard],
12
+ },
13
+ ];
14
+ export class SubscriptionPackageViewRoutingModule {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewRoutingModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [RouterModule.forChild(routes)],
23
+ exports: [RouterModule]
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcvc3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRXpGLE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLElBQUk7UUFDVixTQUFTLEVBQUUsZ0NBQWdDO1FBQzNDLFdBQVcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0tBQ25DO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyxvQ0FBb0M7K0dBQXBDLG9DQUFvQztnSEFBcEMsb0NBQW9DLHdDQUZyQyxZQUFZO2dIQUVYLG9DQUFvQyxZQUhyQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzs0RkFFWCxvQ0FBb0M7a0JBSmhELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkd1YXJkIH0gZnJvbSAnLi4vLi4vY29yZS9hdXRoZW50aWNhdGlvbi5ndWFyZCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25QYWNrYWdlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcqKicsXG4gICAgY29tcG9uZW50OiBTdWJzY3JpcHRpb25QYWNrYWdlVmlld0NvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhlbnRpY2F0aW9uR3VhcmRdLFxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uUGFja2FnZVZpZXdSb3V0aW5nTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,39 @@
1
+ import { Component } from '@angular/core';
2
+ import { of, switchMap } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../subscription-package.service";
5
+ import * as i2 from "@angular/router";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "../subscription-listing/subscription-listing.component";
8
+ import * as i5 from "@angular/material/card";
9
+ import * as i6 from "@angular/flex-layout/flex";
10
+ export class SubscriptionPackageViewComponent {
11
+ constructor(subscriptionPackageService, activatedRoute, location) {
12
+ this.subscriptionPackageService = subscriptionPackageService;
13
+ this.activatedRoute = activatedRoute;
14
+ this.location = location;
15
+ }
16
+ ngOnInit() {
17
+ this.activatedRoute.paramMap
18
+ .pipe(switchMap((params) => {
19
+ const packageId = params.get('id');
20
+ if (!packageId) {
21
+ return of(null);
22
+ }
23
+ return this.subscriptionPackageService.show(packageId);
24
+ }))
25
+ .subscribe((res) => {
26
+ if (!res) {
27
+ this.location.back();
28
+ }
29
+ this.subscriptionPackage = res?.item;
30
+ });
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewComponent, deps: [{ token: i1.SubscriptionPackageService }, { token: i2.ActivatedRoute }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SubscriptionPackageViewComponent, selector: "app-subscription-package-view", ngImport: i0, template: "<div fxLayout=\"column\" class=\"m-4 mat-typography\" fxLayoutGap=\"1rem\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutAlign=\"start center\">\n <h1 class=\"m-0\">Package: {{subscriptionPackage?.title}}</h1>\n </mat-card>\n <div fxLayout fxLayoutGap=\"1rem\">\n <mat-card appearance=\"outlined\" class=\"side-panel\" fxLayout=\"column\" fxLayoutGap=\"0.5rem\">\n <h2 class=\"m-0\">Information</h2>\n <div>\n Title: <span class=\"text-secondary\">{{subscriptionPackage?.title}}</span>\n </div>\n <div>\n Code: <span class=\"text-secondary\">{{subscriptionPackage?.code}}</span>\n </div>\n <div>\n Description: <span class=\"text-secondary\">{{subscriptionPackage?.description}}</span>\n </div>\n <div>\n Tenants: <span class=\"text-secondary\">{{subscriptionPackage?.tenants_count ?? 0}} tenants</span>\n </div>\n </mat-card>\n <div fxFlex>\n <app-subscription-listing class=\"w-100\" [subscriptionPackage]=\"subscriptionPackage\"\n *ngIf=\"subscriptionPackage\"></app-subscription-listing>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SubscriptionListingComponent, selector: "app-subscription-listing", inputs: ["subscriptionPackage"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6.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: i6.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i6.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: i6.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"] }] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'app-subscription-package-view', template: "<div fxLayout=\"column\" class=\"m-4 mat-typography\" fxLayoutGap=\"1rem\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutAlign=\"start center\">\n <h1 class=\"m-0\">Package: {{subscriptionPackage?.title}}</h1>\n </mat-card>\n <div fxLayout fxLayoutGap=\"1rem\">\n <mat-card appearance=\"outlined\" class=\"side-panel\" fxLayout=\"column\" fxLayoutGap=\"0.5rem\">\n <h2 class=\"m-0\">Information</h2>\n <div>\n Title: <span class=\"text-secondary\">{{subscriptionPackage?.title}}</span>\n </div>\n <div>\n Code: <span class=\"text-secondary\">{{subscriptionPackage?.code}}</span>\n </div>\n <div>\n Description: <span class=\"text-secondary\">{{subscriptionPackage?.description}}</span>\n </div>\n <div>\n Tenants: <span class=\"text-secondary\">{{subscriptionPackage?.tenants_count ?? 0}} tenants</span>\n </div>\n </mat-card>\n <div fxFlex>\n <app-subscription-listing class=\"w-100\" [subscriptionPackage]=\"subscriptionPackage\"\n *ngIf=\"subscriptionPackage\"></app-subscription-listing>\n </div>\n </div>\n</div>" }]
38
+ }], ctorParameters: () => [{ type: i1.SubscriptionPackageService }, { type: i2.ActivatedRoute }, { type: i3.Location }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcGFja2FnZS12aWV3L3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy9zdWJzY3JpcHRpb24tcGFja2FnZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUXJDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFJM0MsWUFDVSwwQkFBc0QsRUFDdEQsY0FBOEIsRUFDOUIsUUFBa0I7UUFGbEIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN4QixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUTthQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFO1lBQ25DLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNmLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2pCLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7YUFDRixTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixDQUFDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXpCVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyxxRUNYN0MsMnVDQXlCTTs7NEZEZE8sZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25QYWNrYWdlU2VydmljZSB9IGZyb20gJy4uL3N1YnNjcmlwdGlvbi1wYWNrYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25QYWNrYWdlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgc3Vic2NyaXB0aW9uUGFja2FnZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uUGFja2FnZVNlcnZpY2U6IFN1YnNjcmlwdGlvblBhY2thZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcFxuICAgICAgLnBpcGUoc3dpdGNoTWFwKChwYXJhbXM6IFBhcmFtTWFwKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhY2thZ2VJZCA9IHBhcmFtcy5nZXQoJ2lkJyk7XG4gICAgICAgIGlmICghcGFja2FnZUlkKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uUGFja2FnZVNlcnZpY2Uuc2hvdyhwYWNrYWdlSWQpO1xuICAgICAgfSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAoIXJlcykge1xuICAgICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uUGFja2FnZSA9IHJlcz8uaXRlbTtcbiAgICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm0tNCBtYXQtdHlwb2dyYXBoeVwiIGZ4TGF5b3V0R2FwPVwiMXJlbVwiPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBmeExheW91dCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cIm0tMFwiPlBhY2thZ2U6IHt7c3Vic2NyaXB0aW9uUGFja2FnZT8udGl0bGV9fTwvaDE+XG4gICAgPC9tYXQtY2FyZD5cbiAgICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0R2FwPVwiMXJlbVwiPlxuICAgICAgICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgY2xhc3M9XCJzaWRlLXBhbmVsXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzPVwibS0wXCI+SW5mb3JtYXRpb248L2gyPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICBUaXRsZTogPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7c3Vic2NyaXB0aW9uUGFja2FnZT8udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICBDb2RlOiA8c3BhbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+e3tzdWJzY3JpcHRpb25QYWNrYWdlPy5jb2RlfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgRGVzY3JpcHRpb246IDxzcGFuIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj57e3N1YnNjcmlwdGlvblBhY2thZ2U/LmRlc2NyaXB0aW9ufX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgVGVuYW50czogPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7c3Vic2NyaXB0aW9uUGFja2FnZT8udGVuYW50c19jb3VudCA/PyAwfX0gdGVuYW50czwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8ZGl2IGZ4RmxleD5cbiAgICAgICAgICAgIDxhcHAtc3Vic2NyaXB0aW9uLWxpc3RpbmcgY2xhc3M9XCJ3LTEwMFwiIFtzdWJzY3JpcHRpb25QYWNrYWdlXT1cInN1YnNjcmlwdGlvblBhY2thZ2VcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic3Vic2NyaXB0aW9uUGFja2FnZVwiPjwvYXBwLXN1YnNjcmlwdGlvbi1saXN0aW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SubscriptionPackageViewRoutingModule } from './subscription-package-view-routing.module';
4
+ import { SubscriptionPackageViewComponent } from './subscription-package-view.component';
5
+ import { SubscriptionListingModule } from '../subscription-listing/subscription-listing.module';
6
+ import { MaterialModule } from '../../material.module';
7
+ import { FlexLayoutModule } from '@angular/flex-layout';
8
+ import * as i0 from "@angular/core";
9
+ export class SubscriptionPackageViewModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewModule, declarations: [SubscriptionPackageViewComponent], imports: [CommonModule,
12
+ SubscriptionPackageViewRoutingModule,
13
+ SubscriptionListingModule,
14
+ MaterialModule,
15
+ FlexLayoutModule] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewModule, imports: [CommonModule,
17
+ SubscriptionPackageViewRoutingModule,
18
+ SubscriptionListingModule,
19
+ MaterialModule,
20
+ FlexLayoutModule] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ declarations: [
26
+ SubscriptionPackageViewComponent
27
+ ],
28
+ imports: [
29
+ CommonModule,
30
+ SubscriptionPackageViewRoutingModule,
31
+ SubscriptionListingModule,
32
+ MaterialModule,
33
+ FlexLayoutModule
34
+ ]
35
+ }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcGFja2FnZS12aWV3L3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFleEQsTUFBTSxPQUFPLDZCQUE2QjsrR0FBN0IsNkJBQTZCO2dIQUE3Qiw2QkFBNkIsaUJBVnRDLGdDQUFnQyxhQUdoQyxZQUFZO1lBQ1osb0NBQW9DO1lBQ3BDLHlCQUF5QjtZQUN6QixjQUFjO1lBQ2QsZ0JBQWdCO2dIQUdQLDZCQUE2QixZQVB0QyxZQUFZO1lBQ1osb0NBQW9DO1lBQ3BDLHlCQUF5QjtZQUN6QixjQUFjO1lBQ2QsZ0JBQWdCOzs0RkFHUCw2QkFBNkI7a0JBWnpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdDQUFnQztxQkFDakM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0NBQW9DO3dCQUNwQyx5QkFBeUI7d0JBQ3pCLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb25QYWNrYWdlVmlld1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXctcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uUGFja2FnZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbkxpc3RpbmdNb2R1bGUgfSBmcm9tICcuLi9zdWJzY3JpcHRpb24tbGlzdGluZy9zdWJzY3JpcHRpb24tbGlzdGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTdWJzY3JpcHRpb25QYWNrYWdlVmlld0NvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN1YnNjcmlwdGlvblBhY2thZ2VWaWV3Um91dGluZ01vZHVsZSxcbiAgICBTdWJzY3JpcHRpb25MaXN0aW5nTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25QYWNrYWdlVmlld01vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from '../base-model/techlify-service.class';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../core/http.service";
5
+ export class SubscriptionPackageService extends TechlifyServiceBaseClass {
6
+ constructor(http) {
7
+ super(http, 'subscription-packages');
8
+ }
9
+ toggle(id) {
10
+ return this.http.patch(`api/subscription-packages/toggle/${id}`, {});
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageService, providedIn: 'root' }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageService, decorators: [{
16
+ type: Injectable,
17
+ args: [{
18
+ providedIn: 'root'
19
+ }]
20
+ }], ctorParameters: () => [{ type: i1.HttpService }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wYWNrYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBTWhGLE1BQU0sT0FBTywwQkFBMkIsU0FBUSx3QkFBd0I7SUFFdEUsWUFBWSxJQUFpQjtRQUMzQixLQUFLLENBQUMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQzsrR0FSVSwwQkFBMEI7bUhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIH0gZnJvbSAnLi4vYmFzZS1tb2RlbC90ZWNobGlmeS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25QYWNrYWdlU2VydmljZSBleHRlbmRzIFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB7XG5cbiAgY29uc3RydWN0b3IoaHR0cDogSHR0cFNlcnZpY2UpIHtcbiAgICBzdXBlcihodHRwLCAnc3Vic2NyaXB0aW9uLXBhY2thZ2VzJyk7XG4gIH1cblxuICB0b2dnbGUoaWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2goYGFwaS9zdWJzY3JpcHRpb24tcGFja2FnZXMvdG9nZ2xlLyR7aWR9YCwge30pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export var SubscriptionStatus;
2
+ (function (SubscriptionStatus) {
3
+ SubscriptionStatus[SubscriptionStatus["ACTIVE"] = 1] = "ACTIVE";
4
+ SubscriptionStatus[SubscriptionStatus["INACTIVE"] = 2] = "INACTIVE";
5
+ })(SubscriptionStatus || (SubscriptionStatus = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXN0YXR1cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXN0YXR1cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDMUIsK0RBQVUsQ0FBQTtJQUNWLG1FQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTdWJzY3JpcHRpb25TdGF0dXMge1xuICAgIEFDVElWRSA9IDEsXG4gICAgSU5BQ1RJVkUgPSAyXG59Il19
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map, of, tap } from 'rxjs';
3
+ import { TechlifyServiceBaseClass } from '../base-model/techlify-service.class';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../core/http.service";
6
+ export class SubscriptionService extends TechlifyServiceBaseClass {
7
+ constructor(http) {
8
+ super(http, 'tenant-subscriptions');
9
+ this.subscriptions = [];
10
+ }
11
+ updateStatus(modelId, statusId) {
12
+ return this.http.patch(`api/tenant-subscriptions-status/${modelId}/${statusId}`, {});
13
+ }
14
+ forCurrentClient(reload) {
15
+ if (!reload && this.subscriptions.length > 0) {
16
+ return of(this.subscriptions);
17
+ }
18
+ this.subscriptions = [];
19
+ return this.http.get(`api/tenant-subscriptions-for-current-tenant`)
20
+ .pipe(tap((result) => {
21
+ this.subscriptions = (result?.data || []).map((x) => x?.package?.code);
22
+ }), map((res) => res?.data || []));
23
+ }
24
+ isSubscriptionsExists(subscriptions) {
25
+ return subscriptions.some(item => this.subscriptions.includes(item));
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionService, providedIn: 'root' }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root'
34
+ }]
35
+ }], ctorParameters: () => [{ type: i1.HttpService }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBTWhGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx3QkFBd0I7SUFJL0QsWUFBWSxJQUFpQjtRQUMzQixLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFIL0Isa0JBQWEsR0FBVSxFQUFFLENBQUM7SUFJakMsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFZLEVBQUUsUUFBYTtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxPQUFPLElBQUksUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQVc7UUFDMUIsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUM7YUFDaEUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQ25DLENBQUM7SUFDTixDQUFDO0lBR0QscUJBQXFCLENBQUMsYUFBb0I7UUFDeEMsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOytHQTdCVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBvZiwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3MgfSBmcm9tICcuLi9iYXNlLW1vZGVsL3RlY2hsaWZ5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdGlvblNlcnZpY2UgZXh0ZW5kcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xuXG4gIHB1YmxpYyBzdWJzY3JpcHRpb25zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGh0dHA6IEh0dHBTZXJ2aWNlKSB7XG4gICAgc3VwZXIoaHR0cCwgJ3RlbmFudC1zdWJzY3JpcHRpb25zJyk7XG4gIH1cblxuICB1cGRhdGVTdGF0dXMobW9kZWxJZDogYW55LCBzdGF0dXNJZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaChgYXBpL3RlbmFudC1zdWJzY3JpcHRpb25zLXN0YXR1cy8ke21vZGVsSWR9LyR7c3RhdHVzSWR9YCwge30pO1xuICB9XG5cbiAgZm9yQ3VycmVudENsaWVudChyZWxvYWQ6IGFueSkge1xuICAgIGlmICghcmVsb2FkICYmIHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5zdWJzY3JpcHRpb25zKTtcbiAgICB9XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFwaS90ZW5hbnQtc3Vic2NyaXB0aW9ucy1mb3ItY3VycmVudC10ZW5hbnRgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSAocmVzdWx0Py5kYXRhIHx8IFtdKS5tYXAoKHg6IGFueSkgPT4geD8ucGFja2FnZT8uY29kZSk7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiByZXM/LmRhdGEgfHwgW10pXG4gICAgICApO1xuICB9XG5cblxuICBpc1N1YnNjcmlwdGlvbnNFeGlzdHMoc3Vic2NyaXB0aW9uczogYW55W10pIHtcbiAgICByZXR1cm4gc3Vic2NyaXB0aW9ucy5zb21lKGl0ZW0gPT4gdGhpcy5zdWJzY3JpcHRpb25zLmluY2x1ZGVzKGl0ZW0pKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TechlifySubscriptionDirective } from './techlify-subscription.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class TechlifySubscriptionDirectiveModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifySubscriptionDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifySubscriptionDirectiveModule, declarations: [TechlifySubscriptionDirective], imports: [CommonModule], exports: [TechlifySubscriptionDirective] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifySubscriptionDirectiveModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifySubscriptionDirectiveModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [
14
+ CommonModule,
15
+ ],
16
+ declarations: [TechlifySubscriptionDirective],
17
+ exports: [TechlifySubscriptionDirective]
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktc3Vic2NyaXB0aW9uLWRpcmVjdGl2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3N1YnNjcmlwdGlvbi90ZWNobGlmeS1zdWJzY3JpcHRpb24tZGlyZWN0aXZlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFTbEYsTUFBTSxPQUFPLG1DQUFtQzsrR0FBbkMsbUNBQW1DO2dIQUFuQyxtQ0FBbUMsaUJBSC9CLDZCQUE2QixhQUYxQyxZQUFZLGFBR0osNkJBQTZCO2dIQUU1QixtQ0FBbUMsWUFMNUMsWUFBWTs7NEZBS0gsbUNBQW1DO2tCQVAvQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRlY2hsaWZ5U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi90ZWNobGlmeS1zdWJzY3JpcHRpb24uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbVGVjaGxpZnlTdWJzY3JpcHRpb25EaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbVGVjaGxpZnlTdWJzY3JpcHRpb25EaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5U3Vic2NyaXB0aW9uRGlyZWN0aXZlTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./subscription.service";
4
+ export class TechlifySubscriptionDirective {
5
+ constructor(templateRef, viewContainer, subscriptionService) {
6
+ this.templateRef = templateRef;
7
+ this.viewContainer = viewContainer;
8
+ this.subscriptionService = subscriptionService;
9
+ }
10
+ ngOnInit() {
11
+ this.checkForSubscriptionsEnabled();
12
+ }
13
+ checkForSubscriptionsEnabled() {
14
+ if (this.subscriptionService.isSubscriptionsExists(this.subscriptions)) {
15
+ this.viewContainer.createEmbeddedView(this.templateRef);
16
+ }
17
+ else {
18
+ this.viewContainer.clear();
19
+ }
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifySubscriptionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TechlifySubscriptionDirective, selector: "[ngxHasTechlifySubcription]", inputs: { subscriptions: ["ngxHasTechlifySubcription", "subscriptions"] }, ngImport: i0 }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifySubscriptionDirective, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ selector: '[ngxHasTechlifySubcription]'
28
+ }]
29
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.SubscriptionService }], propDecorators: { subscriptions: [{
30
+ type: Input,
31
+ args: ['ngxHasTechlifySubcription']
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktc3Vic2NyaXB0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvc3Vic2NyaXB0aW9uL3RlY2hsaWZ5LXN1YnNjcmlwdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDOzs7QUFNaEYsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxZQUNVLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLG1CQUF3QztRQUZ4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDOUMsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzsrR0FuQlUsNkJBQTZCO21HQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtpQkFDeEM7aUpBRXFDLGFBQWE7c0JBQWhELEtBQUs7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuL3N1YnNjcmlwdGlvbi5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neEhhc1RlY2hsaWZ5U3ViY3JpcHRpb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnbmd4SGFzVGVjaGxpZnlTdWJjcmlwdGlvbicpIHN1YnNjcmlwdGlvbnM6IGFueVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uU2VydmljZTogU3Vic2NyaXB0aW9uU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tGb3JTdWJzY3JpcHRpb25zRW5hYmxlZCgpO1xuICB9XG5cbiAgY2hlY2tGb3JTdWJzY3JpcHRpb25zRW5hYmxlZCgpIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25TZXJ2aWNlLmlzU3Vic2NyaXB0aW9uc0V4aXN0cyh0aGlzLnN1YnNjcmlwdGlvbnMpKSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -17,6 +17,7 @@ export class TechlifyIconComponent {
17
17
  import: 'fas fa-file-import',
18
18
  export: 'fas fa-file-excel',
19
19
  pdf: 'fas fa-file-pdf',
20
+ history: 'fas fa-clock'
20
21
  };
21
22
  // Map size input to CSS classes
22
23
  this.sizeMap = {
@@ -47,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
47
48
  }], size: [{
48
49
  type: Input
49
50
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LWljb24vdGVjaGxpZnktaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LWljb24vdGVjaGxpZnktaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU9qRCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBTVcsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixTQUFJLEdBQXFDLElBQUksQ0FBQztRQVF2RCxrQkFBa0I7UUFDbEIsbUJBQWMsR0FBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBT3pDLG1DQUFtQztRQUMzQixZQUFPLEdBQTJCO1lBQ3hDLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLElBQUksRUFBRSxZQUFZO1lBQ2xCLElBQUksRUFBRSxZQUFZO1lBQ2xCLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLE1BQU0sRUFBRSxvQkFBb0I7WUFDNUIsTUFBTSxFQUFFLG1CQUFtQjtZQUMzQixHQUFHLEVBQUUsaUJBQWlCO1NBQ3ZCLENBQUM7UUFFRixnQ0FBZ0M7UUFDeEIsWUFBTyxHQUEyQjtZQUN4QyxFQUFFLEVBQUUsT0FBTztZQUNYLEVBQUUsRUFBRSxPQUFPO1lBQ1gsRUFBRSxFQUFFLE9BQU87WUFDWCxFQUFFLEVBQUUsT0FBTztZQUNYLEVBQUUsRUFBRSxPQUFPO1NBQ1osQ0FBQztLQUNIO0lBakNDLElBQUksU0FBUztRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDO1FBQ3JFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFLRCw4QkFBOEI7SUFDOUIsWUFBWSxDQUFDLElBQVk7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDOytHQWhCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixpR0NQbEMsZ1FBUWM7OzRGRERELHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBS3BCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlY2hsaWZ5LWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZWNobGlmeS1pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlJY29uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNpemU6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ21kJztcblxuICBnZXQgaWNvbkNsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBiYXNlQ2xhc3MgPSB0aGlzLmljb25NYXBbdGhpcy5uYW1lXSB8fCAnZmEgZmEtcXVlc3Rpb24tY2lyY2xlJztcbiAgICBjb25zdCBzaXplQ2xhc3MgPSB0aGlzLnNpemVNYXBbdGhpcy5zaXplXSB8fCAnJztcbiAgICByZXR1cm4gW2Jhc2VDbGFzcywgc2l6ZUNsYXNzXTtcbiAgfVxuXG4gIC8vQ3VzdG9tIGljb24gbGlzdFxuICBjdXN0b21JY29uTGlzdDogc3RyaW5nW10gPSBbJ2JhdGNoLWFkZCddO1xuXG4gIC8vTWV0aG9kIHRvIGNoZWNrIGN1c3RvbSBpY29uc1xuICBpc0N1c3RvbUljb24obmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tSWNvbkxpc3QuaW5jbHVkZXMobmFtZSk7XG4gIH1cblxuICAvLyBNYXAgbG9naWNhbCBuYW1lcyB0byBDU1MgY2xhc3Nlc1xuICBwcml2YXRlIGljb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgYWRkOiAnZmFzIGZhLXBsdXMnLFxuICAgIHZpZXc6ICdmYXMgZmEtZXllJyxcbiAgICBlZGl0OiAnZmFzIGZhLXBlbicsXG4gICAgZGVsZXRlOiAnZmFzIGZhLXRyYXNoJyxcbiAgICBpbXBvcnQ6ICdmYXMgZmEtZmlsZS1pbXBvcnQnLFxuICAgIGV4cG9ydDogJ2ZhcyBmYS1maWxlLWV4Y2VsJyxcbiAgICBwZGY6ICdmYXMgZmEtZmlsZS1wZGYnLFxuICB9O1xuXG4gIC8vIE1hcCBzaXplIGlucHV0IHRvIENTUyBjbGFzc2VzXG4gIHByaXZhdGUgc2l6ZU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICB4czogJ2ZhLXhzJyxcbiAgICBzbTogJ2ZhLXNtJyxcbiAgICBtZDogJ2ZhLW1kJyxcbiAgICBsZzogJ2ZhLWxnJyxcbiAgICB4bDogJ2ZhLTJ4J1xuICB9O1xufSIsIjwhLS0gIEN1c3RvbSBpY29uIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ3VzdG9tSWNvbihuYW1lKTsgZWxzZSBmYUljb25cIj5cbiAgICA8YXBwLWN1c3RvbS1pY29uIFtuYW1lXT1cIm5hbWVcIj48L2FwcC1jdXN0b20taWNvbj5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIEZvbnQgQXdlc29tZSAtLT5cbjxuZy10ZW1wbGF0ZSAjZmFJY29uPlxuICAgIDxpIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiPjwvaT5cbjwvbmctdGVtcGxhdGU+Il19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LWljb24vdGVjaGxpZnktaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LWljb24vdGVjaGxpZnktaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU9qRCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBTVcsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixTQUFJLEdBQXFDLElBQUksQ0FBQztRQVF2RCxrQkFBa0I7UUFDbEIsbUJBQWMsR0FBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBT3pDLG1DQUFtQztRQUMzQixZQUFPLEdBQTJCO1lBQ3hDLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLElBQUksRUFBRSxZQUFZO1lBQ2xCLElBQUksRUFBRSxZQUFZO1lBQ2xCLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLE1BQU0sRUFBRSxvQkFBb0I7WUFDNUIsTUFBTSxFQUFFLG1CQUFtQjtZQUMzQixHQUFHLEVBQUUsaUJBQWlCO1lBQ3RCLE9BQU8sRUFBRSxjQUFjO1NBQ3hCLENBQUM7UUFFRixnQ0FBZ0M7UUFDeEIsWUFBTyxHQUEyQjtZQUN4QyxFQUFFLEVBQUUsT0FBTztZQUNYLEVBQUUsRUFBRSxPQUFPO1lBQ1gsRUFBRSxFQUFFLE9BQU87WUFDWCxFQUFFLEVBQUUsT0FBTztZQUNYLEVBQUUsRUFBRSxPQUFPO1NBQ1osQ0FBQztLQUNIO0lBbENDLElBQUksU0FBUztRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDO1FBQ3JFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFLRCw4QkFBOEI7SUFDOUIsWUFBWSxDQUFDLElBQVk7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDOytHQWhCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixpR0NQbEMsZ1FBUWM7OzRGRERELHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBS3BCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlY2hsaWZ5LWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZWNobGlmeS1pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlJY29uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNpemU6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ21kJztcblxuICBnZXQgaWNvbkNsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBiYXNlQ2xhc3MgPSB0aGlzLmljb25NYXBbdGhpcy5uYW1lXSB8fCAnZmEgZmEtcXVlc3Rpb24tY2lyY2xlJztcbiAgICBjb25zdCBzaXplQ2xhc3MgPSB0aGlzLnNpemVNYXBbdGhpcy5zaXplXSB8fCAnJztcbiAgICByZXR1cm4gW2Jhc2VDbGFzcywgc2l6ZUNsYXNzXTtcbiAgfVxuXG4gIC8vQ3VzdG9tIGljb24gbGlzdFxuICBjdXN0b21JY29uTGlzdDogc3RyaW5nW10gPSBbJ2JhdGNoLWFkZCddO1xuXG4gIC8vTWV0aG9kIHRvIGNoZWNrIGN1c3RvbSBpY29uc1xuICBpc0N1c3RvbUljb24obmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tSWNvbkxpc3QuaW5jbHVkZXMobmFtZSk7XG4gIH1cblxuICAvLyBNYXAgbG9naWNhbCBuYW1lcyB0byBDU1MgY2xhc3Nlc1xuICBwcml2YXRlIGljb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgYWRkOiAnZmFzIGZhLXBsdXMnLFxuICAgIHZpZXc6ICdmYXMgZmEtZXllJyxcbiAgICBlZGl0OiAnZmFzIGZhLXBlbicsXG4gICAgZGVsZXRlOiAnZmFzIGZhLXRyYXNoJyxcbiAgICBpbXBvcnQ6ICdmYXMgZmEtZmlsZS1pbXBvcnQnLFxuICAgIGV4cG9ydDogJ2ZhcyBmYS1maWxlLWV4Y2VsJyxcbiAgICBwZGY6ICdmYXMgZmEtZmlsZS1wZGYnLFxuICAgIGhpc3Rvcnk6ICdmYXMgZmEtY2xvY2snXG4gIH07XG5cbiAgLy8gTWFwIHNpemUgaW5wdXQgdG8gQ1NTIGNsYXNzZXNcbiAgcHJpdmF0ZSBzaXplTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHhzOiAnZmEteHMnLFxuICAgIHNtOiAnZmEtc20nLFxuICAgIG1kOiAnZmEtbWQnLFxuICAgIGxnOiAnZmEtbGcnLFxuICAgIHhsOiAnZmEtMngnXG4gIH07XG59IiwiPCEtLSAgQ3VzdG9tIGljb24gLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNDdXN0b21JY29uKG5hbWUpOyBlbHNlIGZhSWNvblwiPlxuICAgIDxhcHAtY3VzdG9tLWljb24gW25hbWVdPVwibmFtZVwiPjwvYXBwLWN1c3RvbS1pY29uPlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gRm9udCBBd2Vzb21lIC0tPlxuPG5nLXRlbXBsYXRlICNmYUljb24+XG4gICAgPGkgW25nQ2xhc3NdPVwiaWNvbkNsYXNzXCI+PC9pPlxuPC9uZy10ZW1wbGF0ZT4iXX0=