mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 13:01:31 +08:00 
			
		
		
		
	
		
			
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | async function getChartData() { | ||
|  |     const days = await api.runOnBackend(() => { | ||
|  |         const notes = api.getNotesWithLabel('weight'); | ||
|  |         const days = []; | ||
|  | 
 | ||
|  |         for (const note of notes) { | ||
|  |             const date = note.getLabelValue('dateNote'); | ||
|  |             const weight = parseFloat(note.getLabelValue('weight')); | ||
|  | 
 | ||
|  |             if (date && weight) { | ||
|  |                 days.push({ date, weight }); | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         days.sort((a, b) => a.date > b.date ? 1 : -1); | ||
|  | 
 | ||
|  |         return days; | ||
|  |     }); | ||
|  | 
 | ||
|  |     const datasets = [ | ||
|  |         { | ||
|  |             label: "Weight (kg)", | ||
|  |             backgroundColor: 'red', | ||
|  |             borderColor: 'red', | ||
|  |             data: days.map(day => day.weight), | ||
|  |             fill: false, | ||
|  |             spanGaps: true, | ||
|  |             datalabels: { | ||
|  |                 display: false | ||
|  |             }, | ||
|  |             tension: 0.3 | ||
|  |         } | ||
|  |     ]; | ||
|  | 
 | ||
|  |     return { | ||
|  |         datasets: datasets, | ||
|  |         labels: days.map(day => day.date) | ||
|  |     }; | ||
|  | } | ||
|  | 
 | ||
|  | const ctx = api.$container.find("canvas")[0].getContext("2d"); | ||
|  | 
 | ||
|  | new chartjs.Chart(ctx, { | ||
|  |     type: 'line', | ||
|  |     data: await getChartData() | ||
|  | }); |