@vendasta/store
Version:
Components and data for Store
119 lines (118 loc) • 11.1 kB
JavaScript
import { Component, Input } from '@angular/core';
import { Currency, Revenue } from '@vendasta/sales-orders';
import { convertSalesOrderCurrencyToString, getPeriodTranslationKey } from '../shared/conversion-utils';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/list";
import * as i2 from "@angular/common";
import * as i3 from "@angular/material/core";
import * as i4 from "@ngx-translate/core";
import * as i5 from "@vendasta/core/shared";
export class SimplePriceDisplayComponent {
constructor() {
this.revenueComponents = [];
}
ngOnChanges(changes) {
this.currencyString = this.getCurrency();
if (this.revenue.revenueComponents && this.revenue.revenueComponents.length) {
this.revenueComponents = this.revenue.revenueComponents.map((component) => {
return {
isStartingRevenue: component.isStartingRevenue,
value: component.value,
period: this.getRevenuePeriod(component.period),
};
});
}
else {
this.revenueComponents = [];
}
}
getCurrency() {
if (!!this.currencyCode) {
return this.currencyCode;
}
return convertSalesOrderCurrencyToString(this.currency);
}
getRevenuePeriod(period) {
return getPeriodTranslationKey(period);
}
}
SimplePriceDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SimplePriceDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
SimplePriceDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: SimplePriceDisplayComponent, selector: "app-simple-price-display", inputs: { currency: "currency", currencyCode: "currencyCode", revenue: "revenue" }, usesOnChanges: true, ngImport: i0, template: `
<ng-container *ngIf="revenueComponents?.length > 0">
<ng-container *ngFor="let revenueComponent of revenueComponents">
<div matLine>
<span
*ngIf="revenueComponent.isStartingRevenue && revenueComponent.value > 0"
class="starting-at-before-price"
>
<strong>{{ 'FRONTEND.STORE.STARTING_AT' | translate }}</strong>
</span>
<strong>{{ revenueComponent.value || 0 | price$: currencyString | async }}</strong>
</div>
<div matLine class="tertiary-font-color" *ngIf="revenueComponent.value > 0">
{{ revenueComponent.period | translate }}
</div>
</ng-container>
</ng-container>
<ng-container *ngIf="revenueComponents?.length <= 0">
<mat-list-item class="summary-list-item">
<div matLine>
<strong>{{ null | price$: 'CAD' | async }}</strong>
</div>
</mat-list-item>
</ng-container>
`, isInline: true, styles: [".starting-at-before-price{color:#212121;margin-right:14px}.tertiary-font-color{color:#212121;font-size:14px!important}.summary-list-item{padding-right:14px;text-align:right}\n"], components: [{ type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "translate": i4.TranslatePipe, "async": i2.AsyncPipe, "price$": i5.DisplayPricePipe } });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SimplePriceDisplayComponent, decorators: [{
type: Component,
args: [{
selector: 'app-simple-price-display',
template: `
<ng-container *ngIf="revenueComponents?.length > 0">
<ng-container *ngFor="let revenueComponent of revenueComponents">
<div matLine>
<span
*ngIf="revenueComponent.isStartingRevenue && revenueComponent.value > 0"
class="starting-at-before-price"
>
<strong>{{ 'FRONTEND.STORE.STARTING_AT' | translate }}</strong>
</span>
<strong>{{ revenueComponent.value || 0 | price$: currencyString | async }}</strong>
</div>
<div matLine class="tertiary-font-color" *ngIf="revenueComponent.value > 0">
{{ revenueComponent.period | translate }}
</div>
</ng-container>
</ng-container>
<ng-container *ngIf="revenueComponents?.length <= 0">
<mat-list-item class="summary-list-item">
<div matLine>
<strong>{{ null | price$: 'CAD' | async }}</strong>
</div>
</mat-list-item>
</ng-container>
`,
styles: [
`
.starting-at-before-price {
color: #212121;
margin-right: 14px;
}
.tertiary-font-color {
color: #212121;
font-size: 14px !important;
}
.summary-list-item {
padding-right: 14px;
text-align: right;
}
`,
],
}]
}], propDecorators: { currency: [{
type: Input
}], currencyCode: [{
type: Input
}], revenue: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXByaWNlLWRpc3BsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdG9yZS9zcmMvbGliL3ByaWNpbmcvc2ltcGxlLXByaWNlLWRpc3BsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQStDeEcsTUFBTSxPQUFPLDJCQUEyQjtJQTdDeEM7UUFtREUsc0JBQWlCLEdBSVgsRUFBRSxDQUFDO0tBMkJWO0lBekJDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDM0UsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ3hFLE9BQU87b0JBQ0wsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLGlCQUFpQjtvQkFDOUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO29CQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7aUJBQ2hELENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQjtRQUNELE9BQU8saUNBQWlDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFxQjtRQUNwQyxPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O3dIQXBDVSwyQkFBMkI7NEdBQTNCLDJCQUEyQix5S0EzQzVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7MkZBbUJVLDJCQUEyQjtrQkE3Q3ZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOOzs7Ozs7Ozs7Ozs7OztLQWNDO3FCQUNGO2lCQUNGOzhCQUVVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1cnJlbmN5LCBSZXZlbnVlLCBSZXZlbnVlUGVyaW9kIH0gZnJvbSAnQHZlbmRhc3RhL3NhbGVzLW9yZGVycyc7XG5pbXBvcnQgeyBjb252ZXJ0U2FsZXNPcmRlckN1cnJlbmN5VG9TdHJpbmcsIGdldFBlcmlvZFRyYW5zbGF0aW9uS2V5IH0gZnJvbSAnLi4vc2hhcmVkL2NvbnZlcnNpb24tdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2ltcGxlLXByaWNlLWRpc3BsYXknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXZlbnVlQ29tcG9uZW50cz8ubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmV2ZW51ZUNvbXBvbmVudCBvZiByZXZlbnVlQ29tcG9uZW50c1wiPlxuICAgICAgICA8ZGl2IG1hdExpbmU+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwicmV2ZW51ZUNvbXBvbmVudC5pc1N0YXJ0aW5nUmV2ZW51ZSAmJiByZXZlbnVlQ29tcG9uZW50LnZhbHVlID4gMFwiXG4gICAgICAgICAgICBjbGFzcz1cInN0YXJ0aW5nLWF0LWJlZm9yZS1wcmljZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN0cm9uZz57eyAnRlJPTlRFTkQuU1RPUkUuU1RBUlRJTkdfQVQnIHwgdHJhbnNsYXRlIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzdHJvbmc+e3sgcmV2ZW51ZUNvbXBvbmVudC52YWx1ZSB8fCAwIHwgcHJpY2UkOiBjdXJyZW5jeVN0cmluZyB8IGFzeW5jIH19PC9zdHJvbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IG1hdExpbmUgY2xhc3M9XCJ0ZXJ0aWFyeS1mb250LWNvbG9yXCIgKm5nSWY9XCJyZXZlbnVlQ29tcG9uZW50LnZhbHVlID4gMFwiPlxuICAgICAgICAgIHt7IHJldmVudWVDb21wb25lbnQucGVyaW9kIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJldmVudWVDb21wb25lbnRzPy5sZW5ndGggPD0gMFwiPlxuICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJzdW1tYXJ5LWxpc3QtaXRlbVwiPlxuICAgICAgICA8ZGl2IG1hdExpbmU+XG4gICAgICAgICAgPHN0cm9uZz57eyBudWxsIHwgcHJpY2UkOiAnQ0FEJyB8IGFzeW5jIH19PC9zdHJvbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuc3RhcnRpbmctYXQtYmVmb3JlLXByaWNlIHtcbiAgICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgIH1cblxuICAgICAgLnRlcnRpYXJ5LWZvbnQtY29sb3Ige1xuICAgICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3VtbWFyeS1saXN0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTaW1wbGVQcmljZURpc3BsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjdXJyZW5jeTogQ3VycmVuY3k7XG4gIEBJbnB1dCgpIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xuICBASW5wdXQoKSByZXZlbnVlOiBSZXZlbnVlO1xuXG4gIGN1cnJlbmN5U3RyaW5nOiBzdHJpbmc7XG4gIHJldmVudWVDb21wb25lbnRzOiB7XG4gICAgaXNTdGFydGluZ1JldmVudWU6IGJvb2xlYW47XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICBwZXJpb2Q6IHN0cmluZztcbiAgfVtdID0gW107XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVuY3lTdHJpbmcgPSB0aGlzLmdldEN1cnJlbmN5KCk7XG4gICAgaWYgKHRoaXMucmV2ZW51ZS5yZXZlbnVlQ29tcG9uZW50cyAmJiB0aGlzLnJldmVudWUucmV2ZW51ZUNvbXBvbmVudHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJldmVudWVDb21wb25lbnRzID0gdGhpcy5yZXZlbnVlLnJldmVudWVDb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaXNTdGFydGluZ1JldmVudWU6IGNvbXBvbmVudC5pc1N0YXJ0aW5nUmV2ZW51ZSxcbiAgICAgICAgICB2YWx1ZTogY29tcG9uZW50LnZhbHVlLFxuICAgICAgICAgIHBlcmlvZDogdGhpcy5nZXRSZXZlbnVlUGVyaW9kKGNvbXBvbmVudC5wZXJpb2QpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmV2ZW51ZUNvbXBvbmVudHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRDdXJyZW5jeSgpOiBzdHJpbmcge1xuICAgIGlmICghIXRoaXMuY3VycmVuY3lDb2RlKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeUNvZGU7XG4gICAgfVxuICAgIHJldHVybiBjb252ZXJ0U2FsZXNPcmRlckN1cnJlbmN5VG9TdHJpbmcodGhpcy5jdXJyZW5jeSk7XG4gIH1cblxuICBnZXRSZXZlbnVlUGVyaW9kKHBlcmlvZDogUmV2ZW51ZVBlcmlvZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldFBlcmlvZFRyYW5zbGF0aW9uS2V5KHBlcmlvZCk7XG4gIH1cbn1cbiJdfQ==