[GH-ISSUE #1796] [FR] Support linked view of database #698

Closed
opened 2026-03-23 20:39:54 +00:00 by mirror · 3 comments
Owner

Originally created by @annieappflowy on GitHub (Feb 4, 2023).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/1796

Originally assigned to: @a-wallen on GitHub.

Description

Enable users type / to insert linked database views of a grid/board into a page.

Currently, when typing the / will show the popup menu. User can select the inserted grid/kanban board. But can't create
another view of the existing database. So we need to implement that user can create a view and then choose the existing databases or create a new database.

image

So it needs to implement these features:

  1. Create a database-inline (Currently it just like create a grid)
  2. Create a database view(knaban board/ Grid / Calendar) and choosing the existing database.
  • #2017

    • typing /grid or /board to create a new database.
    • the new database will also display on the sidebar.
  • #2047

    • typing /grid a new database.
    • the new database will also display on the sidebar.
  • supporting linking an existing Board or Grid via the slash menu.
    • typing /grid view or /board view to link an existing database.
    • #2052

FYI, the calendar view is a still work in progress.

Ref:
The database view relation

Originally created by @annieappflowy on GitHub (Feb 4, 2023). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/1796 Originally assigned to: @a-wallen on GitHub. ### Description Enable users type` /` to insert linked database views of a grid/board into a page. Currently, when typing the `/` will show the popup menu. User can select the inserted grid/kanban board. But can't create another view of the existing database. So we need to implement that user can create a view and then choose the existing databases or create a new database. <img width="762" alt="image" src="https://user-images.githubusercontent.com/86001920/223659817-542211c1-3415-4b34-ab3e-f341b08ba822.png"> So it needs to implement these features: 1. Create a database-inline (Currently it just like create a grid) 2. Create a database view(knaban board/ Grid / Calendar) and choosing the existing database. - [x] #2017 - [x] typing `/grid` or `/board` to create a new database. - [x] the new database will also display on the sidebar. - [x] #2047 - [x] typing `/grid` a new database. - [x] the new database will also display on the sidebar. ## Link to an existing database - [x] supporting linking an existing Board or Grid via the slash menu. - [x] typing `/grid view` or `/board view` to link an existing database. - [x] #2052 FYI, the calendar view is a still work in progress. Ref: [The database view relation](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/architecture/frontend/database-view)
mirror 2026-03-23 20:39:54 +00:00
Author
Owner

@LucasXu0 commented on GitHub (Mar 15, 2023):

Create a new database

  • Support creating a new board via the slash menu.
    • typing /grid or /board to create a new database.
    • the new database will also display on the sidebar.
  • supporting linking an existing Board or Grid via the slash menu.
    • typing /grid view or /board view to link an existing database.
    • only the data will sync on each page or the same page, not including the actions applying to the view, like, filter, sort, and so on.

For example, I inserted two referenced grids with the same database on the document page.
Screenshot 2023-03-15 at 11 29 44

I applied a filter to the first one, and it will affect the second one too. It's not our expectation. Our expectation is the action applied to the first one will not affect the second one.
Screenshot 2023-03-15 at 11 29 54

<!-- gh-comment-id:1469265785 --> @LucasXu0 commented on GitHub (Mar 15, 2023): ## Create a new database - [ ] Support creating a new board via the slash menu. - [ ] typing `/grid` or `/board` to create a new database. - [ ] the new database will also display on the sidebar. ## Link to an existing database - [ ] supporting linking an existing Board or Grid via the slash menu. - [ ] typing `/grid view` or `/board view` to link an existing database. - [ ] only the data will sync on each page or the same page, not including the actions applying to the view, like, filter, sort, and so on. For example, I inserted two referenced grids with the same database on the document page. <img width="2032" alt="Screenshot 2023-03-15 at 11 29 44" src="https://user-images.githubusercontent.com/11863087/225199267-a4d9a8a2-bc33-4061-9c9d-a053ce99c7e1.png"> I applied a filter to the first one, and it will affect the second one too. It's not our expectation. Our expectation is the action applied to the first one will not affect the second one. <img width="2032" alt="Screenshot 2023-03-15 at 11 29 54" src="https://user-images.githubusercontent.com/11863087/225199947-d2aa20a6-272d-4c26-a07b-3c648b61c647.png">
Author
Owner

@a-wallen commented on GitHub (Mar 18, 2023):

The slash menu is embedded in an Overlay and doesn't have access to the BlocProvider that provides the AppBloc's (app_bloc.dart). To create a new Board or Grid via the slash menu, it's necessary to provide an appId to the AppBackendService::createView. IIRC, AppEvent.createView will call AppBackendService, or we can just call AppBackendService::createView directly. Either way, the Overlay needs access to the appId.

<!-- gh-comment-id:1474626938 --> @a-wallen commented on GitHub (Mar 18, 2023): The slash menu is embedded in an Overlay and doesn't have access to the BlocProvider that provides the `AppBloc`'s (`app_bloc.dart)`. To create a new Board or Grid via the slash menu, it's necessary to provide an `appId` to the `AppBackendService::createView`. IIRC, `AppEvent.createView` will call `AppBackendService`, or we can just call `AppBackendService::createView` directly. Either way, the Overlay needs access to the `appId`.
Author
Owner

@a-wallen commented on GitHub (Apr 4, 2023):

Closing as all tasks are completed.

<!-- gh-comment-id:1495364687 --> @a-wallen commented on GitHub (Apr 4, 2023): Closing as all tasks are completed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#698
No description provided.