mirror of
https://github.com/penpot/penpot.git
synced 2025-06-09 17:11:46 +02:00
🐛 Fix CI
This commit is contained in:
parent
51ab11e91e
commit
b943a034c9
2 changed files with 36 additions and 5 deletions
|
@ -94,7 +94,7 @@
|
||||||
(map #(get-shape container %) (:shapes shape)))
|
(map #(get-shape container %) (:shapes shape)))
|
||||||
|
|
||||||
(defn get-component-shape
|
(defn get-component-shape
|
||||||
"Get the parent shape linked to a component for this shape, if any"
|
"Get the parent top shape linked to a component for this shape, if any"
|
||||||
([objects shape] (get-component-shape objects shape nil))
|
([objects shape] (get-component-shape objects shape nil))
|
||||||
([objects shape {:keys [allow-main?] :or {allow-main? false} :as options}]
|
([objects shape {:keys [allow-main?] :or {allow-main? false} :as options}]
|
||||||
(cond
|
(cond
|
||||||
|
@ -113,6 +113,26 @@
|
||||||
:else
|
:else
|
||||||
(get-component-shape objects (get objects (:parent-id shape)) options))))
|
(get-component-shape objects (get objects (:parent-id shape)) options))))
|
||||||
|
|
||||||
|
(defn get-head-shape
|
||||||
|
"Get the parent top or nested shape linked to a component for this shape, if any"
|
||||||
|
([objects shape] (get-head-shape objects shape nil))
|
||||||
|
([objects shape {:keys [allow-main?] :or {allow-main? false} :as options}]
|
||||||
|
(cond
|
||||||
|
(nil? shape)
|
||||||
|
nil
|
||||||
|
|
||||||
|
(cph/root? shape)
|
||||||
|
nil
|
||||||
|
|
||||||
|
(ctk/instance-head? shape)
|
||||||
|
shape
|
||||||
|
|
||||||
|
(and (not (ctk/in-component-copy? shape)) (not allow-main?))
|
||||||
|
nil
|
||||||
|
|
||||||
|
:else
|
||||||
|
(get-head-shape objects (get objects (:parent-id shape)) options))))
|
||||||
|
|
||||||
(defn get-instance-root
|
(defn get-instance-root
|
||||||
"Get the parent shape at the top of the component instance (main or copy)."
|
"Get the parent shape at the top of the component instance (main or copy)."
|
||||||
[objects shape]
|
[objects shape]
|
||||||
|
|
|
@ -177,15 +177,26 @@
|
||||||
(defn find-ref-shape
|
(defn find-ref-shape
|
||||||
"Locate the near component in the local file or libraries, and retrieve the shape
|
"Locate the near component in the local file or libraries, and retrieve the shape
|
||||||
referenced by the instance shape."
|
referenced by the instance shape."
|
||||||
[file page libraries shape]
|
[file page libraries shape & {:keys [include-deleted?] :or {include-deleted? false}}]
|
||||||
(let [root-shape (ctn/get-component-shape (:objects page) shape)
|
(let [root-shape (ctn/get-component-shape (:objects page) shape)
|
||||||
component-file (if (= (:component-file root-shape) (:id file))
|
component-file (if (= (:component-file root-shape) (:id file))
|
||||||
file
|
file
|
||||||
(get libraries (:component-file root-shape)))
|
(get libraries (:component-file root-shape)))
|
||||||
component (when component-file
|
component (when component-file
|
||||||
(ctkl/get-component (:data component-file) (:component-id root-shape)))]
|
(ctkl/get-component (:data component-file) (:component-id root-shape) include-deleted?))
|
||||||
(when component
|
ref-shape (when component
|
||||||
(get-ref-shape (:data component-file) component shape))))
|
(get-ref-shape (:data component-file) component shape))]
|
||||||
|
|
||||||
|
(if (some? ref-shape) ; There is a case when we have a nested orphan copy. In this case there is no near
|
||||||
|
ref-shape ; component for this copy, so shape-ref points to the remote main.
|
||||||
|
(let [head-shape (ctn/get-head-shape (:objects page) shape)
|
||||||
|
head-file (if (= (:component-file head-shape) (:id file))
|
||||||
|
file
|
||||||
|
(get libraries (:component-file head-shape)))
|
||||||
|
head-component (when (some? head-file)
|
||||||
|
(ctkl/get-component (:data head-file) (:component-id head-shape) include-deleted?))]
|
||||||
|
(when (some? head-component)
|
||||||
|
(get-ref-shape (:data head-file) head-component shape))))))
|
||||||
|
|
||||||
(defn find-remote-shape
|
(defn find-remote-shape
|
||||||
"Recursively go back by the :shape-ref of the shape until find the correct shape of the original component"
|
"Recursively go back by the :shape-ref of the shape until find the correct shape of the original component"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue