UNPKG

@vendasta/store

Version:

Components and data for Store

28 lines 7.26 kB
import { Component, Input } from '@angular/core'; import { MarketplaceAppService } from '@vendasta/marketplace-apps/v1'; import { Product } from '../../../shared/product'; import { map } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@vendasta/marketplace-apps/v1"; import * as i2 from "@angular/common"; export class ProductRequirementsComponent { constructor(marketplaceAppsService) { this.marketplaceAppsService = marketplaceAppsService; } ngOnInit() { const requiredProductIds = this.product.restrictions?.appRequirement?.rules[0]?.appIds; this.requiredProducts$ = this.marketplaceAppsService.getMultiApps(requiredProductIds).pipe(map((requiredProducts) => requiredProducts.map((requiredProduct) => ({ name: requiredProduct.name, productId: requiredProduct.appId, })))); } } ProductRequirementsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ProductRequirementsComponent, deps: [{ token: i1.MarketplaceAppService }], target: i0.ɵɵFactoryTarget.Component }); ProductRequirementsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ProductRequirementsComponent, selector: "product-requirements", inputs: { product: "product" }, ngImport: i0, template: "<ng-container\n *ngIf=\"requiredProducts$ | async as requiredProducts; else loading\"\n>\n <ul class=\"requirements-list\">\n <ng-container *ngFor=\"let requiredProduct of requiredProducts\">\n <li>\n <a [href]=\"'/marketplace/products/' + requiredProduct.productId\">\n {{ requiredProduct.name }}\n </a>\n </li>\n </ng-container>\n </ul>\n</ng-container>\n<ng-template #loading>\n <div class=\"stencil-item stencil-shimmer\" *ngFor=\"let n of [1, 2, 3]\"></div>\n</ng-template>\n", styles: [".requirements-list{margin:4px 0}.stencil-header{display:flex;height:24px;width:65%;margin:4px 0}.stencil-item{display:flex;height:24px;width:100%;margin:4px 8px}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe } }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ProductRequirementsComponent, decorators: [{ type: Component, args: [{ selector: 'product-requirements', template: "<ng-container\n *ngIf=\"requiredProducts$ | async as requiredProducts; else loading\"\n>\n <ul class=\"requirements-list\">\n <ng-container *ngFor=\"let requiredProduct of requiredProducts\">\n <li>\n <a [href]=\"'/marketplace/products/' + requiredProduct.productId\">\n {{ requiredProduct.name }}\n </a>\n </li>\n </ng-container>\n </ul>\n</ng-container>\n<ng-template #loading>\n <div class=\"stencil-item stencil-shimmer\" *ngFor=\"let n of [1, 2, 3]\"></div>\n</ng-template>\n", styles: [".requirements-list{margin:4px 0}.stencil-header{display:flex;height:24px;width:65%;margin:4px 0}.stencil-item{display:flex;height:24px;width:100%;margin:4px 8px}\n"] }] }], ctorParameters: function () { return [{ type: i1.MarketplaceAppService }]; }, propDecorators: { product: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1yZXF1aXJlbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdG9yZS9zcmMvbGliL3Byb2R1Y3QtZGV0YWlscy12Mi9wcm9kdWN0LWluZm8vcHJvZHVjdC1yZXF1aXJlbWVudHMvcHJvZHVjdC1yZXF1aXJlbWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdG9yZS9zcmMvbGliL3Byb2R1Y3QtZGV0YWlscy12Mi9wcm9kdWN0LWluZm8vcHJvZHVjdC1yZXF1aXJlbWVudHMvcHJvZHVjdC1yZXF1aXJlbWVudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVlyQyxNQUFNLE9BQU8sNEJBQTRCO0lBS3ZDLFlBQTZCLHNCQUE2QztRQUE3QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO0lBQUcsQ0FBQztJQUU5RSxRQUFRO1FBQ04sTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN2RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDeEYsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUN2QixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJO1lBQzFCLFNBQVMsRUFBRSxlQUFlLENBQUMsS0FBSztTQUNqQyxDQUFDLENBQUMsQ0FDSixDQUNGLENBQUM7SUFDSixDQUFDOzt5SEFqQlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsNEZDaEJ6Qyw2Z0JBZ0JBOzJGREFhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSxzQkFBc0I7NEdBS3ZCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXJrZXRwbGFjZUFwcFNlcnZpY2UgfSBmcm9tICdAdmVuZGFzdGEvbWFya2V0cGxhY2UtYXBwcy92MSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3Byb2R1Y3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbnRlcmZhY2UgUmVxdWlyZWRQcm9kdWN0IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9kdWN0SWQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJvZHVjdC1yZXF1aXJlbWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1yZXF1aXJlbWVudHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LXJlcXVpcmVtZW50cy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0UmVxdWlyZW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvZHVjdDogUHJvZHVjdDtcblxuICByZXF1aXJlZFByb2R1Y3RzJDogT2JzZXJ2YWJsZTxSZXF1aXJlZFByb2R1Y3RbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtYXJrZXRwbGFjZUFwcHNTZXJ2aWNlOiBNYXJrZXRwbGFjZUFwcFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgcmVxdWlyZWRQcm9kdWN0SWRzID0gdGhpcy5wcm9kdWN0LnJlc3RyaWN0aW9ucz8uYXBwUmVxdWlyZW1lbnQ/LnJ1bGVzWzBdPy5hcHBJZHM7XG4gICAgdGhpcy5yZXF1aXJlZFByb2R1Y3RzJCA9IHRoaXMubWFya2V0cGxhY2VBcHBzU2VydmljZS5nZXRNdWx0aUFwcHMocmVxdWlyZWRQcm9kdWN0SWRzKS5waXBlKFxuICAgICAgbWFwKChyZXF1aXJlZFByb2R1Y3RzKSA9PlxuICAgICAgICByZXF1aXJlZFByb2R1Y3RzLm1hcCgocmVxdWlyZWRQcm9kdWN0KSA9PiAoe1xuICAgICAgICAgIG5hbWU6IHJlcXVpcmVkUHJvZHVjdC5uYW1lLFxuICAgICAgICAgIHByb2R1Y3RJZDogcmVxdWlyZWRQcm9kdWN0LmFwcElkLFxuICAgICAgICB9KSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJyZXF1aXJlZFByb2R1Y3RzJCB8IGFzeW5jIGFzIHJlcXVpcmVkUHJvZHVjdHM7IGVsc2UgbG9hZGluZ1wiXG4+XG4gIDx1bCBjbGFzcz1cInJlcXVpcmVtZW50cy1saXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVxdWlyZWRQcm9kdWN0IG9mIHJlcXVpcmVkUHJvZHVjdHNcIj5cbiAgICAgIDxsaT5cbiAgICAgICAgPGEgW2hyZWZdPVwiJy9tYXJrZXRwbGFjZS9wcm9kdWN0cy8nICsgcmVxdWlyZWRQcm9kdWN0LnByb2R1Y3RJZFwiPlxuICAgICAgICAgIHt7IHJlcXVpcmVkUHJvZHVjdC5uYW1lIH19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdWw+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGRpdiBjbGFzcz1cInN0ZW5jaWwtaXRlbSBzdGVuY2lsLXNoaW1tZXJcIiAqbmdGb3I9XCJsZXQgbiBvZiBbMSwgMiwgM11cIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=