accordproject / web-components

React Components for Accord Project
Apache License 2.0
120 stars 101 forks source link

Enter on Heading Text - Cursor Jump #260

Open d-e-v-esh opened 3 years ago

d-e-v-esh commented 3 years ago

Bug Report 🐛

The cursor would jump one line above when we would press enter from the beginning of any heading text

r91hU4x2ti

Expected Behavior

The cursor should go down with the heading text as it happens everywhere else

Steps to Reproduce

  1. Put the cursor to the beginning of any heading and press enter.

Desktop

d-e-v-esh commented 3 years ago

@irmerk This problem is occurring because: When we press enter from the start of the heading word => it inserts a line above the heading line by default instead of below. This only happens when we insert from the start of the line. It works perfectly when we do it from the middle or the end of the heading word. The fix for this can be:

  1. Whenever headingbreak is called => the next line node it inserts down below would be converted into a paragraph.
  2. This creates a new problem where if we press enter from the beginning of the heading word, the heading would be converted into a paragraph too.
  3. To fix that=> Override the default insertbreak() in the headingbreak function and tell it to do the above 1. only when it is at the end of the line. We create a point for the end of the heading line and make a conditional to check if the insetbreak() is being called from the stored end of the line point and execute 1 if that is true.

Is that an appropriate solution?

jolanglinais commented 3 years ago

If I understand correctly, I think that sounds good. I think we want:

d-e-v-esh commented 3 years ago

@irmerk Yes, that is exactly how it needs to work. I can make a sample work but making a PR would not make sense until we fix this #270 issue.

d-e-v-esh commented 3 years ago

@irmerk Can you please check the updates that I made in the description of #270. Any feedback would be really appreciated.

d-e-v-esh commented 3 years ago

@irmerk I have fixed this issue locally. I can make a pull request after the #270 is resolved and merged.

Qt3NU2DABz