ContentMenu.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. 'use strict';
  2. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  3. /**
  4. * Licensed Materials - Property of IBM
  5. * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2020
  6. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. */
  8. define(['../../../lib/@waca/dashboard-common/dist/core/APIFactory', './api/ContentMenuAPI'], function (APIFactory, ContentMenuAPI) {
  9. var ContentMenu = function () {
  10. function ContentMenu() {
  11. _classCallCheck(this, ContentMenu);
  12. this.api = APIFactory.createAPI(this, [ContentMenuAPI]);
  13. this.providers = {};
  14. }
  15. ContentMenu.prototype.registerProvider = function registerProvider(name, provider) {
  16. this.providers[name] = provider;
  17. };
  18. ContentMenu.prototype.getContentMenuList = function getContentMenuList(idList) {
  19. var contentMenuList = [];
  20. Object.values(this.providers).forEach(function (provider) {
  21. if (provider.getContentMenuList && typeof provider.getContentMenuList === 'function') {
  22. var actions = null;
  23. try {
  24. actions = provider.getContentMenuList(idList);
  25. } catch (e) {
  26. console.log(e);
  27. }
  28. if (actions) {
  29. contentMenuList.push.apply(contentMenuList, actions);
  30. }
  31. }
  32. });
  33. return contentMenuList;
  34. };
  35. ContentMenu.prototype.getAPI = function getAPI() {
  36. return this.api;
  37. };
  38. return ContentMenu;
  39. }();
  40. return ContentMenu;
  41. });
  42. //# sourceMappingURL=ContentMenu.js.map