diff options
Diffstat (limited to 'src/components/Global/TableToolbarExport.vue')
-rw-r--r-- | src/components/Global/TableToolbarExport.vue | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/components/Global/TableToolbarExport.vue b/src/components/Global/TableToolbarExport.vue new file mode 100644 index 00000000..ed1d980f --- /dev/null +++ b/src/components/Global/TableToolbarExport.vue @@ -0,0 +1,35 @@ +<template> + <b-link + class="btn btn-primary d-block align-self-center" + :download="download" + :href="href" + > + {{ $t('global.action.export') }} + </b-link> +</template> + +<script> +export default { + props: { + data: { + type: Array, + default: () => [] + }, + fileName: { + type: String, + default: 'data' + } + }, + computed: { + dataForExport() { + return JSON.stringify(this.data); + }, + download() { + return `${this.fileName}.json`; + }, + href() { + return `data:text/json;charset=utf-8,${this.dataForExport}`; + } + } +}; +</script> |