1
0
Эх сурвалжийг харах

feat: add :shortcut/doc-mode-enter-for-new-block? option

Tienson Qin 4 жил өмнө
parent
commit
e5f484d1a7

+ 1 - 1
src/main/frontend/components/page.cljs

@@ -679,7 +679,7 @@
                    (state/set-search-mode! :global)
                    state)}
   [state]
-  (let [settings (state/sub-graph-config)
+  (let [settings (state/sub-graph-config-settings)
         theme (state/sub :ui/theme)
         graph (graph-handler/build-global-graph theme settings)
         search-graph-filters (state/sub :search/graph-filters)

+ 2 - 2
src/main/frontend/handler/editor.cljs

@@ -2266,14 +2266,14 @@
       (cursor/move-cursor-to input (inc selected-start)))))
 
 (defn keydown-new-block-handler [state e]
-  (if (state/get-new-block-toggle?)
+  (if (state/doc-mode-enter-for-new-line?)
     (keydown-new-line)
     (do
       (.preventDefault e)
       (keydown-new-block state))))
 
 (defn keydown-new-line-handler [state e]
-  (if (state/get-new-block-toggle?)
+  (if (state/doc-mode-enter-for-new-line?)
     (keydown-new-block state)
     (do
       (.preventDefault e)

+ 13 - 9
src/main/frontend/state.cljs

@@ -100,7 +100,7 @@
       :editor/block-dom-id nil
       :editor/set-timestamp-block nil
       :editor/last-input-time nil
-      :editor/new-block-toggle? document-mode?
+      :editor/document-mode? document-mode?
       :editor/args nil
       :db/last-transact-time {}
       :db/last-persist-transact-ids {}
@@ -301,7 +301,11 @@
 
 (defn sub-graph-config
   []
-  (:graph/settings (get (sub-config) (get-current-repo))))
+  (get (sub-config) (get-current-repo)))
+
+(defn sub-graph-config-settings
+  []
+  (:graph/settings (sub-graph-config)))
 
 ;; Enable by default
 (defn show-brackets?
@@ -1126,20 +1130,20 @@
   []
   (get @state :notification/contents))
 
-(defn get-new-block-toggle?
+(defn document-mode?
   []
-  (get @state :editor/new-block-toggle?))
+  (get @state :document/mode?))
 
-(defn toggle-new-block-shortcut!
+(defn doc-mode-enter-for-new-line?
   []
-  (update-state! :editor/new-block-toggle? not))
+  (and (document-mode?)
+       (not (:shortcut/doc-mode-enter-for-new-block? (sub-graph-config)))))
 
 (defn toggle-document-mode!
   []
-  (let [mode (get @state :document/mode?)]
+  (let [mode (document-mode?)]
     (set-state! :document/mode? (not mode))
-    (storage/set :document/mode? (not mode)))
-  (toggle-new-block-shortcut!))
+    (storage/set :document/mode? (not mode))))
 
 (defn enable-tooltip?
   []

+ 4 - 0
templates/config.edn

@@ -92,6 +92,10 @@
  ;;  :editor/right           ["ctrl+l" "right"]}
  :shortcuts {}
 
+ ;; By default, pressing `Enter` in the document mode will creating a new line.
+ ;; Set this to `true` so that it's the same behaviour as the usual outliner mode.
+ :shortcut/doc-mode-enter-for-new-block? false
+
  ;; Whether to show command doc on hover
  :ui/show-command-doc? true