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.

LoadingMask.js 908B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * @Author: Liquid
  3. * @Date: 2021-03-02 13:38:48
  4. */
  5. import { DomUtil } from '../utils'
  6. import State from '../state/State'
  7. import Widget from './Widget'
  8. class LoadingMask extends Widget {
  9. constructor() {
  10. super()
  11. this._wrapper = DomUtil.create('div', 'dc-loading-mask')
  12. this.type = Widget.getWidgetType('loading_mask')
  13. this._state = State.INITIALIZED
  14. }
  15. /**
  16. *
  17. * @private
  18. */
  19. _installHook() {
  20. Object.defineProperty(this._viewer, 'loadingMask', {
  21. value: this,
  22. writable: false
  23. })
  24. }
  25. /**
  26. *
  27. * @private
  28. */
  29. _mountContent() {
  30. let el = DomUtil.parseDom(
  31. `
  32. <span></span>
  33. <span></span>
  34. <span></span>
  35. <span></span>
  36. <span></span>
  37. `,
  38. true,
  39. 'loading'
  40. )
  41. this._wrapper.appendChild(el)
  42. this._ready = true
  43. }
  44. }
  45. Widget.registerType('loading_mask')
  46. export default LoadingMask