ContextMenuController.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. "use strict";
  2. /**
  3. * Licensed Materials - Property of IBM
  4. * IBM Cognos Products: Cognos Analytics
  5. * Copyright IBM Corp. 2015, 2017
  6. * US Government Users Restricted Rights - Use, duplication or disclosure
  7. * restricted by GSA ADP Schedule Contract with IBM Corp.
  8. */
  9. define(['bi/commons/ui/core/Class'], function (Class) {
  10. 'use strict'; //NOSONAR: meant to be strict
  11. var ContextMenuController = Class.extend({
  12. _getItemId: function _getItemId(context) {
  13. var itemId = context.target.itemId;
  14. itemId = itemId.substring(itemId.lastIndexOf('.') + 1);
  15. return itemId;
  16. },
  17. /**
  18. * Called by glass for each menu item to know if it's visible or not
  19. */
  20. isItemVisible: function isItemVisible(context) {
  21. var itemId = this._getItemId(context);
  22. var o = context.target.activeObject;
  23. if (o.handler && o.handler['isContextMenuItemVisible']) {
  24. return o.handler['isContextMenuItemVisible'](itemId, o.data, o.parentView);
  25. }
  26. return true;
  27. },
  28. /**
  29. * Called when the menu item is pressed
  30. */
  31. onSelectItem: function onSelectItem(context) {
  32. var itemId = this._getItemId(context);
  33. var o = context.target.activeObject;
  34. if (o.handler && o.handler['onContextMenu']) {
  35. o.handler['onContextMenu'](itemId, o.data, o.parentView);
  36. }
  37. }
  38. });
  39. return ContextMenuController;
  40. });