MediaResolver.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. 2014, 2019
  6. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. */
  8. define(['underscore', './YoutubeVideoLoader', './EmbedMediaLoader'], function (_, YoutubeVideoLoader, EmbedMediaLoader) {
  9. var loaders = [new YoutubeVideoLoader('youtube'), new EmbedMediaLoader('embedMedia')];
  10. var loaderMap = {};
  11. _.each(loaders, function (loader) {
  12. loaderMap[loader.type] = loader;
  13. });
  14. var MediaResolver = function () {
  15. function MediaResolver() {
  16. _classCallCheck(this, MediaResolver);
  17. }
  18. MediaResolver.loadFromUrl = function loadFromUrl(url) {
  19. var media = null;
  20. _.find(loaders, function (loader) {
  21. media = loader.tryToLoad(url);
  22. return media;
  23. });
  24. return media;
  25. };
  26. MediaResolver.loadFromModel = function loadFromModel(model) {
  27. if (model.mediaType && loaderMap[model.mediaType]) {
  28. return loaderMap[model.mediaType].tryToLoad(model.mediaLink);
  29. } else {
  30. return MediaResolver.loadFromUrl(model.mediaLink);
  31. }
  32. };
  33. return MediaResolver;
  34. }();
  35. return MediaResolver;
  36. });
  37. //# sourceMappingURL=MediaResolver.js.map