[Question] How to add "Ordered/Unordered List" option in rte/custom block
Question
Hi
I'm trying to create an ordered list with grapesjs. I tried adding the following to the rte:
editor.RichTextEditor.add('orderedList',
{
icon: '1.',
attributes: {title: 'Ordered List'},
result: rte => rte.exec('insertOrderedList')
});
And this works if my page is pre-filled with html when the editor is initialized, like below:
Prefilled Editor:

Create Ordered List:

If, however, I drop a new block into the canvas, and then press the ordered list button, I get a NS_ERROR_ILLEGAL_VALUE message, like below:
Create new Paragraph Block:

Create Ordered List:

How can I fix this so that:
- we can insert lists in newly created blocks? (Side Note: My example shows me doing this through the rte toolbar, but I am open to making lists into a new block type, if that helps and someone can tell me how to make them work.)
- we can indent lists to create multilevel bullets (currently the indent command via the rte also does not work on new blocks, possibly for the same reasons above)
- (Optionally) we can use the tab key to indent the lists?
Answers (3)
From the above comments, I can now add ordered and unordered list. Is there any way to update existing ordered and unordered List ?
@artf @rahuloftheramaneffect
Can you create a reproducible demo, please? That error without a stack trace is useless
(Optionally) we can use the tab key to indent the lists?
You should definitely do it by yourself or rely on something like CKEditor for more advanced text usage
Hey! Thanks for responding so quickly.
Can you create a reproducible demo, please? That error without a stack trace is useless
Here is a zip file containing a stripped down version of my editor page. Demo.zip
It includes a bunch of css and js files. The rte functions listed above are in editor_rte.js.
Steps to reproduce:
- Open index.html (includes an initialized editor, some pre-existing text and a few blocks).
- Double click on the pre-existing text to see the RTE toolbar. Use the list buttons on the right to verify that create list and indent content functionality works on pre-existing text.
- Drag a paragraph block into the page.
- Try to edit the text inside the new block, like previously, to create a list.
- The error should have occurred.
(Optionally) we can use the tab key to indent the lists?
You should definitely do it by yourself or rely on something like CKEditor for more advanced text usage
Ah, alright. Thank you.
Edit: I use Firefox 68.0.1
Related Questions and Answers
Continue research with similar issue discussions.
Issue #1703
[Question] How to allow special characters in class name or data attribute?
In my HTML code, I have some variable placeholders defined in element's class name or data attributes. For example, consider following code...
Issue #3317
FEAT: Add support for promises to custom RTE API
What are you trying to add to GrapesJS? Support for richtext editors with promise based APIs. Describe your feature request detailed CKEdit...
Issue #572
rich text editor issue
How to add the icon of ordered List in rich text editor? Here is my code. rte.add('insertOrderedList', { icon: '',//how to add the icon of...
Issue #2364
[Question] How to add toolbar functionality to the layers panel.
I am trying to add the toolbar to the layers panel and I am not sure how to go about this. Is there any way to accomplish this? toolbar Whe...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.