VIPRCachedDataRequestHandler.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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(['underscore', './VIPRDataRequestHandler'], function (_, VIPRHandler) {
  13. var VIPRCachedHandler = VIPRHandler.extend({
  14. init: function init(options) {
  15. VIPRCachedHandler.inherited('init', this, arguments);
  16. this.handler = options.handler;
  17. },
  18. // Implement IDataRequestHandler
  19. request: function request(_request) {
  20. if (!this.handler) {
  21. return VIPRCachedHandler.inherited('request', this, arguments);
  22. }
  23. var data = this.handler.getLastRequestData(_request.name);
  24. if (data) {
  25. var dataCopy = _.clone(data);
  26. this._requestComplete(_request, dataCopy);
  27. } else {
  28. return VIPRCachedHandler.inherited('request', this, arguments);
  29. }
  30. },
  31. _requestComplete: function _requestComplete(_request, data) {
  32. var shouldCache = false;
  33. return VIPRCachedHandler.inherited('_requestComplete', this, [_request, data, shouldCache]);
  34. },
  35. _requestFail: function _requestFail(_request, data) {
  36. var shouldCache = false;
  37. return VIPRCachedHandler.inherited('_requestFail', this, [_request, data, shouldCache]);
  38. },
  39. _invokeCallback: function _invokeCallback() /* name, data */{}
  40. });
  41. return VIPRCachedHandler;
  42. });
  43. //# sourceMappingURL=VIPRCachedDataRequestHandler.js.map