VisRecommenderDelegator.js 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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(['./FallbackRecommender', '../../../visualizations/recommender/DashboardSmartsVisRecommenderWrapper'], function (FallbackRecommender, DashboardSmartsVisRecommenderWrapper) {
  14. 'use strict';
  15. return function () {
  16. function VisRecommenderDelegator(options) {
  17. _classCallCheck(this, VisRecommenderDelegator);
  18. this.classic = new FallbackRecommender(options);
  19. this.smarts = new DashboardSmartsVisRecommenderWrapper(options);
  20. this.logger = options.logger;
  21. }
  22. VisRecommenderDelegator.prototype.destroy = function destroy() {
  23. this.smarts.destroy();
  24. this.smarts = null;
  25. };
  26. VisRecommenderDelegator.prototype.recommendBindingsForNewColumns = function recommendBindingsForNewColumns(visualization, newColumnsIds) {
  27. return this.smarts.recommendBindingsForNewColumns(visualization, newColumnsIds).catch(function (error) {
  28. this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error);
  29. return this.classic.recommendBindingsForNewColumns(visualization, newColumnsIds);
  30. }.bind(this));
  31. };
  32. VisRecommenderDelegator.prototype.recommendBindingsForSelectedViz = function recommendBindingsForSelectedViz(visualization, visId) {
  33. return this.smarts.recommendBindingsForSelectedViz(visualization, visId).catch(function (error) {
  34. this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error);
  35. return this.classic.recommendBindingsForSelectedViz(visualization, visId);
  36. }.bind(this));
  37. };
  38. VisRecommenderDelegator.prototype.recommendBestAlternateVisualization = function recommendBestAlternateVisualization(visualization, columnIds) {
  39. return this.smarts.recommendBestAlternateVisualization(visualization, columnIds).catch(function (error) {
  40. this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error);
  41. return this.classic.recommendBestAlternateVisualization(visualization, columnIds);
  42. }.bind(this));
  43. };
  44. VisRecommenderDelegator.prototype.recommendAlternateVisualizations = function recommendAlternateVisualizations(columnIds, payload) {
  45. return this.smarts.recommendAlternateVisualizations(columnIds, payload).catch(function (error) {
  46. this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error);
  47. return this.classic.recommendAlternateVisualizations(columnIds, payload);
  48. }.bind(this));
  49. };
  50. VisRecommenderDelegator.prototype.recommendRelatedVisualizations = function recommendRelatedVisualizations(columnIds, payload) {
  51. return this.smarts.recommendRelatedVisualizations(columnIds, payload).catch(function (error) {
  52. this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error);
  53. return this.classic.recommendRelatedVisualizations(columnIds, payload);
  54. }.bind(this));
  55. };
  56. VisRecommenderDelegator.prototype.recommendCompareVisualizations = function recommendCompareVisualizations(columnIds, payload) {
  57. return this.smarts.recommendCompareVisualizations(columnIds, payload).catch(function (error) {
  58. this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error);
  59. return this.classic.recommendCompareVisualizations(columnIds, payload);
  60. }.bind(this));
  61. };
  62. VisRecommenderDelegator.prototype.getRecommendInfo = function getRecommendInfo(visualization) {
  63. if (this.smarts) {
  64. return this.smarts.getRecommendInfo(visualization);
  65. } else {
  66. return Promise.reject('Recommended title not supported');
  67. }
  68. };
  69. return VisRecommenderDelegator;
  70. }();
  71. });
  72. //# sourceMappingURL=VisRecommenderDelegator.js.map