♻️ Make the namespacing independent of the branding.

This commit is contained in:
Andrey Antukh 2020-08-18 19:26:37 +02:00
parent aaf8b71837
commit 6c67c3c71b
305 changed files with 2399 additions and 2580 deletions

View file

@ -7,8 +7,8 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.config
(:require [uxbox.util.object :as obj]))
(ns app.config
(:require [app.util.object :as obj]))
(this-as global
(def default-language "en")

View file

@ -7,26 +7,26 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main
(ns app.main
(:require
[hashp.core :include-macros true]
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[rumext.alpha :as mf]
[uxbox.common.uuid :as uuid]
[uxbox.main.data.auth :refer [logout]]
[uxbox.main.data.users :as udu]
[uxbox.main.store :as st]
[uxbox.main.ui :as ui]
[uxbox.main.ui.modal :refer [modal]]
[uxbox.main.worker]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n]
[uxbox.util.theme :as theme]
[uxbox.util.router :as rt]
[uxbox.util.object :as obj]
[uxbox.util.storage :refer [storage]]
[uxbox.util.timers :as ts]))
[app.common.uuid :as uuid]
[app.main.data.auth :refer [logout]]
[app.main.data.users :as udu]
[app.main.store :as st]
[app.main.ui :as ui]
[app.main.ui.modal :refer [modal]]
[app.main.worker]
[app.util.dom :as dom]
[app.util.i18n :as i18n]
[app.util.theme :as theme]
[app.util.router :as rt]
[app.util.object :as obj]
[app.util.storage :refer [storage]]
[app.util.timers :as ts]))
(declare reinit)

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2015-2016 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.constants)
(ns app.main.constants)
(def viewport-width 4000)
(def viewport-height 4000)

View file

@ -7,19 +7,19 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.auth
(ns app.main.data.auth
(:require
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[potok.core :as ptk]
[uxbox.common.spec :as us]
[uxbox.main.repo :as rp]
[uxbox.main.store :refer [initial-state]]
[uxbox.main.data.users :as du]
[uxbox.main.data.messages :as dm]
[uxbox.util.router :as rt]
[uxbox.util.i18n :as i18n :refer [tr]]
[uxbox.util.storage :refer [storage]]))
[app.common.spec :as us]
[app.main.repo :as rp]
[app.main.store :refer [initial-state]]
[app.main.data.users :as du]
[app.main.data.messages :as dm]
[app.util.router :as rt]
[app.util.i18n :as i18n :refer [tr]]
[app.util.storage :refer [storage]]))
(s/def ::email ::us/email)
(s/def ::password string?)
@ -156,7 +156,7 @@
(def request-account-deletion
(letfn [(on-error [{:keys [code] :as error}]
(if (= :uxbox.services.mutations.profile/owner-teams-with-people code)
(if (= :app.services.mutations.profile/owner-teams-with-people code)
(let [msg (tr "settings.notifications.profile-deletion-not-allowed")]
(rx/of (dm/error msg)))
(rx/empty)))]

View file

@ -4,21 +4,21 @@
;;
;; Copyright (c) 2015-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.data.colors
(ns app.main.data.colors
(:require
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[clojure.set :as set]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.spec :as us]
[uxbox.main.repo :as rp]
[uxbox.main.store :as st]
[uxbox.util.color :as color]
[uxbox.util.i18n :refer [tr]]
[uxbox.util.router :as rt]
[uxbox.util.time :as dt]
[uxbox.common.uuid :as uuid]))
[app.common.data :as d]
[app.common.spec :as us]
[app.main.repo :as rp]
[app.main.store :as st]
[app.util.color :as color]
[app.util.i18n :refer [tr]]
[app.util.router :as rt]
[app.util.time :as dt]
[app.common.uuid :as uuid]))
(declare create-color-result)

View file

@ -4,20 +4,20 @@
;;
;; Copyright (c) 2015-2016 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.data.dashboard
(ns app.main.data.dashboard
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.pages :as cp]
[uxbox.common.spec :as us]
[uxbox.main.repo :as rp]
[uxbox.util.router :as rt]
[uxbox.util.time :as dt]
[uxbox.util.timers :as ts]
[uxbox.common.uuid :as uuid]))
[app.common.data :as d]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.main.repo :as rp]
[app.util.router :as rt]
[app.util.time :as dt]
[app.util.timers :as ts]
[app.common.uuid :as uuid]))
;; --- Specs

View file

@ -4,15 +4,15 @@
;;
;; Copyright (c) 2016-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.data.history
(ns app.main.data.history
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[potok.core :as ptk]
[uxbox.common.spec :as us]
[uxbox.common.pages :as cp]
[uxbox.main.repo :as rp]
[uxbox.util.data :refer [replace-by-id index-by]]))
[app.common.spec :as us]
[app.common.pages :as cp]
[app.main.repo :as rp]
[app.util.data :refer [replace-by-id index-by]]))
;; --- Schema

View file

@ -4,24 +4,24 @@
;;
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.data.media
(ns app.main.data.media
(:require
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[beicon.core :as rx]
[potok.core :as ptk]
[uxbox.common.spec :as us]
[uxbox.common.data :as d]
[uxbox.common.media :as cm]
[uxbox.main.data.messages :as dm]
[uxbox.main.store :as st]
[uxbox.main.repo :as rp]
[uxbox.util.i18n :refer [tr]]
[uxbox.util.router :as rt]
[uxbox.common.uuid :as uuid]
[uxbox.util.time :as ts]
[uxbox.util.router :as r]
[uxbox.util.files :as files]))
[app.common.spec :as us]
[app.common.data :as d]
[app.common.media :as cm]
[app.main.data.messages :as dm]
[app.main.store :as st]
[app.main.repo :as rp]
[app.util.i18n :refer [tr]]
[app.util.router :as rt]
[app.common.uuid :as uuid]
[app.util.time :as ts]
[app.util.router :as r]
[app.util.files :as files]))
;; --- Specs

View file

@ -7,16 +7,16 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.messages
(ns app.main.data.messages
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.exceptions :as ex]
[uxbox.common.pages :as cp]
[uxbox.common.spec :as us]
[uxbox.config :as cfg]))
[app.common.data :as d]
[app.common.exceptions :as ex]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.config :as cfg]))
(declare hide)
(declare show)

View file

@ -4,23 +4,23 @@
;;
;; Copyright (c) 2016-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.data.users
(ns app.main.data.users
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[potok.core :as ptk]
[uxbox.common.spec :as us]
[uxbox.config :as cfg]
[uxbox.main.store :as st]
[uxbox.main.repo :as rp]
[uxbox.main.data.messages :as dm]
[uxbox.main.data.media :as di]
[uxbox.util.router :as rt]
[uxbox.util.i18n :as i18n :refer [tr]]
[uxbox.util.storage :refer [storage]]
[uxbox.util.avatars :as avatars]
[uxbox.util.theme :as theme]))
[app.common.spec :as us]
[app.config :as cfg]
[app.main.store :as st]
[app.main.repo :as rp]
[app.main.data.messages :as dm]
[app.main.data.media :as di]
[app.util.router :as rt]
[app.util.i18n :as i18n :refer [tr]]
[app.util.storage :refer [storage]]
[app.util.avatars :as avatars]
[app.util.theme :as theme]))
;; --- Common Specs

View file

@ -7,20 +7,20 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.viewer
(ns app.main.data.viewer
(:require
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[potok.core :as ptk]
[uxbox.main.constants :as c]
[uxbox.main.repo :as rp]
[uxbox.main.store :as st]
[uxbox.common.spec :as us]
[uxbox.common.pages :as cp]
[uxbox.common.data :as d]
[uxbox.common.exceptions :as ex]
[uxbox.util.router :as rt]
[uxbox.common.uuid :as uuid]))
[app.main.constants :as c]
[app.main.repo :as rp]
[app.main.store :as st]
[app.common.spec :as us]
[app.common.pages :as cp]
[app.common.data :as d]
[app.common.exceptions :as ex]
[app.util.router :as rt]
[app.common.uuid :as uuid]))
;; --- Specs

View file

@ -7,38 +7,38 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace
(ns app.main.data.workspace
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[clojure.set :as set]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.exceptions :as ex]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.common.spec :as us]
[uxbox.common.uuid :as uuid]
[uxbox.config :as cfg]
[uxbox.main.constants :as c]
[uxbox.main.data.workspace.common :as dwc]
[uxbox.main.data.workspace.notifications :as dwn]
[uxbox.main.data.workspace.persistence :as dwp]
[uxbox.main.data.workspace.texts :as dwtxt]
[uxbox.main.data.workspace.transforms :as dwt]
[uxbox.main.data.workspace.selection :as dws]
[uxbox.main.repo :as rp]
[uxbox.main.store :as st]
[uxbox.main.streams :as ms]
[uxbox.main.worker :as uw]
[uxbox.common.geom.matrix :as gmt]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.shapes :as geom]
[uxbox.common.math :as mth]
[uxbox.util.timers :as ts]
[uxbox.util.router :as rt]
[uxbox.util.transit :as t]
[uxbox.util.webapi :as wapi]))
[app.common.data :as d]
[app.common.exceptions :as ex]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.common.spec :as us]
[app.common.uuid :as uuid]
[app.config :as cfg]
[app.main.constants :as c]
[app.main.data.workspace.common :as dwc]
[app.main.data.workspace.notifications :as dwn]
[app.main.data.workspace.persistence :as dwp]
[app.main.data.workspace.texts :as dwtxt]
[app.main.data.workspace.transforms :as dwt]
[app.main.data.workspace.selection :as dws]
[app.main.repo :as rp]
[app.main.store :as st]
[app.main.streams :as ms]
[app.main.worker :as uw]
[app.common.geom.matrix :as gmt]
[app.common.geom.point :as gpt]
[app.common.geom.shapes :as geom]
[app.common.math :as mth]
[app.util.timers :as ts]
[app.util.router :as rt]
[app.util.transit :as t]
[app.util.webapi :as wapi]))
;; --- Specs

View file

@ -7,20 +7,20 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.common
(ns app.main.data.workspace.common
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[clojure.set :as set]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.common.spec :as us]
[uxbox.common.uuid :as uuid]
[uxbox.main.worker :as uw]
[uxbox.util.timers :as ts]
[uxbox.common.geom.shapes :as geom]))
[app.common.data :as d]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.common.spec :as us]
[app.common.uuid :as uuid]
[app.main.worker :as uw]
[app.util.timers :as ts]
[app.common.geom.shapes :as geom]))
;; --- Protocols

View file

@ -7,20 +7,20 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.drawing
(ns app.main.data.workspace.drawing
"Drawing interactions."
(:require
[beicon.core :as rx]
[potok.core :as ptk]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.shapes :as geom]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.common.uuid :as uuid]
[uxbox.main.data.workspace :as dw]
[uxbox.main.snap :as snap]
[uxbox.main.streams :as ms]
[uxbox.util.geom.path :as path]))
[app.common.geom.point :as gpt]
[app.common.geom.shapes :as geom]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.common.uuid :as uuid]
[app.main.data.workspace :as dw]
[app.main.snap :as snap]
[app.main.streams :as ms]
[app.util.geom.path :as path]))
(declare handle-drawing)
(declare handle-drawing-generic)

View file

@ -7,13 +7,13 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.grid
(ns app.main.data.workspace.grid
(:require
[beicon.core :as rx]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.spec :as us]
[uxbox.main.data.workspace.common :as dwc]))
[app.common.data :as d]
[app.common.spec :as us]
[app.main.data.workspace.common :as dwc]))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Grid

View file

@ -7,24 +7,24 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.notifications
(ns app.main.data.workspace.notifications
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[clojure.set :as set]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.spec :as us]
[uxbox.main.repo :as rp]
[uxbox.main.store :as st]
[uxbox.main.streams :as ms]
[uxbox.main.data.workspace.common :as dwc]
[uxbox.main.data.workspace.persistence :as dwp]
[uxbox.util.avatars :as avatars]
[uxbox.common.geom.point :as gpt]
[uxbox.util.time :as dt]
[uxbox.util.transit :as t]
[uxbox.util.websockets :as ws]))
[app.common.data :as d]
[app.common.spec :as us]
[app.main.repo :as rp]
[app.main.store :as st]
[app.main.streams :as ms]
[app.main.data.workspace.common :as dwc]
[app.main.data.workspace.persistence :as dwp]
[app.util.avatars :as avatars]
[app.common.geom.point :as gpt]
[app.util.time :as dt]
[app.util.transit :as t]
[app.util.websockets :as ws]))
(declare handle-presence)
(declare handle-pointer-update)

View file

@ -7,27 +7,27 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.persistence
(ns app.main.data.workspace.persistence
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.media :as cm]
[uxbox.common.geom.point :as gpt]
[uxbox.common.pages :as cp]
[uxbox.common.spec :as us]
[uxbox.main.data.dashboard :as dd]
[uxbox.main.data.messages :as dm]
[uxbox.main.data.media :as di]
[uxbox.main.data.workspace.common :as dwc]
[uxbox.main.repo :as rp]
[uxbox.main.store :as st]
[uxbox.util.i18n :as i18n :refer [tr]]
[uxbox.util.object :as obj]
[uxbox.util.router :as rt]
[uxbox.util.time :as dt]
[uxbox.util.transit :as t]))
[app.common.data :as d]
[app.common.media :as cm]
[app.common.geom.point :as gpt]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.main.data.dashboard :as dd]
[app.main.data.messages :as dm]
[app.main.data.media :as di]
[app.main.data.workspace.common :as dwc]
[app.main.repo :as rp]
[app.main.store :as st]
[app.util.i18n :as i18n :refer [tr]]
[app.util.object :as obj]
[app.util.router :as rt]
[app.util.time :as dt]
[app.util.transit :as t]))
(declare persist-changes)
(declare update-selection-index)

View file

@ -7,22 +7,22 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.selection
(ns app.main.data.workspace.selection
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.shapes :as geom]
[uxbox.common.math :as mth]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.common.spec :as us]
[uxbox.common.uuid :as uuid]
[uxbox.main.data.workspace.common :as dwc]
[uxbox.main.streams :as ms]
[uxbox.main.worker :as uw]))
[app.common.data :as d]
[app.common.geom.point :as gpt]
[app.common.geom.shapes :as geom]
[app.common.math :as mth]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.common.spec :as us]
[app.common.uuid :as uuid]
[app.main.data.workspace.common :as dwc]
[app.main.streams :as ms]
[app.main.worker :as uw]))
(s/def ::set-of-uuid
(s/every uuid? :kind set?))

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.texts
(ns app.main.data.workspace.texts
(:require
["slate" :as slate :refer [Editor Node Transforms Text]]
["slate-react" :as rslate]
@ -16,10 +16,10 @@
[clojure.walk :as walk]
[goog.object :as gobj]
[potok.core :as ptk]
[uxbox.common.geom.shapes :as geom]
[uxbox.main.data.workspace.common :as dwc]
[uxbox.main.fonts :as fonts]
[uxbox.util.object :as obj]))
[app.common.geom.shapes :as geom]
[app.main.data.workspace.common :as dwc]
[app.main.fonts :as fonts]
[app.util.object :as obj]))
(defn create-editor
[]

View file

@ -7,26 +7,26 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.data.workspace.transforms
(ns app.main.data.workspace.transforms
"Events related with shapes transformations"
(:require
[beicon.core :as rx]
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[potok.core :as ptk]
[uxbox.common.data :as d]
[uxbox.common.spec :as us]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.main.data.workspace.common :as dwc]
[uxbox.main.data.workspace.selection :as dws]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.streams :as ms]
[uxbox.common.geom.matrix :as gmt]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.shapes :as gsh]
[uxbox.main.snap :as snap]))
[app.common.data :as d]
[app.common.spec :as us]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.main.data.workspace.common :as dwc]
[app.main.data.workspace.selection :as dws]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.streams :as ms]
[app.common.geom.matrix :as gmt]
[app.common.geom.point :as gpt]
[app.common.geom.shapes :as gsh]
[app.main.snap :as snap]))
;; -- Declarations

View file

@ -7,25 +7,25 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.exports
(ns app.main.exports
"The main logic for SVG export functionality."
(:require
[rumext.alpha :as mf]
[uxbox.common.uuid :as uuid]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.common.math :as mth]
[uxbox.common.geom.shapes :as geom]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.matrix :as gmt]
[uxbox.main.ui.shapes.frame :as frame]
[uxbox.main.ui.shapes.circle :as circle]
[uxbox.main.ui.shapes.icon :as icon]
[uxbox.main.ui.shapes.image :as image]
[uxbox.main.ui.shapes.path :as path]
[uxbox.main.ui.shapes.rect :as rect]
[uxbox.main.ui.shapes.text :as text]
[uxbox.main.ui.shapes.group :as group]))
[app.common.uuid :as uuid]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.common.math :as mth]
[app.common.geom.shapes :as geom]
[app.common.geom.point :as gpt]
[app.common.geom.matrix :as gmt]
[app.main.ui.shapes.frame :as frame]
[app.main.ui.shapes.circle :as circle]
[app.main.ui.shapes.icon :as icon]
[app.main.ui.shapes.image :as image]
[app.main.ui.shapes.path :as path]
[app.main.ui.shapes.rect :as rect]
[app.main.ui.shapes.text :as text]
[app.main.ui.shapes.group :as group]))
(def ^:private default-color "#E8E9EA") ;; $color-canvas

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.fonts
(ns app.main.fonts
"A fonts loading macros."
(:require
[cuerdas.core :as str]

View file

@ -7,17 +7,17 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.fonts
(ns app.main.fonts
"Fonts management and loading logic."
(:require-macros [uxbox.main.fonts :refer [preload-gfonts]])
(:require-macros [app.main.fonts :refer [preload-gfonts]])
(:require
[beicon.core :as rx]
[promesa.core :as p]
[okulary.core :as l]
[cuerdas.core :as str]
[uxbox.util.dom :as dom]
[uxbox.util.timers :as ts]
[uxbox.common.data :as d]
[app.util.dom :as dom]
[app.util.timers :as ts]
[app.common.data :as d]
[clojure.set :as set]))
(def google-fonts

View file

@ -7,16 +7,16 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.refs
(ns app.main.refs
"A collection of derived refs."
(:require
[beicon.core :as rx]
[okulary.core :as l]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.common.uuid :as uuid]
[uxbox.main.constants :as c]
[uxbox.main.store :as st]))
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.common.uuid :as uuid]
[app.main.constants :as c]
[app.main.store :as st]))
;; ---- Global refs

View file

@ -7,12 +7,12 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.repo
(ns app.main.repo
(:require
[beicon.core :as rx]
[cuerdas.core :as str]
[uxbox.config :as cfg]
[uxbox.util.http-api :as http]))
[app.config :as cfg]
[app.util.http-api :as http]))
(defn- handle-response
[response]

View file

@ -7,18 +7,18 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.snap
(ns app.main.snap
(:require
[clojure.set :as set]
[beicon.core :as rx]
[uxbox.common.uuid :refer [zero]]
[uxbox.common.math :as mth]
[uxbox.common.data :as d]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.shapes :as gsh]
[uxbox.main.worker :as uw]
[uxbox.main.refs :as refs]
[uxbox.util.geom.snap-points :as sp]))
[app.common.uuid :refer [zero]]
[app.common.math :as mth]
[app.common.data :as d]
[app.common.geom.point :as gpt]
[app.common.geom.shapes :as gsh]
[app.main.worker :as uw]
[app.main.refs :as refs]
[app.util.geom.snap-points :as sp]))
(def ^:private snap-accuracy 5)
(def ^:private snap-distance-accuracy 10)

View file

@ -4,14 +4,14 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.store
(ns app.main.store
(:require
[beicon.core :as rx]
[okulary.core :as l]
[potok.core :as ptk]
[uxbox.common.uuid :as uuid]
[uxbox.util.storage :refer [storage]]
[uxbox.util.debug :refer [debug? logjs]]))
[app.common.uuid :as uuid]
[app.util.storage :refer [storage]]
[app.util.debug :refer [debug? logjs]]))
(enable-console-print!)

View file

@ -4,13 +4,13 @@
;;
;; Copyright (c) 2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.streams
(ns app.main.streams
"User interaction events and streams."
(:require
[beicon.core :as rx]
[uxbox.main.store :as st]
[uxbox.main.refs :as refs]
[uxbox.common.geom.point :as gpt]))
[app.main.store :as st]
[app.main.refs :as refs]
[app.common.geom.point :as gpt]))
;; --- User Events

View file

@ -7,31 +7,31 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui
(ns app.main.ui
(:require
[beicon.core :as rx]
[cuerdas.core :as str]
[potok.core :as ptk]
[rumext.alpha :as mf]
[uxbox.common.data :as d]
[uxbox.common.exceptions :as ex]
[uxbox.common.uuid :as uuid]
[uxbox.main.data.auth :refer [logout]]
[uxbox.main.data.messages :as dm]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.auth :refer [auth verify-token]]
[uxbox.main.ui.dashboard :refer [dashboard]]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.cursors :as c]
[uxbox.main.ui.messages :as msgs]
[uxbox.main.ui.settings :as settings]
[uxbox.main.ui.static :refer [not-found-page not-authorized-page]]
[uxbox.main.ui.viewer :refer [viewer-page]]
[uxbox.main.ui.render :as render]
[uxbox.main.ui.workspace :as workspace]
[uxbox.util.i18n :as i18n :refer [tr t]]
[uxbox.util.timers :as ts]))
[app.common.data :as d]
[app.common.exceptions :as ex]
[app.common.uuid :as uuid]
[app.main.data.auth :refer [logout]]
[app.main.data.messages :as dm]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.auth :refer [auth verify-token]]
[app.main.ui.dashboard :refer [dashboard]]
[app.main.ui.icons :as i]
[app.main.ui.cursors :as c]
[app.main.ui.messages :as msgs]
[app.main.ui.settings :as settings]
[app.main.ui.static :refer [not-found-page not-authorized-page]]
[app.main.ui.viewer :refer [viewer-page]]
[app.main.ui.render :as render]
[app.main.ui.workspace :as workspace]
[app.util.i18n :as i18n :refer [tr t]]
[app.util.timers :as ts]))
;; --- Routes

View file

@ -7,25 +7,25 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.auth
(ns app.main.ui.auth
(:require
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.auth :as da]
[uxbox.main.data.users :as du]
[uxbox.main.data.messages :as dm]
[uxbox.main.store :as st]
[uxbox.main.ui.auth.login :refer [login-page]]
[uxbox.main.ui.auth.recovery :refer [recovery-page]]
[uxbox.main.ui.auth.recovery-request :refer [recovery-request-page]]
[uxbox.main.ui.auth.register :refer [register-page]]
[uxbox.main.repo :as rp]
[uxbox.util.timers :as ts]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [tr t]]
[uxbox.util.router :as rt]))
[app.main.ui.icons :as i]
[app.main.data.auth :as da]
[app.main.data.users :as du]
[app.main.data.messages :as dm]
[app.main.store :as st]
[app.main.ui.auth.login :refer [login-page]]
[app.main.ui.auth.recovery :refer [recovery-page]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page]]
[app.main.ui.auth.register :refer [register-page]]
[app.main.repo :as rp]
[app.util.timers :as ts]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [tr t]]
[app.util.router :as rt]))
(mf/defc goodbye-page
[{:keys [locale] :as props}]
@ -83,7 +83,7 @@
nil))
(fn [error]
(case (:code error)
:uxbox.services.mutations.profile/email-already-exists
:app.services.mutations.profile/email-already-exists
(let [msg (tr "errors.email-already-exists")]
(ts/schedule 100 #(st/emit! (dm/error msg)))
(st/emit! (rt/nav :settings-profile)))

View file

@ -7,25 +7,25 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.auth.login
(ns app.main.ui.auth.login
(:require
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[rumext.alpha :as mf]
[uxbox.config :as cfg]
[uxbox.common.spec :as us]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.auth :as da]
[uxbox.main.repo :as rp]
[uxbox.main.store :as st]
[uxbox.main.ui.messages :as msgs]
[uxbox.main.data.messages :as dm]
[uxbox.main.ui.components.forms :refer [input submit-button form]]
[uxbox.util.object :as obj]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :refer [tr t]]
[uxbox.util.router :as rt]))
[app.config :as cfg]
[app.common.spec :as us]
[app.main.ui.icons :as i]
[app.main.data.auth :as da]
[app.main.repo :as rp]
[app.main.store :as st]
[app.main.ui.messages :as msgs]
[app.main.data.messages :as dm]
[app.main.ui.components.forms :refer [input submit-button form]]
[app.util.object :as obj]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :refer [tr t]]
[app.util.router :as rt]))
(s/def ::email ::us/email)
(s/def ::password ::us/not-empty-string)

View file

@ -7,22 +7,22 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.auth.recovery
(ns app.main.ui.auth.recovery
(:require
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.common.spec :as us]
[uxbox.main.data.auth :as uda]
[uxbox.main.data.messages :as dm]
[uxbox.main.store :as st]
[uxbox.main.ui.components.forms :refer [input submit-button form]]
[uxbox.main.ui.navigation :as nav]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [t tr]]
[uxbox.util.router :as rt]))
[app.main.ui.icons :as i]
[app.common.spec :as us]
[app.main.data.auth :as uda]
[app.main.data.messages :as dm]
[app.main.store :as st]
[app.main.ui.components.forms :refer [input submit-button form]]
[app.main.ui.navigation :as nav]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [t tr]]
[app.util.router :as rt]))
(s/def ::password-1 ::fm/not-empty-string)
(s/def ::password-2 ::fm/not-empty-string)

View file

@ -7,22 +7,22 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.auth.recovery-request
(ns app.main.ui.auth.recovery-request
(:require
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.common.spec :as us]
[uxbox.main.data.auth :as uda]
[uxbox.main.data.messages :as dm]
[uxbox.main.store :as st]
[uxbox.main.ui.components.forms :refer [input submit-button form]]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.navigation :as nav]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [tr t]]
[uxbox.util.router :as rt]))
[app.common.spec :as us]
[app.main.data.auth :as uda]
[app.main.data.messages :as dm]
[app.main.store :as st]
[app.main.ui.components.forms :refer [input submit-button form]]
[app.main.ui.icons :as i]
[app.main.ui.navigation :as nav]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [tr t]]
[app.util.router :as rt]))
(s/def ::email ::us/email)
(s/def ::recovery-request-form (s/keys :req-un [::email]))

View file

@ -7,23 +7,23 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.auth.register
(ns app.main.ui.auth.register
(:require
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.config :as cfg]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.auth :as uda]
[uxbox.main.store :as st]
[uxbox.main.data.auth :as da]
[uxbox.main.ui.components.forms :refer [input submit-button form]]
[uxbox.main.ui.navigation :as nav]
[uxbox.main.ui.messages :as msgs]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :refer [tr t]]
[uxbox.util.router :as rt]))
[app.config :as cfg]
[app.main.ui.icons :as i]
[app.main.data.auth :as uda]
[app.main.store :as st]
[app.main.data.auth :as da]
[app.main.ui.components.forms :refer [input submit-button form]]
[app.main.ui.navigation :as nav]
[app.main.ui.messages :as msgs]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :refer [tr t]]
[app.util.router :as rt]))
(mf/defc demo-warning
@ -44,10 +44,10 @@
(defn- on-error
[form error]
(case (:code error)
:uxbox.services.mutations.profile/registration-disabled
:app.services.mutations.profile/registration-disabled
(st/emit! (tr "errors.registration-disabled"))
:uxbox.services.mutations.profile/email-already-exists
:app.services.mutations.profile/email-already-exists
(swap! form assoc-in [:errors :email]
{:message "errors.email-already-exists"})

View file

@ -4,13 +4,13 @@
;;
;; Copyright (c) 2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.colorpicker
(ns app.main.ui.colorpicker
(:require
[okulary.core :as l]
[uxbox.main.store :as st]
[app.main.store :as st]
[goog.object :as gobj]
[rumext.alpha :as mf]
[uxbox.util.color :refer [hex->rgb]]
[app.util.color :refer [hex->rgb]]
["react-color/lib/components/chrome/Chrome" :as pickerskin]))
(mf/defc colorpicker

View file

@ -7,13 +7,13 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.context-menu
(ns app.main.ui.components.context-menu
(:require
[rumext.alpha :as mf]
[goog.object :as gobj]
[uxbox.main.ui.components.dropdown :refer [dropdown']]
[uxbox.common.uuid :as uuid]
[uxbox.util.data :refer [classnames]]))
[app.main.ui.components.dropdown :refer [dropdown']]
[app.common.uuid :as uuid]
[app.util.data :refer [classnames]]))
(mf/defc context-menu
{::mf/wrap-props false}

View file

@ -1,8 +1,8 @@
(ns uxbox.main.ui.components.dropdown
(ns app.main.ui.components.dropdown
(:require
[rumext.alpha :as mf]
[uxbox.common.uuid :as uuid]
[uxbox.util.dom :as dom]
[app.common.uuid :as uuid]
[app.util.dom :as dom]
[goog.events :as events]
[goog.object :as gobj])
(:import goog.events.EventType

View file

@ -7,14 +7,14 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.editable-label
(ns app.main.ui.components.editable-label
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.util.dom :as dom]
[uxbox.util.timers :as timers]
[uxbox.util.data :refer [classnames]]))
[app.main.ui.icons :as i]
[app.main.ui.keyboard :as kbd]
[app.util.dom :as dom]
[app.util.timers :as timers]
[app.util.data :refer [classnames]]))
(mf/defc editable-label
[{:keys [ value on-change on-cancel edit readonly class-name]}]

View file

@ -7,14 +7,14 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.editable-select
(ns app.main.ui.components.editable-select
(:require
[rumext.alpha :as mf]
[uxbox.common.uuid :as uuid]
[uxbox.common.data :as d]
[uxbox.util.dom :as dom]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.components.dropdown :refer [dropdown]]))
[app.common.uuid :as uuid]
[app.common.data :as d]
[app.util.dom :as dom]
[app.main.ui.icons :as i]
[app.main.ui.components.dropdown :refer [dropdown]]))
(mf/defc editable-select [{:keys [value type options class on-change placeholder]}]
(let [state (mf/use-state {:id (uuid/next)

View file

@ -7,12 +7,12 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.file-uploader
(ns app.main.ui.components.file-uploader
(:require
[rumext.alpha :as mf]
[uxbox.main.data.workspace :as dw]
[uxbox.main.store :as st]
[uxbox.util.dom :as dom]))
[app.main.data.workspace :as dw]
[app.main.store :as st]
[app.util.dom :as dom]))
(mf/defc file-uploader
[{:keys [accept multi label-text label-class input-id input-ref on-selected] :as props}]

View file

@ -7,17 +7,17 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.forms
(ns app.main.ui.components.forms
(:require
[rumext.alpha :as mf]
[cuerdas.core :as str]
[uxbox.common.data :as d]
[uxbox.main.ui.icons :as i]
[uxbox.util.object :as obj]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [t]]
[app.common.data :as d]
[app.main.ui.icons :as i]
[app.util.object :as obj]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [t]]
["react" :as react]
[uxbox.util.dom :as dom]))
[app.util.dom :as dom]))
(def form-ctx (mf/create-context nil))

View file

@ -7,12 +7,12 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.select
(ns app.main.ui.components.select
(:require
[rumext.alpha :as mf]
[uxbox.common.uuid :as uuid]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.components.dropdown :refer [dropdown]]))
[app.common.uuid :as uuid]
[app.main.ui.icons :as i]
[app.main.ui.components.dropdown :refer [dropdown]]))
(mf/defc select [{:keys [default-value options class on-change]}]
(let [state (mf/use-state {:id (uuid/next)

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.tab-container
(ns app.main.ui.components.tab-container
(:require [rumext.alpha :as mf]))
(mf/defc tab-element

View file

@ -5,14 +5,14 @@
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
;; Copyright (c) 2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>
(ns uxbox.main.ui.confirm
(ns app.main.ui.confirm
(:require
[uxbox.main.ui.icons :as i]
[app.main.ui.icons :as i]
[rumext.alpha :as mf]
[uxbox.main.ui.modal :as modal]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.data :refer [classnames]]
[uxbox.util.dom :as dom]))
[app.main.ui.modal :as modal]
[app.util.i18n :refer (tr)]
[app.util.data :refer [classnames]]
[app.util.dom :as dom]))
(mf/defc confirm-dialog
[{:keys [message on-accept on-cancel hint cancel-text accept-text not-danger?] :as ctx}]

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.cursors
(ns app.main.ui.cursors
(:import java.net.URLEncoder)
(:require [rumext.alpha]
[clojure.java.io :as io]

View file

@ -7,12 +7,12 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.cursors
(:require-macros [uxbox.main.ui.cursors :refer [cursor-ref
(ns app.main.ui.cursors
(:require-macros [app.main.ui.cursors :refer [cursor-ref
cursor-fn]])
(:require [rumext.alpha :as mf]
[cuerdas.core :as str]
[uxbox.util.timers :as ts]))
[app.util.timers :as ts]))
(def create-artboard (cursor-ref :create-artboard))
(def create-ellipse (cursor-ref :create-ellipse))
@ -40,7 +40,7 @@
(mf/use-effect (fn [] (ts/interval 100 #(reset! rotation inc))))
[:section.debug-icons-preview
(for [[key val] (sort-by first (ns-publics 'uxbox.main.ui.cursors))]
(for [[key val] (sort-by first (ns-publics 'app.main.ui.cursors))]
(when (not= key 'debug-icons-preview)
(let [value (deref val)
value (if (fn? value) (value @rotation) value)]

View file

@ -7,24 +7,24 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.dashboard
(ns app.main.ui.dashboard
(:require
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.common.exceptions :as ex]
[uxbox.common.uuid :as uuid]
[uxbox.common.spec :as us]
[uxbox.main.store :as st]
[uxbox.main.refs :as refs]
[uxbox.main.ui.dashboard.sidebar :refer [sidebar]]
[uxbox.main.ui.dashboard.search :refer [search-page]]
[uxbox.main.ui.dashboard.project :refer [project-page]]
[uxbox.main.ui.dashboard.recent-files :refer [recent-files-page]]
[uxbox.main.ui.dashboard.libraries :refer [libraries-page]]
[uxbox.main.ui.dashboard.profile :refer [profile-section]]
[uxbox.util.router :as rt]
[uxbox.util.i18n :as i18n :refer [t]]))
[app.main.ui.icons :as i]
[app.common.exceptions :as ex]
[app.common.uuid :as uuid]
[app.common.spec :as us]
[app.main.store :as st]
[app.main.refs :as refs]
[app.main.ui.dashboard.sidebar :refer [sidebar]]
[app.main.ui.dashboard.search :refer [search-page]]
[app.main.ui.dashboard.project :refer [project-page]]
[app.main.ui.dashboard.recent-files :refer [recent-files-page]]
[app.main.ui.dashboard.libraries :refer [libraries-page]]
[app.main.ui.dashboard.profile :refer [profile-section]]
[app.util.router :as rt]
[app.util.i18n :as i18n :refer [t]]))
(defn ^boolean uuid-str?
[s]

View file

@ -4,14 +4,14 @@
;;
;; Copyright (c) 2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.dashboard.common
(ns app.main.ui.dashboard.common
(:require
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.keyboard :as k]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as t :refer [tr]]))
[app.main.ui.icons :as i]
[app.main.ui.keyboard :as k]
[app.util.dom :as dom]
[app.util.i18n :as t :refer [tr]]))
;; --- Page Title

View file

@ -1,22 +1,22 @@
(ns uxbox.main.ui.dashboard.grid
(ns app.main.ui.dashboard.grid
(:require
[cuerdas.core :as str]
[beicon.core :as rx]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.dashboard :as dsh]
[uxbox.main.store :as st]
[uxbox.main.ui.modal :as modal]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.confirm :refer [confirm-dialog]]
[uxbox.main.ui.components.context-menu :refer [context-menu]]
[uxbox.main.worker :as wrk]
[uxbox.main.fonts :as fonts]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t tr]]
[uxbox.util.router :as rt]
[uxbox.util.timers :as ts]
[uxbox.util.time :as dt]))
[app.main.ui.icons :as i]
[app.main.data.dashboard :as dsh]
[app.main.store :as st]
[app.main.ui.modal :as modal]
[app.main.ui.keyboard :as kbd]
[app.main.ui.confirm :refer [confirm-dialog]]
[app.main.ui.components.context-menu :refer [context-menu]]
[app.main.worker :as wrk]
[app.main.fonts :as fonts]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t tr]]
[app.util.router :as rt]
[app.util.timers :as ts]
[app.util.time :as dt]))
;; --- Grid Item Thumbnail

View file

@ -7,21 +7,21 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.dashboard.libraries
(ns app.main.ui.dashboard.libraries
(:require
[okulary.core :as l]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.util.i18n :as i18n :refer [tr]]
[uxbox.util.dom :as dom]
[uxbox.util.router :as rt]
[uxbox.main.data.dashboard :as dsh]
[uxbox.main.store :as st]
[uxbox.main.ui.modal :as modal]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.confirm :refer [confirm-dialog]]
[uxbox.main.ui.components.context-menu :refer [context-menu]]
[uxbox.main.ui.dashboard.grid :refer [grid]]))
[app.main.ui.icons :as i]
[app.util.i18n :as i18n :refer [tr]]
[app.util.dom :as dom]
[app.util.router :as rt]
[app.main.data.dashboard :as dsh]
[app.main.store :as st]
[app.main.ui.modal :as modal]
[app.main.ui.keyboard :as kbd]
[app.main.ui.confirm :refer [confirm-dialog]]
[app.main.ui.components.context-menu :refer [context-menu]]
[app.main.ui.dashboard.grid :refer [grid]]))
(def files-ref
(-> (comp vals :files)

View file

@ -8,19 +8,19 @@
;; Copyright (c) 2015-2020 Andrey Antukh <niwi@niwi.nz>
;; Copyright (c) 2015-2020 Juan de la Cruz <delacruzgarciajuan@gmail.com>
(ns uxbox.main.ui.dashboard.profile
(ns app.main.ui.dashboard.profile
(:require
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.main.data.auth :as da]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.dropdown :refer [dropdown]]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.navigation :as nav]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t]]
[uxbox.util.router :as rt]))
[app.main.data.auth :as da]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.components.dropdown :refer [dropdown]]
[app.main.ui.icons :as i]
[app.main.ui.navigation :as nav]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t]]
[app.util.router :as rt]))
;; --- Component: Profile

View file

@ -7,21 +7,21 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.dashboard.project
(ns app.main.ui.dashboard.project
(:require
[okulary.core :as l]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.util.i18n :as i18n :refer [t]]
[uxbox.util.dom :as dom]
[uxbox.util.router :as rt]
[uxbox.main.data.dashboard :as dsh]
[uxbox.main.store :as st]
[uxbox.main.ui.modal :as modal]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.confirm :refer [confirm-dialog]]
[uxbox.main.ui.components.context-menu :refer [context-menu]]
[uxbox.main.ui.dashboard.grid :refer [grid]]))
[app.main.ui.icons :as i]
[app.util.i18n :as i18n :refer [t]]
[app.util.dom :as dom]
[app.util.router :as rt]
[app.main.data.dashboard :as dsh]
[app.main.store :as st]
[app.main.ui.modal :as modal]
[app.main.ui.keyboard :as kbd]
[app.main.ui.confirm :refer [confirm-dialog]]
[app.main.ui.components.context-menu :refer [context-menu]]
[app.main.ui.dashboard.grid :refer [grid]]))
(def projects-ref
(l/derived :projects st/state))

View file

@ -7,24 +7,24 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.dashboard.recent-files
(ns app.main.ui.dashboard.recent-files
(:require
[okulary.core :as l]
[rumext.alpha :as mf]
[uxbox.common.exceptions :as ex]
[uxbox.main.constants :as c]
[uxbox.main.data.dashboard :as dsh]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.confirm :refer [confirm-dialog]]
[uxbox.main.ui.dashboard.grid :refer [grid]]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.modal :as modal]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t tr]]
[uxbox.util.router :as rt]
[uxbox.util.time :as dt]))
[app.common.exceptions :as ex]
[app.main.constants :as c]
[app.main.data.dashboard :as dsh]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.confirm :refer [confirm-dialog]]
[app.main.ui.dashboard.grid :refer [grid]]
[app.main.ui.icons :as i]
[app.main.ui.keyboard :as kbd]
[app.main.ui.modal :as modal]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t tr]]
[app.util.router :as rt]
[app.util.time :as dt]))
;; --- Component: Content

View file

@ -8,14 +8,14 @@
;; Copyright (c) 2015-2017 Juan de la Cruz <delacruzgarciajuan@gmail.com>
;; Copyright (c) 2015-2020 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.dashboard.search
(ns app.main.ui.dashboard.search
(:require
[okulary.core :as l]
[rumext.alpha :as mf]
[uxbox.main.store :as st]
[uxbox.main.data.dashboard :as dsh]
[uxbox.util.i18n :as i18n :refer [t]]
[uxbox.main.ui.dashboard.grid :refer [grid]]))
[app.main.store :as st]
[app.main.data.dashboard :as dsh]
[app.util.i18n :as i18n :refer [t]]
[app.main.ui.dashboard.grid :refer [grid]]))
;; --- Component: Search

View file

@ -8,25 +8,25 @@
;; Copyright (c) 2020 Andrey Antukh <niwi@niwi.nz>
;; Copyright (c) 2020 Juan de la Cruz <delacruzgarciajuan@gmail.com>
(ns uxbox.main.ui.dashboard.sidebar
(ns app.main.ui.dashboard.sidebar
(:require
[cuerdas.core :as str]
[goog.functions :as f]
[okulary.core :as l]
[rumext.alpha :as mf]
[uxbox.main.constants :as c]
[uxbox.main.data.dashboard :as dsh]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.confirm :refer [confirm-dialog]]
[uxbox.main.ui.dashboard.common :as common]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.modal :as modal]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t tr]]
[uxbox.util.router :as rt]
[uxbox.util.time :as dt]))
[app.main.constants :as c]
[app.main.data.dashboard :as dsh]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.confirm :refer [confirm-dialog]]
[app.main.ui.dashboard.common :as common]
[app.main.ui.icons :as i]
[app.main.ui.keyboard :as kbd]
[app.main.ui.modal :as modal]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t tr]]
[app.util.router :as rt]
[app.util.time :as dt]))
;; --- Component: Sidebar

View file

@ -7,19 +7,19 @@
;;
;; Copyright (c) 2020 UXBOX Labs S.L
(ns uxbox.main.ui.hooks
(ns app.main.ui.hooks
"A collection of general purpose react hooks."
(:require
[cljs.spec.alpha :as s]
[uxbox.common.spec :as us]
[app.common.spec :as us]
[beicon.core :as rx]
[goog.events :as events]
[rumext.alpha :as mf]
[uxbox.util.transit :as t]
[uxbox.util.dom :as dom]
[uxbox.util.dom.dnd :as dnd]
[uxbox.util.webapi :as wapi]
[uxbox.util.timers :as ts]
[app.util.transit :as t]
[app.util.dom :as dom]
[app.util.dom.dnd :as dnd]
[app.util.webapi :as wapi]
[app.util.timers :as ts]
["mousetrap" :as mousetrap])
(:import goog.events.EventType))

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.icons
(ns app.main.ui.icons
(:require [rumext.alpha]))
(def base-uri "/images/svg-sprite/symbol/svg/sprite.symbol.svg#icon-")

View file

@ -7,8 +7,8 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.icons
(:require-macros [uxbox.main.ui.icons :refer [icon-xref]])
(ns app.main.ui.icons
(:require-macros [app.main.ui.icons :refer [icon-xref]])
(:require [rumext.alpha :as mf]))
(def action (icon-xref :action))
@ -62,9 +62,9 @@
(def loader (icon-xref :loader))
(def lock (icon-xref :lock))
(def lock-open (icon-xref :lock-open))
(def logo (icon-xref :uxbox-logo))
(def logo (icon-xref :app-logo))
(def logout (icon-xref :logout))
(def logo-icon (icon-xref :uxbox-logo-icon))
(def logo-icon (icon-xref :app-logo-icon))
(def lowercase (icon-xref :lowercase))
(def mail (icon-xref :mail))
(def minus (icon-xref :minus))
@ -142,7 +142,7 @@
{::mf/wrap-props false}
[props]
[:section.debug-icons-preview
(for [[key val] (sort-by first (ns-publics 'uxbox.main.ui.icons))]
(for [[key val] (sort-by first (ns-publics 'app.main.ui.icons))]
(when (not= key 'debug-icons-preview)
[:div.icon-item {:key key}
(deref val)

View file

@ -1,4 +1,4 @@
(ns uxbox.main.ui.keyboard)
(ns app.main.ui.keyboard)
(defn is-keycode?
[keycode]

View file

@ -4,11 +4,11 @@
;;
;; Copyright (c) 2016-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.loader
(ns app.main.ui.loader
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.store :as st]))
[app.main.ui.icons :as i]
[app.main.store :as st]))
;; --- Component

View file

@ -7,17 +7,17 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.messages
(ns app.main.ui.messages
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.messages :as dm]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.util.data :refer [classnames]]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t]]
[uxbox.util.timers :as ts]))
[app.main.ui.icons :as i]
[app.main.data.messages :as dm]
[app.main.refs :as refs]
[app.main.store :as st]
[app.util.data :refer [classnames]]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t]]
[app.util.timers :as ts]))
(defn- type->icon
[type]

View file

@ -1,12 +1,12 @@
(ns uxbox.main.ui.modal
(ns app.main.ui.modal
(:require
[cuerdas.core :as str]
[goog.events :as events]
[rumext.alpha :as mf]
[uxbox.main.store :as st]
[uxbox.main.ui.keyboard :as k]
[uxbox.util.data :refer [classnames]]
[uxbox.util.dom :as dom])
[app.main.store :as st]
[app.main.ui.keyboard :as k]
[app.util.data :refer [classnames]]
[app.util.dom :as dom])
(:import goog.events.EventType))
(defonce state (atom nil))

View file

@ -1,9 +1,9 @@
(ns uxbox.main.ui.navigation
(ns app.main.ui.navigation
;; TODO: deprecated
(:require [rumext.alpha :refer-macros [html]]
[goog.events :as events]
[uxbox.util.dom :as dom]))
[app.util.dom :as dom]))
(defn link
"Given an href and a component, return a link component that will navigate

View file

@ -7,20 +7,20 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.render
(ns app.main.ui.render
(:require
[cljs.spec.alpha :as s]
[beicon.core :as rx]
[rumext.alpha :as mf]
[uxbox.common.uuid :as uuid]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.common.math :as mth]
[uxbox.common.geom.shapes :as geom]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.matrix :as gmt]
[uxbox.main.exports :as exports]
[uxbox.main.repo :as repo]))
[app.common.uuid :as uuid]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.common.math :as mth]
[app.common.geom.shapes :as geom]
[app.common.geom.point :as gpt]
[app.common.geom.matrix :as gmt]
[app.main.exports :as exports]
[app.main.repo :as repo]))
(mf/defc object-svg
{::mf/wrap [mf/memo]}

View file

@ -7,20 +7,20 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.settings
(ns app.main.ui.settings
(:require
[cuerdas.core :as str]
[potok.core :as ptk]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.util.router :as rt]
[uxbox.main.ui.dashboard.profile :refer [profile-section]]
[uxbox.main.ui.settings.header :refer [header]]
[uxbox.main.ui.settings.password :refer [password-page]]
[uxbox.main.ui.settings.options :refer [options-page]]
[uxbox.main.ui.settings.profile :refer [profile-page]]))
[app.main.ui.icons :as i]
[app.main.refs :as refs]
[app.main.store :as st]
[app.util.router :as rt]
[app.main.ui.dashboard.profile :refer [profile-section]]
[app.main.ui.settings.header :refer [header]]
[app.main.ui.settings.password :refer [password-page]]
[app.main.ui.settings.options :refer [options-page]]
[app.main.ui.settings.profile :refer [profile-page]]))
(mf/defc settings
[{:keys [route] :as props}]

View file

@ -7,23 +7,23 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.settings.change-email
(ns app.main.ui.settings.change-email
(:require
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.main.data.auth :as da]
[uxbox.main.data.messages :as dm]
[uxbox.main.data.users :as du]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.forms :refer [input submit-button form]]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.messages :as msgs]
[uxbox.main.ui.modal :as modal]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [tr t]]))
[app.main.data.auth :as da]
[app.main.data.messages :as dm]
[app.main.data.users :as du]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.components.forms :refer [input submit-button form]]
[app.main.ui.icons :as i]
[app.main.ui.messages :as msgs]
[app.main.ui.modal :as modal]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [tr t]]))
(s/def ::email-1 ::fm/email)
(s/def ::email-2 ::fm/email)
@ -42,7 +42,7 @@
(defn- on-error
[form error]
(cond
(= (:code error) :uxbox.services.mutations.profile/email-already-exists)
(= (:code error) :app.services.mutations.profile/email-already-exists)
(swap! form (fn [data]
(let [error {:message (tr "errors.email-already-exists")}]
(assoc-in data [:errors :email-1] error))))

View file

@ -7,17 +7,17 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.settings.delete-account
(ns app.main.ui.settings.delete-account
(:require
[cljs.spec.alpha :as s]
[rumext.alpha :as mf]
[uxbox.main.data.auth :as da]
[uxbox.main.data.users :as du]
[uxbox.main.store :as st]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.messages :as msgs]
[uxbox.main.ui.modal :as modal]
[uxbox.util.i18n :as i18n :refer [tr t]]))
[app.main.data.auth :as da]
[app.main.data.users :as du]
[app.main.store :as st]
[app.main.ui.icons :as i]
[app.main.ui.messages :as msgs]
[app.main.ui.modal :as modal]
[app.util.i18n :as i18n :refer [tr t]]))
(mf/defc delete-account-modal
[props]

View file

@ -7,14 +7,14 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.settings.header
(ns app.main.ui.settings.header
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.auth :as da]
[uxbox.main.store :as st]
[uxbox.util.i18n :as i18n :refer [tr t]]
[uxbox.util.router :as rt]))
[app.main.ui.icons :as i]
[app.main.data.auth :as da]
[app.main.store :as st]
[app.util.i18n :as i18n :refer [tr t]]
[app.util.router :as rt]))
(mf/defc header
[{:keys [section profile] :as props}]

View file

@ -7,19 +7,19 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.settings.options
(ns app.main.ui.settings.options
(:require
[rumext.alpha :as mf]
[cljs.spec.alpha :as s]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.users :as udu]
[uxbox.main.data.messages :as dm]
[uxbox.main.ui.components.forms :refer [select submit-button form]]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [t tr]]))
[app.main.ui.icons :as i]
[app.main.data.users :as udu]
[app.main.data.messages :as dm]
[app.main.ui.components.forms :refer [select submit-button form]]
[app.main.refs :as refs]
[app.main.store :as st]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [t tr]]))
(s/def ::lang (s/nilable ::fm/not-empty-string))
(s/def ::theme (s/nilable ::fm/not-empty-string))

View file

@ -7,23 +7,23 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.settings.password
(ns app.main.ui.settings.password
(:require
[rumext.alpha :as mf]
[cljs.spec.alpha :as s]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.users :as udu]
[uxbox.main.data.messages :as dm]
[uxbox.main.ui.components.forms :refer [input submit-button form]]
[uxbox.main.store :as st]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [t tr]]))
[app.main.ui.icons :as i]
[app.main.data.users :as udu]
[app.main.data.messages :as dm]
[app.main.ui.components.forms :refer [input submit-button form]]
[app.main.store :as st]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [t tr]]))
(defn- on-error
[form error]
(case (:code error)
:uxbox.services.mutations.profile/old-password-not-match
:app.services.mutations.profile/old-password-not-match
(swap! form assoc-in [:errors :password-old]
{:message (tr "errors.wrong-old-password")})

View file

@ -7,25 +7,25 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.settings.profile
(ns app.main.ui.settings.profile
(:require
[cljs.spec.alpha :as s]
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.main.data.messages :as dm]
[uxbox.main.data.users :as udu]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.forms :refer [input submit-button form]]
[uxbox.main.ui.components.file-uploader :refer [file-uploader]]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.messages :as msgs]
[uxbox.main.ui.modal :as modal]
[uxbox.main.ui.settings.change-email :refer [change-email-modal]]
[uxbox.main.ui.settings.delete-account :refer [delete-account-modal]]
[uxbox.util.dom :as dom]
[uxbox.util.forms :as fm]
[uxbox.util.i18n :as i18n :refer [tr t]]))
[app.main.data.messages :as dm]
[app.main.data.users :as udu]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.components.forms :refer [input submit-button form]]
[app.main.ui.components.file-uploader :refer [file-uploader]]
[app.main.ui.icons :as i]
[app.main.ui.messages :as msgs]
[app.main.ui.modal :as modal]
[app.main.ui.settings.change-email :refer [change-email-modal]]
[app.main.ui.settings.delete-account :refer [delete-account-modal]]
[app.util.dom :as dom]
[app.util.forms :as fm]
[app.util.i18n :as i18n :refer [tr t]]))
(s/def ::fullname ::fm/not-empty-string)
(s/def ::email ::fm/email)

View file

@ -7,8 +7,8 @@
;;
;; Copyright (c) 2016-2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.attrs
(:require [uxbox.util.object :as obj]))
(ns app.main.ui.shapes.attrs
(:require [app.util.object :as obj]))
(defn- stroke-type->dasharray
[style]

View file

@ -7,13 +7,13 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.circle
(ns app.main.ui.shapes.circle
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.main.ui.shapes.custom-stroke :refer [shape-custom-stroke]]
[uxbox.common.geom.shapes :as geom]
[uxbox.util.object :as obj]))
[app.main.ui.shapes.attrs :as attrs]
[app.main.ui.shapes.custom-stroke :refer [shape-custom-stroke]]
[app.common.geom.shapes :as geom]
[app.util.object :as obj]))
(mf/defc circle-shape
{::mf/wrap-props false}

View file

@ -4,11 +4,11 @@
;;
;; Copyright (c) 2016-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.shapes.custom-stroke
(ns app.main.ui.shapes.custom-stroke
(:require
[rumext.alpha :as mf]
[uxbox.common.geom.shapes :as geom]
[uxbox.util.object :as obj]))
[app.common.geom.shapes :as geom]
[app.util.object :as obj]))
; The SVG standard does not implement yet the 'stroke-alignment'
; attribute, to define the position of the stroke relative to the

View file

@ -7,13 +7,13 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.frame
(ns app.main.ui.shapes.frame
(:require
[rumext.alpha :as mf]
[uxbox.common.data :as d]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.common.geom.shapes :as geom]
[uxbox.util.object :as obj]))
[app.common.data :as d]
[app.main.ui.shapes.attrs :as attrs]
[app.common.geom.shapes :as geom]
[app.util.object :as obj]))
(def frame-default-props {:fill-color "#ffffff"})

View file

@ -7,12 +7,12 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.group
(ns app.main.ui.shapes.group
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.util.debug :refer [debug?]]
[uxbox.common.geom.shapes :as geom]))
[app.main.ui.shapes.attrs :as attrs]
[app.util.debug :refer [debug?]]
[app.common.geom.shapes :as geom]))
(defn group-shape
[shape-wrapper]

View file

@ -7,12 +7,12 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.icon
(ns app.main.ui.shapes.icon
(:require
[rumext.alpha :as mf]
[uxbox.common.geom.shapes :as geom]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.util.object :as obj]))
[app.common.geom.shapes :as geom]
[app.main.ui.shapes.attrs :as attrs]
[app.util.object :as obj]))
(mf/defc icon-shape
{::mf/wrap-props false}

View file

@ -7,13 +7,13 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.image
(ns app.main.ui.shapes.image
(:require
[rumext.alpha :as mf]
[uxbox.config :as cfg]
[uxbox.common.geom.shapes :as geom]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.util.object :as obj]))
[app.config :as cfg]
[app.common.geom.shapes :as geom]
[app.main.ui.shapes.attrs :as attrs]
[app.util.object :as obj]))
(mf/defc image-shape
{::mf/wrap-props false}

View file

@ -7,14 +7,14 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.path
(ns app.main.ui.shapes.path
(:require
[cuerdas.core :as str]
[rumext.alpha :as mf]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.main.ui.shapes.custom-stroke :refer [shape-custom-stroke]]
[uxbox.common.geom.shapes :as geom]
[uxbox.util.object :as obj]))
[app.main.ui.shapes.attrs :as attrs]
[app.main.ui.shapes.custom-stroke :refer [shape-custom-stroke]]
[app.common.geom.shapes :as geom]
[app.util.object :as obj]))
;; --- Path Shape

View file

@ -7,13 +7,13 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.rect
(ns app.main.ui.shapes.rect
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.main.ui.shapes.custom-stroke :refer [shape-custom-stroke]]
[uxbox.common.geom.shapes :as geom]
[uxbox.util.object :as obj]))
[app.main.ui.shapes.attrs :as attrs]
[app.main.ui.shapes.custom-stroke :refer [shape-custom-stroke]]
[app.common.geom.shapes :as geom]
[app.util.object :as obj]))
(mf/defc rect-shape
{::mf/wrap-props false}

View file

@ -7,5 +7,5 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.shapes.shape)
(ns app.main.ui.shapes.shape)

View file

@ -4,14 +4,14 @@
;;
;; Copyright (c) 2016-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.shapes.text
(ns app.main.ui.shapes.text
(:require
[rumext.alpha :as mf]
[uxbox.common.data :as d]
[uxbox.common.geom.shapes :as geom]
[uxbox.common.geom.matrix :as gmt]
[uxbox.main.fonts :as fonts]
[uxbox.util.object :as obj]))
[app.common.data :as d]
[app.common.geom.shapes :as geom]
[app.common.geom.matrix :as gmt]
[app.main.fonts :as fonts]
[app.util.object :as obj]))
;; --- Text Editor Rendering

View file

@ -7,11 +7,11 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.static
(ns app.main.ui.static
(:require
[cljs.spec.alpha :as s]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]))
[app.main.ui.icons :as i]))
(mf/defc not-found-page
[{:keys [error] :as props}]

View file

@ -7,27 +7,27 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.viewer
(ns app.main.ui.viewer
(:require
[beicon.core :as rx]
[goog.events :as events]
[goog.object :as gobj]
[okulary.core :as l]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.common.exceptions :as ex]
[uxbox.main.data.viewer :as dv]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.dropdown :refer [dropdown]]
[uxbox.main.ui.hooks :as hooks]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.viewer.header :refer [header]]
[uxbox.main.ui.viewer.thumbnails :refer [thumbnails-panel]]
[uxbox.main.ui.viewer.shapes :refer [frame-svg]]
[uxbox.util.data :refer [classnames]]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t tr]])
[app.main.ui.icons :as i]
[app.common.exceptions :as ex]
[app.main.data.viewer :as dv]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.components.dropdown :refer [dropdown]]
[app.main.ui.hooks :as hooks]
[app.main.ui.keyboard :as kbd]
[app.main.ui.viewer.header :refer [header]]
[app.main.ui.viewer.thumbnails :refer [thumbnails-panel]]
[app.main.ui.viewer.shapes :refer [frame-svg]]
[app.util.data :refer [classnames]]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t tr]])
(:import goog.events.EventType))
(mf/defc main-panel

View file

@ -7,22 +7,22 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.viewer.header
(ns app.main.ui.viewer.header
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.data.messages :as dm]
[uxbox.main.data.viewer :as dv]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.dropdown :refer [dropdown]]
[uxbox.util.data :refer [classnames]]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t]]
[uxbox.util.router :as rt]
[uxbox.common.math :as mth]
[uxbox.common.uuid :as uuid]
[uxbox.util.webapi :as wapi]))
[app.main.ui.icons :as i]
[app.main.data.messages :as dm]
[app.main.data.viewer :as dv]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.components.dropdown :refer [dropdown]]
[app.util.data :refer [classnames]]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t]]
[app.util.router :as rt]
[app.common.math :as mth]
[app.common.uuid :as uuid]
[app.util.webapi :as wapi]))
(mf/defc zoom-widget
{:wrap [mf/memo]}

View file

@ -7,28 +7,28 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.viewer.shapes
(ns app.main.ui.viewer.shapes
"The main container for a frame in viewer mode"
(:require
[rumext.alpha :as mf]
[uxbox.common.data :as d]
[uxbox.common.pages :as cp]
[uxbox.common.pages-helpers :as cph]
[uxbox.main.data.viewer :as dv]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.shapes.circle :as circle]
[uxbox.main.ui.shapes.frame :as frame]
[uxbox.main.ui.shapes.group :as group]
[uxbox.main.ui.shapes.icon :as icon]
[uxbox.main.ui.shapes.image :as image]
[uxbox.main.ui.shapes.path :as path]
[uxbox.main.ui.shapes.rect :as rect]
[uxbox.main.ui.shapes.text :as text]
[uxbox.util.object :as obj]
[uxbox.common.geom.matrix :as gmt]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.shapes :as geom]))
[app.common.data :as d]
[app.common.pages :as cp]
[app.common.pages-helpers :as cph]
[app.main.data.viewer :as dv]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.shapes.circle :as circle]
[app.main.ui.shapes.frame :as frame]
[app.main.ui.shapes.group :as group]
[app.main.ui.shapes.icon :as icon]
[app.main.ui.shapes.image :as image]
[app.main.ui.shapes.path :as path]
[app.main.ui.shapes.rect :as rect]
[app.main.ui.shapes.text :as text]
[app.util.object :as obj]
[app.common.geom.matrix :as gmt]
[app.common.geom.point :as gpt]
[app.common.geom.shapes :as geom]))
(defn on-mouse-down
[event {:keys [interactions] :as shape}]

View file

@ -7,26 +7,26 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.viewer.thumbnails
(ns app.main.ui.viewer.thumbnails
(:require
[goog.events :as events]
[goog.object :as gobj]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.common.data :as d]
[uxbox.main.store :as st]
[uxbox.main.data.viewer :as dv]
[uxbox.main.ui.components.dropdown :refer [dropdown']]
[uxbox.main.ui.shapes.frame :as frame]
[uxbox.main.exports :as exports]
[uxbox.util.data :refer [classnames]]
[uxbox.util.dom :as dom]
[uxbox.common.geom.matrix :as gmt]
[uxbox.common.geom.point :as gpt]
[uxbox.util.i18n :as i18n :refer [t tr]]
[uxbox.common.math :as mth]
[uxbox.util.router :as rt]
[uxbox.main.data.viewer :as vd])
[app.main.ui.icons :as i]
[app.common.data :as d]
[app.main.store :as st]
[app.main.data.viewer :as dv]
[app.main.ui.components.dropdown :refer [dropdown']]
[app.main.ui.shapes.frame :as frame]
[app.main.exports :as exports]
[app.util.data :refer [classnames]]
[app.util.dom :as dom]
[app.common.geom.matrix :as gmt]
[app.common.geom.point :as gpt]
[app.util.i18n :as i18n :refer [t tr]]
[app.common.math :as mth]
[app.util.router :as rt]
[app.main.data.viewer :as vd])
(:import goog.events.EventType
goog.events.KeyCodes))

View file

@ -7,31 +7,31 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.workspace
(ns app.main.ui.workspace
(:require
[beicon.core :as rx]
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i]
[uxbox.main.constants :as c]
[uxbox.main.data.history :as udh]
[uxbox.main.data.workspace :as dw]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.streams :as ms]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.hooks :as hooks]
[uxbox.main.ui.workspace.viewport :refer [viewport coordinates]]
[uxbox.main.ui.workspace.colorpalette :refer [colorpalette]]
[uxbox.main.ui.workspace.context-menu :refer [context-menu]]
[uxbox.main.ui.workspace.header :refer [header]]
[uxbox.main.ui.workspace.rules :refer [horizontal-rule vertical-rule]]
[uxbox.main.ui.workspace.scroll :as scroll]
[uxbox.main.ui.workspace.sidebar :refer [left-sidebar right-sidebar]]
[uxbox.main.ui.workspace.sidebar.history :refer [history-dialog]]
[uxbox.main.ui.workspace.left-toolbar :refer [left-toolbar]]
[uxbox.util.data :refer [classnames]]
[uxbox.util.dom :as dom]
[uxbox.common.geom.point :as gpt]))
[app.main.ui.icons :as i]
[app.main.constants :as c]
[app.main.data.history :as udh]
[app.main.data.workspace :as dw]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.streams :as ms]
[app.main.ui.keyboard :as kbd]
[app.main.ui.hooks :as hooks]
[app.main.ui.workspace.viewport :refer [viewport coordinates]]
[app.main.ui.workspace.colorpalette :refer [colorpalette]]
[app.main.ui.workspace.context-menu :refer [context-menu]]
[app.main.ui.workspace.header :refer [header]]
[app.main.ui.workspace.rules :refer [horizontal-rule vertical-rule]]
[app.main.ui.workspace.scroll :as scroll]
[app.main.ui.workspace.sidebar :refer [left-sidebar right-sidebar]]
[app.main.ui.workspace.sidebar.history :refer [history-dialog]]
[app.main.ui.workspace.left-toolbar :refer [left-toolbar]]
[app.util.data :refer [classnames]]
[app.util.dom :as dom]
[app.common.geom.point :as gpt]))
;; --- Workspace

View file

@ -7,22 +7,22 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.workspace.colorpalette
(ns app.main.ui.workspace.colorpalette
(:require
[beicon.core :as rx]
[goog.events :as events]
[okulary.core :as l]
[rumext.alpha :as mf]
[uxbox.common.math :as mth]
;; [uxbox.main.data.library :as dlib]
[uxbox.main.data.workspace :as udw]
[uxbox.main.store :as st]
[uxbox.main.ui.components.context-menu :refer [context-menu]]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.util.color :refer [hex->rgb]]
[uxbox.util.dom :as dom]
[uxbox.util.object :as obj]))
[app.common.math :as mth]
;; [app.main.data.library :as dlib]
[app.main.data.workspace :as udw]
[app.main.store :as st]
[app.main.ui.components.context-menu :refer [context-menu]]
[app.main.ui.icons :as i]
[app.main.ui.keyboard :as kbd]
[app.util.color :refer [hex->rgb]]
[app.util.dom :as dom]
[app.util.object :as obj]))
;; --- Refs

View file

@ -5,11 +5,11 @@
;; Copyright (c) 2016-2017 Juan de la Cruz <delacruzgarciajuan@gmail.com>
;; Copyright (c) 2016-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.workspace.colorpicker
(ns app.main.ui.workspace.colorpicker
(:require
[rumext.alpha :as mf]
[uxbox.main.store :as st]
[uxbox.main.ui.colorpicker :as cp]))
[app.main.store :as st]
[app.main.ui.colorpicker :as cp]))
;; --- Color Picker Modal

View file

@ -7,21 +7,21 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.workspace.context-menu
(ns app.main.ui.workspace.context-menu
"A workspace specific context menu (mouse right click)."
(:require
[beicon.core :as rx]
[okulary.core :as l]
[potok.core :as ptk]
[rumext.alpha :as mf]
[uxbox.main.store :as st]
[uxbox.main.refs :as refs]
[uxbox.main.streams :as ms]
[uxbox.main.ui.icons :as i]
[uxbox.util.dom :as dom]
[uxbox.main.data.workspace :as dw]
[uxbox.main.ui.hooks :refer [use-rxsub]]
[uxbox.main.ui.components.dropdown :refer [dropdown]]))
[app.main.store :as st]
[app.main.refs :as refs]
[app.main.streams :as ms]
[app.main.ui.icons :as i]
[app.util.dom :as dom]
[app.main.data.workspace :as dw]
[app.main.ui.hooks :refer [use-rxsub]]
[app.main.ui.components.dropdown :refer [dropdown]]))
(def menu-ref
(l/derived :context-menu refs/workspace-local))

View file

@ -4,18 +4,18 @@
;;
;; Copyright (c) 2015-2019 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.main.ui.workspace.drawarea
(ns app.main.ui.workspace.drawarea
"Drawing components."
(:require
[rumext.alpha :as mf]
[uxbox.main.data.workspace :as dw]
[uxbox.main.data.workspace.drawing :as dd]
[uxbox.main.store :as st]
[uxbox.main.ui.workspace.shapes :as shapes]
[uxbox.common.geom.shapes :as gsh]
[uxbox.common.data :as d]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t]]))
[app.main.data.workspace :as dw]
[app.main.data.workspace.drawing :as dd]
[app.main.store :as st]
[app.main.ui.workspace.shapes :as shapes]
[app.common.geom.shapes :as gsh]
[app.common.data :as d]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t]]))
(declare generic-draw-area)
(declare path-draw-area)

View file

@ -7,13 +7,13 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.workspace.frame-grid
(ns app.main.ui.workspace.frame-grid
(:require
[rumext.alpha :as mf]
[uxbox.main.refs :as refs]
[uxbox.common.pages :as cp]
[uxbox.common.geom.shapes :as gsh]
[uxbox.util.geom.grid :as gg]))
[app.main.refs :as refs]
[app.common.pages :as cp]
[app.common.geom.shapes :as gsh]
[app.util.geom.grid :as gg]))
(mf/defc square-grid [{:keys [frame zoom grid] :as props}]
(let [{:keys [color size] :as params} (-> grid :params)

View file

@ -8,23 +8,23 @@
;; Copyright (c) 2015-2017 Andrey Antukh <niwi@niwi.nz>
;; Copyright (c) 2015-2017 Juan de la Cruz <delacruzgarciajuan@gmail.com>
(ns uxbox.main.ui.workspace.header
(ns app.main.ui.workspace.header
(:require
[rumext.alpha :as mf]
[uxbox.main.ui.icons :as i :include-macros true]
[uxbox.config :as cfg]
[uxbox.main.data.history :as udh]
[uxbox.main.data.workspace :as dw]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.dropdown :refer [dropdown]]
[uxbox.main.ui.modal :as modal]
[uxbox.main.ui.confirm :refer [confirm-dialog]]
[uxbox.main.ui.workspace.presence :as presence]
[uxbox.util.i18n :as i18n :refer [t]]
[uxbox.util.data :refer [classnames]]
[uxbox.common.math :as mth]
[uxbox.util.router :as rt]))
[app.main.ui.icons :as i :include-macros true]
[app.config :as cfg]
[app.main.data.history :as udh]
[app.main.data.workspace :as dw]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.components.dropdown :refer [dropdown]]
[app.main.ui.modal :as modal]
[app.main.ui.confirm :refer [confirm-dialog]]
[app.main.ui.workspace.presence :as presence]
[app.util.i18n :as i18n :refer [t]]
[app.util.data :refer [classnames]]
[app.common.math :as mth]
[app.util.router :as rt]))
;; --- Zoom Widget

View file

@ -8,17 +8,17 @@
;; Copyright (c) 2015-2020 Andrey Antukh <niwi@niwi.nz>
;; Copyright (c) 2015-2020 Juan de la Cruz <delacruzgarciajuan@gmail.com>
(ns uxbox.main.ui.workspace.left-toolbar
(ns app.main.ui.workspace.left-toolbar
(:require
[rumext.alpha :as mf]
[uxbox.common.media :as cm]
[uxbox.main.refs :as refs]
[uxbox.main.data.workspace :as dw]
[uxbox.main.store :as st]
[uxbox.main.ui.components.file-uploader :refer [file-uploader]]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t]]
[uxbox.main.ui.icons :as i]))
[app.common.media :as cm]
[app.main.refs :as refs]
[app.main.data.workspace :as dw]
[app.main.store :as st]
[app.main.ui.components.file-uploader :refer [file-uploader]]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [t]]
[app.main.ui.icons :as i]))
;; --- Component: Left toolbar

View file

@ -5,18 +5,18 @@
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
;; Copyright (c) 2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>
(ns uxbox.main.ui.workspace.libraries
(ns app.main.ui.workspace.libraries
(:require
[rumext.alpha :as mf]
[cuerdas.core :as str]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :refer (tr)]
[uxbox.util.data :refer [classnames matches-search]]
[uxbox.main.store :as st]
[uxbox.main.refs :as refs]
[uxbox.main.data.workspace :as dw]
[uxbox.main.ui.icons :as i]
[uxbox.main.ui.modal :as modal]))
[app.util.dom :as dom]
[app.util.i18n :refer (tr)]
[app.util.data :refer [classnames matches-search]]
[app.main.store :as st]
[app.main.refs :as refs]
[app.main.data.workspace :as dw]
[app.main.ui.icons :as i]
[app.main.ui.modal :as modal]))
(mf/defc libraries-tab
[{:keys [file libraries shared-files] :as props}]

View file

@ -7,12 +7,12 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.workspace.presence
(ns app.main.ui.workspace.presence
(:require
[rumext.alpha :as mf]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.util.router :as rt]))
[app.main.refs :as refs]
[app.main.store :as st]
[app.util.router :as rt]))
(def pointer-icon-path
(str "M5.292 4.027L1.524.26l-.05-.01L0 0l.258 1.524 3.769 3.768zm-.45 "

View file

@ -7,11 +7,11 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.workspace.rules
(ns app.main.ui.workspace.rules
(:require
[rumext.alpha :as mf]
[uxbox.common.math :as mth]
[uxbox.util.object :as obj]))
[app.common.math :as mth]
[app.util.object :as obj]))
(defn- calculate-step-size
[zoom]

View file

@ -5,13 +5,13 @@
;; Copyright (c) 2015-2017 Andrey Antukh <niwi@niwi.nz>
;; Copyright (c) 2015-2017 Juan de la Cruz <delacruzgarciajuan@gmail.com>
(ns uxbox.main.ui.workspace.scroll
(ns app.main.ui.workspace.scroll
"Workspace scroll events handling."
(:require [beicon.core :as rx]
[potok.core :as ptk]
[uxbox.main.refs :as refs]
[uxbox.util.dom :as dom]
[uxbox.common.geom.point :as gpt]))
[app.main.refs :as refs]
[app.util.dom :as dom]
[app.common.geom.point :as gpt]))
;; FIXME: revisit this ns in order to find a better location for its functions
;; TODO: this need a good refactor (probably move to events with access to the state)

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.workspace.selection
(ns app.main.ui.workspace.selection
"Selection handlers component."
(:require
[beicon.core :as rx]
@ -15,18 +15,18 @@
[potok.core :as ptk]
[rumext.alpha :as mf]
[rumext.util :refer [map->obj]]
[uxbox.main.data.workspace :as dw]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.streams :as ms]
[uxbox.main.ui.cursors :as cur]
[uxbox.util.dom :as dom]
[uxbox.util.object :as obj]
[uxbox.common.geom.shapes :as geom]
[uxbox.common.geom.point :as gpt]
[uxbox.common.geom.matrix :as gmt]
[uxbox.util.debug :refer [debug?]]
[uxbox.main.ui.workspace.shapes.outline :refer [outline]]))
[app.main.data.workspace :as dw]
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.streams :as ms]
[app.main.ui.cursors :as cur]
[app.util.dom :as dom]
[app.util.object :as obj]
[app.common.geom.shapes :as geom]
[app.common.geom.point :as gpt]
[app.common.geom.matrix :as gmt]
[app.util.debug :refer [debug?]]
[app.main.ui.workspace.shapes.outline :refer [outline]]))
(def rotation-handler-size 25)

Some files were not shown because too many files have changed in this diff Show more