@vendasta/store
Version:
Components and data for Store
114 lines • 11.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { Product } from '../shared/product';
import { Addon } from '@vendasta/core/shared';
var AddonDetailsComponent = /** @class */ (function () {
function AddonDetailsComponent() {
this.hasVerifiedContract = false;
this.loaded = true;
this.showPricing = true;
this.showEnableAddon = false;
this.actionEnabled = false;
this.prerequisiteSelected = new EventEmitter();
this.actionSelected = new EventEmitter();
}
/**
* @return {?}
*/
AddonDetailsComponent.prototype.onPrerequisiteSelected = /**
* @return {?}
*/
function () {
this.prerequisiteSelected.emit();
};
/**
* @return {?}
*/
AddonDetailsComponent.prototype.onActionSelected = /**
* @return {?}
*/
function () {
this.actionSelected.emit();
};
/**
* @param {?} product
* @param {?} addon
* @return {?}
*/
AddonDetailsComponent.prototype.getPricing = /**
* @param {?} product
* @param {?} addon
* @return {?}
*/
function (product, addon) {
return {
currency: product.currency,
prices: [
{
price: addon.price,
frequency: addon.billingFrequency ? addon.billingFrequency : 'Monthly'
}
]
};
};
Object.defineProperty(AddonDetailsComponent.prototype, "pricingLabel", {
get: /**
* @return {?}
*/
function () {
return this.reseller ? 'Wholesale Pricing' : 'Pricing';
},
enumerable: true,
configurable: true
});
AddonDetailsComponent.decorators = [
{ type: Component, args: [{
selector: 'addon-details',
template: "<div class=\"addon-page\">\n <va-header-container [iconUrl]=\"addon.icon\"\n [title]=\"addon.title\"\n [tagline]=\"addon.tagline\"\n [chipLabels]=\"product.getLmiCategoryNames()\"\n [pricing]=\"getPricing(product, addon)\"\n [pricingLabel]=\"pricingLabel\"\n [prerequisiteLabel]=\"product.name\"\n [billedProduct]=\"billedProduct\"\n [hasVerifiedContract]=\"hasVerifiedContract\"\n [loaded]=\"loaded\"\n [showPricing]=\"showPricing\"\n [actionLabel]=\"'Enable Add-on'\"\n [showEnableAddon]=\"showEnableAddon\"\n (actionSelected)=\"onActionSelected()\"\n (prerequisiteSelected)=\"onPrerequisiteSelected()\">\n </va-header-container>\n\n <div class=\"addon-details addon-content\">\n <ng-container *ngIf=\"reseller\">\n <div class=\"left-column\">\n <div *ngIf=\"addon.resellerMarketing?.description || addon.resellerMarketing?.keySellingPoints\">\n <va-selling-info [description]=\"addon.resellerMarketing?.description\"\n [keySellingPoints]=\"addon.resellerMarketing?.keySellingPoints\"></va-selling-info>\n </div>\n <section *ngIf=\"addon.resellerMarketing?.faqs?.length > 0 && addon.resellerMarketing?.faqs[0].question\">\n <h2 class=\"va-addon-title\">FAQs</h2>\n <va-faqs [faqs]=\"addon.resellerMarketing?.faqs\"></va-faqs>\n </section>\n </div>\n <div class=\"right-column\">\n <section *ngIf=\"addon.restrictions?.country?.whitelist\">\n <supported-countries [countryCodes]=\"addon.restrictions.country.whitelist\"></supported-countries>\n </section>\n <section *ngIf=\"addon.screenshots?.length > 0\">\n <h2 class=\"va-addon-title\">Gallery</h2>\n <va-image-gallery [imageUrls]=\"addon.screenshots\"></va-image-gallery>\n </section>\n <section *ngIf=\"addon.resellerMarketing?.files?.length > 0\">\n <h2 class=\"va-addon-title\">Files</h2>\n <va-files [files]=\"addon.resellerMarketingFiles\"></va-files>\n </section>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!reseller\">\n <div class=\"left-column\">\n <div *ngIf=\"addon.endUserMarketing?.description || addon.endUserMarketing?.keySellingPoints\">\n <va-selling-info [description]=\"addon.endUserMarketing?.description\"\n [keySellingPoints]=\"addon.endUserMarketing?.keySellingPoints\"></va-selling-info>\n </div>\n <section *ngIf=\"addon.endUserMarketing?.faqs?.length > 0 && addon.endUserMarketing?.faqs[0].question\">\n <h2 class=\"va-addon-title\">FAQs</h2>\n <va-faqs [faqs]=\"addon.endUserMarketing?.faqs\"></va-faqs>\n </section>\n </div>\n\n <div class=\"right-column\">\n <section *ngIf=\"addon.restrictions?.country?.whitelist?.length > 0\">\n <supported-countries [countryCodes]=\"addon.restrictions.country.whitelist\"></supported-countries>\n </section>\n <section *ngIf=\"addon.screenshots?.length > 0\">\n <h2 class=\"va-addon-title\">Gallery</h2>\n <va-image-gallery [imageUrls]=\"addon.screenshots\"></va-image-gallery>\n </section>\n <section *ngIf=\"addon.endUserMarketing?.files?.length > 0\">\n <h2 class=\"va-addon-title\">Files</h2>\n <va-files [files]=\"addon.endUserMarketingFiles\"></va-files>\n </section>\n </div>\n </ng-container>\n </div>\n\n</div>\n",
styles: [":host{display:block;font-size:14px;line-height:1.4}:host *{box-sizing:border-box}.va-addon-title{font-size:32px;font-weight:300;margin-top:0;color:#212121}@media screen and (min-width:600px){.va-addon-title{font-size:32px}}img{max-width:100%}va-icon{display:inline-block}.addon-page{position:relative;margin:0 auto 20px;background:#fff;box-shadow:0 3px 10px rgba(33,33,33,.3);overflow:hidden;font-size:16px;color:#212121}.addon-page .item-amount{color:#999;font-size:14px;text-align:right;margin:0 24px 8px}section{padding:24px}.left-column{width:66%}@media screen and (max-width:600px){.left-column{width:100%}}.right-column{width:34%}.addon-content{display:flex}@media screen and (max-width:600px){.right-column{width:100%}.addon-content{flex-direction:column}}"]
}] }
];
AddonDetailsComponent.propDecorators = {
product: [{ type: Input }],
addon: [{ type: Input }],
reseller: [{ type: Input }],
billedProduct: [{ type: Input }],
hasVerifiedContract: [{ type: Input }],
loaded: [{ type: Input }],
showPricing: [{ type: Input }],
showEnableAddon: [{ type: Input }],
actionEnabled: [{ type: Input }],
prerequisiteSelected: [{ type: Output }],
actionSelected: [{ type: Output }]
};
return AddonDetailsComponent;
}());
export { AddonDetailsComponent };
if (false) {
/** @type {?} */
AddonDetailsComponent.prototype.product;
/** @type {?} */
AddonDetailsComponent.prototype.addon;
/** @type {?} */
AddonDetailsComponent.prototype.reseller;
/** @type {?} */
AddonDetailsComponent.prototype.billedProduct;
/** @type {?} */
AddonDetailsComponent.prototype.hasVerifiedContract;
/** @type {?} */
AddonDetailsComponent.prototype.loaded;
/** @type {?} */
AddonDetailsComponent.prototype.showPricing;
/** @type {?} */
AddonDetailsComponent.prototype.showEnableAddon;
/** @type {?} */
AddonDetailsComponent.prototype.actionEnabled;
/** @type {?} */
AddonDetailsComponent.prototype.prerequisiteSelected;
/** @type {?} */
AddonDetailsComponent.prototype.actionSelected;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmVuZGFzdGEvc3RvcmUvIiwic291cmNlcyI6WyJsaWIvYWRkb24tZGV0YWlscy9hZGRvbi1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTlDO0lBQUE7UUFVVyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBd0JoRCxDQUFDOzs7O0lBdEJDLHNEQUFzQjs7O0lBQXRCO1FBQ0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7SUFDRCxnREFBZ0I7OztJQUFoQjtRQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7Ozs7O0lBRUQsMENBQVU7Ozs7O0lBQVYsVUFBVyxPQUFnQixFQUFFLEtBQVk7UUFDdkMsT0FBTztZQUNMLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixTQUFTLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQ3ZFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFJLCtDQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pELENBQUM7OztPQUFBOztnQkF2Q0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6Qiw0cUhBQTJDOztpQkFFNUM7OzswQkFFRSxLQUFLO3dCQUNMLEtBQUs7MkJBQ0wsS0FBSztnQ0FDTCxLQUFLO3NDQUNMLEtBQUs7eUJBQ0wsS0FBSzs4QkFDTCxLQUFLO2tDQUNMLEtBQUs7Z0NBQ0wsS0FBSzt1Q0FDTCxNQUFNO2lDQUNOLE1BQU07O0lBd0JULDRCQUFDO0NBQUEsQUF4Q0QsSUF3Q0M7U0FuQ1kscUJBQXFCOzs7SUFDaEMsd0NBQTBCOztJQUMxQixzQ0FBc0I7O0lBQ3RCLHlDQUF3Qjs7SUFDeEIsOENBQXNDOztJQUN0QyxvREFBcUM7O0lBQ3JDLHVDQUF1Qjs7SUFDdkIsNENBQTRCOztJQUM1QixnREFBaUM7O0lBQ2pDLDhDQUErQjs7SUFDL0IscURBQW9EOztJQUNwRCwrQ0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uL3NoYXJlZC9wcm9kdWN0JztcbmltcG9ydCB7IEFkZG9uIH0gZnJvbSAnQHZlbmRhc3RhL2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IFByaWNpbmcgfSBmcm9tICcuLi9wcmljaW5nL3ByaWNpbmcnO1xuaW1wb3J0IHsgQmlsbGVkUHJvZHVjdCB9IGZyb20gJ0B2ZW5kYXN0YS9jb3JlL2JpbGxpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZGRvbi1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICdhZGRvbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkb24tZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFkZG9uRGV0YWlsc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHByb2R1Y3Q6IFByb2R1Y3Q7XG4gIEBJbnB1dCgpIGFkZG9uOiBBZGRvbjtcbiAgQElucHV0KCkgcmVzZWxsZXI6IHRydWU7XG4gIEBJbnB1dCgpIGJpbGxlZFByb2R1Y3Q6IEJpbGxlZFByb2R1Y3Q7XG4gIEBJbnB1dCgpIGhhc1ZlcmlmaWVkQ29udHJhY3QgPSBmYWxzZTtcbiAgQElucHV0KCkgbG9hZGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1ByaWNpbmcgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93RW5hYmxlQWRkb24gPSBmYWxzZTtcbiAgQElucHV0KCkgYWN0aW9uRW5hYmxlZCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcHJlcmVxdWlzaXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBhY3Rpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBvblByZXJlcXVpc2l0ZVNlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMucHJlcmVxdWlzaXRlU2VsZWN0ZWQuZW1pdCgpO1xuICB9XG4gIG9uQWN0aW9uU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25TZWxlY3RlZC5lbWl0KCk7XG4gIH1cblxuICBnZXRQcmljaW5nKHByb2R1Y3Q6IFByb2R1Y3QsIGFkZG9uOiBBZGRvbik6IFByaWNpbmcge1xuICAgIHJldHVybiB7XG4gICAgICBjdXJyZW5jeTogcHJvZHVjdC5jdXJyZW5jeSxcbiAgICAgIHByaWNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJpY2U6IGFkZG9uLnByaWNlLFxuICAgICAgICAgIGZyZXF1ZW5jeTogYWRkb24uYmlsbGluZ0ZyZXF1ZW5jeSA/IGFkZG9uLmJpbGxpbmdGcmVxdWVuY3kgOiAnTW9udGhseSdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBnZXQgcHJpY2luZ0xhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzZWxsZXIgPyAnV2hvbGVzYWxlIFByaWNpbmcnIDogJ1ByaWNpbmcnO1xuICB9XG59XG4iXX0=