mirror of
https://github.com/penpot/penpot.git
synced 2025-06-07 04:02:01 +02:00
⚡ Add incremental performance enhacements to layout-containers (part 1)
This commit is contained in:
parent
7879d883cf
commit
593966a30a
1 changed files with 26 additions and 25 deletions
|
@ -1041,11 +1041,13 @@
|
||||||
saved-grid-dir (:layout-grid-dir values)
|
saved-grid-dir (:layout-grid-dir values)
|
||||||
|
|
||||||
set-direction
|
set-direction
|
||||||
(fn [dir]
|
(mf/use-fn
|
||||||
(let [dir (keyword dir)]
|
(mf/deps ids)
|
||||||
(st/emit! (dwsl/update-layout ids {:layout-grid-dir dir}))))
|
(fn [dir]
|
||||||
|
(let [dir (keyword dir)]
|
||||||
|
(st/emit! (dwsl/update-layout ids {:layout-grid-dir dir})))))
|
||||||
|
|
||||||
set-gap
|
on-gap-change
|
||||||
(fn [gap-multiple? type val]
|
(fn [gap-multiple? type val]
|
||||||
(if gap-multiple?
|
(if gap-multiple?
|
||||||
(st/emit! (dwsl/update-layout ids {:layout-gap {:row-gap val :column-gap val}}))
|
(st/emit! (dwsl/update-layout ids {:layout-gap {:row-gap val :column-gap val}}))
|
||||||
|
@ -1053,8 +1055,10 @@
|
||||||
|
|
||||||
;; Padding
|
;; Padding
|
||||||
change-padding-type
|
change-padding-type
|
||||||
(fn [type]
|
(mf/use-fn
|
||||||
(st/emit! (dwsl/update-layout ids {:layout-padding-type type})))
|
(mf/deps ids)
|
||||||
|
(fn [type]
|
||||||
|
(st/emit! (dwsl/update-layout ids {:layout-padding-type type}))))
|
||||||
|
|
||||||
on-padding-change
|
on-padding-change
|
||||||
(fn [type prop val]
|
(fn [type prop val]
|
||||||
|
@ -1095,20 +1099,17 @@
|
||||||
(st/emit! (dwsl/update-layout ids {:layout-justify-content value}))
|
(st/emit! (dwsl/update-layout ids {:layout-justify-content value}))
|
||||||
(st/emit! (dwsl/update-layout ids {:layout-align-content value}))))))
|
(st/emit! (dwsl/update-layout ids {:layout-align-content value}))))))
|
||||||
|
|
||||||
;;Grid columns
|
columns-open? (mf/use-state false)
|
||||||
column-grid-values (:layout-grid-columns values)
|
rows-open? (mf/use-state false)
|
||||||
grid-columns-open? (mf/use-state false)
|
|
||||||
toggle-columns-info (mf/use-fn
|
|
||||||
(fn [_]
|
|
||||||
(swap! grid-columns-open? not)))
|
|
||||||
|
|
||||||
;; Grid rows / columns
|
column-values (:layout-grid-columns values)
|
||||||
rows-grid-values (:layout-grid-rows values)
|
rows-values (:layout-grid-rows values)
|
||||||
grid-rows-open? (mf/use-state false)
|
|
||||||
toggle-rows-info
|
toggle-columns-open
|
||||||
(mf/use-fn
|
(mf/use-fn #(swap! columns-open? not))
|
||||||
(fn [_]
|
|
||||||
(swap! grid-rows-open? not)))
|
toggle-rows-open
|
||||||
|
(mf/use-fn #(swap! rows-open? not))
|
||||||
|
|
||||||
add-new-element
|
add-new-element
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
|
@ -1214,9 +1215,9 @@
|
||||||
|
|
||||||
[:div {:class (stl/css :row :grid-tracks-row)}
|
[:div {:class (stl/css :row :grid-tracks-row)}
|
||||||
[:& grid-columns-row {:is-col? true
|
[:& grid-columns-row {:is-col? true
|
||||||
:expanded? @grid-columns-open?
|
:expanded? @columns-open?
|
||||||
:toggle toggle-columns-info
|
:toggle toggle-columns-open
|
||||||
:column-values column-grid-values
|
:column-values column-values
|
||||||
:add-new-element add-new-element
|
:add-new-element add-new-element
|
||||||
:set-column-value set-column-value
|
:set-column-value set-column-value
|
||||||
:set-column-type set-column-type
|
:set-column-type set-column-type
|
||||||
|
@ -1226,9 +1227,9 @@
|
||||||
:on-select-track handle-select-track}]
|
:on-select-track handle-select-track}]
|
||||||
|
|
||||||
[:& grid-columns-row {:is-col? false
|
[:& grid-columns-row {:is-col? false
|
||||||
:expanded? @grid-rows-open?
|
:expanded? @rows-open?
|
||||||
:toggle toggle-rows-info
|
:toggle toggle-rows-open
|
||||||
:column-values rows-grid-values
|
:column-values rows-values
|
||||||
:add-new-element add-new-element
|
:add-new-element add-new-element
|
||||||
:set-column-value set-column-value
|
:set-column-value set-column-value
|
||||||
:set-column-type set-column-type
|
:set-column-type set-column-type
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue