mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
saving expanded status as label
This commit is contained in:
parent
4ce2eaa919
commit
55f04436c0
18
src/public/app/services/attributes.js
Normal file
18
src/public/app/services/attributes.js
Normal file
@ -0,0 +1,18 @@
|
||||
import server from './server.js';
|
||||
|
||||
async function addLabel(noteId, name, value = "") {
|
||||
await server.put(`notes/${noteId}/attribute`, {
|
||||
type: 'label',
|
||||
name: name,
|
||||
value: value
|
||||
});
|
||||
}
|
||||
|
||||
async function removeAttributeById(noteId, attributeId) {
|
||||
await server.remove(`notes/${noteId}/attributes/${attributeId}`);
|
||||
}
|
||||
|
||||
export default {
|
||||
addLabel,
|
||||
removeAttributeById
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
import linkService from "./link.js";
|
||||
import noteContentRenderer from "./note_content_renderer.js";
|
||||
import treeCache from "./tree_cache.js";
|
||||
import attributeService from "./attributes.js";
|
||||
|
||||
const ZOOMS = {
|
||||
1: {
|
||||
@ -182,7 +183,7 @@ async function renderNoteListContent($noteList, parentNote, notes, page = 1, pag
|
||||
}
|
||||
}
|
||||
|
||||
async function renderList(notes, parentNote = null) {
|
||||
async function renderList(notes, parentNote) {
|
||||
const $noteList = $(TPL);
|
||||
|
||||
$noteList.find('.expand-children-button').on('click', async () => {
|
||||
@ -194,6 +195,10 @@ async function renderList(notes, parentNote = null) {
|
||||
}
|
||||
|
||||
await toggleCards($unexpandedCards, true);
|
||||
|
||||
if (!parentNote.hasLabel('expanded')) {
|
||||
await attributeService.addLabel(parentNote.noteId, 'expanded');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@ -201,6 +206,11 @@ async function renderList(notes, parentNote = null) {
|
||||
const $expandedCards = $noteList.find('.note-book-card.expanded');
|
||||
|
||||
await toggleCards($expandedCards, false);
|
||||
|
||||
// owned is important - we shouldn't remove inherited expanded labels
|
||||
for (const expandedAttr of parentNote.getOwnedLabels('expanded')) {
|
||||
await attributeService.removeAttributeById(parentNote.noteId, expandedAttr.attributeId);
|
||||
}
|
||||
});
|
||||
|
||||
await renderNoteListContent($noteList, parentNote, notes);
|
||||
|
@ -63,7 +63,7 @@ export default class BookTypeWidget extends TypeWidget {
|
||||
// const zoomLevel = parseInt(note.getLabelValue('bookZoomLevel')) || this.getDefaultZoomLevel();
|
||||
// this.setZoom(zoomLevel);
|
||||
|
||||
this.$content.append(await noteListRenderer.renderList(await note.getChildNotes()));
|
||||
this.$content.append(await noteListRenderer.renderList(await note.getChildNotes(), note));
|
||||
}
|
||||
|
||||
/** @return {boolean} true if this is "auto book" activated (empty text note) and not explicit book note */
|
||||
|
@ -52,7 +52,7 @@ function updateNoteAttribute(req) {
|
||||
attribute.type = body.type;
|
||||
}
|
||||
|
||||
if (body.value.trim()) {
|
||||
if (attribute.type === 'label' || body.value.trim()) {
|
||||
attribute.value = body.value;
|
||||
}
|
||||
else {
|
||||
@ -62,6 +62,8 @@ function updateNoteAttribute(req) {
|
||||
|
||||
attribute.save();
|
||||
|
||||
console.log("Saving", attribute);
|
||||
|
||||
return {
|
||||
attributeId: attribute.attributeId
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user