'use strict';

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

/**
 * Licensed Materials - Property of IBM
 * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2018, 2019
 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */
define(['../../lib/@waca/dashboard-common/dist/core/APIFactory', '../SlotDefinitionAPI'], function (APIFactory, SlotDefinitionAPI) {
	var SlotDefinitionImpl = function () {
		function SlotDefinitionImpl(slotDefinition) {
			_classCallCheck(this, SlotDefinitionImpl);

			this.slotDefinition = slotDefinition;
		}

		SlotDefinitionImpl.prototype.destroy = function destroy() {
			this.slotDefinition = null;
		};

		SlotDefinitionImpl.prototype.getProperty = function getProperty(id) {
			return this.slotDefinition[id];
		};

		SlotDefinitionImpl.prototype.getAPI = function getAPI() {
			return APIFactory.createAPI(this, [SlotDefinitionAPI]);
		};

		SlotDefinitionImpl.prototype.getDatasetIdList = function getDatasetIdList() {
			return this.slotDefinition.datasetIdList;
		};

		SlotDefinitionImpl.prototype.getId = function getId() {
			return this.slotDefinition.id;
		};

		SlotDefinitionImpl.prototype.getType = function getType() {
			return this.slotDefinition.type;
		};

		SlotDefinitionImpl.prototype.getSubType = function getSubType() {
			return this.slotDefinition.subtype;
		};

		SlotDefinitionImpl.prototype.getCaption = function getCaption() {
			return this.slotDefinition.caption;
		};

		SlotDefinitionImpl.prototype.getIcon = function getIcon() {
			return this.slotDefinition.icon;
		};

		SlotDefinitionImpl.prototype.getGroupId = function getGroupId() {
			return this.slotDefinition.group;
		};

		SlotDefinitionImpl.prototype.getRole = function getRole() {
			return this.slotDefinition.role;
		};

		SlotDefinitionImpl.prototype.isHidden = function isHidden() {
			return this.slotDefinition.hidden || false;
		};

		SlotDefinitionImpl.prototype.isOptional = function isOptional() {
			return this.slotDefinition.optional || false;
		};

		SlotDefinitionImpl.prototype.getSort = function getSort() {
			return this.slotDefinition.sort;
		};

		SlotDefinitionImpl.prototype.getSortOrder = function getSortOrder() {
			return this.slotDefinition.sortOrder;
		};

		SlotDefinitionImpl.prototype.getAggregatedSortInfo = function getAggregatedSortInfo() {
			return this.slotDefinition.clientSideAggregatedAndSortInfo;
		};

		SlotDefinitionImpl.prototype.isSortable = function isSortable() {
			return this.slotDefinition.sortable || false;
		};

		SlotDefinitionImpl.prototype.isStackItems = function isStackItems() {
			return this.slotDefinition.stackItems || false;
		};

		SlotDefinitionImpl.prototype.getMaxItems = function getMaxItems() {
			return this.slotDefinition.maxItems === undefined ? this.slotDefinition.maxStackItems : this.slotDefinition.maxItems;
		};

		SlotDefinitionImpl.prototype.isMultiMeasureSupported = function isMultiMeasureSupported() {
			return this.slotDefinition.multiMeasure || false;
		};

		SlotDefinitionImpl.prototype.isShapable = function isShapable() {
			return this.slotDefinition.shapable || false;
		};

		SlotDefinitionImpl.prototype.getCoachMark = function getCoachMark() {
			return this.slotDefinition.coachMark;
		};

		SlotDefinitionImpl.prototype.getFormat = function getFormat() {
			return this.slotDefinition.format;
		};

		SlotDefinitionImpl.prototype.getTags = function getTags() {
			return this.slotDefinition.tags;
		};

		SlotDefinitionImpl.prototype.getDefaultFromSlot = function getDefaultFromSlot() {
			return this.slotDefinition.defaultFromSlot;
		};

		SlotDefinitionImpl.prototype.getShowRequiredMarker = function getShowRequiredMarker() {
			return this.slotDefinition.showRequiredMarker === false ? false : true;
		};

		return SlotDefinitionImpl;
	}();

	return SlotDefinitionImpl;
});
//# sourceMappingURL=SlotDefinition.js.map