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

Add checkboxes to file browser #3

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open

Add checkboxes to file browser #3

wants to merge 22 commits into from

Conversation

gabalafou
Copy link
Owner

@gabalafou gabalafou commented Mar 30, 2022

References

Partially addresses https://github.com/jupyterlab/retrolab/issues/260, which
seeks to minimize UI differences between classic Notebook (which has file
checkboxes) and the upcoming Notebook v7 (which currently does not).

Code changes

  • Style changes in filebrowser CSS to make space for the checkbox and handle
    visibility
  • Changes to DirListing class and default renderer to create checkboxes,
    handle clicks on them, and update state
  • New test file, listing.spec.ts, to test checkbox functionality
  • Fix for ServiceManagerMock so that when you ask for the contents of a
    directory you don't get the directory itself within that list

User-facing changes

Similar to the Windows file browser, this adds checkboxes that allows the user
to select and unselect files by clicking the checkboxes. This provides another
method to select multiple files, which should make it easier for some users.

This pull request also includes a "check all" checkbox.

In order to make more room for the checkboxes, the height of each row was
slightly increased. The name column was made wider while the date column was
made narrower so that file names would not get truncated too early. The left
vertical gutter is disrupted by the checkbox.

Light and dark theme screenshots:

JupyterLab light theme, file browser with checkboxes

JupyterLab dark theme, file browser with checkboxes

Backwards-incompatible changes

None.

gabalafou pushed a commit that referenced this pull request Aug 11, 2022
…-lost

Better handling of derived props computation
gabalafou pushed a commit that referenced this pull request Aug 11, 2022
* Load document from the back-end using y-py

* Load only documents metadata when collaborative

* Delay closing the room in the backend

* Update Yjs

* Fix notebook ycell initialization

* Watch file change in the back-end and overwrite Y document

* Automatically save from the back-end

* Small fixes

* Use ypy-websocket's WebsocketServer

* Poll for file changes for now, until watchfiles is fixed

* Use ypy-websocket v0.1.2

* Remove watchfiles

* Rename save_document to maybe_save_document, add collab_file_poll_interval config

* Workaround ypy bug

* Fix for new notebook

* Use jupyter_ydoc

* Rename yjs_echo_ws.py->ydoc_handler.py, YjsEchoWebSocket->YDocWebSocketHandler

* Update ypy-websocket and jupyter_ydoc minimum versions

* Use ypy-websocket>=0.1.6

* Update jupyter_ydoc>=0.1.4

* Move WEBSOCKET_SERVER global variable to YDocWebSocketHandler class attribute

* Fix tests

* Update jupyterlab/staging/package.json

* Rename collab_file_poll_interval to collaborative_file_poll_interval, update extension migration documentation

* Set room name as file_type:file_name

* Don't save file if already on disk

* Pin jupyter_ydoc>=0.1.5

* Set room name as format:type:path

* Disable save button

* Show caption only in collaborative mode

* Sync file attributes with room name

* Clear dirty flag when opening document

* Pin jupyter_ydoc>=0.1.7 which observes the dirty flag

* Don't save when dirty flag cleared

* Moves nbformat and nbformat_minor to ymeta, changes the YNotebook eve… (#2)

* Moves nbformat and nbformat_minor to ymeta, changes the YNotebook event to support the new nbformat, and adds a local dirty property

* Pin jupyter_ydoc>=0.1.8

* Adds a local dirty property in the DocumentModel (#3)

* Removes the initialization of the dirty property from the frontend (#4)

* Removes the initialization of the dirty property from the frontend

* Remove setting dirty in the SharedDocument

Co-authored-by: hbcarlos <[email protected]>
Co-authored-by: Frédéric Collonval <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant