You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

51 lines
847 B

  1. define([
  2. 'socket'
  3. ], function (
  4. io
  5. ) {
  6. return {
  7. socket: null,
  8. init: function (onReady) {
  9. let tType = 'websocket';
  10. this.socket = io({
  11. transports: [tType]
  12. });
  13. this.socket.on('connect', this.onConnected.bind(this, onReady));
  14. },
  15. load: function (fileName, callback) {
  16. this.socket.emit('request', {
  17. fileName: fileName,
  18. action: 'load'
  19. }, callback);
  20. },
  21. save: function (fileName, data, callback) {
  22. this.socket.emit('request', {
  23. fileName: fileName,
  24. action: 'save',
  25. data: data
  26. }, callback);
  27. },
  28. persist: function (data) {
  29. this.socket.emit('request', {
  30. action: 'persist',
  31. data: data
  32. });
  33. },
  34. getFileList: function (callback) {
  35. this.socket.emit('request', {
  36. action: 'getFileList'
  37. }, callback);
  38. },
  39. onConnected: function (onReady) {
  40. onReady();
  41. }
  42. };
  43. });