@vendasta/store
Version:
Components and data for Store
158 lines • 13.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { File } from '../files/shared/file.model';
import { Sellable } from './sellable';
import { CaseTransform } from './case-transform';
/** @type {?} */
var COLOR_CODES = [
'#EF5350', '#42A5F5', '#66BB6A', '#FFA726', '#AB47BC', '#FFCA28', '#EC407A', '#26C6DA',
'#FF7B57'
];
/** @type {?} */
var DEFAULT_COLOR = '#808080';
var Product = /** @class */ (function (_super) {
tslib_1.__extends(Product, _super);
function Product(data) {
var _this = _super.call(this) || this;
_this.addons = [];
data = data || {};
_this.pricing = data.pricing;
_this.productId = data.productId;
_this.editionId = data.editionId;
_this.editionName = data.editionName;
_this.name = data.name;
_this.description = data.description;
_this.tagline = data.tagline;
_this.iconUrl = data.iconUrl;
_this.entryUrl = data.entryUrl;
_this.screenshotUrls = data.screenshotUrls;
_this.pdfUploadUrls = data.pdfUploadUrls;
_this.lmiCategories = data.lmiCategories;
_this.keySellingPoints = data.keySellingPoints;
_this.faqs = data.faqs;
_this.wholesalePrice = data.wholesalePrice;
_this.currency = data.currency;
_this.billingFrequency = data.billingFrequency;
_this.isArchived = data.isArchived;
_this.addons = data.addons;
_this.restrictions = data.restrictions;
_this.billingId = data.billingId;
if (data.hasOwnProperty('pdfUploadUrls')) {
_this.files = _this.pdfUploadUrls ? _this.pdfUploadUrls.map(function (url) { return new File(url); }) : null;
}
return _this;
}
/**
* @param {?} data
* @return {?}
*/
Product.fromApi = /**
* @param {?} data
* @return {?}
*/
function (data) {
/** @type {?} */
var newProduct = {};
data = data || {};
for (var key in data) {
if (data.hasOwnProperty(key)) {
/** @type {?} */
var newKey = CaseTransform.snakeToCamelCase(key);
newProduct[newKey] = data[key];
}
}
return new Product(newProduct);
};
Object.defineProperty(Product.prototype, "iconStyle", {
get: /**
* @return {?}
*/
function () {
return this.iconUrl ? "url(\"" + this.iconUrl + "\") no-repeat center / 100% 100%" : null;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Product.prototype, "iconColor", {
get: /**
* @return {?}
*/
function () {
// determine an icon color for a product with no icon by using the product name
if (!this.name) {
return DEFAULT_COLOR;
}
/** @type {?} */
var nameSum = 0;
for (var i = 0; i < this.name.length; i++) {
nameSum += this.name[i].charCodeAt(0);
}
/** @type {?} */
var index = nameSum % COLOR_CODES.length;
return COLOR_CODES[index];
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
Product.prototype.getLmiCategoryNames = /**
* @return {?}
*/
function () {
/** @type {?} */
var lmiCategories = this.lmiCategories || [];
return lmiCategories.map(function (lmiCategory) { return CaseTransform.lowerToTitleCase(lmiCategory.toLowerCase().replace(/_/g, ' ')); });
};
return Product;
}(Sellable));
export { Product };
if (false) {
/** @type {?} */
Product.prototype.productId;
/** @type {?} */
Product.prototype.editionId;
/** @type {?} */
Product.prototype.editionName;
/** @type {?} */
Product.prototype.name;
/** @type {?} */
Product.prototype.description;
/** @type {?} */
Product.prototype.tagline;
/** @type {?} */
Product.prototype.iconUrl;
/** @type {?} */
Product.prototype.entryUrl;
/** @type {?} */
Product.prototype.screenshotUrls;
/** @type {?} */
Product.prototype.pdfUploadUrls;
/** @type {?} */
Product.prototype.lmiCategories;
/** @type {?} */
Product.prototype.keySellingPoints;
/** @type {?} */
Product.prototype.faqs;
/** @type {?} */
Product.prototype.wholesalePrice;
/** @type {?} */
Product.prototype.currency;
/** @type {?} */
Product.prototype.billingFrequency;
/** @type {?} */
Product.prototype.billingId;
/** @type {?} */
Product.prototype.isArchived;
/** @type {?} */
Product.prototype.addons;
/** @type {?} */
Product.prototype.files;
/** @type {?} */
Product.prototype.restrictions;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B2ZW5kYXN0YS9zdG9yZS8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7SUFJekMsV0FBVyxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTO0lBQ3RGLFNBQVM7Q0FDWjs7SUFFSyxhQUFhLEdBQUcsU0FBUztBQUUvQjtJQUE2QixtQ0FBUTtJQWtDakMsaUJBQVksSUFBVTtRQUF0QixZQUNFLGlCQUFPLFNBMEJSO1FBMUNELFlBQU0sR0FBWSxFQUFFLENBQUM7UUFpQm5CLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixLQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsS0FBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLEtBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxLQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsS0FBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLEtBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsS0FBSSxDQUFD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QUFJLE9BQUEsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQTVFLENBQTRFLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBQ0wsY0FBQztBQUFELENBQUMsQUFyRkQsQ0FBNkIsUUFBUSxHQXFGcEM7Ozs7SUFwRkcsNEJBQWtCOztJQUNsQiw0QkFBa0I7O0lBQ2xCLDhCQUFvQjs7SUFDcEIsdUJBQWE7O0lBQ2IsOEJBQW9COztJQUNwQiwwQkFBZ0I7O0lBQ2hCLDBCQUFnQjs7SUFDaEIsMkJBQWlCOztJQUNqQixpQ0FBeUI7O0lBQ3pCLGdDQUF3Qjs7SUFDeEIsZ0NBQXdCOztJQUN4QixtQ0FBMkI7O0lBQzNCLHVCQUFZOztJQUNaLGlDQUF1Qjs7SUFDdkIsMkJBQWlCOztJQUNqQixtQ0FBeUI7O0lBQ3pCLDRCQUFrQjs7SUFDbEIsNkJBQW9COztJQUNwQix5QkFBcUI7O0lBQ3JCLHdCQUFjOztJQUNkLCtCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsZX0gZnJvbSAnLi4vZmlsZXMvc2hhcmVkL2ZpbGUubW9kZWwnO1xuaW1wb3J0IHtGYXF9IGZyb20gJy4uL2ZhcXMvc2hhcmVkL2ZhcXMubW9kZWwnO1xuaW1wb3J0IHtTZWxsYWJsZX0gZnJvbSAnLi9zZWxsYWJsZSc7XG5pbXBvcnQge0Nhc2VUcmFuc2Zvcm19IGZyb20gJy4vY2FzZS10cmFuc2Zvcm0nO1xuaW1wb3J0IHtBZGRvbn0gZnJvbSAnQHZlbmRhc3RhL2NvcmUvc2hhcmVkJztcbmltcG9ydCB7UmVzdHJpY3Rpb25zfSBmcm9tICcuLi9yZXN0cmljdGlvbnMvc2hhcmVkL3Jlc3RyaWN0aW9ucy5tb2RlbCc7XG5cbmNvbnN0IENPTE9SX0NPREVTID0gW1xuICAgICcjRUY1MzUwJywgJyM0MkE1RjUnLCAnIzY2QkI2QScsICcjRkZBNzI2JywgJyNBQjQ3QkMnLCAnI0ZGQ0EyOCcsICcjRUM0MDdBJywgJyMyNkM2REEnLFxuICAgICcjRkY3QjU3J1xuXTtcblxuY29uc3QgREVGQVVMVF9DT0xPUiA9ICcjODA4MDgwJztcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3QgZXh0ZW5kcyBTZWxsYWJsZSB7XG4gICAgcHJvZHVjdElkOiBzdHJpbmc7XG4gICAgZWRpdGlvbklkOiBzdHJpbmc7XG4gICAgZWRpdGlvbk5hbWU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICB0YWdsaW5lOiBzdHJpbmc7XG4gICAgaWNvblVybDogc3RyaW5nO1xuICAgIGVudHJ5VXJsOiBzdHJpbmc7XG4gICAgc2NyZWVuc2hvdFVybHM6IHN0cmluZ1tdO1xuICAgIHBkZlVwbG9hZFVybHM6IHN0cmluZ1tdO1xuICAgIGxtaUNhdGVnb3JpZXM6IHN0cmluZ1tdO1xuICAgIGtleVNlbGxpbmdQb2ludHM6IHN0cmluZ1tdO1xuICAgIGZhcXM6IEZhcVtdO1xuICAgIHdob2xlc2FsZVByaWNlOiBudW1iZXI7XG4gICAgY3VycmVuY3k6IHN0cmluZztcbiAgICBiaWxsaW5nRnJlcXVlbmN5OiBzdHJpbmc7XG4gICAgYmlsbGluZ0lkOiBzdHJpbmc7XG4gICAgaXNBcmNoaXZlZDogYm9vbGVhbjtcbiAgICBhZGRvbnM6IEFkZG9uW10gPSBbXTtcbiAgICBmaWxlczogRmlsZVtdO1xuICAgIHJlc3RyaWN0aW9uczogUmVzdHJpY3Rpb25zO1xuXG4gICAgc3RhdGljIGZyb21BcGkoZGF0YTogYW55KTogUHJvZHVjdCB7XG4gICAgICBjb25zdCBuZXdQcm9kdWN0ID0ge307XG4gICAgICBkYXRhID0gZGF0YSB8fCB7fTtcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgIGNvbnN0IG5ld0tleSA9IENhc2VUcmFuc2Zvcm0uc25ha2VUb0NhbWVsQ2FzZShrZXkpO1xuICAgICAgICAgIG5ld1Byb2R1Y3RbbmV3S2V5XSA9IGRhdGFba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBQcm9kdWN0KG5ld1Byb2R1Y3QpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgZGF0YSA9IGRhdGEgfHwge307XG4gICAgICB0aGlzLnByaWNpbmcgPSBkYXRhLnByaWNpbmc7XG4gICAgICB0aGlzLnByb2R1Y3RJZCA9IGRhdGEucHJvZHVjdElkO1xuICAgICAgdGhpcy5lZGl0aW9uSWQgPSBkYXRhLmVkaXRpb25JZDtcbiAgICAgIHRoaXMuZWRpdGlvbk5hbWUgPSBkYXRhLmVkaXRpb25OYW1lO1xuICAgICAgdGhpcy5uYW1lID0gZGF0YS5uYW1lO1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRhdGEuZGVzY3JpcHRpb247XG4gICAgICB0aGlzLnRhZ2xpbmUgPSBkYXRhLnRhZ2xpbmU7XG4gICAgICB0aGlzLmljb25VcmwgPSBkYXRhLmljb25Vcmw7XG4gICAgICB0aGlzLmVudHJ5VXJsID0gZGF0YS5lbnRyeVVybDtcbiAgICAgIHRoaXMuc2NyZWVuc2hvdFVybHMgPSBkYXRhLnNjcmVlbnNob3RVcmxzO1xuICAgICAgdGhpcy5wZGZVcGxvYWRVcmxzID0gZGF0YS5wZGZVcGxvYWRVcmxzO1xuICAgICAgdGhpcy5sbWlDYXRlZ29yaWVzID0gZGF0YS5sbWlDYXRlZ29yaWVzO1xuICAgICAgdGhpcy5rZXlTZWxsaW5nUG9pbnRzID0gZGF0YS5rZXlTZWxsaW5nUG9pbnRzO1xuICAgICAgdGhpcy5mYXFzID0gZGF0YS5mYXFzO1xuICAgICAgdGhpcy53aG9sZXNhbGVQcmljZSA9IGRhdGEud2hvbGVzYWxlUHJpY2U7XG4gICAgICB0aGlzLmN1cnJlbmN5ID0gZGF0YS5jdXJyZW5jeTtcbiAgICAgIHRoaXMuYmlsbGluZ0ZyZXF1ZW5jeSA9IGRhdGEuYmlsbGluZ0ZyZXF1ZW5jeTtcbiAgICAgIHRoaXMuaXNBcmNoaXZlZCA9IGRhdGEuaXNBcmNoaXZlZDtcbiAgICAgIHRoaXMuYWRkb25zID0gZGF0YS5hZGRvbnM7XG4gICAgICB0aGlzLnJlc3RyaWN0aW9ucyA9IGRhdGEucmVzdHJpY3Rpb25zO1xuICAgICAgdGhpcy5iaWxsaW5nSWQgPSBkYXRhLmJpbGxpbmdJZDtcbiAgICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KCdwZGZVcGxvYWRVcmxzJykpIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IHRoaXMucGRmVXBsb2FkVXJscyA/IHRoaXMucGRmVXBsb2FkVXJscy5tYXAodXJsID0+IG5ldyBGaWxlKHVybCkpIDogbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGljb25TdHlsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uVXJsID8gYHVybChcIiR7dGhpcy5pY29uVXJsfVwiKSBuby1yZXBlYXQgY2VudGVyIC8gMTAwJSAxMDAlYCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGljb25Db2xvcigpOiBzdHJpbmcge1xuICAgICAgICAvLyBkZXRlcm1pbmUgYW4gaWNvbiBjb2xvciBmb3IgYSBwcm9kdWN0IHdpdGggbm8gaWNvbiBieSB1c2luZyB0aGUgcHJvZHVjdCBuYW1lXG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gREVGQVVMVF9DT0xPUjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBuYW1lU3VtID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5hbWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIG5hbWVTdW0gKz0gdGhpcy5uYW1lW2ldLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRleCA9IG5hbWVTdW0gJSBDT0xPUl9DT0RFUy5sZW5ndGg7XG4gICAgICAgIHJldHVybiBDT0xPUl9DT0RFU1tpbmRleF07XG4gICAgfVxuXG4gICAgZ2V0TG1pQ2F0ZWdvcnlOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgICBjb25zdCBsbWlDYXRlZ29yaWVzID0gdGhpcy5sbWlDYXRlZ29yaWVzIHx8IFtdO1xuICAgICAgcmV0dXJuIGxtaUNhdGVnb3JpZXMubWFwKGxtaUNhdGVnb3J5ID0+IENhc2VUcmFuc2Zvcm0ubG93ZXJUb1RpdGxlQ2FzZShsbWlDYXRlZ29yeS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18vZywgJyAnKSkpO1xuICAgIH1cbn1cbiJdfQ==