Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support editor to show workspace view overview #4629

Open
wants to merge 36 commits into
base: main
Choose a base branch
from

Conversation

Jayaprakash-dev
Copy link
Contributor

I've addressed the issue #4282 by implementing the Workspace folder Overview feature, allowing users to create an outline for workspace folder/sub pages structures using the slash commands /overview or /workspace overview. This facilitates easy navigation in nested document structures.

Screenshot and Demo

Screenshot 2024-02-07 at 11 04 09 PM
appflowy_workspace_overview_demo_comp.mov

@Jayaprakash-dev Jayaprakash-dev force-pushed the feat_workspace_view_overview branch 3 times, most recently from 238af72 to eadcdc2 Compare February 10, 2024 21:09
@LucasXu0 LucasXu0 self-requested a review February 19, 2024 13:32
@Jayaprakash-dev Jayaprakash-dev force-pushed the feat_workspace_view_overview branch from 5a203ce to 663682a Compare February 19, 2024 15:18

typedef ChildViewsUpdateNotifier = void Function(ChildViewUpdatePB);

class WorkspaceOverviewListener {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the purpose of this class? If you want to receive updates for the current view and its child views, using ViewListener is sufficient in this case.

Copy link
Contributor Author

@Jayaprakash-dev Jayaprakash-dev Feb 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LucasXu0, The ViewListener class currently only monitors updates from its immediate view and its direct child views(i.e. first level child views). If ViewListener is used in the overview block, then the overview widget component lacks the functionality to listen for updates beyond the first level of child views. However, the WorkspaceOverviewListener class addresses this gap by enabling monitoring of changes in both its own view and all levels of child views in the hierarchy.


String get viewId => context.read<DocumentBloc>().view.id;

final ValueNotifier<bool> _isExpandedNotifier = ValueNotifier(true);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imo, the "expand" value should also be saved in the data because this value needs to be synchronized.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LucasXu0, Could you provide additional context regarding the specific 'data' you're referring to?

@LucasXu0
Copy link
Collaborator

Hey, @Jayaprakash-dev, fyi, the review isn't complete yet. I need to run it locally to test the functionality.

@Jayaprakash-dev Jayaprakash-dev force-pushed the feat_workspace_view_overview branch 2 times, most recently from 09b1330 to 6d1d9d8 Compare March 5, 2024 05:17
@Jayaprakash-dev Jayaprakash-dev force-pushed the feat_workspace_view_overview branch from 6d1d9d8 to a09cfd0 Compare March 14, 2024 20:23
@LucasXu0 LucasXu0 added new feature New feature or request v0.5.8 and removed v0.5.6 labels May 6, 2024
@Xazin Xazin added v0.5.9 and removed v0.5.8 labels May 16, 2024
@LucasXu0 LucasXu0 removed the v0.5.9 label May 30, 2024
@lalomartins
Copy link

I still want this feature, so if @Jayaprakash-dev is no longer available or interested, I'm willing to update the branch, or possibly give it a fresh start.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants