UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

322 lines 13.7 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var element_models_1 = require("./element-models"); var element_type_1 = require("./element-type"); var Elements; (function (Elements) { var BaseElement = /** @class */ (function () { function BaseElement(data) { this.rawData = data.elementWrapper.rawElement; this.name = data.elementWrapper.rawElement.name; this.type = data.elementType; } return BaseElement; }()); var TextElement = /** @class */ (function (_super) { __extends(TextElement, _super); /** * Represents text element of Kentico Cloud item * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function TextElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.Text, elementWrapper: elementWrapper }) || this; _this.value = elementWrapper.rawElement.value; return _this; } return TextElement; }(BaseElement)); Elements.TextElement = TextElement; var LinkedItemsElement = /** @class */ (function (_super) { __extends(LinkedItemsElement, _super); /** * Represents text element of Kentico Cloud item * @param {ElementModels.IElementWrapper} elementWrapper - Element data * @param {IContentItem} mappedLinkedItems - Array of mapped linked items */ function LinkedItemsElement(elementWrapper, mappedLinkedItems) { var _this = _super.call(this, { elementType: element_type_1.ElementType.ModularContent, elementWrapper: elementWrapper }) || this; _this.itemCodenames = elementWrapper.rawElement.value; _this.value = mappedLinkedItems; return _this; } return LinkedItemsElement; }(BaseElement)); Elements.LinkedItemsElement = LinkedItemsElement; var MultipleChoiceElement = /** @class */ (function (_super) { __extends(MultipleChoiceElement, _super); /** * Represents multiple choice element of Kentico Cloud item * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function MultipleChoiceElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.MultipleChoice, elementWrapper: elementWrapper }) || this; /** * Multiple choice options */ _this.value = []; if (elementWrapper.rawElement.value && Array.isArray(elementWrapper.rawElement.value)) { for (var _i = 0, _a = elementWrapper.rawElement.value; _i < _a.length; _i++) { var valueItem = _a[_i]; var rawOption = valueItem; if (rawOption && rawOption.name && rawOption.codename) { _this.value.push(new element_models_1.ElementModels.MultipleChoiceOption(rawOption.name, rawOption.codename)); } } } return _this; } return MultipleChoiceElement; }(BaseElement)); Elements.MultipleChoiceElement = MultipleChoiceElement; var DateTimeElement = /** @class */ (function (_super) { __extends(DateTimeElement, _super); /** * Represents date time element of Kentico Cloud item * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function DateTimeElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.DateTime, elementWrapper: elementWrapper }) || this; /** * Type of the element */ _this.type = element_type_1.ElementType.DateTime; if (elementWrapper.rawElement.value) { _this.value = new Date(elementWrapper.rawElement.value); } else { _this.value = null; } return _this; } return DateTimeElement; }(BaseElement)); Elements.DateTimeElement = DateTimeElement; var RichTextElement = /** @class */ (function (_super) { __extends(RichTextElement, _super); /** * Represents rich text element of Kentico Cloud item * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data * @param {string[]} linkedItemCodenames - Array of linked codenames */ function RichTextElement(elementWrapper, linkedItemCodenames, data) { var _this = _super.call(this, { elementType: element_type_1.ElementType.RichText, elementWrapper: elementWrapper }) || this; /** * Type of the element */ _this.type = element_type_1.ElementType.RichText; _this.linkedItemCodenames = linkedItemCodenames; _this.resolveRichTextFunc = data.resolveRichTextFunc; _this.links = data.links; _this.images = data.images; _this.value = elementWrapper.rawElement.value; return _this; } RichTextElement.prototype.resolveData = function () { if (this.resolvedData) { return this.resolvedData; } this.resolvedData = this.resolveRichTextFunc(); return this.resolvedData; }; RichTextElement.prototype.resolveHtml = function () { if (this.resolvedData) { return this.resolvedData.html; } this.resolvedData = this.resolveRichTextFunc(); return this.resolvedData.html; }; return RichTextElement; }(BaseElement)); Elements.RichTextElement = RichTextElement; var NumberElement = /** @class */ (function (_super) { __extends(NumberElement, _super); /** * Represents number element of Kentico Cloud item * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function NumberElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.Number, elementWrapper: elementWrapper }) || this; if (elementWrapper.rawElement.value === 0) { _this.value = 0; } else if (elementWrapper.rawElement.value) { _this.value = +elementWrapper.rawElement.value; } else { _this.value = null; } return _this; } return NumberElement; }(BaseElement)); Elements.NumberElement = NumberElement; var AssetsElement = /** @class */ (function (_super) { __extends(AssetsElement, _super); /** * Represents asset element of Kentico Cloud item * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function AssetsElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.Asset, elementWrapper: elementWrapper }) || this; /** * List of assets used in this element */ _this.value = []; if (elementWrapper.rawElement.value && Array.isArray(elementWrapper.rawElement.value)) { var rawAssets = elementWrapper.rawElement.value; for (var _i = 0, rawAssets_1 = rawAssets; _i < rawAssets_1.length; _i++) { var rawAsset = rawAssets_1[_i]; _this.value.push(new element_models_1.ElementModels.AssetModel(rawAsset)); } } return _this; } return AssetsElement; }(BaseElement)); Elements.AssetsElement = AssetsElement; var UrlSlugElement = /** @class */ (function (_super) { __extends(UrlSlugElement, _super); /** * Represents URL slug element of Kentico Cloud item * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function UrlSlugElement(elementWrapper, data) { var _this = _super.call(this, { elementType: element_type_1.ElementType.UrlSlug, elementWrapper: elementWrapper }) || this; _this.value = elementWrapper.rawElement.value; _this.resolveLinkFunc = data.resolveLinkFunc; return _this; } UrlSlugElement.prototype.resolveUrl = function () { if (this.resolvedUrl) { return this.resolvedUrl; } this.resolvedUrl = this.resolveLinkFunc(); return this.resolvedUrl; }; return UrlSlugElement; }(BaseElement)); Elements.UrlSlugElement = UrlSlugElement; var TaxonomyElement = /** @class */ (function (_super) { __extends(TaxonomyElement, _super); /** * Represents number element of Kentico Cloud item * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function TaxonomyElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.Taxonomy, elementWrapper: elementWrapper }) || this; /** * List of assigned taxonomy terms */ _this.value = []; if (elementWrapper.rawElement.taxonomy_group) { _this.taxonomyGroup = elementWrapper.rawElement.taxonomy_group; } else { console.warn("Taxonomy group for element '" + elementWrapper.rawElement.name + "' is invalid. Assigning empty string"); _this.taxonomyGroup = ''; } if (elementWrapper.rawElement.value && Array.isArray(elementWrapper.rawElement.value)) { var rawTerms = elementWrapper.rawElement.value; for (var _i = 0, rawTerms_1 = rawTerms; _i < rawTerms_1.length; _i++) { var rawTerm = rawTerms_1[_i]; _this.value.push(new element_models_1.ElementModels.TaxonomyTerm(rawTerm.name, rawTerm.codename)); } } return _this; } return TaxonomyElement; }(BaseElement)); Elements.TaxonomyElement = TaxonomyElement; var UnknownElement = /** @class */ (function (_super) { __extends(UnknownElement, _super); function UnknownElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.Unknown, elementWrapper: elementWrapper }) || this; _this.value = elementWrapper.rawElement.value; return _this; } return UnknownElement; }(BaseElement)); Elements.UnknownElement = UnknownElement; var CustomElement = /** @class */ (function (_super) { __extends(CustomElement, _super); function CustomElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.Custom, elementWrapper: elementWrapper }) || this; _this.value = elementWrapper.rawElement.value; return _this; } return CustomElement; }(BaseElement)); Elements.CustomElement = CustomElement; var DefaultCustomElement = /** @class */ (function (_super) { __extends(DefaultCustomElement, _super); /** * Represents base custom element * @constructor * @param {ElementModels.IElementWrapper} elementWrapper - Element data */ function DefaultCustomElement(elementWrapper) { var _this = _super.call(this, { elementType: element_type_1.ElementType.Custom, elementWrapper: elementWrapper }) || this; _this.value = elementWrapper.rawElement.value; return _this; } return DefaultCustomElement; }(BaseElement)); Elements.DefaultCustomElement = DefaultCustomElement; })(Elements = exports.Elements || (exports.Elements = {})); //# sourceMappingURL=elements.js.map