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);
|
const item = items.find((item) => item.id === itemId);
|
||||||
if (item) {
|
if (item) {
|
||||||
selectedItem = item;
|
selectedItem = item;
|
||||||
onChange?.(item);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -991,27 +991,50 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
copyFromNote,
|
copyFromNote,
|
||||||
stickyFieldsFrom,
|
stickyFieldsFrom,
|
||||||
}: LoadNoteArgs) {
|
}: 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;
|
let homeDeckId = 0n;
|
||||||
if (reviewerCardId) {
|
if (reviewerCardId) {
|
||||||
reviewerCard = await getCard({ cid: reviewerCardId });
|
reviewerCard = await getCard({ cid: reviewerCardId });
|
||||||
homeDeckId = reviewerCard.originalDeckId || reviewerCard.deckId;
|
homeDeckId = reviewerCard.originalDeckId || reviewerCard.deckId;
|
||||||
}
|
}
|
||||||
if (initial && mode === "add") {
|
let originalNote: Note | null = null;
|
||||||
const chooserDefaults = await defaultsForAdding({
|
let selectedNotetypeId: bigint | null = null;
|
||||||
homeDeckOfCurrentReviewCard: homeDeckId,
|
let selectedDeckId: bigint | null = null;
|
||||||
});
|
if (mode === "add") {
|
||||||
if (!deckId) {
|
if (originalNoteId) {
|
||||||
deckId = chooserDefaults.deckId;
|
originalNote = await getNote({
|
||||||
|
nid: originalNoteId,
|
||||||
|
});
|
||||||
|
selectedNotetypeId = originalNote.notetypeId;
|
||||||
|
selectedDeckId = (await defaultDeckForNotetype({ ntid: originalNote.notetypeId })).did;
|
||||||
}
|
}
|
||||||
if (!notetypeId) {
|
else if (initial) {
|
||||||
notetypeId = chooserDefaults.notetypeId;
|
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({
|
const notetype = await getNotetype({
|
||||||
ntid: notetypeId!,
|
ntid: selectedNotetypeId!,
|
||||||
});
|
});
|
||||||
const fieldNames = (
|
const fieldNames = (
|
||||||
await getFieldNames({
|
await getFieldNames({
|
||||||
|
|
@ -1038,10 +1061,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (originalNoteId) {
|
if (originalNote) {
|
||||||
const originalNote = await getNote({
|
|
||||||
nid: originalNoteId,
|
|
||||||
});
|
|
||||||
note!.fields = originalNote.fields;
|
note!.fields = originalNote.fields;
|
||||||
note!.tags = originalNote.tags;
|
note!.tags = originalNote.tags;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue