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  }