From f0fd9a9e8b85544089246bde71b6d61ba90eeb0e Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Wed, 26 Aug 2015 12:49:07 -0400 Subject: Adding ability to export data from mattermost --- web/react/components/team_export_tab.jsx | 96 ++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 web/react/components/team_export_tab.jsx (limited to 'web/react/components/team_export_tab.jsx') diff --git a/web/react/components/team_export_tab.jsx b/web/react/components/team_export_tab.jsx new file mode 100644 index 000000000..1bc5abdb1 --- /dev/null +++ b/web/react/components/team_export_tab.jsx @@ -0,0 +1,96 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +var Client = require('../utils/client.jsx'); + +export default class TeamExportTab extends React.Component { + constructor(props) { + super(props); + this.state = {status: 'request', link: '', err: ''}; + + this.onExportSuccess = this.onExportSuccess.bind(this); + this.onExportFailure = this.onExportFailure.bind(this); + this.doExport = this.doExport.bind(this); + } + onExportSuccess(data) { + this.setState({status: 'ready', link: data.link, err: ''}); + } + onExportFailure(e) { + this.setState({status: 'failure', link: '', err: e.message}); + } + doExport() { + if (this.state.status === 'in-progress') { + return; + } + this.setState({status: 'in-progress'}); + Client.exportTeam(this.onExportSuccess, this.onExportFailure); + } + render() { + var messageSection = ''; + switch (this.state.status) { + case 'request': + messageSection = ''; + break; + case 'in-progress': + messageSection = ( +

+ + {' Exporting...'} +

+ ); + break; + case 'ready': + messageSection = ( +

+ + {' Ready for '} + + {'download'} + +

+ ); + break; + case 'failure': + messageSection = ( +

+ + {' Unable to export: ' + this.state.err} +

+ ); + break; + } + + return ( +
+

{'Export'}

+
+ +
+ {messageSection} +
+ ); + } +} -- cgit v1.2.3-1-g7c22 From c5ce2fe933996c718522fb260c7a5a1bf3c63148 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Wed, 9 Sep 2015 21:26:15 +0500 Subject: MM-1825 - Improving UI for settings --- web/react/components/team_export_tab.jsx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'web/react/components/team_export_tab.jsx') diff --git a/web/react/components/team_export_tab.jsx b/web/react/components/team_export_tab.jsx index 1bc5abdb1..2914904ad 100644 --- a/web/react/components/team_export_tab.jsx +++ b/web/react/components/team_export_tab.jsx @@ -75,15 +75,13 @@ export default class TeamExportTab extends React.Component {
  • -- cgit v1.2.3-1-g7c22