export statistics data to markdown file
This commit is contained in:
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "Datenverwaltung",
|
"Data Management": "Datenverwaltung",
|
||||||
"Unable to retrieve user statistics data": "Benutzerstatistikdaten können nicht abgerufen werden",
|
"Unable to retrieve user statistics data": "Benutzerstatistikdaten können nicht abgerufen werden",
|
||||||
"Export Data": "Daten exportieren",
|
"Export Data": "Daten exportieren",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "CSV (Kommagetrennte Werte) Datei",
|
"CSV (Comma-separated values) File": "CSV (Kommagetrennte Werte) Datei",
|
||||||
"TSV (Tab-separated values) File": "TSV (Tabulatorgetrennte Werte) Datei",
|
"TSV (Tab-separated values) File": "TSV (Tabulatorgetrennte Werte) Datei",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "Benutzerdaten löschen",
|
"Clear User Data": "Benutzerdaten löschen",
|
||||||
"Export all transaction data to file.": "Alle Transaktionsdaten in Datei exportieren.",
|
"Export all transaction data to file.": "Alle Transaktionsdaten in Datei exportieren.",
|
||||||
"Are you sure you want to export all transaction data to file?": "Sind Sie sicher, dass Sie alle Transaktionsdaten in eine Datei exportieren möchten?",
|
"Are you sure you want to export all transaction data to file?": "Sind Sie sicher, dass Sie alle Transaktionsdaten in eine Datei exportieren möchten?",
|
||||||
|
|||||||
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "Data Management",
|
"Data Management": "Data Management",
|
||||||
"Unable to retrieve user statistics data": "Unable to retrieve user statistics data",
|
"Unable to retrieve user statistics data": "Unable to retrieve user statistics data",
|
||||||
"Export Data": "Export Data",
|
"Export Data": "Export Data",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "CSV (Comma-separated values) File",
|
"CSV (Comma-separated values) File": "CSV (Comma-separated values) File",
|
||||||
"TSV (Tab-separated values) File": "TSV (Tab-separated values) File",
|
"TSV (Tab-separated values) File": "TSV (Tab-separated values) File",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "Clear User Data",
|
"Clear User Data": "Clear User Data",
|
||||||
"Export all transaction data to file.": "Export all transaction data to file.",
|
"Export all transaction data to file.": "Export all transaction data to file.",
|
||||||
"Are you sure you want to export all transaction data to file?": "Are you sure you want to export all transaction data to file?",
|
"Are you sure you want to export all transaction data to file?": "Are you sure you want to export all transaction data to file?",
|
||||||
|
|||||||
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "Gestión de datos",
|
"Data Management": "Gestión de datos",
|
||||||
"Unable to retrieve user statistics data": "No se pueden recuperar datos de estadísticas de usuario",
|
"Unable to retrieve user statistics data": "No se pueden recuperar datos de estadísticas de usuario",
|
||||||
"Export Data": "Exportar datos",
|
"Export Data": "Exportar datos",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "Archivo CSV (valores separados por comas)",
|
"CSV (Comma-separated values) File": "Archivo CSV (valores separados por comas)",
|
||||||
"TSV (Tab-separated values) File": "Archivo TSV (valores separados por tabulaciones)",
|
"TSV (Tab-separated values) File": "Archivo TSV (valores separados por tabulaciones)",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "Borrar datos de usuario",
|
"Clear User Data": "Borrar datos de usuario",
|
||||||
"Export all transaction data to file.": "Exportar todos los datos de la transacción a un archivo.",
|
"Export all transaction data to file.": "Exportar todos los datos de la transacción a un archivo.",
|
||||||
"Are you sure you want to export all transaction data to file?": "¿Está seguro de que desea exportar todos los datos de la transacción al archivo?",
|
"Are you sure you want to export all transaction data to file?": "¿Está seguro de que desea exportar todos los datos de la transacción al archivo?",
|
||||||
|
|||||||
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "Gestione dati",
|
"Data Management": "Gestione dati",
|
||||||
"Unable to retrieve user statistics data": "Impossibile recuperare i dati statistici dell'utente",
|
"Unable to retrieve user statistics data": "Impossibile recuperare i dati statistici dell'utente",
|
||||||
"Export Data": "Esporta dati",
|
"Export Data": "Esporta dati",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "File CSV (valori separati da virgola)",
|
"CSV (Comma-separated values) File": "File CSV (valori separati da virgola)",
|
||||||
"TSV (Tab-separated values) File": "File TSV (valori separati da tabulazione)",
|
"TSV (Tab-separated values) File": "File TSV (valori separati da tabulazione)",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "Cancella dati utente",
|
"Clear User Data": "Cancella dati utente",
|
||||||
"Export all transaction data to file.": "Esporta tutti i dati delle transazioni in un file.",
|
"Export all transaction data to file.": "Esporta tutti i dati delle transazioni in un file.",
|
||||||
"Are you sure you want to export all transaction data to file?": "Sei sicuro di voler esportare tutti i dati delle transazioni in un file?",
|
"Are you sure you want to export all transaction data to file?": "Sei sicuro di voler esportare tutti i dati delle transazioni in un file?",
|
||||||
|
|||||||
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "データ管理",
|
"Data Management": "データ管理",
|
||||||
"Unable to retrieve user statistics data": "ユーザー統計データを取得できません",
|
"Unable to retrieve user statistics data": "ユーザー統計データを取得できません",
|
||||||
"Export Data": "データのエクスポート",
|
"Export Data": "データのエクスポート",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "CSV(コンマ区切り)ファイル",
|
"CSV (Comma-separated values) File": "CSV(コンマ区切り)ファイル",
|
||||||
"TSV (Tab-separated values) File": "TSV(タブ区切り)ファイル",
|
"TSV (Tab-separated values) File": "TSV(タブ区切り)ファイル",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "ユーザーデータをクリア",
|
"Clear User Data": "ユーザーデータをクリア",
|
||||||
"Export all transaction data to file.": "すべての取引データをファイルにエクスポートします。",
|
"Export all transaction data to file.": "すべての取引データをファイルにエクスポートします。",
|
||||||
"Are you sure you want to export all transaction data to file?": "取引データをファイルにエクスポートしますか?",
|
"Are you sure you want to export all transaction data to file?": "取引データをファイルにエクスポートしますか?",
|
||||||
|
|||||||
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "Управление данными",
|
"Data Management": "Управление данными",
|
||||||
"Unable to retrieve user statistics data": "Не удалось получить статистические данные пользователя",
|
"Unable to retrieve user statistics data": "Не удалось получить статистические данные пользователя",
|
||||||
"Export Data": "Экспорт данных",
|
"Export Data": "Экспорт данных",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "Файл CSV (значения, разделенные запятыми)",
|
"CSV (Comma-separated values) File": "Файл CSV (значения, разделенные запятыми)",
|
||||||
"TSV (Tab-separated values) File": "Файл TSV (значения, разделенные табуляцией)",
|
"TSV (Tab-separated values) File": "Файл TSV (значения, разделенные табуляцией)",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "Очистить данные пользователя",
|
"Clear User Data": "Очистить данные пользователя",
|
||||||
"Export all transaction data to file.": "Экспортировать все данные о транзакциях в файл.",
|
"Export all transaction data to file.": "Экспортировать все данные о транзакциях в файл.",
|
||||||
"Are you sure you want to export all transaction data to file?": "Вы уверены, что хотите экспортировать все данные о транзакциях в файл?",
|
"Are you sure you want to export all transaction data to file?": "Вы уверены, что хотите экспортировать все данные о транзакциях в файл?",
|
||||||
|
|||||||
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "Керування даними",
|
"Data Management": "Керування даними",
|
||||||
"Unable to retrieve user statistics data": "Не вдалося отримати статистику користувача",
|
"Unable to retrieve user statistics data": "Не вдалося отримати статистику користувача",
|
||||||
"Export Data": "Експорт даних",
|
"Export Data": "Експорт даних",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "Файл CSV (значення, розділені комами)",
|
"CSV (Comma-separated values) File": "Файл CSV (значення, розділені комами)",
|
||||||
"TSV (Tab-separated values) File": "Файл TSV (значення, розділені табуляцією)",
|
"TSV (Tab-separated values) File": "Файл TSV (значення, розділені табуляцією)",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "Очистити дані користувача",
|
"Clear User Data": "Очистити дані користувача",
|
||||||
"Export all transaction data to file.": "Експортувати всі транзакції у файл.",
|
"Export all transaction data to file.": "Експортувати всі транзакції у файл.",
|
||||||
"Are you sure you want to export all transaction data to file?": "Ви впевнені, що хочете експортувати всі транзакції?",
|
"Are you sure you want to export all transaction data to file?": "Ви впевнені, що хочете експортувати всі транзакції?",
|
||||||
|
|||||||
+2
-1
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "Quản lý dữ liệu",
|
"Data Management": "Quản lý dữ liệu",
|
||||||
"Unable to retrieve user statistics data": "Không thể lấy dữ liệu thống kê người dùng",
|
"Unable to retrieve user statistics data": "Không thể lấy dữ liệu thống kê người dùng",
|
||||||
"Export Data": "Xuất dữ liệu",
|
"Export Data": "Xuất dữ liệu",
|
||||||
"Field Separator": "Field Separator",
|
"File Format": "File Format",
|
||||||
"CSV (Comma-separated values) File": "Tệp CSV (Giá trị phân cách bằng dấu phẩy)",
|
"CSV (Comma-separated values) File": "Tệp CSV (Giá trị phân cách bằng dấu phẩy)",
|
||||||
"TSV (Tab-separated values) File": "Tệp TSV (Giá trị phân cách bằng tab)",
|
"TSV (Tab-separated values) File": "Tệp TSV (Giá trị phân cách bằng tab)",
|
||||||
|
"Markdown File": "Markdown File",
|
||||||
"Clear User Data": "Xóa dữ liệu người dùng",
|
"Clear User Data": "Xóa dữ liệu người dùng",
|
||||||
"Export all transaction data to file.": "Xuất tất cả dữ liệu giao dịch sang tệp.",
|
"Export all transaction data to file.": "Xuất tất cả dữ liệu giao dịch sang tệp.",
|
||||||
"Are you sure you want to export all transaction data to file?": "Bạn có chắc chắn muốn xuất tất cả dữ liệu giao dịch sang tệp không?",
|
"Are you sure you want to export all transaction data to file?": "Bạn có chắc chắn muốn xuất tất cả dữ liệu giao dịch sang tệp không?",
|
||||||
|
|||||||
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "数据管理",
|
"Data Management": "数据管理",
|
||||||
"Unable to retrieve user statistics data": "无法获取用户统计数据",
|
"Unable to retrieve user statistics data": "无法获取用户统计数据",
|
||||||
"Export Data": "导出数据",
|
"Export Data": "导出数据",
|
||||||
"Field Separator": "字段分隔符",
|
"File Format": "文件格式",
|
||||||
"CSV (Comma-separated values) File": "CSV (逗号分隔的值) 文件",
|
"CSV (Comma-separated values) File": "CSV (逗号分隔的值) 文件",
|
||||||
"TSV (Tab-separated values) File": "TSV (制表符分隔的值) 文件",
|
"TSV (Tab-separated values) File": "TSV (制表符分隔的值) 文件",
|
||||||
|
"Markdown File": "Markdown 文件",
|
||||||
"Clear User Data": "清除用户数据",
|
"Clear User Data": "清除用户数据",
|
||||||
"Export all transaction data to file.": "导出所有交易数据到文件。",
|
"Export all transaction data to file.": "导出所有交易数据到文件。",
|
||||||
"Are you sure you want to export all transaction data to file?": "您确定要导出所有交易数据到文件?",
|
"Are you sure you want to export all transaction data to file?": "您确定要导出所有交易数据到文件?",
|
||||||
|
|||||||
@@ -1924,9 +1924,10 @@
|
|||||||
"Data Management": "資料管理",
|
"Data Management": "資料管理",
|
||||||
"Unable to retrieve user statistics data": "無法取得使用者統計資料",
|
"Unable to retrieve user statistics data": "無法取得使用者統計資料",
|
||||||
"Export Data": "匯出資料",
|
"Export Data": "匯出資料",
|
||||||
"Field Separator": "欄位分隔符",
|
"File Format": "檔案格式",
|
||||||
"CSV (Comma-separated values) File": "CSV (逗號分隔的值) 檔案",
|
"CSV (Comma-separated values) File": "CSV (逗號分隔的值) 檔案",
|
||||||
"TSV (Tab-separated values) File": "TSV (定位點分隔的值) 檔案",
|
"TSV (Tab-separated values) File": "TSV (定位點分隔的值) 檔案",
|
||||||
|
"Markdown File": "Markdown 檔案",
|
||||||
"Clear User Data": "清除使用者資料",
|
"Clear User Data": "清除使用者資料",
|
||||||
"Export all transaction data to file.": "匯出所有交易資料到檔案。",
|
"Export all transaction data to file.": "匯出所有交易資料到檔案。",
|
||||||
"Are you sure you want to export all transaction data to file?": "您確定要匯出所有交易資料到檔案?",
|
"Are you sure you want to export all transaction data to file?": "您確定要匯出所有交易資料到檔案?",
|
||||||
|
|||||||
@@ -10,15 +10,19 @@
|
|||||||
<v-icon :icon="mdiDotsVertical" />
|
<v-icon :icon="mdiDotsVertical" />
|
||||||
<v-menu activator="parent">
|
<v-menu activator="parent">
|
||||||
<v-list>
|
<v-list>
|
||||||
<v-list-subheader :title="tt('Field Separator')"/>
|
<v-list-subheader :title="tt('File Format')"/>
|
||||||
<v-list-item :prepend-icon="mdiComma"
|
<v-list-item :prepend-icon="mdiComma"
|
||||||
:append-icon="separator === ',' ? mdiCheck : undefined"
|
:append-icon="fileFormat === 'csv' ? mdiCheck : undefined"
|
||||||
:title="tt('Comma')"
|
:title="tt('CSV (Comma-separated values) File')"
|
||||||
@click="separator = ','"></v-list-item>
|
@click="fileFormat = 'csv'"></v-list-item>
|
||||||
<v-list-item :prepend-icon="mdiKeyboardTab"
|
<v-list-item :prepend-icon="mdiKeyboardTab"
|
||||||
:append-icon="separator === '\t' ? mdiCheck : undefined"
|
:append-icon="fileFormat === 'tsv' ? mdiCheck : undefined"
|
||||||
:title="tt('Tab')"
|
:title="tt('TSV (Tab-separated values) File')"
|
||||||
@click="separator = '\t'"></v-list-item>
|
@click="fileFormat = 'tsv'"></v-list-item>
|
||||||
|
<v-list-item :prepend-icon="mdiLanguageMarkdownOutline"
|
||||||
|
:append-icon="fileFormat === 'md' ? mdiCheck : undefined"
|
||||||
|
:title="tt('Markdown File')"
|
||||||
|
@click="fileFormat = 'md'"></v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-menu>
|
</v-menu>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
@@ -87,6 +91,7 @@ import { useI18n } from '@/locales/helpers.ts';
|
|||||||
|
|
||||||
import { useUserStore } from '@/stores/user.ts';
|
import { useUserStore } from '@/stores/user.ts';
|
||||||
|
|
||||||
|
import { replaceAll } from '@/lib/common.ts';
|
||||||
import { copyTextToClipboard, startDownloadFile } from '@/lib/ui/common.ts';
|
import { copyTextToClipboard, startDownloadFile } from '@/lib/ui/common.ts';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@@ -94,6 +99,7 @@ import {
|
|||||||
mdiCheck,
|
mdiCheck,
|
||||||
mdiComma,
|
mdiComma,
|
||||||
mdiKeyboardTab,
|
mdiKeyboardTab,
|
||||||
|
mdiLanguageMarkdownOutline,
|
||||||
mdiMenuDown
|
mdiMenuDown
|
||||||
} from '@mdi/js';
|
} from '@mdi/js';
|
||||||
|
|
||||||
@@ -109,7 +115,7 @@ const snackbar = useTemplateRef<SnackBarType>('snackbar');
|
|||||||
const showState = ref<boolean>(false);
|
const showState = ref<boolean>(false);
|
||||||
const headers = ref<string[]>([]);
|
const headers = ref<string[]>([]);
|
||||||
const data = ref<string[][]>([]);
|
const data = ref<string[][]>([]);
|
||||||
const separator = ref<string>(',');
|
const fileFormat = ref<string>('csv');
|
||||||
const showRawData = ref<boolean>(false);
|
const showRawData = ref<boolean>(false);
|
||||||
|
|
||||||
const dataTableHeaders = computed<object[]>(() => {
|
const dataTableHeaders = computed<object[]>(() => {
|
||||||
@@ -137,14 +143,32 @@ const dataTableItems = computed<object[]>(() => {
|
|||||||
const exportedData = computed<string>(() => {
|
const exportedData = computed<string>(() => {
|
||||||
let ret = '';
|
let ret = '';
|
||||||
|
|
||||||
if (headers.value.length > 0) {
|
if (fileFormat.value === 'csv' || fileFormat.value === 'tsv') {
|
||||||
ret += headers.value.join(separator.value);
|
let separator = ',';
|
||||||
|
|
||||||
|
if (fileFormat.value === 'tsv') {
|
||||||
|
separator = '\t';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (headers.value.length > 0) {
|
||||||
|
ret += headers.value.map(item => replaceAll(item, separator, ' ')).join(separator);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const row of data.value) {
|
||||||
|
ret += '\n';
|
||||||
|
ret += row.map(item => replaceAll(item, separator, ' ')).join(separator);
|
||||||
|
}
|
||||||
|
} else if (fileFormat.value === 'md') {
|
||||||
|
ret += '| ' + headers.value.map(item => replaceAll(item, '|', ' ')).join(' | ') + ' |';
|
||||||
|
ret += '\n';
|
||||||
|
ret += '| ' + headers.value.map(() => '---').join(' | ') + ' |';
|
||||||
|
|
||||||
|
for (const row of data.value) {
|
||||||
|
ret += '\n';
|
||||||
|
ret += '| ' + row.map(item => replaceAll(item, '|', ' ')).join(' | ') + ' |';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const row of data.value) {
|
|
||||||
ret += '\n';
|
|
||||||
ret += row.join(separator.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
});
|
});
|
||||||
@@ -164,7 +188,7 @@ function getExportFileName(fileExtension: string): string {
|
|||||||
function open(options: { headers: string[], data: string[][] }): void {
|
function open(options: { headers: string[], data: string[][] }): void {
|
||||||
headers.value = options.headers || [];
|
headers.value = options.headers || [];
|
||||||
data.value = options.data || [];
|
data.value = options.data || [];
|
||||||
separator.value = ',';
|
fileFormat.value = 'csv';
|
||||||
showRawData.value = false;
|
showRawData.value = false;
|
||||||
showState.value = true;
|
showState.value = true;
|
||||||
}
|
}
|
||||||
@@ -175,15 +199,15 @@ function copy(): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function save(): void {
|
function save(): void {
|
||||||
let fileExtension = 'csv';
|
|
||||||
let contentType = 'text/csv';
|
let contentType = 'text/csv';
|
||||||
|
|
||||||
if (separator.value === '\t') {
|
if (fileFormat.value === 'tsv') {
|
||||||
fileExtension = 'tsv';
|
|
||||||
contentType = 'text/tab-separated-values';
|
contentType = 'text/tab-separated-values';
|
||||||
|
} else if (fileFormat.value === 'md') {
|
||||||
|
contentType = 'text/markdown';
|
||||||
}
|
}
|
||||||
|
|
||||||
startDownloadFile(getExportFileName(fileExtension), new Blob([exportedData.value], { type: contentType }));
|
startDownloadFile(getExportFileName(fileFormat.value), new Blob([exportedData.value], { type: contentType }));
|
||||||
}
|
}
|
||||||
|
|
||||||
function cancel(): void {
|
function cancel(): void {
|
||||||
|
|||||||
Reference in New Issue
Block a user