mirror of
https://github.com/penpot/penpot.git
synced 2025-05-22 19:06:11 +02:00
✨ Include features info in exported zipfiles
This commit is contained in:
parent
1b8e4dfdfa
commit
94cdd4a481
4 changed files with 14 additions and 14 deletions
|
@ -72,7 +72,7 @@
|
||||||
|
|
||||||
manifest-stream
|
manifest-stream
|
||||||
(->> files-stream
|
(->> files-stream
|
||||||
(rx/map #(e/create-manifest (uuid/next) (:id file) :all %))
|
(rx/map #(e/create-manifest (uuid/next) (:id file) :all % false))
|
||||||
(rx/map (fn [a]
|
(rx/map (fn [a]
|
||||||
(vector "manifest.json" a))))
|
(vector "manifest.json" a))))
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
[app.main.data.events :as ev]
|
[app.main.data.events :as ev]
|
||||||
[app.main.data.messages :as msg]
|
[app.main.data.messages :as msg]
|
||||||
[app.main.data.modal :as modal]
|
[app.main.data.modal :as modal]
|
||||||
[app.main.features :as features]
|
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.main.ui.components.file-uploader :refer [file-uploader]]
|
[app.main.ui.components.file-uploader :refer [file-uploader]]
|
||||||
[app.main.ui.icons :as i]
|
[app.main.ui.icons :as i]
|
||||||
|
@ -248,8 +247,6 @@
|
||||||
:files (->> files
|
:files (->> files
|
||||||
(mapv #(assoc % :status :analyzing)))})
|
(mapv #(assoc % :status :analyzing)))})
|
||||||
|
|
||||||
components-v2 (features/use-feature :components-v2)
|
|
||||||
|
|
||||||
analyze-import
|
analyze-import
|
||||||
(mf/use-callback
|
(mf/use-callback
|
||||||
(fn [files]
|
(fn [files]
|
||||||
|
@ -271,7 +268,6 @@
|
||||||
:num-files (count files)}))
|
:num-files (count files)}))
|
||||||
(->> (uw/ask-many!
|
(->> (uw/ask-many!
|
||||||
{:cmd :import-files
|
{:cmd :import-files
|
||||||
:components-v2 components-v2
|
|
||||||
:project-id project-id
|
:project-id project-id
|
||||||
:files files})
|
:files files})
|
||||||
(rx/subs
|
(rx/subs
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
(defn create-manifest
|
(defn create-manifest
|
||||||
"Creates a manifest entry for the given files"
|
"Creates a manifest entry for the given files"
|
||||||
[team-id file-id export-type files]
|
[team-id file-id export-type files components-v2]
|
||||||
(letfn [(format-page [manifest page]
|
(letfn [(format-page [manifest page]
|
||||||
(-> manifest
|
(-> manifest
|
||||||
(assoc (str (:id page))
|
(assoc (str (:id page))
|
||||||
|
@ -37,10 +37,14 @@
|
||||||
(mapv str))
|
(mapv str))
|
||||||
index (->> (get-in file [:data :pages-index])
|
index (->> (get-in file [:data :pages-index])
|
||||||
(vals)
|
(vals)
|
||||||
(reduce format-page {}))]
|
(reduce format-page {}))
|
||||||
|
features (cond-> []
|
||||||
|
components-v2
|
||||||
|
(conj "components/v2"))]
|
||||||
(-> manifest
|
(-> manifest
|
||||||
(assoc (str (:id file))
|
(assoc (str (:id file))
|
||||||
{:name name
|
{:name name
|
||||||
|
:features features
|
||||||
:shared is-shared
|
:shared is-shared
|
||||||
:pages pages
|
:pages pages
|
||||||
:pagesIndex index
|
:pagesIndex index
|
||||||
|
@ -395,7 +399,7 @@
|
||||||
|
|
||||||
manifest-stream
|
manifest-stream
|
||||||
(->> files-stream
|
(->> files-stream
|
||||||
(rx/map #(create-manifest team-id file-id export-type %))
|
(rx/map #(create-manifest team-id file-id export-type % components-v2))
|
||||||
(rx/map #(vector "manifest.json" %)))
|
(rx/map #(vector "manifest.json" %)))
|
||||||
|
|
||||||
render-stream
|
render-stream
|
||||||
|
|
|
@ -126,10 +126,10 @@
|
||||||
|
|
||||||
(defn create-file
|
(defn create-file
|
||||||
"Create a new file on the back-end"
|
"Create a new file on the back-end"
|
||||||
[context components-v2]
|
[context]
|
||||||
(let [resolve-fn (:resolve context)
|
(let [resolve-fn (:resolve context)
|
||||||
file-id (resolve-fn (:file-id context))
|
file-id (resolve-fn (:file-id context))
|
||||||
features (cond-> #{} components-v2 (conj "components/v2"))]
|
features (into #{} (:features context))]
|
||||||
(rp/cmd! :create-temp-file
|
(rp/cmd! :create-temp-file
|
||||||
{:id file-id
|
{:id file-id
|
||||||
:name (:name context)
|
:name (:name context)
|
||||||
|
@ -563,14 +563,14 @@
|
||||||
(rx/tap #(rx/end! progress-str)))]))
|
(rx/tap #(rx/end! progress-str)))]))
|
||||||
|
|
||||||
(defn create-files
|
(defn create-files
|
||||||
[context files components-v2]
|
[context files]
|
||||||
|
|
||||||
(let [data (group-by :file-id files)]
|
(let [data (group-by :file-id files)]
|
||||||
(rx/concat
|
(rx/concat
|
||||||
(->> (rx/from files)
|
(->> (rx/from files)
|
||||||
(rx/map #(merge context %))
|
(rx/map #(merge context %))
|
||||||
(rx/flat-map (fn [context]
|
(rx/flat-map (fn [context]
|
||||||
(->> (create-file context components-v2)
|
(->> (create-file context)
|
||||||
(rx/map #(vector % (first (get data (:file-id context)))))))))
|
(rx/map #(vector % (first (get data (:file-id context)))))))))
|
||||||
|
|
||||||
(->> (rx/from files)
|
(->> (rx/from files)
|
||||||
|
@ -629,7 +629,7 @@
|
||||||
(rx/of {:uri (:uri file) :error error}))))))))))
|
(rx/of {:uri (:uri file) :error error}))))))))))
|
||||||
|
|
||||||
(defmethod impl/handler :import-files
|
(defmethod impl/handler :import-files
|
||||||
[{:keys [project-id files components-v2]}]
|
[{:keys [project-id files]}]
|
||||||
|
|
||||||
(let [context {:project-id project-id
|
(let [context {:project-id project-id
|
||||||
:resolve (resolve-factory)}
|
:resolve (resolve-factory)}
|
||||||
|
@ -637,7 +637,7 @@
|
||||||
binary-files (filter #(= "application/octet-stream" (:type %)) files)]
|
binary-files (filter #(= "application/octet-stream" (:type %)) files)]
|
||||||
|
|
||||||
(->> (rx/merge
|
(->> (rx/merge
|
||||||
(->> (create-files context zip-files components-v2)
|
(->> (create-files context zip-files)
|
||||||
(rx/flat-map
|
(rx/flat-map
|
||||||
(fn [[file data]]
|
(fn [[file data]]
|
||||||
(->> (uz/load-from-url (:uri data))
|
(->> (uz/load-from-url (:uri data))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue