瀏覽代碼

refac: autocompletion behaviour

Timothy Jaeryang Baek 5 月之前
父節點
當前提交
5b879a2121
共有 1 個文件被更改,包括 22 次插入20 次删除
  1. 22 20
      src/lib/components/common/RichTextInput/AutoCompletion.js

+ 22 - 20
src/lib/components/common/RichTextInput/AutoCompletion.js

@@ -66,25 +66,27 @@ export const AIAutocompletion = Extension.create({
             const node = $head.parent
 
             if (event.key === 'Tab') {
-              if (!node.attrs['data-suggestion']) {
-                // Generate completion
-                if (loading) return true
-                loading = true
-                const prompt = node.textContent
-                this.options.generateCompletion(prompt).then(suggestion => {
-                  if (suggestion && suggestion.trim() !== '') {
-                    dispatch(state.tr.setNodeMarkup($head.before(), null, {
-                      ...node.attrs,
-                      class: 'ai-autocompletion',
-                      'data-prompt': prompt,
-                      'data-suggestion': suggestion,
-                    }))
-                  }
-                  // If suggestion is empty or null, do nothing
-                }).finally(() => {
-                  loading = false
-                })
-              } else {
+              // if (!node.attrs['data-suggestion']) {
+              //   // Generate completion
+              //   if (loading) return true
+              //   loading = true
+              //   const prompt = node.textContent
+              //   this.options.generateCompletion(prompt).then(suggestion => {
+              //     if (suggestion && suggestion.trim() !== '') {
+              //       dispatch(state.tr.setNodeMarkup($head.before(), null, {
+              //         ...node.attrs,
+              //         class: 'ai-autocompletion',
+              //         'data-prompt': prompt,
+              //         'data-suggestion': suggestion,
+              //       }))
+              //     }
+              //     // If suggestion is empty or null, do nothing
+              //   }).finally(() => {
+              //     loading = false
+              //   })
+              // } 
+              
+              if (node.attrs['data-suggestion']) {
                 // Accept suggestion
                 const suggestion = node.attrs['data-suggestion']
                 dispatch(state.tr
@@ -96,8 +98,8 @@ export const AIAutocompletion = Extension.create({
                     'data-suggestion': null,
                   })
                 )
+                return true
               }
-              return true
             } else {
 
               if (node.attrs['data-suggestion']) {