mirror of
https://github.com/ueberdosis/tiptap.git
synced 2024-12-05 04:19:07 +08:00
b2ec51374d
* Adds attributes to toggleList When dealing with different variants of bullet lists, I wanted to adopt the same technique I used for different paragraph variants. Since `wrapInList` is capable of receiving attributes, just like `setNode` is, I don't see any reason why `toggleList` should not be capable of the same. Here's my bullet list extension in action that is in need of attributes support. ```js export const CustomBulletList = BulletList.extend({ content: 'listItem*', addAttributes() { return { variant: { default: DEFAULT_LIST, renderHTML: attributes => { return { class: `list-${attributes.variant}`, }; }, }, }; }, addCommands() { return { toggleBulletList: attributes => (c) => { return c.commands.toggleListCustom(this.name, this.options.itemTypeName, attributes); }, }; }, }); ``` * Update toggle-list.md * Update toggle-list.md
670 B
670 B
toggleList
toggleList
will toggle between different types of lists.
Parameters
listTypeOrName: string | NodeType
The type of node that should be used for the wrapping list
itemTypeOrName: string | NodeType
The type of node that should be used for the list items
keepMarks?: boolean
If marks should be kept as list items or not
attributes?: Record<string, any>
The attributes that should be applied to the list. This is optional.
Usage
// toggle a bullet list with list items
editor.commands.toggleList('bullet_list', 'list_item')
// toggle a numbered list with list items
editor.commands.toggleList('ordered_list', 'list_item')