sethyuan / logseq-plugin-kanban-board

Draggable, editable Kanban view.
MIT License
59 stars 2 forks source link

Feature Request: Ability to include block results without column property into new "Blank" column (for kboard-query) #11

Closed bluckholl closed 1 year ago

bluckholl commented 1 year ago

Motivation: Get kanban work immediately without prepare in advance block properties and values, so all blocks in query results with an empty property (property not exists / have an empty value) will appears in the first new "Blank" column.

use-case for example: I have a query for all tasks that scheduled / deadline in the next 14 days, and want to tag them with new property "goal" with values Today / This Week / Near Future This feature will show all tasks without "goal" in Kanban and allow to drag it to other columns.

I love your plugins, you are doing really great job!

sethyuan commented 1 year ago

Thanks!

My understanding of your use case (if I'm not wrong) is that you still need to specify "goal" as the property, and "Today", "This Week" and "Near Future" as the values, and on top of that, those blocks from the query result that have no property "goal" will be listed in a special column, say (ungrouped), so you will effectively have 4 columns in total.

This is great idea, I'll look into it.

bluckholl commented 1 year ago

Exactly! ❤️

sethyuan commented 1 year ago

@bluckholl , this is implemented.

bluckholl commented 1 year ago

wow, just checked, it is so much useful now, thanks!!

btw, (ungrouped) cards can sorted by query sorting? (it is nice to have it e.g. sorting by due date will list the nearest due dates first in the ungrouped) Thanks again!

sethyuan commented 1 year ago

Sorting by due dates is a very special case, let me think about it.

sethyuan commented 1 year ago

@bluckholl It's implemented. The results will be sorted first by due dates if there is any, then by content alphabetically.

bluckholl commented 1 year ago

You are correct, due date is a special case (even here we have two different dates to refer to schedule and deadline) - that's why I thought here to embrace query sorting - as with advance queries, different kind of sorting can be implemented (e.g. Calculation of due date days and task importance) So the results order can be display according to that order.

This is really nice to have, Due dates sorting is already full fill main scenario.

I'm appreciate your contribution, thanks a lot (sent you some coffees you definitely deserved ;) )

sethyuan commented 1 year ago

@bluckholl Thank you for the recognition! ☀️

I'll think about the possibility of other kinds of sorting, right now it's difficult to do because sorting is actually not a part of the query but an after processing, and it's only available in advanced queries (written in Clojure).

bluckholl commented 1 year ago

I probably missing something, as it still sorting by name although I installed new version (also clean cache) e.g.

image

Oh, now I tried to add another example for tomorrow and yesterday, and I see there are no cards shown, probably due to this exception:

image

Here are all the blocks to reproduce:

sethyuan commented 1 year ago

Sorry, there is a bug with scheduled/deadline date handling, I'll look into it.

sethyuan commented 1 year ago

@bluckholl I've released a fix, v1.17.1, please have a try.

bluckholl commented 1 year ago

It works great, thank you!!