From 35ef7976c5520165c736e27ba4418572fd4cb8f4 Mon Sep 17 00:00:00 2001 From: pipipi-pikachu Date: Sun, 30 Jul 2023 16:48:25 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=96=87=E6=9C=AC=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/styles/prosemirror.scss | 16 ++++++++-------- src/utils/prosemirror/schema/nodes.ts | 11 ++++++++--- .../Toolbar/ElementStylePanel/TextStylePanel.vue | 4 ++-- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/assets/styles/prosemirror.scss b/src/assets/styles/prosemirror.scss index 7b7bd1f0..f774bbcf 100644 --- a/src/assets/styles/prosemirror.scss +++ b/src/assets/styles/prosemirror.scss @@ -60,28 +60,28 @@ } [data-indent='1'] { - padding-left: 24px; + padding-left: 20px; } [data-indent='2'] { - padding-left: 48px; + padding-left: 40px; } [data-indent='3'] { - padding-left: 72px; + padding-left: 60px; } [data-indent='4'] { - padding-left: 96px; + padding-left: 80px; } [data-indent='5'] { - padding-left: 120px; + padding-left: 100px; } [data-indent='6'] { - padding-left: 144px; + padding-left: 120px; } [data-indent='7'] { - padding-left: 168px; + padding-left: 140px; } [data-indent='8'] { - padding-left: 192px; + padding-left: 160px; } } diff --git a/src/utils/prosemirror/schema/nodes.ts b/src/utils/prosemirror/schema/nodes.ts index 45f22553..082d8afa 100644 --- a/src/utils/prosemirror/schema/nodes.ts +++ b/src/utils/prosemirror/schema/nodes.ts @@ -101,8 +101,13 @@ const paragraph: NodeSpec = { let textIndentLevel = 0 if (textIndent) { - textIndentLevel = Math.floor(parseInt(textIndent) / 24) - if (!textIndentLevel) textIndentLevel = 1 + if (/em/.test(textIndent)) { + textIndentLevel = parseInt(textIndent) + } + else if (/px/.test(textIndent)) { + textIndentLevel = Math.floor(parseInt(textIndent) / 20) + if (!textIndentLevel) textIndentLevel = 1 + } } const indent = +((dom as HTMLElement).getAttribute('data-indent') || 0) @@ -123,7 +128,7 @@ const paragraph: NodeSpec = { const { align, indent, textIndent } = node.attrs let style = '' if (align && align !== 'left') style += `text-align: ${align};` - if (textIndent) style += `text-indent: ${textIndent * 24}px;` + if (textIndent) style += `text-indent: ${textIndent * 20}px;` const attr: Attr = { style } if (indent) attr['data-indent'] = indent diff --git a/src/views/Editor/Toolbar/ElementStylePanel/TextStylePanel.vue b/src/views/Editor/Toolbar/ElementStylePanel/TextStylePanel.vue index e59f57fe..731f4e86 100644 --- a/src/views/Editor/Toolbar/ElementStylePanel/TextStylePanel.vue +++ b/src/views/Editor/Toolbar/ElementStylePanel/TextStylePanel.vue @@ -376,7 +376,7 @@ const presetStyles = [ cmd: [ { command: 'clear' }, { command: 'bold' }, - { command: 'fontsize', value: '48px' }, + { command: 'fontsize', value: '66px' }, { command: 'align', value: 'center' }, ], }, @@ -389,7 +389,7 @@ const presetStyles = [ cmd: [ { command: 'clear' }, { command: 'bold' }, - { command: 'fontsize', value: '36px' }, + { command: 'fontsize', value: '40px' }, { command: 'align', value: 'center' }, ], },