@annalib/anna-core 30.0.25 → 30.0.27
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/anna-core-shared-lib/components/anna-licensing-table/anna-licensing-table.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/models/anna-licensing-table.model.mjs +2 -2
- package/fesm2022/annalib-anna-core.mjs +3 -3
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -2
- package/package.json +1 -1
|
@@ -17,11 +17,11 @@ export class AnnaLicensingTableComponent {
|
|
|
17
17
|
this.specificationChanged.emit({ updatedValue, featureDetails });
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLicensingTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaLicensingTableComponent, isStandalone: true, selector: "anna-core-licensing-table", inputs: { plans: "plans", isEditMode: "isEditMode", loading: "loading", defaultListing: "defaultListing" }, outputs: { specificationChanged: "specificationChanged" }, ngImport: i0, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">Current plan</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaLicensingTableComponent, isStandalone: true, selector: "anna-core-licensing-table", inputs: { plans: "plans", isEditMode: "isEditMode", loading: "loading", defaultListing: "defaultListing" }, outputs: { specificationChanged: "specificationChanged" }, ngImport: i0, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">{{!plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? 'Current plan' : 'Expired Plan'}}</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:142px}.mdi{font-size:14px;color:#304598;position:relative}.mdi-close{color:#bdbdbd}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLicensingTableComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
|
-
args: [{ selector: "anna-core-licensing-table", standalone: true, imports: [CommonModule, FormsModule, NgxSkeletonLoaderModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">Current plan</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:
|
|
24
|
+
args: [{ selector: "anna-core-licensing-table", standalone: true, imports: [CommonModule, FormsModule, NgxSkeletonLoaderModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">{{!plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? 'Current plan' : 'Expired Plan'}}</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:142px}.mdi{font-size:14px;color:#304598;position:relative}.mdi-close{color:#bdbdbd}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
|
|
25
25
|
}], propDecorators: { plans: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}], isEditMode: [{
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33
33
|
}], specificationChanged: [{
|
|
34
34
|
type: Output
|
|
35
35
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpY2Vuc2luZy10YWJsZS9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGljZW5zaW5nLXRhYmxlL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFZOUQsTUFBTSxPQUFPLDJCQUEyQjtJQVJ4QztRQVVhLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUMvQix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBSzVEO0lBSEcsYUFBYSxDQUFDLFlBQWlCLEVBQUUsY0FBOEI7UUFDM0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBVFEsMkJBQTJCO21HQUEzQiwyQkFBMkIsNFBDZnhDLHcwS0F1R0EsODFERDdGYyxZQUFZLCtQQUFFLFdBQVcsMjhCQUFFLHVCQUF1Qjs7NEZBS25ELDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDSSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQyxtQkFHNUMsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gXCJuZ3gtc2tlbGV0b24tbG9hZGVyXCI7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlscywgTGljZW5zaW5nUGxhbiB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYW5uYS1saWNlbnNpbmctdGFibGUubW9kZWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5uYS1jb3JlLWxpY2Vuc2luZy10YWJsZVwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFMaWNlbnNpbmdUYWJsZUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwbGFuczogTGljZW5zaW5nUGxhbltdO1xyXG4gICAgQElucHV0KCkgaXNFZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBkZWZhdWx0TGlzdGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIHNwZWNpZmljYXRpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgb25WYWx1ZUNoYW5nZSh1cGRhdGVkVmFsdWU6IGFueSwgZmVhdHVyZURldGFpbHM6IEZlYXR1cmVEZXRhaWxzKSB7XHJcbiAgICAgICAgdGhpcy5zcGVjaWZpY2F0aW9uQ2hhbmdlZC5lbWl0KHsgdXBkYXRlZFZhbHVlLCBmZWF0dXJlRGV0YWlscyB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8dGFibGUgY2xhc3M9XCJoZWFkZXItc2VjdGlvblwiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRoPkZFQVRVUkU8L3RoPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhlbWVdPVwieyBoZWlnaHQ6ICcxMDAlJywgYm9yZGVyUmFkaXVzOiAnOHB4JywgbWFyZ2luQm90dG9tOiAnMHB4JyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cInsgaGVpZ2h0OiAnMTAwJScsIGJvcmRlclJhZGl1czogJzhweCcsIG1hcmdpbkJvdHRvbTogJzBweCcgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBwbGFuIG9mIHBsYW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgcGxhbj8uUGxhbk5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cInBsYW5zLmxlbmd0aCA9PT0gMSAmJiAhaXNFZGl0TW9kZVwiPkN1cnJlbnQgcGxhbjwvcD5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG48L3RhYmxlPlxyXG48ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS10Ym9keVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICBbdGhlbWVdPVwieyBtYXJnaW5Ub3A6ICcxMHB4JywgbWFyZ2luQm90dG9tOiAnMCcsIGhlaWdodDogZGVmYXVsdExpc3RpbmcgPyAnNDkwcHgnIDogJzQzMHB4JyB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICAgICAgICA8dGFibGU+XHJcbiAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZmVhdHVyZSBvZiBwbGFuc1swXT8uRmVhdHVyZURldGFpbHM7IGxldCBmZWF0dXJlSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBmZWF0dXJlLkZlYXR1cmVOYW1lIH19PC9zdHJvbmc+IHt7IGZlYXR1cmUuRmVhdHVyZURlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IHBsYW4gb2YgcGxhbnM7IGxldCBwbGFuSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGxhbi5GZWF0dXJlRGV0YWlsc1tmZWF0dXJlSW5kZXhdIGFzIGZlYXR1cmVEZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmVhdHVyZURldGFpbHMuSXNFbmFibGVkICYmICFmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLWNoZWNrYm94LW1hcmtlZC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZmVhdHVyZURldGFpbHMuSXNFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktY2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblswXS5Kc29uVHlwZSA9PT0gJ1BBWV9QRVJfVVNFJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblswXS5Kc29uLlRvdGFsQ291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50LCBmZWF0dXJlRGV0YWlscylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbj1cImZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb25bMF0uSnNvbi5Ub3RhbENvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmRlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblswXS5Kc29uLlRvdGFsQ291bnQgfX0gT3JkZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uWzBdLkpzb24uQ29uc3VtZWRDb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID58XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uWzBdLkpzb24uVG90YWxDb3VudCAtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblswXS5Kc29uLkNvbnN1bWVkQ291bnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVtYWluaW5nPC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uWzBdLklzQ3VzdG9taXplZFwiPihDdXN0b21pemVkKTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpY2Vuc2luZy10YWJsZS9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGljZW5zaW5nLXRhYmxlL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFZOUQsTUFBTSxPQUFPLDJCQUEyQjtJQVJ4QztRQVVhLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUMvQix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBSzVEO0lBSEcsYUFBYSxDQUFDLFlBQWlCLEVBQUUsY0FBOEI7UUFDM0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBVFEsMkJBQTJCO21HQUEzQiwyQkFBMkIsNFBDZnhDLG81S0F1R0EsODFERDdGYyxZQUFZLCtQQUFFLFdBQVcsMjhCQUFFLHVCQUF1Qjs7NEZBS25ELDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDSSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQyxtQkFHNUMsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gXCJuZ3gtc2tlbGV0b24tbG9hZGVyXCI7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlscywgTGljZW5zaW5nUGxhbiB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYW5uYS1saWNlbnNpbmctdGFibGUubW9kZWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5uYS1jb3JlLWxpY2Vuc2luZy10YWJsZVwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFMaWNlbnNpbmdUYWJsZUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwbGFuczogTGljZW5zaW5nUGxhbltdO1xyXG4gICAgQElucHV0KCkgaXNFZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBkZWZhdWx0TGlzdGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIHNwZWNpZmljYXRpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgb25WYWx1ZUNoYW5nZSh1cGRhdGVkVmFsdWU6IGFueSwgZmVhdHVyZURldGFpbHM6IEZlYXR1cmVEZXRhaWxzKSB7XHJcbiAgICAgICAgdGhpcy5zcGVjaWZpY2F0aW9uQ2hhbmdlZC5lbWl0KHsgdXBkYXRlZFZhbHVlLCBmZWF0dXJlRGV0YWlscyB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8dGFibGUgY2xhc3M9XCJoZWFkZXItc2VjdGlvblwiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRoPkZFQVRVUkU8L3RoPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhlbWVdPVwieyBoZWlnaHQ6ICcxMDAlJywgYm9yZGVyUmFkaXVzOiAnOHB4JywgbWFyZ2luQm90dG9tOiAnMHB4JyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cInsgaGVpZ2h0OiAnMTAwJScsIGJvcmRlclJhZGl1czogJzhweCcsIG1hcmdpbkJvdHRvbTogJzBweCcgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBwbGFuIG9mIHBsYW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgcGxhbj8uUGxhbk5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cInBsYW5zLmxlbmd0aCA9PT0gMSAmJiAhaXNFZGl0TW9kZVwiPnt7IXBsYW4/LlBsYW5FeHBpcnlEYXlzIHx8IHBsYW4/LlBsYW5FeHBpcnlEYXlzID49IDAgPyAnQ3VycmVudCBwbGFuJyA6ICdFeHBpcmVkIFBsYW4nfX08L3A+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC90aGVhZD5cclxuPC90YWJsZT5cclxuPGRpdiBjbGFzcz1cInNjcm9sbGFibGUtdGJvZHlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXJcclxuICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgW3RoZW1lXT1cInsgbWFyZ2luVG9wOiAnMTBweCcsIG1hcmdpbkJvdHRvbTogJzAnLCBoZWlnaHQ6IGRlZmF1bHRMaXN0aW5nID8gJzQ5MHB4JyA6ICc0MzBweCcgfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nXCI+XHJcbiAgICAgICAgPHRhYmxlPlxyXG4gICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGZlYXR1cmUgb2YgcGxhbnNbMF0/LkZlYXR1cmVEZXRhaWxzOyBsZXQgZmVhdHVyZUluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgZmVhdHVyZS5GZWF0dXJlTmFtZSB9fTwvc3Ryb25nPiB7eyBmZWF0dXJlLkZlYXR1cmVEZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBwbGFuIG9mIHBsYW5zOyBsZXQgcGxhbkluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBsYW4uRmVhdHVyZURldGFpbHNbZmVhdHVyZUluZGV4XSBhcyBmZWF0dXJlRGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZlYXR1cmVEZXRhaWxzLklzRW5hYmxlZCAmJiAhZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvbi5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1jaGVja2JveC1tYXJrZWQtY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZlYXR1cmVEZXRhaWxzLklzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLWNsb3NlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvbi5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb25bMF0uSnNvblR5cGUgPT09ICdQQVlfUEVSX1VTRSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb25bMF0uSnNvbi5Ub3RhbENvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudCwgZmVhdHVyZURldGFpbHMpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49XCJmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uWzBdLkpzb24uVG90YWxDb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JkZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb25bMF0uSnNvbi5Ub3RhbENvdW50IH19IE9yZGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblswXS5Kc29uLkNvbnN1bWVkQ291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblswXS5Kc29uLlRvdGFsQ291bnQgLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb25bMF0uSnNvbi5Db25zdW1lZENvdW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbWFpbmluZzwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblswXS5Jc0N1c3RvbWl6ZWRcIj4oQ3VzdG9taXplZCk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -5,7 +5,7 @@ export class LicensingPlan {
|
|
|
5
5
|
this.PlanName = data.PlanName;
|
|
6
6
|
this.PlanStartDate = data.PlanStartDate;
|
|
7
7
|
this.PlanEndDate = data.PlanEndDate;
|
|
8
|
-
this.PlanExpiryDays = data.
|
|
8
|
+
this.PlanExpiryDays = data.DaysRemaining;
|
|
9
9
|
this.FeatureDetails = data.FeatureDetails.map((feature) => new FeatureDetails(feature));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -21,4 +21,4 @@ export class FeatureDetails {
|
|
|
21
21
|
}));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1saWNlbnNpbmctdGFibGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1saWNlbnNpbmctdGFibGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFRdEIsWUFBWSxJQUFTO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFNdkIsWUFBWSxJQUFTO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUMxQixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMaWNlbnNpbmdQbGFuIHtcclxuICAgIElkOiBudW1iZXI7XHJcbiAgICBQbGFuSWQ6IG51bWJlcjtcclxuICAgIFBsYW5OYW1lOiBzdHJpbmc7XHJcbiAgICBQbGFuU3RhcnREYXRlPzogc3RyaW5nO1xyXG4gICAgUGxhbkVuZERhdGU/OiBzdHJpbmc7XHJcbiAgICBQbGFuRXhwaXJ5RGF5cz86IG51bWJlcjtcclxuICAgIEZlYXR1cmVEZXRhaWxzOiBGZWF0dXJlRGV0YWlsc1tdO1xyXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5JZCA9IGRhdGEuSWQ7XHJcbiAgICAgICAgdGhpcy5QbGFuSWQgPSBkYXRhLlBsYW5JZDtcclxuICAgICAgICB0aGlzLlBsYW5OYW1lID0gZGF0YS5QbGFuTmFtZTtcclxuICAgICAgICB0aGlzLlBsYW5TdGFydERhdGUgPSBkYXRhLlBsYW5TdGFydERhdGU7XHJcbiAgICAgICAgdGhpcy5QbGFuRW5kRGF0ZSA9IGRhdGEuUGxhbkVuZERhdGU7XHJcbiAgICAgICAgdGhpcy5QbGFuRXhwaXJ5RGF5cyA9IGRhdGEuRGF5c1JlbWFpbmluZztcclxuICAgICAgICB0aGlzLkZlYXR1cmVEZXRhaWxzID0gZGF0YS5GZWF0dXJlRGV0YWlscy5tYXAoKGZlYXR1cmU6IGFueSkgPT4gbmV3IEZlYXR1cmVEZXRhaWxzKGZlYXR1cmUpKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzIHtcclxuICAgIEZlYXR1cmVJZDogbnVtYmVyO1xyXG4gICAgRmVhdHVyZU5hbWU6IHN0cmluZztcclxuICAgIEZlYXR1cmVEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgU3BlY2lmaWNhdGlvbjogYW55W107XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLkZlYXR1cmVJZCA9IGRhdGEuRmVhdHVyZUlkO1xyXG4gICAgICAgIHRoaXMuRmVhdHVyZU5hbWUgPSBkYXRhLkZlYXR1cmVOYW1lO1xyXG4gICAgICAgIHRoaXMuRmVhdHVyZURlc2NyaXB0aW9uID0gZGF0YS5GZWF0dXJlRGVzY3JpcHRpb247XHJcbiAgICAgICAgdGhpcy5Jc0VuYWJsZWQgPSBkYXRhLklzRW5hYmxlZDtcclxuICAgICAgICB0aGlzLlNwZWNpZmljYXRpb24gPSBkYXRhLlNwZWNpZmljYXRpb24ubWFwKChzcGVjOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIEpzb246IEpTT04ucGFyc2Uoc3BlYy5Kc29uKSxcclxuICAgICAgICAgICAgSnNvblR5cGU6IHNwZWMuSnNvblR5cGVcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -145,11 +145,11 @@ class AnnaLicensingTableComponent {
|
|
|
145
145
|
this.specificationChanged.emit({ updatedValue, featureDetails });
|
|
146
146
|
}
|
|
147
147
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLicensingTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaLicensingTableComponent, isStandalone: true, selector: "anna-core-licensing-table", inputs: { plans: "plans", isEditMode: "isEditMode", loading: "loading", defaultListing: "defaultListing" }, outputs: { specificationChanged: "specificationChanged" }, ngImport: i0, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">Current plan</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaLicensingTableComponent, isStandalone: true, selector: "anna-core-licensing-table", inputs: { plans: "plans", isEditMode: "isEditMode", loading: "loading", defaultListing: "defaultListing" }, outputs: { specificationChanged: "specificationChanged" }, ngImport: i0, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">{{!plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? 'Current plan' : 'Expired Plan'}}</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:142px}.mdi{font-size:14px;color:#304598;position:relative}.mdi-close{color:#bdbdbd}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
149
149
|
}
|
|
150
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaLicensingTableComponent, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
|
-
args: [{ selector: "anna-core-licensing-table", standalone: true, imports: [CommonModule, FormsModule, NgxSkeletonLoaderModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">Current plan</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:
|
|
152
|
+
args: [{ selector: "anna-core-licensing-table", standalone: true, imports: [CommonModule, FormsModule, NgxSkeletonLoaderModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && !isEditMode\">{{!plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? 'Current plan' : 'Expired Plan'}}</p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled && !featureDetails.Specification.length\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n <ng-container *ngIf=\"featureDetails.Specification.length > 0\">\r\n <ng-container *ngIf=\"featureDetails.Specification[0].JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n type=\"number\"\r\n [ngModel]=\"featureDetails.Specification[0].Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n min=\"featureDetails.Specification[0].Json.TotalCount\"\r\n />\r\n Orders\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ featureDetails.Specification[0].Json.TotalCount }} Orders\r\n <span *ngIf=\"featureDetails.Specification[0].Json.ConsumedCount\"\r\n >|\r\n {{\r\n featureDetails.Specification[0].Json.TotalCount -\r\n featureDetails.Specification[0].Json.ConsumedCount\r\n }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"featureDetails.Specification[0].IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td:not(:first-child){width:142px}.mdi{font-size:14px;color:#304598;position:relative}.mdi-close{color:#bdbdbd}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
|
|
153
153
|
}], propDecorators: { plans: [{
|
|
154
154
|
type: Input
|
|
155
155
|
}], isEditMode: [{
|
|
@@ -5982,7 +5982,7 @@ class LicensingPlan {
|
|
|
5982
5982
|
this.PlanName = data.PlanName;
|
|
5983
5983
|
this.PlanStartDate = data.PlanStartDate;
|
|
5984
5984
|
this.PlanEndDate = data.PlanEndDate;
|
|
5985
|
-
this.PlanExpiryDays = data.
|
|
5985
|
+
this.PlanExpiryDays = data.DaysRemaining;
|
|
5986
5986
|
this.FeatureDetails = data.FeatureDetails.map((feature) => new FeatureDetails(feature));
|
|
5987
5987
|
}
|
|
5988
5988
|
}
|