Tryton - Issues

 

Issue8240

Title Add drag and drop support to sao
Priority feature Status chatting
Superseder Nosy List angel, ced, nicoe, reviewbot
Type feature request Components sao
Assigned To nicoe Keywords review
Reviews 265181002
View: 265181002

Created on 2019-03-29.17:01:44 by nicoe, last changed by ced.

Files
File name Uploaded Type Edit Remove
Captura de 2019-04-05 13-01-06.png angel, 2019-04-05.13:07:34 image/png
Messages
msg50337 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2019-06-20.18:32:29
I think the problem comes from the modification of the DOM at the start of the drag. I'm guessing that the browser cancel the DnD because the element clicked has moved.
So I think to allow drop inside an element, we could use the shiftkey to insert inside the element above.
msg50084 (view) Author: [hidden] (nicoe) (Tryton committer) Date: 2019-06-05.18:03:14
The link to the github account of the bug (in chrome or SortableJS) preventing further inclusion: https://github.com/SortableJS/Sortable/issues/1484
review265181002 updated at https://codereview.tryton.org/265181002/#ps255241002
msg48433 (view) Author: [hidden] (nicoe) (Tryton committer) Date: 2019-04-05.18:19:47
* Angel Alvarez [2019-04-05 13:07:34]:

> Trying to move a sheet:
>  -see attached file

It's probably related to the browser you're using.
I have the issue in chromium but not in firefox.

What happens is that for some elements (the ones at the end (for a
fuzzy definition of end) of the table) chromium sends a 'dragend'
event effectively stopping the drag'n'drop.

I am still investigating this issue.
msg48428 (view) Author: [hidden] (nicoe) (Tryton committer) Date: 2019-04-05.14:20:42
* Angel Alvarez [2019-04-05 13:07:34]:

> You can not move a leaf to the last tree element:
> 1 >
>   > 2
> to:
> -1 
> -2 
> 
> It forces you to do:
> - 2
> - 1
> 
> and then move
> - 1
> - 2

This is indeed a limitation of the library we chose to implement the
drag'n'drop.

> Trying to move a sheet:
>  -see attached file

How did you succeed to do this, IIRC the new lines should be removed
after the drop. You don't have any message in the javascript console?
msg48427 (view) Author: [hidden] (angel) Date: 2019-04-05.14:09:43
In editable lists, when you create a record, it is not associated with the selected record, but with the top level.
msg48426 (view) Author: [hidden] (angel) Date: 2019-04-05.13:07:34
You can not move a leaf to the last tree element:
1 >
  > 2
to:
-1 
-2 

It forces you to do:
- 2
- 1

and then move
- 1
- 2

Trying to move a sheet:
 -see attached file
msg48425 (view) Author: [hidden] (angel) Date: 2019-04-05.12:57:14
The arrow that opens the tree is not hidden when the last leaf of the tree is moved.
review265181002 updated at https://codereview.tryton.org/265181002/#ps275161002
msg48118 (view) Author: [hidden] (nicoe) (Tryton committer) Date: 2019-03-29.17:01:43
Like the GTK client sao could have support for drag and drop.

After some investigation it seems like https://github.com/SortableJS/Sortable would be a suitable library to add drag'n'drop to sao as it's a minimalist library.

An issue I have identified is the fact that in Tryton in case of a drag'n'drop in a tree the client will open the node with children. In sao it would imply an RPC call that would in turn reconstruct the tree and break it. The option we have chosen to implement is to add a transient line that mean "drop into the node".
History
Date User Action Args
2019-06-20 18:32:30cedsetnosy: + ced
messages: + msg50337
2019-06-05 18:03:14nicoesetmessages: + msg50084
2019-04-05 19:11:21reviewbotsetmessages: + msg48434
2019-04-05 18:19:47nicoesetmessages: + msg48433
2019-04-05 14:20:42nicoesetmessages: + msg48428
2019-04-05 14:09:43angelsetmessages: + msg48427
2019-04-05 13:07:34angelsetfiles: + Captura de 2019-04-05 13-01-06.png
messages: + msg48426
2019-04-05 12:57:14angelsetmessages: + msg48425
2019-04-05 12:31:11angelsetnosy: + angel
2019-03-29 17:22:57reviewbotsetstatus: unread -> chatting
nosy: + reviewbot
messages: + msg48120

Showing 10 items. Show all history (warning: this could be VERY long)