diff --git a/rslib/src/import_export/text/csv/metadata.rs b/rslib/src/import_export/text/csv/metadata.rs index 019457f77..8d5668382 100644 --- a/rslib/src/import_export/text/csv/metadata.rs +++ b/rslib/src/import_export/text/csv/metadata.rs @@ -136,6 +136,11 @@ impl Collection { metadata.deck = Some(CsvDeck::DeckColumn(n)); } } + "tags column" => { + if let Ok(n) = value.trim().parse() { + metadata.tags_column = n; + } + } _ => (), } } diff --git a/ts/import-csv/ImportCsvPage.svelte b/ts/import-csv/ImportCsvPage.svelte index 1a7b126c0..c7cf26bd9 100644 --- a/ts/import-csv/ImportCsvPage.svelte +++ b/ts/import-csv/ImportCsvPage.svelte @@ -49,7 +49,12 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html let dupeResolution: ImportExport.ImportCsvRequest.DupeResolution; let lastNotetypeId = globalNotetype?.id; - $: columnOptions = getColumnOptions(columnLabels, notetypeColumn, deckColumn); + $: columnOptions = getColumnOptions( + columnLabels, + notetypeColumn, + deckColumn, + tagsColumn, + ); $: getCsvMetadata(path, delimiter).then((meta) => { columnLabels = meta.columnLabels; preview = meta.preview; diff --git a/ts/import-csv/lib.ts b/ts/import-csv/lib.ts index d534f9f4b..1441713d3 100644 --- a/ts/import-csv/lib.ts +++ b/ts/import-csv/lib.ts @@ -19,6 +19,7 @@ export function getColumnOptions( columnLabels: string[], notetypeColumn: number | null, deckColumn: number | null, + tagsColumn: number, ): ColumnOption[] { return [{ label: tr.changeNotetypeNothing(), value: 0, disabled: false }].concat( columnLabels.map((label, index) => { @@ -27,6 +28,8 @@ export function getColumnOptions( return columnOption(tr.notetypesNotetype(), true, index); } else if (index === deckColumn) { return columnOption(tr.decksDeck(), true, index); + } else if (index === tagsColumn) { + return columnOption(tr.editingTags(), false, index); } else if (label === "") { return columnOption(index, false, index); } else {