options fixes

This commit is contained in:
zadam 2022-12-08 15:29:14 +01:00
parent 44997f5cd1
commit c22b6b29e0
4 changed files with 14 additions and 7 deletions

View File

@ -1332,6 +1332,10 @@ class Note extends AbstractEntity {
return this.type === 'launcher' || ['lbRoot', 'lbAvailableShortcuts', 'lbVisibleShortcuts'];
}
isOptions() {
return this.noteId.startsWith("options");
}
get isDeleted() {
return !(this.noteId in this.becca.notes) || this.isBeingDeleted;
}

View File

@ -830,6 +830,10 @@ class NoteShort {
isLaunchBarConfig() {
return this.type === 'launcher' || ['lbRoot', 'lbAvailableShortcuts', 'lbVisibleShortcuts'].includes(this.noteId);
}
isOptions() {
return this.noteId.startsWith("options");
}
}
export default NoteShort;

View File

@ -398,7 +398,8 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
autoExpandMS: 600,
preventLazyParents: false,
dragStart: (node, data) => {
if (['root', 'hidden', 'lbRoot', 'lbAvailableLaunchers', 'lbVisibleLaunchers'].includes(node.data.noteId)) {
if (['root', 'hidden', 'lbRoot', 'lbAvailableLaunchers', 'lbVisibleLaunchers'].includes(node.data.noteId)
|| node.data.noteId.startsWith("options")) {
return false;
}
@ -428,6 +429,8 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
return false;
} else if (node.data.noteId === 'lbRoot') {
return false;
} else if (node.data.noteId.startsWith('options')) {
return false;
} else if (node.data.noteType === 'launcher') {
return ['before', 'after'];
} else {
@ -565,7 +568,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
$span.append($refreshSearchButton);
}
if (!['search', 'launcher'].includes(note.type)) {
if (!['search', 'launcher'].includes(note.type) && !note.isOptions()) {
const $createChildNoteButton = $('<span class="tree-item-button add-note-button bx bx-plus" title="Create child note"></span>');
$span.append($createChildNoteButton);

View File

@ -114,14 +114,10 @@ function getAndValidateParent(params) {
throw new Error(`Launchers should not have child notes.`);
}
if (!params.ignoreForbiddenParents && ['lbRoot'].includes(parentNote.noteId)) {
if (!params.ignoreForbiddenParents && (parentNote.isLaunchBarConfig() || parentNote.isOptions())) {
throw new Error(`Creating child notes into '${parentNote.noteId}' is not allowed.`);
}
if (['lbAvailableLaunchers', 'lbVisibleLaunchers'].includes(parentNote.noteId) && params.type !== 'launcher') {
throw new Error(`Creating child notes into '${parentNote.noteId}' is only possible for type 'launcher'.`);
}
return parentNote;
}