Opened 5 years ago

Closed 4 years ago

#10931 closed New Feature (fixed)

Allow nesting widgets

Reported by: Piotrek Koszuliński Owned by:
Priority: Normal Milestone: CKEditor 4.5.0 Beta
Component: General Version: 4.3 Beta
Keywords: Cc:

Change History (25)

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

Status: newconfirmed

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

Duplicate closed #11246.

comment:3 Changed 5 years ago by Matti Järvinen

Since widget feature is very new, I don't know where in the code limitation exists and if it's possible to pass widget definitions to widgets' nested editable in recursive manner.

I believe describing current design limitations and ideas about how to accomplish this would be very beneficial for the thought process.

On adjoining note first thing that comes into mind that it should be possible to use ACF to limit certain widgets? And if that is the case should ACF widget rules use widget names or just elements within widgets. Using widget names would make it possible to add css rows & columns of sorts as widgets while limiting the possibility to nest them if needed (possibly div-tag based).

comment:4 Changed 5 years ago by Mik

Good to know that it is not working. Because I was trying to do this. For info - I was able to put one widget inside another. But got error when converting to source.

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

The limitations are in many places. Part of them are related to CKEditor itself. For example:

  • the data processing, which as @mik mentioned, will throw error,
  • handling mouse events, because there's a lot of custom code which prevents browsers from failing; having nested widgets will complicate this code,
  • hm... definitely more, but I haven't tested it yet.

And significant part is related to unpredictable browsers:

  • focus handling which is... just random,
  • other bugs related to selection, keystrokes, mouse, etc. which more complicated case will uncover.

As you can see - first we need to learn what has to be done, but the known obstacles requires some effort too. That's why we didn't include this in 4.3.

Regarding ACF - there's a separate ticket: #11115.

comment:6 Changed 4 years ago by Chad Engler

This is a highly desirable feature for us, and I managed to have a semi-working solution by making my downcasts really smart about dealing with content that is also a widget (of the same plugin). Unfortunately this doesn't help for widgets of different types, and there are obviously tons of bugs with focus and therefore copy/pasting as well.

Is there anyway we can get this on the 4.4 milestone? This and blacklisting (#10276) would really clear up a lot of cruft for me.

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

Unfortunately we won't be able to implement this in 4.4. We know that it is a serious limitation, but the task is really serious too. We made a conscious decision to postpone this part of widgets system, because we anticipated a lot of problems (especially with focus). Moreover, other tasks related to widgets like styling, enhancements for image2, better integration with ACF are important too, so they made to 4.4. Nesting widgets... maybe 4.5, but we cannot promise anything.

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

Description: modified (diff)

comment:9 Changed 4 years ago by Olek Nowodziński

Description: modified (diff)

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

Description: modified (diff)

comment:11 Changed 4 years ago by Olek Nowodziński

Description: modified (diff)

comment:12 Changed 4 years ago by Olek Nowodziński

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Description: modified (diff)

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

Milestone: CKEditor 4.5.0
Resolution: fixed
Status: confirmedclosed

Closing together with the last related ticket (#12112).

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