0
Fork 0
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:
alonso.torres 2022-04-01 11:26:47 +02:00
parent 0bb20197f1
commit 76abd6796e
3 changed files with 39 additions and 30 deletions

View file

@ -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))

View file

@ -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)))))

View file

@ -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]