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 Panes for AppFlowy #3337

Draft
wants to merge 121 commits into
base: main
Choose a base branch
from

Conversation

squidrye
Copy link
Contributor

@squidrye squidrye commented Sep 4, 2023

Feature Preview

AwesomeScreenshot-9_1_2023.1.35.57PM.mp4

#2312 This PR targets implementation of multi-panes
cc @Xazin

#3237 Reopening this PR, had to delete my older fork because I had pushed private code due to local git misconfiguration 😢

PR Checklist

  • My code adheres to the AppFlowy Style Guide
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

Todos

  • Decide and implement data structure for panes
  • Map n-ary tree to bloc for state management, allow opening and closing of panes
  • Refactor existing tabs implementation to each pane node
  • Link each pane to correct plugin and view
  • Resizable panes
  • Setup drag and drop for tabs
  • Setup drag and drop for panes
  • Allow horizontal/ vertical scroll for stacked panes based on visible viewport
  • Stack panes over another (Sliding panes)
  • Refactor other features which might break due to this (Mostly scroll related issues)
  • Enable drag and drop across views, tabs and panes
  • Handle edge cases for view -> tab & tab -> tab drops
  • Handle edge cases for view -> pane & tab -> pane drops
  • Refactor cross-draggable entity for better reusability
  • Might need a better design spec for tab-bar, with/without tabs
  • Tests

@Xazin Xazin self-requested a review September 4, 2023 19:23
@LucasXu0
Copy link
Collaborator

@squidrye I have merged the editor optimization into the main branch. You can now rebase the latest main branch and test the performance of multiple editor's windows again.

@Xazin Xazin self-requested a review October 27, 2023 10:02
Copy link
Collaborator

@Xazin Xazin left a comment

Choose a reason for hiding this comment

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

I've cleaned up a bit

@Xazin
Copy link
Collaborator

Xazin commented Nov 9, 2023

Screenshot 2023-11-09 at 17 44 19

Need left padding + icon on hover needs to be correct color


Screenshot 2023-11-09 at 17 45 39

Maybe we should double the minimum width of panes


Screenshot 2023-11-09 at 17 46 29

We can improve this later I guess, but I believe the read-only banner should be not inside the content of the view, but if possible just below the Title Bar.

@annieappflowy
Copy link
Collaborator

what blocks this PR from merging?

@Xazin
Copy link
Collaborator

Xazin commented Dec 25, 2023

what blocks this PR from merging?

Due to the sheer size and complexity of the work here, I requested a secondary review from @LucasXu0 , but it was in the middle of the work on mobile, so it was pushed down in priority for a while.

@squidrye squidrye marked this pull request as draft March 3, 2024 09:11
@squidrye squidrye force-pushed the feat-panes-2312 branch 2 times, most recently from 31a6dca to 9b5f834 Compare March 3, 2024 09:51
@Xazin
Copy link
Collaborator

Xazin commented Mar 3, 2024

Thanks @squidrye for the merge 🙏

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

Successfully merging this pull request may close these issues.

None yet

4 participants