Add gzipped download endpoint

This commit is contained in:
John Lyon-Smith
2018-04-26 18:00:16 -07:00
parent 5e5daa2e78
commit 96e2599cdb
9 changed files with 390 additions and 164 deletions

View File

@@ -1,10 +1,11 @@
import React, { Component, Fragment } from 'react'
import PropTypes from 'prop-types'
import { Box, Image, Column, Row, Button } from 'ui'
import { MessageModal, WaitModal } from '../Modal'
// import { api } from 'src/API'
import { sizeInfo, colorInfo } from 'ui/style'
import headerLogo from 'images/deighton.png'
import React, { Component, Fragment } from "react"
import PropTypes from "prop-types"
import { Box, Image, Column, Row, Button } from "ui"
import { MessageModal, WaitModal, YesNoMessageModal } from "../Modal"
import { sizeInfo, colorInfo } from "ui/style"
import headerLogo from "images/deighton.png"
import autobind from "autobind-decorator"
import { api } from "../API"
export class System extends Component {
static propTypes = {
@@ -16,19 +17,113 @@ export class System extends Component {
this.state = {
messageModal: null,
waitModal: null,
yesNoModal: null,
}
}
componentDidMount(props) {
this.props.changeTitle('System')
this.props.changeTitle("System")
}
componentWillUnmount() {
this.props.changeTitle('')
this.props.changeTitle("")
}
@autobind
handleDeleteActivities() {
this.setState({
yesNoModal: {
question:
"Are you sure you want to delete all activities in the system?",
onDismiss: this.handleDeleteActivitiesDismiss,
},
})
}
@autobind
handleDeleteActivitiesDismiss(yes) {
if (yes) {
this.setState({ waitModal: { message: "Deleting All Activities..." } })
api
.deleteAllActivities()
.then(() => {
this.setState({
waitModal: null,
messageModal: {
icon: "thumb",
message: "All logged activities have been deleted",
},
})
})
.catch((error) => {
this.setState({
waitModal: null,
messageModal: {
icon: "hand",
message: "Unable to request delete activities.",
detail: error.message,
},
})
})
}
this.setState({
yesNoModal: null,
})
}
@autobind
handleDeleteWorkItems() {
this.setState({
yesNoModal: {
question:
"Are you sure you want to delete all work items & activities in the system?",
onDismiss: this.handleDeleteWorkItemsDismiss,
},
})
}
@autobind
handleDeleteWorkItemsDismiss(yes) {
if (yes) {
this.setState({
waitModal: { message: "Deleting All Work Items & Activities..." },
})
api
.deleteAllWorkItems()
.then(() => {
this.setState({
waitModal: null,
messageModal: {
icon: "thumb",
message: "All work items and logged activities have been deleted",
},
})
})
.catch((error) => {
this.setState({
waitModal: null,
messageModal: {
icon: "hand",
message: "Unable to delete work items and activities.",
detail: error.message,
},
})
})
}
this.setState({
yesNoModal: null,
})
}
@autobind
handleMessageModalDismiss() {
this.setState({ messageModal: null })
}
render() {
const { messageModal, waitModal } = this.state
const { messageModal, yesNoModal, waitModal } = this.state
return (
<Fragment>
@@ -38,14 +133,22 @@ export class System extends Component {
<Row.Item grow />
<Row.Item width={sizeInfo.formRowSpacing} />
<Row.Item width={sizeInfo.modalWidth}>
<Box border={{ width: sizeInfo.headerBorderWidth, color: colorInfo.headerBorder }} radius={sizeInfo.formBoxRadius}>
<Box
border={{
width: sizeInfo.headerBorderWidth,
color: colorInfo.headerBorder,
}}
radius={sizeInfo.formBoxRadius}>
<Column>
<Column.Item minHeight={sizeInfo.formColumnSpacing} />
<Column.Item>
<Row>
<Row.Item grow />
<Row.Item>
<Image source={headerLogo} width={sizeInfo.loginLogoWidth} />
<Image
source={headerLogo}
width={sizeInfo.loginLogoWidth}
/>
</Row.Item>
<Row.Item grow />
</Row>
@@ -55,7 +158,11 @@ export class System extends Component {
<Row>
<Row.Item grow />
<Row.Item>
<Button text='Delete All Activities' width={sizeInfo.buttonWideWidth} />
<Button
text="Delete All Activities"
width={sizeInfo.buttonWideWidth}
onClick={this.handleDeleteActivities}
/>
</Row.Item>
<Row.Item grow />
</Row>
@@ -65,7 +172,11 @@ export class System extends Component {
<Row>
<Row.Item grow />
<Row.Item>
<Button text='Delete All Work Items' width={sizeInfo.buttonWideWidth} />
<Button
text="Delete All Work Items"
width={sizeInfo.buttonWideWidth}
onClick={this.handleDeleteWorkItems}
/>
</Row.Item>
<Row.Item grow />
</Row>
@@ -75,7 +186,10 @@ export class System extends Component {
<Row>
<Row.Item grow />
<Row.Item>
<Button text='Delete All Teams' width={sizeInfo.buttonWideWidth} />
<Button
text="Download Team Data"
width={sizeInfo.buttonWideWidth}
/>
</Row.Item>
<Row.Item grow />
</Row>
@@ -88,15 +202,24 @@ export class System extends Component {
</Row>
</Column.Item>
<Column.Item grow>
<YesNoMessageModal
open={!!yesNoModal}
question={yesNoModal ? yesNoModal.question : ""}
onDismiss={yesNoModal && yesNoModal.onDismiss}
/>
<MessageModal
open={!!messageModal}
icon={messageModal ? messageModal.icon : ''}
message={messageModal ? messageModal.message : ''}
detail={messageModal ? messageModal.title : ''}
onDismiss={this.handleMessageModalDismiss} />
icon={messageModal ? messageModal.icon : ""}
message={messageModal ? messageModal.message : ""}
detail={messageModal ? messageModal.title : ""}
onDismiss={this.handleMessageModalDismiss}
/>
<WaitModal active={!!waitModal}
message={waitModal ? waitModal.message : ''} />
<WaitModal
active={!!waitModal}
message={waitModal ? waitModal.message : ""}
/>
</Column.Item>
</Fragment>
)