aboutsummaryrefslogtreecommitdiffstats
path: root/old-ui/app/components/loading.js
blob: b8e2eb5996d0e5bd8d5f29018b494b4e1ba2dd2b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const inherits = require('util').inherits
const Component = require('react').Component
const h = require('react-hyperscript')


inherits(LoadingIndicator, Component)
module.exports = LoadingIndicator

function LoadingIndicator () {
  Component.call(this)
}

LoadingIndicator.prototype.render = function () {
  const { isLoading, loadingMessage, canBypass, bypass } = this.props

  return (
    isLoading ? h('.full-flex-height', {
      style: {
        left: '0px',
        zIndex: 10,
        position: 'absolute',
        flexDirection: 'column',
        display: 'flex',
        justifyContent: 'center',
        alignItems: 'center',
        height: '100%',
        width: '100%',
        background: 'rgba(255, 255, 255, 0.8)',
      },
    }, [
      canBypass ? h( 'i.fa.fa-close.cursor-pointer.close-loading', {
        style: {
          position: 'absolute',
          top: '1px',
          right: '15px',
          color: '#AEAEAE',
        },
        onClick: bypass,
      }) : null,

      h('img', {
        src: 'images/loading.svg',
      }),

      h('br'),

      showMessageIfAny(loadingMessage),
    ]) : null
  )
}

function showMessageIfAny (loadingMessage) {
  if (!loadingMessage) return null
  return h('span', loadingMessage)
}