Fix Zettel Dialog Selection

Now works with a backing array of IDs.
This is inefficient but works for the moment.
And it is better than having to put the ids into the selection.
This commit is contained in:
Marty 2018-11-28 19:25:37 +00:00
parent 1eb6703a57
commit 19a97f35db

View file

@ -124,22 +124,22 @@ QtObject {
// ---- Internal Functions ----
// ----------------------------
function zettelSelectorDialog(editableTextBox, zettelArray) {
if (zettelArray == null) {
zettelArray = [];
fetchZettelIDs().forEach(function (noteId){
let note = script.fetchNoteById(noteId);
zettelArray.push(note.name + " --id:"+note.id);
});
}
function zettelSelectorDialog(isEditableTextBox) {
let backingIDs = [];
let zettelArray = [];
fetchZettelIDs().forEach(function (noteId){
let note = script.fetchNoteById(noteId);
zettelArray.push(note.name);
backingIDs.push(note.id);
});
if (zettelArray.length == 0) {
script.informationMessageBox("No valid Zettel found.");
}
let selected = script.inputDialogGetItem("Zettel", "Select a Zettel", zettelArray, 0, editableTextBox);
// FIXME dont display id in names - rather, go getNotebyName(name) -> (get its id) -> set note to it
return script.fetchNoteById(selected.substring(selected.search(/--id:/)+5));
let selected = script.inputDialogGetItem("Zettel", "Select a Zettel", zettelArray, 0, isEditableTextBox);
return script.fetchNoteById(backingIDs[zettelArray.indexOf(selected)]);
}
function extractAnchorFromString(text) {