mirror of
https://github.com/Fabio286/antares.git
synced 2025-02-17 04:00:48 +01:00
feat: copy row as CSV, closes #394
This commit is contained in:
parent
664d18efc1
commit
1c3d7aa30b
@ -449,6 +449,18 @@ const copyRow = (format: string) => {
|
||||
}
|
||||
navigator.clipboard.writeText(sqlInserts.join('\n'));
|
||||
}
|
||||
else if (format === 'csv') {
|
||||
const csv = [];
|
||||
if (!Array.isArray(contentToCopy)) contentToCopy = [contentToCopy];
|
||||
|
||||
if (contentToCopy.length)
|
||||
csv.push(Object.keys(contentToCopy[0]).join(';'));
|
||||
|
||||
for (const row of contentToCopy)
|
||||
csv.push(Object.values(row).map(col => typeof col === 'string' ? `"${col}"` : col).join(';'));
|
||||
|
||||
navigator.clipboard.writeText(csv.join('\n'));
|
||||
}
|
||||
};
|
||||
|
||||
const duplicateRow = () => {
|
||||
|
@ -21,6 +21,11 @@
|
||||
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} (JSON)
|
||||
</span>
|
||||
</div>
|
||||
<div class="context-element" @click="copyRow('csv')">
|
||||
<span class="d-flex">
|
||||
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} (CSV)
|
||||
</span>
|
||||
</div>
|
||||
<div class="context-element" @click="copyRow('sql')">
|
||||
<span class="d-flex">
|
||||
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} (SQL INSERT)
|
||||
|
Loading…
x
Reference in New Issue
Block a user