From 1b42e9a9af7e13381cd35344e2fa1e22ce9b36fa Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Mon, 24 Oct 2016 18:27:35 +0200 Subject: [PATCH] Added Export Component in Actionbar => export Addressbook (#2153) (#2847) --- js/package.json | 1 + js/src/ui/Actionbar/Export/export.js | 57 ++++++++++++++++++++++++++++ js/src/ui/Actionbar/Export/index.js | 17 +++++++++ js/src/ui/index.js | 2 + js/src/views/Addresses/addresses.js | 9 ++++- 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 js/src/ui/Actionbar/Export/export.js create mode 100644 js/src/ui/Actionbar/Export/index.js 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 ( +