Browse Source

feat: add option to allow disable tooltip

Weihua Lu 4 years ago
parent
commit
aeb9ae568f

+ 9 - 1
src/main/frontend/components/settings.cljs

@@ -157,6 +157,7 @@
         enable-encryption? (state/enable-encryption? current-repo)
         sentry-disabled? (state/sub :sentry/disabled?)
         logical-outdenting? (state/logical-outdenting?)
+        enable-tooltip? (state/enable-tooltip?)
         enable-git-auto-push? (state/enable-git-auto-push? current-repo)
         enable-block-time? (state/enable-block-time?)
         show-brackets? (state/show-brackets?)
@@ -292,12 +293,19 @@
         (toggle "preferred_outdenting"
                 (ui/tippy {:html (outdenting-hint)
                            :interactive true
-                           :theme "customized"}
+                           :theme "customized"
+                           :disabled false}
                           (t :settings-page/preferred-outdenting))
                 logical-outdenting?
                 (fn []
                   (config-handler/toggle-logical-outdenting!)))
 
+        (toggle "enable-tooltip"
+                (t :settings-page/enable-tooltip)
+                enable-tooltip?
+                (fn []
+                  (config-handler/toggle-ui-enable-tooltip!)))
+
         (toggle "enable_timetracking"
                 (t :settings-page/enable-timetracking)
                 enable-timetracking?

+ 1 - 0
src/main/frontend/dicts.cljs

@@ -208,6 +208,7 @@
         :settings-page/preferred-file-format "Preferred file format"
         :settings-page/preferred-workflow "Preferred workflow"
         :settings-page/enable-timetracking "Enable timetracking"
+        :settings-page/enable-tooltip "Enable tooltip"
         :settings-page/enable-journals "Enable journals"
         :settings-page/enable-encryption "Enable encryption feature"
         :settings-page/home-default-page "Set the default home page"

+ 4 - 0
src/main/frontend/handler/config.cljs

@@ -16,3 +16,7 @@
 (defn toggle-logical-outdenting! []
   (let [logical-outdenting? (state/logical-outdenting?)]
     (set-config! :editor/logical-outdenting? (not logical-outdenting?))))
+
+(defn toggle-ui-enable-tooltip! []
+  (let [enable-tooltip? (state/enable-tooltip?)]
+    (set-config! :ui/enable-tooltip? (not enable-tooltip?))))

+ 6 - 0
src/main/frontend/state.cljs

@@ -1007,6 +1007,12 @@
   []
   (update-state! :editor/new-block-toggle? not))
 
+(defn enable-tooltip?
+  []
+  (get (get (sub-config) (get-current-repo))
+       :ui/enable-tooltip?
+       true))
+
 (defn set-config!
   [repo-url value]
   (set-state! [:config repo-url] value)

+ 2 - 1
src/main/frontend/ui.cljs

@@ -572,5 +572,6 @@
 
 (rum/defc tippy
   [opts child]
-  (Tippy (merge {:arrow true} opts)
+  (Tippy (merge {:arrow true
+                 :disabled (not (state/enable-tooltip?))} opts)
          child))

+ 4 - 0
templates/config.edn

@@ -24,6 +24,10 @@
  :default-templates
  {:journals ""}
 
+ ;; Whether to enable hover on tooltip preview feature
+ ;; Default is true, you can also toggle this via setting page
+ :ui/enable-tooltip? true
+
  ;; The app will show those queries in today's journal page,
  ;; the "NOW" query asks the tasks which need to be finished "now",
  ;; the "NEXT" query asks the future tasks.