summaryrefslogtreecommitdiff
path: root/TODO.norg
blob: 8be3a55da26e95254ca31c012b43be51ac03db2c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
* Now
  - (x) Documentation
  - (x) string concatenation/interpolation
  - (x) some way to de-quotify values?
  - (x) re-quotify value
  - (x) analog + digital clock example
  - (x) error handling try
  - ( ) Scoped catch on try
  - ( ) `do` expression
  - ( ) `has-class`
  - ( ) `add-class` & `remove-class` should use self if id is not specified?
  - ( ) Update `--cssx-text` on update

* Later
  - ( ) keyboard events
  - ( ) Code cleanup
  - ( ) Additional events
  - ( ) Improve parser error messages
  - ( ) Improve eval error messages
  - ( ) filter for on update on specific properties
  - ( ) FFI interface to declare functions

* Maybe
  - ( ) `--cssx-use-properties: --parent-prop;` to trigger nested property update
  - ( ) Evaluate `calc`
  - ( ) *server-side css*? Why the fuck not!?

* Done
  - (x) Hydrate existing elements instead of re-creating
  - (x) `load-cssx` functions
  - (x) `get-variable`
  - (x) `update-variable`
  - (x) Use css units for `delay` function
  - (x) Specify node type - `button(id)` or `button#id`
  - (x) attributes
  - (x) `--cssx-text` (and maybe `--cssx-html`?)
  - (x) dom tests
  - (x) `attr` function
  - (x) `set-attr` should allow specifying id?
  - (x) `set-attr` + remove attribute?
  - (x) `pair` parsing
  - (x) `selector` parsing
  - (x) `map` data structure
  - (x) component system (with variables. `instance(button#my-btn)`)
  - (x) More complex selector support for cssx-children
  - (x) `add-element` & `remove-element`
  - (x) conditionals
  - (x) on update
  - (x) access child from an instance (update checkbox)
  - (x) access instance from child (delete task)
  - (x) focus blur events
  - (x) Refactor eval to return EvalValue
  - (x) Functions. `--my-func: func(if(get-var(--x), get-var(--y), ""))`.
  - (x) Function calls. `call(get-var(--my-func), --x: 6, --y: 2)`