Bases Multi-Group

by bongho
5
4
3
2
1
Score: 50/100
New Plugin

Description

A Bases table view that lists a note under every value of a grouped list property

Reviews

No reviews yet.

Stats

0
stars
downloads
0
forks
0
days
0
days
0
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
5
commits

Latest Version

12 hours ago

Changelog

See commits for changes.

README file from

Github

Bases Multi-Group

A Bases table view that lists a note under every value of a grouped list property.

Core Bases groups a list property by the whole list, so a note with category: [main, side] lands in one combined group called "main, side". With this view it appears under main and again under side. This is the behaviour asked for in the forum thread Make a note fall into multiple groups.

Usage

  1. Open a base and add a view of type Multi-group table.
  2. Set Group by as usual. There are no extra options: the view reads the grouping you already configured.

Groupings that are not lists render exactly as core does, in the same order.

Designed to be retired

The view keeps no settings of its own. If core Bases adds this behaviour, switch the view type back to Table and nothing else needs migrating.

Behaviour and limits

  • Group order follows the direction you chose in Group by. The direction is inferred from the order core returns, because the plugin API does not expose the group-by setting.
  • Rows inside each group keep your sort order.
  • The "No value" group is always last.
  • The property name is shown in group headings only when it can be identified unambiguously. If two properties hold identical values, only the value is shown.
  • Each group shows its first 50 rows. Use Show more to reveal the next 50. Expanded groups stay expanded when the data updates.
  • Group tables are rendered only when they scroll near the viewport, so bases with hundreds of groups stay responsive.
  • Not yet supported: inline editing, kanban or cards layouts, nested groups, collapsing groups.
  • Desktop only for now; it has not been tested on mobile.

Tested on Obsidian 1.13.7 and 1.14.3.

Development

npm ci
npm test
npm run build

Releases are built and attested by the Release workflow when a tag matching the manifest version is pushed. If you regenerate package-lock.json, do it from a directory without node_modules (npm 11 or later) so bindings for every platform are kept.

License

MIT