mirror of
https://github.com/penpot/penpot.git
synced 2025-02-03 21:09:00 -05:00
Replace bidi with funcool/bide.
And upgrade all dependencies.
This commit is contained in:
parent
4069b183a7
commit
38bead08e9
5 changed files with 47 additions and 54 deletions
20
project.clj
20
project.clj
|
@ -10,25 +10,25 @@
|
||||||
:profiles {:dev {:source-paths ["dev"]}}
|
:profiles {:dev {:source-paths ["dev"]}}
|
||||||
|
|
||||||
:dependencies [[org.clojure/clojure "1.9.0-alpha10" :scope "provided"]
|
:dependencies [[org.clojure/clojure "1.9.0-alpha10" :scope "provided"]
|
||||||
[org.clojure/clojurescript "1.9.198" :scope "provided"]
|
[org.clojure/clojurescript "1.9.227" :scope "provided"]
|
||||||
|
|
||||||
;; Build
|
;; Build
|
||||||
[figwheel-sidecar "0.5.4-7" :scope "test"]
|
[figwheel-sidecar "0.5.6" :scope "test"]
|
||||||
|
|
||||||
;; runtime
|
;; runtime
|
||||||
[com.cognitect/transit-cljs "0.8.239"]
|
[com.cognitect/transit-cljs "0.8.239"]
|
||||||
[rum "0.10.5"]
|
[rum "0.10.6"]
|
||||||
[cljsjs/react "15.3.0-0"]
|
[cljsjs/react "15.3.1-0"]
|
||||||
[cljsjs/react-dom "15.3.0-0"]
|
[cljsjs/react-dom "15.3.1-0"]
|
||||||
[cljsjs/react-dom-server "15.3.0-0"]
|
[cljsjs/react-dom-server "15.3.1-0"]
|
||||||
[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.1.0"]
|
[funcool/lentes "1.1.0"]
|
||||||
[funcool/httpurr "0.6.1"]
|
[funcool/httpurr "0.6.2"]
|
||||||
[funcool/promesa "1.4.0"]
|
[funcool/promesa "1.5.0"]
|
||||||
[funcool/beicon "2.2.0"]
|
[funcool/beicon "2.3.0"]
|
||||||
[funcool/cuerdas "0.8.0"]
|
[funcool/cuerdas "0.8.0"]
|
||||||
[bidi "2.0.9"]]
|
[funcool/bide "1.0.2"]]
|
||||||
:plugins [[lein-ancient "0.6.10"]]
|
:plugins [[lein-ancient "0.6.10"]]
|
||||||
:clean-targets ^{:protect false} ["resources/public/js" "target"]
|
:clean-targets ^{:protect false} ["resources/public/js" "target"]
|
||||||
)
|
)
|
||||||
|
|
|
@ -141,8 +141,8 @@
|
||||||
(-apply-watch [_ state s]
|
(-apply-watch [_ state s]
|
||||||
(letfn [(navigate [pages]
|
(letfn [(navigate [pages]
|
||||||
(let [pageid (:id (first pages))
|
(let [pageid (:id (first pages))
|
||||||
params {:project-uuid projectid
|
params {:project (str projectid)
|
||||||
:page-uuid pageid}]
|
:page (str pageid)}]
|
||||||
(r/navigate :workspace/page params)))]
|
(r/navigate :workspace/page params)))]
|
||||||
(rx/merge
|
(rx/merge
|
||||||
(rx/of #(assoc % :loader true)
|
(rx/of #(assoc % :loader true)
|
||||||
|
@ -156,8 +156,8 @@
|
||||||
(defrecord GoToPage [projectid pageid]
|
(defrecord GoToPage [projectid pageid]
|
||||||
rs/WatchEvent
|
rs/WatchEvent
|
||||||
(-apply-watch [_ state s]
|
(-apply-watch [_ state s]
|
||||||
(let [params {:project-uuid projectid
|
(let [params {:project (str projectid)
|
||||||
:page-uuid pageid}]
|
:page (str pageid)}]
|
||||||
(rx/of (r/navigate :workspace/page params)))))
|
(rx/of (r/navigate :workspace/page params)))))
|
||||||
|
|
||||||
(defn go-to
|
(defn go-to
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
(ns uxbox.main.ui
|
(ns uxbox.main.ui
|
||||||
(:require [sablono.core :as html :refer-macros [html]]
|
(:require [sablono.core :as html :refer-macros [html]]
|
||||||
[bidi.bidi :as bidi]
|
|
||||||
[promesa.core :as p]
|
[promesa.core :as p]
|
||||||
[beicon.core :as rx]
|
[beicon.core :as rx]
|
||||||
[goog.dom :as gdom]
|
[goog.dom :as gdom]
|
||||||
|
@ -96,8 +95,8 @@
|
||||||
:settings/profile (settings/profile-page)
|
:settings/profile (settings/profile-page)
|
||||||
:settings/password (settings/password-page)
|
:settings/password (settings/password-page)
|
||||||
:settings/notifications (settings/notifications-page)
|
:settings/notifications (settings/notifications-page)
|
||||||
:workspace/page (let [projectid (:project-uuid params)
|
:workspace/page (let [projectid (uuid (:project params))
|
||||||
pageid (:page-uuid params)]
|
pageid (uuid (:page params))]
|
||||||
(workspace projectid pageid))
|
(workspace projectid pageid))
|
||||||
nil
|
nil
|
||||||
))))
|
))))
|
||||||
|
@ -117,25 +116,18 @@
|
||||||
|
|
||||||
;; --- Routes
|
;; --- Routes
|
||||||
|
|
||||||
(def ^:private page-route
|
|
||||||
[[bidi/uuid :project-uuid] "/" [bidi/uuid :page-uuid]])
|
|
||||||
|
|
||||||
(def routes
|
(def routes
|
||||||
["/" [["auth/login" :auth/login]
|
[["/auth/login" :auth/login]
|
||||||
["auth/register" :auth/register]
|
["/auth/recovery/token/:token" :auth/recovery]
|
||||||
["auth/recovery/request" :auth/recovery-request]
|
["/settings/profile" :settings/profile]
|
||||||
[["auth/recovery/token/" :token] :auth/recovery]
|
["/settings/password" :settings/password]
|
||||||
|
["/settings/notifications" :settings/notifications]
|
||||||
["settings/" [["profile" :settings/profile]
|
["/dashboard/projects" :dashboard/projects]
|
||||||
["password" :settings/password]
|
["/dashboard/elements" :dashboard/elements]
|
||||||
["notifications" :settings/notifications]]]
|
["/dashboard/icons" :dashboard/icons]
|
||||||
|
["/dashboard/images" :dashboard/images]
|
||||||
["dashboard/" [["projects" :dashboard/projects]
|
["/dashboard/colors" :dashboard/colors]
|
||||||
["elements" :dashboard/elements]
|
["/workspace/:project/:page" :workspace/page]])
|
||||||
["icons" :dashboard/icons]
|
|
||||||
["images" :dashboard/images]
|
|
||||||
["colors" :dashboard/colors]]]
|
|
||||||
["workspace/" [[page-route :workspace/page]]]]])
|
|
||||||
|
|
||||||
;; --- Main Entry Point
|
;; --- Main Entry Point
|
||||||
|
|
||||||
|
|
|
@ -6,17 +6,13 @@
|
||||||
;; Copyright (c) 2015-2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>
|
;; Copyright (c) 2015-2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>
|
||||||
|
|
||||||
(ns uxbox.util.router
|
(ns uxbox.util.router
|
||||||
(:require [bidi.router]
|
(:require [bide.core :as r]
|
||||||
[bidi.bidi :as bidi]
|
|
||||||
[goog.events :as events]
|
|
||||||
[lentes.core :as l]
|
|
||||||
[beicon.core :as rx]
|
[beicon.core :as rx]
|
||||||
[uxbox.util.rstore :as rs]))
|
[uxbox.util.rstore :as rs]))
|
||||||
|
|
||||||
(enable-console-print!)
|
(enable-console-print!)
|
||||||
|
|
||||||
(defonce +router+ nil)
|
(defonce +router+ nil)
|
||||||
(defonce +routes+ nil)
|
|
||||||
|
|
||||||
;; --- Update Location (Event)
|
;; --- Update Location (Event)
|
||||||
|
|
||||||
|
@ -33,8 +29,8 @@
|
||||||
(instance? UpdateLocation v))
|
(instance? UpdateLocation v))
|
||||||
|
|
||||||
(defn update-location
|
(defn update-location
|
||||||
[{:keys [handler route-params] :as params}]
|
[name params]
|
||||||
(UpdateLocation. handler route-params))
|
(UpdateLocation. name params))
|
||||||
|
|
||||||
;; --- Navigate (Event)
|
;; --- Navigate (Event)
|
||||||
|
|
||||||
|
@ -44,7 +40,7 @@
|
||||||
(let [loc (merge {:handler id}
|
(let [loc (merge {:handler id}
|
||||||
(when params
|
(when params
|
||||||
{:route-params params}))]
|
{:route-params params}))]
|
||||||
(bidi.router/set-location! +router+ loc))))
|
(r/navigate! +router+ id params))))
|
||||||
|
|
||||||
(defn navigate
|
(defn navigate
|
||||||
([id] (navigate id nil))
|
([id] (navigate id nil))
|
||||||
|
@ -58,11 +54,12 @@
|
||||||
([routes]
|
([routes]
|
||||||
(init routes nil))
|
(init routes nil))
|
||||||
([routes {:keys [default] :or {default :auth/login}}]
|
([routes {:keys [default] :or {default :auth/login}}]
|
||||||
(let [opts {:on-navigate #(rs/emit! (update-location %))
|
(let [opts {:on-navigate #(rs/emit! (update-location %1 %2))
|
||||||
:default-location {:handler default}}
|
:default default}
|
||||||
router (bidi.router/start-router! routes opts)]
|
router (-> (r/router routes)
|
||||||
(set! +routes+ routes)
|
(r/start! opts))]
|
||||||
(set! +router+ router))))
|
(set! +router+ router)
|
||||||
|
router)))
|
||||||
|
|
||||||
(defn go
|
(defn go
|
||||||
"Redirect the user to other url."
|
"Redirect the user to other url."
|
||||||
|
@ -74,6 +71,10 @@
|
||||||
"Given a location handler and optional parameter map, return the URI
|
"Given a location handler and optional parameter map, return the URI
|
||||||
for such handler and parameters."
|
for such handler and parameters."
|
||||||
([id]
|
([id]
|
||||||
(bidi/path-for +routes+ id))
|
(if +router+
|
||||||
|
(r/resolve +router+ id)
|
||||||
|
""))
|
||||||
([id params]
|
([id params]
|
||||||
(apply bidi/path-for +routes+ id (into [] (mapcat (fn [[k v]] [k v])) params))))
|
(if +router+
|
||||||
|
(r/resolve +router+ id params)
|
||||||
|
"")))
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
|
|
||||||
(ns uxbox.view.ui
|
(ns uxbox.view.ui
|
||||||
(:require [sablono.core :refer-macros [html]]
|
(:require [sablono.core :refer-macros [html]]
|
||||||
[bidi.bidi :as bidi]
|
|
||||||
[goog.dom :as gdom]
|
[goog.dom :as gdom]
|
||||||
[lentes.core :as l]
|
[lentes.core :as l]
|
||||||
[rum.core :as rum]
|
[rum.core :as rum]
|
||||||
|
@ -63,9 +62,10 @@
|
||||||
|
|
||||||
;; --- Routes
|
;; --- Routes
|
||||||
|
|
||||||
(def routes ["/" [[[:token "/" :id] :view/viewer]
|
(def routes
|
||||||
[[:token] :view/viewer]
|
[["/:token/:id" :view/viewer]
|
||||||
["not-found" :view/notfound]]])
|
["/:token" :view/viewer]
|
||||||
|
["/not-found" :view/notfound]])
|
||||||
|
|
||||||
;; --- Main Entry Point
|
;; --- Main Entry Point
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue