SourceModelAPI.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. 2017, 2020
  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(['./modelmanagers/SourceModelManager'], function (SourceModelManager) {
  14. 'use strict';
  15. /**
  16. * INTENT: SourcesModelAPI provides a UI-Oriented interface to the SourceModel
  17. * It hides the implementation of the underlying model.
  18. */
  19. return (
  20. /**
  21. * Contructor
  22. * @param {Object} options.dashboardApi The dashboard API
  23. * @param {Object} options.sourceModel The collection object from the boardModel
  24. */
  25. function SourcesModelAPI(options) {
  26. _classCallCheck(this, SourcesModelAPI);
  27. var sourceModelManager = new SourceModelManager(options);
  28. var sourceModel = options.sourceModel;
  29. var sourcesCollectionManager = options.sourcesCollectionManager;
  30. // event APIa
  31. this.on = sourceModel.on.bind(sourceModel);
  32. this.off = sourceModel.off.bind(sourceModel);
  33. //DEFINE THE API....
  34. this.getId = sourceModel.get.bind(sourceModel, 'id');
  35. this.getLocalizedName = sourceModelManager.getLocalizedName.bind(sourceModelManager);
  36. this.getSearchPath = sourceModelManager.getSearchPath.bind(sourceModelManager);
  37. this.getModificationTime = sourceModelManager.getModificationTime.bind(sourceModelManager);
  38. this.exists = sourceModelManager.exists.bind(sourceModelManager);
  39. this.getType = sourceModelManager.getType.bind(sourceModelManager);
  40. this.getModule = sourceModelManager.getModule.bind(sourceModelManager);
  41. this.getModuleAPI = function () {
  42. return sourceModelManager._moduleAPI;
  43. };
  44. this.relink = sourceModelManager.relink.bind(sourceModelManager);
  45. this.getState = sourceModelManager.getState.bind(sourceModelManager);
  46. this.setState = sourceModelManager.setState.bind(sourceModelManager);
  47. this.getAssetId = sourceModel.get.bind(sourceModel, 'assetId');
  48. this.reloadMetadata = sourceModelManager.reloadMetadata.bind(sourceModelManager);
  49. this.getSourceIdsFromAssetId = sourcesCollectionManager && sourcesCollectionManager.getSourceIdsFromAssetId.bind(sourcesCollectionManager);
  50. this.getDeploymentReference = sourceModel.getDeploymentReference.bind(sourceModel);
  51. this.getIsOlapPackage = sourceModel.getIsOlapPackage.bind(sourceModel);
  52. this.getName = sourceModel.get.bind(sourceModel, 'name');
  53. this.getCustomGroupColumns = sourceModel.get.bind(sourceModel, 'customGroupColumns');
  54. this.setCustomGroupColumns = function (customGroupColumns, options) {
  55. return sourceModel.set({ customGroupColumns: customGroupColumns }, options);
  56. };
  57. }
  58. );
  59. });
  60. //# sourceMappingURL=SourceModelAPI.js.map