forked from gowade/wade
-
Notifications
You must be signed in to change notification settings - Fork 0
/
diff_works.go
32 lines (27 loc) · 1.05 KB
/
diff_works.go
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
package main
import (
"github.com/gopherjs/gopherjs/js"
. "github.com/gowade/wade/vdom"
"github.com/gowade/wade/vdom/browser"
)
func main() {
b := NewElement("div", nil, []Node{
NewElement("span", nil, []Node{}),
NewElement("ul", nil, []Node{
NewElement("notli", Attributes{"key": 0}, []Node{NewTextNode("A")}),
NewElement("li", Attributes{"key": 5}, []Node{NewTextNode("B")}),
NewElement("li", Attributes{"key": 7, "hidden": true}, []Node{NewTextNode("E")}),
NewElement("li", Attributes{"key": 9}, []Node{NewTextNode("D")}),
})})
a := NewElement("div", nil, []Node{
NewElement("span", nil, []Node{NewTextNode("C")}),
NewElement("ul", nil, []Node{
NewElement("li", Attributes{"key": 5, "hidden": true}, []Node{NewTextNode("A")}),
NewElement("li", Attributes{"key": 9}, []Node{NewTextNode("D")}),
NewElement("li", Attributes{"key": 7, "hidden": false}, []Node{NewTextNode("E")}),
}),
})
root := js.Global.Get("document").Call("getElementById", "container")
browser.PerformDiff(b, nil, root)
browser.PerformDiff(a, b, root)
}