'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 Dashboard *| (C) Copyright IBM Corp. 2018 *| *| US Government Users Restricted Rights - Use, duplication or disclosure *| restricted by GSA ADP Schedule Contract with IBM Corp. *+------------------------------------------------------------------------+ */ define([], function () { /** * Upgrades the container id's when the hierarchy structure of the layout model changes. * It accepts an IdMap of old to new event group container id's. **/ var ContainerPageIdUpgradeHelper = function () { function ContainerPageIdUpgradeHelper() { _classCallCheck(this, ContainerPageIdUpgradeHelper); } /** * Perform upgrade * * @param {object} spec - spec to perform upgrade on * */ ContainerPageIdUpgradeHelper.prototype.upgrade = function upgrade(spec, idMap) { this._init(idMap); if (spec && Object.keys(this._containerPageIdMap).length) { this._upgradePageContext(spec); this._upgradeEventGroups(spec); this._upgradeWidgets(spec); } }; ContainerPageIdUpgradeHelper.prototype._init = function _init(idMap) { this._containerPageIdMap = idMap || {}; }; ContainerPageIdUpgradeHelper.prototype._upgradePageContext = function _upgradePageContext(spec) { if (!spec.pageContext) { return; } for (var _iterator = spec.pageContext, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } var pageContentItem = _ref; if (pageContentItem.scope) { var newId = this._containerPageIdMap[pageContentItem.scope]; if (newId) { pageContentItem.scope = newId; } } if (pageContentItem.eventGroupId) { pageContentItem.eventGroupId = this._getUpdatedContainerId(pageContentItem.eventGroupId); } } }; ContainerPageIdUpgradeHelper.prototype._upgradeEventGroups = function _upgradeEventGroups(spec) { if (!spec.eventGroups) { return; } for (var _iterator2 = spec.eventGroups, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { var _ref2; if (_isArray2) { if (_i2 >= _iterator2.length) break; _ref2 = _iterator2[_i2++]; } else { _i2 = _iterator2.next(); if (_i2.done) break; _ref2 = _i2.value; } var eventGroup = _ref2; if (eventGroup.id) { eventGroup.id = this._getUpdatedContainerId(eventGroup.id); } } }; ContainerPageIdUpgradeHelper.prototype._upgradeWidgets = function _upgradeWidgets(spec) { if (!spec.widgets) { return; } for (var widgetKey in spec.widgets) { var widget = spec.widgets[widgetKey]; if (widget.containerPageId) { var newId = this._containerPageIdMap[widget.containerPageId]; if (newId) { widget.containerPageId = newId; } } } }; ContainerPageIdUpgradeHelper.prototype._getUpdatedContainerId = function _getUpdatedContainerId(eventGroupId) { var eventGroupParts = eventGroupId.split(':'); var newId = this._containerPageIdMap[eventGroupParts[0]]; if (newId) { eventGroupParts[0] = newId; return eventGroupParts.join(':'); } return eventGroupId; }; return ContainerPageIdUpgradeHelper; }(); return ContainerPageIdUpgradeHelper; }); //# sourceMappingURL=ContainerPageIdUpgradeHelper.js.map