UNPKG

@vendasta/store

Version:

Components and data for Store

158 lines 13.7 kB
/** * @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==