mirror of
https://github.com/ankitects/anki.git
synced 2025-11-06 12:47:11 -05:00
Fix notetype/deck of original note not being set
This commit is contained in:
parent
5e9428cd26
commit
0ed12f5c63
2 changed files with 35 additions and 16 deletions
|
|
@ -66,7 +66,6 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
const item = items.find((item) => item.id === itemId);
|
||||
if (item) {
|
||||
selectedItem = item;
|
||||
onChange?.(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -991,27 +991,50 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
copyFromNote,
|
||||
stickyFieldsFrom,
|
||||
}: LoadNoteArgs) {
|
||||
// Convert values coming from Python
|
||||
if(nid) nid = BigInt(nid);
|
||||
if(notetypeId) notetypeId = BigInt(notetypeId);
|
||||
if(deckId) deckId = BigInt(deckId);
|
||||
if(originalNoteId) originalNoteId = BigInt(originalNoteId);
|
||||
if(reviewerCardId) reviewerCardId = BigInt(reviewerCardId);
|
||||
|
||||
let homeDeckId = 0n;
|
||||
if (reviewerCardId) {
|
||||
reviewerCard = await getCard({ cid: reviewerCardId });
|
||||
homeDeckId = reviewerCard.originalDeckId || reviewerCard.deckId;
|
||||
}
|
||||
if (initial && mode === "add") {
|
||||
const chooserDefaults = await defaultsForAdding({
|
||||
homeDeckOfCurrentReviewCard: homeDeckId,
|
||||
});
|
||||
if (!deckId) {
|
||||
deckId = chooserDefaults.deckId;
|
||||
let originalNote: Note | null = null;
|
||||
let selectedNotetypeId: bigint | null = null;
|
||||
let selectedDeckId: bigint | null = null;
|
||||
if (mode === "add") {
|
||||
if (originalNoteId) {
|
||||
originalNote = await getNote({
|
||||
nid: originalNoteId,
|
||||
});
|
||||
selectedNotetypeId = originalNote.notetypeId;
|
||||
selectedDeckId = (await defaultDeckForNotetype({ ntid: originalNote.notetypeId })).did;
|
||||
}
|
||||
if (!notetypeId) {
|
||||
notetypeId = chooserDefaults.notetypeId;
|
||||
else if (initial) {
|
||||
const chooserDefaults = await defaultsForAdding({
|
||||
homeDeckOfCurrentReviewCard: homeDeckId,
|
||||
});
|
||||
selectedDeckId = chooserDefaults.deckId;
|
||||
selectedNotetypeId = chooserDefaults.notetypeId;
|
||||
}
|
||||
deckChooser.select(BigInt(deckId));
|
||||
notetypeChooser.select(BigInt(notetypeId));
|
||||
}
|
||||
if (deckId) {
|
||||
selectedDeckId = BigInt(deckId);
|
||||
}
|
||||
if (notetypeId) {
|
||||
selectedNotetypeId = BigInt(notetypeId);
|
||||
}
|
||||
if(mode === "add") {
|
||||
deckChooser.select(selectedDeckId!);
|
||||
notetypeChooser.select(selectedNotetypeId!);
|
||||
}
|
||||
|
||||
const notetype = await getNotetype({
|
||||
ntid: notetypeId!,
|
||||
ntid: selectedNotetypeId!,
|
||||
});
|
||||
const fieldNames = (
|
||||
await getFieldNames({
|
||||
|
|
@ -1038,10 +1061,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
return;
|
||||
}
|
||||
}
|
||||
if (originalNoteId) {
|
||||
const originalNote = await getNote({
|
||||
nid: originalNoteId,
|
||||
});
|
||||
if (originalNote) {
|
||||
note!.fields = originalNote.fields;
|
||||
note!.tags = originalNote.tags;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue