From 259b405526ebec1e0e1b455fa0c2d6a55603bb10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moya?= Date: Tue, 27 Jul 2021 16:26:19 +0200 Subject: [PATCH] :sparkles: Detach all assets when unlinking an external lib --- frontend/src/app/main/data/workspace/libraries.cljs | 2 +- frontend/src/app/main/data/workspace/persistence.cljs | 11 +++++++---- frontend/src/app/main/ui/workspace/libraries.cljs | 6 +++++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/main/data/workspace/libraries.cljs b/frontend/src/app/main/data/workspace/libraries.cljs index 20d97a2106..77b15d1b9d 100644 --- a/frontend/src/app/main/data/workspace/libraries.cljs +++ b/frontend/src/app/main/data/workspace/libraries.cljs @@ -594,7 +594,7 @@ ptk/UpdateEvent (update [_ state] (if (not= library-id (:current-file-id state)) - (assoc-in state [:workspace-libraries library-id :synced-at] (dt/now)) + (d/assoc-in-when state [:workspace-libraries library-id :synced-at] (dt/now)) state)) ptk/WatchEvent diff --git a/frontend/src/app/main/data/workspace/persistence.cljs b/frontend/src/app/main/data/workspace/persistence.cljs index 76609c41a9..9471a58287 100644 --- a/frontend/src/app/main/data/workspace/persistence.cljs +++ b/frontend/src/app/main/data/workspace/persistence.cljs @@ -326,13 +326,16 @@ (defn unlink-file-from-library [file-id library-id] (ptk/reify ::unlink-file-from-library + ptk/UpdateEvent + (update [_ state] + (d/dissoc-in state [:workspace-libraries library-id])) + ptk/WatchEvent (watch [_ _ _] - (let [unlinked #(d/dissoc-in % [:workspace-libraries library-id]) - params {:file-id file-id - :library-id library-id}] + (let [params {:file-id file-id + :library-id library-id}] (->> (rp/mutation :unlink-file-from-library params) - (rx/map (constantly unlinked))))))) + (rx/ignore)))))) ;; --- Upload File Media objects diff --git a/frontend/src/app/main/ui/workspace/libraries.cljs b/frontend/src/app/main/ui/workspace/libraries.cljs index f48d73b454..b9aa0dbc65 100644 --- a/frontend/src/app/main/ui/workspace/libraries.cljs +++ b/frontend/src/app/main/ui/workspace/libraries.cljs @@ -75,7 +75,11 @@ (mf/use-callback (mf/deps file) #(st/emit! (dw/link-file-to-library (:id file) %))) unlink-library - (mf/use-callback (mf/deps file) #(st/emit! (dw/unlink-file-from-library (:id file) %)))] + (mf/use-callback + (mf/deps file) + (fn [library-id] + (st/emit! (dw/unlink-file-from-library (:id file) library-id) + (dwl/sync-file (:id file) library-id))))] [:* [:div.section [:div.section-title (tr "workspace.libraries.in-this-file")]