github.com/jgarto/itcv@v0.0.0-20180826224514-4eea09c1aa0d/examples/sites/globalstate/main.go (about) 1 // Copyright (c) 2016 Paul Jolly <paul@myitcv.org.uk>, all rights reserved. 2 // Use of this document is governed by a license found in the LICENSE document. 3 4 package main 5 6 import ( 7 "net/url" 8 9 "myitcv.io/react" 10 "myitcv.io/react/examples/sites/globalstate/model" 11 "myitcv.io/react/examples/sites/globalstate/state" 12 13 "honnef.co/go/js/dom" 14 ) 15 16 //go:generate reactGen 17 18 var document = dom.GetWindow().Document().(dom.HTMLDocument) 19 20 func main() { 21 domTarget := document.GetElementByID("app") 22 23 u, err := url.Parse(document.URL()) 24 if err != nil { 25 panic(err) 26 } 27 28 var elems []react.Element 29 30 if u.Query().Get("hideGithubRibbon") != "true" { 31 a := react.A( 32 &react.AProps{ 33 ClassName: "github-fork-ribbon right-top", 34 Target: "_blank", 35 Href: "https://github.com/myitcv/react/blob/master/examples/sites/globalstate/main.go", 36 Title: "Source on GitHub", 37 }, 38 react.S("Source on GitHub"), 39 ) 40 41 elems = append(elems, a) 42 } 43 44 elems = append(elems, App()) 45 46 state.State.Root().People().Set(model.NewPeople( 47 model.NewPerson("Peter", 50), 48 model.NewPerson("Paul", 51), 49 model.NewPerson("Mary", 52), 50 )) 51 52 react.Render(react.Div(nil, elems...), domTarget) 53 }