mirror of
https://github.com/penpot/penpot.git
synced 2026-02-12 22:53:02 +00:00
Replace all usage of promesa with beicon.
And remove promesa dependency.
This commit is contained in:
@@ -24,7 +24,6 @@
|
||||
[cljsjs/moment "2.10.6-4"]
|
||||
[funcool/struct "1.0.0"]
|
||||
[funcool/lentes "1.2.0"]
|
||||
[funcool/promesa "1.5.0"]
|
||||
[funcool/beicon "2.3.0"]
|
||||
[funcool/cuerdas "1.0.2"]
|
||||
[funcool/bide "1.0.5"]]
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
(ns uxbox.main.data.auth
|
||||
(:require [beicon.core :as rx]
|
||||
[promesa.core :as p]
|
||||
[uxbox.main.repo :as rp]
|
||||
[uxbox.util.rstore :as rs]
|
||||
[uxbox.util.router :as rt]
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
(ns uxbox.main.data.forms
|
||||
(:require [beicon.core :as rx]
|
||||
[promesa.core :as p]
|
||||
[lentes.core :as l]
|
||||
[uxbox.main.repo :as rp]
|
||||
[uxbox.util.rstore :as rs]
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
(ns uxbox.main.data.history
|
||||
(:require [cuerdas.core :as str]
|
||||
[promesa.core :as p]
|
||||
[beicon.core :as rx]
|
||||
[lentes.core :as l]
|
||||
[uxbox.util.rstore :as rs]
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
(ns uxbox.main.data.images
|
||||
(:require [cuerdas.core :as str]
|
||||
[beicon.core :as rx]
|
||||
[promesa.core :as p]
|
||||
[uxbox.util.data :refer (jscoll->vec)]
|
||||
[uxbox.util.uuid :as uuid]
|
||||
[uxbox.util.rstore :as rs]
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
|
||||
|
||||
(ns uxbox.main.data.lightbox
|
||||
(:require [promesa.core :as p]
|
||||
[beicon.core :as rx]
|
||||
(:require [beicon.core :as rx]
|
||||
[lentes.core :as l]
|
||||
[uxbox.util.rstore :as rs]))
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
|
||||
(ns uxbox.main.data.messages
|
||||
(:require [cuerdas.core :as str]
|
||||
[promesa.core :as p]
|
||||
[beicon.core :as rx]
|
||||
[lentes.core :as l]
|
||||
[uxbox.util.timers :as ts]
|
||||
[uxbox.util.rstore :as rs]))
|
||||
|
||||
;; --- Constants
|
||||
@@ -88,15 +88,15 @@
|
||||
|
||||
(defn error!
|
||||
[& args]
|
||||
(p/schedule 0 #(rs/emit! (apply show-error args))))
|
||||
(ts/schedule 0 #(rs/emit! (apply show-error args))))
|
||||
|
||||
(defn info!
|
||||
[& args]
|
||||
(p/schedule 0 #(rs/emit! (apply show-info args))))
|
||||
(ts/schedule 0 #(rs/emit! (apply show-info args))))
|
||||
|
||||
(defn dialog!
|
||||
[& args]
|
||||
(p/schedule 0 #(rs/emit! (apply show-dialog args))))
|
||||
(ts/schedule 0 #(rs/emit! (apply show-dialog args))))
|
||||
|
||||
(defn close!
|
||||
[]
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
(ns uxbox.main.data.pages
|
||||
(:require [cuerdas.core :as str]
|
||||
[promesa.core :as p]
|
||||
[beicon.core :as rx]
|
||||
[lentes.core :as l]
|
||||
[uxbox.util.rstore :as rs]
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
(ns uxbox.main.data.users
|
||||
(:require [beicon.core :as rx]
|
||||
[promesa.core :as p]
|
||||
[uxbox.main.repo :as rp]
|
||||
[uxbox.util.rstore :as rs]
|
||||
[uxbox.main.state :as st]
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
(ns uxbox.main.repo.impl
|
||||
(:require [clojure.walk :as walk]
|
||||
[promesa.core :as p :include-macros true]
|
||||
[beicon.core :as rx]
|
||||
[uxbox.config :refer (url)]
|
||||
[uxbox.util.http :as http]
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
;; Copyright (c) 2015-2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>
|
||||
|
||||
(ns uxbox.main.ui
|
||||
(:require [promesa.core :as p]
|
||||
[beicon.core :as rx]
|
||||
(:require [beicon.core :as rx]
|
||||
[lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[bide.core :as bc]
|
||||
@@ -23,6 +22,7 @@
|
||||
[uxbox.main.ui.dashboard :as dashboard]
|
||||
[uxbox.main.ui.settings :as settings]
|
||||
[uxbox.main.ui.workspace :refer (workspace)]
|
||||
[uxbox.util.timers :as ts]
|
||||
[uxbox.util.router :as rt]
|
||||
[uxbox.util.rstore :as rs]
|
||||
[uxbox.util.i18n :refer (tr)]
|
||||
@@ -94,7 +94,7 @@
|
||||
location (:id route)
|
||||
params (:params route)]
|
||||
(if (and (restricted? location) (not auth))
|
||||
(do (p/schedule 0 #(rt/go :auth/login)) nil)
|
||||
(do (ts/schedule 0 #(rt/go :auth/login)) nil)
|
||||
(case location
|
||||
:auth/login (auth/login-page)
|
||||
:auth/register (auth/register-page)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
(ns uxbox.main.ui.messages
|
||||
(:require [sablono.core :as html :refer-macros [html]]
|
||||
[rum.core :as rum]
|
||||
[promesa.core :as p]
|
||||
[lentes.core :as l]
|
||||
[uxbox.main.state :as st]
|
||||
[uxbox.main.data.messages :as udm]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.util.timers :as ts]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.data :refer (classnames)]
|
||||
[uxbox.util.dom :as dom]))
|
||||
@@ -47,13 +47,13 @@
|
||||
(letfn [(accept [event]
|
||||
(dom/prevent-default event)
|
||||
(on-accept)
|
||||
(p/schedule 0 udm/close!))
|
||||
(ts/schedule 0 udm/close!))
|
||||
|
||||
(cancel [event]
|
||||
(dom/prevent-default event)
|
||||
(when on-cancel
|
||||
(on-cancel))
|
||||
(p/schedule 0 udm/close!))]
|
||||
(ts/schedule 0 udm/close!))]
|
||||
(html
|
||||
[:div.message {:class classes}
|
||||
[:div.message-body
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
(ns uxbox.main.ui.workspace.download
|
||||
(:require [cuerdas.core :as str]
|
||||
[promesa.core :as p]
|
||||
[beicon.core :as rx]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.exports :as exports]
|
||||
[uxbox.main.state :as st]
|
||||
@@ -72,21 +72,22 @@
|
||||
|
||||
(defn- download-project-zip
|
||||
[{:keys [name] :as project} pages]
|
||||
(p/alet [files (generate-files pages)
|
||||
blob (p/await (zip/build files))
|
||||
uri (blob/create-uri blob)
|
||||
link (.createElement js/document "a")
|
||||
event (js/MouseEvent. "click")
|
||||
now (dt/now)]
|
||||
(.setAttribute link "href" uri)
|
||||
(.setAttribute link "download" (str (str/uslug name) "_"
|
||||
(dt/format now :unix)
|
||||
".zip"))
|
||||
|
||||
(.appendChild (.-body js/document) link)
|
||||
(.dispatchEvent link event)
|
||||
(blob/revoke-uri uri)
|
||||
(.removeChild (.-body js/document) link)))
|
||||
(let [event (js/MouseEvent. "click")
|
||||
link (.createElement js/document "a")
|
||||
now (dt/now)
|
||||
stream (->> (rx/from-coll (generate-files pages))
|
||||
(rx/reduce conj [])
|
||||
(rx/mapcat zip/build)
|
||||
(rx/map blob/create-uri)
|
||||
(rx/take 1))
|
||||
download (str (str/uslug name) "_" (dt/format now :unix) ".zip")]
|
||||
(rx/subscribe stream (fn [uri]
|
||||
(.setAttribute link "download" download)
|
||||
(.setAttribute link "href" uri)
|
||||
(.appendChild (.-body js/document) link)
|
||||
(.dispatchEvent link event)
|
||||
(blob/revoke-uri uri)
|
||||
(.removeChild (.-body js/document) link)))))
|
||||
|
||||
(mx/defcs download-dialog
|
||||
{:mixins [mx/static mx/reactive]}
|
||||
|
||||
11
src/uxbox/util/timers.cljs
Normal file
11
src/uxbox/util/timers.cljs
Normal file
@@ -0,0 +1,11 @@
|
||||
;; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
;;
|
||||
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
|
||||
|
||||
(ns uxbox.util.timers)
|
||||
|
||||
(defn schedule
|
||||
[ms func]
|
||||
(js/setTimeout func ms))
|
||||
@@ -7,18 +7,13 @@
|
||||
(ns uxbox.util.zip
|
||||
"Helpers for make zip file (using jszip)."
|
||||
(:require [vendor.jszip]
|
||||
[promesa.core :as p]))
|
||||
|
||||
(defn build*
|
||||
[files resolve reject]
|
||||
(let [zipobj (js/JSZip.)]
|
||||
(run! (fn [[name content]]
|
||||
(.file zipobj name content))
|
||||
files)
|
||||
(-> (.generateAsync zipobj #js {:type "blob"})
|
||||
(.then resolve reject))))
|
||||
[beicon.core :as rx]))
|
||||
|
||||
(defn build
|
||||
[files]
|
||||
(p/promise (fn [resolve reject]
|
||||
(build* files resolve reject))))
|
||||
(letfn [(attach-file [zobj [name content]]
|
||||
(.file zobj name content))]
|
||||
(let [zobj (js/JSZip.)]
|
||||
(run! (partial attach-file zobj) files)
|
||||
(->> (.generateAsync zobj #js {:type "blob"})
|
||||
(rx/from-promise)))))
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
(ns uxbox.view.ui.viewer
|
||||
(:require [lentes.core :as l]
|
||||
[promesa.core :as p]
|
||||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.rstore :as rs]
|
||||
[uxbox.util.router :as rt]
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
|
||||
|
||||
(ns uxbox.view.ui.viewer.interactions
|
||||
(:require [promesa.core :as p]
|
||||
[uxbox.util.dom :as dom]
|
||||
(:require [uxbox.util.dom :as dom]
|
||||
[uxbox.util.rstore :as rs]
|
||||
[uxbox.main.geom :as geom]
|
||||
[uxbox.util.geom.matrix :as gmt]
|
||||
[uxbox.util.geom.point :as gpt]
|
||||
[uxbox.util.timers :as ts]
|
||||
[uxbox.main.geom :as geom]
|
||||
[uxbox.main.state :as st]
|
||||
[uxbox.view.data.viewer :as dv]
|
||||
[vendor.snapsvg])
|
||||
@@ -52,7 +52,7 @@
|
||||
[dom {:keys [delay duration easing] :as opts}]
|
||||
(let [props (dissoc opts :delay :duration :easing)
|
||||
snap (js/Snap. dom)]
|
||||
(p/schedule delay #(.animate snap (clj->js props) duration easing))))
|
||||
(ts/schedule delay #(.animate snap (clj->js props) duration easing))))
|
||||
|
||||
;; --- Interactions to Animation Compilation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user