Opened 5 years ago

Closed 5 years ago

#10933 closed New Feature (fixed)

Introduce Widget D&D with Magicline internals under the hood

Reported by: Olek Nowodziński Owned by: Olek Nowodziński
Priority: Must have (possibly next milestone) Milestone: CKEditor 4.3
Component: General Version: 4.3 Beta
Keywords: Cc: Frederico Caldeira Knabben

Description

The basic idea is to reuse magicline's engine to visually mark valid places to drop a block widget while the mouse is moving.

Change History (10)

comment:1 Changed 5 years ago by Olek Nowodziński

Owner: set to Olek Nowodziński
Status: newassigned

comment:2 Changed 5 years ago by Frederico Caldeira Knabben

Cc: Frederico Caldeira Knabben added

comment:3 Changed 5 years ago by Olek Nowodziński

Status: assignedreview

Created branches t/10933 (dev) and t/10933 (tests).

comment:4 Changed 5 years ago by Frederico Caldeira Knabben

Just to not forget about it... we cannot pass this code with the "magicfinger" name. The final name must be chosen and the core properly changed.

comment:5 in reply to:  4 ; Changed 5 years ago by Olek Nowodziński

Replying to fredck:

Just to not forget about it... we cannot pass this code with the "magicfinger" name. The final name must be chosen and the core properly changed.

How about "lineutils"?

comment:6 in reply to:  5 Changed 5 years ago by Frederico Caldeira Knabben

Replying to a.nowodzinski:

How about "lineutils"?

I'm fine with it... I'm not able to say it, but it works well when read :D

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

Status: reviewreview_failed

Pushed t/10933 on dev with minor code fixes.

Still:

  • There will be no revert() calls in tests if they failed.
  • Finder#traverseSearch uses cache which is shared between all instances. Most likely this is incorrect.
  • Callback functions are repeating in Liner constructor.
  • Lookups in widget/plugin.js are defined in natural lang.
  • removeListeners in onBlockWidgetDrag is defined in the middle of nowhere.
  • Last two listeners in onBlockWidgetDrag use exactly the same callback.

comment:8 in reply to:  7 Changed 5 years ago by Olek Nowodziński

Status: review_failedreview

Replying to Reinmar:

Pushed t/10933 on dev with minor code fixes.

Still:

  • There will be no revert() calls in tests if they failed.
  • Finder#traverseSearch uses cache which is shared between all instances. Most likely this is incorrect.
  • Callback functions are repeating in Liner constructor.
  • Lookups in widget/plugin.js are defined in natural lang.
  • removeListeners in onBlockWidgetDrag is defined in the middle of nowhere.
  • Last two listeners in onBlockWidgetDrag use exactly the same callback.

I improved the code referring to your concerns. Happy reviewing ;>

Magicfinger is now Lineutils.

Last edited 5 years ago by Olek Nowodziński (previous) (diff)

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

Status: reviewreview_passed

I pushed one commit to dev and amended one commit in tests (the last one).

Everything seems to work fine except undo after dnd. I reported #11098.

comment:10 Changed 5 years ago by Olek Nowodziński

Resolution: fixed
Status: review_passedclosed

Feature landed in major git:ca5b94a and tests 31e7be5.

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