From b00420d457ed55fd6575349e8dacea36ebd5db24 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sun, 27 Mar 2016 18:31:10 +0300 Subject: [PATCH] Add select page history event. --- src/uxbox/data/pages.cljs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/uxbox/data/pages.cljs b/src/uxbox/data/pages.cljs index 0bd1e8712c..b5d5c08ef9 100644 --- a/src/uxbox/data/pages.cljs +++ b/src/uxbox/data/pages.cljs @@ -210,3 +210,26 @@ (defn clean-page-history [] (CleanPageHistory.)) + +;; --- Select Page History + +(defrecord SelectPageHistory [page history] + rs/UpdateEvent + (-apply-update [_ state] + (let [page (get-in state [:pages-by-id page]) + page' (assoc page + :history true + :data (:data history) + :version (:version history))] + (-> state + (stpr/unpack-page page') + (assoc-in [:workspace :history :selected] (:id history)) + (update-in [:workspace :history] + (fn [v] + (if (:current-version v) + v + (assoc v :current-version (:version page))))))))) + +(defn select-page-history + [id history] + (SelectPageHistory. id history))