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