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

multicell cut-copy-paste UI/UX feedback #5746

Closed
ivanov opened this Issue Apr 28, 2014 · 22 comments

Comments

Projects
None yet
@ivanov
Member

ivanov commented Apr 28, 2014

Opening this issue to collect feedback on my prototype for multi-cell cut-copy-paste.

You can grab the code which is an extension for now: NB-CCCP

cd $(ipython locate)/nbextensions
git clone https://github.com/ivanov/nb-cccp
echo "require(['nbextensions/nb-cccp'], function (copy_paste) {
    copy_paste.load_ipython_extension();
    console.log('copy_paste extension loaded');
    });" >> $(ipython locate profile)/static/custom/custom.js

The README file of that repo has further instructions for how to use it.

@ivanov

This comment has been minimized.

Member

ivanov commented Apr 28, 2014

Here's an image of what the toolbar icons currently look like
2014-04-28-155220_171x53_scrot

@ellisonbg

This comment has been minimized.

Member

ellisonbg commented Apr 28, 2014

Yeah! Some feedback:

  • I really like the idea of having an indicator that tell how many cells are selected.
  • I don't think we need to change the colors of the cut/copy/paste buttons in addition to colors the number indicator area. They are still just cut/copy/paste and the number indicator give the user all of the additional information they need.
  • I don't think we can yet use a mouse click on the prompt area to toggle this selection. The reason is that we have to redesign the output/input hiding and scrolling behavior and it will very likely involve the prompt area as well.
  • When we actually pull this into IPython, we should provide an API in notebook.js for managing this different notion of "selection".
  • I will have to play with the keyboard shortcuts to see how those feel.

Very cool though...

@cmgerber

This comment has been minimized.

cmgerber commented Apr 29, 2014

Maybe I didn't understand the instructions but the multiple selections don't seem to be working for me. I got the extension loaded fine, the buttons show up, but I can't select more than one cell and even with one cell selected it does not show up in the count button.

@epifanio

This comment has been minimized.

Contributor

epifanio commented Apr 29, 2014

Hi Paul, that's a really nice feature! few weeks ago during a workshop people where asking for such feature!
Do you think we can add also the functionalities to move up/down a selected list of cells ?
(also a group/merge by type will be great :) ) (i should go into the code and make a pr i can try .. )
Thanks again, it works great!

@cmgerber it does work for me (ipython master) i just click on the "promt number" section of the cell :

In []:

the cell get selected and the counter updated.

@cmgerber

This comment has been minimized.

cmgerber commented Apr 29, 2014

@epifanio Hmm, I'm in 2.0 so maybe that's why it isn't working for me. Clicking on the prompt number doesn't do anything for me.

@ivanov

This comment has been minimized.

Member

ivanov commented Apr 29, 2014

@ellisonbg agreed. color change for the toolbar was only for the prototype to obviate the fact that those aren't the usual cut-copy-paste buttons.

@takluyver takluyver added this to the 3.0 milestone May 8, 2014

@hadim

This comment has been minimized.

hadim commented Sep 4, 2014

Any news about this feature ?

@Zsailer

This comment has been minimized.

Contributor

Zsailer commented Oct 14, 2014

@ivanov, this is awesome. I'd love to see this move forward. I have students who'd be very happy to have this feature in their notebooks. Any way I can help?

@ellisonbg

This comment has been minimized.

Member

ellisonbg commented Oct 14, 2014

@ivanov left us for greener (green as in $) pastures but we would love to
see this move forward.

Obviously we would love to see this move forward and could use any help you
could provide. Maybe start by playing around with it and then doing a code
review. If you want to work on it, you could branch off his branch and
continue the work. The main things that need to be worked out are:

  • The behavior and UI (buttons, keyboard shortcuts). This PR may have
    something like this already, but I think we need two abstractions: 1) the
    "active" cell (which we currently call "selected") and 2) the "selected"
    cells. We probably first want to build those abstractions into the
    notebook.js object and then figure out the UI/keyboard stuff for contiguous
    and discontiguous selections.
  • Code review
  • Tests

On Tue, Oct 14, 2014 at 11:59 AM, Zachary Sailer notifications@github.com
wrote:

@ivanov https://github.com/ivanov, this is awesome. I'd love to see
this move forward. I have students who'd be very happy to have this feature
in their notebooks. Any way I can help?


Reply to this email directly or view it on GitHub
#5746 (comment).

Brian E. Granger
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@Zsailer

This comment has been minimized.

Contributor

Zsailer commented Oct 14, 2014

@ellisonbg Sounds good. I'd be happy to play around with this for a bit and see what I can come up with

@Carreau

This comment has been minimized.

Member

Carreau commented Oct 14, 2014

And it will probably be easier to integrate with ipython if #6668 is in.

@ellisonbg

This comment has been minimized.

Member

ellisonbg commented Oct 14, 2014

+1

On Tue, Oct 14, 2014 at 1:26 PM, Matthias Bussonnier <
notifications@github.com> wrote:

And it will probably be easier to integrate with ipython if #6668
#6668 is in.


Reply to this email directly or view it on GitHub
#5746 (comment).

Brian E. Granger
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@IanHawke

This comment has been minimized.

IanHawke commented Mar 4, 2015

I've just update to Jupyter notebook 3.0 (through conda, using python 3.4.2) and this extension stopped the notebook from working correctly (it is the only extension I had running; removing the profile/static/custom/custom.js file made the notebook work fine). Is that expected?

@takluyver

This comment has been minimized.

Member

takluyver commented Mar 4, 2015

It's not exactly expected, but it's not especially surprising either - quite a lot has changed in the JS between 2.x and 3.x. Hopefully we'll get round to building multi-cell selection into the notebook before too much longer, so it won't need to be an extension.

@Carreau Carreau modified the milestones: 4.0, wishlist Jun 15, 2015

@trendelkampschroer

This comment has been minimized.

trendelkampschroer commented Nov 11, 2015

Hi,

I like this feature a lot. Could it be extended to also allow /cut/copy/paste of multiple cells between different notebooks?

@ellisonbg

This comment has been minimized.

Member

ellisonbg commented Nov 13, 2015

We are working on allowing multiple notebooks on a single browser tab. Then
it will be pretty easy to add that feature (and yes, we too would like to
have it!)

On Wed, Nov 11, 2015 at 4:53 AM, Benjamin Trendelkamp-Schroer <
notifications@github.com> wrote:

Hi,

I like this feature a lot. Could it be extended to also allow
/cut/copy/paste of multiple cells between different notebooks?


Reply to this email directly or view it on GitHub
#5746 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@amueller

This comment has been minimized.

amueller commented Nov 27, 2015

stupid question but wouldn't it be possible to allow copy and paste using the system clipboard?
Then there is no issue with doing it between browsers.

Something like https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/

Rearranging cells between notebooks happens a lot to me when I prepare lectures / tutorials.

@minrk

This comment has been minimized.

Member

minrk commented Nov 27, 2015

@amueller I think doing it with the clipboard is probably what we should do next, if we can get it to work. Thanks for the link!

@amueller

This comment has been minimized.

amueller commented Nov 27, 2015

I imagine it will be non-trivial but I'm sure you can rock it :)

@palbarede

This comment has been minimized.

palbarede commented Jan 10, 2016

I installed NB-CCCP and I do see the 3 new blue buttons and the counter displaying 0 but just like
cmgerber on Apr 29, 2014
I cannot select more than one cell and even if I select one cell the counter does not display 1.

I do not understand how to select multiple cells with NB-CCCP.

Server Information:

You are using Jupyter notebook.

The version of the notebook server is 4.0.6 and is running on:

Python 3.5.1 |Anaconda 2.4.1 (x86_64)| (default, Dec 7 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)]

Current Kernel Information:

Python 3.5.1 |Anaconda 2.4.1 (x86_64)| (default, Dec 7 2015, 11:24:55)
Type "copyright", "credits" or "license" for more information.

IPython 4.0.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
%guiref -> A brief reference about the graphical user interface.

@Carreau

This comment has been minimized.

Member

Carreau commented Jan 10, 2016

I installed NB-CCCP and I do see the 3 new blue buttons and the counter displaying 0 but just like
cmgerber on Apr 29, 2014

Please see notebook 4.1 which was released a few days ago and have multiple selection & copy/cut/past baked in.

Closing this issue.

@Carreau Carreau closed this Jan 10, 2016

@palbarede

This comment has been minimized.

palbarede commented Jan 10, 2016

Yes it works thanks.

@minrk minrk modified the milestones: 4.1, wishlist Feb 15, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment