Browse Source

fix: rich text first char issue

Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com>
pull/7266/head
Raju Udava 11 months ago
parent
commit
38ac18bab1
  1. 13
      packages/nc-gui/components/cell/RichText.vue
  2. 8
      packages/nc-gui/composables/useMultiSelect/index.ts

13
packages/nc-gui/components/cell/RichText.vue

@ -108,7 +108,7 @@ const editor = useEditor({
editable: !props.readonly, editable: !props.readonly,
}) })
const setEditorContent = (contentMd: any) => { const setEditorContent = (contentMd: any, focusEndOfDoc?: boolean) => {
if (!editor.value) return if (!editor.value) return
const selection = editor.value.view.state.selection const selection = editor.value.view.state.selection
@ -120,6 +120,15 @@ const setEditorContent = (contentMd: any) => {
editor.value.chain().setContent(content).setTextSelection(selection.to).run() editor.value.chain().setContent(content).setTextSelection(selection.to).run()
setTimeout(() => { setTimeout(() => {
if (focusEndOfDoc) {
const docSize = editor.value!.state.doc.nodeSize
editor.value
?.chain()
.setTextSelection(docSize - 1)
.run()
}
;(editor.value!.state as any).history$.prevRanges = null ;(editor.value!.state as any).history$.prevRanges = null
;(editor.value!.state as any).history$.done.eventCount = 0 ;(editor.value!.state as any).history$.done.eventCount = 0
}, 100) }, 100)
@ -134,7 +143,7 @@ if (props.syncValueChange) {
watch(editorDom, () => { watch(editorDom, () => {
if (!editorDom.value) return if (!editorDom.value) return
setEditorContent(vModel.value) setEditorContent(vModel.value, true)
// Focus editor after editor is mounted // Focus editor after editor is mounted
setTimeout(() => { setTimeout(() => {

8
packages/nc-gui/composables/useMultiSelect/index.ts

@ -718,8 +718,16 @@ export function useMultiSelect(
return message.info(t('msg.info.updateNotAllowedWithoutPK')) return message.info(t('msg.info.updateNotAllowedWithoutPK'))
} }
if (isTypableInputColumn(columnObj) && makeEditable(rowObj, columnObj) && columnObj.title) { if (isTypableInputColumn(columnObj) && makeEditable(rowObj, columnObj) && columnObj.title) {
if (columnObj.uidt === UITypes.LongText) {
if (rowObj.row[columnObj.title] === '<br />') {
rowObj.row[columnObj.title] = e.key
} else {
rowObj.row[columnObj.title] = rowObj.row[columnObj.title] ? rowObj.row[columnObj.title] + e.key : e.key
}
} else {
rowObj.row[columnObj.title] = '' rowObj.row[columnObj.title] = ''
} }
}
// editEnabled = true // editEnabled = true
} }
} }

Loading…
Cancel
Save