quigleyj97/jupyterlab-spreadsheet

Implement a Selection Model

Opened this issue · 4 comments

Right now, the SlickGrid control used by the extension is not interactive. This can be a bit surprising to users expecting a more excel-like experience, and precludes more advanced features like copy/paste and editing (if/when that comes).

To fix this, let's start by implementing a Selection Model and leveraging it to enable cell-merge-aware cell selection and highlighting.

Special considerations:

  • Selection should be "merge-aware", a cell may be merged horizontally, vertically, or both
  • SlickGrid can't handle column merges, so the extension simulates it by hiding horizontal borders in merged cells. The Selection Model will need to account for this, by selecting each fake "sub-cell"
  • Selection should just be a single Excel cell for now- eventually we will want merge-aware range Selection

Resources:

hey @quigleyj97 I wanted to contribute

Excellent!

Here's some additional resources that may help:

Let me know if you have any questions or concerns!

hey @quigleyj97 I am not able to install
I cloned the project.Can it will run in vs code?
guride me how to setup this projects

Hi @pawan521,

This project will build in VSCode (it's what I personally use!). Follow the steps here to get it building:

https://github.com/quigleyj97/jupyterlab-spreadsheet#building-from-source

You'll also need Jupyterlab setup for development, and that can be a bit tricky. I would advise you run though this tutorial to learn how extension development works in Jupyterlab:

https://jupyterlab.readthedocs.io/en/stable/extension/extension_tutorial.html

This will get you a working Jupyterlab setup that you can then use for working on jupyterlab-spreadsheet.