From fd5f44b3185aca186feffe46a240be0138cddf92 Mon Sep 17 00:00:00 2001 From: hoavm Date: Wed, 2 Oct 2024 10:17:07 +0700 Subject: [PATCH] minor update --- packages/quill/package.json | 2 +- packages/quill/src/formats/list.ts | 52 +++++++++++------------------- 2 files changed, 19 insertions(+), 35 deletions(-) diff --git a/packages/quill/package.json b/packages/quill/package.json index 4d2a9d9c3b..a2a69f6c03 100644 --- a/packages/quill/package.json +++ b/packages/quill/package.json @@ -1,6 +1,6 @@ { "name": "hoavm-quill", - "version": "2.0.2-alpha1.15", + "version": "2.0.2-alpha1.16", "description": "Your powerful, rich text editor", "author": "Jason Chen ", "homepage": "https://quilljs.com", diff --git a/packages/quill/src/formats/list.ts b/packages/quill/src/formats/list.ts index ef9ffbf732..ed1352fb19 100644 --- a/packages/quill/src/formats/list.ts +++ b/packages/quill/src/formats/list.ts @@ -5,7 +5,7 @@ import Quill from '../core/quill.js'; class ListContainer extends Container {} ListContainer.blotName = 'list-container'; -ListContainer.tagName = ['OL', 'UL']; // Support both ordered and unordered lists +ListContainer.tagName = 'OL'; class ListItem extends Block { static create(value: string) { @@ -15,11 +15,7 @@ class ListItem extends Block { } static formats(domNode: HTMLElement) { - // Handle more formats for list types: ordered, unordered, checked, unchecked - const format = domNode.getAttribute('data-list') || ''; - return ['ordered', 'bullet', 'checked', 'unchecked'].includes(format) - ? format - : undefined; + return domNode.getAttribute('data-list') || undefined; } static register() { @@ -28,37 +24,26 @@ class ListItem extends Block { constructor(scroll: Scroll, domNode: HTMLElement) { super(scroll, domNode); - const format = this.statics.formats(domNode); - - // Create UI for checkbox if the list format is checked or unchecked - if (['checked', 'unchecked'].includes(format)) { - const ui = domNode.ownerDocument.createElement('span'); - ui.classList.add('list-ui'); // Add a CSS class for styling - - const listEventHandler = (e: Event) => { - if (!scroll.isEnabled()) return; - - if (format === 'checked') { - this.format('list', 'unchecked'); - e.preventDefault(); - } else if (format === 'unchecked') { - this.format('list', 'checked'); - e.preventDefault(); - } - }; - - ui.addEventListener('mousedown', listEventHandler); - ui.addEventListener('touchstart', listEventHandler); - this.attachUI(ui); - } + const ui = domNode.ownerDocument.createElement('span'); + const listEventHandler = (e: Event) => { + if (!scroll.isEnabled()) return; + const format = this.statics.formats(domNode, scroll); + if (format === 'checked') { + this.format('list', 'unchecked'); + e.preventDefault(); + } else if (format === 'unchecked') { + this.format('list', 'checked'); + e.preventDefault(); + } + }; + ui.addEventListener('mousedown', listEventHandler); + ui.addEventListener('touchstart', listEventHandler); + this.attachUI(ui); } format(name: string, value: string) { - // Extend format handling to include more list types if (name === this.statics.blotName && value) { - if (['ordered', 'bullet', 'checked', 'unchecked'].includes(value)) { - this.domNode.setAttribute('data-list', value); - } + this.domNode.setAttribute('data-list', value); } else { super.format(name, value); } @@ -67,7 +52,6 @@ class ListItem extends Block { ListItem.blotName = 'list'; ListItem.tagName = 'LI'; -// Allow both ordered (OL) and unordered (UL) containers ListContainer.allowedChildren = [ListItem]; ListItem.requiredContainer = ListContainer;