mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 11:39:01 +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
	 zadam
						zadam