Aucune description

XMLHttpRequestEventTarget.js 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. // Copyright 2016 wkh237@github. All rights reserved.
  2. // Use of this source code is governed by a MIT-style license that can be
  3. // found in the LICENSE file.
  4. import EventTarget from './EventTarget.js'
  5. import Log from '../utils/log.js'
  6. const log = new Log('XMLHttpRequestEventTarget')
  7. log.disable()
  8. // log.level(3)
  9. export default class XMLHttpRequestEventTarget extends EventTarget {
  10. _onabort : (e:Event) => void = () => {};
  11. _onerror : (e:Event) => void = () => {};
  12. _onload : (e:Event) => void = () => {};
  13. _onloadstart : (e:Event) => void = () => {};
  14. _onprogress : (e:Event) => void = () => {};
  15. _ontimeout : (e:Event) => void = () => {};
  16. _onloadend : (e:Event) => void = () => {};
  17. constructor() {
  18. super()
  19. log.info('constructor called')
  20. }
  21. dispatchEvent(event:string, e:Event) {
  22. super.dispatchEvent(event, e)
  23. switch(event) {
  24. case 'abort' :
  25. this._onabort(e)
  26. break;
  27. case 'error' :
  28. this._onerror(e)
  29. break;
  30. case 'load' :
  31. this._onload(e)
  32. break;
  33. case 'loadstart' :
  34. this._onloadstart(e)
  35. break;
  36. case 'loadend' :
  37. this._onloadend(e)
  38. break;
  39. case 'progress' :
  40. this._onprogress(e)
  41. break;
  42. case 'timeout' :
  43. this._ontimeout(e)
  44. break;
  45. }
  46. }
  47. set onabort(fn:(e:Event) => void) {
  48. log.info('set onabort')
  49. this._onabort = fn
  50. }
  51. get onabort() {
  52. return this._onabort
  53. }
  54. set onerror(fn:(e:Event) => void) {
  55. log.info('set onerror')
  56. this._onerror = fn
  57. }
  58. get onerror() {
  59. return this._onerror
  60. }
  61. set onload(fn:(e:Event) => void) {
  62. log.info('set onload')
  63. this._onload = fn
  64. }
  65. get onload() {
  66. return this._onload
  67. }
  68. set onloadstart(fn:(e:Event) => void) {
  69. log.info('set onloadstart')
  70. this._onloadstart = fn
  71. }
  72. get onloadstart() {
  73. return this._onloadstart
  74. }
  75. set onprogress(fn:(e:Event) => void) {
  76. log.info('set onprogress')
  77. this._onprogress = fn
  78. }
  79. get onprogress() {
  80. return this._onprogress
  81. }
  82. set ontimeout(fn:(e:Event) => void) {
  83. log.info('set ontimeout')
  84. this._ontimeout = fn
  85. }
  86. get ontimeout() {
  87. return this._ontimeout
  88. }
  89. set onloadend(fn:(e:Event) => void) {
  90. log.info('set onloadend')
  91. this._onloadend = fn
  92. }
  93. get onloadend() {
  94. return this._onloadend
  95. }
  96. }