-
Notifications
You must be signed in to change notification settings - Fork 173
Multiple files and directories checkpoint 1 #2237
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
Conversation
@chownces I'll need your help in merging without squashing (so as to preserve the git history of the feature branch), thank you! |
* Move editor out of MobileSideContent into MobileWorkspace This is consistent with the desktop equivalent files of SideContent & Workspace, where the editor is a child of Workspace. * Remove manual rendering of the editor No longer needed as the editor is no longer hidden, only overlaid. * Fix side content panels overlapping control bar
…ce (#2206) * Move REPL run logic out of MobileSideContent into MobileWorkspace * Standardise signature of handleShowRepl with that of handleHideRepl * Separate out checks in handleTabChangeForRepl for readability * Fix comment ending with a comma instead of period
* Specify tab positions relative to dynamic tabs in MobileSideContent This removes the implicit precondition that the mobile run tab is the last element of the tabs array. * Align the interface of SideContent with MobileSideContent For consistency.
* Add BrowserFS as a dependency * Initialise file system & inject via FileSystemProvider
* Move responsibility of converting module tabs into getDynamicTabs * Remove unnecessary toSpawn property on SideContentTab * Remove unused Modules type
* Add sidebar to workspace layout * Add SideBar component & preliminary sideways styling * Add styling for sidebar tabs * Collapse tab padding styling into a single property * Add notion of SideBarTab * Add tab selection state to SideBar * Allow unselecting of tabs in SideBar * Prevent selecting of SideBar tab text * Fix SideBar tab styling in Firefox * Add SideBar panel * Make SideBar accept the list of tabs as a property This is similar to SideContent. * Update AssessmentWorkspace snapshots To account for the addition of sideBarProps. * Add FileSystemView and logic to read list of files Directories are just a special case of files. * Add FileSystemViewNode * Remove padding in sidebar panel * Add preliminary layout styling * Add logic to determine whether a file is a file or directory * Extract out directory listing concerns into FileSystemViewList * Add directory & file nodes to handle file type specific behaviour * Add toggling of expanded/collapsed state of directory node * Add directory & file icons * Add indentation to files under directories * Fix indentation being slightly misaligned * Prevent selecting of file system view text * Add dependency on @szhsin/react-menu * Add FileSystemViewContextMenu * Undo unintended change in comment when refactoring * Fix overflow when resizing workspace * Remove unused CSS style * Dynamically display context menu options based off callback props * Add renaming of files * Add check to prevent overwriting existing files when renaming * Extract out renaming logic into FileSystemViewFileName * Add renaming of directories * Fix directory context menu applying to children * Display directories before files, then sort by alphabetical order * Fix context menu not appearing in between file entries Resolved by making use of padding (which are considered part of the element) rather than gaps. * Change background colour of file entries on hover * Move responsibility of indentations into file entries This is so that clicking anywhere within the row of a file entry will result in the file entry handling the click. * Add styling to context menu * Add creating of files * Add deleting of files * Forcibly re-render list after file creation * Lose focus when escape key is pressed * Add creating of directories * Add error dialog when renaming to an existing file/directory name * Add error dialog when adding a duplicate file/directory * Fix context menu appearing underneath editor & prevent line breaks * Add deleting of directories * Implement recursive directory removal * Style file system error message * Display spinner while directory contents are being loaded * Add context menu to the empty space in the file system view * Fix context menu items text being center aligned * Add creating of files in the root directory * Add creating of directories in the root directory * Add confirmation prompt before deleting files * Add confirmation prompt before deleting directories * Introduce delay before rendering spinner to prevent flickering * Remove test sidebar tab * Remove leftover TODO * Add automatic selection of file/directory name when renaming * Remove shifting around of file entries when renaming * Add scrolling to file system view when file names overflow * Make time unit in Delay obvious & add header comment * Remove white space at intersection of scrollbars on Chromium browsers * Disable spellcheck in Input elements * Disable toggling of directory expanded state when renaming * Fix hidden scrollbars taking up space on Chromium browsers * Rename 'Project' sidebar tab to 'Files'
5b9d217
to
8d92d3e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's get this merged in as per discussion this week.
Pull Request Test Coverage Report for Build 3224065056Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
Description
Merging the (disabled) feature into
master
so as to avoid a single big bang integration at the end which might have a lot of conflicts. Please see the squashed commits and their respective PRs for more information on the changes.Part of #2176.
Type of change
How to test
There should not be any change in behaviour since the feature is disabled on production.