diff --git a/js/package.json b/js/package.json index 9bfcfb9be..d84b21d25 100644 --- a/js/package.json +++ b/js/package.json @@ -109,6 +109,7 @@ "blockies": "0.0.2", "bytes": "^2.4.0", "es6-promise": "^3.2.1", + "file-saver": "^1.3.3", "format-json": "^1.0.3", "format-number": "^2.0.1", "geopattern": "^1.2.3", diff --git a/js/src/ui/Actionbar/Export/export.js b/js/src/ui/Actionbar/Export/export.js new file mode 100644 index 000000000..64e153734 --- /dev/null +++ b/js/src/ui/Actionbar/Export/export.js @@ -0,0 +1,57 @@ +// Copyright 2015, 2016 Ethcore (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +import React, { Component, PropTypes } from 'react'; +import FileSaver from 'file-saver'; +import FileDownloadIcon from 'material-ui/svg-icons/file/file-download'; + +import { Button } from '../../'; + +class ActionbarExport extends Component { + static propTypes = { + content: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.object + ]).isRequired, + filename: PropTypes.string.isRequired, + className: PropTypes.string + } + + render () { + const { className } = this.props; + + return ( +