From 271a305cc0fa661ed72895d2b0675f0e53edec7b Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 31 Aug 2016 17:23:06 +0300 Subject: [PATCH] Use new components macros on clipboard ns. --- src/uxbox/main/ui/workspace/clipboard.cljs | 52 ++++++++-------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/src/uxbox/main/ui/workspace/clipboard.cljs b/src/uxbox/main/ui/workspace/clipboard.cljs index eff8513bef..7d836ef1b3 100644 --- a/src/uxbox/main/ui/workspace/clipboard.cljs +++ b/src/uxbox/main/ui/workspace/clipboard.cljs @@ -6,9 +6,7 @@ ;; Copyright (c) 2015-2016 Juan de la Cruz (ns uxbox.main.ui.workspace.clipboard - (:require [sablono.core :as html :refer-macros [html]] - [rum.core :as rum] - [lentes.core :as l] + (:require [lentes.core :as l] [uxbox.util.rstore :as rs] [uxbox.main.state :as st] [uxbox.main.data.lightbox :as udl] @@ -19,40 +17,28 @@ [uxbox.util.dom :as dom] [uxbox.util.datetime :as dt])) -;; --- Lenses - (def ^:private clipboard-ref (-> (l/key :clipboard) (l/derive st/state))) -;; --- Clipboard Dialog Component - -(defn- on-paste - [item] - (rs/emit! (udw/paste-from-clipboard (:id item))) - (udl/close!)) - -(defn- clipboard-dialog-render - [own] - (let [clipboard (mx/react clipboard-ref)] - (html - [:div.lightbox-body.clipboard - [:div.clipboard-list - (for [item clipboard] - [:div.clipboard-item - {:key (str (:id item)) - :on-click (partial on-paste item)} - [:span.clipboard-icon i/box] - [:span (str "Copied (" (dt/timeago (:created-at item)) ")")]])] - [:a.close {:href "#" - :on-click #(do (dom/prevent-default %) - (udl/close!))} i/close]]))) - -(def clipboard-dialog - (mx/component - {:render clipboard-dialog-render - :name "clipboard-dialog" - :mixins [mx/static mx/reactive]})) +(mx/defc clipboard-dialog + {:mixins [mx/static mx/reactive]} + [] + (letfn [(on-paste [item] + (rs/emit! (udw/paste-from-clipboard (:id item))) + (udl/close!)) + (on-close [event] + (dom/prevent-default event) + (udl/close!))] + [:div.lightbox-body.clipboard + [:div.clipboard-list + (for [item (mx/react clipboard-ref)] + [:div.clipboard-item + {:key (str (:id item)) + :on-click (partial on-paste item)} + [:span.clipboard-icon i/box] + [:span (str "Copied (" (dt/timeago (:created-at item)) ")")]])] + [:a.close {:href "#" :on-click on-close} i/close]])) (defmethod lbx/render-lightbox :clipboard [_]