Replace builtin rstore impl with potok.

This commit is contained in:
Andrey Antukh 2016-11-27 21:53:12 +01:00
parent 6f8f115422
commit 40b48318ff
No known key found for this signature in database
GPG key ID: 4DFEBCB8316A8B95
92 changed files with 965 additions and 1063 deletions

View file

@ -9,10 +9,10 @@
[cuerdas.core :as str]
[uxbox.util.router :as rt]
[uxbox.util.dom :as dom]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.forms :as forms]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.auth :as da]
[uxbox.main.data.messages :as udm]
[uxbox.main.ui.icons :as i]
@ -42,7 +42,7 @@
(set-value! field value)))
(on-submit [event]
(dom/prevent-default event)
(rs/emit! (da/login {:username (:email data)
(st/emit! (da/login {:username (:email data)
:password (:password data)})))]
[:form {:on-submit on-submit}
[:div.login-content

View file

@ -8,8 +8,8 @@
(:require [lentes.core :as l]
[cuerdas.core :as str]
[uxbox.util.router :as rt]
[uxbox.main.state :as st]
[uxbox.util.rstore :as rs]
[uxbox.store :as st]
[potok.core :as ptk]
[uxbox.util.forms :as forms]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.dom :as dom]
@ -38,7 +38,7 @@
(set-value! field value)))
(on-submit [event]
(dom/prevent-default event)
(rs/emit! (uda/recovery data)
(st/emit! (uda/recovery data)
(forms/clear :recovery)))]
[:form {:on-submit on-submit}
[:div.login-content
@ -62,7 +62,7 @@
(defn- recovery-page-will-mount
[own]
(let [[token] (:rum/args own)]
(rs/emit! (uda/validate-recovery-token token))
(st/emit! (uda/validate-recovery-token token))
own))
(mx/defc recovery-page

View file

@ -8,11 +8,11 @@
(:require [lentes.core :as l]
[cuerdas.core :as str]
[uxbox.util.router :as rt]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.forms :as forms]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.dom :as dom]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.auth :as uda]
[uxbox.main.data.messages :as udm]
[uxbox.main.ui.icons :as i]
@ -35,7 +35,7 @@
(set-value! field value)))
(on-submit [event]
(dom/prevent-default event)
(rs/emit! (uda/recovery-request data)
(st/emit! (uda/recovery-request data)
(forms/clear :recovery-request)))]
[:form {:on-submit on-submit}
[:div.login-content

View file

@ -8,11 +8,11 @@
(:require [lentes.core :as l]
[cuerdas.core :as str]
[uxbox.util.router :as rt]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.forms :as forms]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.dom :as dom]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.auth :as uda]
[uxbox.main.data.messages :as udm]
[uxbox.main.ui.icons :as i]
@ -49,7 +49,7 @@
(set-error! :username "Username already exists")))
(on-submit [event]
(dom/prevent-default event)
(rs/emit! (uda/register data on-error)))]
(st/emit! (uda/register data on-error)))]
[:form {:on-submit on-submit}
[:div.login-content
[:input.input-text

View file

@ -11,7 +11,7 @@
[uxbox.main.data.colors :as dc]
[uxbox.main.data.dashboard :as dd]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.ui.messages :as uum]
[uxbox.main.ui.colorpicker :refer (colorpicker)]
[uxbox.main.ui.dashboard.header :refer (header)]
@ -23,7 +23,7 @@
[uxbox.util.i18n :as t :refer (tr)]
[uxbox.util.lens :as ul]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.rstore :as rs]))
[potok.core :as ptk]))
;; --- Refs
@ -47,7 +47,7 @@
(letfn [(save []
(let [dom (mx/ref-node own "input")
name (dom/get-inner-text dom)]
(rs/emit! (dc/rename-collection id (str/trim name)))
(st/emit! (dc/rename-collection id (str/trim name)))
(swap! local assoc :edit false)))
(cancel []
(swap! local assoc :edit false))
@ -62,7 +62,7 @@
(dom/stop-propagation e)
(save))))
(delete []
(rs/emit! (dc/delete-collection id)))
(st/emit! (dc/delete-collection id)))
(on-delete []
(udl/open! :confirm {:on-accept delete}))]
[:div.dashboard-title
@ -95,7 +95,7 @@
[{:keys [id type name] :as coll} selected?]
(letfn [(on-click [event]
(let [type (or type :own)]
(rs/emit! (dc/select-collection type id))))]
(st/emit! (dc/select-collection type id))))]
(let [colors (count (:colors coll))]
[:li {:on-click on-click
:class-name (when selected? "current")}
@ -113,7 +113,7 @@
{:mixins [mx/static mx/reactive]}
[selected?]
(let [num-colors (mx/react storage-num-colors-ref)
on-click #(rs/emit! (dc/select-collection :own nil))]
on-click #(st/emit! (dc/select-collection :own nil))]
[:li {:on-click on-click :class (when selected? "current")}
[:span.element-title "Storage"]
[:span.element-subtitle
@ -133,7 +133,7 @@
(when own?
[:li
[:a.btn-primary
{:on-click #(rs/emit! (dc/create-collection))}
{:on-click #(st/emit! (dc/create-collection))}
"+ New library"]])
(when own?
(nav-item-storage (nil? selected)))
@ -150,14 +150,14 @@
builtin? (= type :builtin)]
(letfn [(select-tab [type]
(if (= type :own)
(rs/emit! (dc/select-collection type))
(st/emit! (dc/select-collection type))
(let [coll (->> (map second colls)
(filter #(= type (:type %)))
(sort-by :created-at)
(first))]
(if coll
(rs/emit! (dc/select-collection type (:id coll)))
(rs/emit! (dc/select-collection type))))))]
(st/emit! (dc/select-collection type (:id coll)))
(st/emit! (dc/select-collection type))))))]
[:div.library-bar
[:div.library-bar-inside
[:ul.library-tabs
@ -207,7 +207,7 @@
(let [editable? (or (= type :own) (nil? id))
local (:rum/local own)]
(letfn [(delete [event]
(rs/emit! (dc/delete-selected-colors)))
(st/emit! (dc/delete-selected-colors)))
(on-delete [event]
(udl/open! :confirm {:on-accept delete}))
(on-toggle-copy [event]
@ -220,12 +220,12 @@
(swap! local assoc
:show-move-tooltip false
:show-copy-tooltip false)
(rs/emit! (dc/copy-selected selected)))
(st/emit! (dc/copy-selected selected)))
(on-move [selected]
(swap! local assoc
:show-move-tooltip false
:show-copy-tooltip false)
(rs/emit! (dc/move-selected id selected)))]
(st/emit! (dc/move-selected id selected)))]
;; MULTISELECT OPTIONS BAR
[:div.multiselect-bar
@ -263,7 +263,7 @@
[color selected?]
(let [color-rgb (hex->rgb color)]
(letfn [(toggle-selection [event]
(rs/emit! (dc/toggle-color-selection color)))
(st/emit! (dc/toggle-color-selection color)))
(toggle-selection-shifted [event]
(when (k/shift? event)
(toggle-selection event)))]
@ -307,7 +307,7 @@
(defn- colors-page-will-mount
[own]
(let [[type id] (:rum/args own)]
(rs/emit! (dc/initialize type id))
(st/emit! (dc/initialize type id))
own))
(defn- colors-page-did-remount
@ -316,7 +316,7 @@
[new-type new-id] (:rum/args own)]
(when (or (not= old-type new-type)
(not= old-id new-id))
(rs/emit! (dc/initialize new-type new-id)))
(st/emit! (dc/initialize new-type new-id)))
own))
(mx/defc colors-page
@ -344,7 +344,7 @@
(let [params {:id coll
:from color
:to (:hex @local)}]
(rs/emit! (dc/replace-color params))
(st/emit! (dc/replace-color params))
(udl/close!)))
(on-change [event]
(let [value (str/trim (dom/event->value event))]

View file

@ -8,7 +8,7 @@
(ns uxbox.main.ui.dashboard.elements
(:require [sablono.core :as html :refer-macros [html]]
[rum.core :as rum]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.main.data.dashboard :as dd]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.ui.icons :as i]
@ -144,12 +144,12 @@
;; (defn elements-page-will-mount
;; [own]
;; (rs/emit! (dd/initialize :dashboard/elements))
;; (st/emit! (dd/initialize :dashboard/elements))
;; own)
;; (defn elements-page-did-remount
;; [old-state state]
;; (rs/emit! (dd/initialize :dashboard/elements))
;; (st/emit! (dd/initialize :dashboard/elements))
;; state)
;; (def elements-page

View file

@ -7,7 +7,7 @@
(ns uxbox.main.ui.dashboard.header
(:require [lentes.core :as l]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.projects :as dp]
[uxbox.main.ui.navigation :as nav]
[uxbox.main.ui.icons :as i]
@ -15,7 +15,7 @@
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.rstore :as rs]))
[potok.core :as ptk]))
(def header-ref
(-> (l/key :dashboard)

View file

@ -8,7 +8,7 @@
(ns uxbox.main.ui.dashboard.icons
(:require [lentes.core :as l]
[cuerdas.core :as str]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.data.icons :as di]
[uxbox.main.ui.icons :as i]
@ -20,7 +20,7 @@
[uxbox.util.data :refer (read-string)]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.datetime :as dt]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.forms :as sc]
[uxbox.util.lens :as ul]
[uxbox.util.i18n :refer (tr)]
@ -78,7 +78,7 @@
(letfn [(on-save [e]
(let [dom (mx/ref-node own "input")
name (.-innerText dom)]
(rs/emit! (di/rename-collection id (str/trim name)))
(st/emit! (di/rename-collection id (str/trim name)))
(swap! local assoc :edit false)))
(on-cancel [e]
(swap! local assoc :edit false))
@ -93,7 +93,7 @@
(dom/stop-propagation e)
(on-save e))))
(delete []
(rs/emit! (di/delete-collection id)))
(st/emit! (di/delete-collection id)))
(on-delete []
(udl/open! :confirm {:on-accept delete}))]
[:div.dashboard-title
@ -133,7 +133,7 @@
[{:keys [id type name num-icons] :as coll} selected?]
(letfn [(on-click [event]
(let [type (or type :own)]
(rs/emit! (di/select-collection type id))))]
(st/emit! (di/select-collection type id))))]
(let [num-icons (or num-icons (react-count-icons id))]
[:li {:on-click on-click
:class-name (when selected? "current")}
@ -155,7 +155,7 @@
(when own?
[:li
[:a.btn-primary
{:on-click #(rs/emit! (di/create-collection))}
{:on-click #(st/emit! (di/create-collection))}
"+ New collection"]])
(when own?
(nav-item nil (nil? selected)))
@ -175,8 +175,8 @@
(let [colls (->> (map second colls)
(filter #(= :builtin (:type %)))
(sort-by :name))]
(rs/emit! (di/select-collection type (:id (first colls)))))
(rs/emit! (di/select-collection type))))]
(st/emit! (di/select-collection type (:id (first colls)))))
(st/emit! (di/select-collection type))))]
[:div.library-bar
[:div.library-bar-inside
[:ul.library-tabs
@ -198,7 +198,7 @@
(dom/click (mx/ref-node own "file-input")))
(on-file-selected [event]
(let [files (dom/get-event-files event)]
(rs/emit! (di/create-icons coll-id files))))]
(st/emit! (di/create-icons coll-id files))))]
[:div.grid-item.small-item.add-project {:on-click forward-click}
[:span "+ New icon"]
[:input.upload-image-input
@ -240,7 +240,7 @@
(let [editable? (or (= type :own) (nil? coll))
local (:rum/local own)]
(letfn [(delete []
(rs/emit! (di/delete-selected)))
(st/emit! (di/delete-selected)))
(on-delete [event]
(udl/open! :confirm {:on-accept delete}))
(on-toggle-copy [event]
@ -252,15 +252,15 @@
(swap! local assoc
:show-move-tooltip false
:show-copy-tooltip false)
(rs/emit! (di/copy-selected selected)))
(st/emit! (di/copy-selected selected)))
(on-move [selected]
(swap! local assoc
:show-move-tooltip false
:show-copy-tooltip false)
(rs/emit! (di/move-selected selected)))
(st/emit! (di/move-selected selected)))
(on-rename [event]
(let [selected (first selected)]
(rs/emit! (di/update-opts :edition selected))))]
(st/emit! (di/update-opts :edition selected))))]
;; MULTISELECT OPTIONS BAR
[:div.multiselect-bar
(if editable?
@ -301,7 +301,7 @@
{:mixins [mx/static]}
[{:keys [id created-at] :as icon} selected? edition?]
(letfn [(toggle-selection [event]
(rs/emit! (di/toggle-icon-selection id)))
(st/emit! (di/toggle-icon-selection id)))
(toggle-selection-shifted [event]
(when (kbd/shift? event)
(toggle-selection event)))
@ -311,12 +311,12 @@
(on-blur [event]
(let [target (dom/event->target event)
name (dom/get-value target)]
(rs/emit! (di/update-opts :edition false)
(st/emit! (di/update-opts :edition false)
(di/rename-icon id name))))
(on-edit [event]
(dom/stop-propagation event)
(dom/prevent-default event)
(rs/emit! (di/update-opts :edition id)))]
(st/emit! (di/update-opts :edition id)))]
[:div.grid-item.small-item.project-th
{:on-click toggle-selection-shifted
:id (str "grid-item-" id)}
@ -381,13 +381,13 @@
(letfn [(on-term-change [event]
(let [term (-> (dom/get-target event)
(dom/get-value))]
(rs/emit! (di/update-opts :filter term))))
(st/emit! (di/update-opts :filter term))))
(on-ordering-change [event]
(let [value (dom/event->value event)
value (read-string value)]
(rs/emit! (di/update-opts :order value))))
(st/emit! (di/update-opts :order value))))
(on-clear [event]
(rs/emit! (di/update-opts :filter "")))]
(st/emit! (di/update-opts :filter "")))]
[:section.dashboard-bar.library-gap
[:div.dashboard-info
@ -420,7 +420,7 @@
(defn- icons-page-will-mount
[own]
(let [[type id] (:rum/args own)]
(rs/emit! (di/initialize type id))
(st/emit! (di/initialize type id))
own))
(defn- icons-page-did-remount
@ -429,7 +429,7 @@
[new-type new-id] (:rum/args own)]
(when (or (not= old-type new-type)
(not= old-id new-id))
(rs/emit! (di/initialize new-type new-id)))
(st/emit! (di/initialize new-type new-id)))
own))
(mx/defc icons-page

View file

@ -9,8 +9,8 @@
(:require [cuerdas.core :as str]
[lentes.core :as l]
[uxbox.util.i18n :as t :refer (tr)]
[uxbox.main.state :as st]
[uxbox.util.rstore :as rs]
[uxbox.store :as st]
[potok.core :as ptk]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.data.images :as di]
[uxbox.main.ui.icons :as i]
@ -76,7 +76,7 @@
(letfn [(on-save [e]
(let [dom (mx/ref-node own "input")
name (dom/get-inner-text dom)]
(rs/emit! (di/rename-collection id (str/trim name)))
(st/emit! (di/rename-collection id (str/trim name)))
(swap! local assoc :edit false)))
(on-cancel [e]
(swap! local assoc :edit false))
@ -91,7 +91,7 @@
(dom/stop-propagation e)
(on-save e))))
(delete []
(rs/emit! (di/delete-collection id)))
(st/emit! (di/delete-collection id)))
(on-delete []
(udl/open! :confirm {:on-accept delete}))]
[:div.dashboard-title
@ -131,7 +131,7 @@
[{:keys [id type name] :as coll} selected?]
(letfn [(on-click [event]
(let [type (or type :own)]
(rs/emit! (di/select-collection type id))))]
(st/emit! (di/select-collection type id))))]
(let [num-images (react-count-images id)]
[:li {:on-click on-click
:class-name (when selected? "current")}
@ -153,7 +153,7 @@
(when own?
[:li
[:a.btn-primary
{:on-click #(rs/emit! (di/create-collection))}
{:on-click #(st/emit! (di/create-collection))}
"+ New library"]])
(when own?
(nav-item nil (nil? selected)))
@ -170,14 +170,14 @@
builtin? (= type :builtin)]
(letfn [(select-tab [type]
(if own?
(rs/emit! (di/select-collection type))
(st/emit! (di/select-collection type))
(let [coll (->> (map second colls)
(filter #(= type (:type %)))
(sort-by :name)
(first))]
(if coll
(rs/emit! (di/select-collection type (:id coll)))
(rs/emit! (di/select-collection type))))))]
(st/emit! (di/select-collection type (:id coll)))
(st/emit! (di/select-collection type))))))]
[:div.library-bar
[:div.library-bar-inside
[:ul.library-tabs
@ -199,7 +199,7 @@
(dom/click (mx/ref-node own "file-input")))
(on-file-selected [event]
(let [files (dom/get-event-files event)]
(rs/emit! (di/create-images coll-id files))))]
(st/emit! (di/create-images coll-id files))))]
(let [uploading? (mx/react uploading?-ref)]
[:div.grid-item.add-project {:on-click forward-click}
(if uploading?
@ -244,7 +244,7 @@
(let [editable? (or (= type :own) (nil? coll))
local (:rum/local own)]
(letfn [(delete []
(rs/emit! (di/delete-selected)))
(st/emit! (di/delete-selected)))
(on-delete [event]
(udl/open! :confirm {:on-accept delete}))
(on-toggle-copy [event]
@ -255,15 +255,15 @@
(swap! local assoc
:show-move-tooltip false
:show-copy-tooltip false)
(rs/emit! (di/copy-selected selected)))
(st/emit! (di/copy-selected selected)))
(on-move [selected]
(swap! local assoc
:show-move-tooltip false
:show-copy-tooltip false)
(rs/emit! (di/move-selected selected)))
(st/emit! (di/move-selected selected)))
(on-rename [event]
(let [selected (first selected)]
(rs/emit! (di/update-opts :edition selected))))]
(st/emit! (di/update-opts :edition selected))))]
;; MULTISELECT OPTIONS BAR
[:div.multiselect-bar
(if editable?
@ -304,7 +304,7 @@
{:mixins [mx/static]}
[{:keys [id created-at] :as image} selected? edition?]
(letfn [(toggle-selection [event]
(rs/emit! (di/toggle-image-selection id)))
(st/emit! (di/toggle-image-selection id)))
(toggle-selection-shifted [event]
(when (kbd/shift? event)
(toggle-selection event)))
@ -314,12 +314,12 @@
(on-blur [event]
(let [target (dom/event->target event)
name (dom/get-value target)]
(rs/emit! (di/update-opts :edition false)
(st/emit! (di/update-opts :edition false)
(di/rename-image id name))))
(on-edit [event]
(dom/stop-propagation event)
(dom/prevent-default event)
(rs/emit! (di/update-opts :edition id)))]
(st/emit! (di/update-opts :edition id)))]
[:div.grid-item.images-th
{:on-click toggle-selection-shifted}
[:div.grid-item-th
@ -385,13 +385,13 @@
(letfn [(on-term-change [event]
(let [term (-> (dom/get-target event)
(dom/get-value))]
(rs/emit! (di/update-opts :filter term))))
(st/emit! (di/update-opts :filter term))))
(on-ordering-change [event]
(let [value (dom/event->value event)
value (read-string value)]
(rs/emit! (di/update-opts :order value))))
(st/emit! (di/update-opts :order value))))
(on-clear [event]
(rs/emit! (di/update-opts :filter "")))]
(st/emit! (di/update-opts :filter "")))]
[:section.dashboard-bar.library-gap
[:div.dashboard-info
@ -424,7 +424,7 @@
(defn- images-page-will-mount
[own]
(let [[type id] (:rum/args own)]
(rs/emit! (di/initialize type id))
(st/emit! (di/initialize type id))
own))
(defn- images-page-did-remount
@ -433,7 +433,7 @@
[new-type new-id] (:rum/args own)]
(when (or (not= old-type new-type)
(not= old-id new-id))
(rs/emit! (di/initialize new-type new-id)))
(st/emit! (di/initialize new-type new-id)))
own))
(mx/defc images-page

View file

@ -8,7 +8,7 @@
(ns uxbox.main.ui.dashboard.projects
(:require [lentes.core :as l]
[cuerdas.core :as str]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.projects :as udp]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.ui.icons :as i]
@ -19,7 +19,7 @@
[uxbox.main.exports :as exports]
[uxbox.util.i18n :as t :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.data :refer (read-string)]
[uxbox.util.dom :as dom]
[uxbox.util.blob :as blob]
@ -109,13 +109,13 @@
(letfn [(on-term-change [event]
(let [term (-> (dom/get-target event)
(dom/get-value))]
(rs/emit! (udp/update-opts :filter term))))
(st/emit! (udp/update-opts :filter term))))
(on-ordering-change [event]
(let [value (dom/event->value event)
value (read-string value)]
(rs/emit! (udp/update-opts :order value))))
(st/emit! (udp/update-opts :order value))))
(on-clear [event]
(rs/emit! (udp/update-opts :filter "")))]
(st/emit! (udp/update-opts :filter "")))]
[:section.dashboard-bar
[:div.dashboard-info
@ -177,9 +177,9 @@
{:mixins [mx/static (mx/local)]}
[{:keys [rum/local] :as own} project]
(letfn [(on-navigate [event]
(rs/emit! (udp/go-to (:id project))))
(st/emit! (udp/go-to (:id project))))
(delete []
(rs/emit! (udp/delete-project project)))
(st/emit! (udp/delete-project project)))
(on-delete [event]
(dom/stop-propagation event)
(udl/open! :confirm {:on-accept delete}))
@ -191,7 +191,7 @@
name (dom/get-value target)
id (:id project)]
(swap! local assoc :edition false)
(rs/emit! (udp/rename-project id name))))
(st/emit! (udp/rename-project id name))))
(on-edit [event]
(dom/stop-propagation event)
(dom/prevent-default event)
@ -251,12 +251,12 @@
(defn projects-page-will-mount
[own]
(rs/emit! (udp/initialize))
(st/emit! (udp/initialize))
own)
(defn projects-page-did-remount
[old-own own]
(rs/emit! (udp/initialize))
(st/emit! (udp/initialize))
own)
(mx/defc projects-page
@ -350,7 +350,7 @@
{:value "Go go go!"
:on-click #(do
(dom/prevent-default %)
(rs/emit! (udp/create-project @local))
(st/emit! (udp/create-project @local))
(udl/close!))
:type "submit"}])]

View file

@ -2,7 +2,7 @@
(:require [sablono.core :as html :refer-macros [html]]
[rum.core :as rum]
[lentes.core :as l]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.lightbox :as udl]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.main.ui.keyboard :as k]

View file

@ -7,21 +7,11 @@
(ns uxbox.main.ui.loader
(:require [sablono.core :refer-macros [html]]
[rum.core :as rum]
[uxbox.main.state :as st]
[uxbox.util.rstore :as rs]
[uxbox.store :as st]
[uxbox.main.ui.icons :as i]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.main.ui.shapes]))
;; --- Error Handling
(defn- on-error
[error]
;; Disable loader in case of error.
(reset! st/loader false))
(rs/add-error-watcher :loader on-error)
;; --- Component
(defn loader-render

View file

@ -2,7 +2,7 @@
(:require [sablono.core :as html :refer-macros [html]]
[rum.core :as rum]
[lentes.core :as l]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.messages :as udm]
[uxbox.main.ui.icons :as i]
[uxbox.util.timers :as ts]

View file

@ -10,7 +10,7 @@
[rum.core :as rum]
[cuerdas.core :as str]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.main.ui.icons :as i]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.dom :as dom]

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.projects :as dp]
[uxbox.main.ui.navigation :as nav]
[uxbox.main.ui.icons :as i]

View file

@ -10,7 +10,7 @@
[rum.core :as rum]
[cuerdas.core :as str]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.main.ui.icons :as i]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.dom :as dom]

View file

@ -9,11 +9,11 @@
(:require [lentes.core :as l]
[cuerdas.core :as str]
[uxbox.util.i18n :as t :refer (tr)]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.forms :as forms]
[uxbox.util.dom :as dom]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.users :as udu]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.messages :as uum]
@ -41,7 +41,7 @@
(set-value! field value)))
(on-submit [event]
(println "on-submit" data)
#_(rs/emit! (udu/update-password form)))]
#_(st/emit! (udu/update-password form)))]
(println "password-form" data)
[:form.password-form
[:span.user-settings-label "Change password"]

View file

@ -10,11 +10,11 @@
[lentes.core :as l]
[uxbox.util.forms :as forms]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.interop :refer (iterable->seq)]
[uxbox.util.dom :as dom]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.settings.header :refer (header)]
[uxbox.main.ui.messages :as uum]
@ -59,7 +59,7 @@
(on-success []
(forms/clear! :profile))
(on-submit [event]
(rs/emit! (udu/update-profile data on-success on-error)))]
(st/emit! (udu/update-profile data on-success on-error)))]
[:form.profile-form
[:span.user-settings-label "Name, username and email"]
[:input.input-text
@ -124,7 +124,7 @@
file (-> (dom/get-files target)
(iterable->seq)
(first))]
(rs/emit! (udu/update-photo file))
(st/emit! (udu/update-photo file))
(dom/clean-value! target)))]
(let [{:keys [photo]} (mx/react profile-ref)
photo (if (or (str/empty? photo) (nil? photo))

View file

@ -8,8 +8,8 @@
(:require [sablono.core :refer-macros [html]]
[lentes.core :as l]
[beicon.core :as rx]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.workspace.base :as wb]
@ -41,10 +41,10 @@
(rx/filter #(= % :mouse/up))
(rx/take 1))
stream (rx/take-until stoper wb/mouse-delta-s)
on-move #(rs/emit! (uds/move-shape shape %))
on-move #(st/emit! (uds/move-shape shape %))
on-stop #(rlocks/release! :shape/move)]
(when @wb/alignment-ref
(rs/emit! (uds/initial-align-shape shape)))
(st/emit! (uds/initial-align-shape shape)))
(rx/subscribe stream on-move nil on-stop)))]
(rlocks/acquire! :shape/move)
@ -65,16 +65,16 @@
(and (not selected?) (empty? selected))
(do
(dom/stop-propagation event)
(rs/emit! (uds/select-shape id))
(st/emit! (uds/select-shape id))
(start-move))
(and (not selected?) (not (empty? selected)))
(do
(dom/stop-propagation event)
(if (kbd/shift? event)
(rs/emit! (uds/select-shape id))
(st/emit! (uds/select-shape id))
(do
(rs/emit! (uds/deselect-all)
(st/emit! (uds/deselect-all)
(uds/select-shape id))
(start-move))))

View file

@ -6,7 +6,7 @@
(ns uxbox.main.ui.shapes.group
(:require [lentes.core :as l]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.main.ui.shapes.common :as common]
[uxbox.main.ui.shapes.attrs :as attrs]

View file

@ -9,8 +9,8 @@
[lentes.core :as l]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.http :as http]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.ui.shapes.common :as common]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.main.data.images :as udi]
@ -31,7 +31,7 @@
[own]
(let [{:keys [image]} (first (:rum/args own))]
(println (:rum/args own))
(rs/emit! (udi/fetch-image image))
(st/emit! (udi/fetch-image image))
own))
(mx/defcs image-component

View file

@ -6,7 +6,8 @@
(ns uxbox.main.ui.shapes.path
(:require [uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.ui.shapes.common :as common]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.main.data.shapes :as uds]
@ -25,7 +26,7 @@
(common/on-mouse-down event shape selected))
(on-double-click [event]
(when selected?
(rs/emit! (uds/start-edition-mode id))))]
(st/emit! (uds/start-edition-mode id))))]
[:g.shape {:class (when selected? "selected")
:on-double-click on-double-click
:on-mouse-down on-mouse-down}

View file

@ -9,9 +9,9 @@
"Multiple selection handlers component."
(:require [lentes.core :as l]
[beicon.core :as rx]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.workspace.base :as wb]
[uxbox.util.rlocks :as rlocks]
@ -47,7 +47,7 @@
[vid sid]
(letfn [(on-resize [[delta ctrl?]]
(let [params {:vid vid :delta (assoc delta :lock ctrl?)}]
(rs/emit! (uds/update-vertex-position sid params))))
(st/emit! (uds/update-vertex-position sid params))))
(on-end []
(rlocks/release! :shape/resize))]
(let [stoper (->> wb/events-s
@ -59,7 +59,7 @@
(rx/with-latest-from vector wb/mouse-ctrl-s))]
(rlocks/acquire! :shape/resize)
(when @wb/alignment-ref
(rs/emit! (uds/initial-vertext-align sid vid)))
(st/emit! (uds/initial-vertext-align sid vid)))
(rx/subscribe stream on-resize nil on-end))))
;; --- Selection Handlers (Component)
@ -145,7 +145,7 @@
(defn start-path-edition
[shape-id index]
(letfn [(on-move [delta]
(rs/emit! (uds/update-path shape-id index delta)))
(st/emit! (uds/update-path shape-id index delta)))
(on-end []
(rlocks/release! :shape/resize))]
(let [stoper (->> wb/events-s
@ -155,7 +155,7 @@
stream (rx/take-until stoper wb/mouse-delta-s)]
(rlocks/acquire! :shape/resize)
(when @wb/alignment-ref
(rs/emit! (uds/initial-path-point-align shape-id index)))
(st/emit! (uds/initial-path-point-align shape-id index)))
(rx/subscribe stream on-move nil on-end))))
(mx/defc path-edition-selection-handlers

View file

@ -8,10 +8,11 @@
(:require [cuerdas.core :as str]
[lentes.core :as l]
[goog.events :as events]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.color :as color]
[uxbox.util.dom :as dom]
[uxbox.store :as st]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.shapes.common :as common]
[uxbox.main.ui.shapes.attrs :as attrs]
@ -46,7 +47,7 @@
(handle-mouse-down event shape selected))
(on-double-click [event]
(dom/stop-propagation event)
(rs/emit! (uds/start-edition-mode id)))]
(st/emit! (uds/start-edition-mode id)))]
[:g.shape {:class (when selected? "selected")
:ref "main"
:on-double-click on-double-click
@ -113,7 +114,7 @@
(on-done))
(on-input [ev]
(let [content (dom/event->inner-text ev)]
(rs/emit! (uds/update-text id {:content content}))))]
(st/emit! (uds/update-text id {:content content}))))]
[:g
[:rect (merge props +select-rect-attrs+)]
[:foreignObject props

View file

@ -10,8 +10,8 @@
[lentes.core :as l]
[rum.core :as rum]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as s]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.auth :as da]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.ui.icons :as i]
@ -38,7 +38,7 @@
[:li {:on-click #(r/go :settings/profile)}
i/user
[:span "Your account"]]
[:li {:on-click #(rs/emit! (da/logout))}
[:li {:on-click #(st/emit! (da/logout))}
i/exit
[:span "Exit"]]])))
@ -52,7 +52,7 @@
(def profile-ref
(as-> (l/key :profile) $
(l/derive $ s/state)))
(l/derive $ st/state)))
(defn user-render
[own]

View file

@ -10,7 +10,8 @@
[rum.core :as rum]
[beicon.core :as rx]
[uxbox.main.constants :as c]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.pages :as udp]
[uxbox.main.data.history :as udh]
@ -39,7 +40,7 @@
(defn- workspace-will-mount
[own]
(let [[projectid pageid] (:rum/args own)]
(rs/emit! (dw/initialize projectid pageid))
(st/emit! (dw/initialize projectid pageid))
own))
(defn- workspace-did-mount
@ -76,7 +77,7 @@
[oldprojectid oldpageid] (:rum/args old-state)]
(if (not= pageid oldpageid)
(do
(rs/emit! (dw/initialize projectid pageid))
(st/emit! (dw/initialize projectid pageid))
(.close (::sub2 old-state))
(.close (::sub3 old-state))
(assoc state
@ -103,8 +104,8 @@
(dom/prevent-default event)
(dom/stop-propagation event)
(if (pos? (.-deltaY event))
(rs/emit! (dw/increase-zoom))
(rs/emit! (dw/decrease-zoom)))
(st/emit! (dw/increase-zoom))
(st/emit! (dw/decrease-zoom)))
(let [dom (mx/ref-node own "workspace-canvas")]
(set! (.-scrollLeft dom) (* c/canvas-start-scroll-x @wb/zoom-ref))

View file

@ -8,8 +8,8 @@
(ns uxbox.main.ui.workspace.base
(:require [beicon.core :as rx]
[lentes.core :as l]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.shapes :as uds]
[uxbox.util.geom.point :as gpt]

View file

@ -9,7 +9,7 @@
(:require [beicon.core :as rx]
[lentes.core :as l]
[goog.events :as events]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.geom.point :as gpt]
[uxbox.util.dom :as dom]
[uxbox.util.data :refer (parse-int)]

View file

@ -7,12 +7,12 @@
(ns uxbox.main.ui.workspace.clipboard
(:require [lentes.core :as l]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.data.workspace :as udw]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.lightbox :as lbx]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.dom :as dom]
[uxbox.util.datetime :as dt]))
@ -25,7 +25,7 @@
{:mixins [mx/static mx/reactive]}
[]
(letfn [(on-paste [item]
(rs/emit! (udw/paste-from-clipboard (:id item)))
(st/emit! (udw/paste-from-clipboard (:id item)))
(udl/close!))
(on-close [event]
(dom/prevent-default event)

View file

@ -8,7 +8,7 @@
(ns uxbox.main.ui.workspace.colorpalette
(:require [beicon.core :as rx]
[lentes.core :as l]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.data.colors :as dc]
@ -16,7 +16,7 @@
[uxbox.main.ui.workspace.base :as wb]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.lens :as ul]
[uxbox.util.data :refer (read-string)]
[uxbox.util.color :refer (hex->rgb)]
@ -35,8 +35,8 @@
(letfn [(select-color [event color]
(dom/prevent-default event)
(if (kbd/shift? event)
(rs/emit! (uds/update-selected-shapes-stroke {:color color}))
(rs/emit! (uds/update-selected-shapes-fill {:color color}))))]
(st/emit! (uds/update-selected-shapes-stroke {:color color}))
(st/emit! (uds/update-selected-shapes-fill {:color color}))))]
[:div.color-palette-content
(for [hex-color colors
:let [rgb-vec (hex->rgb hex-color)
@ -59,7 +59,7 @@
(let [value (read-string (dom/event->value event))]
(swap! local assoc :selected value)))
(close [event]
(rs/emit! (dw/toggle-flag :colorpalette)))]
(st/emit! (dw/toggle-flag :colorpalette)))]
[:div.color-palette
[:div.color-palette-actions
[:select.input-select {:on-change select-collection}
@ -78,7 +78,7 @@
(defn- colorpalette-will-mount
[own]
(rs/emit! (dc/fetch-collections))
(st/emit! (dc/fetch-collections))
own)
(mx/defc colorpalette

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.workspace.base :as wb]
@ -38,7 +38,7 @@
top (- y 50)]
(letfn [(change-color [color]
(let [attrs {:color color}]
(rs/emit!
(st/emit!
(case attr
:stroke (uds/update-stroke-attrs (:id shape) attrs)
:fill (uds/update-fill-attrs (:id shape) attrs)))))

View file

@ -10,7 +10,7 @@
[beicon.core :as rx]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.exports :as exports]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.lightbox :as lbx]
[uxbox.main.ui.workspace.base :as wb]
@ -19,7 +19,7 @@
[uxbox.util.datetime :as dt]
[uxbox.util.dom :as dom]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.zip :as zip]
[lentes.core :as l]))

View file

@ -8,14 +8,15 @@
(ns uxbox.main.ui.workspace.drawarea
"Draw interaction and component."
(:require [beicon.core :as rx]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.rlocks :as rlocks]
[uxbox.store :as st]
[uxbox.main.constants :as c]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.shapes :as shapes]
[uxbox.main.ui.workspace.base :as wb]
[uxbox.util.rlocks :as rlocks]
[uxbox.main.geom :as geom]
[uxbox.util.geom.point :as gpt]
[uxbox.util.geom.path :as path]
@ -128,7 +129,7 @@
:x2 (+ x 200)
:y2 (+ y (/ 200 proportion))}
shape (geom/setup shape props)]
(rs/emit! (uds/add-shape shape)
(st/emit! (uds/add-shape shape)
(udw/select-for-drawing nil)
(uds/select-first-shape))
(rlocks/release! :ui/draw)))
@ -232,7 +233,7 @@
(on-end []
(let [shape @drawing-shape]
(rs/emit! (uds/add-shape shape)
(st/emit! (uds/add-shape shape)
(udw/select-for-drawing nil)
(uds/select-first-shape))
(reset! drawing-shape nil)
@ -268,7 +269,7 @@
(on-end []
(let [shape (simplify-shape @drawing-shape)]
(rs/emit! (uds/add-shape shape)
(st/emit! (uds/add-shape shape)
(udw/select-for-drawing nil)
(uds/select-first-shape))
(reset! drawing-shape nil)
@ -301,7 +302,7 @@
(let [shape @drawing-shape
shpos @drawing-position
shape (geom/resize shape shpos)]
(rs/emit! (uds/add-shape shape)
(st/emit! (uds/add-shape shape)
(udw/select-for-drawing nil)
(uds/select-first-shape))
(reset! drawing-position nil)

View file

@ -11,7 +11,8 @@
[beicon.core :as rx]
[uxbox.config :as cfg]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.history :as udh]
[uxbox.main.data.lightbox :as udl]
@ -33,8 +34,8 @@
coords (some-> (mx/react wb/mouse-canvas-a)
(gpt/divide zoom)
(gpt/round 1))
increase #(rs/emit! (dw/increase-zoom))
decrease #(rs/emit! (dw/decrease-zoom))]
increase #(st/emit! (dw/increase-zoom))
decrease #(st/emit! (dw/decrease-zoom))]
(html
[:ul.options-view
[:li.coordinates {:alt "x"}
@ -66,9 +67,9 @@
(let [project (mx/react wb/project-ref)
page (mx/react wb/page-ref)
flags (mx/react wb/flags-ref)
toggle #(rs/emit! (dw/toggle-flag %))
on-undo #(rs/emit! (udh/backwards-to-previous-version))
on-redo #(rs/emit! (udh/forward-to-next-version))
toggle #(st/emit! (dw/toggle-flag %))
on-undo #(st/emit! (udh/backwards-to-previous-version))
on-redo #(st/emit! (udh/forward-to-next-version))
on-image #(udl/open! :import-image)
on-download #(udl/open! :download)]
(html

View file

@ -8,11 +8,11 @@
(ns uxbox.main.ui.workspace.images
(:require [lentes.core :as l]
[uxbox.util.i18n :as t :refer (tr)]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.data :as data :refer (read-string)]
[uxbox.util.dom :as dom]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.data.images :as udi]
[uxbox.main.data.workspace :as udw]
@ -54,11 +54,11 @@
:metadata {:width width
:height height}
:image id}]
(rs/emit! (udw/select-for-drawing shape))
(st/emit! (udw/select-for-drawing shape))
(udl/close!)))
(on-files-selected [event]
(let [files (dom/get-event-files event)]
(rs/emit! (udi/create-images nil files on-uploaded))))
(st/emit! (udi/create-images nil files on-uploaded))))
(on-select-from-library [event]
(dom/prevent-default event)
(udl/open! :import-image-from-collections))
@ -96,7 +96,7 @@
:metadata {:width width
:height height}
:image id}]
(rs/emit! (udw/select-for-drawing shape))
(st/emit! (udw/select-for-drawing shape))
(udl/close!)))]
[:div.library-item {:key (str id)
:on-double-click on-double-click}
@ -115,10 +115,10 @@
(defn will-mount
[own]
(let [local (:rum/local own)]
(rs/emit! (udi/fetch-collections))
(rs/emit! (udi/fetch-images nil))
(st/emit! (udi/fetch-collections))
(st/emit! (udi/fetch-images nil))
(add-watch local ::key (fn [_ _ _ v]
(rs/emit! (udi/fetch-images (:id v)))))
(st/emit! (udi/fetch-images (:id v)))))
own))
(defn will-unmount

View file

@ -10,8 +10,8 @@
[rum.core :as rum]
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.ui.icons :as i]
[uxbox.util.mixins :as mx :include-macros true]

View file

@ -10,7 +10,7 @@
[rum.core :as rum]
[beicon.core :as rx]
[uxbox.main.constants :as c]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.math :as mth]
[uxbox.main.ui.workspace.base :as wb]
[uxbox.util.mixins :as mx :include-macros true]

View file

@ -11,7 +11,7 @@
[cuerdas.core :as str]
[beicon.core :as rx]
[uxbox.main.constants :as c]
[uxbox.main.state :as s]
[uxbox.store :as s]
[uxbox.util.dom :as dom]
[uxbox.main.ui.workspace.base :as wb]
[uxbox.util.mixins :as mx :include-macros true]))

View file

@ -8,8 +8,9 @@
(ns uxbox.main.ui.workspace.selrect
"Mouse selection interaction and component."
(:require [beicon.core :as rx]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.store :as st]
[uxbox.main.constants :as c]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.shapes :as uds]
@ -94,7 +95,7 @@
[]
(let [rect (-> (selrect->rect @position)
(translate-to-canvas))]
(rs/emit! (uds/deselect-all)
(st/emit! (uds/deselect-all)
(uds/select-shapes rect))
(rlocks/release! :ui/selrect)
(reset! position nil)))

View file

@ -8,8 +8,8 @@
(ns uxbox.main.ui.workspace.settings
(:require [lentes.core :as l]
[uxbox.main.constants :as c]
[uxbox.main.state :as st]
[uxbox.util.rstore :as rs]
[uxbox.store :as st]
[potok.core :as ptk]
[uxbox.main.data.pages :as udp]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.lightbox :as udl]
@ -65,7 +65,7 @@
(let [[errors data] (forms/validate data +settings-form+)]
(if errors
(set-errors! errors)
(rs/emit! (udw/update-metadata id data)
(st/emit! (udw/update-metadata id data)
(forms/clear :workspace-settings)
(udl/hide-lightbox)))))]
[:form {:on-submit on-submit}

View file

@ -8,7 +8,8 @@
(ns uxbox.main.ui.workspace.shortcuts
(:require [goog.events :as events]
[beicon.core :as rx]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.shapes :as uds]
@ -25,30 +26,30 @@
;; --- Shortcuts
(defonce +shortcuts+
{:shift+g #(rs/emit! (dw/toggle-flag :grid))
:ctrl+g #(rs/emit! (uds/group-selected))
:ctrl+shift+g #(rs/emit! (uds/degroup-selected))
:ctrl+shift+m #(rs/emit! (dw/toggle-flag :sitemap))
:ctrl+shift+f #(rs/emit! (dw/toggle-flag :drawtools))
:ctrl+shift+i #(rs/emit! (dw/toggle-flag :icons))
:ctrl+shift+l #(rs/emit! (dw/toggle-flag :layers))
:ctrl+0 #(rs/emit! (dw/reset-zoom))
:ctrl+r #(rs/emit! (dw/toggle-flag :ruler))
:ctrl+d #(rs/emit! (uds/duplicate-selected))
:ctrl+c #(rs/emit! (dw/copy-to-clipboard))
:ctrl+v #(rs/emit! (dw/paste-from-clipboard))
{:shift+g #(st/emit! (dw/toggle-flag :grid))
:ctrl+g #(st/emit! (uds/group-selected))
:ctrl+shift+g #(st/emit! (uds/degroup-selected))
:ctrl+shift+m #(st/emit! (dw/toggle-flag :sitemap))
:ctrl+shift+f #(st/emit! (dw/toggle-flag :drawtools))
:ctrl+shift+i #(st/emit! (dw/toggle-flag :icons))
:ctrl+shift+l #(st/emit! (dw/toggle-flag :layers))
:ctrl+0 #(st/emit! (dw/reset-zoom))
:ctrl+r #(st/emit! (dw/toggle-flag :ruler))
:ctrl+d #(st/emit! (uds/duplicate-selected))
:ctrl+c #(st/emit! (dw/copy-to-clipboard))
:ctrl+v #(st/emit! (dw/paste-from-clipboard))
:ctrl+shift+v #(udl/open! :clipboard)
:ctrl+z #(rs/emit! (udu/undo))
:ctrl+shift+z #(rs/emit! (udu/redo))
:ctrl+b #(rs/emit! (dw/select-for-drawing wsd/+draw-tool-rect+))
:ctrl+e #(rs/emit! (dw/select-for-drawing wsd/+draw-tool-circle+))
:ctrl+t #(rs/emit! (dw/select-for-drawing wsd/+draw-tool-text+))
:esc #(rs/emit! (uds/deselect-all))
:delete #(rs/emit! (uds/delete-selected))
:ctrl+up #(rs/emit! (uds/move-selected-layer :up))
:ctrl+down #(rs/emit! (uds/move-selected-layer :down))
:ctrl+shift+up #(rs/emit! (uds/move-selected-layer :top))
:ctrl+shift+down #(rs/emit! (uds/move-selected-layer :bottom))
:ctrl+z #(st/emit! (udu/undo))
:ctrl+shift+z #(st/emit! (udu/redo))
:ctrl+b #(st/emit! (dw/select-for-drawing wsd/+draw-tool-rect+))
:ctrl+e #(st/emit! (dw/select-for-drawing wsd/+draw-tool-circle+))
:ctrl+t #(st/emit! (dw/select-for-drawing wsd/+draw-tool-text+))
:esc #(st/emit! (uds/deselect-all))
:delete #(st/emit! (uds/delete-selected))
:ctrl+up #(st/emit! (uds/move-selected-layer :up))
:ctrl+down #(st/emit! (uds/move-selected-layer :down))
:ctrl+shift+up #(st/emit! (uds/move-selected-layer :top))
:ctrl+shift+down #(st/emit! (uds/move-selected-layer :bottom))
:shift+up #(move-selected :up :fast)
:shift+down #(move-selected :down :fast)
:shift+right #(move-selected :right :fast)
@ -90,8 +91,8 @@
(defn- move-selected
[dir speed]
(case speed
:std (rs/emit! (uds/move-selected dir 1))
:fast (rs/emit! (uds/move-selected dir 20))))
:std (st/emit! (uds/move-selected dir 1))
:fast (st/emit! (uds/move-selected dir 20))))
;; --- Mixin

View file

@ -7,9 +7,9 @@
(ns uxbox.main.ui.workspace.sidebar
(:require [lentes.core :as l]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.main.ui.workspace.base :as wb]
[uxbox.main.ui.workspace.sidebar.options :refer (options-toolbox)]

View file

@ -10,11 +10,11 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.data :refer (read-string)]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.dom :as dom]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.ui.workspace.base :as wb]
[uxbox.main.ui.icons :as i]))
@ -82,14 +82,14 @@
(defn- select-for-draw
[shape]
(rs/emit! (dw/select-for-drawing shape)))
(st/emit! (dw/select-for-drawing shape)))
(mx/defc draw-toolbox
{:mixins [mx/static mx/reactive]}
[own]
(let [workspace (mx/react wb/workspace-ref)
drawing (mx/react drawing-shape)
close #(rs/emit! (dw/toggle-flag :drawtools))
close #(st/emit! (dw/toggle-flag :drawtools))
tools (->> (into [] +draw-tools+)
(sort-by (comp :priority second)))]
[:div#form-tools.tool-window.drawing-tools

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.pages :as udp]
[uxbox.main.data.history :as udh]
@ -36,14 +36,14 @@
[own item selected]
(letfn [(on-select [event]
(dom/prevent-default event)
(rs/emit! (udh/select-page-history (:version item))))
(st/emit! (udh/select-page-history (:version item))))
(on-pinned [event]
(dom/prevent-default event)
(dom/stop-propagation event)
(let [item (assoc item
:label "no label"
:pinned (not (:pinned item)))]
(rs/emit! (udh/update-history-item item))))]
(st/emit! (udh/update-history-item item))))]
(let [selected? (= (:version item) selected)]
(html
[:li {:class (when selected? "current") :on-click on-select}
@ -65,13 +65,13 @@
[own page history]
(letfn [(on-select [event]
(dom/prevent-default event)
(rs/emit! (udh/deselect-page-history (:id page))))
(st/emit! (udh/deselect-page-history (:id page))))
(on-load-more [event]
(dom/prevent-default event)
(let [since (:min-version history)
params {:since since}]
(rs/emit! (udh/fetch-page-history (:id page) params))))]
(st/emit! (udh/fetch-page-history (:id page) params))))]
(let [selected (:selected history)
show-more? (pos? (:min-version history))]
@ -121,7 +121,7 @@
page (mx/react wb/page-ref)
history (mx/react history-ref)
section (:section @local :main)
close #(rs/emit! (dw/toggle-flag :document-history))
close #(st/emit! (dw/toggle-flag :document-history))
main? (= section :main)
pinned? (= section :pinned)
show-main #(swap! local assoc :section :main)
@ -156,8 +156,8 @@
[own page]
(let [history (mx/react history-ref)
version (:selected history)
on-accept #(rs/emit! (udh/apply-selected-history page))
on-cancel #(rs/emit! (udh/deselect-page-history page))]
on-accept #(st/emit! (udh/apply-selected-history page))
on-cancel #(st/emit! (udh/deselect-page-history page))]
(when (or version (:deselecting history))
(html
[:div.message-version

View file

@ -8,8 +8,8 @@
(ns uxbox.main.ui.workspace.sidebar.icons
(:require [lentes.core :as l]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.icons :as udi]
[uxbox.main.ui.shapes.icon :as icon]
@ -40,10 +40,10 @@
(defn- icons-toolbox-will-mount
[own]
(let [local (:rum/local own)]
(rs/emit! (udi/fetch-collections))
(rs/emit! (udi/fetch-icons nil))
(st/emit! (udi/fetch-collections))
(st/emit! (udi/fetch-icons nil))
(add-watch local ::key (fn [_ _ _ {:keys [id]}]
(rs/emit! (udi/fetch-icons id))))
(st/emit! (udi/fetch-icons id))))
own))
(defn- icons-toolbox-will-unmount
@ -69,14 +69,14 @@
(filter #(= (:id coll) (:collection %))))]
(letfn [(on-close [event]
(rs/emit! (dw/toggle-flag :icons)))
(st/emit! (dw/toggle-flag :icons)))
(on-select [icon event]
(rs/emit! (dw/select-for-drawing icon)))
(st/emit! (dw/select-for-drawing icon)))
(on-change [event]
(let [value (-> (dom/event->value event)
(read-string))]
(swap! local assoc :id value)
(rs/emit! (dw/select-for-drawing nil))))]
(st/emit! (dw/select-for-drawing nil))))]
[:div#form-figures.tool-window
[:div.tool-window-bar
[:div.tool-window-icon i/icon-set]

View file

@ -10,8 +10,8 @@
[cuerdas.core :as str]
[goog.events :as events]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.util.data :refer (read-string classnames)]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
@ -41,17 +41,17 @@
nil
(.-ctrlKey event)
(rs/emit! (uds/select-shape id))
(st/emit! (uds/select-shape id))
(> (count selected) 1)
(rs/emit! (uds/deselect-all)
(st/emit! (uds/deselect-all)
(uds/select-shape id))
(contains? selected id)
(rs/emit! (uds/select-shape id))
(st/emit! (uds/select-shape id))
:else
(rs/emit! (uds/deselect-all)
(st/emit! (uds/deselect-all)
(uds/select-shape id)))))
(defn- toggle-visibility
@ -60,10 +60,10 @@
(let [id (:id item)
hidden? (:hidden item)]
(if hidden?
(rs/emit! (uds/show-shape id))
(rs/emit! (uds/hide-shape id)))
(st/emit! (uds/show-shape id))
(st/emit! (uds/hide-shape id)))
(when (contains? selected id)
(rs/emit! (uds/select-shape id)))))
(st/emit! (uds/select-shape id)))))
(defn- toggle-blocking
[item event]
@ -71,8 +71,8 @@
(let [id (:id item)
blocked? (:blocked item)]
(if blocked?
(rs/emit! (uds/unblock-shape id))
(rs/emit! (uds/block-shape id)))))
(st/emit! (uds/unblock-shape id))
(st/emit! (uds/block-shape id)))))
(defn- element-icon
[item]
@ -116,7 +116,7 @@
data {:id (:id shape)
:name (dom/get-value target)}]
(set! (.-draggable parent) true)
(rs/emit! (uds/update-shape data))
(st/emit! (uds/update-shape data))
(swap! local assoc :edition false)))
(on-key-down [event]
(js/console.log event)
@ -168,8 +168,8 @@
(let [id (dnd/get-data event)
over (:over @local)]
(case (:over @local)
:top (rs/emit! (uds/drop-shape id (:id item) :before))
:bottom (rs/emit! (uds/drop-shape id (:id item) :after)))
:top (st/emit! (uds/drop-shape id (:id item) :before))
:bottom (st/emit! (uds/drop-shape id (:id item) :after)))
(swap! local assoc :dragging false :over nil)))
(on-drag-over [event]
(dom/prevent-default event)
@ -228,13 +228,13 @@
(letfn [(toggle-collapse [event]
(dom/stop-propagation event)
(if (:collapsed item)
(rs/emit! (uds/uncollapse-shape id))
(rs/emit! (uds/collapse-shape id))))
(st/emit! (uds/uncollapse-shape id))
(st/emit! (uds/collapse-shape id))))
(toggle-locking [event]
(dom/stop-propagation event)
(if (:locked item)
(rs/emit! (uds/unlock-shape id))
(rs/emit! (uds/lock-shape id))))
(st/emit! (uds/unlock-shape id))
(st/emit! (uds/lock-shape id))))
(on-drag-start [event]
(let [target (dom/event->target event)]
(dnd/set-allowed-effect! event "move")
@ -247,9 +247,9 @@
(let [coming-id (dnd/get-data event)
over (:over @local)]
(case (:over @local)
:top (rs/emit! (uds/drop-shape coming-id id :before))
:bottom (rs/emit! (uds/drop-shape coming-id id :after))
:middle (rs/emit! (uds/drop-shape coming-id id :inside)))
:top (st/emit! (uds/drop-shape coming-id id :before))
:bottom (st/emit! (uds/drop-shape coming-id id :after))
:middle (st/emit! (uds/drop-shape coming-id id :inside)))
(swap! local assoc :dragging false :over nil)))
(on-drag-over [event]
(dom/prevent-default event)
@ -309,11 +309,11 @@
selected (:selected workspace)
shapes-map (mx/react wb/shapes-by-id-ref)
page (mx/react (focus-page (:page workspace)))
close #(rs/emit! (udw/toggle-flag :layers))
duplicate #(rs/emit! (uds/duplicate-selected))
group #(rs/emit! (uds/group-selected))
degroup #(rs/emit! (uds/degroup-selected))
delete #(rs/emit! (uds/delete-selected))
close #(st/emit! (udw/toggle-flag :layers))
duplicate #(st/emit! (uds/duplicate-selected))
group #(st/emit! (uds/group-selected))
degroup #(st/emit! (uds/degroup-selected))
delete #(st/emit! (uds/delete-selected))
dragel (volatile! nil)]
[:div#layers.tool-window
[:div.tool-window-bar

View file

@ -10,8 +10,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.workspace.base :as wb]
@ -132,7 +132,7 @@
{:mixins [mx/static mx/reactive]}
[]
(let [shape (mx/react selected-shape-ref)
close #(rs/emit! (udw/toggle-flag :element-options))]
close #(st/emit! (udw/toggle-flag :element-options))]
[:div.elementa-options.tool-window
[:div.tool-window-bar
[:div.tool-window-icon i/options]

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.icons :as i]
@ -31,22 +31,22 @@
value (parse-int value 0)
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-size sid props))))
(st/emit! (uds/update-size sid props))))
(on-rotation-change [event]
(let [value (dom/event->value event)
value (parse-int value 0)
sid (:id shape)]
(rs/emit! (uds/update-rotation sid value))))
(st/emit! (uds/update-rotation sid value))))
(on-pos-change [attr event]
(let [value (dom/event->value event)
value (parse-int value nil)
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-position sid props))))
(st/emit! (uds/update-position sid props))))
(on-proportion-lock-change [event]
(if (:proportion-lock shape)
(rs/emit! (uds/unlock-proportions id))
(rs/emit! (uds/lock-proportions id))))]
(st/emit! (uds/unlock-proportions id))
(st/emit! (uds/lock-proportions id))))]
[:div.element-set {:key (str (:id menu))}
[:div.element-set-title (:name menu)]
[:div.element-set-content

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.shapes :as uds]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.ui.icons :as i]
@ -24,7 +24,7 @@
[own menu shape]
(letfn [(change-fill [value]
(let [sid (:id shape)]
(rs/emit! (uds/update-fill-attrs sid value))))
(st/emit! (uds/update-fill-attrs sid value))))
(on-color-change [event]
(let [value (dom/event->value event)]
(change-fill {:color value})))

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.icons :as i]
@ -30,18 +30,18 @@
value (parse-int value 0)
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-size sid props))))
(st/emit! (uds/update-size sid props))))
(on-rotation-change [event]
(let [value (dom/event->value event)
value (parse-int value 0)
sid (:id shape)]
(rs/emit! (uds/update-rotation sid value))))
(st/emit! (uds/update-rotation sid value))))
(on-pos-change [attr event]
(let [value (dom/event->value event)
value (parse-int value nil)
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-position sid props))))]
(st/emit! (uds/update-position sid props))))]
(let [size (geom/size shape)]
(html
[:div.element-set {:key (str (:id menu))}

View file

@ -11,9 +11,9 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.shapes :as uds]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.ui.workspace.sidebar.sitemap :refer (pages-ref)]
@ -62,7 +62,7 @@
(delete [item]
(let [sid (:id shape)
id (:id item)]
(rs/emit! (uds/delete-interaction sid id))))
(st/emit! (uds/delete-interaction sid id))))
(on-delete [item event]
(dom/prevent-default event)
(let [delete (partial delete item)]
@ -543,7 +543,7 @@
(dom/prevent-default event)
(let [shape-id (:id shape)
data (deref form-ref)]
(rs/emit! (uds/update-interaction shape-id data))
(st/emit! (uds/update-interaction shape-id data))
(reset! form-ref nil)))
(on-cancel [event]
(dom/prevent-default event)

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.icons :as i]
@ -29,13 +29,13 @@
(let [value (dom/event->value event)
value (parse-int value 0)
sid (:id shape)]
(rs/emit! (uds/update-rotation sid value))))
(st/emit! (uds/update-rotation sid value))))
(on-pos-change [attr event]
(let [value (dom/event->value event)
value (parse-int value nil)
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-line-attrs sid props))))]
(st/emit! (uds/update-line-attrs sid props))))]
(html
[:div.element-set {:key (str (:id menu))}
[:div.element-set-title (:name menu)]

View file

@ -10,8 +10,8 @@
(:require [lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.icons :as i]

View file

@ -9,8 +9,8 @@
(:require [lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.icons :as i]
@ -28,28 +28,28 @@
(let [value (-> (dom/event->value event) (parse-int 0))
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-size sid props))))
(st/emit! (uds/update-size sid props))))
(on-rotation-change [event]
(let [value (dom/event->value event)
value (parse-int value 0)
sid (:id shape)]
(rs/emit! (uds/update-rotation sid value))))
(st/emit! (uds/update-rotation sid value))))
(on-pos-change [attr event]
(let [value (dom/event->value event)
value (parse-int value nil)
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-position sid props))))
(st/emit! (uds/update-position sid props))))
(on-border-change [attr event]
(let [value (dom/event->value event)
value (parse-int value nil)
sid (:id shape)
props {attr value}]
(rs/emit! (uds/update-radius-attrs sid props))))
(st/emit! (uds/update-radius-attrs sid props))))
(on-proportion-lock-change [event]
(if (:proportion-lock shape)
(rs/emit! (uds/unlock-proportions id))
(rs/emit! (uds/lock-proportions id))))]
(st/emit! (uds/unlock-proportions id))
(st/emit! (uds/lock-proportions id))))]
(let [size (geom/size shape)]
[:div.element-set
[:div.element-set-title (:name menu)]

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.shapes :as uds]
[uxbox.main.data.lightbox :as udl]
[uxbox.main.ui.icons :as i]
@ -24,7 +24,7 @@
[own menu shape]
(letfn [(change-stroke [value]
(let [sid (:id shape)]
(rs/emit! (uds/update-stroke-attrs sid value))))
(st/emit! (uds/update-stroke-attrs sid value))))
(on-width-change [event]
(let [value (dom/event->value event)
value (parse-float value 1)]

View file

@ -11,8 +11,8 @@
[lentes.core :as l]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.workspace :as udw]
[uxbox.main.data.shapes :as uds]
[uxbox.main.ui.workspace.base :as wb]
@ -39,26 +39,26 @@
params {:family (read-string value)
:weight "normal"
:style "normal"}]
(rs/emit! (uds/update-font-attrs sid params))))
(st/emit! (uds/update-font-attrs sid params))))
(on-font-size-change [event]
(let [value (dom/event->value event)
params {:size (parse-int value)}
sid (:id shape)]
(rs/emit! (uds/update-font-attrs sid params))))
(st/emit! (uds/update-font-attrs sid params))))
(on-font-letter-spacing-change [event]
(let [value (dom/event->value event)
params {:letter-spacing (parse-float value)}
sid (:id shape)]
(rs/emit! (uds/update-font-attrs sid params))))
(st/emit! (uds/update-font-attrs sid params))))
(on-font-line-height-change [event]
(let [value (dom/event->value event)
params {:line-height (parse-float value)}
sid (:id shape)]
(rs/emit! (uds/update-font-attrs sid params))))
(st/emit! (uds/update-font-attrs sid params))))
(on-font-align-change [event value]
(let [params {:align value}
sid (:id shape)]
(rs/emit! (uds/update-font-attrs sid params))))
(st/emit! (uds/update-font-attrs sid params))))
(on-font-style-change [event]
(let [value (dom/event->value event)
@ -66,7 +66,7 @@
sid (:id shape)
params {:style style
:weight weight}]
(rs/emit! (uds/update-font-attrs sid params))))]
(st/emit! (uds/update-font-attrs sid params))))]
(let [{:keys [family style weight size align line-height letter-spacing]
:or {family "sourcesanspro"
align "left"

View file

@ -10,8 +10,8 @@
[cuerdas.core :as str]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[uxbox.main.state :as st]
[potok.core :as ptk]
[uxbox.store :as st]
[uxbox.main.data.projects :as dp]
[uxbox.main.data.pages :as udp]
[uxbox.main.data.workspace :as dw]
@ -45,11 +45,11 @@
(udl/open! :page-form {:page page}))
(on-navigate [event]
(rs/emit! (dp/go-to (:project page) (:id page))))
(st/emit! (dp/go-to (:project page) (:id page))))
(delete []
(let [next #(rs/emit! (dp/go-to (:project page)))]
(rs/emit! (udp/delete-page (:id page) next))))
(let [next #(st/emit! (dp/go-to (:project page)))]
(st/emit! (udp/delete-page (:id page) next))))
(on-delete [event]
(dom/prevent-default event)
@ -71,7 +71,7 @@
pages (mx/react pages-ref)
current (mx/react wb/page-ref)
create #(udl/open! :page-form {:page {:project (:id project)}})
close #(rs/emit! (dw/toggle-flag :sitemap))]
close #(st/emit! (dw/toggle-flag :sitemap))]
[:div.sitemap.tool-window
[:div.tool-window-bar
[:div.tool-window-icon i/project-tree]

View file

@ -8,7 +8,7 @@
(ns uxbox.main.ui.workspace.sidebar.sitemap-pageform
(:require [lentes.core :as l]
[cuerdas.core :as str]
[uxbox.main.state :as st]
[uxbox.store :as st]
[uxbox.main.data.pages :as udp]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.lightbox :as udl]
@ -17,7 +17,7 @@
[uxbox.main.ui.lightbox :as lbx]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.router :as r]
[uxbox.util.rstore :as rs]
[potok.core :as ptk]
[uxbox.util.forms :as forms]
[uxbox.util.mixins :as mx :include-macros true]
[uxbox.util.data :refer (deep-merge parse-int)]
@ -81,8 +81,8 @@
(dom/prevent-default e)
(udl/close!)
(if (nil? id)
(rs/emit! (udp/create-page data))
(rs/emit! (udp/update-page id data))))]
(st/emit! (udp/create-page data))
(st/emit! (udp/update-page id data))))]
[:form
[:input#project-name.input-text
{:placeholder "Page name"