0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-24 15:56:11 -05:00

Removed constraints when layout child

This commit is contained in:
alonso.torres 2022-11-03 16:13:58 +01:00
parent 4ecc166055
commit 7caf4b9136
14 changed files with 67 additions and 52 deletions

View file

@ -7,6 +7,7 @@
(ns app.main.ui.workspace.sidebar.options (ns app.main.ui.workspace.sidebar.options
(:require (:require
[app.common.data :as d] [app.common.data :as d]
[app.common.geom.shapes :as gsh]
[app.main.data.workspace :as udw] [app.main.data.workspace :as udw]
[app.main.refs :as refs] [app.main.refs :as refs]
[app.main.store :as st] [app.main.store :as st]
@ -36,24 +37,27 @@
(mf/defc shape-options (mf/defc shape-options
{::mf/wrap [#(mf/throttle % 60)]} {::mf/wrap [#(mf/throttle % 60)]}
[{:keys [shape shapes-with-children page-id file-id shared-libs]}] [{:keys [shape shapes-with-children page-id file-id shared-libs]}]
[:* (let [workspace-modifiers (mf/deref refs/workspace-modifiers)
(case (:type shape) modifiers (get-in workspace-modifiers [(:id shape) :modifiers])
:frame [:& frame/options {:shape shape}] shape (gsh/transform-shape shape modifiers)]
:group [:& group/options {:shape shape :shape-with-children shapes-with-children :file-id file-id :shared-libs shared-libs}] [:*
:text [:& text/options {:shape shape :file-id file-id :shared-libs shared-libs}] (case (:type shape)
:rect [:& rect/options {:shape shape}] :frame [:& frame/options {:shape shape}]
:circle [:& circle/options {:shape shape}] :group [:& group/options {:shape shape :shape-with-children shapes-with-children :file-id file-id :shared-libs shared-libs}]
:path [:& path/options {:shape shape}] :text [:& text/options {:shape shape :file-id file-id :shared-libs shared-libs}]
:image [:& image/options {:shape shape}] :rect [:& rect/options {:shape shape}]
:svg-raw [:& svg-raw/options {:shape shape}] :circle [:& circle/options {:shape shape}]
:bool [:& bool/options {:shape shape}] :path [:& path/options {:shape shape}]
nil) :image [:& image/options {:shape shape}]
[:& exports-menu :svg-raw [:& svg-raw/options {:shape shape}]
{:ids [(:id shape)] :bool [:& bool/options {:shape shape}]
:values (select-keys shape [:exports]) nil)
:shape shape [:& exports-menu
:page-id page-id {:ids [(:id shape)]
:file-id file-id}]]) :values (select-keys shape [:exports])
:shape shape
:page-id page-id
:file-id file-id}]]))
(mf/defc options-content (mf/defc options-content
{::mf/wrap [mf/memo]} {::mf/wrap [mf/memo]}

View file

@ -30,7 +30,6 @@
frames (map #(deref (refs/object-by-id (:frame-id %))) old-shapes) frames (map #(deref (refs/object-by-id (:frame-id %))) old-shapes)
shapes (as-> old-shapes $ shapes (as-> old-shapes $
#_(map gsh/transform-shape $)
(map gsh/translate-to-frame $ frames)) (map gsh/translate-to-frame $ frames))
values (let [{:keys [x y]} (-> shapes first :points gsh/points->selrect)] values (let [{:keys [x y]} (-> shapes first :points gsh/points->selrect)]

View file

@ -77,18 +77,18 @@
:stretch nil)) :stretch nil))
:align-self (if is-col? :align-self (if is-col?
(case val
:start i/align-self-column-top
:end i/align-self-column-bottom
:center i/align-self-column-center
:stretch i/align-self-column-strech
:baseline i/align-self-column-baseline)
(case val (case val
:start i/align-self-row-left :start i/align-self-row-left
:end i/align-self-row-right :end i/align-self-row-right
:center i/align-self-row-center :center i/align-self-row-center
:stretch i/align-self-row-strech :stretch i/align-self-row-strech
:baseline i/align-self-row-baseline)))) :baseline i/align-self-row-baseline)
(case val
:start i/align-self-column-top
:end i/align-self-column-bottom
:center i/align-self-column-center
:stretch i/align-self-column-strech
:baseline i/align-self-column-baseline))))
(mf/defc direction-btn (mf/defc direction-btn
[{:keys [dir saved-dir set-direction] :as props}] [{:keys [dir saved-dir set-direction] :as props}]
@ -170,7 +170,8 @@
[{:keys [values on-change-style on-change] :as props}] [{:keys [values on-change-style on-change] :as props}]
(let [padding-type (:layout-padding-type values) (let [padding-type (:layout-padding-type values)
rx (if (apply = (vals (:layout-padding values))) rx (if (and (not (= :multiple (:layout-padding values)))
(apply = (vals (:layout-padding values))))
(:p1 (:layout-padding values)) (:p1 (:layout-padding values))
"--")] "--")]

View file

@ -69,9 +69,7 @@
;; -- User/drawing coords ;; -- User/drawing coords
(mf/defc measures-menu (mf/defc measures-menu
[{:keys [ids ids-with-children values type all-types shape] :as props}] [{:keys [ids ids-with-children values type all-types shape] :as props}]
(let [workspace-modifiers (mf/deref refs/workspace-modifiers) (let [options (if (= type :multiple)
options (if (= type :multiple)
(reduce #(union %1 %2) (map #(get type->options %) all-types)) (reduce #(union %1 %2) (map #(get type->options %) all-types))
(get type->options type)) (get type->options type))
@ -97,9 +95,6 @@
;; the shape with the mouse, generate a copy of the shapes applying ;; the shape with the mouse, generate a copy of the shapes applying
;; the transient transformations. ;; the transient transformations.
shapes (as-> old-shapes $ shapes (as-> old-shapes $
(map (fn [shape]
(let [modifiers (get-in workspace-modifiers [(:id shape) :modifiers])]
(gsh/transform-shape shape modifiers))) $)
(map gsh/translate-to-frame $ frames)) (map gsh/translate-to-frame $ frames))
;; For rotated or stretched shapes, the origin point we show in the menu ;; For rotated or stretched shapes, the origin point we show in the menu

View file

@ -41,8 +41,10 @@
:values layout-item-values :values layout-item-values
:is-layout-child? true :is-layout-child? true
:shape shape}]) :shape shape}])
[:& constraints-menu {:ids ids
:values constraint-values}] (when (not is-layout-child?)
[:& constraints-menu {:ids ids
:values constraint-values}])
[:& layer-menu {:ids ids [:& layer-menu {:ids ids
:type type :type type
:values layer-values}] :values layer-values}]

View file

@ -43,8 +43,9 @@
:is-layout-child? true :is-layout-child? true
:is-layout-container? false :is-layout-container? false
:shape shape}]) :shape shape}])
[:& constraints-menu {:ids ids (when (not is-layout-child?)
:values constraint-values}] [:& constraints-menu {:ids ids
:values constraint-values}])
[:& layer-menu {:ids ids [:& layer-menu {:ids ids
:type type :type type
:values layer-values}] :values layer-values}]

View file

@ -43,8 +43,9 @@
:values measure-values :values measure-values
:type type :type type
:shape shape}] :shape shape}]
[:& constraints-menu {:ids ids (when (not is-layout-child?)
:values constraint-values}] [:& constraints-menu {:ids ids
:values constraint-values}])
(when (or layout-active? is-layout-container?) (when (or layout-active? is-layout-container?)
[:& layout-container-menu {:type type :ids [(:id shape)] :values layout-container-values}]) [:& layout-container-menu {:type type :ids [(:id shape)] :values layout-container-values}])

View file

@ -62,7 +62,8 @@
:is-layout-container? false :is-layout-container? false
:values layout-item-values}]) :values layout-item-values}])
[:& constraints-menu {:ids constraint-ids :values constraint-values}] (when (not is-layout-child?)
[:& constraints-menu {:ids constraint-ids :values constraint-values}])
[:& layer-menu {:type type :ids layer-ids :values layer-values}] [:& layer-menu {:type type :ids layer-ids :values layer-values}]
(when-not (empty? fill-ids) (when-not (empty? fill-ids)

View file

@ -44,8 +44,9 @@
:is-layout-child? true :is-layout-child? true
:shape shape}]) :shape shape}])
[:& constraints-menu {:ids ids (when (not is-layout-child?)
:values constraint-values}] [:& constraints-menu {:ids ids
:values constraint-values}])
[:& layer-menu {:ids ids [:& layer-menu {:ids ids
:type type :type type

View file

@ -253,6 +253,10 @@
[props] [props]
(let [shapes (unchecked-get props "shapes") (let [shapes (unchecked-get props "shapes")
shapes-with-children (unchecked-get props "shapes-with-children") shapes-with-children (unchecked-get props "shapes-with-children")
workspace-modifiers (mf/deref refs/workspace-modifiers)
shapes (map #(gsh/transform-shape % (get-in workspace-modifiers [(:id %) :modifiers])) shapes)
page-id (unchecked-get props "page-id") page-id (unchecked-get props "page-id")
file-id (unchecked-get props "file-id") file-id (unchecked-get props "file-id")
shared-libs (unchecked-get props "shared-libs") shared-libs (unchecked-get props "shared-libs")
@ -319,7 +323,7 @@
:is-layout-container? true :is-layout-container? true
:values layout-item-values}]) :values layout-item-values}])
(when-not (empty? constraint-ids) (when-not (or (empty? constraint-ids) is-layout-child?)
[:& constraints-menu {:ids constraint-ids :values constraint-values}]) [:& constraints-menu {:ids constraint-ids :values constraint-values}])
(when-not (empty? layer-ids) (when-not (empty? layer-ids)

View file

@ -43,8 +43,9 @@
:is-layout-child? true :is-layout-child? true
:is-layout-container? false :is-layout-container? false
:shape shape}]) :shape shape}])
[:& constraints-menu {:ids ids (when (not is-layout-child?)
:values constraint-values}] [:& constraints-menu {:ids ids
:values constraint-values}])
[:& layer-menu {:ids ids [:& layer-menu {:ids ids
:type type :type type
:values layer-values}] :values layer-values}]

View file

@ -44,8 +44,10 @@
:values layout-item-values :values layout-item-values
:is-layout-child? true :is-layout-child? true
:shape shape}]) :shape shape}])
[:& constraints-menu {:ids ids
:values constraint-values}] (when (not is-layout-child?)
[:& constraints-menu {:ids ids
:values constraint-values}])
[:& layer-menu {:ids ids [:& layer-menu {:ids ids
:type type :type type

View file

@ -120,8 +120,9 @@
:is-layout-child? true :is-layout-child? true
:shape shape}]) :shape shape}])
[:& constraints-menu {:ids ids (when (not is-layout-child?)
:values constraint-values}] [:& constraints-menu {:ids ids
:values constraint-values}])
[:& fill-menu {:ids ids [:& fill-menu {:ids ids
:type type :type type

View file

@ -78,9 +78,11 @@
:values layout-item-values :values layout-item-values
:is-layout-child? true :is-layout-child? true
:shape shape}]) :shape shape}])
[:& constraints-menu
{:ids ids (when (not is-layout-child?)
:values (select-keys shape constraint-attrs)}] [:& constraints-menu
{:ids ids
:values (select-keys shape constraint-attrs)}])
[:& layer-menu {:ids ids [:& layer-menu {:ids ids
:type type :type type