mirror of
https://github.com/penpot/penpot.git
synced 2025-02-10 09:08:31 -05:00
Delay grid alignment index initialization until user stop typing.
This commit is contained in:
parent
32041b9596
commit
74bcdd2507
2 changed files with 24 additions and 13 deletions
|
@ -206,21 +206,32 @@
|
|||
|
||||
;; --- Initialize Alignment Index
|
||||
|
||||
(declare initialize-alignment?)
|
||||
|
||||
(defrecord InitializeAlignment [id]
|
||||
ptk/WatchEvent
|
||||
(watch [_ state s]
|
||||
(watch [_ state stream]
|
||||
(let [page (get-in state [:pages id])
|
||||
opts (:metadata page)
|
||||
message {:cmd :grid-init
|
||||
:width c/viewport-width
|
||||
:height c/viewport-height
|
||||
:x-axis (:grid-x-axis opts c/grid-x-axis)
|
||||
:y-axis (:grid-y-axis opts c/grid-y-axis)}]
|
||||
(rx/merge
|
||||
(->> (uw/send! worker message)
|
||||
(rx/map #(activate-flag :grid-indexed)))
|
||||
(when (:grid-alignment opts)
|
||||
(rx/of (activate-flag :grid-alignment)))))))
|
||||
:y-axis (:grid-y-axis opts c/grid-y-axis)}
|
||||
stoper (->> (rx/filter initialize-alignment? stream)
|
||||
(rx/take 1))]
|
||||
(->> (rx/just nil)
|
||||
(rx/delay 1000)
|
||||
(rx/take-until stoper)
|
||||
(rx/flat-map (fn [_]
|
||||
(rx/merge (->> (uw/send! worker message)
|
||||
(rx/map #(activate-flag :grid-indexed)))
|
||||
(when (:grid-alignment opts)
|
||||
(rx/of (activate-flag :grid-alignment))))))))))
|
||||
|
||||
(defn initialize-alignment?
|
||||
[v]
|
||||
(instance? InitializeAlignment v))
|
||||
|
||||
(defn initialize-alignment
|
||||
[id]
|
||||
|
|
|
@ -82,16 +82,16 @@
|
|||
(when-let [value (-> (mx/ref-node own "x-axis")
|
||||
(dom/get-value)
|
||||
(parse-int nil))]
|
||||
(->> (assoc metadata :grid-x-axis value)
|
||||
(udp/update-metadata id)
|
||||
(st/emit!))))
|
||||
(st/emit!
|
||||
(->> (assoc metadata :grid-x-axis value)
|
||||
(udw/update-metadata id)))))
|
||||
(on-y-change []
|
||||
(when-let [value (-> (mx/ref-node own "y-axis")
|
||||
(dom/get-value)
|
||||
(parse-int nil))]
|
||||
(->> (assoc metadata :grid-y-axis value)
|
||||
(udp/update-metadata id)
|
||||
(st/emit!))))
|
||||
(st/emit!
|
||||
(->> (assoc metadata :grid-y-axis value)
|
||||
(udw/update-metadata id)))))
|
||||
(on-magnet-change []
|
||||
(let [checked? (dom/checked? (mx/ref-node own "magnet"))
|
||||
metadata (assoc metadata :grid-alignment checked?)]
|
||||
|
|
Loading…
Add table
Reference in a new issue