From e34817d89f91f7cd3e77902835e82bc3d708c8ea Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 16 Mar 2025 21:31:58 +0200 Subject: [PATCH] feat(docs): update calendar view --- .../Note Types/Book/Calendar View.md | 14 +- .../Note Types/Book/Calendar View.html | 555 ++++++++++-------- 2 files changed, 310 insertions(+), 259 deletions(-) diff --git a/docs/User Guide/User Guide/Note Types/Book/Calendar View.md b/docs/User Guide/User Guide/Note Types/Book/Calendar View.md index 3b072c1f3..cf183bdc3 100644 --- a/docs/User Guide/User Guide/Note Types/Book/Calendar View.md +++ b/docs/User Guide/User Guide/Note Types/Book/Calendar View.md @@ -32,11 +32,7 @@ Unlike other Book view types, the Calendar view also allows some kind of interac The following attributes can be added to the book type: -| Name | Description | -| --- | --- | -| `#calendar:hideWeekends` | When present (regardless of value), it will hide Saturday and Sundays from the calendar. | -| `#calendar:weekNumbers` | When present (regardless of value), it will show the number of the week on the calendar. | -| `~child:template` | Defines the template for newly created notes in the calendar (via dragging or clicking). | +
NameDescription
#calendar:hideWeekendsWhen present (regardless of value), it will hide Saturday and Sundays from the calendar.
#calendar:weekNumbersWhen present (regardless of value), it will show the number of the week on the calendar.
#calendar:view

Which view to display in the calendar:

  • timeGridWeek for the week view;
  • dayGridMonth for the month view;
  • multiMonthYear for the year view;
  • listMonth for the list view.

Any other value will be dismissed and the default view (month) will be used instead.

The value of this label is automatically updated when changing the view using the UI buttons.

~child:templateDefines the template for newly created notes in the calendar (via dragging or clicking).
In addition, the first day of the week can be either Sunday or Monday and can be adjusted from the application settings. @@ -48,13 +44,17 @@ For each note of the calendar, the following attributes can be used: | --- | --- | | `#startDate` | The date the event starts, which will display it in the calendar. The format is `YYYY-MM-DD` (year, month and day separated by a minus sign). | | `#endDate` | Similar to `startDate`, mentions the end date if the event spans across multiple days. The date is inclusive, so the end day is also considered. The attribute can be missing for single-day events. | +| `#startTime` | The time the event starts at. If this value is missing, then the event is considered a full-day event. The format is `HH:MM` (hours in 24-hour format and minutes). | +| `#endTime` | Similar to `startTime`, it mentions the time at which the event ends (in relation with `endDate` if present, or `startDate`). | | `#color` | Displays the event with a specified color (named such as `red`, `gray` or hex such as `#FF0000`). This will also change the color of the note in other places such as the note tree. | | `#calendar:color` | Similar to `#color`, but applies the color only for the event in the calendar and not for other places such as the note tree. | | `#iconClass` | If present, the icon of the note will be displayed to the left of the event title. | | `#calendar:title` | Changes the title of an event to point to an attribute of the note other than the title, either a label (e.g. `#assignee`) or a relation (e.g. `~for`). See _Advanced use-cases_ for more information. | -| `#calendar:displayedAttributes` | Allows displaying the value of one or more attributes in the calendar like this: 

![](11_Calendar%20View_image.png)

`
#weight="70"
#Mood="Good"
#calendar:displayedAttributes="weight,Mood"
`

It can also be used with relations, case in which it will display the title of the target note:

`
~assignee=@My assignee
#calendar:displayedAttributes="assignee"
` | +| `#calendar:displayedAttributes` | Allows displaying the value of one or more attributes in the calendar like this:  

![](11_Calendar%20View_image.png) 

`#weight="70" #Mood="Good" #calendar:displayedAttributes="weight,Mood"`

It can also be used with relations, case in which it will display the title of the target note: 

`~assignee=@My assignee #calendar:displayedAttributes="assignee"` | | `#calendar:startDate` | Allows using a different label to represent the start date, other than `startDate` (e.g. `expiryDate`). The label name **must not be** prefixed with `#`. If the label is not defined for a note, the default will be used instead. | -| `#calendar:endDate` | Allows using a different label to represent the start date, other than `endDate`. The label name **must not be** prefixed with `#`. If the label is not defined for a note, the default will be used instead. | +| `#calendar:endDate` | Similar to `#calendar:startDate`, allows changing the attribute which is being used to read the end date. | +| `#calendar:startTime` | Similar to `#calendar:startDate`, allows changing the attribute which is being used to read the start time. | +| `#calendar:endTime` | Similar to `#calendar:startDate`, allows changing the attribute which is being used to read the end time. | ## How the calendar works diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Book/Calendar View.html b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Book/Calendar View.html index a36474936..6d8750032 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Book/Calendar View.html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Book/Calendar View.html @@ -21,36 +21,37 @@

Unlike other Book view types, the Calendar view also allows some kind of interaction, such as moving events around as well as creating new ones.

Creating a calendar

- - - - - - - - - - - - - - - - - - - - -
1 - - The Calendar View works only for Book note types. To create a new note, - right click on the note tree on the left and select Insert note after, - or Insert child note and then select Book.
2 - - Once created, the “View type” of the Book needs changed to “Calendar”, - by selecting the “Book Properties” tab in the ribbon.
- -

Creating a new event/note

+
+ + + + + + + + + + + + + + + + + + + + +
   
1 + + The Calendar View works only for Book note types. To create a new note, + right click on the note tree on the left and select Insert note after, + or Insert child note and then select Book.
2 + + Once created, the “View type” of the Book needs changed to “Calendar”, + by selecting the “Book Properties” tab in the ribbon.
+
+

Creating a new event/note

Configuring the calendar

The following attributes can be added to the book type:

- - - - - - - - - - - - - - - - - - - - - -
NameDescription
#calendar:hideWeekends - When present (regardless of value), it will hide Saturday and Sundays - from the calendar.
#calendar:weekNumbers - When present (regardless of value), it will show the number of the week - on the calendar.
~child:template - Defines the template for newly created notes in the calendar (via dragging - or clicking).
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
#calendar:hideWeekends + When present (regardless of value), it will hide Saturday and Sundays + from the calendar.
#calendar:weekNumbers + When present (regardless of value), it will show the number of the week + on the calendar.
#calendar:view + +

Which view to display in the calendar:

+
    +
  • timeGridWeek for the week view;
  • +
  • dayGridMonth for the month view;
  • +
  • multiMonthYear for the year view;
  • +
  • listMonth for the list view.
  • +
+

Any other value will be dismissed and the default view (month) will be + used instead.

+

The value of this label is automatically updated when changing the view + using the UI buttons.

+
~child:template + Defines the template for newly created notes in the calendar (via dragging + or clicking).
+

In addition, the first day of the week can be either Sunday or Monday and can be adjusted from the application settings.

Configuring the calendar events

For each note of the calendar, the following attributes can be used:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
#startDate - The date the event starts, which will display it in the calendar. The - format is YYYY-MM-DD (year, month and day separated by a minus - sign).
#endDate - Similar to startDate, mentions the end date if the event spans - across multiple days. The date is inclusive, so the end day is also considered. - The attribute can be missing for single-day events.
#color - Displays the event with a specified color (named such as red, gray or - hex such as #FF0000). This will also change the color of the - note in other places such as the note tree.
#calendar:color - Similar to #color, but applies the color only for the event - in the calendar and not for other places such as the note tree.
#iconClass - If present, the icon of the note will be displayed to the left of the - event title.
#calendar:title - Changes the title of an event to point to an attribute of the note other - than the title, either a label (e.g. #assignee) or a relation - (e.g. ~for). See Advanced use-cases for more information.
#calendar:displayedAttributes - Allows displaying the value of one or more attributes in the calendar - like this:  -
-
- -
-
<br>#weight="70"<br>#Mood="Good"<br>#calendar:displayedAttributes="weight,Mood"<br> -
-
It can also be used with relations, case in which it will display the - title of the target note: -
-
<br>~assignee=@My assignee<br>#calendar:displayedAttributes="assignee"<br> -
#calendar:startDate - Allows using a different label to represent the start date, other than startDate (e.g. expiryDate). - The label name must not be prefixed with #. - If the label is not defined for a note, the default will be used instead.
#calendar:endDate - Allows using a different label to represent the start date, other than endDate. - The label name must not be prefixed with #. - If the label is not defined for a note, the default will be used instead.
- -

How the calendar works

-

- -

-

The calendar displays all the child notes of the book that have a #startDate. - An #endDate can optionally be added.

-

If editing the start date and end date from the note itself is desirable, - the following attributes can be added to the book note:

#viewType=calendar #label:startDate(inheritable)="promoted,alias=Start Date,single,date"
+        
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
#startDate + The date the event starts, which will display it in the calendar. The + format is YYYY-MM-DD (year, month and day separated by a minus + sign).
#endDate + Similar to startDate, mentions the end date if the event spans + across multiple days. The date is inclusive, so the end day is also considered. + The attribute can be missing for single-day events.
#startTime + The time the event starts at. If this value is missing, then the event + is considered a full-day event. The format is HH:MM (hours in + 24-hour format and minutes).
#endTime + Similar to startTime, it mentions the time at which the event + ends (in relation with endDate if present, or startDate).
#color + Displays the event with a specified color (named such as red, gray or + hex such as #FF0000). This will also change the color of the + note in other places such as the note tree.
#calendar:color + Similar to #color, but applies the color only for the event + in the calendar and not for other places such as the note tree.
#iconClass + If present, the icon of the note will be displayed to the left of the + event title.
#calendar:title + Changes the title of an event to point to an attribute of the note other + than the title, either a label (e.g. #assignee) or a relation + (e.g. ~for). See Advanced use-cases for more information.
#calendar:displayedAttributes + Allows displaying the value of one or more attributes in the calendar + like this:   +
+
+   +
+
#weight="70" #Mood="Good" #calendar:displayedAttributes="weight,Mood" +
+
It can also be used with relations, case in which it will display the + title of the target note:  +
+
~assignee=@My assignee #calendar:displayedAttributes="assignee" +
#calendar:startDate + Allows using a different label to represent the start date, other than startDate (e.g. expiryDate). + The label name must not be prefixed with #. + If the label is not defined for a note, the default will be used instead.
#calendar:endDate + Similar to #calendar:startDate, allows changing the attribute + which is being used to read the end date.
#calendar:startTime + Similar to #calendar:startDate, allows changing the attribute + which is being used to read the start time.
#calendar:endTime + Similar to #calendar:startDate, allows changing the attribute + which is being used to read the end time.
+
+

How the calendar works

+

+ +

+

The calendar displays all the child notes of the book that have a #startDate. + An #endDate can optionally be added.

+

If editing the start date and end date from the note itself is desirable, + the following attributes can be added to the book note:

#viewType=calendar #label:startDate(inheritable)="promoted,alias=Start Date,single,date"
 #label:endDate(inheritable)="promoted,alias=End Date,single,date"
 #hidePromotedAttributes 
-

This will result in:

-

- -

-

When not used in a Journal, the calendar is recursive. That is, it will - look for events not just in its child notes but also in the children of - these child notes.

-

Use-cases

-

Using with the Journal / calendar

-

It is possible to integrate the calendar view into the Journal with day - notes. In order to do so change the note type of the Journal note (calendar - root) to Book and then select the Calendar View.

-

Based on the #calendarRoot (or #workspaceCalendarRoot) - attribute, the calendar will know that it's in a calendar and apply the - following:

-
    -
  • The calendar events are now rendered based on their dateNote attribute - rather than startDate.
  • -
  • Interactive editing such as dragging over an empty era or resizing an - event is no longer possible.
  • -
  • Clicking on the empty space on a date will automatically open that day's - note or create it if it does not exist.
  • -
  • Direct children of a day note will be displayed on the calendar despite - not having a dateNote attribute. Children of the child notes - will not be displayed.
  • -
-

- -

-

Using a different attribute as event title

-

By default, events are displayed on the calendar by their note title. - However, it is possible to configure a different attribute to be displayed - instead.

-

To do so, assign #calendar:title to the child note (not the - calendar/book note), with the value being #name where name can - be any label. The attribute can also come through inheritance such as a - template attribute. If the note does not have the requested label, the - title of the note will be used instead.

- - - - - - - - - - - - - -
- - - -
- -

Using a relation attribute as event title

-

Similarly to using an attribute, use #calendar:title and set - it to ~name where name is the name of the relation - to use.

-

Moreover, if there are more relations of the same name, they will be displayed - as multiple events coming from the same note.

- - - - - - - - - - - - - -
- - - -
-

Note that it's even possible to have a #calendar:title on the - target note (e.g. “John Smith”) which will try to render an attribute of - it. Note that it's not possible to use a relation here as well for safety - reasons (an accidental recursion  of attributes could cause the application - to loop infinitely).

- - - - - - - - - - - - - -
- - - -
+

This will result in:

+

+ +

+

When not used in a Journal, the calendar is recursive. That is, it will + look for events not just in its child notes but also in the children of + these child notes.

+

Use-cases

+

Using with the Journal / calendar

+

It is possible to integrate the calendar view into the Journal with day + notes. In order to do so change the note type of the Journal note (calendar + root) to Book and then select the Calendar View.

+

Based on the #calendarRoot (or #workspaceCalendarRoot) + attribute, the calendar will know that it's in a calendar and apply the + following:

+
    +
  • The calendar events are now rendered based on their dateNote attribute + rather than startDate.
  • +
  • Interactive editing such as dragging over an empty era or resizing an + event is no longer possible.
  • +
  • Clicking on the empty space on a date will automatically open that day's + note or create it if it does not exist.
  • +
  • Direct children of a day note will be displayed on the calendar despite + not having a dateNote attribute. Children of the child notes + will not be displayed.
  • +
+

+ +

+

Using a different attribute as event title

+

By default, events are displayed on the calendar by their note title. + However, it is possible to configure a different attribute to be displayed + instead.

+

To do so, assign #calendar:title to the child note (not the + calendar/book note), with the value being #name where name can + be any label. The attribute can also come through inheritance such as a + template attribute. If the note does not have the requested label, the + title of the note will be used instead.

+
+ + + + + + + + + + + + + +
  
+ + + +
+
+

Using a relation attribute as event title

+

Similarly to using an attribute, use #calendar:title and set + it to ~name where name is the name of the relation + to use.

+

Moreover, if there are more relations of the same name, they will be displayed + as multiple events coming from the same note.

+
+ + + + + + + + + + + + + +
  
+ + + +
+
+

Note that it's even possible to have a #calendar:title on the + target note (e.g. “John Smith”) which will try to render an attribute of + it. Note that it's not possible to use a relation here as well for safety + reasons (an accidental recursion  of attributes could cause the application + to loop infinitely).

+
+ + + + + + + + + + + + + +
  
+ + + +
+