Opened 11 years ago

Closed 10 years ago

Last modified 10 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 11 years ago by Piotr Jasiun

Owner: set to Piotr Jasiun
Status: newassigned

comment:2 Changed 11 years ago by Piotr Jasiun

Milestone: CKEditor 4.4

comment:3 Changed 11 years ago by Piotr Jasiun

Version: 4.4 (GitHub - major)

comment:4 Changed 11 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 11 years ago by Piotrek Koszuliński

Description: modified (diff)

comment:6 Changed 11 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 11 years ago by Piotr Jasiun

Description: modified (diff)

comment:8 Changed 11 years ago by Piotr Jasiun

Description: modified (diff)

comment:9 Changed 11 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 11 years ago by Piotrek Koszuliński

Description: modified (diff)

comment:11 Changed 11 years ago by Satya Minnekanti

Cc: satya_minnekanti@… added

comment:12 Changed 11 years ago by Piotr Jasiun

Description: modified (diff)

comment:13 Changed 11 years ago by Wim Leers

Cc: wim.leers@… added

Impressive work!

comment:14 Changed 11 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 11 years ago by Jakub Ś

Description: modified (diff)

comment:16 Changed 11 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 11 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 (Bug 3, Bug 17, Bug 20, Bug 24, Bug 30), images, lists (Bug 12, Bug 19, Bug 21) and eventually Firefox multiselection (Bug 14, Bug 16) after fixing #11636,
  • leave part of the issues as separate tickets or close as "won't fix" (ex. Bug 6).
Version 0, edited 11 years ago by Piotr Jasiun (next)

comment:18 Changed 11 years ago by Piotr Jasiun

Description: modified (diff)

comment:19 Changed 11 years ago by Piotr Jasiun

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

comment:23 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:24 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:25 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:26 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:27 Changed 10 years ago by Prashant

Cc: Prashant added

comment:28 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:29 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:30 Changed 10 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 10 years ago by Jakub Ś (previous) (diff)

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

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

comment:32 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:33 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:34 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:35 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:36 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:37 Changed 10 years ago by Piotr Jasiun

Description: modified (diff)

comment:38 Changed 10 years ago by Piotr Jasiun

Resolution: fixed
Status: assignedclosed

Ladies and gentlemen: we are done here.

comment:39 Changed 10 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 10 years ago by Wim Leers

Wow! Congratulations to all! :)

Note: See TracTickets for help on using tickets.
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy