mirror of
https://github.com/ueberdosis/tiptap.git
synced 2024-12-23 00:27:49 +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
29 lines
670 B
Markdown
29 lines
670 B
Markdown
# 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
|
|
```js
|
|
// 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')
|
|
```
|