Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List Items rendered without <ul> or <li> #207

Open
RafaelZasas opened this issue Mar 15, 2022 · 1 comment
Open

List Items rendered without <ul> or <li> #207

RafaelZasas opened this issue Mar 15, 2022 · 1 comment

Comments

@RafaelZasas
Copy link

RafaelZasas commented Mar 15, 2022

Ive tried the following three methods:

      if (block.type === 'ordered-list-item') {
        switch (block.depth) {
          case 1:
            return {
              start: `<li className="list-inside list-loweralpha indent-6">`,
              end: '</li>',
              nest: '<ol>',
              nestStart: '<ol>',
              nestEnd: '</ol>',
            };
          case 2:
            return (
              <ol>
                <li className="list-inside list-lowerroman indent-12">{block.text}</li>
              </ol>
            );
          default:
            return <li className="list-inside list-decimal" />;
        }
    }

This is the output:

image

This is the DOM:
image

As you can see:

  • The default (nested length 0) renders the <li> but no <ol> or </ol> which means every subsequent list will continue the numbering order after the last <li> in the DOM. If I had an <ul> before hand it would not start at 1.
  • The first nesting level renders the <ol> and </ol> tags correctly but removes my styles.
  • The second nested level renders a <ol><li></li></ol> for each block which means the numbering resets for each block.

I am just trying to mimic the functionality as seen in the DraftJS editor on the left.
If I remove any checking for list blocks in the convertToHTML section my lists are rendered correctly in the dom but are not styled and have no bullet points (list-style-type css property).

@RafaelZasas
Copy link
Author

I actually answered myself in This Stack Overflow Question.

It is still seemingly unexpected behavior that this only renders inline styles and not class styles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant