KeyDriversTask.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. 'use strict';
  2. /*
  3. *+------------------------------------------------------------------------+
  4. *| Licensed Materials - Property of IBM
  5. *| IBM Cognos Products: Dashboard
  6. *| (C) Copyright IBM Corp. 2018
  7. *|
  8. *| US Government Users Restricted Rights - Use, duplication or disclosure
  9. *| restricted by GSA ADP Schedule Contract with IBM Corp.
  10. *+------------------------------------------------------------------------+
  11. */
  12. define(['./BaseTask', 'dashboard-analytics/visualizations/vipr/VIPRUtils'], function (BaseTask, VIPRUtils) {
  13. 'use strict';
  14. var KeyDriversTask = BaseTask.extend({
  15. process: function process(renderContext) {
  16. var _this = this;
  17. if (this._isStepComplete(renderContext, 'keyDrivers')) {
  18. return Promise.resolve(renderContext);
  19. } else {
  20. return this._getPossibleDrivers(renderContext).then(function (keyDrivers) {
  21. _this._completeStep(renderContext, 'keyDrivers', keyDrivers);
  22. return renderContext;
  23. }).catch(function () {
  24. return renderContext;
  25. });
  26. }
  27. },
  28. _getPossibleDrivers: function _getPossibleDrivers(renderContext) {
  29. var visualization = this.content.getFeature('Visualization');
  30. // Only enable this step for viz types with 'supportsPossibleKeyDrivers=true'.
  31. if (visualization.getSlots().isMappingComplete() && VIPRUtils.doesConfigPropertyMatchExpected(visualization.getDefinition().getId(), 'supportsPossibleKeyDrivers', true)) {
  32. return this.visAPI.whenPossibleKeyDriversAreReady(renderContext, this._getTargetId());
  33. } else {
  34. return Promise.resolve([]);
  35. }
  36. },
  37. _getTargetId: function _getTargetId() {
  38. // We are assuming only one slot and only one data item for that slot.
  39. var visualization = this.content.getFeature('Visualization');
  40. return visualization.getSlots().getMappedSlotList()[0].getDataItemList()[0].getColumnId();
  41. }
  42. });
  43. return KeyDriversTask;
  44. });
  45. //# sourceMappingURL=KeyDriversTask.js.map