ngx-techlify-core 18.33.0 → 18.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +44 -53
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +8 -4
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +3 -3
- package/fesm2022/ngx-techlify-core.mjs +53 -63
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/subscription/subscription-listing/subscription-listing.component.d.ts +4 -10
- package/lib/subscription/subscription-listing/subscription-listing.module.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,35 +1,40 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Component, Input } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
3
|
+
import { UntilDestroy, } from '@ngneat/until-destroy';
|
|
5
4
|
import { SubscriptionStatus } from '../subscription-status.enum';
|
|
6
5
|
import { TechlifyListingControllerInterface } from '../../base-model/techlify-listing-component.class';
|
|
7
6
|
import { ActionPopupComponent } from '../../action-popup';
|
|
7
|
+
import { finalize } from 'rxjs';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "../subscription.service";
|
|
10
10
|
import * as i2 from "@angular/forms";
|
|
11
11
|
import * as i3 from "@angular/material/dialog";
|
|
12
|
-
import * as i4 from "
|
|
13
|
-
import * as i5 from "@angular/
|
|
14
|
-
import * as i6 from "@angular/
|
|
15
|
-
import * as i7 from "@angular/material/
|
|
16
|
-
import * as i8 from "@angular/material/
|
|
17
|
-
import * as i9 from "@angular/material/
|
|
18
|
-
import * as i10 from "@angular/material/
|
|
19
|
-
import * as i11 from "@angular/material/
|
|
20
|
-
import * as i12 from "@angular/material/
|
|
21
|
-
import * as i13 from "@angular/material/
|
|
22
|
-
import * as i14 from "
|
|
23
|
-
import * as i15 from "@angular/
|
|
24
|
-
import * as i16 from "
|
|
12
|
+
import * as i4 from "@angular/common";
|
|
13
|
+
import * as i5 from "@angular/material/button";
|
|
14
|
+
import * as i6 from "@angular/material/form-field";
|
|
15
|
+
import * as i7 from "@angular/material/icon";
|
|
16
|
+
import * as i8 from "@angular/material/input";
|
|
17
|
+
import * as i9 from "@angular/material/core";
|
|
18
|
+
import * as i10 from "@angular/material/select";
|
|
19
|
+
import * as i11 from "@angular/material/sort";
|
|
20
|
+
import * as i12 from "@angular/material/table";
|
|
21
|
+
import * as i13 from "@angular/material/card";
|
|
22
|
+
import * as i14 from "@angular/material/tooltip";
|
|
23
|
+
import * as i15 from "@angular/material/progress-bar";
|
|
24
|
+
import * as i16 from "../../searchable-selector/searchable-selector.component";
|
|
25
|
+
import * as i17 from "../subscription-form/subscription-form.component";
|
|
26
|
+
import * as i18 from "@angular/flex-layout/flex";
|
|
27
|
+
import * as i19 from "ngx-infinite-scroll";
|
|
28
|
+
import * as i20 from "../../timeline-filter/timeline-filter.component";
|
|
25
29
|
let SubscriptionListingComponent = class SubscriptionListingComponent extends TechlifyListingControllerInterface {
|
|
26
|
-
|
|
30
|
+
get isFilterPatchFromRoute() {
|
|
31
|
+
return !this.subscriptionPackage?.id;
|
|
32
|
+
}
|
|
33
|
+
constructor(subscriptionService, fb, dialog) {
|
|
27
34
|
super();
|
|
28
35
|
this.subscriptionService = subscriptionService;
|
|
29
36
|
this.fb = fb;
|
|
30
37
|
this.dialog = dialog;
|
|
31
|
-
this.filterService = filterService;
|
|
32
|
-
this.activatedRoute = activatedRoute;
|
|
33
38
|
this.subscriptionStatus = SubscriptionStatus;
|
|
34
39
|
this.displayedColumns = [
|
|
35
40
|
'index',
|
|
@@ -44,47 +49,38 @@ let SubscriptionListingComponent = class SubscriptionListingComponent extends Te
|
|
|
44
49
|
'status',
|
|
45
50
|
'actions',
|
|
46
51
|
];
|
|
52
|
+
//Configuration for request helper to decode the route params
|
|
53
|
+
this.filterFormConfiguration = {
|
|
54
|
+
package_ids: { multiple: true },
|
|
55
|
+
status_ids: { multiple: true },
|
|
56
|
+
date_from: { date: true },
|
|
57
|
+
date_to: { date: true },
|
|
58
|
+
};
|
|
47
59
|
}
|
|
48
60
|
ngOnInit() {
|
|
49
61
|
if (this.subscriptionPackage) {
|
|
50
62
|
this.displayedColumns = this.displayedColumns.filter((col) => col !== 'package');
|
|
51
63
|
}
|
|
52
|
-
this.
|
|
64
|
+
this.filterForm = this.fb.group({
|
|
53
65
|
search: [''],
|
|
54
66
|
sort_by: [''],
|
|
55
|
-
package_ids: [],
|
|
67
|
+
package_ids: [''],
|
|
56
68
|
date_from: [''],
|
|
57
69
|
date_to: [''],
|
|
58
|
-
status_ids: ['']
|
|
70
|
+
status_ids: [''],
|
|
71
|
+
date_period_id: ['']
|
|
59
72
|
});
|
|
60
|
-
this.
|
|
73
|
+
this.patchFiltersFromRoute();
|
|
61
74
|
this.loadData();
|
|
62
|
-
this.
|
|
63
|
-
}
|
|
64
|
-
listenForChanges() {
|
|
65
|
-
this.filterFormGroup.valueChanges
|
|
66
|
-
.pipe(debounceTime(500), untilDestroyed(this))
|
|
67
|
-
.subscribe((_) => {
|
|
68
|
-
this.filterService.applyFilterToRoute(this.activatedRoute, this.filterFormGroup.value);
|
|
69
|
-
this.reload();
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
patchFilters() {
|
|
73
|
-
let routeFilters = this.filterService.getFiltersFromRoute(this.activatedRoute, this.filterFormGroup.value);
|
|
74
|
-
routeFilters = {
|
|
75
|
-
...routeFilters,
|
|
76
|
-
package_ids: routeFilters?.package_ids ? routeFilters.package_ids.split(',').map(Number) : '',
|
|
77
|
-
status_ids: routeFilters?.status_ids ? routeFilters.status_ids.split(',').map(Number) : '',
|
|
78
|
-
};
|
|
79
|
-
this.filterFormGroup.setValue(routeFilters);
|
|
75
|
+
this.listenFilterChanges();
|
|
80
76
|
}
|
|
81
77
|
loadData() {
|
|
82
78
|
this.isWorking = true;
|
|
83
|
-
const filters = JSON.parse(JSON.stringify(this.
|
|
79
|
+
const filters = JSON.parse(JSON.stringify(this.filterForm.value));
|
|
84
80
|
filters.page = this.page;
|
|
85
81
|
filters.perPage = this.perPage;
|
|
86
|
-
filters.package_ids = this.subscriptionPackage?.id
|
|
87
|
-
filters.status_ids = filters
|
|
82
|
+
filters.package_ids = this.subscriptionPackage?.id || filters?.package_ids?.toString();
|
|
83
|
+
filters.status_ids = filters?.status_ids?.toString();
|
|
88
84
|
this.subscriptionService.index(filters)
|
|
89
85
|
.pipe(finalize(() => this.isWorking = false)).subscribe((res) => {
|
|
90
86
|
this.lastPage = res?.last_page || this.page;
|
|
@@ -93,11 +89,6 @@ let SubscriptionListingComponent = class SubscriptionListingComponent extends Te
|
|
|
93
89
|
}
|
|
94
90
|
});
|
|
95
91
|
}
|
|
96
|
-
sortColumn(event) {
|
|
97
|
-
const direction = event.direction.toString().toUpperCase();
|
|
98
|
-
this.models = [];
|
|
99
|
-
this.filterFormGroup.get('sort_by').setValue(`${event?.active}|${direction}`);
|
|
100
|
-
}
|
|
101
92
|
cancel(model) {
|
|
102
93
|
const dialogRef = this.dialog.open(ActionPopupComponent, {
|
|
103
94
|
width: "400px",
|
|
@@ -120,8 +111,8 @@ let SubscriptionListingComponent = class SubscriptionListingComponent extends Te
|
|
|
120
111
|
}
|
|
121
112
|
});
|
|
122
113
|
}
|
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionListingComponent, deps: [{ token: i1.SubscriptionService }, { token: i2.UntypedFormBuilder }, { token: i3.MatDialog }
|
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SubscriptionListingComponent, selector: "app-subscription-listing", inputs: { subscriptionPackage: "subscriptionPackage" }, usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" class=\"mat-typography\" fxLayoutGap=\"1rem\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutGap=\"0.5rem\" fxLayoutAlign=\"start center\">\n <div fxLayout fxLayoutAlign=\"start center\">\n <h1 class=\"m-0\">{{subscriptionPackage?'Package':'Tenant'}} Subscriptions</h1>\n <app-subscription-form (success)=\"reload()\"\n [subscriptionPackage]=\"subscriptionPackage\"></app-subscription-form>\n </div>\n <div fxFlex>\n </div>\n </mat-card>\n <mat-card appearance=\"outlined\" class=\"p-0\">\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 tenantSubscription; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tenant\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Tenant </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>\n <div>{{tenantSubscription?.tenant?.name }}</div>\n <div><span>{{tenantSubscription?.tenant?.phone }}</span> <span> |\n {{tenantSubscription?.tenant?.email }}</span></div>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"period\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Period </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <span *ngIf=\"tenantSubscription?.started_at\">{{tenantSubscription?.started_at | date:'mediumDate' }}\n -> {{(tenantSubscription?.ended_at | date:'mediumDate') ?? 'NA' }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"package\">\n <th mat-header-cell *matHeaderCellDef> Package </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.package?.title }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef> Status </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.status?.title }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"cost_per_unit\">\n <th mat-header-cell *matHeaderCellDef> Cost/Units </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.cost_per_unit | currency:'USD':'symbol':'1.0-2' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"units\">\n <th mat-header-cell *matHeaderCellDef> Units </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.units | number}}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_unit_limitation_enforced\">\n <th mat-header-cell *matHeaderCellDef> Is Units Limited </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.is_unit_limitation_enforced ? 'Yes' : 'No' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"total\">\n <th mat-header-cell *matHeaderCellDef> Total Cost </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.total | currency:'USD':'symbol':'1.0-2' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_trail\">\n <th mat-header-cell *matHeaderCellDef> Is Trail</th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>\n <div>{{tenantSubscription?.is_trail ? 'Yes' : 'No' }}</div>\n <div *ngIf=\"tenantSubscription?.is_trail\"><span>{{tenantSubscription?.trail_started_at |\n date:'mediumDate' }} -> {{tenantSubscription?.trail_ended_at | date:'mediumDate'\n }}</span></div>\n </div>\n </td>\n </ng-container>\n\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div class=\"text-secondary\" fxLayout>\n <div *ngIf=\"tenantSubscription?.creator_id\">\n <app-subscription-form *ngIf=\"tenantSubscription.status_id == subscriptionStatus.ACTIVE\"\n (success)=\"reload()\" [tenantSubscriptionInfo]=\"tenantSubscription\"\n [subscriptionPackage]=\"subscriptionPackage\"></app-subscription-form>\n <button *ngIf=\"tenantSubscription.status_id == subscriptionStatus.ACTIVE\"\n matTooltip=\"Cancel Subscription\" type=\"button\" mat-icon-button\n (click)=\"cancel(tenantSubscription)\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card>\n</div>", styles: [".add-icon{position:relative;top:5px}.add-icon:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i10.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i10.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i10.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i10.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i10.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i10.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i10.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i10.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i10.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i10.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i14.SubscriptionFormComponent, selector: "app-subscription-form", inputs: ["isUpdate", "subscriptionPackage", "tenantSubscriptionInfo"], outputs: ["success"] }, { kind: "directive", type: i15.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: i15.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: i15.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: i15.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: i16.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "pipe", type: i6.DecimalPipe, name: "number" }, { kind: "pipe", type: i6.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i6.DatePipe, name: "date" }] }); }
|
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionListingComponent, deps: [{ token: i1.SubscriptionService }, { token: i2.UntypedFormBuilder }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SubscriptionListingComponent, selector: "app-subscription-listing", inputs: { subscriptionPackage: "subscriptionPackage" }, usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" class=\"m-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutGap=\"0.5rem\" fxLayoutAlign=\"start center\">\n <div fxLayout fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">{{subscriptionPackage?'Package':'Tenant'}} Subscriptions</h5>\n <app-subscription-form (success)=\"reload()\"\n [subscriptionPackage]=\"subscriptionPackage\"></app-subscription-form>\n </div>\n <div fxFlex>\n </div>\n <form [formGroup]=\"filterForm\" fxLayout=\"row\" fxLayoutGap=\"0.3rem\" class=\"d-print-none\"\n fxLayoutAlign=\"start start\">\n <mat-form-field appearance=\"outline\" class=\" fl-md\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Search Tenant, Details\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterForm.get('search').value\" matSuffix mat-icon-button\n (click)=\"resetFilter('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n\n <mat-form-field class=\" fl-sm\" appearance=\"outline\" *ngIf=\"!subscriptionPackage\">\n <mat-label>Package</mat-label>\n <app-searchable-selector formControlName=\"package_ids\" apiUrl=\"api/subscription-packages\"\n [multiple]=\"true\">\n </app-searchable-selector>\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"filterForm.get('package_ids').value\"\n (click)=\"resetFilter('package_ids')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n\n <app-timeline-filter [showClearButton]=\"true\" [form]=\"filterForm\" appearance=\"outline\"\n formControlName=\"date_period_id\" labelText=\"Start\">\n </app-timeline-filter>\n\n <mat-form-field class=\"fl-sm\" appearance=\"outline\">\n <mat-label>Status</mat-label>\n <mat-select formControlName=\"status_ids\" multiple>\n <mat-option [value]=\"1\">Active</mat-option>\n <mat-option [value]=\"2\">Inactive</mat-option>\n </mat-select>\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"filterForm.get('status_ids').value\"\n (click)=\"resetFilter('status_ids')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n\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 tenantSubscription; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tenant\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Tenant </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>\n <div>{{tenantSubscription?.tenant?.name }}</div>\n <div><span>{{tenantSubscription?.tenant?.phone }}</span> <span> |\n {{tenantSubscription?.tenant?.email }}</span></div>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"period\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Period </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <span *ngIf=\"tenantSubscription?.started_at\">{{tenantSubscription?.started_at | date:'mediumDate' }}\n -> {{(tenantSubscription?.ended_at | date:'mediumDate') ?? 'NA' }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"package\">\n <th mat-header-cell *matHeaderCellDef> Package </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.package?.title }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef> Status </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.status?.title }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"cost_per_unit\">\n <th mat-header-cell *matHeaderCellDef> Cost/Units </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.cost_per_unit | currency:'USD':'symbol':'1.0-2' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"units\">\n <th mat-header-cell *matHeaderCellDef> Units </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.units | number}}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_unit_limitation_enforced\">\n <th mat-header-cell *matHeaderCellDef> Is Units Limited </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.is_unit_limitation_enforced ? 'Yes' : 'No' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"total\">\n <th mat-header-cell *matHeaderCellDef> Total Cost </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.total | currency:'USD':'symbol':'1.0-2' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_trail\">\n <th mat-header-cell *matHeaderCellDef> Is Trail</th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>\n <div>{{tenantSubscription?.is_trail ? 'Yes' : 'No' }}</div>\n <div *ngIf=\"tenantSubscription?.is_trail\"><span>{{tenantSubscription?.trail_started_at |\n date:'mediumDate' }} -> {{tenantSubscription?.trail_ended_at | date:'mediumDate'\n }}</span></div>\n </div>\n </td>\n </ng-container>\n\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div class=\"text-secondary\" fxLayout>\n <div *ngIf=\"tenantSubscription?.creator_id\">\n <app-subscription-form *ngIf=\"tenantSubscription.status_id == subscriptionStatus.ACTIVE\"\n (success)=\"reload()\" [tenantSubscriptionInfo]=\"tenantSubscription\"\n [subscriptionPackage]=\"subscriptionPackage\"></app-subscription-form>\n <button *ngIf=\"tenantSubscription.status_id == subscriptionStatus.ACTIVE\"\n matTooltip=\"Cancel Subscription\" type=\"button\" mat-icon-button\n (click)=\"cancel(tenantSubscription)\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card>\n</div>", styles: [".add-icon{position:relative;top:5px}.add-icon:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: 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.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i17.SubscriptionFormComponent, selector: "app-subscription-form", inputs: ["isUpdate", "subscriptionPackage", "tenantSubscriptionInfo"], outputs: ["success"] }, { kind: "directive", type: i18.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: i18.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: i18.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: i18.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: i19.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: i20.TimelineFilterComponent, selector: "app-timeline-filter", inputs: ["defaultValue", "required", "disabled", "value", "timelines", "dateFrom", "dateTo", "appearance", "showClearButton", "form", "labelText"], outputs: ["selectionChange"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }, { kind: "pipe", type: i4.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i4.DatePipe, name: "date" }] }); }
|
|
125
116
|
};
|
|
126
117
|
SubscriptionListingComponent = __decorate([
|
|
127
118
|
UntilDestroy()
|
|
@@ -129,8 +120,8 @@ SubscriptionListingComponent = __decorate([
|
|
|
129
120
|
export { SubscriptionListingComponent };
|
|
130
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionListingComponent, decorators: [{
|
|
131
122
|
type: Component,
|
|
132
|
-
args: [{ selector: 'app-subscription-listing', template: "<div fxLayout=\"column\" class=\"
|
|
133
|
-
}], ctorParameters: () => [{ type: i1.SubscriptionService }, { type: i2.UntypedFormBuilder }, { type: i3.MatDialog }
|
|
123
|
+
args: [{ selector: 'app-subscription-listing', template: "<div fxLayout=\"column\" class=\"m-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutGap=\"0.5rem\" fxLayoutAlign=\"start center\">\n <div fxLayout fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">{{subscriptionPackage?'Package':'Tenant'}} Subscriptions</h5>\n <app-subscription-form (success)=\"reload()\"\n [subscriptionPackage]=\"subscriptionPackage\"></app-subscription-form>\n </div>\n <div fxFlex>\n </div>\n <form [formGroup]=\"filterForm\" fxLayout=\"row\" fxLayoutGap=\"0.3rem\" class=\"d-print-none\"\n fxLayoutAlign=\"start start\">\n <mat-form-field appearance=\"outline\" class=\" fl-md\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Search Tenant, Details\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterForm.get('search').value\" matSuffix mat-icon-button\n (click)=\"resetFilter('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n\n <mat-form-field class=\" fl-sm\" appearance=\"outline\" *ngIf=\"!subscriptionPackage\">\n <mat-label>Package</mat-label>\n <app-searchable-selector formControlName=\"package_ids\" apiUrl=\"api/subscription-packages\"\n [multiple]=\"true\">\n </app-searchable-selector>\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"filterForm.get('package_ids').value\"\n (click)=\"resetFilter('package_ids')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n\n <app-timeline-filter [showClearButton]=\"true\" [form]=\"filterForm\" appearance=\"outline\"\n formControlName=\"date_period_id\" labelText=\"Start\">\n </app-timeline-filter>\n\n <mat-form-field class=\"fl-sm\" appearance=\"outline\">\n <mat-label>Status</mat-label>\n <mat-select formControlName=\"status_ids\" multiple>\n <mat-option [value]=\"1\">Active</mat-option>\n <mat-option [value]=\"2\">Inactive</mat-option>\n </mat-select>\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"filterForm.get('status_ids').value\"\n (click)=\"resetFilter('status_ids')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n\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 tenantSubscription; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tenant\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Tenant </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>\n <div>{{tenantSubscription?.tenant?.name }}</div>\n <div><span>{{tenantSubscription?.tenant?.phone }}</span> <span> |\n {{tenantSubscription?.tenant?.email }}</span></div>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"period\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Period </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <span *ngIf=\"tenantSubscription?.started_at\">{{tenantSubscription?.started_at | date:'mediumDate' }}\n -> {{(tenantSubscription?.ended_at | date:'mediumDate') ?? 'NA' }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"package\">\n <th mat-header-cell *matHeaderCellDef> Package </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.package?.title }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef> Status </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.status?.title }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"cost_per_unit\">\n <th mat-header-cell *matHeaderCellDef> Cost/Units </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.cost_per_unit | currency:'USD':'symbol':'1.0-2' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"units\">\n <th mat-header-cell *matHeaderCellDef> Units </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.units | number}}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_unit_limitation_enforced\">\n <th mat-header-cell *matHeaderCellDef> Is Units Limited </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.is_unit_limitation_enforced ? 'Yes' : 'No' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"total\">\n <th mat-header-cell *matHeaderCellDef> Total Cost </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>{{tenantSubscription?.total | currency:'USD':'symbol':'1.0-2' }}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_trail\">\n <th mat-header-cell *matHeaderCellDef> Is Trail</th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div>\n <div>{{tenantSubscription?.is_trail ? 'Yes' : 'No' }}</div>\n <div *ngIf=\"tenantSubscription?.is_trail\"><span>{{tenantSubscription?.trail_started_at |\n date:'mediumDate' }} -> {{tenantSubscription?.trail_ended_at | date:'mediumDate'\n }}</span></div>\n </div>\n </td>\n </ng-container>\n\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let tenantSubscription\">\n <div class=\"text-secondary\" fxLayout>\n <div *ngIf=\"tenantSubscription?.creator_id\">\n <app-subscription-form *ngIf=\"tenantSubscription.status_id == subscriptionStatus.ACTIVE\"\n (success)=\"reload()\" [tenantSubscriptionInfo]=\"tenantSubscription\"\n [subscriptionPackage]=\"subscriptionPackage\"></app-subscription-form>\n <button *ngIf=\"tenantSubscription.status_id == subscriptionStatus.ACTIVE\"\n matTooltip=\"Cancel Subscription\" type=\"button\" mat-icon-button\n (click)=\"cancel(tenantSubscription)\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card>\n</div>", styles: [".add-icon{position:relative;top:5px}.add-icon:hover{cursor:pointer}\n"] }]
|
|
124
|
+
}], ctorParameters: () => [{ type: i1.SubscriptionService }, { type: i2.UntypedFormBuilder }, { type: i3.MatDialog }], propDecorators: { subscriptionPackage: [{
|
|
134
125
|
type: Input
|
|
135
126
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLWxpc3Rpbmcvc3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLWxpc3Rpbmcvc3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFdkcsT0FBTyxFQUFlLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFoRSxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE2QixTQUFRLGtDQUFrQztJQXFCbEYsWUFDVSxtQkFBd0MsRUFDeEMsRUFBc0IsRUFDdEIsTUFBaUIsRUFDakIsYUFBNEIsRUFDNUIsY0FBOEI7UUFFdEMsS0FBSyxFQUFFLENBQUM7UUFOQSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsa0JBQWEsR0FBYixh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O2dCQUM1QixPQUFPLEVBQUUsMElBQTBJO2FBQ3BKO1lBQ0QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLEVBQUU7WUFDL0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxrQkFBa0I7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsbUJBQW1CO3FCQUNyQixZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7cUJBQ25ELElBQUksQ0FDSCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FDdkMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDdkIsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQztvQkFDdkMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTFIVSw0QkFBNEI7bUdBQTVCLDRCQUE0QiwrSUNsQnpDLGlwTUFvSE07O0FEbEdPLDRCQUE0QjtJQU54QyxZQUFZLEVBQUU7R0FNRiw0QkFBNEIsQ0E0SHhDOzs0RkE1SFksNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDBCQUEwQjswTUFNM0IsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uU3RhdHVzIH0gZnJvbSAnLi4vc3Vic2NyaXB0aW9uLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdGluZ0NvbnRyb2xsZXJJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9iYXNlLW1vZGVsL3RlY2hsaWZ5LWxpc3RpbmctY29tcG9uZW50LmNsYXNzJztcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2ZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvblBvcHVwLCBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FjdGlvbi1wb3B1cCc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN1YnNjcmlwdGlvbi1saXN0aW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1YnNjcmlwdGlvbi1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25MaXN0aW5nQ29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0aW5nQ29udHJvbGxlckludGVyZmFjZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgc3Vic2NyaXB0aW9uUGFja2FnZTogYW55O1xuXG4gIHN1YnNjcmlwdGlvblN0YXR1cyA9IFN1YnNjcmlwdGlvblN0YXR1cztcblxuICBmaWx0ZXJGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdpbmRleCcsXG4gICAgJ3RlbmFudCcsXG4gICAgJ3BhY2thZ2UnLFxuICAgICdwZXJpb2QnLFxuICAgICdjb3N0X3Blcl91bml0JyxcbiAgICAndW5pdHMnLFxuICAgICdpc191bml0X2xpbWl0YXRpb25fZW5mb3JjZWQnLFxuICAgICd0b3RhbCcsXG4gICAgJ2lzX3RyYWlsJyxcbiAgICAnc3RhdHVzJyxcbiAgICAnYWN0aW9ucycsXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25TZXJ2aWNlOiBTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uUGFja2FnZSkge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmZpbHRlcigoY29sOiBhbnkpID0+IGNvbCAhPT0gJ3BhY2thZ2UnKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNlYXJjaDogWycnXSxcbiAgICAgIHNvcnRfYnk6IFsnJ10sXG4gICAgICBwYWNrYWdlX2lkczogW10sXG4gICAgICBkYXRlX2Zyb206IFsnJ10sXG4gICAgICBkYXRlX3RvOiBbJyddLFxuICAgICAgc3RhdHVzX2lkczogWycnXVxuICAgIH0pO1xuICAgIHRoaXMucGF0Y2hGaWx0ZXJzKCk7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIHRoaXMubGlzdGVuRm9yQ2hhbmdlcygpO1xuICB9XG5cbiAgbGlzdGVuRm9yQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmFwcGx5RmlsdGVyVG9Sb3V0ZShcbiAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHBhdGNoRmlsdGVycygpIHtcbiAgICBsZXQgcm91dGVGaWx0ZXJzID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlcnNGcm9tUm91dGUoXG4gICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWVcbiAgICApO1xuICAgIHJvdXRlRmlsdGVycyA9IHtcbiAgICAgIC4uLnJvdXRlRmlsdGVycyxcbiAgICAgIHBhY2thZ2VfaWRzOiByb3V0ZUZpbHRlcnM/LnBhY2thZ2VfaWRzID8gcm91dGVGaWx0ZXJzLnBhY2thZ2VfaWRzLnNwbGl0KCcsJykubWFwKE51bWJlcikgOiAnJyxcbiAgICAgIHN0YXR1c19pZHM6IHJvdXRlRmlsdGVycz8uc3RhdHVzX2lkcyA/IHJvdXRlRmlsdGVycy5zdGF0dXNfaWRzLnNwbGl0KCcsJykubWFwKE51bWJlcikgOiAnJyxcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuc2V0VmFsdWUocm91dGVGaWx0ZXJzKTtcbiAgfVxuXG4gIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZSkpO1xuICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICBmaWx0ZXJzLnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgZmlsdGVycy5wYWNrYWdlX2lkcyA9IHRoaXMuc3Vic2NyaXB0aW9uUGFja2FnZT8uaWQgPz8gZmlsdGVycy5wYWNrYWdlX2lkcy50b1N0cmluZygpO1xuICAgIGZpbHRlcnMuc3RhdHVzX2lkcyA9IGZpbHRlcnMuc3RhdHVzX2lkcy50b1N0cmluZygpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uU2VydmljZS5pbmRleChmaWx0ZXJzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2UpXG4gICAgICApLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlcz8ubGFzdF9wYWdlIHx8IHRoaXMucGFnZTtcbiAgICAgICAgaWYgKHJlcz8uZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5tb2RlbHMgPSB0aGlzLm1vZGVscy5jb25jYXQocmVzLmRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNvcnRDb2x1bW4oZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGRpcmVjdGlvbiA9IGV2ZW50LmRpcmVjdGlvbi50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk7XG4gICAgdGhpcy5tb2RlbHMgPSBbXTtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoJ3NvcnRfYnknKS5zZXRWYWx1ZShgJHtldmVudD8uYWN0aXZlfXwke2RpcmVjdGlvbn1gKTtcbiAgfVxuXG4gIGNhbmNlbChtb2RlbDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IFwiNDAwcHhcIixcbiAgICAgIGRhdGE6IDxBY3Rpb25Qb3B1cD57XG4gICAgICAgIHRpdGxlOiBcIkNhbmNlbCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgbWVzc2FnZTogYENhbmNlbGxpbmcgdGhpcyBzdWJzY3JpcHRpb24gbWVhbnMgdGhpcyB0ZW5hbnQgd291bGQgbm8gbG9uZ2VyIGhhdmUgYWNjZXNzIHRvIHRoZSBzcGVjaWZpZWQgZmVhdHVyZXMsIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT9gXG4gICAgICB9LFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uU2VydmljZVxuICAgICAgICAgIC51cGRhdGVTdGF0dXMobW9kZWwuaWQsIFN1YnNjcmlwdGlvblN0YXR1cy5JTkFDVElWRSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2UpXG4gICAgICAgICAgKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICBtb2RlbC5zdGF0dXNfaWQgPSByZXM/Lml0ZW0/LnN0YXR1c19pZDtcbiAgICAgICAgICAgIG1vZGVsLnN0YXR1cyA9IHJlcz8uaXRlbT8uc3RhdHVzO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCIgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XG4gICAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGZ4TGF5b3V0IGZ4TGF5b3V0R2FwPVwiMC41cmVtXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cIm0tMFwiPnt7c3Vic2NyaXB0aW9uUGFja2FnZT8nUGFja2FnZSc6J1RlbmFudCd9fSBTdWJzY3JpcHRpb25zPC9oMT5cbiAgICAgICAgICAgIDxhcHAtc3Vic2NyaXB0aW9uLWZvcm0gKHN1Y2Nlc3MpPVwicmVsb2FkKClcIlxuICAgICAgICAgICAgICAgIFtzdWJzY3JpcHRpb25QYWNrYWdlXT1cInN1YnNjcmlwdGlvblBhY2thZ2VcIj48L2FwcC1zdWJzY3JpcHRpb24tZm9ybT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cInAtMFwiPlxuICAgICAgICA8dGFibGUgbWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwibW9kZWxzXCIgY2xhc3M9XCJ3LTEwMFwiIGluZmluaXRlU2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIlxuICAgICAgICAgICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiIChtYXRTb3J0Q2hhbmdlKT1cInNvcnRDb2x1bW4oJGV2ZW50KVwiPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImluZGV4XCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb247IGxldCBpID0gaW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0ZW5hbnRcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBkaXNhYmxlQ2xlYXI+IFRlbmFudCA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3t0ZW5hbnRTdWJzY3JpcHRpb24/LnRlbmFudD8ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48c3Bhbj57e3RlbmFudFN1YnNjcmlwdGlvbj8udGVuYW50Py5waG9uZSB9fTwvc3Bhbj4gPHNwYW4+IHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0ZW5hbnRTdWJzY3JpcHRpb24/LnRlbmFudD8uZW1haWwgfX08L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJwZXJpb2RcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBkaXNhYmxlQ2xlYXI+IFBlcmlvZCA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0ZW5hbnRTdWJzY3JpcHRpb24/LnN0YXJ0ZWRfYXRcIj57e3RlbmFudFN1YnNjcmlwdGlvbj8uc3RhcnRlZF9hdCB8IGRhdGU6J21lZGl1bURhdGUnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAtPiB7eyh0ZW5hbnRTdWJzY3JpcHRpb24/LmVuZGVkX2F0IHwgZGF0ZTonbWVkaXVtRGF0ZScpID8/ICdOQScgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInBhY2thZ2VcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBQYWNrYWdlIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dGVuYW50U3Vic2NyaXB0aW9uPy5wYWNrYWdlPy50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBTdGF0dXMgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdGVuYW50U3Vic2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t0ZW5hbnRTdWJzY3JpcHRpb24/LnN0YXR1cz8udGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY29zdF9wZXJfdW5pdFwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IENvc3QvVW5pdHMgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdGVuYW50U3Vic2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t0ZW5hbnRTdWJzY3JpcHRpb24/LmNvc3RfcGVyX3VuaXQgfCBjdXJyZW5jeTonVVNEJzonc3ltYm9sJzonMS4wLTInIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVuaXRzXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVW5pdHMgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdGVuYW50U3Vic2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t0ZW5hbnRTdWJzY3JpcHRpb24/LnVuaXRzIHwgbnVtYmVyfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNfdW5pdF9saW1pdGF0aW9uX2VuZm9yY2VkXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gSXMgVW5pdHMgTGltaXRlZCA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3RlbmFudFN1YnNjcmlwdGlvbj8uaXNfdW5pdF9saW1pdGF0aW9uX2VuZm9yY2VkID8gJ1llcycgOiAnTm8nIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRvdGFsXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVG90YWwgQ29zdCA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3RlbmFudFN1YnNjcmlwdGlvbj8udG90YWwgfCBjdXJyZW5jeTonVVNEJzonc3ltYm9sJzonMS4wLTInIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzX3RyYWlsXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gSXMgVHJhaWw8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3t0ZW5hbnRTdWJzY3JpcHRpb24/LmlzX3RyYWlsID8gJ1llcycgOiAnTm8nIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGVuYW50U3Vic2NyaXB0aW9uPy5pc190cmFpbFwiPjxzcGFuPnt7dGVuYW50U3Vic2NyaXB0aW9uPy50cmFpbF9zdGFydGVkX2F0IHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZTonbWVkaXVtRGF0ZScgfX0gLT4ge3t0ZW5hbnRTdWJzY3JpcHRpb24/LnRyYWlsX2VuZGVkX2F0IHwgZGF0ZTonbWVkaXVtRGF0ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb25zIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIiBmeExheW91dD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0ZW5hbnRTdWJzY3JpcHRpb24/LmNyZWF0b3JfaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXN1YnNjcmlwdGlvbi1mb3JtICpuZ0lmPVwidGVuYW50U3Vic2NyaXB0aW9uLnN0YXR1c19pZCA9PSBzdWJzY3JpcHRpb25TdGF0dXMuQUNUSVZFXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1Y2Nlc3MpPVwicmVsb2FkKClcIiBbdGVuYW50U3Vic2NyaXB0aW9uSW5mb109XCJ0ZW5hbnRTdWJzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3Vic2NyaXB0aW9uUGFja2FnZV09XCJzdWJzY3JpcHRpb25QYWNrYWdlXCI+PC9hcHAtc3Vic2NyaXB0aW9uLWZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRlbmFudFN1YnNjcmlwdGlvbi5zdGF0dXNfaWQgPT0gc3Vic2NyaXB0aW9uU3RhdHVzLkFDVElWRVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJDYW5jZWwgU3Vic2NyaXB0aW9uXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKHRlbmFudFN1YnNjcmlwdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzV29ya2luZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICA8L21hdC1jYXJkPlxuPC9kaXY+Il19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLWxpc3Rpbmcvc3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLWxpc3Rpbmcvc3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RyxPQUFPLEVBQWUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXpCLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTZCLFNBQVEsa0NBQWtDO0lBMkJsRixJQUFJLHNCQUFzQjtRQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBR0QsWUFDVSxtQkFBd0MsRUFDeEMsRUFBc0IsRUFDdEIsTUFBaUI7UUFFekIsS0FBSyxFQUFFLENBQUM7UUFKQSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLFdB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b20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJy4uL3N1YnNjcmlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblN0YXR1cyB9IGZyb20gJy4uL3N1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBUZWNobGlmeUxpc3RpbmdDb250cm9sbGVySW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vYmFzZS1tb2RlbC90ZWNobGlmeS1saXN0aW5nLWNvbXBvbmVudC5jbGFzcyc7XG5pbXBvcnQgeyBBY3Rpb25Qb3B1cCwgQWN0aW9uUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb24tcG9wdXAnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3Vic2NyaXB0aW9uLWxpc3RpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Vic2NyaXB0aW9uLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdWJzY3JpcHRpb24tbGlzdGluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdGlvbkxpc3RpbmdDb21wb25lbnQgZXh0ZW5kcyBUZWNobGlmeUxpc3RpbmdDb250cm9sbGVySW50ZXJmYWNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBzdWJzY3JpcHRpb25QYWNrYWdlOiBhbnk7XG5cbiAgc3Vic2NyaXB0aW9uU3RhdHVzID0gU3Vic2NyaXB0aW9uU3RhdHVzO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICd0ZW5hbnQnLFxuICAgICdwYWNrYWdlJyxcbiAgICAncGVyaW9kJyxcbiAgICAnY29zdF9wZXJfdW5pdCcsXG4gICAgJ3VuaXRzJyxcbiAgICAnaXNfdW5pdF9saW1pdGF0aW9uX2VuZm9yY2VkJyxcbiAgICAndG90YWwnLFxuICAgICdpc190cmFpbCcsXG4gICAgJ3N0YXR1cycsXG4gICAgJ2FjdGlvbnMnLFxuICBdO1xuXG4gIC8vQ29uZmlndXJhdGlvbiBmb3IgcmVxdWVzdCBoZWxwZXIgdG8gZGVjb2RlIHRoZSByb3V0ZSBwYXJhbXNcbiAgZmlsdGVyRm9ybUNvbmZpZ3VyYXRpb246IGFueSA9IHtcbiAgICBwYWNrYWdlX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIHN0YXR1c19pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICBkYXRlX2Zyb206IHsgZGF0ZTogdHJ1ZSB9LFxuICAgIGRhdGVfdG86IHsgZGF0ZTogdHJ1ZSB9LFxuICB9XG5cbiAgZ2V0IGlzRmlsdGVyUGF0Y2hGcm9tUm91dGUoKSB7XG4gICAgcmV0dXJuICF0aGlzLnN1YnNjcmlwdGlvblBhY2thZ2U/LmlkO1xuICB9XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvblNlcnZpY2U6IFN1YnNjcmlwdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvblBhY2thZ2UpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5maWx0ZXIoKGNvbDogYW55KSA9PiBjb2wgIT09ICdwYWNrYWdlJyk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgc29ydF9ieTogWycnXSxcbiAgICAgIHBhY2thZ2VfaWRzOiBbJyddLFxuICAgICAgZGF0ZV9mcm9tOiBbJyddLFxuICAgICAgZGF0ZV90bzogWycnXSxcbiAgICAgIHN0YXR1c19pZHM6IFsnJ10sXG4gICAgICBkYXRlX3BlcmlvZF9pZDogWycnXVxuICAgIH0pO1xuICAgIHRoaXMucGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCk7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIHRoaXMubGlzdGVuRmlsdGVyQ2hhbmdlcygpO1xuICB9XG5cbiAgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGZpbHRlcnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyRm9ybS52YWx1ZSkpO1xuICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICBmaWx0ZXJzLnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgZmlsdGVycy5wYWNrYWdlX2lkcyA9IHRoaXMuc3Vic2NyaXB0aW9uUGFja2FnZT8uaWQgfHwgZmlsdGVycz8ucGFja2FnZV9pZHM/LnRvU3RyaW5nKCk7XG4gICAgZmlsdGVycy5zdGF0dXNfaWRzID0gZmlsdGVycz8uc3RhdHVzX2lkcz8udG9TdHJpbmcoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvblNlcnZpY2UuaW5kZXgoZmlsdGVycylcbiAgICAgIC5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlKVxuICAgICAgKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubGFzdFBhZ2UgPSByZXM/Lmxhc3RfcGFnZSB8fCB0aGlzLnBhZ2U7XG4gICAgICAgIGlmIChyZXM/LmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHMuY29uY2F0KHJlcy5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuXG4gIGNhbmNlbChtb2RlbDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IFwiNDAwcHhcIixcbiAgICAgIGRhdGE6IDxBY3Rpb25Qb3B1cD57XG4gICAgICAgIHRpdGxlOiBcIkNhbmNlbCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgbWVzc2FnZTogYENhbmNlbGxpbmcgdGhpcyBzdWJzY3JpcHRpb24gbWVhbnMgdGhpcyB0ZW5hbnQgd291bGQgbm8gbG9uZ2VyIGhhdmUgYWNjZXNzIHRvIHRoZSBzcGVjaWZpZWQgZmVhdHVyZXMsIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT9gXG4gICAgICB9LFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uU2VydmljZVxuICAgICAgICAgIC51cGRhdGVTdGF0dXMobW9kZWwuaWQsIFN1YnNjcmlwdGlvblN0YXR1cy5JTkFDVElWRSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2UpXG4gICAgICAgICAgKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICBtb2RlbC5zdGF0dXNfaWQgPSByZXM/Lml0ZW0/LnN0YXR1c19pZDtcbiAgICAgICAgICAgIG1vZGVsLnN0YXR1cyA9IHJlcz8uaXRlbT8uc3RhdHVzO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm0tMlwiPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBmeExheW91dCBmeExheW91dEdhcD1cIjAuNXJlbVwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgPGRpdiBmeExheW91dCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJtLTBcIj57e3N1YnNjcmlwdGlvblBhY2thZ2U/J1BhY2thZ2UnOidUZW5hbnQnfX0gU3Vic2NyaXB0aW9uczwvaDU+XG4gICAgICAgICAgICA8YXBwLXN1YnNjcmlwdGlvbi1mb3JtIChzdWNjZXNzKT1cInJlbG9hZCgpXCJcbiAgICAgICAgICAgICAgICBbc3Vic2NyaXB0aW9uUGFja2FnZV09XCJzdWJzY3JpcHRpb25QYWNrYWdlXCI+PC9hcHAtc3Vic2NyaXB0aW9uLWZvcm0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIwLjNyZW1cIiBjbGFzcz1cImQtcHJpbnQtbm9uZVwiXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwic3RhcnQgc3RhcnRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiIGZsLW1kXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TZWFyY2g8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBUZW5hbnQsIERldGFpbHNcIlxuICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJmaWx0ZXJGb3JtLmdldCgnc2VhcmNoJykudmFsdWVcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldEZpbHRlcignc2VhcmNoJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cblxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiIGZsLXNtXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiAqbmdJZj1cIiFzdWJzY3JpcHRpb25QYWNrYWdlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5QYWNrYWdlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInBhY2thZ2VfaWRzXCIgYXBpVXJsPVwiYXBpL3N1YnNjcmlwdGlvbi1wYWNrYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiZmlsdGVyRm9ybS5nZXQoJ3BhY2thZ2VfaWRzJykudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXRGaWx0ZXIoJ3BhY2thZ2VfaWRzJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgIDxhcHAtdGltZWxpbmUtZmlsdGVyIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiIFtmb3JtXT1cImZpbHRlckZvcm1cIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZV9wZXJpb2RfaWRcIiBsYWJlbFRleHQ9XCJTdGFydFwiPlxuICAgICAgICAgICAgPC9hcHAtdGltZWxpbmUtZmlsdGVyPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbC1zbVwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TdGF0dXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNfaWRzXCIgbXVsdGlwbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCIxXCI+QWN0aXZlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiMlwiPkluYWN0aXZlPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiZmlsdGVyRm9ybS5nZXQoJ3N0YXR1c19pZHMnKS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldEZpbHRlcignc3RhdHVzX2lkcycpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDwvZm9ybT5cbiAgICA8L21hdC1jYXJkPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cInAtMCBtdC0yXCI+XG4gICAgICAgIDx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBjbGFzcz1cInctMTAwXCIgaW5maW5pdGVTY3JvbGwgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiXG4gICAgICAgICAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCIgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENvbHVtbigkZXZlbnQpXCI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvbjsgbGV0IGkgPSBpbmRleFwiPiB7eyBpKzEgfX0gPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRlbmFudFwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGRpc2FibGVDbGVhcj4gVGVuYW50IDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57e3RlbmFudFN1YnNjcmlwdGlvbj8udGVuYW50Py5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjxzcGFuPnt7dGVuYW50U3Vic2NyaXB0aW9uPy50ZW5hbnQ/LnBob25lIH19PC9zcGFuPiA8c3Bhbj4gfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RlbmFudFN1YnNjcmlwdGlvbj8udGVuYW50Py5lbWFpbCB9fTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInBlcmlvZFwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGRpc2FibGVDbGVhcj4gUGVyaW9kIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRlbmFudFN1YnNjcmlwdGlvbj8uc3RhcnRlZF9hdFwiPnt7dGVuYW50U3Vic2NyaXB0aW9uPy5zdGFydGVkX2F0IHwgZGF0ZTonbWVkaXVtRGF0ZScgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC0+IHt7KHRlbmFudFN1YnNjcmlwdGlvbj8uZW5kZWRfYXQgfCBkYXRlOidtZWRpdW1EYXRlJykgPz8gJ05BJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicGFja2FnZVwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFBhY2thZ2UgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdGVuYW50U3Vic2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t0ZW5hbnRTdWJzY3JpcHRpb24/LnBhY2thZ2U/LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInN0YXR1c1wiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFN0YXR1cyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3RlbmFudFN1YnNjcmlwdGlvbj8uc3RhdHVzPy50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjb3N0X3Blcl91bml0XCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQ29zdC9Vbml0cyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3RlbmFudFN1YnNjcmlwdGlvbj8uY29zdF9wZXJfdW5pdCB8IGN1cnJlbmN5OidVU0QnOidzeW1ib2wnOicxLjAtMicgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidW5pdHNcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBVbml0cyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB0ZW5hbnRTdWJzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3RlbmFudFN1YnNjcmlwdGlvbj8udW5pdHMgfCBudW1iZXJ9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpc191bml0X2xpbWl0YXRpb25fZW5mb3JjZWRcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBJcyBVbml0cyBMaW1pdGVkIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dGVuYW50U3Vic2NyaXB0aW9uPy5pc191bml0X2xpbWl0YXRpb25fZW5mb3JjZWQgPyAnWWVzJyA6ICdObycgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidG90YWxcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBUb3RhbCBDb3N0IDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dGVuYW50U3Vic2NyaXB0aW9uPy50b3RhbCB8IGN1cnJlbmN5OidVU0QnOidzeW1ib2wnOicxLjAtMicgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNfdHJhaWxcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBJcyBUcmFpbDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHRlbmFudFN1YnNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57e3RlbmFudFN1YnNjcmlwdGlvbj8uaXNfdHJhaWwgPyAnWWVzJyA6ICdObycgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0ZW5hbnRTdWJzY3JpcHRpb24/LmlzX3RyYWlsXCI+PHNwYW4+e3t0ZW5hbnRTdWJzY3JpcHRpb24/LnRyYWlsX3N0YXJ0ZWRfYXQgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlOidtZWRpdW1EYXRlJyB9fSAtPiB7e3RlbmFudFN1YnNjcmlwdGlvbj8udHJhaWxfZW5kZWRfYXQgfCBkYXRlOidtZWRpdW1EYXRlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdGVuYW50U3Vic2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiIGZ4TGF5b3V0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRlbmFudFN1YnNjcmlwdGlvbj8uY3JlYXRvcl9pZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtc3Vic2NyaXB0aW9uLWZvcm0gKm5nSWY9XCJ0ZW5hbnRTdWJzY3JpcHRpb24uc3RhdHVzX2lkID09IHN1YnNjcmlwdGlvblN0YXR1cy5BQ1RJVkVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3VjY2Vzcyk9XCJyZWxvYWQoKVwiIFt0ZW5hbnRTdWJzY3JpcHRpb25JbmZvXT1cInRlbmFudFN1YnNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJzY3JpcHRpb25QYWNrYWdlXT1cInN1YnNjcmlwdGlvblBhY2thZ2VcIj48L2FwcC1zdWJzY3JpcHRpb24tZm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGVuYW50U3Vic2NyaXB0aW9uLnN0YXR1c19pZCA9PSBzdWJzY3JpcHRpb25TdGF0dXMuQUNUSVZFXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkNhbmNlbCBTdWJzY3JpcHRpb25cIiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwodGVuYW50U3Vic2NyaXB0aW9uKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNXb3JraW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvbWF0LWNhcmQ+XG48L2Rpdj4iXX0=
|
|
@@ -8,6 +8,7 @@ import { SearchableSelectorModule } from '../../searchable-selector/searchable-s
|
|
|
8
8
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
9
9
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
10
10
|
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
11
|
+
import { TimelineFilterModule } from '../../timeline-filter/timeline-filter.module';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export class SubscriptionListingModule {
|
|
13
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionListingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -19,7 +20,8 @@ export class SubscriptionListingModule {
|
|
|
19
20
|
SubscriptionFormModule,
|
|
20
21
|
SearchableSelectorModule,
|
|
21
22
|
FlexLayoutModule,
|
|
22
|
-
InfiniteScrollModule
|
|
23
|
+
InfiniteScrollModule,
|
|
24
|
+
TimelineFilterModule], exports: [SubscriptionListingComponent] }); }
|
|
23
25
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionListingModule, imports: [CommonModule,
|
|
24
26
|
SubscriptionListingRoutingModule,
|
|
25
27
|
MaterialModule,
|
|
@@ -28,7 +30,8 @@ export class SubscriptionListingModule {
|
|
|
28
30
|
SubscriptionFormModule,
|
|
29
31
|
SearchableSelectorModule,
|
|
30
32
|
FlexLayoutModule,
|
|
31
|
-
InfiniteScrollModule
|
|
33
|
+
InfiniteScrollModule,
|
|
34
|
+
TimelineFilterModule] }); }
|
|
32
35
|
}
|
|
33
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionListingModule, decorators: [{
|
|
34
37
|
type: NgModule,
|
|
@@ -45,9 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
45
48
|
SubscriptionFormModule,
|
|
46
49
|
SearchableSelectorModule,
|
|
47
50
|
FlexLayoutModule,
|
|
48
|
-
InfiniteScrollModule
|
|
51
|
+
InfiniteScrollModule,
|
|
52
|
+
TimelineFilterModule
|
|
49
53
|
],
|
|
50
54
|
exports: [SubscriptionListingComponent]
|
|
51
55
|
}]
|
|
52
56
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLWxpc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLWxpc3Rpbmcvc3Vic2NyaXB0aW9uLWxpc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFvQnBGLE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGlCQWhCbEMsNEJBQTRCLGFBRzVCLFlBQVk7WUFDWixnQ0FBZ0M7WUFDaEMsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4QixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLG9CQUFvQixhQUVaLDRCQUE0QjtnSEFFM0IseUJBQXlCLFlBYmxDLFlBQVk7WUFDWixnQ0FBZ0M7WUFDaEMsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4QixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjs7NEZBSVgseUJBQXlCO2tCQWxCckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQ0FBZ0M7d0JBQ2hDLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uTGlzdGluZ1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3N1YnNjcmlwdGlvbi1saXN0aW5nLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbkxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuL3N1YnNjcmlwdGlvbi1saXN0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25Gb3JtTW9kdWxlIH0gZnJvbSAnLi4vc3Vic2NyaXB0aW9uLWZvcm0vc3Vic2NyaXB0aW9uLWZvcm0ubW9kdWxlJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4uLy4uL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgVGltZWxpbmVGaWx0ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi90aW1lbGluZS1maWx0ZXIvdGltZWxpbmUtZmlsdGVyLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFN1YnNjcmlwdGlvbkxpc3RpbmdDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTdWJzY3JpcHRpb25MaXN0aW5nUm91dGluZ01vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTdWJzY3JpcHRpb25Gb3JtTW9kdWxlLFxuICAgIFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIFRpbWVsaW5lRmlsdGVyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtTdWJzY3JpcHRpb25MaXN0aW5nQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25MaXN0aW5nTW9kdWxlIHsgfVxuIl19
|
package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs
CHANGED
|
@@ -30,10 +30,10 @@ export class SubscriptionPackageViewComponent {
|
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
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-
|
|
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-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">Package: {{subscriptionPackage?.title}}</h5>\n </mat-card>\n <div fxLayout>\n <mat-card appearance=\"outlined\" class=\"side-panel mt-2\" fxLayout=\"column\" fxLayoutGap=\"0.5rem\">\n <h5>Information</h5>\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 class=\"ml-2\">\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
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubscriptionPackageViewComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
|
-
args: [{ selector: 'app-subscription-package-view', template: "<div fxLayout=\"column\" class=\"m-
|
|
37
|
+
args: [{ selector: 'app-subscription-package-view', template: "<div fxLayout=\"column\" class=\"m-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">Package: {{subscriptionPackage?.title}}</h5>\n </mat-card>\n <div fxLayout>\n <mat-card appearance=\"outlined\" class=\"side-panel mt-2\" fxLayout=\"column\" fxLayoutGap=\"0.5rem\">\n <h5>Information</h5>\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 class=\"ml-2\">\n <app-subscription-listing class=\"w-100\" [subscriptionPackage]=\"subscriptionPackage\"\n *ngIf=\"subscriptionPackage\"></app-subscription-listing>\n </div>\n </div>\n</div>" }]
|
|
38
38
|
}], ctorParameters: () => [{ type: i1.SubscriptionPackageService }, { type: i2.ActivatedRoute }, { type: i3.Location }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcGFja2FnZS12aWV3L3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy9zdWJzY3JpcHRpb24tcGFja2FnZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUXJDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFJM0MsWUFDVSwwQkFBc0QsRUFDdEQsY0FBOEIsRUFDOUIsUUFBa0I7UUFGbEIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN4QixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUTthQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFO1lBQ25DLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNmLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2pCLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7YUFDRixTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixDQUFDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXpCVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyxxRUNYN0Msd3JDQXlCTTs7NEZEZE8sZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25QYWNrYWdlU2VydmljZSB9IGZyb20gJy4uL3N1YnNjcmlwdGlvbi1wYWNrYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Vic2NyaXB0aW9uLXBhY2thZ2Utdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1YnNjcmlwdGlvbi1wYWNrYWdlLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25QYWNrYWdlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgc3Vic2NyaXB0aW9uUGFja2FnZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uUGFja2FnZVNlcnZpY2U6IFN1YnNjcmlwdGlvblBhY2thZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcFxuICAgICAgLnBpcGUoc3dpdGNoTWFwKChwYXJhbXM6IFBhcmFtTWFwKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhY2thZ2VJZCA9IHBhcmFtcy5nZXQoJ2lkJyk7XG4gICAgICAgIGlmICghcGFja2FnZUlkKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uUGFja2FnZVNlcnZpY2Uuc2hvdyhwYWNrYWdlSWQpO1xuICAgICAgfSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAoIXJlcykge1xuICAgICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uUGFja2FnZSA9IHJlcz8uaXRlbTtcbiAgICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm0tMlwiPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBmeExheW91dCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgIDxoNSBjbGFzcz1cIm0tMFwiPlBhY2thZ2U6IHt7c3Vic2NyaXB0aW9uUGFja2FnZT8udGl0bGV9fTwvaDU+XG4gICAgPC9tYXQtY2FyZD5cbiAgICA8ZGl2IGZ4TGF5b3V0PlxuICAgICAgICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgY2xhc3M9XCJzaWRlLXBhbmVsIG10LTJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XG4gICAgICAgICAgICA8aDU+SW5mb3JtYXRpb248L2g1PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICBUaXRsZTogPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7c3Vic2NyaXB0aW9uUGFja2FnZT8udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICBDb2RlOiA8c3BhbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+e3tzdWJzY3JpcHRpb25QYWNrYWdlPy5jb2RlfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgRGVzY3JpcHRpb246IDxzcGFuIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj57e3N1YnNjcmlwdGlvblBhY2thZ2U/LmRlc2NyaXB0aW9ufX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgVGVuYW50czogPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7c3Vic2NyaXB0aW9uUGFja2FnZT8udGVuYW50c19jb3VudCA/PyAwfX0gdGVuYW50czwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8ZGl2IGZ4RmxleCBjbGFzcz1cIm1sLTJcIj5cbiAgICAgICAgICAgIDxhcHAtc3Vic2NyaXB0aW9uLWxpc3RpbmcgY2xhc3M9XCJ3LTEwMFwiIFtzdWJzY3JpcHRpb25QYWNrYWdlXT1cInN1YnNjcmlwdGlvblBhY2thZ2VcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic3Vic2NyaXB0aW9uUGFja2FnZVwiPjwvYXBwLXN1YnNjcmlwdGlvbi1saXN0aW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|