mirror of
https://github.com/penpot/penpot.git
synced 2025-03-11 23:31:21 -05:00
🐛 Fix comments and history toggle
This commit is contained in:
parent
a4a70f81b9
commit
ccce550cda
6 changed files with 33 additions and 19 deletions
|
@ -60,8 +60,7 @@
|
|||
(let [local (:comments-local state)]
|
||||
(cond
|
||||
(:draft local) (rx/of (dcm/close-thread))
|
||||
(:open local) (rx/of (dcm/close-thread))
|
||||
:else (rx/of #(dissoc % :workspace-drawing)))))))
|
||||
(:open local) (rx/of (dcm/close-thread)))))))
|
||||
|
||||
;; Event responsible of the what should be executed when user clicked
|
||||
;; on the comments layer. An option can be create a new draft thread,
|
||||
|
|
|
@ -28,6 +28,10 @@
|
|||
ptk/UpdateEvent
|
||||
(update [_ state]
|
||||
(-> state
|
||||
(update :workspace-layout (fn [workspace-layout]
|
||||
(if (= tool :comments)
|
||||
(disj workspace-layout :document-history)
|
||||
workspace-layout)))
|
||||
(update :workspace-drawing assoc :tool tool)
|
||||
;; When changing drawing tool disable "scale text" mode
|
||||
;; automatically, to help users that ignore how this
|
||||
|
|
|
@ -92,7 +92,8 @@
|
|||
(fn []
|
||||
(if from-viewer
|
||||
(st/emit! (dcm/update-options {:show-sidebar? false}))
|
||||
(st/emit! :interrupt (dw/deselect-all true)))))
|
||||
(st/emit! (dw/clear-edition-mode)
|
||||
(dw/deselect-all true)))))
|
||||
|
||||
tgroups (->> threads
|
||||
(dcm/group-threads-by-page))
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
[app.main.data.events :as ev]
|
||||
[app.main.data.shortcuts :as scd]
|
||||
[app.main.data.workspace :as dw]
|
||||
[app.main.data.workspace.drawing.common :as dwc]
|
||||
[app.main.data.workspace.shortcuts :as sc]
|
||||
[app.main.refs :as refs]
|
||||
[app.main.store :as st]
|
||||
|
@ -21,7 +22,6 @@
|
|||
[app.main.ui.workspace.presence :refer [active-sessions]]
|
||||
[app.util.dom :as dom]
|
||||
[app.util.i18n :as i18n :refer [tr]]
|
||||
[app.util.timers :as ts]
|
||||
[okulary.core :as l]
|
||||
[rumext.v2 :as mf]))
|
||||
|
||||
|
@ -141,7 +141,7 @@
|
|||
(mf/defc right-header
|
||||
{::mf/wrap-props false}
|
||||
[{:keys [file layout page-id]}]
|
||||
(let [file-id (:id file)
|
||||
(let [file-id (:id file)
|
||||
|
||||
zoom (mf/deref refs/selected-zoom)
|
||||
read-only? (mf/use-ctx ctx/workspace-read-only?)
|
||||
|
@ -169,33 +169,29 @@
|
|||
|
||||
active-comments
|
||||
(mf/use-fn
|
||||
(mf/deps layout)
|
||||
(fn []
|
||||
(st/emit! :interrupt
|
||||
(dw/clear-edition-mode))
|
||||
;; Delay so anything that launched :interrupt can finish
|
||||
(ts/schedule 100 #(st/emit! (dw/select-for-drawing :comments)))))
|
||||
(dw/clear-edition-mode)
|
||||
(-> (dw/remove-layout-flag :document-history)
|
||||
(vary-meta assoc ::ev/origin "workspace-header"))
|
||||
(dw/select-for-drawing :comments))))
|
||||
|
||||
toggle-comments
|
||||
(mf/use-fn
|
||||
(mf/deps selected-drawtool)
|
||||
(fn [_]
|
||||
(when (contains? layout :document-history)
|
||||
(st/emit! (-> (dw/remove-layout-flag :document-history)
|
||||
(vary-meta assoc ::ev/origin "workspace-header"))))
|
||||
|
||||
(if (= :comments selected-drawtool)
|
||||
(st/emit! :interrupt)
|
||||
(if (= selected-drawtool :comments)
|
||||
(st/emit! (dwc/clear-drawing))
|
||||
(active-comments))))
|
||||
|
||||
toggle-history
|
||||
(mf/use-fn
|
||||
(mf/deps selected-drawtool)
|
||||
(fn []
|
||||
|
||||
(when (= :comments selected-drawtool)
|
||||
(st/emit! :interrupt
|
||||
(-> (dw/toggle-layout-flag :comments)
|
||||
(vary-meta assoc ::ev/origin "workspace-header"))))
|
||||
(dw/clear-edition-mode)))
|
||||
|
||||
(st/emit! (-> (dw/toggle-layout-flag :document-history)
|
||||
(vary-meta assoc ::ev/origin "workspace-header")))))]
|
||||
|
|
|
@ -266,7 +266,7 @@
|
|||
|
||||
rule-area-size (/ rulers/ruler-area-size zoom)]
|
||||
|
||||
(hooks/setup-dom-events zoom disable-paste in-viewport? workspace-read-only?)
|
||||
(hooks/setup-dom-events zoom disable-paste in-viewport? workspace-read-only? drawing-tool drawing-path?)
|
||||
(hooks/setup-viewport-size vport viewport-ref)
|
||||
(hooks/setup-cursor cursor alt? mod? space? panning drawing-tool drawing-path? node-editing? z? workspace-read-only?)
|
||||
(hooks/setup-keyboard alt? mod? space? z? shift?)
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
[app.common.uuid :as uuid]
|
||||
[app.main.data.shortcuts :as dsc]
|
||||
[app.main.data.workspace :as dw]
|
||||
[app.main.data.workspace.edition :as dwe]
|
||||
[app.main.data.workspace.grid-layout.shortcuts :as gsc]
|
||||
[app.main.data.workspace.path.shortcuts :as psc]
|
||||
[app.main.data.workspace.shortcuts :as wsc]
|
||||
|
@ -39,13 +40,26 @@
|
|||
[rumext.v2 :as mf])
|
||||
(:import goog.events.EventType))
|
||||
|
||||
(defn setup-dom-events [zoom disable-paste in-viewport? workspace-read-only?]
|
||||
(defn setup-dom-events [zoom disable-paste in-viewport? workspace-read-only? drawing-tool drawing-path?]
|
||||
(let [on-key-down (actions/on-key-down)
|
||||
on-key-up (actions/on-key-up)
|
||||
on-mouse-wheel (actions/on-mouse-wheel zoom)
|
||||
on-paste (actions/on-paste disable-paste in-viewport? workspace-read-only?)
|
||||
on-pointer-down (mf/use-fn
|
||||
(mf/deps drawing-tool drawing-path?)
|
||||
(fn [_]
|
||||
(when drawing-path?
|
||||
(st/emit! (dwe/clear-edition-mode)))))
|
||||
on-blur (mf/use-fn #(st/emit! (mse/->BlurEvent)))]
|
||||
|
||||
(mf/use-effect
|
||||
(mf/deps drawing-tool drawing-path?)
|
||||
(fn []
|
||||
(let [keys [(events/listen js/window EventType.POINTERDOWN on-pointer-down)]]
|
||||
(fn []
|
||||
(doseq [key keys]
|
||||
(events/unlistenByKey key))))))
|
||||
|
||||
(mf/use-layout-effect
|
||||
(mf/deps on-key-down on-key-up on-mouse-wheel on-paste workspace-read-only?)
|
||||
(fn []
|
||||
|
|
Loading…
Add table
Reference in a new issue