Currently, I use View Manager to apply this sort on two of my views:
1. Currently Reading
#currentlyreading (ascending, psuedobool composite)
2. On Reading List
#onreadinglist (ascending, psuedobool composite)
3. Reading List
#readorder (ascending, series-like text)
4. Percent Read
#percentread (descending, integer)
5. Last Read
#lastread (descending, date column)
6. Other sorts here.
(note that I use "psuedobool composite" as a term for a composite column that returns "yes" when the criteria matches)
For the most part, it produces the result I want:
1. Books I'm currently reading are at the top. They are sorted in descending order based on what percentage I've read of them.
2. They're then followed by books on the reading list.
3. Then it's followed by all of the 100% read books in order of the last read date.
4. Then it's followed by all the other unread books.
Here's the composites:
#currentlyreading:
Code:
program:
test(check_yes_no('#read', 0, 1, 0), test(field('#lastread'), 'Yes', ''), '')
#onreadinglist (this is just a kludge column to ensure that #readorder sorts to the top when it's in ascending order):
Code:
program:
test(field('#readorder'), 'Yes', '')
However, there's one quirk with this: any books that have both #currentlyreading and #readorder sort
above the rest, and the sort resets itself with each list:
Is there any sort of hidden sorting kludge column I can do to make sure them
not sort separately when both #currentlyreading and #onreadinglist/#readorder are active?