Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

Sidebar V2 Phase 2 #5854

Merged
merged 40 commits into from
Jul 6, 2020
Merged

Conversation

hmhealey
Copy link
Member

@hmhealey hmhealey commented Jul 3, 2020

These are the webapp changes for the new sidebar. These changes add new features such as custom categories and drag and drop, and they also tie the contents of the sidebar to the data provided by the server.

Note that there are outstanding issues with these features, but we've decided that they're small enough that they can be addressed once this is on master. We want to get in the core of this on Monday so that it'll have a week to soak on community-daily before the actual submission deadline.

Since this is coming from a feature branch, a thorough review is less necessary since the individual PRs going into this have already been reviewed.

Ticket Link

https://mattermost.atlassian.net/browse/MM-23730

Related Pull Requests

mattermost/mattermost-redux#1185
mattermost/mattermost#14967

devinbinnie and others added 30 commits April 23, 2020 09:26
…iful-dnd (#5217)

* WIP

* Restrict dragging based on category requirements

* isDraggingCategory

* Allow channels to be dropped on top of category headers

* Do not allow DMs to be re-ordered within the DM category

* Show cannot drop cursor when dragging in an area that cannot be dropped into

* Expand category when dragging over the header if the item can be dropped in

* Lint, type and test fixes

* Fixed dragging channels on the desktop

* WIP - hooks to change the order

* Mock persistent drag, doesn't fully work

* Redux change

* Collapse categories on drag so that you're not dragging a huge block

* Category dragging and collapsing working

* Use current favorites preferences when dragging in/out of favorites

* Dim and collapse categories that the current channel cannot be dragged into, also fixed channels that wouldn't collapse during dragging

* Refactoring and cleanup

* Styling around channels and categories when dragging

* Couple fixes

* Fixes as per review with Eric/Andrew

* Redux update

* PR feedback

* Merge'd

* Fixed the category header outline

* Drag n Drop E2E test draft

* PR feedback

* Some accessibility fixes

* More accessibility fixes

* More accessibility fixes

* Style fix

* Removed inline styles on sidebar-channel and added classes to toggle

* Even more accessibility fixes

* Moved to attribute

* DnD E2E test fixes

* Test fix

* Remove unnecessary code

* Remove unnecessary TODO

Co-authored-by: mattermod <[email protected]>
…5378)

* [MM-23966] Added create category modal

* [MM-23966] Genericized create category modal so it can be used for rename as well

* [MM-23967] Added a Delete Category modal

* Update icon pack

* Set correct custom category icon

* Added mock new category

* Use sidebar_dnd_poc for redux

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* Fixed a var
* Some preliminary styling and fixes needed for submenus

* Base menu for channels

* Update icon pack

* Allow submenus to open up, add support for channel menus opening up

* Some style fixes

* More style fixes

* Rough category menu

* Refactored menus into sub component and setup some styles

* Lint, type and test fixes

* Translations and a few more style fixes

* Another submenu style fix

* Copy link functionality

* Add members functionality

* Move to category menu and style

* Update snapshots

* PR feedback

* Remove unnecessary translations

* PR feedback

* PR feedback

* Lint fix

* Basic keyboard navigation for submenus

* Unit tests for quick menus

* Lint fix

* PR feedback

* Style fixes

* PR feedback

* More PR feedback

* Account for shortened viewport

* Temporary menu fixes for mobile

* PR feedback
* Main hookups and merging of 3 features

* Added markers for replacement redux functions

* A plethora of UX fixes

* Fix for the Delete Category menu item and i18n fix

* Feedback from Andrew

* Initial move to mattermost-redux

* Some additional fixes

* Lint, type and style fixes

* PR feedback

* i18n fix

* Test fix

* Fixed the mention badge position/hover state

* Added a couple more tests

* Fixed for padding on the right side of overflowed channel names

* Fixed an issue where dropped categories float to the wrong place before snapping back

* Fixed small alignment issue for GM icons

* Slight adjustment

* PR feedback

* PR feedback

* Update Sorting to CategorySorting

* Update sass/layout/_sidebar-left.scss

Co-authored-by: Dean Whillier <[email protected]>

Co-authored-by: Dean Whillier <[email protected]>
* [MM-25509] Setup channel menu to use new modal style

* Refactor for HH

* Lint fixes

Co-authored-by: mattermod <[email protected]>
* [MM-24705] Add telemetry for Experimental Sidebar Phase 2

* Lint fixes

Co-authored-by: mattermod <[email protected]>
* [MM-24205] Remove tabability from collapsed channel menus

* Snapshot updates
* MM-25126 Add default sorting method

* Update tests

* Revert changes to package-lock.json
@hmhealey hmhealey self-assigned this Jul 3, 2020
@hmhealey hmhealey changed the title Feature/experimental sidebar features v2 Sidebar V2 Phase 2 Jul 3, 2020
@hmhealey hmhealey removed the Setup Cloud Test Server Setup a test server using Mattermost Cloud label Jul 3, 2020
@hmhealey
Copy link
Member Author

hmhealey commented Jul 3, 2020

/check-cla

@hmhealey hmhealey added Setup Cloud Test Server Setup a test server using Mattermost Cloud and removed Setup Cloud Test Server Setup a test server using Mattermost Cloud labels Jul 3, 2020
@hmhealey
Copy link
Member Author

hmhealey commented Jul 3, 2020

FYI, this test server uses the master branch of the server, so the sidebar will be blank when you turn on the new sidebar. I'll try to figure out why this is happening...

@hmhealey hmhealey removed the Setup Cloud Test Server Setup a test server using Mattermost Cloud label Jul 6, 2020
@mm-cloud-bot
Copy link

Test server destroyed

@hmhealey hmhealey removed the 3: QA Review Requires review by a QA tester label Jul 6, 2020
@hmhealey hmhealey removed the request for review from jgilliam17 July 6, 2020 13:55
Copy link
Contributor

@Willyfrog Willyfrog left a comment

Choose a reason for hiding this comment

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

LGTM

@hmhealey hmhealey removed the 2: Dev Review Requires review by a core commiter label Jul 6, 2020
@hahmadia
Copy link
Contributor

hahmadia commented Jul 6, 2020

/update-branch

@hahmadia hahmadia removed the Do Not Merge/Awaiting PR Awaiting another pull request before merging (e.g. server changes) label Jul 6, 2020
@hmhealey hmhealey added the 4: Reviews Complete All reviewers have approved the pull request label Jul 6, 2020
@hmhealey hmhealey merged commit 08a4c57 into master Jul 6, 2020
@hmhealey hmhealey deleted the feature/experimental_sidebar_features-v2 branch July 6, 2020 22:20
Comment on lines +28 to +30
cy.apiLogin('user-1');

cy.visit('/');
Copy link
Member

Choose a reason for hiding this comment

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

Non-blocking and we can fix post-merge into master. Instead of using hard-coded user data like user-1, in the future please something like:

cy.apiInitSetup({loginAfter: true}).then(({team}) => {
    cy.visit(`/${team.name}/channels/town-square`);
});

Copy link
Member Author

Choose a reason for hiding this comment

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

I'll make a note of that. I forgot that we actually had any e2e tests for this since I filed separate tickets to add tests for this anyway.

@amyblais amyblais added Changelog/Done Required changelog entry has been written Docs/Not Needed Does not require documentation labels Jul 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
4: Reviews Complete All reviewers have approved the pull request Changelog/Done Required changelog entry has been written Docs/Not Needed Does not require documentation
Projects
None yet
9 participants