UNPKG

4.83 kBJavaScriptView Raw
1import 'rxjs/add/operator/catch';
2import { Component, EventEmitter, Input, Output } from '@angular/core';
3var AddonDetailsComponent = (function () {
4 function AddonDetailsComponent() {
5 this.prerequisiteSelected = new EventEmitter();
6 }
7 AddonDetailsComponent.prototype.onPrerequisiteSelected = function () {
8 this.prerequisiteSelected.emit();
9 };
10 AddonDetailsComponent.prototype.getPricing = function (product, addon) {
11 return {
12 currency: product.currency,
13 prices: [{
14 price: addon.price,
15 frequency: addon.billingFrequency ? addon.billingFrequency : 'Monthly'
16 }]
17 };
18 };
19 Object.defineProperty(AddonDetailsComponent.prototype, "pricingLabel", {
20 get: function () {
21 return this.reseller ? 'Wholesale Pricing' : 'Pricing';
22 },
23 enumerable: true,
24 configurable: true
25 });
26 AddonDetailsComponent.decorators = [
27 { type: Component, args: [{
28 selector: 'addon-details',
29 template: "<div class=\"addon-page\"> <va-header-container [iconUrl]=\"addon.icon\" [title]=\"addon.title\" [tagline]=\"addon.tagline\" [chipLabels]=\"product.getLmiCategoryNames()\" [showPricing]=\"true\" [pricing]=\"getPricing(product, addon)\" [pricingLabel]=\"pricingLabel\" [prerequisiteLabel]=\"product.name\" (prerequisiteSelected)=\"onPrerequisiteSelected()\"> </va-header-container> <div class=\"addon-details addon-content\"> <ng-container *ngIf=\"reseller\"> <div class=\"left-column\"> <div *ngIf=\"addon.resellerMarketing?.description || addon.resellerMarketing?.keySellingPoints\"> <va-selling-info [description]=\"addon.resellerMarketing?.description\" [keySellingPoints]=\"addon.resellerMarketing?.keySellingPoints\"></va-selling-info> </div> <section *ngIf=\"addon.resellerMarketing?.faqs?.length > 0 && addon.resellerMarketing?.faqs[0].question\"> <h2 class=\"va-addon-title\">FAQs</h2> <va-faqs [faqs]=\"addon.resellerMarketing?.faqs\"></va-faqs> </section> </div> <div class=\"right-column\"> <section *ngIf=\"addon.screenshots?.length > 0\"> <h2 class=\"va-addon-title\">Gallery</h2> <va-image-gallery [imageUrls]=\"addon.screenshots\"></va-image-gallery> </section> <section *ngIf=\"addon.resellerMarketing?.files?.length > 0\"> <h2 class=\"va-addon-title\">Files</h2> <va-files [files]=\"addon.resellerMarketingFiles\"></va-files> </section> </div> </ng-container> <ng-container *ngIf=\"!reseller\"> <div class=\"left-column\"> <div *ngIf=\"addon.endUserMarketing?.description || addon.endUserMarketing?.keySellingPoints\"> <va-selling-info [description]=\"addon.endUserMarketing?.description\" [keySellingPoints]=\"addon.endUserMarketing?.keySellingPoints\"></va-selling-info> </div> <section *ngIf=\"addon.endUserMarketing?.faqs?.length > 0 && addon.endUserMarketing?.faqs[0].question\"> <h2 class=\"va-addon-title\">FAQs</h2> <va-faqs [faqs]=\"addon.endUserMarketing?.faqs\"></va-faqs> </section> </div> <div class=\"right-column\"> <section *ngIf=\"addon.screenshots?.length > 0\"> <h2 class=\"va-addon-title\">Gallery</h2> <va-image-gallery [imageUrls]=\"addon.screenshots\"></va-image-gallery> </section> <section *ngIf=\"addon.endUserMarketing?.files?.length > 0\"> <h2 class=\"va-addon-title\">Files</h2> <va-files [files]=\"addon.endUserMarketingFiles\"></va-files> </section> </div> </ng-container> </div> </div> ",
30 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, 0.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%; } @media screen and (max-width: 600px) { .right-column { width: 100%; } } .addon-content { display: flex; } @media screen and (max-width: 600px) { .addon-content { flex-direction: column; } } "]
31 },] },
32 ];
33 /** @nocollapse */
34 AddonDetailsComponent.ctorParameters = function () { return []; };
35 AddonDetailsComponent.propDecorators = {
36 'product': [{ type: Input },],
37 'addon': [{ type: Input },],
38 'reseller': [{ type: Input },],
39 'prerequisiteSelected': [{ type: Output },],
40 };
41 return AddonDetailsComponent;
42}());
43export { AddonDetailsComponent };
44;