kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
320 lines • 13.3 kB
JavaScript
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 __());
};
})();
import { ElementModels } from './element-models';
import { ElementType } from './element-type';
export 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: 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: 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: 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 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: ElementType.DateTime,
elementWrapper: elementWrapper
}) || this;
/**
* Type of the element
*/
_this.type = 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: ElementType.RichText,
elementWrapper: elementWrapper
}) || this;
/**
* Type of the element
*/
_this.type = 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: 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: 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 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: 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: 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 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: 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: 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: ElementType.Custom,
elementWrapper: elementWrapper
}) || this;
_this.value = elementWrapper.rawElement.value;
return _this;
}
return DefaultCustomElement;
}(BaseElement));
Elements.DefaultCustomElement = DefaultCustomElement;
})(Elements || (Elements = {}));
//# sourceMappingURL=elements.js.map