라이브 블록 상단 이탈과 인용 해제 보정

This commit is contained in:
2026-06-05 11:03:42 +09:00
parent 56a2c23471
commit 6daf9ca15e
10 changed files with 63 additions and 22 deletions

View File

@@ -1320,6 +1320,23 @@ const onCodeBlockInsertBelow = (block, payload) => {
onInsertBelowBlock(block, { lines: [''] })
}
/**
* 블록 위에 기본 문단을 삽입한다.
* @param {Object} block - 기준 블록
* @returns {void}
*/
const onInsertAboveBlock = (block) => {
const startLine = block.meta.startLine
pendingFocusLine.value = startLine
pendingFocusPosition.value = 'start'
emit('insert-after-line', {
afterLine: startLine - 1,
lines: [''],
focusLine: startLine
})
}
/**
* 콜아웃 편집 반영
* @param {Object} block - 콜아웃 블록
@@ -1953,6 +1970,22 @@ const onQuoteBlockInsertBelow = (block, payload) => {
onInsertBelowBlock(block, { lines: [''] })
}
/**
* 인용 블록을 일반 문단 줄로 되돌린다.
* @param {Object} block - 인용 블록
* @param {string|Object} payload - 편집 페이로드
* @returns {void}
*/
const onQuoteBlockConvertToParagraph = (block, payload) => {
const { value } = normalizeCommitPayload(payload)
const lines = String(value ?? '').replace(/\r/g, '').split('\n')
const replacementLines = lines.length ? lines : ['']
pendingFocusLine.value = block.meta.startLine
pendingFocusPosition.value = 'start'
commitInlineBlockLines(block, replacementLines)
}
/**
* 목록 항목 인라인 편집 반영
* @param {Object} block - 블록
@@ -2655,8 +2688,10 @@ onBeforeUnmount(() => {
:source-line-count="getQuoteLineEntries(block).length"
@input="onQuoteBlockCommit(block, $event)"
@commit="onQuoteBlockCommit(block, $event)"
@insert-above="onInsertAboveBlock(block)"
@insert-below="onQuoteBlockInsertBelow(block, $event)"
@delete-line="onDeleteLine"
@merge-with-previous="onQuoteBlockConvertToParagraph(block, $event)"
/>
</ProseBlockquote>
<ProseBlockquote
@@ -2795,6 +2830,7 @@ onBeforeUnmount(() => {
:model-value="block.text"
@commit="onCalloutBlockCommit(block, $event)"
@delete-line="onDeleteLine"
@insert-above="onInsertAboveBlock(block)"
@insert-below="onCalloutBlockInsertBelow(block, $event)"
@merge-with-previous="onMergeWithPreviousLine"
@focus-line="onEditorFocusLine"
@@ -2822,6 +2858,7 @@ onBeforeUnmount(() => {
:body-source-line="block.meta.startLine + 1"
:model-value="block.text"
@commit="onToggleBlockCommit(block, $event)"
@insert-above="onInsertAboveBlock(block)"
@insert-below="onToggleBlockInsertBelow(block, $event)"
@delete-line="onDeleteLine"
/>
@@ -3015,6 +3052,7 @@ onBeforeUnmount(() => {
:body-source-line="block.meta.startLine + 1"
:model-value="block.text"
@commit="onCodeBlockCommit(block, $event)"
@insert-above="onInsertAboveBlock(block)"
@insert-below="onCodeBlockInsertBelow(block, $event)"
@delete-line="onDeleteLine"
/>