// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. var utils = require('../utils/utils.jsx'); var SettingUpload = require('./setting_upload.jsx'); export default class TeamImportTab extends React.Component { constructor(props) { super(props); this.onImportFailure = this.onImportFailure.bind(this); this.onImportSuccess = this.onImportSuccess.bind(this); this.doImportSlack = this.doImportSlack.bind(this); this.state = { status: 'ready', link: '' }; } onImportFailure() { this.setState({status: 'fail', link: ''}); } onImportSuccess(data) { this.setState({status: 'done', link: 'data:application/octet-stream;charset=utf-8,' + encodeURIComponent(data)}); } doImportSlack(file) { this.setState({status: 'in-progress', link: ''}); utils.importSlack(file, this.onImportSuccess, this.onImportFailure); } render() { var uploadHelpText = (

{'To import a team from Slack go to Slack > Team Settings > Import/Export Data > Export > Start Export. Slack does not allow you to export files, images, private groups or direct messages stored in Slack. Therefore, Slack import to Mattermost only supports importing of text messages in your Slack team\'\s public channels.'}

{'The Slack import to Mattermost is in "Beta". Slack bot posts do not yet import and Slack @mentions are not currently supported.'}

); var uploadSection = ( ); var messageSection; switch (this.state.status) { case 'ready': messageSection = ''; break; case 'in-progress': messageSection = (

{' Importing...'}

); break; case 'done': messageSection = (

{' Import successful: '} {'View Summary'}

); break; case 'fail': messageSection = (

{' Import failure: '} {'View Summary'}

); break; } return (

{'Import'}

{'Import'}

{uploadSection}
{messageSection}
); } }