'use strict'; /** * Licensed Materials - Property of IBM * * IBM Cognos Products: BI Dashboard * * Copyright IBM Corp. 2016, 2020 * * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ define(['underscore', '../../../lib/@waca/core-client/js/core-client/ui/content/dialog/OpenDialog', 'bi/content_apps/utils/ContentStoreObject', '../../nls/StringResources'], function (_, BaseDialog, ContentStoreObject, resources) { var RelinkDialog = BaseDialog.extend({ oDataset: null, /** * @param options {object} Options to initialize the dialog object * */ init: function init(options) { this.glassContext = options.glassContext; this.setDataset(options.dataset); RelinkDialog.inherited('init', this, [this.getRelinkDlgOptions(options)]); }, /** * Populate the options used to initialize dataset relink dialog * @param {object} options:{context:, dataset:} * * @returns {object} */ getRelinkDlgOptions: function getRelinkDlgOptions(options) { var supportedTypes = ['module', 'dataSet2', 'uploadedFile', 'package']; var filtersByType = ['folder|package|module|dataSet2|uploadedFile']; var oResult = { 'primaryBtnText': resources.get('dlg_use'), 'typesToOpen': supportedTypes, 'dialogTitle': resources.get('dlg_RelinkDatasetTitle', { 'datasetName': _.escape(options.dataset.name) }), 'filtersByTypes': filtersByType, 'multiSelect': false, 'glassContext': this.glassContext, 'onOpenCallback': this.onOpenCallback.bind(this) }; var oDepRefAncestors = options.dataset.ancestors; if (oDepRefAncestors && oDepRefAncestors.length > 0) { var oLastItem = _.last(oDepRefAncestors); oResult.url = oLastItem._meta.links.items.url; oResult.selfUrl = oLastItem._meta.links.self.url; oResult.ancestors = this.getAncestors(oDepRefAncestors); } return oResult; }, /** * @return {object} Dataset object that is to be relinked * */ getDataset: function getDataset() { return this.oDataset; }, setDataset: function setDataset(dataset) { this.oDataset = dataset; }, /** * Return the ancestors object which content open view supports * @return {array} * @param {array} ancestors Object returned originally from dataset deployment reference * */ getAncestors: function getAncestors(ancestors) { return ContentStoreObject.getAncestors({ 'ancestors': ancestors }); }, /** * Callback hander after user clicks 'use' button to do dataset relink * @param {object} item selected from dialog * */ onOpenCallback: function onOpenCallback(selectedItem) { if (selectedItem && selectedItem.length > 0) { var item = selectedItem[0]; var oNewDatasetObj = { 'id': item.id, 'name': item.defaultName, 'type': item.type, 'state': 'ready', 'ancestors': item.ancestors }; if (this.oDataset) { this.oDataset.set(oNewDatasetObj); } } } }); return RelinkDialog; }); //# sourceMappingURL=DatasetRelinkDialog.js.map