Skip to content

Commit b1aa5da

Browse files
committed
add close button to usage modal
1 parent ee9ec76 commit b1aa5da

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

dev-portal/src/components/Usage/index.js

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import React from 'react'
2-
import { Modal, Dropdown, Message } from 'semantic-ui-react'
2+
import { Modal, Dropdown, Message, Button } from 'semantic-ui-react'
33
import Chart from 'chart.js'
44
import { fetchUsage, mapUsageByDate } from '../../services/api-catalog'
55

66
export default class Usage extends React.Component {
7-
constructor(props){
8-
super(props)
7+
state = {
8+
isLoading: false,
9+
errorMessage: '',
10+
isOpen: false
11+
}
912

10-
this.state = {
11-
isLoading: false,
12-
errorMessage: ''
13-
}
14-
}
13+
open = () => this.setState({ isLoading: false, errorMessage: '', isOpen: true })
14+
close = () => this.setState({ isOpen: false })
1515

1616
loadUsage(event) {
1717
event.preventDefault()
@@ -20,7 +20,7 @@ import { fetchUsage, mapUsageByDate } from '../../services/api-catalog'
2020
.then((result) => {
2121
const data = mapUsageByDate(result.data, 'used')
2222
const ctx = document.getElementById('api-usage-chart-container')
23-
console.log(ctx)
23+
2424
new Chart(ctx, {
2525
type: 'line',
2626
data: {
@@ -53,7 +53,15 @@ import { fetchUsage, mapUsageByDate } from '../../services/api-catalog'
5353
}
5454

5555
render() {
56-
return <Modal size='small' trigger={<Dropdown.Item onClick={event => this.loadUsage(event)}>Show Usage</Dropdown.Item>}>
56+
const { isOpen } = this.state
57+
58+
return <Modal
59+
size='small'
60+
open={isOpen}
61+
onOpen={this.open}
62+
onClose={this.close}
63+
trigger={<Dropdown.Item onClick={event => this.loadUsage(event)}>Show Usage</Dropdown.Item>}
64+
>
5765
<Modal.Header>Usage</Modal.Header>
5866
<Modal.Content>
5967
<Modal.Description>
@@ -62,6 +70,9 @@ import { fetchUsage, mapUsageByDate } from '../../services/api-catalog'
6270
{this.state.errorMessage ? <Message error content={this.state.errorMessage.toString()} /> : ''}
6371
<canvas id='api-usage-chart-container' width='400' height='400'></canvas>
6472
</Modal.Content>
73+
<Modal.Actions style={{textAlign: 'right'}}>
74+
<Button type='button' onClick={this.close}>Close</Button>
75+
</Modal.Actions>
6576
</Modal>
6677
}
6778
}

0 commit comments

Comments
 (0)