Compare commits

..

1 Commits

Author SHA1 Message Date
Andrey Antukh
9013c0ac5d 🐛 Fix unhandled exception on using decimals on stroke row 2026-02-18 16:52:20 +01:00
4 changed files with 16 additions and 28 deletions

View File

@@ -50,7 +50,6 @@ services:
- 4400:4400
- 4401:4401
- 4402:4402
- 4403:4403
# Plugins
- 4200:4200

View File

@@ -94,12 +94,12 @@
(mf/use-fn
(mf/deps index on-stroke-width-change)
(fn [value]
(if (or (string? value) (int? value))
(if (or (string? value) (number? value))
(on-stroke-width-change index value)
(do
(st/emit! (dwta/toggle-token {:token (first value)
:attrs #{:stroke-width}
:shape-ids ids}))))))
(st/emit! (dwta/toggle-token {:token (first value)
:attrs #{:stroke-width}
:shape-ids ids})))))
stroke-alignment (or (:stroke-alignment stroke) :center)

View File

@@ -1305,8 +1305,7 @@
tokens)))}
:applyToken
{:enumerable false
:schema [:tuple
{:schema [:tuple
[:fn token-proxy?]
[:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]]
:fn (fn [token attrs]

View File

@@ -144,16 +144,14 @@
(st/emit! (dwtl/delete-token set-id id)))
:applyToShapes
{:enumerable false
:schema [:tuple
{:schema [:tuple
[:vector [:fn shape-proxy?]]
[:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]]
:fn (fn [shapes attrs]
(apply-token-to-shapes file-id set-id id (map #(obj/get % "$id") shapes) attrs))}
:applyToSelected
{:enumerable false
:schema [:tuple [:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]]
{:schema [:tuple [:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]]
:fn (fn [attrs]
(let [selected (get-in @st/state [:workspace-local :selected])]
(apply-token-to-shapes file-id set-id id selected attrs)))}))
@@ -238,16 +236,14 @@
(apply array))))}
:getTokenById
{:enumerable false
:schema [:tuple ::sm/uuid]
{:schema [:tuple ::sm/uuid]
:fn (fn [token-id]
(let [token (u/locate-token file-id id token-id)]
(when (some? token)
(token-proxy plugin-id file-id id token-id))))}
:addToken
{:enumerable false
:schema (fn [args]
{:schema (fn [args]
[:tuple (-> (cfo/make-token-schema
(-> (u/locate-tokens-lib file-id) (ctob/get-tokens id))
(cto/dtcg-token-type->token-type (-> args (first) (get "type"))))
@@ -357,15 +353,13 @@
{:this true :get (fn [_])}
:addSet
{:enumerable false
:schema [:tuple [:fn token-set-proxy?]]
{:schema [:tuple [:fn token-set-proxy?]]
:fn (fn [token-set]
(let [theme (u/locate-token-theme file-id id)]
(st/emit! (dwtl/update-token-theme id (ctob/enable-set theme (obj/get token-set :name))))))}
:removeSet
{:enumerable false
:schema [:tuple [:fn token-set-proxy?]]
{:schema [:tuple [:fn token-set-proxy?]]
:fn (fn [token-set]
(let [theme (u/locate-token-theme file-id id)]
(st/emit! (dwtl/update-token-theme id (ctob/disable-set theme (obj/get token-set :name))))))}
@@ -412,8 +406,7 @@
(apply array (map #(token-set-proxy plugin-id file-id (ctob/get-id %)) sets))))}
:addTheme
{:enumerable false
:schema (fn [attrs]
{:schema (fn [attrs]
[:tuple (-> (sm/schema (cfo/make-token-theme-schema
(u/locate-tokens-lib file-id)
(or (obj/get attrs "group") "")
@@ -426,8 +419,7 @@
(token-theme-proxy plugin-id file-id (:id theme))))}
:addSet
{:enumerable false
:schema [:tuple (-> (sm/schema (cfo/make-token-set-schema
{:schema [:tuple (-> (sm/schema (cfo/make-token-set-schema
(u/locate-tokens-lib file-id)
nil))
(sm/dissoc-key :id))] ;; We don't allow plugins to set the id
@@ -439,16 +431,14 @@
(token-set-proxy plugin-id file-id (ctob/get-id set))))}
:getThemeById
{:enumerable false
:schema [:tuple ::sm/uuid]
{:schema [:tuple ::sm/uuid]
:fn (fn [theme-id]
(let [theme (u/locate-token-theme file-id theme-id)]
(when (some? theme)
(token-theme-proxy plugin-id file-id theme-id))))}
:getSetById
{:enumerable false
:schema [:tuple ::sm/uuid]
{:schema [:tuple ::sm/uuid]
:fn (fn [set-id]
(let [set (u/locate-token-set file-id set-id)]
(when (some? set)