ContextualGridActionController.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. 'use strict';
  2. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  3. /*
  4. *+------------------------------------------------------------------------+
  5. *| Licensed Materials - Property of IBM
  6. *| IBM Cognos Products: Dashboard
  7. *| (C) Copyright IBM Corp. 2018
  8. *|
  9. *| US Government Users Restricted Rights - Use, duplication or disclosure
  10. *| restricted by GSA ADP Schedule Contract with IBM Corp.
  11. *+------------------------------------------------------------------------+
  12. */
  13. define([], function () {
  14. var itemIdToViewOptionMap = {
  15. 'com.ibm.bi.dashboard.gridShowUnaggregated': 'gridShowUnaggregated',
  16. 'com.ibm.bi.dashboard.gridRevertToOrginal': 'projectedAggregated',
  17. 'com.ibm.bi.dashboard.gridExportData': 'export'
  18. };
  19. var ContextualGridActionController = function () {
  20. function ContextualGridActionController() {
  21. _classCallCheck(this, ContextualGridActionController);
  22. }
  23. /**
  24. * if necessary set visibility on condition,
  25. * @param {object} context
  26. * @return {Boolean}
  27. */
  28. ContextualGridActionController.prototype.isItemVisible = function isItemVisible(context) {
  29. if (context.target && context.target.activeObject && context.target.activeObject.content) {
  30. var viewOption = this._getViewOptionFromContent(context.target.activeObject.content);
  31. return viewOption !== this._getViewOptionFromItemId(context.target.itemId);
  32. }
  33. };
  34. /**
  35. * Callback when select a context menu item
  36. *
  37. * @param context {object}
  38. **/
  39. ContextualGridActionController.prototype.onSelectItem = function onSelectItem(context) {
  40. var target = context.target;
  41. var modeOption = this._getViewOptionFromItemId(target.itemId);
  42. var activeObject = target.activeObject;
  43. var viewOption = this._getViewOptionFromItemId(target.itemId);
  44. if (viewOption === 'export') {
  45. activeObject.export();
  46. } else {
  47. // update the viewOption in visGridModel
  48. activeObject.content.setPropertyValue('datagrid.viewOption', modeOption);
  49. }
  50. };
  51. ContextualGridActionController.prototype._getViewOptionFromContent = function _getViewOptionFromContent(content) {
  52. if (content) {
  53. return content.getPropertyValue('datagrid.viewOption');
  54. }
  55. };
  56. ContextualGridActionController.prototype._getViewOptionFromItemId = function _getViewOptionFromItemId(itemId) {
  57. return itemIdToViewOptionMap[itemId];
  58. };
  59. return ContextualGridActionController;
  60. }();
  61. return ContextualGridActionController;
  62. });
  63. //# sourceMappingURL=ContextualGridActionController.js.map