Source: public/javascript/modules/customevents.js

  1. /**
  2. * An object creating custom events
  3. */
  4. class EventFactory{
  5. // available event types
  6. static EVENT_TYPES = { custom : "custom-event",
  7. refreshFrequency : "refresh-freq",
  8. getDataset : 'getdataset'
  9. };
  10. /**
  11. * Returns a CustomEvent
  12. * @param {string} eventType type of event, must exist in EVENT_TYPES
  13. * @param {object} jsonContent json object stored in the detail attribute of the event
  14. * @returns
  15. */
  16. static getEvent(eventType, jsonContent){
  17. switch(eventType){
  18. case this.EVENT_TYPES.custom:
  19. let event = new CustomEvent(this.EVENT_TYPES.custom, jsonContent);
  20. return event;
  21. case this.EVENT_TYPES.refreshFrequency:
  22. return new CustomEvent(this.EVENT_TYPES.refreshFrequency, jsonContent);
  23. case this.EVENT_TYPES.getDataset:
  24. return new CustomEvent(this.EVENT_TYPES.getDataset, jsonContent);
  25. default:
  26. throw new Error("Unknown event type");
  27. }
  28. }
  29. }
  30. export{
  31. EventFactory
  32. };