♻️ Refactor and modularize all specs.

This commit is contained in:
Andrey Antukh 2022-01-25 00:07:08 +01:00 committed by Andrés Moya
parent b1d55348dc
commit 04f7169aef
48 changed files with 1112 additions and 1031 deletions

View file

@ -7,6 +7,7 @@
(ns app.main.data.comments
(:require
[app.common.data :as d]
[app.common.geom.point :as gpt]
[app.common.spec :as us]
[app.main.repo :as rp]
[beicon.core :as rx]
@ -24,7 +25,7 @@
(s/def ::page-id ::us/uuid)
(s/def ::page-name ::us/string)
(s/def ::participants (s/every ::us/uuid :kind set?))
(s/def ::position ::us/point)
(s/def ::position ::gpt/point)
(s/def ::project-id ::us/uuid)
(s/def ::seqn ::us/integer)
(s/def ::thread-id ::us/uuid)

View file

@ -7,9 +7,10 @@
(ns app.main.data.viewer
(:require
[app.common.data :as d]
[app.common.geom.point :as gpt]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.types.interactions :as cti]
[app.common.spec.interactions :as cti]
[app.common.uuid :as uuid]
[app.main.data.comments :as dcm]
[app.main.data.fonts :as df]
@ -469,7 +470,7 @@
(defn open-overlay
[frame-id position close-click-outside background-overlay animation]
(us/verify ::us/uuid frame-id)
(us/verify ::us/point position)
(us/verify ::gpt/point position)
(us/verify (s/nilable ::us/boolean) close-click-outside)
(us/verify (s/nilable ::us/boolean) background-overlay)
(us/verify (s/nilable ::cti/animation) animation)
@ -494,7 +495,7 @@
(defn toggle-overlay
[frame-id position close-click-outside background-overlay animation]
(us/verify ::us/uuid frame-id)
(us/verify ::us/point position)
(us/verify ::gpt/point position)
(us/verify (s/nilable ::us/boolean) close-click-outside)
(us/verify (s/nilable ::us/boolean) background-overlay)
(us/verify (s/nilable ::cti/animation) animation)

View file

@ -17,8 +17,8 @@
[app.common.pages :as cp]
[app.common.pages.changes-builder :as pcb]
[app.common.pages.helpers :as cph]
[app.common.pages.spec :as spec]
[app.common.spec :as us]
[app.common.spec.shape :as spec.shape]
[app.common.transit :as t]
[app.common.uuid :as uuid]
[app.config :as cfg]
@ -59,7 +59,7 @@
[cuerdas.core :as str]
[potok.core :as ptk]))
(s/def ::shape-attrs ::cp/shape-attrs)
(s/def ::shape-attrs ::spec.shape/shape)
(s/def ::set-of-string
(s/every string? :kind set?))
@ -925,13 +925,13 @@
:id id
:operations [{:type :set
:attr :constraints-h
:val (spec/default-constraints-h
(assoc obj :parent-id parent-id :frame-id frame-id))
:val (gsh/default-constraints-h
(assoc obj :parent-id parent-id :frame-id frame-id))
:ignore-touched true}
{:type :set
:attr :constraints-v
:val (spec/default-constraints-v
(assoc obj :parent-id parent-id :frame-id frame-id))
:val (gsh/default-constraints-v
(assoc obj :parent-id parent-id :frame-id frame-id))
:ignore-touched true}]}))
shapes-to-unconstraint)

View file

@ -9,8 +9,8 @@
[app.common.data :as d]
[app.common.logging :as log]
[app.common.pages :as cp]
[app.common.pages.spec :as spec]
[app.common.spec :as us]
[app.common.spec.change :as spec.change]
[app.main.data.workspace.state-helpers :as wsh]
[app.main.data.workspace.undo :as dwu]
[app.main.store :as st]
@ -137,8 +137,8 @@
[:workspace-data]
[:workspace-libraries file-id :data])]
(try
(us/assert ::spec/changes redo-changes)
(us/assert ::spec/changes undo-changes)
(us/assert ::spec.change/changes redo-changes)
(us/assert ::spec.change/changes undo-changes)
;; (prn "====== commit-changes ======" path)
;; (cljs.pprint/pprint redo-changes)

View file

@ -12,8 +12,9 @@
[app.common.logging :as log]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.types.interactions :as cti]
[app.common.types.page-options :as cto]
[app.common.spec.interactions :as csi]
[app.common.spec.page :as csp]
[app.common.spec.shape :as spec.shape]
[app.common.uuid :as uuid]
[app.main.data.workspace.changes :as dch]
[app.main.data.workspace.state-helpers :as wsh]
@ -27,7 +28,7 @@
;; Change this to :info :debug or :trace to debug this module
(log/set-level! :warn)
(s/def ::shape-attrs ::cp/shape-attrs)
(s/def ::shape-attrs ::spec.shape/shape)
(s/def ::set-of-string (s/every string? :kind set?))
(s/def ::ordered-set-of-uuid (s/every uuid? :kind d/ordered-set?))
@ -409,7 +410,7 @@
interacting-shapes
(filter (fn [shape]
(let [interactions (:interactions shape)]
(some #(and (cti/has-destination %)
(some #(and (csi/has-destination %)
(contains? ids (:destination %)))
interactions)))
(vals objects))
@ -482,7 +483,7 @@
:operations [{:type :set
:attr :interactions
:val (vec (remove (fn [interaction]
(and (cti/has-destination interaction)
(and (csi/has-destination interaction)
(contains? ids (:destination interaction))))
(:interactions obj)))}]})))
mk-mod-int-add-xf
@ -501,7 +502,7 @@
{:type :set-option
:page-id page-id
:option :flows
:value (cto/remove-flow flows (:id flow))})))
:value (csp/remove-flow flows (:id flow))})))
mk-mod-add-flow-xf
(comp (filter some?)

View file

@ -10,7 +10,7 @@
[app.common.geom.shapes :as gsh]
[app.common.pages.changes-builder :as pcb]
[app.common.spec :as us]
[app.common.types.page-options :as tpo]
[app.common.spec.page :as csp]
[app.main.data.workspace.changes :as dwc]
[app.main.data.workspace.state-helpers :as wsh]
[beicon.core :as rx]
@ -24,7 +24,7 @@
(merge guide))))
(defn update-guides [guide]
(us/verify ::tpo/guide guide)
(us/verify ::csp/guide guide)
(ptk/reify ::update-guides
ptk/WatchEvent
(watch [it state _]
@ -39,7 +39,7 @@
(rx/of (dwc/commit-changes changes))))))
(defn remove-guide [guide]
(us/verify ::tpo/guide guide)
(us/verify ::csp/guide guide)
(ptk/reify ::remove-guide
ptk/WatchEvent
(watch [it state _]

View file

@ -10,8 +10,8 @@
[app.common.geom.point :as gpt]
[app.common.pages.helpers :as cph]
[app.common.spec :as us]
[app.common.types.interactions :as cti]
[app.common.types.page-options :as cto]
[app.common.spec.interactions :as csi]
[app.common.spec.page :as csp]
[app.common.uuid :as uuid]
[app.main.data.workspace.changes :as dch]
[app.main.data.workspace.common :as dwc]
@ -45,7 +45,7 @@
{:redo-changes [{:type :set-option
:page-id page-id
:option :flows
:value (cto/add-flow flows new-flow)}]
:value (csp/add-flow flows new-flow)}]
:undo-changes [{:type :set-option
:page-id page-id
:option :flows
@ -76,7 +76,7 @@
{:redo-changes [{:type :set-option
:page-id page-id
:option :flows
:value (cto/remove-flow flows flow-id)}]
:value (csp/remove-flow flows flow-id)}]
:undo-changes [{:type :set-option
:page-id page-id
:option :flows
@ -100,8 +100,8 @@
{:redo-changes [{:type :set-option
:page-id page-id
:option :flows
:value (cto/update-flow flows flow-id
#(cto/rename-flow % name))}]
:value (csp/update-flow flows flow-id
#(csp/rename-flow % name))}]
:undo-changes [{:type :set-option
:page-id page-id
:option :flows
@ -140,15 +140,15 @@
page-id
:options
:flows] [])
flow (cto/get-frame-flow flows (:id frame))]
flow (csp/get-frame-flow flows (:id frame))]
(rx/concat
(rx/of (dch/update-shapes [(:id shape)]
(fn [shape]
(let [new-interaction (cti/set-destination
cti/default-interaction
destination)]
(let [new-interaction (csi/set-destination
csi/default-interaction
destination)]
(update shape :interactions
cti/add-interaction new-interaction)))))
csi/add-interaction new-interaction)))))
(when (and (not (cph/connected-frame? (:id frame) objects))
(nil? flow))
(rx/of (add-flow (:id frame))))))))))
@ -161,7 +161,7 @@
(rx/of (dch/update-shapes [(:id shape)]
(fn [shape]
(update shape :interactions
cti/remove-interaction index)))))))
csi/remove-interaction index)))))))
(defn update-interaction
[shape index update-fn]
@ -171,7 +171,7 @@
(rx/of (dch/update-shapes [(:id shape)]
(fn [shape]
(update shape :interactions
cti/update-interaction index update-fn)))))))
csi/update-interaction index update-fn)))))))
(declare move-edit-interaction)
(declare finish-edit-interaction)
@ -244,11 +244,11 @@
(rx/of (update-interaction shape index
(fn [interaction]
(cond-> interaction
(not (cti/has-destination interaction))
(cti/set-action-type :navigate)
(not (csi/has-destination interaction))
(csi/set-action-type :navigate)
:always
(cti/set-destination (:id frame))))))))))))))
(csi/set-destination (:id frame))))))))))))))
;; --- Overlays
(declare move-overlay-pos)
@ -326,7 +326,7 @@
new-interactions
(update interactions index
#(cti/set-overlay-position % overlay-pos))]
#(csi/set-overlay-position % overlay-pos))]
(rx/of (dch/update-shapes [(:id shape)] #(merge % {:interactions new-interactions})))))))

View file

@ -12,6 +12,10 @@
[app.common.logging :as log]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.spec.change :as spec.change]
[app.common.spec.color :as spec.color]
[app.common.spec.file :as spec.file]
[app.common.spec.typography :as spec.typography]
[app.common.uuid :as uuid]
[app.main.data.messages :as dm]
[app.main.data.workspace.changes :as dch]
@ -88,7 +92,7 @@
color (-> color
(assoc :id id)
(assoc :name (default-color-name color)))]
(us/assert ::cp/color color)
(us/assert ::spec.color/color color)
(ptk/reify ::add-color
IDeref
(-deref [_] color)
@ -105,7 +109,7 @@
:origin it})))))))
(defn add-recent-color
[color]
(us/assert ::cp/recent-color color)
(us/assert ::spec.color/recent-color color)
(ptk/reify ::add-recent-color
ptk/WatchEvent
(watch [it _ _]
@ -123,7 +127,7 @@
(defn update-color
[{:keys [id] :as color} file-id]
(us/assert ::cp/color color)
(us/assert ::spec.color/color color)
(us/assert ::us/uuid file-id)
(ptk/reify ::update-color
ptk/WatchEvent
@ -159,7 +163,7 @@
(defn add-media
[{:keys [id] :as media}]
(us/assert ::cp/media-object media)
(us/assert ::spec.file/media-object media)
(ptk/reify ::add-media
ptk/WatchEvent
(watch [it _ _]
@ -215,7 +219,7 @@
([typography] (add-typography typography true))
([typography edit?]
(let [typography (update typography :id #(or % (uuid/next)))]
(us/assert ::cp/typography typography)
(us/assert ::spec.typography/typography typography)
(ptk/reify ::add-typography
IDeref
(-deref [_] typography)
@ -235,7 +239,7 @@
(defn update-typography
[typography file-id]
(us/assert ::cp/typography typography)
(us/assert ::spec.typography/typography typography)
(us/assert ::us/uuid file-id)
(ptk/reify ::update-typography
ptk/WatchEvent
@ -396,7 +400,7 @@
[file-id component-id position]
(us/assert ::us/uuid file-id)
(us/assert ::us/uuid component-id)
(us/assert ::us/point position)
(us/assert ::gpt/point position)
(ptk/reify ::instantiate-component
ptk/WatchEvent
(watch [it state _]
@ -533,7 +537,7 @@
(defn ext-library-changed
[file-id modified-at revn changes]
(us/assert ::us/uuid file-id)
(us/assert ::cp/changes changes)
(us/assert ::spec.change/changes changes)
(ptk/reify ::ext-library-changed
ptk/UpdateEvent
(update [_ state]

View file

@ -8,8 +8,8 @@
(:require
[app.common.data :as d]
[app.common.geom.point :as gpt]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.spec.change :as spec.change]
[app.common.transit :as t]
[app.common.uri :as u]
[app.config :as cf]
@ -201,7 +201,7 @@
(s/def ::file-id uuid?)
(s/def ::session-id uuid?)
(s/def ::revn integer?)
(s/def ::changes ::cp/changes)
(s/def ::changes ::spec.change/changes)
(s/def ::file-change-event
(s/keys :req-un [::type ::profile-id ::file-id ::session-id ::revn ::changes]))

View file

@ -10,6 +10,8 @@
[app.common.exceptions :as ex]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.spec.change :as spec.change]
[app.common.spec.file :as spec.file]
[app.common.uuid :as uuid]
[app.main.data.dashboard :as dd]
[app.main.data.events :as ev]
@ -200,7 +202,7 @@
:updated-at (dt/now)))))))
(s/def ::shapes-changes-persisted
(s/keys :req-un [::revn ::cp/changes]))
(s/keys :req-un [::revn ::spec.change/changes]))
(defn shapes-persisted-event? [event]
(= (ptk/type event) ::changes-persisted))
@ -238,7 +240,7 @@
(s/def ::version ::us/integer)
(s/def ::revn ::us/integer)
(s/def ::ordering ::us/integer)
(s/def ::data ::cp/data)
(s/def ::data ::spec.file/data)
(s/def ::file ::dd/file)
(s/def ::project ::dd/project)

View file

@ -12,7 +12,7 @@
[app.common.math :as mth]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.types.interactions :as cti]
[app.common.spec.interactions :as cti]
[app.common.uuid :as uuid]
[app.main.data.modal :as md]
[app.main.data.workspace.changes :as dch]

View file

@ -6,8 +6,8 @@
(ns app.main.data.workspace.undo
(:require
[app.common.pages.spec :as spec]
[app.common.spec :as us]
[app.common.spec.change :as spec.change]
[cljs.spec.alpha :as s]
[potok.core :as ptk]))
@ -15,8 +15,8 @@
;; Undo / Redo
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(s/def ::undo-changes ::spec/changes)
(s/def ::redo-changes ::spec/changes)
(s/def ::undo-changes ::spec.change/changes)
(s/def ::redo-changes ::spec.change/changes)
(s/def ::undo-entry
(s/keys :req-un [::undo-changes ::redo-changes]))

View file

@ -6,8 +6,8 @@
(ns app.main.ui.shapes.attrs
(:require
[app.common.pages.spec :as spec]
[app.common.types.radius :as ctr]
[app.common.spec.radius :as ctr]
[app.common.spec.shape :refer [stroke-caps-line stroke-caps-marker]]
[app.main.ui.context :as muc]
[app.util.object :as obj]
[app.util.svg :as usvg]
@ -131,7 +131,7 @@
;; For simple line caps we use svg stroke-line-cap attribute. This
;; only works if all caps are the same and we are not using the tricks
;; for inner or outer strokes.
(and (spec/stroke-caps-line (:stroke-cap-start shape))
(and (stroke-caps-line (:stroke-cap-start shape))
(= (:stroke-cap-start shape) (:stroke-cap-end shape))
(not (#{:inner :outer} (:stroke-alignment shape)))
(not= :dotted stroke-style))
@ -141,15 +141,15 @@
(assoc :strokeLinecap "round")
;; For other cap types we use markers.
(and (or (spec/stroke-caps-marker (:stroke-cap-start shape))
(and (spec/stroke-caps-line (:stroke-cap-start shape))
(and (or (stroke-caps-marker (:stroke-cap-start shape))
(and (stroke-caps-line (:stroke-cap-start shape))
(not= (:stroke-cap-start shape) (:stroke-cap-end shape))))
(not (#{:inner :outer} (:stroke-alignment shape))))
(assoc :markerStart
(str/format "url(#marker-%s-%s)" render-id (name (:stroke-cap-start shape))))
(and (or (spec/stroke-caps-marker (:stroke-cap-end shape))
(and (spec/stroke-caps-line (:stroke-cap-end shape))
(and (or (stroke-caps-marker (:stroke-cap-end shape))
(and (stroke-caps-line (:stroke-cap-end shape))
(not= (:stroke-cap-start shape) (:stroke-cap-end shape))))
(not (#{:inner :outer} (:stroke-alignment shape))))
(assoc :markerEnd

View file

@ -7,7 +7,7 @@
(ns app.main.ui.viewer.handoff.attributes.layout
(:require
[app.common.math :as mth]
[app.common.types.radius :as ctr]
[app.common.spec.radius :as ctr]
[app.main.ui.components.copy-button :refer [copy-button]]
[app.util.code-gen :as cg]
[app.util.i18n :refer [t]]

View file

@ -10,7 +10,7 @@
[app.common.geom.matrix :as gmt]
[app.common.geom.point :as gpt]
[app.common.pages :as cp]
[app.common.types.page-options :as cto]
[app.common.spec.page :as csp]
[app.main.data.comments :as dcm]
[app.main.data.viewer :as dv]
[app.main.refs :as refs]
@ -107,7 +107,7 @@
frames (:frames page)
frame (get frames index)
current-flow (mf/use-state
(cto/get-frame-flow flows (:id frame)))
(csp/get-frame-flow flows (:id frame)))
show-dropdown? (mf/use-state false)
toggle-dropdown (mf/use-fn #(swap! show-dropdown? not))

View file

@ -11,7 +11,7 @@
[app.common.geom.point :as gpt]
[app.common.geom.shapes :as geom]
[app.common.pages :as cp]
[app.common.types.interactions :as cti]
[app.common.spec.interactions :as cti]
[app.main.data.viewer :as dv]
[app.main.refs :as refs]
[app.main.store :as st]

View file

@ -8,7 +8,7 @@
"A workspace specific context menu (mouse right click)."
(:require
[app.common.data :as d]
[app.common.types.page-options :as cto]
[app.common.spec.page :as csp]
[app.main.data.modal :as modal]
[app.main.data.workspace :as dw]
[app.main.data.workspace.interactions :as dwi]
@ -307,7 +307,7 @@
is-frame? (and single? has-frame?)]
(when (and prototype? is-frame?)
(let [flow (cto/get-frame-flow flows (-> shapes first :id))]
(let [flow (csp/get-frame-flow flows (-> shapes first :id))]
(if (some? flow)
[:& menu-entry {:title (tr "workspace.shape.menu.delete-flow-start")
:on-click (do-remove-flow flow)}]

View file

@ -8,7 +8,6 @@
(:require
[app.common.data :as d]
[app.common.geom.shapes :as gsh]
[app.common.pages.spec :as spec]
[app.common.uuid :as uuid]
[app.main.data.workspace.changes :as dch]
[app.main.refs :as refs]
@ -50,8 +49,8 @@
;; first-level? (and in-frame?
;; (= (:parent-id values) (:frame-id values)))
constraints-h (get values :constraints-h (spec/default-constraints-h values))
constraints-v (get values :constraints-v (spec/default-constraints-v values))
constraints-h (get values :constraints-h (gsh/default-constraints-h values))
constraints-v (get values :constraints-v (gsh/default-constraints-v values))
on-constraint-button-clicked
(mf/use-callback

View file

@ -8,8 +8,8 @@
(:require
[app.common.data :as d]
[app.common.pages :as cp]
[app.common.types.interactions :as cti]
[app.common.types.page-options :as cto]
[app.common.spec.interactions :as csi]
[app.common.spec.page :as csp]
[app.common.uuid :as uuid]
[app.main.data.workspace :as dw]
[app.main.data.workspace.interactions :as dwi]
@ -79,7 +79,7 @@
{:dissolve (tr "workspace.options.interaction-animation-dissolve")
:slide (tr "workspace.options.interaction-animation-slide")}
(cti/allow-push? (:action-type interaction))
(csi/allow-push? (:action-type interaction))
(assoc :push (tr "workspace.options.interaction-animation-push"))))
(defn- easing-names
@ -165,7 +165,7 @@
(mf/defc shape-flows
[{:keys [flows shape]}]
(when (= (:type shape) :frame)
(let [flow (cto/get-frame-flow flows (:id shape))]
(let [flow (csp/get-frame-flow flows (:id shape))]
[:div.element-set.interactions-options
[:div.element-set-title
[:span (tr "workspace.options.flows.flow-start")]]
@ -201,27 +201,27 @@
change-event-type
(fn [event]
(let [value (-> event dom/get-target dom/get-value d/read-string)]
(update-interaction index #(cti/set-event-type % value shape))))
(update-interaction index #(csi/set-event-type % value shape))))
change-action-type
(fn [event]
(let [value (-> event dom/get-target dom/get-value d/read-string)]
(update-interaction index #(cti/set-action-type % value))))
(update-interaction index #(csi/set-action-type % value))))
change-delay
(fn [value]
(update-interaction index #(cti/set-delay % value)))
(update-interaction index #(csi/set-delay % value)))
change-destination
(fn [event]
(let [value (-> event dom/get-target dom/get-value)
value (when (not= value "") (uuid/uuid value))]
(update-interaction index #(cti/set-destination % value))))
(update-interaction index #(csi/set-destination % value))))
change-preserve-scroll
(fn [event]
(let [value (-> event dom/get-target dom/checked?)]
(update-interaction index #(cti/set-preserve-scroll % value))))
(update-interaction index #(csi/set-preserve-scroll % value))))
change-url
(fn [event]
@ -237,55 +237,55 @@
(if (dom/valid? target)
(do
(dom/remove-class! target "error")
(update-interaction index #(cti/set-url % value)))
(update-interaction index #(csi/set-url % value)))
(dom/add-class! target "error"))))
change-overlay-pos-type
(fn [event]
(let [value (-> event dom/get-target dom/get-value d/read-string)]
(update-interaction index #(cti/set-overlay-pos-type % value shape objects))))
(update-interaction index #(csi/set-overlay-pos-type % value shape objects))))
toggle-overlay-pos-type
(fn [pos-type]
(update-interaction index #(cti/toggle-overlay-pos-type % pos-type shape objects)))
(update-interaction index #(csi/toggle-overlay-pos-type % pos-type shape objects)))
change-close-click-outside
(fn [event]
(let [value (-> event dom/get-target dom/checked?)]
(update-interaction index #(cti/set-close-click-outside % value))))
(update-interaction index #(csi/set-close-click-outside % value))))
change-background-overlay
(fn [event]
(let [value (-> event dom/get-target dom/checked?)]
(update-interaction index #(cti/set-background-overlay % value))))
(update-interaction index #(csi/set-background-overlay % value))))
change-animation-type
(fn [event]
(let [value (-> event dom/get-target dom/get-value d/read-string)]
(update-interaction index #(cti/set-animation-type % value))))
(update-interaction index #(csi/set-animation-type % value))))
change-duration
(fn [value]
(update-interaction index #(cti/set-duration % value)))
(update-interaction index #(csi/set-duration % value)))
change-easing
(fn [event]
(let [value (-> event dom/get-target dom/get-value d/read-string)]
(update-interaction index #(cti/set-easing % value))))
(update-interaction index #(csi/set-easing % value))))
change-way
(fn [event]
(let [value (-> event dom/get-target dom/get-value d/read-string)]
(update-interaction index #(cti/set-way % value))))
(update-interaction index #(csi/set-way % value))))
change-direction
(fn [value]
(update-interaction index #(cti/set-direction % value)))
(update-interaction index #(csi/set-direction % value)))
change-offset-effect
(fn [event]
(let [value (-> event dom/get-target dom/checked?)]
(update-interaction index #(cti/set-offset-effect % value))))
(update-interaction index #(csi/set-offset-effect % value))))
]
[:*
@ -316,7 +316,7 @@
[:option {:value (str value)} name]))]]
; Delay
(when (cti/has-delay interaction)
(when (csi/has-delay interaction)
[:div.interactions-element
[:span.element-set-subtitle.wide (tr "workspace.options.interaction-delay")]
[:div.input-element {:title (tr "workspace.options.interaction-ms")}
@ -337,7 +337,7 @@
[:option {:value (str value)} name])]]
; Destination
(when (cti/has-destination interaction)
(when (csi/has-destination interaction)
[:div.interactions-element
[:span.element-set-subtitle.wide (tr "workspace.options.interaction-destination")]
[:select.input-select
@ -352,7 +352,7 @@
[:option {:value (str (:id frame))} (:name frame)]))]])
; Preserve scroll
(when (cti/has-preserve-scroll interaction)
(when (csi/has-preserve-scroll interaction)
[:div.interactions-element
[:div.input-checkbox
[:input {:type "checkbox"
@ -363,7 +363,7 @@
(tr "workspace.options.interaction-preserve-scroll")]]])
; URL
(when (cti/has-url interaction)
(when (csi/has-url interaction)
[:div.interactions-element
[:span.element-set-subtitle.wide (tr "workspace.options.interaction-url")]
[:input.input-text {:type "url"
@ -371,7 +371,7 @@
:default-value (str (:url interaction))
:on-blur change-url}]])
(when (cti/has-overlay-opts interaction)
(when (csi/has-overlay-opts interaction)
[:*
; Overlay position (select)
[:div.interactions-element
@ -433,7 +433,7 @@
[:label {:for (str "background-" index)}
(tr "workspace.options.interaction-background")]]]])
(when (cti/has-animation? interaction)
(when (csi/has-animation? interaction)
[:*
; Animation select
[:div.interactions-element.separator
@ -446,7 +446,7 @@
[:option {:value (str value)} name])]]
; Direction
(when (cti/has-way? interaction)
(when (csi/has-way? interaction)
[:div.interactions-element.interactions-way-buttons
[:div.input-radio
[:input {:type "radio"
@ -466,7 +466,7 @@
[:label {:for "way-out"} (tr "workspace.options.interaction-out")]]])
; Direction
(when (cti/has-direction? interaction)
(when (csi/has-direction? interaction)
[:div.interactions-element.interactions-direction-buttons
[:div.element-set-actions-button
{:class (dom/classnames :active (= direction :right))
@ -486,7 +486,7 @@
i/animate-up]])
; Duration
(when (cti/has-duration? interaction)
(when (csi/has-duration? interaction)
[:div.interactions-element
[:span.element-set-subtitle.wide (tr "workspace.options.interaction-duration")]
[:div.input-element {:title (tr "workspace.options.interaction-ms")}
@ -498,7 +498,7 @@
[:span.after (tr "workspace.options.interaction-ms")]]])
; Easing
(when (cti/has-easing? interaction)
(when (csi/has-easing? interaction)
[:div.interactions-element
[:span.element-set-subtitle.wide (tr "workspace.options.interaction-easing")]
[:select.input-select
@ -515,7 +515,7 @@
:ease-in-out i/easing-ease-in-out)]])
; Offset effect
(when (cti/has-offset-effect? interaction)
(when (csi/has-offset-effect? interaction)
[:div.interactions-element
[:div.input-checkbox
[:input {:type "checkbox"

View file

@ -9,7 +9,7 @@
[app.common.data :as d]
[app.common.geom.shapes :as gsh]
[app.common.math :as math]
[app.common.types.radius :as ctr]
[app.common.spec.radius :as ctr]
[app.main.data.workspace :as udw]
[app.main.data.workspace.changes :as dch]
[app.main.refs :as refs]

View file

@ -8,7 +8,6 @@
(:require
[app.common.colors :as clr]
[app.common.data :as d]
[app.common.pages.spec :as spec]
[app.main.data.workspace.changes :as dch]
[app.main.data.workspace.colors :as dc]
[app.main.store :as st]
@ -127,7 +126,7 @@
update-cap-attr
(fn [& kvs]
#(if (spec/has-caps? %)
#(if (= :path (:type %))
(apply (partial assoc %) kvs)
%))

View file

@ -10,7 +10,7 @@
[app.common.data :as d]
[app.common.geom.shapes :as gsh]
[app.common.pages :as cp]
[app.common.types.interactions :as cti]
[app.common.spec.interactions :as cti]
[app.main.data.workspace :as dw]
[app.main.refs :as refs]
[app.main.store :as st]

View file

@ -9,7 +9,7 @@
[app.common.data :as d]
[app.common.geom.matrix :as gmt]
[app.common.geom.point :as gpt]
[app.common.types.interactions :as cti]
[app.common.spec.interactions :as cti]
[app.common.uuid :as uuid]
[app.util.color :as uc]
[app.util.json :as json]