File tree 10 files changed +63
-22
lines changed
10 files changed +63
-22
lines changed Original file line number Diff line number Diff line change 1
1
(ns renderer.db
2
2
(:require
3
+ [renderer.dialog.db]
3
4
[renderer.document.db]
4
5
[renderer.snap.db]
5
6
[renderer.theme.db]
16
17
[:rulers-visible? boolean?]
17
18
[:snap renderer.snap.db/snap]
18
19
[:rulers-locked? boolean?]
19
- [:documents [:map-of :uuid renderer.document.db/document]]
20
- [:document-tabs [:vector uuid?]]
20
+ [:dialogs [:vector renderer.dialog.db/dialog]]
21
+ [:documents [:map-of keyword? map?]]
22
+ [:document-tabs [:vector keyword?]]
23
+ [:recent [:vector string?]]
21
24
[:system-fonts vector?]
25
+ [:notifications vector?]
22
26
[:debug-info? boolean?]
23
27
[:pen-mode? boolean?]
24
- [:panel [:map-of :key [:map [:visible? boolean?]]]]
28
+ [:backdrop? boolean?]
29
+ [:lang keyword?]
30
+ [:repl-mode keyword?]
31
+ [:worker [:map [:tasks set?]]]
32
+ [:panel [:map-of keyword? [:map [:visible? boolean?]]]]
25
33
[:window renderer.window.db/window]
26
34
[:theme renderer.theme.db/theme]
27
35
[:timeline renderer.timeline.db/timeline]])
39
47
:notifications []
40
48
:debug-info? false
41
49
:pen-mode? false
50
+ :backdrop? false
42
51
:rulers-locked? false
43
52
:grid-visible? false
44
53
:rulers-visible? true
48
57
:lang :en-US
49
58
:repl-mode :cljs
50
59
:theme {:mode :dark }
51
- :worker {:tasks {}}
52
- :cmdk {:visible? false }
60
+ :worker {:tasks #{}}
53
61
:panel {:tree {:visible? true }
54
62
:properties {:visible? true }
55
63
:timeline {:visible? false }
Original file line number Diff line number Diff line change
1
+ (ns renderer.dialog.db )
2
+
3
+ (def dialog
4
+ [:map
5
+ [:title {:optional true } string?]
6
+ [:content {:optional true } vector?]
7
+ [:attrs {:optional true } map?]])
Original file line number Diff line number Diff line change 1
1
(ns renderer.document.db
2
2
(:require
3
- [renderer.element.db :as element.db ]))
3
+ [renderer.element.db]))
4
4
5
5
(def document
6
6
[:map
7
- [:hovered-keys [:set uuid?]]
8
- [:collapsed-keys [:set uuid?]]
9
- [:ignored-keys [:set uuid?]]
7
+ [:key keyword?]
8
+ [:title string?]
9
+ [:hovered-keys [:set keyword?]]
10
+ [:collapsed-keys [:set keyword?]]
11
+ [:ignored-keys [:set keyword?]]
10
12
[:fill string?]
11
13
[:stroke string?]
12
14
[:zoom double?]
13
15
[:rotate double?]
14
- [:filter keyword ?]
16
+ [:history map ?]
15
17
[:pan [:tuple double? double?]]
16
- [:elements [:map-of :uuid element.db/element]]])
18
+ [:elements [:map-of keyword? renderer. element.db/element]]])
17
19
18
20
(def default-document
19
21
{:hovered-keys #{}
Original file line number Diff line number Diff line change 30
30
[db file-path]
31
31
(cond-> db
32
32
file-path
33
- (update :recent #(-> % (conj file-path) distinct))))
33
+ (update :recent #(-> % (conj file-path) distinct vec ))))
34
34
35
35
(defn set-active
36
36
[db k]
Original file line number Diff line number Diff line change 6
6
[:multi {:dispatch :tag }
7
7
[::ma/default
8
8
[:map
9
- [:key uuid ?]
9
+ [:key keyword ?]
10
10
[:type [:enum :element :handle ]]
11
11
[:visible? boolean?]
12
12
[:selected? boolean?]
13
- [:attrs [:map-of :uuid string?]]]]])
13
+ [:content string?]
14
+ [:attrs [:map-of keyword? string?]]]]])
Original file line number Diff line number Diff line change 6
6
[renderer.effects]
7
7
[renderer.handlers :as h]
8
8
[renderer.frame.handlers :as frame-h]
9
+ [renderer.notification.events :as-alias notification.e]
9
10
[renderer.tool.base :as tool]
10
11
[renderer.utils.local-storage :as local-storage]
11
12
[renderer.utils.pointer :as pointer]))
12
13
13
- (defn check-and-throw
14
+ (defn check-schema
14
15
" Throws an exception if `db` doesn't match the Spec"
15
16
[spec db]
16
17
(when-not (ma/validate spec db)
17
- (js/console.log (ex-info (str " spec check failed: " (ma/explain spec db)) {}))
18
+ (rf/dispatch [::notification.e/add [:div
19
+ [:h2.mb-4.font-bold " Spec check failed" ]
20
+ [:p.text-error #_(str (ma/explain spec db))]]])
18
21
db))
19
22
20
23
#_:clj-kondo/ignore
21
- (def schema-valdator (rf/after (partial check-and-throw db/app)))
24
+ (def schema-valdator (rf/after (partial check-schema db/app)))
22
25
23
- #_ (rf/reg-global-interceptor schema-valdator)
26
+ (rf/reg-global-interceptor schema-valdator)
24
27
25
28
(rf/reg-event-db
26
29
:initialize-db
Original file line number Diff line number Diff line change
1
+ (ns renderer.history.db
2
+ (:require
3
+ [renderer.element.db]))
4
+
5
+ (def state
6
+ [:map
7
+ [:explenation string?]
8
+ [:timestamp double?]
9
+ [:index integer?]
10
+ [:id keyword?]
11
+ [:elements [:map-of keyword? renderer.element.db/element]]
12
+ [:parent keyword?]
13
+ [:children [:vector keyword?]]])
14
+
15
+ (def history
16
+ [:map
17
+ [:zoom double?]
18
+ [:position keyword?]
19
+ [:states [:map-of keyword? state]]])
Original file line number Diff line number Diff line change 598
598
{:class " menubar-root"
599
599
:on-key-down #(when-not (= (.-key %) " Escape" )
600
600
(.stopPropagation %)) ; FIXME: Esc global action also triggered.
601
- :onValueChange #(rf/dispatch [:set-backdrop (seq %)])}]
601
+ :onValueChange #(rf/dispatch [:set-backdrop (boolean ( seq %) )])}]
602
602
(map menu-item (root-menu ))))
Original file line number Diff line number Diff line change 7
7
[:map
8
8
[:enabled? boolean?]
9
9
[:threshold double?]
10
- [:options options]])
10
+ [:options [ :set options] ]])
Original file line number Diff line number Diff line change 1
1
(ns renderer.theme.db )
2
2
3
3
(def theme
4
- [:mode [:enum :dark :light :system ]
5
- :native [:enum :dark :light ]])
4
+ [:map
5
+ [:mode [:enum :dark :light :system ]]
6
+ [:native [:enum :dark :light ]]])
You can’t perform that action at this time.
0 commit comments