mirror of
https://github.com/penpot/penpot.git
synced 2025-02-24 07:46:13 -05:00
🐛 Fix import problems
This commit is contained in:
parent
0bb20197f1
commit
76abd6796e
3 changed files with 39 additions and 30 deletions
|
@ -214,11 +214,13 @@
|
||||||
|
|
||||||
(= type :frame)
|
(= type :frame)
|
||||||
(let [;; The nodes with the "frame-background" class can have some anidation depending on the strokes they have
|
(let [;; The nodes with the "frame-background" class can have some anidation depending on the strokes they have
|
||||||
g-nodes (find-all-nodes node :g)
|
g-nodes (find-all-nodes node :g)
|
||||||
defs-nodes (flatten (map #(find-all-nodes % :defs) g-nodes))
|
defs-nodes (flatten (map #(find-all-nodes % :defs) g-nodes))
|
||||||
|
gg-nodes (flatten (map #(find-all-nodes % :g) g-nodes))
|
||||||
rect-nodes (flatten [[(find-all-nodes node :rect)]
|
rect-nodes (flatten [[(find-all-nodes node :rect)]
|
||||||
(map #(find-all-nodes % #{:rect :path}) defs-nodes)
|
(map #(find-all-nodes % #{:rect :path}) defs-nodes)
|
||||||
(map #(find-all-nodes % #{:rect :path}) g-nodes)])
|
(map #(find-all-nodes % #{:rect :path}) g-nodes)
|
||||||
|
(map #(find-all-nodes % #{:rect :path}) gg-nodes)])
|
||||||
svg-node (d/seek #(= "frame-background" (get-in % [:attrs :class])) rect-nodes)]
|
svg-node (d/seek #(= "frame-background" (get-in % [:attrs :class])) rect-nodes)]
|
||||||
(merge (add-attrs {} (:attrs svg-node)) node-attrs))
|
(merge (add-attrs {} (:attrs svg-node)) node-attrs))
|
||||||
|
|
||||||
|
|
|
@ -302,16 +302,17 @@
|
||||||
(reduce simplify-command [[start] start-pos start-pos start-pos start-pos])
|
(reduce simplify-command [[start] start-pos start-pos start-pos start-pos])
|
||||||
(first))))
|
(first))))
|
||||||
|
|
||||||
|
|
||||||
(defn parse-path [path-str]
|
(defn parse-path [path-str]
|
||||||
(let [clean-path-str
|
(if (empty? path-str)
|
||||||
(-> path-str
|
path-str
|
||||||
(str/trim)
|
(let [clean-path-str
|
||||||
;; Change "commas" for spaces
|
(-> path-str
|
||||||
(str/replace #"," " ")
|
(str/trim)
|
||||||
;; Remove all consecutive spaces
|
;; Change "commas" for spaces
|
||||||
(str/replace #"\s+" " "))
|
(str/replace #"," " ")
|
||||||
commands (re-seq commands-regex clean-path-str)]
|
;; Remove all consecutive spaces
|
||||||
(-> (mapcat parse-command commands)
|
(str/replace #"\s+" " "))
|
||||||
(simplify-commands))))
|
commands (re-seq commands-regex clean-path-str)]
|
||||||
|
(-> (mapcat parse-command commands)
|
||||||
|
(simplify-commands)))))
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
;; Upload changes batches size
|
;; Upload changes batches size
|
||||||
(def ^:const change-batch-size 100)
|
(def ^:const change-batch-size 100)
|
||||||
|
|
||||||
|
(def conjv (fnil conj []))
|
||||||
|
|
||||||
(defn get-file
|
(defn get-file
|
||||||
"Resolves the file inside the context given its id and the data"
|
"Resolves the file inside the context given its id and the data"
|
||||||
([context type]
|
([context type]
|
||||||
|
@ -261,25 +263,29 @@
|
||||||
(cond-> (some? old-id)
|
(cond-> (some? old-id)
|
||||||
(assoc :id (resolve old-id)))
|
(assoc :id (resolve old-id)))
|
||||||
(cond-> (< (:version context 1) 2)
|
(cond-> (< (:version context 1) 2)
|
||||||
(translate-frame type file)))
|
(translate-frame type file)))]
|
||||||
|
(try
|
||||||
|
(let [file (case type
|
||||||
|
:frame (fb/add-artboard file data)
|
||||||
|
:group (fb/add-group file data)
|
||||||
|
:bool (fb/add-bool file data)
|
||||||
|
:rect (fb/create-rect file data)
|
||||||
|
:circle (fb/create-circle file data)
|
||||||
|
:path (fb/create-path file data)
|
||||||
|
:text (fb/create-text file data)
|
||||||
|
:image (fb/create-image file data)
|
||||||
|
:svg-raw (fb/create-svg-raw file data)
|
||||||
|
#_default file)]
|
||||||
|
|
||||||
file (case type
|
;; We store this data for post-processing after every shape has been
|
||||||
:frame (fb/add-artboard file data)
|
;; added
|
||||||
:group (fb/add-group file data)
|
(cond-> file
|
||||||
:bool (fb/add-bool file data)
|
(d/not-empty? interactions)
|
||||||
:rect (fb/create-rect file data)
|
(assoc-in [:interactions (:id data)] interactions)))
|
||||||
:circle (fb/create-circle file data)
|
|
||||||
:path (fb/create-path file data)
|
|
||||||
:text (fb/create-text file data)
|
|
||||||
:image (fb/create-image file data)
|
|
||||||
:svg-raw (fb/create-svg-raw file data)
|
|
||||||
#_default file)]
|
|
||||||
|
|
||||||
;; We store this data for post-processing after every shape has been
|
(catch :default err
|
||||||
;; added
|
(log/error :hint (ex-message err) :cause err :js/data data)
|
||||||
(cond-> file
|
(update file :errors conjv data)))))))
|
||||||
(d/not-empty? interactions)
|
|
||||||
(assoc-in [:interactions (:id data)] interactions))))))
|
|
||||||
|
|
||||||
(defn setup-interactions
|
(defn setup-interactions
|
||||||
[file]
|
[file]
|
||||||
|
|
Loading…
Add table
Reference in a new issue