12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /*
- * Licensed Materials - Property of IBM
- *
- * IBM Cognos Products: Modeling UI
- *
- * Copyright IBM Corp. 2017, 2019
- *
- * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['bi/glass/core/Class', 'ca-modeller/CMIcons'], function (BaseClass) {
- var PackageEnrichHandler = BaseClass.extend({
- init: function() {
- PackageEnrichHandler.inherited('init', this, arguments);
- },
- doAction: function(context) {
- return Promise.resolve(this.onSelectItem(context));
- },
- onSelectItem: function(context) {
- require(['ca-modeller/packageEnrich'], function(packageEnrich) {
- var selected = context.target.activeObject.aSelectedContext[0];
- packageEnrich.default(context.glassContext, { storeId: selected.id, packageName: selected.defaultName });
- })
- },
- /**
- * Method invoked when rendering glass Menu, ContextMenu and GlassPlugin classes to determine if the item should be displayed
- * @param {context} which contains the following:
- * <ul>
- * <li>glassContext</li>
- * <li>target: object containing info on the target: plugin and itemId</li>
- * <li>activeObject: object for which the menu is displayed, used for the context menu</li>
- * </ul>
- * @return true or false
- */
- isItemVisible: function(context) {
- // object type for data module
- return context.glassContext.services.userProfile.capabilities.indexOf('canUseWebBasedModeling') >= 0 &&
- context.target.activeObject.aSelectedContext.length === 1 &&
- !context.target.activeObject.aSelectedContext[0].disabled &&
- context.target.activeObject.aSelectedContext[0].type === 'package' &&
- (context.target.activeObject.aSelectedContext[0].permissions || []).indexOf('write') !== -1;
- }
- });
- return PackageEnrichHandler;
- });
|