mirror of
https://github.com/penpot/penpot.git
synced 2025-06-03 22:31:38 +02:00
Minor structure refactor.
Make forms and messages modules independent of store location (making them plugables).
This commit is contained in:
parent
8c28a8c0a7
commit
08b0a096eb
87 changed files with 573 additions and 505 deletions
|
@ -9,11 +9,10 @@
|
|||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.auth :as da]
|
||||
[uxbox.main.data.messages :as udm]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.navigation :as nav]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.router :as rt]
|
||||
|
@ -21,12 +20,12 @@
|
|||
[uxbox.util.forms :as forms]))
|
||||
|
||||
(def form-data (forms/focus-data :login st/state))
|
||||
(def set-value! (partial forms/set-value! :login))
|
||||
(def set-value! (partial forms/set-value! st/store :login))
|
||||
|
||||
(defn- login-page-will-mount
|
||||
[own]
|
||||
(when @st/auth-ref
|
||||
(rt/go :dashboard/projects))
|
||||
(st/emit! (rt/navigate :dashboard/projects)))
|
||||
own)
|
||||
|
||||
(def +login-form+
|
||||
|
@ -68,8 +67,10 @@
|
|||
:value "Continue"
|
||||
:type "submit"}]
|
||||
[:div.login-links
|
||||
[:a {:on-click #(rt/go :auth/recovery-request)} "Forgot your password?"]
|
||||
[:a {:on-click #(rt/go :auth/register)} "Don't have an account?"]]]])))
|
||||
[:a {:on-click #(st/emit! (rt/navigate :auth/recovery-request))}
|
||||
"Forgot your password?"]
|
||||
[:a {:on-click #(st/emit! (rt/navigate :auth/register))}
|
||||
"Don't have an account?"]]]])))
|
||||
|
||||
(mx/defc login-page
|
||||
{:mixins [mx/static]
|
||||
|
@ -77,6 +78,6 @@
|
|||
[]
|
||||
[:div.login
|
||||
[:div.login-body
|
||||
(uum/messages)
|
||||
(messages-widget)
|
||||
[:a i/logo]
|
||||
(login-form)]])
|
||||
|
|
|
@ -8,22 +8,22 @@
|
|||
(ns uxbox.main.ui.auth.recovery
|
||||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.util.router :as rt]
|
||||
[uxbox.store :as st]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.auth :as uda]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.navigation :as nav]
|
||||
[uxbox.util.router :as rt]
|
||||
[uxbox.util.forms :as forms]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.main.data.auth :as uda]
|
||||
[uxbox.main.data.messages :as udm]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.navigation :as nav]))
|
||||
[uxbox.util.dom :as dom]))
|
||||
|
||||
|
||||
;; --- Recovery Form
|
||||
|
||||
(def form-data (forms/focus-data :recovery st/state))
|
||||
(def set-value! (partial forms/set-value! :recovery))
|
||||
(def set-value! (partial forms/set-value! st/store :recovery))
|
||||
|
||||
(def +recovery-form+
|
||||
{:password [forms/required forms/string]})
|
||||
|
@ -40,7 +40,8 @@
|
|||
(on-submit [event]
|
||||
(dom/prevent-default event)
|
||||
(st/emit! (uda/recovery data)
|
||||
(forms/clear :recovery)))]
|
||||
(forms/clear-form :recovery)
|
||||
(forms/clear-errors :recovery)))]
|
||||
[:form {:on-submit on-submit}
|
||||
[:div.login-content
|
||||
[:input.input-text
|
||||
|
@ -56,7 +57,7 @@
|
|||
:value "Recover password"
|
||||
:type "submit"}]
|
||||
[:div.login-links
|
||||
[:a {:on-click #(rt/go :auth/login)} "Go back!"]]]])))
|
||||
[:a {:on-click #(st/emit! (rt/navigate :auth/login))} "Go back!"]]]])))
|
||||
|
||||
;; --- Recovery Page
|
||||
|
||||
|
@ -67,12 +68,11 @@
|
|||
own))
|
||||
|
||||
(mx/defc recovery-page
|
||||
{:mixins [mx/static]
|
||||
:will-mount recovery-page-will-mount
|
||||
:will-unmount (forms/cleaner-fn :recovery)}
|
||||
{:mixins [mx/static (forms/clear-mixin st/store :recovery)]
|
||||
:will-mount recovery-page-will-mount}
|
||||
[token]
|
||||
[:div.login
|
||||
[:div.login-body
|
||||
(uum/messages)
|
||||
(messages-widget)
|
||||
[:a i/logo]
|
||||
(recovery-form token)]])
|
||||
|
|
|
@ -2,26 +2,26 @@
|
|||
;; 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) 2015-2016 Andrey Antukh <niwi@niwi.nz>
|
||||
;; Copyright (c) 2015-2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>
|
||||
;; Copyright (c) 2015-2017 Andrey Antukh <niwi@niwi.nz>
|
||||
;; Copyright (c) 2015-2017 Juan de la Cruz <delacruzgarciajuan@gmail.com>
|
||||
|
||||
(ns uxbox.main.ui.auth.recovery-request
|
||||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.util.router :as rt]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.auth :as uda]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.navigation :as nav]
|
||||
[uxbox.util.router :as rt]
|
||||
[uxbox.util.forms :as forms]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.data.auth :as uda]
|
||||
[uxbox.main.data.messages :as udm]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.navigation :as nav]))
|
||||
[uxbox.util.dom :as dom]))
|
||||
|
||||
|
||||
(def form-data (forms/focus-data :recovery-request st/state))
|
||||
(def set-value! (partial forms/set-value! :recovery-request))
|
||||
(def set-value! (partial forms/set-value! st/store :recovery-request))
|
||||
|
||||
(def +recovery-request-form+
|
||||
{:username [forms/required forms/string]})
|
||||
|
@ -37,7 +37,8 @@
|
|||
(on-submit [event]
|
||||
(dom/prevent-default event)
|
||||
(st/emit! (uda/recovery-request data)
|
||||
(forms/clear :recovery-request)))]
|
||||
(forms/clear-form :recovery-request)
|
||||
(forms/clear-errors :recovery-request)))]
|
||||
[:form {:on-submit on-submit}
|
||||
[:div.login-content
|
||||
[:input.input-text
|
||||
|
@ -53,16 +54,15 @@
|
|||
:value "Recover password"
|
||||
:type "submit"}]
|
||||
[:div.login-links
|
||||
[:a {:on-click #(rt/go :auth/login)} "Go back!"]]]])))
|
||||
[:a {:on-click #(st/emit! (rt/navigate :auth/login))} "Go back!"]]]])))
|
||||
|
||||
;; --- Recovery Request Page
|
||||
|
||||
(mx/defc recovery-request-page
|
||||
{:mixins [mx/static]
|
||||
:will-unmount (forms/cleaner-fn :recovery-request)}
|
||||
{:mixins [mx/static (forms/clear-mixin st/store :recovery-request)]}
|
||||
[]
|
||||
[:div.login
|
||||
[:div.login-body
|
||||
(uum/messages)
|
||||
(messages-widget)
|
||||
[:a i/logo]
|
||||
(recovery-request-form)]])
|
||||
|
|
|
@ -8,24 +8,23 @@
|
|||
(ns uxbox.main.ui.auth.register
|
||||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.util.router :as rt]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.auth :as uda]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.navigation :as nav]
|
||||
[uxbox.util.router :as rt]
|
||||
[uxbox.util.forms :as forms]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.data.auth :as uda]
|
||||
[uxbox.main.data.messages :as udm]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.navigation :as nav]))
|
||||
[uxbox.util.dom :as dom]))
|
||||
|
||||
;; --- Register Form
|
||||
|
||||
(def form-data (forms/focus-data :register st/state))
|
||||
(def form-errors (forms/focus-errors :register st/state))
|
||||
(def set-value! (partial forms/set-value! :register))
|
||||
(def set-error! (partial forms/set-error! :register))
|
||||
(def set-value! (partial forms/set-value! st/store :register))
|
||||
(def set-error! (partial forms/set-error! st/store :register))
|
||||
|
||||
(def +register-form+
|
||||
{:username [forms/required forms/string]
|
||||
|
@ -94,8 +93,7 @@
|
|||
:value "Register"
|
||||
:type "submit"}]
|
||||
[:div.login-links
|
||||
;; [:a {:on-click #(rt/go :auth/recover-password)} "Forgot your password?"]
|
||||
[:a {:on-click #(rt/go :auth/login)} "Already have an account?"]]]])))
|
||||
[:a {:on-click #(st/emit! (rt/navigate :auth/login))} "Already have an account?"]]]])))
|
||||
|
||||
;; --- Register Page
|
||||
|
||||
|
@ -104,6 +102,6 @@
|
|||
[own]
|
||||
[:div.login
|
||||
[:div.login-body
|
||||
(uum/messages)
|
||||
(messages-widget)
|
||||
[:a i/logo]
|
||||
(register-form)]])
|
||||
|
|
|
@ -8,11 +8,12 @@
|
|||
(ns uxbox.main.ui.dashboard.colors
|
||||
(:require [cuerdas.core :as str]
|
||||
[lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.main.data.colors :as dc]
|
||||
[uxbox.main.data.dashboard :as dd]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.colorpicker :refer (colorpicker)]
|
||||
[uxbox.main.ui.dashboard.header :refer (header)]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
@ -22,8 +23,7 @@
|
|||
[uxbox.util.dom :as dom]
|
||||
[uxbox.util.i18n :as t :refer (tr)]
|
||||
[uxbox.util.lens :as ul]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[potok.core :as ptk]))
|
||||
[uxbox.util.mixins :as mx :include-macros true]))
|
||||
|
||||
;; --- Refs
|
||||
|
||||
|
@ -332,7 +332,7 @@
|
|||
colls (mx/react collections-ref)
|
||||
coll (get colls (:id state))]
|
||||
[:main.dashboard-main
|
||||
(uum/messages)
|
||||
(messages-widget)
|
||||
(header)
|
||||
[:section.dashboard-content
|
||||
(nav state colls)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
(ns uxbox.main.ui.dashboard.header
|
||||
(:require [lentes.core :as l]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.projects :as dp]
|
||||
[uxbox.main.ui.navigation :as nav]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(ns uxbox.main.ui.dashboard.icons
|
||||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.data.icons :as di]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
(:require [cuerdas.core :as str]
|
||||
[lentes.core :as l]
|
||||
[uxbox.util.i18n :as t :refer (tr)]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.data.images :as di]
|
||||
|
|
|
@ -8,21 +8,21 @@
|
|||
(ns uxbox.main.ui.dashboard.projects
|
||||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.data.projects :as udp]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.dashboard.header :refer (header)]
|
||||
[uxbox.main.ui.dashboard.header :refer [header]]
|
||||
[uxbox.main.ui.dashboard.projects-createlightbox]
|
||||
[uxbox.main.ui.lightbox :as lbx]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.keyboard :as kbd]
|
||||
[uxbox.main.exports :as exports]
|
||||
[uxbox.util.i18n :as t :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.util.data :refer (read-string)]
|
||||
[uxbox.util.data :refer [read-string]]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.util.blob :as blob]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
|
@ -241,7 +241,7 @@
|
|||
(let [state (mx/react dashboard-ref)
|
||||
projects-map (mx/react projects-map-ref)]
|
||||
[:main.dashboard-main
|
||||
(uum/messages)
|
||||
(messages-widget)
|
||||
(header)
|
||||
[:section.dashboard-content
|
||||
(menu state projects-map)
|
||||
|
|
|
@ -9,20 +9,19 @@
|
|||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.exports :as exports]
|
||||
[uxbox.main.data.projects :as udp]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.dashboard.header :refer (header)]
|
||||
[uxbox.main.ui.dashboard.header :refer [header]]
|
||||
[uxbox.main.ui.lightbox :as lbx]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.keyboard :as kbd]
|
||||
[uxbox.util.i18n :as t :refer (tr)]
|
||||
[uxbox.util.i18n :as t :refer [tr]]
|
||||
[uxbox.util.router :as r]
|
||||
[uxbox.util.forms :as forms]
|
||||
[uxbox.util.data :refer (read-string)]
|
||||
[uxbox.util.data :refer [read-string]]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.util.blob :as blob]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
|
@ -30,9 +29,9 @@
|
|||
|
||||
(def form-data (forms/focus-data :create-project st/state))
|
||||
(def form-errors (forms/focus-errors :create-project st/state))
|
||||
(def set-value! (partial forms/set-value! :create-project))
|
||||
(def set-error! (partial forms/set-error! :create-project))
|
||||
(def clear! (partial forms/clear! :create-project))
|
||||
(def set-value! (partial forms/set-value! st/store :create-project))
|
||||
(def set-error! (partial forms/set-error! st/store :create-project))
|
||||
(def clear! (partial forms/clear! st/store :create-project))
|
||||
|
||||
(def ^:private create-project-form
|
||||
{:name [forms/required forms/string]
|
||||
|
@ -74,7 +73,7 @@
|
|||
|
||||
(mx/defcs new-project-lightbox
|
||||
{:mixins [mx/static mx/reactive
|
||||
(forms/clear-mixin :create-project)]}
|
||||
(forms/clear-mixin st/store :create-project)]}
|
||||
[own]
|
||||
(let [data (merge c/project-defaults (mx/react form-data))
|
||||
errors (mx/react form-errors)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [sablono.core :as html :refer-macros [html]]
|
||||
[rum.core :as rum]
|
||||
[lentes.core :as l]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.main.ui.keyboard :as k]
|
||||
|
|
|
@ -2,27 +2,17 @@
|
|||
;; 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>
|
||||
;; Copyright (c) 2016-2017 Andrey Antukh <niwi@niwi.nz>
|
||||
|
||||
(ns uxbox.main.ui.loader
|
||||
(:require [sablono.core :refer-macros [html]]
|
||||
[rum.core :as rum]
|
||||
[uxbox.store :as st]
|
||||
(:require [uxbox.main.store :as st]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.main.ui.shapes]))
|
||||
[uxbox.util.mixins :as mx :include-macros true]))
|
||||
|
||||
;; --- Component
|
||||
|
||||
(defn loader-render
|
||||
[own]
|
||||
(mx/defc loader
|
||||
{:mixins [mx/reactive mx/static]}
|
||||
[]
|
||||
(when (mx/react st/loader)
|
||||
(html
|
||||
[:div.loader-content i/loader])))
|
||||
|
||||
(def loader
|
||||
(mx/component
|
||||
{:render loader-render
|
||||
:name "loader"
|
||||
:mixins [mx/reactive mx/static]}))
|
||||
|
||||
[:div.loader-content i/loader]))
|
||||
|
|
|
@ -1,91 +1,16 @@
|
|||
(ns uxbox.main.ui.messages
|
||||
(:require [sablono.core :as html :refer-macros [html]]
|
||||
[rum.core :as rum]
|
||||
[lentes.core :as l]
|
||||
[uxbox.store :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]))
|
||||
|
||||
;; --- Lenses
|
||||
(:require [lentes.core :as l]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.util.messages :as uum]
|
||||
[uxbox.util.mixins :as mx :include-macros true]))
|
||||
|
||||
(def ^:private message-ref
|
||||
(-> (l/key :message)
|
||||
(l/derive st/state)))
|
||||
|
||||
;; --- Notification Component
|
||||
|
||||
(defn notification-render
|
||||
[own {:keys [type] :as message}]
|
||||
(let [classes (classnames :error (= type :error)
|
||||
:info (= type :info)
|
||||
:hide-message (= (:state message) :hide)
|
||||
:quick true)
|
||||
close #(udm/close!)]
|
||||
(html
|
||||
[:div.message {:class classes}
|
||||
[:div.message-body
|
||||
[:span.close {:on-click close}
|
||||
i/close]
|
||||
[:span (:content message)]]])))
|
||||
|
||||
(def ^:private notification-box
|
||||
(mx/component
|
||||
{:render notification-render
|
||||
:name "notification"
|
||||
:mixins [mx/static]}))
|
||||
|
||||
;; --- Dialog Component
|
||||
|
||||
(defn dialog-render
|
||||
[own {:keys [on-accept on-cancel] :as message}]
|
||||
(let [classes (classnames :info true
|
||||
:hide-message (= (:state message) :hide))]
|
||||
(letfn [(accept [event]
|
||||
(dom/prevent-default event)
|
||||
(on-accept)
|
||||
(ts/schedule 0 udm/close!))
|
||||
|
||||
(cancel [event]
|
||||
(dom/prevent-default event)
|
||||
(when on-cancel
|
||||
(on-cancel))
|
||||
(ts/schedule 0 udm/close!))]
|
||||
(html
|
||||
[:div.message {:class classes}
|
||||
[:div.message-body
|
||||
[:span.close {:on-click cancel} i/close]
|
||||
[:span (:content message)]
|
||||
[:div.message-action
|
||||
[:a.btn-transparent.btn-small
|
||||
{:on-click accept}
|
||||
"Accept"]
|
||||
[:a.btn-transparent.btn-small
|
||||
{:on-click cancel}
|
||||
"Cancel"]]]]))))
|
||||
|
||||
(def ^:private dialog-box
|
||||
(mx/component
|
||||
{:render dialog-render
|
||||
:name "dialog"
|
||||
:mixins [mx/static]}))
|
||||
|
||||
;; --- Main Component (entry point)
|
||||
|
||||
(defn messages-render
|
||||
[own]
|
||||
(let [message (mx/react message-ref)]
|
||||
(case (:type message)
|
||||
:error (notification-box message)
|
||||
:info (notification-box message)
|
||||
:dialog (dialog-box message)
|
||||
nil)))
|
||||
|
||||
(def messages
|
||||
(mx/component
|
||||
{:render messages-render
|
||||
:name "messages"
|
||||
:mixins [mx/static mx/reactive]}))
|
||||
(mx/defc messages-widget
|
||||
{:mixins [mx/static mx/reactive]}
|
||||
[]
|
||||
(let [message (mx/react message-ref)
|
||||
on-close #(st/emit! (uum/hide))]
|
||||
(uum/messages-widget (assoc message :on-close on-close))))
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.projects :as dp]
|
||||
[uxbox.main.ui.navigation :as nav]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -8,21 +8,21 @@
|
|||
(ns uxbox.main.ui.settings.password
|
||||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.util.i18n :as t :refer (tr)]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.util.forms :as forms]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.users :as udu]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.settings.header :refer (header)]))
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.settings.header :refer [header]]
|
||||
[uxbox.util.forms :as forms]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.util.mixins :as mx :include-macros true]))
|
||||
|
||||
|
||||
(def form-data (forms/focus-data :profile-password st/state))
|
||||
(def form-errors (forms/focus-errors :profile-password st/state))
|
||||
(def set-value! (partial forms/set-value! :profile-password))
|
||||
(def set-errors! (partial forms/set-errors! :profile-password))
|
||||
(def set-value! (partial forms/set-value! st/store :profile-password))
|
||||
(def set-errors! (partial forms/set-errors! st/store :profile-password))
|
||||
|
||||
(def +password-form+
|
||||
[[:password-1 forms/required forms/string [forms/min-len 6]]
|
||||
|
@ -42,7 +42,6 @@
|
|||
(on-submit [event]
|
||||
(println "on-submit" data)
|
||||
#_(st/emit! (udu/update-password form)))]
|
||||
(println "password-form" data)
|
||||
[:form.password-form
|
||||
[:span.user-settings-label "Change password"]
|
||||
[:input.input-text
|
||||
|
@ -79,8 +78,8 @@
|
|||
{:mixins [mx/static]}
|
||||
[]
|
||||
[:main.dashboard-main
|
||||
(messages-widget)
|
||||
(header)
|
||||
(uum/messages)
|
||||
[:section.dashboard-content.user-settings
|
||||
[:section.user-settings-content
|
||||
(password-form)]]])
|
||||
|
|
|
@ -2,28 +2,30 @@
|
|||
;; 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>
|
||||
;; Copyright (c) 2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>
|
||||
;; Copyright (c) 2016-2017 Andrey Antukh <niwi@niwi.nz>
|
||||
;; Copyright (c) 2016-2017 Juan de la Cruz <delacruzgarciajuan@gmail.com>
|
||||
|
||||
(ns uxbox.main.ui.settings.profile
|
||||
(:require [cuerdas.core :as str]
|
||||
[lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.settings.header :refer [header]]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.data.users :as udu]
|
||||
[uxbox.util.forms :as forms]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.interop :refer (iterable->seq)]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.settings.header :refer (header)]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.data.users :as udu]))
|
||||
[uxbox.util.interop :refer [iterable->seq]]
|
||||
[uxbox.util.dom :as dom]))
|
||||
|
||||
|
||||
(def form-data (forms/focus-data :profile st/state))
|
||||
(def form-errors (forms/focus-errors :profile st/state))
|
||||
(def set-value! (partial forms/set-value! :profile))
|
||||
(def set-error! (partial forms/set-error! :profile))
|
||||
(def set-value! (partial forms/set-value! st/store :profile))
|
||||
(def set-error! (partial forms/set-error! st/store :profile))
|
||||
(def clear! (partial forms/clear! st/store :profile))
|
||||
|
||||
(def profile-ref
|
||||
(-> (l/key :profile)
|
||||
|
@ -37,8 +39,8 @@
|
|||
;; --- Profile Form
|
||||
|
||||
(mx/defc profile-form
|
||||
{:mixins [mx/static mx/reactive]
|
||||
:will-unmount (forms/cleaner-fn :profile)}
|
||||
{:mixins [mx/static mx/reactive
|
||||
(forms/clear-mixin st/store :profile)]}
|
||||
[]
|
||||
;; TODO: properly persist theme
|
||||
(let [data (merge {:theme "light"}
|
||||
|
@ -56,10 +58,8 @@
|
|||
(set-error! :email "Email already exists")
|
||||
:uxbox.services.users/username-already-exists
|
||||
(set-error! :username "Username already exists")))
|
||||
(on-success []
|
||||
(forms/clear! :profile))
|
||||
(on-submit [event]
|
||||
(st/emit! (udu/update-profile data on-success on-error)))]
|
||||
(st/emit! (udu/update-profile data clear! on-error)))]
|
||||
[:form.profile-form
|
||||
[:span.user-settings-label "Name, username and email"]
|
||||
[:input.input-text
|
||||
|
@ -142,8 +142,8 @@
|
|||
{:mixins [mx/static]}
|
||||
[]
|
||||
[:main.dashboard-main
|
||||
(messages-widget)
|
||||
(header)
|
||||
(uum/messages)
|
||||
[:section.dashboard-content.user-settings
|
||||
[:section.user-settings-content
|
||||
[:span.user-settings-label "Your avatar"]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(:require [lentes.core :as l]
|
||||
[beicon.core :as rx]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.streams :as streams]
|
||||
[uxbox.main.geom :as geom]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
(ns uxbox.main.ui.shapes.group
|
||||
(:require [lentes.core :as l]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.geom :as geom]
|
||||
[uxbox.main.ui.shapes.common :as common]
|
||||
[uxbox.main.ui.shapes.attrs :as attrs]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(:require [beicon.core :as rx]
|
||||
[lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.ui.shapes.common :as common]
|
||||
[uxbox.main.ui.shapes.attrs :as attrs]
|
||||
[uxbox.main.data.images :as udi]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
(ns uxbox.main.ui.shapes.path
|
||||
(:require [potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.ui.shapes.common :as common]
|
||||
[uxbox.main.ui.shapes.attrs :as attrs]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
(:require [lentes.core :as l]
|
||||
[beicon.core :as rx]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.streams :as streams]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
[lentes.core :as l]
|
||||
[goog.events :as events]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.geom :as geom]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.ui.shapes.common :as common]
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
(ns uxbox.main.ui.users
|
||||
(:require [cuerdas.core :as str]
|
||||
[lentes.core :as l]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.auth :as da]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.main.ui.navigation :as nav]
|
||||
[uxbox.util.router :as rt]
|
||||
[uxbox.util.mixins :as mx :include-macros true]))
|
||||
|
||||
;; --- User Menu
|
||||
|
@ -22,13 +22,13 @@
|
|||
{:mixins [mx/static]}
|
||||
[open?]
|
||||
[:ul.dropdown {:class (when-not open? "hide")}
|
||||
[:li {:on-click #(r/go :settings/profile)}
|
||||
[:li {:on-click #(st/emit! (rt/navigate :settings/profile))}
|
||||
i/user
|
||||
[:span "Profile"]]
|
||||
[:li {:on-click #(r/go :settings/password)}
|
||||
[:li {:on-click #(st/emit! (rt/navigate :settings/password))}
|
||||
i/lock
|
||||
[:span "Password"]]
|
||||
[:li {:on-click #(r/go :settings/notifications)}
|
||||
[:li {:on-click #(st/emit! (rt/navigate :settings/notifications))}
|
||||
i/mail
|
||||
[:span "Notifications"]]
|
||||
[:li {:on-click #(st/emit! (da/logout))}
|
||||
|
@ -38,8 +38,8 @@
|
|||
;; --- User Widget
|
||||
|
||||
(def profile-ref
|
||||
(as-> (l/key :profile) $
|
||||
(l/derive $ st/state)))
|
||||
(-> (l/key :profile)
|
||||
(l/derive st/state)))
|
||||
|
||||
(mx/defcs user
|
||||
{:mixins [mx/static mx/reactive (mx/local {:open false})]}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(ns uxbox.main.ui.workspace
|
||||
(:require [beicon.core :as rx]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.streams :as streams]
|
||||
|
@ -16,7 +16,7 @@
|
|||
[uxbox.main.data.pages :as udp]
|
||||
[uxbox.main.data.history :as udh]
|
||||
[uxbox.main.data.undo :as udu]
|
||||
[uxbox.main.ui.messages :as uum]
|
||||
[uxbox.main.ui.messages :refer [messages-widget]]
|
||||
[uxbox.main.ui.confirm]
|
||||
[uxbox.main.ui.workspace.images]
|
||||
[uxbox.main.ui.keyboard :as kbd]
|
||||
|
@ -121,9 +121,9 @@
|
|||
:no-tool-bar-left (not left-sidebar?)
|
||||
:scrolling (:viewport-positionig workspace))]
|
||||
[:div
|
||||
(messages-widget)
|
||||
(header)
|
||||
(colorpalette)
|
||||
(uum/messages)
|
||||
|
||||
[:main.main-content
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[lentes.core :as l]
|
||||
[goog.events :as events]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.streams :as streams]
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
(ns uxbox.main.ui.workspace.clipboard
|
||||
(:require [lentes.core :as l]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
(:require [beicon.core :as rx]
|
||||
[lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.workspace :as dw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(ns uxbox.main.ui.workspace.colorpicker
|
||||
(:require [lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.geom :as geom]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[beicon.core :as rx]
|
||||
[potok.core :as ptk]
|
||||
[lentes.core :as l]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.exports :as exports]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[potok.core :as ptk]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.rlocks :as rlocks]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.streams :as streams]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[uxbox.config :as cfg]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.workspace :as dw]
|
||||
[uxbox.main.data.history :as udh]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.util.data :as data :refer (read-string)]
|
||||
[uxbox.util.dom :as dom]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.data.images :as udi]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(ns uxbox.main.ui.workspace.recent-colors
|
||||
(:require [lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.workspace :as dw]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[rum.core :as rum]
|
||||
[cuerdas.core :as str]
|
||||
[beicon.core :as rx]
|
||||
[uxbox.store :as s]
|
||||
[uxbox.main.store :as s]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.streams :as streams]
|
||||
[uxbox.util.dom :as dom]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"Mouse selection interaction and component."
|
||||
(:require [beicon.core :as rx]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.streams :as streams]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
(:require [goog.events :as events]
|
||||
[beicon.core :as rx]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.data.workspace :as dw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(ns uxbox.main.ui.workspace.sidebar
|
||||
(:require [lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.ui.workspace.sidebar.options :refer (options-toolbox)]
|
||||
[uxbox.main.ui.workspace.sidebar.layers :refer (layers-toolbox)]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
(:require [sablono.core :as html :refer-macros [html]]
|
||||
[lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.workspace :as dw]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -10,12 +10,11 @@
|
|||
[rum.core :as rum]
|
||||
[lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.workspace :as dw]
|
||||
[uxbox.main.data.pages :as udp]
|
||||
[uxbox.main.data.history :as udh]
|
||||
[uxbox.main.data.messages :as udm]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
(:require [lentes.core :as l]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.lenses :as ul]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.data.icons :as udi]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[cuerdas.core :as str]
|
||||
[goog.events :as events]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.util.mixins :as mx :include-macros true]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.ui.workspace.sidebar.sitemap :refer (pages-ref)]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
(:require [lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.pages :as udp]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
[uxbox.main.data.lightbox :as udl]
|
||||
[uxbox.main.ui.icons :as i]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(ns uxbox.main.ui.workspace.sidebar.options.text
|
||||
(:require [lentes.core :as l]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.geom :as geom]
|
||||
[uxbox.main.data.workspace :as udw]
|
||||
[uxbox.main.data.shapes :as uds]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.store :as st]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.refs :as refs]
|
||||
[uxbox.main.data.projects :as dp]
|
||||
[uxbox.main.data.pages :as udp]
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
(ns uxbox.main.ui.workspace.sidebar.sitemap-pageform
|
||||
(:require [lentes.core :as l]
|
||||
[cuerdas.core :as str]
|
||||
[uxbox.store :as st]
|
||||
[potok.core :as ptk]
|
||||
[uxbox.main.store :as st]
|
||||
[uxbox.main.constants :as c]
|
||||
[uxbox.main.data.pages :as udp]
|
||||
[uxbox.main.data.workspace :as dw]
|
||||
|
@ -17,14 +18,13 @@
|
|||
[uxbox.main.ui.lightbox :as lbx]
|
||||
[uxbox.util.i18n :refer (tr)]
|
||||
[uxbox.util.router :as r]
|
||||
[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)]
|
||||
[uxbox.util.dom :as dom]))
|
||||
|
||||
(def form-data (forms/focus-data :workspace-page-form st/state))
|
||||
(def set-value! (partial forms/set-value! :workspace-page-form))
|
||||
(def set-value! (partial forms/set-value! st/store :workspace-page-form))
|
||||
|
||||
;; --- Lightbox
|
||||
|
||||
|
@ -118,10 +118,7 @@
|
|||
:type "button"}])])))
|
||||
|
||||
(mx/defc page-form-lightbox
|
||||
{:mixins [mx/static]
|
||||
:will-unmount (fn [own]
|
||||
(forms/clear! :workspace-page-form)
|
||||
own)}
|
||||
{:mixins [mx/static (forms/clear-mixin st/store :workspace-page-form)]}
|
||||
[{:keys [id] :as page}]
|
||||
(letfn [(on-cancel [event]
|
||||
(dom/prevent-default event)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue