Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#11437 closed New Feature (fixed)

[Umbrella] Rich content drag-and-drop and files pasting and dropping support

Reported by: Piotr Jasiun Owned by: Piotr Jasiun
Priority: Normal Milestone: CKEditor 4.5.0 Beta
Component: General Version:
Keywords: Cc: satya_minnekanti@…, wim.leers@…, Prashant

Description (last modified by Piotr Jasiun)

Umbrella ticket for drag-and-drop and direct pasting of files for CKEditor.

Parts:

  • #11526 (research)
  • #11460 (handling dropped content)
  • #12168 (setData, getData, method)
  • #12169 (events)
  • #12173 (paste integration)
  • #12341 (fixes after #12173)
  • #12172 (inline widgets integration)
  • #11219 (block widgets integration)
  • #12264 (Files in dataTransfer)
  • #11580 (notifications plugin)
  • #11461 (handling pasted and dropped images, upload manager)
  • #11636 (improve selection.getSelectedHTML, range.cloneContents and range.deleteContents).
  • #12262 (test and improve selection.getSelectedText).
  • #11975 (tables).
  • #11977 (images).
  • #12090 (reusing global data transfer in block widgets dnd).
  • #12095 (dnd inline widget loses styles (e.g. bold))
  • #12612 (CORS)
  • #12613 (dragover)
  • #12614 (gray out uploading images)
  • #12617 (replaceWith should use insertHtmlIntoRange)
  • #12619 (Chrome: Drop image to the empty document)
  • #12805 (Manual tests for upload)
  • #12871 (Manual tests for drag&drop)
  • #12806 (Integrate new get and delete selected HTML methods)

Postponed:

  • #12618 (Block alignment buttons during upload)
  • #11976 (lists drag and drop).
  • #11978 (multiselection).
  • #11979 (ctrl key).
  • #12541 (File upload plugin)
  • #12616 (smart drop plugin)
  • #12872 ([Firefox] Improve copy/cut and paste binding)
  • #12873 ([IE] Improve copy/cup and paste binding)
  • #12091 (editor#dragenter).

Note: each of these parts should be handled in its ticket, not in this umbrella ticket.

Related: #7422.

Edit: Small test case to check #11657. It seems that in inline and divarea editors there is something wrong with selection and D&D.

Change History (40)

comment:1 Changed 5 years ago by Piotr Jasiun

Owner: set to Piotr Jasiun
Status: newassigned

comment:2 Changed 5 years ago by Piotr Jasiun

Milestone: CKEditor 4.4

comment:3 Changed 5 years ago by Piotr Jasiun

Version: 4.4 (GitHub - major)

comment:4 Changed 5 years ago by Piotrek Koszuliński

Description: modified (diff)
Summary: Drag-and-drop and direct pasting plugin[Umbrella] Drag-and-drop and direct pasting

comment:5 Changed 5 years ago by Piotrek Koszuliński

Description: modified (diff)

comment:6 Changed 5 years ago by Piotr Jasiun

Summary: [Umbrella] Drag-and-drop and direct pasting[Umbrella] Image drag-and-drop and direct pasting

I talked with Fred and we will focused on images for now.

comment:7 Changed 5 years ago by Piotr Jasiun

Description: modified (diff)

comment:8 Changed 5 years ago by Piotr Jasiun

Description: modified (diff)

comment:9 Changed 5 years ago by Piotrek Koszuliński

Summary: [Umbrella] Image drag-and-drop and direct pasting[Umbrella] Rich content drag-and-drop and files pasting and dropping support

comment:10 Changed 5 years ago by Piotrek Koszuliński

Description: modified (diff)

comment:11 Changed 5 years ago by Satya Minnekanti

Cc: satya_minnekanti@… added

comment:12 Changed 5 years ago by Piotr Jasiun

Description: modified (diff)

comment:13 Changed 5 years ago by Wim Leers

Cc: wim.leers@… added

Impressive work!

comment:14 Changed 5 years ago by Piotrek Koszuliński

Milestone: CKEditor 4.4CKEditor 4.5

As you can see in #11526 and #11460 the feature turned out to be a very demanding challenge, the design phase took nearly all the time we had for implementation phase. We don't want to postpone CKEditor 4.4 for which we have enough new features, so we're rescheduling drag and drop instead.

comment:15 Changed 5 years ago by Jakub Ś

Description: modified (diff)

comment:16 Changed 5 years ago by Frederico Caldeira Knabben

While playing with the manual testing page in t/11460, I had this issue:

  1. In the classic editor, start a selection before "11" in the title up to the end of "spaceflight" in the first paragraph.
  2. Drag the selection after "landed" in the first paragraph.

The dragged content will be lost and no insertion happens. A js error is thrown.

comment:17 Changed 5 years ago by Piotr Jasiun

Description: modified (diff)

During the previous weeks custom D&D was deeply testes and about 30 issues were found:

https://docs.google.com/document/d/1hG4H0r21MXNkRd3amDEOBPygJe3ehBAXFWAal2DptGQ/edit?usp=sharing

After considering this results the future plan is to:

  • fix most important part of bugs as a part of #11460,
  • improve getSelectedHTML, cloneContents and deleteContents (#11636), because this is the reason of some bugs (ex. Bug 4, Bug 7),
  • fix D&D for tables (#11975), lists (#11976), images (#11977) and eventually Firefox multiselection (#11978) after fixing #11636,
  • leave part of the issues as separate tickets (#11979) or close as "won't fix" (ex. Bug 6).
Last edited 5 years ago by Piotr Jasiun (previous) (diff)

comment:18 Changed 5 years ago by Piotr Jasiun

Description: modified (diff)

comment:19 Changed 5 years ago by Piotr Jasiun

Description: modified (diff)

comment:20 Changed 5 years ago by Piotrek Koszuliński

Description: modified (diff)

comment:21 Changed 5 years ago by Piotrek Koszuliński

Description: modified (diff)

comment:22 Changed 5 years ago by Piotrek Koszuliński

Description: modified (diff)

comment:23 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:24 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:25 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:26 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:27 Changed 4 years ago by Prashant

Cc: Prashant added

comment:28 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:29 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:30 Changed 4 years ago by Jakub Ś

#12027 was marked as duplicate.

I assume this will be supported but just to remind - change event should react to drag&drop.

Last edited 4 years ago by Jakub Ś (previous) (diff)

comment:31 Changed 4 years ago by Piotrek Koszuliński

Yes, you're right that drop will fire change. That's already implemented.

comment:32 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:33 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:34 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:35 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:36 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:37 Changed 4 years ago by Piotr Jasiun

Description: modified (diff)

comment:38 Changed 4 years ago by Piotr Jasiun

Resolution: fixed
Status: assignedclosed

Ladies and gentlemen: we are done here.

comment:39 Changed 4 years ago by Piotrek Koszuliński

Congrats :)!

BTW. 4.5.0 has some nice stats:

 298 files changed, 22444 insertions(+), 3959 deletions(-)

And there's still few tickets to be closed :).

comment:40 Changed 4 years ago by Wim Leers

Wow! Congratulations to all! :)

Note: See TracTickets for help on using tickets.
© 2003 – 2017 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy