mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-29 11:02:28 +08:00
feat(calendar_view): allow rendering by custom attribute
This commit is contained in:
parent
8111352300
commit
10b2d19710
@ -1,6 +1,7 @@
|
||||
import type { EventSourceInput } from "@fullcalendar/core";
|
||||
import froca from "../../services/froca.js";
|
||||
import ViewMode, { type ViewModeArgs } from "./view_mode.js";
|
||||
import type FNote from "../../entities/fnote.js";
|
||||
|
||||
const TPL = `
|
||||
<div class="calendar-view">
|
||||
@ -58,12 +59,14 @@ export default class CalendarView extends ViewMode {
|
||||
|
||||
for (const note of notes) {
|
||||
const startDate = note.getAttributeValue("label", "startDate");
|
||||
const customTitle = note.getAttributeValue("label", "calendar:title");
|
||||
|
||||
if (!startDate) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const eventData: typeof events[0] = {
|
||||
title: note.title,
|
||||
title: CalendarView.#parseCustomTitle(customTitle, note),
|
||||
start: startDate
|
||||
};
|
||||
|
||||
@ -80,4 +83,15 @@ export default class CalendarView extends ViewMode {
|
||||
return events;
|
||||
}
|
||||
|
||||
static #parseCustomTitle(customTitleValue: string | null, note: FNote) {
|
||||
if (customTitleValue && customTitleValue.startsWith("#")) {
|
||||
const labelValue = note.getAttributeValue("label", customTitleValue.substring(1));
|
||||
if (labelValue) {
|
||||
return labelValue;
|
||||
}
|
||||
}
|
||||
|
||||
return note.title;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user