Agenda [MAINTAINER NEEDED]

No, I didn't use todo in Joplin. Zero

That explains why your sidebar is empty... but not the processor overheating :thinking:

Nah, not like that. I can't load anything out even the Joplin UI is also can't load

Hi @BeatLink, here is my console error message:

Uncaught (in promise) TypeError: In reducer: Cannot read property 'key' of null Action: {"type":"MAIN_LAYOUT_SET_ITEM_PROP","itemKey":"plugin-view-com.gitlab.BeatLink.joplin-plugin-agenda-panel","propName":"visible","propValue":true}
    at (Joplin\resources\app.asar\app.reducer.js:102
    at Object.iterateItems [as default] (Joplin\resources\app.asar\gui\ResizableLayout\utils\iterateItems.js:6)
    at (Joplin\resources\app.asar\app.reducer.js:101)
    at Immer.produce (Joplin\resources\app.asar\node_modules\immer\dist\immer.cjs.development.js:748)
    at Object.default_1 [as default] (Joplin\resources\app.asar\app.reducer.js:100)
    at reducer (Joplin\resources\app.asar\app.js:83)
    at dispatch (@joplin\lib\node_modules\redux\lib\createStore.js:178)
    at Application.<anonymous> (@joplin\lib\BaseApplication.js:467)
    at Generator.next (<anonymous>)
    at (@joplin\lib\BaseApplication.js:8)

Win10Pro | Joplin v2.4.12 | agenda v1.0.8

@BeatLink It looks much better to me as normal text. For now, this change is enough to make the agenda sidebar much more user friendly. Later on, if an icon or something can be added to differentiate regular tasks and repeating tasks, that'd also be great.

This is a strange error that seems to be upstream.

First thing's first. Update your joplin app to the latest version and try again. If that doesnt work, file a bug report upstream.

Using Joplin 2.5.8 (prod, win32) Revision: dbdb82d, I couldn't find a button for toggling the panel after installing Agenda v1.0.8. Keyboard shortcuts had no entry, also menu.

After some investigation, I found the command "togglePanelVisibilty" (which is in my opinion not very meaningful, something like »toggleAgendaPanel« would be significantly more informative).

I tried to add it to the keyboard shortcuts

…
 },
  {
    "command": "togglePanelVisibilty",
    "accelerator": "F2"
  },
  {
…

This leads to togglePanelVisibilty (Invalid) in keyboard shortcut list (regardless to used key sequence). This is strange, because calling the command from the command palette (where I found it), works as expected.

Therefore, It would be kind, having a look at these points:

  • possibly better naming of the command for frankly identifying it
  • possibly adding a menu entry in View menu, for example Toggle Agenda.
  • clearing the invalidity of keyboard shortcut, which may be solved by renaming it (maybe a collision with another - hidden - command).

As an additional feature, it might be nice to have a check box or something like that in panel to list done tasks, too, or toggle between open and closed ones.

Is it possible to add an agenda calendar at least for the current month, akin calendar selection in alarm setup pop-up? That swithes agenda to show tasks for a selected day

Also, I had a few thoughts about turning this in full blown agenda calendar. Tho, I have to say that I had no real experience in such projects and I can suggest complete BS.


Agenda window should have a date picker, under it a list of tasks for selected day is shown.


For a more structured tasks keeping I suggest creating a separate notebook, with a draft structure of:

Agenda
 ⌞year
   ⌞ month
     ⌞ day
       ⌞ note list

That also will allow to access such agenda much more conveniently from the smartphone even without the plugin, also agenda won't drag to-dos from all the notebooks, that's not always convenient.

When date is selected in date picker, it should focus the date in notes list

4 Likes

EDIT: Press the bell icon on the top right of the header toolbar of Joplin to set an alarm for each TODO to set the date/time for the agenda.

RESOLVED

Hello, I am new to Joplin and have a question:

How do I set todo.todo_due within the markdown/Joplin?

I couldn't find any documentation on that class variable within the repo or Joplin documentation.

The below code snippet shows the data being parsed, and the only field I know how to interact with is todo_completed which I assume returns a bool depending on if the checkbox is marked or not. Any documentation on how to interact with this plugin in a meaningful way would be much appreciated. Thank you for your time!

var response = await joplin.data.get(['notes'], { fields: ['id', 'title', 'is_todo', 'todo_completed', 'todo_due'], page: pageNum++})

Later on, if an icon or something can be added to differentiate regular tasks and repeating tasks, that'd also be great.

I have been looking into this but it seems to require plugin to plugin communication between agenda and the repeating todos plugin. Unfortunately, that doesnt seem to be implemented in joplin's plugin API as yet.

1 Like

possibly better naming of the command for frankly identifying it

All commands and settings are now prefixed with the word "agenda". I assumed previously that each plugin's settings and commands had their own namespace in code but i guess not.

possibly adding a menu entry in View menu, for example Toggle Agenda .

This menu actually already exists! However, it is under the Tools menu, not View.

clearing the invalidity of keyboard shortcut, which may be solved by renaming it (maybe a collision with another - hidden - command).

Hopefully this is solved by the commands and settings naming convention update described above

As an additional feature, it might be nice to have a check box or something like that in panel to list done tasks, too, or toggle between open and closed ones.

This is already in the aforementioned tools menu, the option "Show Completed Todos"

I like the date picker idea, however, it will take time to implement and unfortunately, i have little free time at the moment. Maybe it is something i can look at when i clear up some personal matters.

Is there possibly another challenge with translations?

I tried your modifications but with German language, the shortcut does not work. Switching to English, everything is fine.

Seems as if shortcuts require a translation to work.

I was thinking of adding Sorting support to the Agenda plug in, so that the items in each group are sorted by title.

I am new to GitLab what is the process for suggesting changes?

var sortedTodos = filteredTodos.sort((n1,n2) =>
        {
            if (n1.todo_due == n2.todo_due || (n1.todo_due == null && n2.todo_due == null)){      
                if (sortBy == 'title'){
                    return n1.title.localeCompare(n2.title);
                }
                return 0;
            }else{
                return n1.todo_due - n2.todo_due;
            }
        }
    )

        ,
        "agendaSortItemsBy": {
            label: "Sort Items By",
            type: SettingItemType.String,
            isEnum:true,
            options: {
                'none': 'None',
                'title': 'Title',
            },
            value: 'none',
            public: true,
            section: "settingsSection"
        }

Unfortunately, I believe that such a feature would be outside the scope of Agenda. Agenda was always designed to be sorted in chronological order. But if the feature request is popular enough, I will consider implementing it. To that end, I'm creating a poll below.

Should Agenda Implement Sorting by Title?

  • Yes
  • No

0 voters

The idea was that this is secondary to the date and would be optional and default to the current sorting. i.e. First group by date and then optionally sort by title.

In my case I have a lot of todos not assigned a date and they currently sort in what appears to be a random order.

I think i follow what you are saying. Instead, would it help if it always sorts by date and time first and only if dates are the same or are absent then title is used to sort?

Would that work instead?

Yes, exactly.

thanks

Alun

Hi here,

Would it be possible to offer an option to choose the date format. On a small screen, I would prefer to have something like 29/12/2021

By the way, I realize that this is my default format but that it is not taken into account by the plugin :thinking:

image

Otherwise, another option would be to be able to choose the display size (title level) of the day.

1 Like