mirror of
https://github.com/taigrr/wasm-experiments
synced 2025-01-18 04:03:21 -08:00
Update vugu to 0.2.3
This commit is contained in:
parent
8ff3411233
commit
aef989c951
2
Makefile
2
Makefile
@ -59,7 +59,7 @@ ebiten: clean
|
|||||||
.PHONY: vugu
|
.PHONY: vugu
|
||||||
vugu: clean
|
vugu: clean
|
||||||
go install github.com/vugu/vugu/cmd/vugugen
|
go install github.com/vugu/vugu/cmd/vugugen
|
||||||
vugugen --skip-go-mod --skip-main ./vugu/
|
vugugen --skip-go-mod ./vugu/
|
||||||
GOOS=js GOARCH=wasm go build -o ./html/main.wasm ./vugu/
|
GOOS=js GOARCH=wasm go build -o ./html/main.wasm ./vugu/
|
||||||
cp ./vugu/index.html ./html/
|
cp ./vugu/index.html ./html/
|
||||||
cp $$(go env GOROOT)/misc/wasm/wasm_exec.js ./html/wasm_exec.js
|
cp $$(go env GOROOT)/misc/wasm/wasm_exec.js ./html/wasm_exec.js
|
||||||
|
4
go.mod
4
go.mod
@ -10,7 +10,7 @@ require (
|
|||||||
github.com/microcosm-cc/bluemonday v1.0.2
|
github.com/microcosm-cc/bluemonday v1.0.2
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
|
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
|
||||||
github.com/slimsag/blackfriday v2.0.0+incompatible
|
github.com/slimsag/blackfriday v2.0.0+incompatible
|
||||||
github.com/vugu/vugu v0.1.0
|
github.com/vugu/vjson v0.0.0-20191111004939-722507e863cb
|
||||||
|
github.com/vugu/vugu v0.2.3
|
||||||
golang.org/x/image v0.0.0-20190618124811-92942e4437e2
|
golang.org/x/image v0.0.0-20190618124811-92942e4437e2
|
||||||
golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7 // indirect
|
|
||||||
)
|
)
|
||||||
|
40
go.sum
40
go.sum
@ -1,13 +1,16 @@
|
|||||||
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
|
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
|
||||||
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
|
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
|
||||||
github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
|
github.com/chromedp/cdproto v0.0.0-20191009033829-c22f49c9ff0a/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g=
|
||||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
github.com/chromedp/chromedp v0.5.1/go.mod h1:3NMfuKTrKNr8PWEvHzdzZ57PK4jm9zW1C5nKiaWdxcM=
|
||||||
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
|
|
||||||
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
|
|
||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/go-gl/glfw v0.0.0-20181213070059-819e8ce5125f h1:7MsFMbSn8Lcw0blK4+NEOf8DuHoOBDhJsHz04yh13pM=
|
github.com/go-gl/glfw v0.0.0-20181213070059-819e8ce5125f h1:7MsFMbSn8Lcw0blK4+NEOf8DuHoOBDhJsHz04yh13pM=
|
||||||
github.com/go-gl/glfw v0.0.0-20181213070059-819e8ce5125f/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
github.com/go-gl/glfw v0.0.0-20181213070059-819e8ce5125f/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||||
|
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
|
||||||
|
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
|
||||||
|
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
|
||||||
github.com/gofrs/flock v0.7.0 h1:pGFUjl501gafK9HBt1VGL1KCOd/YhIooID+xgyJCf3g=
|
github.com/gofrs/flock v0.7.0 h1:pGFUjl501gafK9HBt1VGL1KCOd/YhIooID+xgyJCf3g=
|
||||||
github.com/gofrs/flock v0.7.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
|
github.com/gofrs/flock v0.7.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||||
@ -34,11 +37,13 @@ github.com/jfreymuth/oggvorbis v1.0.0 h1:aOpiihGrFLXpsh2osOlEvTcg5/aluzGQeC7m3uY
|
|||||||
github.com/jfreymuth/oggvorbis v1.0.0/go.mod h1:abe6F9QRjuU9l+2jek3gj46lu40N4qlYxh2grqkLEDM=
|
github.com/jfreymuth/oggvorbis v1.0.0/go.mod h1:abe6F9QRjuU9l+2jek3gj46lu40N4qlYxh2grqkLEDM=
|
||||||
github.com/jfreymuth/vorbis v1.0.0 h1:SmDf783s82lIjGZi8EGUUaS7YxPHgRj4ZXW/h7rUi7U=
|
github.com/jfreymuth/vorbis v1.0.0 h1:SmDf783s82lIjGZi8EGUUaS7YxPHgRj4ZXW/h7rUi7U=
|
||||||
github.com/jfreymuth/vorbis v1.0.0/go.mod h1:8zy3lUAm9K/rJJk223RKy6vjCZTWC61NA2QD06bfOE0=
|
github.com/jfreymuth/vorbis v1.0.0/go.mod h1:8zy3lUAm9K/rJJk223RKy6vjCZTWC61NA2QD06bfOE0=
|
||||||
|
github.com/knq/sysutil v0.0.0-20191005231841-15668db23d08/go.mod h1:dFWs1zEqDjFtnBXsd1vPOZaLsESovai349994nHx3e0=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
|
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
|
||||||
github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s=
|
github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s=
|
||||||
github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
|
github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
@ -47,13 +52,19 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5I
|
|||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
github.com/slimsag/blackfriday v2.0.0+incompatible h1:3mjnT4p/+Ow8j8/T6H01S5pxXNPhVuOBzxmAbsszxi4=
|
github.com/slimsag/blackfriday v2.0.0+incompatible h1:3mjnT4p/+Ow8j8/T6H01S5pxXNPhVuOBzxmAbsszxi4=
|
||||||
github.com/slimsag/blackfriday v2.0.0+incompatible/go.mod h1:K2UwInbJ1ywJkRQ2IMfjP071c3KZu7FiOn2NW97ckKk=
|
github.com/slimsag/blackfriday v2.0.0+incompatible/go.mod h1:K2UwInbJ1ywJkRQ2IMfjP071c3KZu7FiOn2NW97ckKk=
|
||||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
|
|
||||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
github.com/vugu/vugu v0.1.0 h1:gJtz7jza90ZUKgLb1mu0Ql5x/wDV5pJxiqW7CPV+BJU=
|
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||||
github.com/vugu/vugu v0.1.0/go.mod h1:XcDIa6J18Rk/c56X88PTzawJTS2pSAGdTN6u5RE1ZWc=
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
|
github.com/vugu/html v0.0.0-20190914200101-c62dc20b8289 h1:w3hfLuU5tKlcf+hhfmx6UZ5IC1h5M69dL9/6uugfLj8=
|
||||||
|
github.com/vugu/html v0.0.0-20190914200101-c62dc20b8289/go.mod h1:Y3pLGz8dZUSrB9SARXqFmtW8RNs4HIGAr0+JaWL31Vg=
|
||||||
|
github.com/vugu/vjson v0.0.0-20191111004939-722507e863cb h1:svqBUd2ETVrsM31o/toxvK1WeVMan3vCgrpecE5vMlA=
|
||||||
|
github.com/vugu/vjson v0.0.0-20191111004939-722507e863cb/go.mod h1:z7mAqSUjRDMQ09NIO18jG2llXMHLnUHlZ3/8MEMyBPA=
|
||||||
|
github.com/vugu/vugu v0.2.3 h1:tO0LG4YrIr6hpu+hgf/ccaMMjg3atvlVO+gq5m/2glw=
|
||||||
|
github.com/vugu/vugu v0.2.3/go.mod h1:RFwOrlJHEkdZvrFcde4d6c0/7SqlRA8E4l2yz1Rs8xM=
|
||||||
|
github.com/vugu/xxhash v0.0.0-20191111030615-ed24d0179019 h1:8NGiD5gWbVGObr+lnqcbM2rcOQBO6mr+m19BIblCdho=
|
||||||
|
github.com/vugu/xxhash v0.0.0-20191111030615-ed24d0179019/go.mod h1:PrBK6+LJXwb+3EnJTHo43Uh4FhjFFwvN4jKk4Zc5zZ8=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/exp v0.0.0-20180710024300-14dda7b62fcd h1:nLIcFw7GiqKXUS7HiChg6OAYWgASB2H97dZKd1GhDSs=
|
golang.org/x/exp v0.0.0-20180710024300-14dda7b62fcd h1:nLIcFw7GiqKXUS7HiChg6OAYWgASB2H97dZKd1GhDSs=
|
||||||
golang.org/x/exp v0.0.0-20180710024300-14dda7b62fcd/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20180710024300-14dda7b62fcd/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
@ -66,18 +77,19 @@ golang.org/x/mobile v0.0.0-20180806140643-507816974b79/go.mod h1:z+o9i4GpDbdi3rU
|
|||||||
golang.org/x/mobile v0.0.0-20190127143845-a42111704963 h1:2HSxAhImj2OpXsNjXSqfnv1xtqeCpDjwPB3o1DnQqKM=
|
golang.org/x/mobile v0.0.0-20190127143845-a42111704963 h1:2HSxAhImj2OpXsNjXSqfnv1xtqeCpDjwPB3o1DnQqKM=
|
||||||
golang.org/x/mobile v0.0.0-20190127143845-a42111704963/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
golang.org/x/mobile v0.0.0-20190127143845-a42111704963/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||||
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2 h1:4dVFTC832rPn4pomLSz1vA+are2+dU19w1H8OngV7nc=
|
||||||
golang.org/x/net v0.0.0-20190328230028-74de082e2cca h1:hyA6yiAgbUwuWqtscNvWAI7U1CtlaD1KilQ6iudt1aI=
|
golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190203050204-7ae0202eb74c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190203050204-7ae0202eb74c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7 h1:LepdCS8Gf/MVejFIt8lsiexZATdoGVyp5bcyS+rYoUI=
|
golang.org/x/sys v0.0.0-20191008105621-543471e840be h1:QAcqgptGM8IQBC9K/RC4o+O9YmqEm0diQn9QmZw/0mU=
|
||||||
golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/tools v0.0.0-20190202235157-7414d4c1f71c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20190202235157-7414d4c1f71c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190407030857-0fdf0c73855b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="target">
|
<div id="vugu_mount_point">
|
||||||
<img style="position: absolute; top: 50%; left: 50%;"
|
<img style="position: absolute; top: 50%; left: 50%;"
|
||||||
src="https://cdnjs.cloudflare.com/ajax/libs/galleriffic/2.0.1/css/loader.gif">
|
src="https://cdnjs.cloudflare.com/ajax/libs/galleriffic/2.0.1/css/loader.gif">
|
||||||
</div>
|
</div>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
go.run(result.instance);
|
go.run(result.instance);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
document.getElementById("target").innerHTML = 'This application requires WebAssembly support. Please upgrade your browser.';
|
document.getElementById("vugu_mount_point").innerHTML = 'This application requires WebAssembly support. Please upgrade your browser.';
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
27
vugu/main.go
27
vugu/main.go
@ -1,27 +0,0 @@
|
|||||||
// +build js,wasm
|
|
||||||
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"github.com/vugu/vugu"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
rootInst, err := vugu.New(&Root{}, nil)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
env := vugu.NewJSEnv("#target", rootInst, vugu.RegisteredComponentTypes())
|
|
||||||
env.DebugWriter = os.Stdout
|
|
||||||
|
|
||||||
for ok := true; ok; ok = env.EventWait() {
|
|
||||||
err = env.Render()
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
45
vugu/main_wasm.go
Normal file
45
vugu/main_wasm.go
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
// +build wasm
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"flag"
|
||||||
|
|
||||||
|
"github.com/vugu/vugu"
|
||||||
|
"github.com/vugu/vugu/domrender"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
|
||||||
|
mountPoint := flag.String("mount-point", "#vugu_mount_point", "The query selector for the mount point for the root component, if it is not a full HTML component")
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
|
fmt.Printf("Entering main(), -mount-point=%q\n", *mountPoint)
|
||||||
|
defer fmt.Printf("Exiting main()\n")
|
||||||
|
|
||||||
|
buildEnv, err := vugu.NewBuildEnv()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
renderer, err := domrender.New(*mountPoint)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer renderer.Release()
|
||||||
|
|
||||||
|
rootBuilder := &Root{}
|
||||||
|
|
||||||
|
for ok := true; ok; ok = renderer.EventWait() {
|
||||||
|
|
||||||
|
buildResults := buildEnv.RunBuild(rootBuilder)
|
||||||
|
|
||||||
|
err = renderer.Render(buildResults)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
172
vugu/root.go
172
vugu/root.go
@ -1,172 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
// DO NOT EDIT: This file was generated by vugu. Please regenerate instead of editing or add additional code in a separate file.
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
import "reflect"
|
|
||||||
import "github.com/vugu/vugu"
|
|
||||||
|
|
||||||
import "encoding/json"
|
|
||||||
import "net/http"
|
|
||||||
import "log"
|
|
||||||
|
|
||||||
type RootData struct {
|
|
||||||
bpi bpi
|
|
||||||
isLoading bool
|
|
||||||
}
|
|
||||||
|
|
||||||
type bpi struct {
|
|
||||||
Time struct {
|
|
||||||
Updated string `json:"updated"`
|
|
||||||
} `json:"time"`
|
|
||||||
BPI map[string]struct {
|
|
||||||
Code string `json:"code"`
|
|
||||||
Symbol string `json:"symbol"`
|
|
||||||
RateFloat float64 `json:"rate_float"`
|
|
||||||
} `json:"bpi"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (data *RootData) HandleClick(event *vugu.DOMEvent) {
|
|
||||||
data.bpi = bpi{}
|
|
||||||
|
|
||||||
go func(ee vugu.EventEnv) {
|
|
||||||
ee.Lock()
|
|
||||||
data.isLoading = true
|
|
||||||
ee.UnlockRender()
|
|
||||||
|
|
||||||
res, err := http.Get("https://api.coindesk.com/v1/bpi/currentprice.json")
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("Error fetch()ing: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
|
|
||||||
var newb bpi
|
|
||||||
err = json.NewDecoder(res.Body).Decode(&newb)
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("Error JSON decoding: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
ee.Lock()
|
|
||||||
defer ee.UnlockRender()
|
|
||||||
data.bpi = newb
|
|
||||||
data.isLoading = false
|
|
||||||
}(event.EventEnv())
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ vugu.ComponentType = (*Root)(nil)
|
|
||||||
|
|
||||||
func (comp *Root) BuildVDOM(dataI interface{}) (vdom *vugu.VGNode, css *vugu.VGNode, reterr error) {
|
|
||||||
data := dataI.(*RootData)
|
|
||||||
_ = data
|
|
||||||
_ = fmt.Sprint
|
|
||||||
_ = reflect.Value{}
|
|
||||||
event := vugu.DOMEventStub
|
|
||||||
_ = event
|
|
||||||
var n *vugu.VGNode
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "div", DataAtom: vugu.VGAtom(92931), Namespace: "", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "demo-comp"}}}
|
|
||||||
vdom = n
|
|
||||||
{
|
|
||||||
parent := n
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
if data.isLoading {
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "div", DataAtom: vugu.VGAtom(92931), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
{
|
|
||||||
parent := n
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Loading...", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
if len(data.bpi.BPI) > 0 {
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "div", DataAtom: vugu.VGAtom(92931), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
{
|
|
||||||
parent := n
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "div", DataAtom: vugu.VGAtom(92931), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
{
|
|
||||||
parent := n
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Updated: ", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "span", DataAtom: vugu.VGAtom(40708), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n.InnerHTML = fmt.Sprint(data.bpi.Time.Updated)
|
|
||||||
}
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "ul", DataAtom: vugu.VGAtom(42754), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
{
|
|
||||||
parent := n
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
for key, value := range data.bpi.BPI {
|
|
||||||
_, _ = key, value
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "li", DataAtom: vugu.VGAtom(45570), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
{
|
|
||||||
parent := n
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "span", DataAtom: vugu.VGAtom(40708), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n.InnerHTML = fmt.Sprint(key)
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: " ", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "span", DataAtom: vugu.VGAtom(40708), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n.InnerHTML = fmt.Sprint(fmt.Sprint(value.Symbol, value.RateFloat))
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
}
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "button", DataAtom: vugu.VGAtom(102662), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
// @click = { data.HandleClick(event) }
|
|
||||||
{
|
|
||||||
var i_ interface{} = data
|
|
||||||
idat_ := reflect.ValueOf(&i_).Elem().InterfaceData()
|
|
||||||
var i2_ interface{} = data.HandleClick
|
|
||||||
i2dat_ := reflect.ValueOf(&i2_).Elem().InterfaceData()
|
|
||||||
n.SetDOMEventHandler("click", vugu.DOMEventHandler{
|
|
||||||
ReceiverAndMethodHash: uint64(idat_[0]) ^ uint64(idat_[1]) ^ uint64(i2dat_[0]) ^ uint64(i2dat_[1]),
|
|
||||||
Method: reflect.ValueOf(data).MethodByName("HandleClick"),
|
|
||||||
Args: []interface{}{event},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if false {
|
|
||||||
// force compiler to check arguments for type safety
|
|
||||||
data.HandleClick(event)
|
|
||||||
}
|
|
||||||
{
|
|
||||||
parent := n
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Fetch Bitcoin Price Index", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
}
|
|
||||||
n = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n", DataAtom: vugu.VGAtom(0), Namespace: "", Attr: []vugu.VGAttribute(nil)}
|
|
||||||
parent.AppendChild(n)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
type Root struct {}
|
|
||||||
|
|
||||||
func (ct *Root) NewData(props vugu.Props) (interface{}, error) { return &RootData{}, nil }
|
|
||||||
|
|
||||||
func init() { vugu.RegisterComponentType("root", &Root{}) }
|
|
@ -1,14 +1,14 @@
|
|||||||
<div class="demo-comp">
|
<div class="demo">
|
||||||
<div vg-if='data.isLoading'>Loading...</div>
|
<div vg-if='c.IsLoading'>Loading...</div>
|
||||||
<div vg-if='len(data.bpi.BPI) > 0'>
|
<div vg-if='len(c.PriceData.BPI) > 0'>
|
||||||
<div>Updated: <span vg-html='data.bpi.Time.Updated'></span></div>
|
<div>Updated: <span vg-html='c.PriceData.Time.Updated'></span></div>
|
||||||
<ul>
|
<ul>
|
||||||
<li vg-for='data.bpi.BPI'>
|
<li vg-for='c.PriceData.BPI' vg-key='key'>
|
||||||
<span vg-html='key'></span> <span vg-html='fmt.Sprint(value.Symbol, value.RateFloat)'></span>
|
<span vg-html='key'></span> <span vg-html='fmt.Sprint(value.Symbol, value.RateFloat)'></span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<button @click="data.HandleClick(event)">Fetch Bitcoin Price Index</button>
|
<button @click="c.HandleClick(event)">Fetch Bitcoin Price Index</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="application/x-go">
|
<script type="application/x-go">
|
||||||
@ -16,9 +16,9 @@ import "encoding/json"
|
|||||||
import "net/http"
|
import "net/http"
|
||||||
import "log"
|
import "log"
|
||||||
|
|
||||||
type RootData struct {
|
type Root struct {
|
||||||
bpi bpi
|
PriceData bpi `vugu:"data"`
|
||||||
isLoading bool
|
IsLoading bool `vugu:"data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type bpi struct {
|
type bpi struct {
|
||||||
@ -32,12 +32,16 @@ type bpi struct {
|
|||||||
} `json:"bpi"`
|
} `json:"bpi"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (data *RootData) HandleClick(event *vugu.DOMEvent) {
|
func (c *Root) HandleClick(event *vugu.DOMEvent) {
|
||||||
data.bpi = bpi{}
|
|
||||||
|
c.PriceData = bpi{}
|
||||||
|
|
||||||
|
ee := event.EventEnv()
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
|
||||||
go func(ee vugu.EventEnv) {
|
|
||||||
ee.Lock()
|
ee.Lock()
|
||||||
data.isLoading = true
|
c.IsLoading = true
|
||||||
ee.UnlockRender()
|
ee.UnlockRender()
|
||||||
|
|
||||||
res, err := http.Get("https://api.coindesk.com/v1/bpi/currentprice.json")
|
res, err := http.Get("https://api.coindesk.com/v1/bpi/currentprice.json")
|
||||||
@ -56,8 +60,10 @@ func (data *RootData) HandleClick(event *vugu.DOMEvent) {
|
|||||||
|
|
||||||
ee.Lock()
|
ee.Lock()
|
||||||
defer ee.UnlockRender()
|
defer ee.UnlockRender()
|
||||||
data.bpi = newb
|
c.PriceData = newb
|
||||||
data.isLoading = false
|
c.IsLoading = false
|
||||||
}(event.EventEnv())
|
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
186
vugu/root_vgen.go
Normal file
186
vugu/root_vgen.go
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
// DO NOT EDIT: This file was generated by vugu. Please regenerate instead of editing or add additional code in a separate file.
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
import "reflect"
|
||||||
|
import "github.com/vugu/vjson"
|
||||||
|
import "github.com/vugu/vugu"
|
||||||
|
import js "github.com/vugu/vugu/js"
|
||||||
|
|
||||||
|
import "encoding/json"
|
||||||
|
import "net/http"
|
||||||
|
import "log"
|
||||||
|
|
||||||
|
type Root struct {
|
||||||
|
PriceData bpi `vugu:"data"`
|
||||||
|
IsLoading bool `vugu:"data"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type bpi struct {
|
||||||
|
Time struct {
|
||||||
|
Updated string `json:"updated"`
|
||||||
|
} `json:"time"`
|
||||||
|
BPI map[string]struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
Symbol string `json:"symbol"`
|
||||||
|
RateFloat float64 `json:"rate_float"`
|
||||||
|
} `json:"bpi"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Root) HandleClick(event *vugu.DOMEvent) {
|
||||||
|
|
||||||
|
c.PriceData = bpi{}
|
||||||
|
|
||||||
|
ee := event.EventEnv()
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
|
||||||
|
ee.Lock()
|
||||||
|
c.IsLoading = true
|
||||||
|
ee.UnlockRender()
|
||||||
|
|
||||||
|
res, err := http.Get("https://api.coindesk.com/v1/bpi/currentprice.json")
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error fetch()ing: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer res.Body.Close()
|
||||||
|
|
||||||
|
var newb bpi
|
||||||
|
err = json.NewDecoder(res.Body).Decode(&newb)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error JSON decoding: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ee.Lock()
|
||||||
|
defer ee.UnlockRender()
|
||||||
|
c.PriceData = newb
|
||||||
|
c.IsLoading = false
|
||||||
|
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Root) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
||||||
|
|
||||||
|
vgout = &vugu.BuildOut{}
|
||||||
|
|
||||||
|
var vgiterkey interface{}
|
||||||
|
_ = vgiterkey
|
||||||
|
var vgn *vugu.VGNode
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "demo"}}}
|
||||||
|
vgout.Out = append(vgout.Out, vgn) // root for output
|
||||||
|
{
|
||||||
|
vgparent := vgn
|
||||||
|
_ = vgparent
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
if c.IsLoading {
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vgparent := vgn
|
||||||
|
_ = vgparent
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Loading..."}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
if len(c.PriceData.BPI) > 0 {
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vgparent := vgn
|
||||||
|
_ = vgparent
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vgparent := vgn
|
||||||
|
_ = vgparent
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Updated: "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vghtml := fmt.Sprint(c.PriceData.Time.Updated)
|
||||||
|
vgn.InnerHTML = &vghtml
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "ul", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vgparent := vgn
|
||||||
|
_ = vgparent
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
for key, value := range c.PriceData.BPI {
|
||||||
|
var vgiterkey interface{} = key
|
||||||
|
_ = vgiterkey
|
||||||
|
key := key
|
||||||
|
_ = key
|
||||||
|
value := value
|
||||||
|
_ = value
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "li", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vgparent := vgn
|
||||||
|
_ = vgparent
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vghtml := fmt.Sprint(key)
|
||||||
|
vgn.InnerHTML = &vghtml
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: " "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
{
|
||||||
|
vghtml := fmt.Sprint(fmt.Sprint(value.Symbol, value.RateFloat))
|
||||||
|
vgn.InnerHTML = &vghtml
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n "}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "button", Attr: []vugu.VGAttribute(nil)}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
vgn.DOMEventHandlerSpecList = append(vgn.DOMEventHandlerSpecList, vugu.DOMEventHandlerSpec{
|
||||||
|
EventType: "click",
|
||||||
|
Func: func(event *vugu.DOMEvent) { c.HandleClick(event) },
|
||||||
|
// TODO: implement capture, etc. mostly need to decide syntax
|
||||||
|
})
|
||||||
|
{
|
||||||
|
vgparent := vgn
|
||||||
|
_ = vgparent
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Fetch Bitcoin Price Index"}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
}
|
||||||
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n"}
|
||||||
|
vgparent.AppendChild(vgn)
|
||||||
|
}
|
||||||
|
return vgout
|
||||||
|
}
|
||||||
|
|
||||||
|
// 'fix' unused imports
|
||||||
|
var _ fmt.Stringer
|
||||||
|
var _ reflect.Type
|
||||||
|
var _ vjson.RawMessage
|
||||||
|
var _ js.Value
|
Loading…
x
Reference in New Issue
Block a user