1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-12 16:28:06 +00:00
bramw_baserow/web-frontend/modules/database/components/export/TableCSVExporter.vue
2021-10-27 11:00:27 +00:00

110 lines
3.1 KiB
Vue

<template>
<div>
<div class="row">
<div class="col col-4">
<div class="control">
<label class="control__label">{{
$t('tableCSVExporter.columnSeparatorLabel')
}}</label>
<div class="control__elements">
<Dropdown v-model="values.csv_column_separator" :disabled="loading">
<DropdownItem name="," value=","></DropdownItem>
<DropdownItem name=";" value=";"></DropdownItem>
<DropdownItem name="|" value="|"></DropdownItem>
<DropdownItem name="<tab>" value="tab"></DropdownItem>
<DropdownItem
:name="$t('tableCSVExporter.recordSeparator') + ' (30)'"
value="record_separator"
></DropdownItem>
<DropdownItem
:name="$t('tableCSVExporter.unitSeparator') + ' (31)'"
value="unit_separator"
></DropdownItem>
</Dropdown>
</div>
</div>
</div>
<div class="col col-8">
<div class="control">
<label class="control__label">{{
$t('tableCSVExporter.encodingLabel')
}}</label>
<div class="control__elements">
<CharsetDropdown
v-model="values.export_charset"
:disabled="loading"
>
</CharsetDropdown>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col col-6">
<div class="control">
<label class="control__label">{{
$t('tableCSVExporter.firstRowIsHeaderLabel')
}}</label>
<div class="control__elements">
<Checkbox
v-model="values.csv_first_row_header"
:disabled="loading"
>{{ $t('common.yes') }}</Checkbox
>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
// Please keep csvColumnSeparator values in sync with
// src/baserow/contrib/database/api/export/serializers.py:SUPPORTED_CSV_COLUMN_SEPARATORS
import CharsetDropdown from '@baserow/modules/core/components/helpers/CharsetDropdown'
import form from '@baserow/modules/core/mixins/form'
export default {
name: 'TableCSVExporter',
components: { CharsetDropdown },
mixins: [form],
props: {
loading: {
type: Boolean,
required: true,
},
},
data() {
return {
values: {
csv_first_row_header: true,
export_charset: 'utf-8',
csv_column_separator: ',',
},
}
},
}
</script>
<i18n>
{
"en": {
"tableCSVExporter": {
"columnSeparatorLabel": "Column separator",
"recordSeparator": "record separator",
"unitSeparator": "unit separator",
"encodingLabel": "Encoding",
"firstRowIsHeaderLabel": "First row is header"
}
},
"fr": {
"tableCSVExporter": {
"columnSeparatorLabel": "Séparateur de colonne",
"recordSeparator": "Sép. d'enregistrement",
"unitSeparator": "Sép. d'unité",
"encodingLabel": "Encodage",
"firstRowIsHeaderLabel": "La première ligne contient l'entête"
}
}
}
</i18n>