Support table grouping
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 29
- Forks
- 39
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 4
Description
As a user, I want to group my tables/materialized views into folders in web console, just like schemas. Usually, related tables have some common prefix/postfix or a pattern in their names for logical grouping. Web Console should achieve the folder structure with least friction.
For this purpose, suggest the following details for "Folders" feature:
- The user should be able to create "Folder"s by clicking to a button near table listing, and filling two input fields: name and regex.
- Every folder should have a name and an associated regex to capture tables/matviews.
- If the user does not have any folder, we should preserve what we have now (Tables and Materialized views on top level).
- If the user has at least one folder, then we should show the user's folders as well as a folder called "other" to list all tables that are not caught by any folder/regex
- A folder should provide "Delete folder" option when right clicked.
- Under a folder, there will be a "Tables" item if there is any matching table with its regex. Similarly, there will be a "Materialized views" item if there is any matching table with its regex. These "Tables" and "Materialized views" items will show the matching tables/matviews when expanded.
- A table/matview can appear under multiple folders if its name matches multiple regexes
- A folder can contain no items under it, and shows a placeholder indicating that the folder is empty
- Table search should be extended to find folders as well
- The number of folders, thus regexes, should be limited not to exhaust the UI by regex searches
- A regex associated with a folder should not be too greedy not to exhaust the UI
- The folder information
Array<{name: string, regex: string}>should be stored in Preferences, just as instance settings (take a look atPreferencestype and trace how it's used. We will use /settings with POST to merge only the folder information). Thus, in enterprise, only the users with "SETTINGS" permission will be able to add/remove folders. The folder structure should be the same across the users of the database instance.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Preferences type and how instance settings are used, then inspect the table listing, table search, and /settings POST flow. Define the folder UI, regex matching and limits, permissions behavior, and persistence requirements before implementation. Done means folders, matching tables and materialized views, empty and other states, deletion, search, and shared instance settings all work as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100