Opened 14 years ago
Last modified 14 years ago
#6173 confirmed Bug
Removing Items from unordered list (WinXP/IE8)
Reported by: | tom | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | General | Version: | 3.3.2 |
Keywords: | IE Discussion | Cc: | pomu@… |
Description (last modified by )
I've got a problem with unordered / numbered lists with IE8 on WindowsXP.
- Create an unordered list with some items.
- Now try to get one item to the upper line with the "delete"-key.
- This will not work.
- If you try the "backspace"-key on the line that should be added to the item above you got an inconsistent list, because the </li>-Tag of the upper line will not disappear.
This error is not in Firefox3 (WinXP), but IE8 (Windows7)
This is also the case in http://ckeditor.com/demo/
Attachments (6)
Change History (27)
Changed 14 years ago by
Attachment: | TestList.doc added |
---|
comment:1 Changed 14 years ago by
Description: | modified (diff) |
---|---|
Keywords: | IE added |
Milestone: | → CKEditor 3.5 |
Status: | new → confirmed |
comment:2 Changed 14 years ago by
This Bug is only with IE8 on WindowsXP!
IE8 on Windows7 works fine.
comment:3 Changed 14 years ago by
Owner: | set to Paweł Horzela |
---|---|
Status: | confirmed → assigned |
comment:4 Changed 14 years ago by
Milestone: | CKEditor 3.5 → CKeditor 3.4.3 |
---|
comment:5 Changed 14 years ago by
Status: | assigned → review |
---|
comment:6 Changed 14 years ago by
Status: | review → review_failed |
---|
This patch is our first "delete" key handling logic, and looks really good. I'm not trying to make things complicated but while we should consider the following thing:
- Apply it for other browsers as well? e.g. Firefox generally works well while stuck will the following case on "del":
<ol> <li> <p> item1^</p> </li> <li> item2</li> </ol>
- The merging result after "del" in the above list should be the following instead:
<ol> <li> <p> item1item2</p> </li> </ol>
- Nested list should be considered as well, generally "del" and "backspace" merge the first list item of sub list, then remove the list if empty;
comment:7 Changed 14 years ago by
Status: | review_failed → review |
---|
comment:8 Changed 14 years ago by
Status: | review → review_failed |
---|
Looks good, fails for the following cases on "Backspace":
<ul> <li><p>paragraph1</p> <p>paragraph2</p> <ul> <li>^inner item1</li> </ul> </li> </ul>
comment:9 Changed 14 years ago by
And the following points:
- Cache intermediate element when possible (there's no releaser optimization there);
- Undo/Redo should work as well;
- innerPrevious/innerNext must be well checked to be valid for reception new children.
comment:10 Changed 14 years ago by
I would also add that those long lines could be splitted into multiline statements for a better readability.
comment:11 Changed 14 years ago by
Status: | review_failed → review |
---|
comment:12 Changed 14 years ago by
Cc: | pomu@… added |
---|
comment:13 Changed 14 years ago by
Status: | review → review_failed |
---|
Have the following content and selection press "Backspace":
<ol> <li> <p> item1</p> <ol> <li> <h1> ^item21</h1> <h1> item22</h1> </li> </ol> </li> </ol>
Actual Result:
<ol> <li> <p> item1</p> <h1> item22</h1> </li> </ol>
Expected Result:
<ol> <li> <p> item1item21</p> <ol> <li> <h1> item22</h1> </li> </ol> </li> </ol>
comment:14 Changed 14 years ago by
Status: | review_failed → review |
---|
comment:15 Changed 14 years ago by
Status: | review → review_failed |
---|
There's still lots of problems with the latest patch, I'm now taking over this ticket.
Changed 14 years ago by
Attachment: | 6173_5.patch added |
---|
comment:16 Changed 14 years ago by
Owner: | changed from Paweł Horzela to Garry Yao |
---|---|
Status: | review_failed → review |
comment:17 Changed 14 years ago by
Status: | review → review_failed |
---|
I have two points for the latest patch:
- Following TC, already mentioned in comment 13 - IE8, use the content below, hit Backspace, nothing happens:
<ol> <li> <p> item1</p> <ol> <li> <h1> ^item21</h1> <h1> item22</h1> </li> </ol> </li> </ol>
- I think all logic common to every instance of the editor shouldn't be placed inside an init function, as it's duplicated for every instance. This includes:
- mergeListItems
- doDelete
- keydown listener
comment:18 Changed 14 years ago by
Status: | review_failed → review |
---|
- The TC WFM by having the nested list outdented, we could discuss though whether it's a good design.
- Those are closures scoped to the editor by design.
comment:19 Changed 14 years ago by
Status: | review → review_passed |
---|
It seems i've been having some cache issues, now i'm getting proper results with attached TC. I agree with the outdent approach for nested lists.
As it goes about closures, we don't need them there, the editor variable can be simply passed as a parameter, which would result in a reduced memory consumption in case of many editor instances.
comment:20 Changed 14 years ago by
Milestone: | CKEditor 3.4.3 |
---|---|
Owner: | Garry Yao deleted |
Status: | review_passed → new |
Ok... I got a complete overview of the patch proposal. It's all interesting and I'm sure some good time has been spent on it. I'm even sorry to say that, but I think the approach to handle this situation was wrong. Let me expose some reasons:
- The ticket is related to an issue limited to IE8+XP. Considering that it works well with Win7, we could even expect it to work better on XP in the future (is MS still supporting XP?... anyway). In any case, it's a specific tc on a specific browser. Considering the number of other issues we have to get fixed, this would have less priority (it was a mistake to target it initially) and in any case the amount of code would not justify the fix.
- Garry came with a series of "edge cases". Of course, I would love to fix every single aspect of the editor behavior, but we must keep the editor size small. It's hard to justify the patch size because of the cases.
- Then again... the cases didn't come from the "real world". I mean, people out there opening tickets for them. It makes it even harder to justify the fix and its size.
- The solution proposed goes outside the ticket TC, being much broader. In fact it adds an important new feature into the editor, which should be handled in a dedicated ticket and even have an enlarged discussion to understand if we should introduce it now, and how to do that (avoiding many on the points in this list).
Other things to consider:
- The editor is already being considered huge on size. We must be aware to not bloat its code.
- We'll always have situations where to add a lot of code in the editor. We must be smart to decide when it's worth, and when it's not.
- We didn't leave the option to the end developer to decide whether to use or not this fix.
To conclude, let's have this patch remembered, so it could be part of a the potential keyboard handler we could work on the future. But considering all the above, we should not proceed with it right now.
comment:21 Changed 14 years ago by
Keywords: | Discussion added |
---|---|
Status: | new → confirmed |
Testlist in Word-Format