Skip to content
This repository has been archived by the owner on Sep 6, 2021. It is now read-only.

Fix: Move Line Up/Down collapses inline editor when moving past the start/end #2431

Merged
merged 6 commits into from Feb 19, 2013

Conversation

TomMalbran
Copy link
Contributor

This is a possible fix for the issue #1933.

When moving a line down on an inline editor, the problem seems to be moving the line to the last line and not moving the last line beyond the inline widget. But moving the line beyond the inline widgets breaks getLastVisibleLine() which starts giving 1 line less than it should and then breaking the move line up.

So this change doesn't move down in an inline editor when trying to move the line to the last visible line or when moving the last visible line down.

@ghost ghost assigned jasonsanjose Jan 2, 2013
@jasonsanjose
Copy link
Member

Reviewing

@jasonsanjose
Copy link
Member

Tried out your fix and I'm seeing a few issues. You should be able to see them as well in the getting started project. Open an inline editor on line 14 on the h2. This opens main.css lines 19-21. Reset the file after each bug described.

  • Attempt to move line 20 down. Result: Does not move.
  • Attempt to move line 21 up. Result: Line 20 becomes line 22.

@jasonsanjose
Copy link
Member

@TomMalbran Looks like this pull request was submitted right before our winter break. Just pinging you again in case you've been on vacation. Thanks for the contribution.

@TomMalbran
Copy link
Contributor Author

I knew it was before the vacations, but I got the idea about the fix right back then, and yes, I am on vacations and with poor internet connection. I'll be back in a few days anyway and try to fix this.

  • Moving the line 20 down on a 19-21 widget closed it, so as a fix, I blocked it. There might be a better way to fix this, but not within the function.
  • I didnt noticed the other issue, so the solution would be to block the moving up of the last line.

@TomMalbran
Copy link
Contributor Author

I fixed the second issue mentioned.

But I cant find a way to fix the first one, since the move line up generates a document change that gets into the special case of TextRange.prototype._applySingleChangeToRange which ultimately removes the link to the inline editor and closing it. I am not sure if there is a way to avoid this, but anyway, in the bug issue it was expected that the text shouldn't move if moving it would cause the inline editor to close, so this fix does this, even thought the line that causes the editor to close is not the last one as mentioned but the second to last, which is the one that I blocked from moving down.

@jasonsanjose
Copy link
Member

I wasn't able to get this tested in time for sprint 19. We'll take a look at this again for sprint 20.

@jasonsanjose
Copy link
Member

@TomMalbran more apologies for being out sick the last week. Do you have time to try out your fix now that CodeMirror 3 has landed?

@jasonsanjose
Copy link
Member

Actually, I had some time to try this out with cmv3. I'm still seeing some issues.

  1. Open inline editor on line 51 in getting started (samp tag)
  2. Move line 26 up
  3. Result below:
samp
{
    display: none;

    /* hide <samp> from the browser so we can show cool features in Edge Code */}

@TomMalbran
Copy link
Contributor Author

Yes I just tested it on the cmv3 and found the same bug. I am trying to fix that right now.

@TomMalbran
Copy link
Contributor Author

That didn't completely fixed the problem. Trying again.

@TomMalbran
Copy link
Contributor Author

@jasonsanjose Now it should be properly fixed. I tested on several inline and main editors and it worked on all of them.

@jasonsanjose
Copy link
Member

Looks good. Merging.

jasonsanjose added a commit that referenced this pull request Feb 19, 2013
Fix: Move Line Up/Down collapses inline editor when moving past the start/end
@jasonsanjose jasonsanjose merged commit 84e4a7a into adobe:master Feb 19, 2013
@TomMalbran TomMalbran deleted the tom/fix-issue-1933 branch February 19, 2013 20:30
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants