'use strict'; /* *+------------------------------------------------------------------------+ *| Licensed Materials - Property of IBM *| IBM Cognos Products: BI Dashboard *| (C) Copyright IBM Corp. 2017 *| *| US Government Users Restricted Rights - Use, duplication or disclosure *| restricted by GSA ADP Schedule Contract with IBM Corp. *+------------------------------------------------------------------------+ */ define(['../../../lib/@waca/core-client/js/core-client/ui/core/Class', '../../../lib/@waca/upgrades/UpgradeBase'], function (Class, UpgradeBase) { var Upgrade = Class.extend([UpgradeBase], { init: function init() {}, /** * Perform upgrade * * @param {object} spec - spec to perform upgrade on * * @return {Promise} Promise to be resolved when upgrade performed */ up: function up(spec) { if (!spec) { return Promise.resolve(spec); } if (!this._specHasWidgets(spec)) { return Promise.resolve(spec); } Object.keys(spec.widgets).forEach(function (widgetId) { if (spec.widgets[widgetId].type !== 'text' && spec.widgets[widgetId].type !== 'shape' && spec.widgets[widgetId].content) { delete spec.widgets[widgetId].content; } }); return Promise.resolve(spec); }, down: function down(spec) { // no downgrade at this time; return as is: // we don't save backups of specs return Promise.resolve(spec); }, _specHasWidgets: function _specHasWidgets(spec) { if (!spec.widgets) { return false; } return Object.keys(spec.widgets).length > 0; } }); return new Upgrade(); }); //# sourceMappingURL=waca_removeWidgetContentBoardSpec.js.map