all repos — felt @ 9d2f442c30e9d7abcb898ef3d4fcceea0a57b5f8

virtual tabletop for dungeons and dragons (and similar) using Go, MongoDB, and websockets

sort lists in frontend, remove some print statements
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmSwsocACgkQO3+8IhRO
Y5jLaBAAiDqKh1LjXN1liCehBsKPq2o0e+fjNY/GtcZmY4nYPqfBSz64TnL3W4Kd
M287vC56a+1ne4pVPenrFpnjzRmMkkYwUCAAdrvgefI9/BGEtcMpkN4znCMHeioV
BrGV5c9o2fI8XvafcD+Uh00fsEU2kfPtoZ392n7g6rqDnuFSMFa3Z6RehaoDu28r
qRB7T7JNfcOp8kYzwMIi2drFCY1K0u41/GhDT8iJvLrF83o9482r1TjEjr6zupJP
+Y7HNaqwGNegmOGWJ+O7nkDFp8XU4yQjOD4zEzvLgW86JfykN/ZqJsQbSuypR13D
xElFe57MtBcZaFDRSNW6E0iERsWkOCAgxe4BzzMhQnwQIkBCjruYkdk/ojr5OXc4
4SnOaSMtkskPMRUJaMHF2u+I81RkpxINge0GJsqCWWFYHKzQyCQEet45ltzvYZoH
4tjS6okRVhHYzXblGQp3jkATO7eC/HfGRIaptmminw6kZrrows6S0KxV++IvKG1D
AdBjwwRP0RM3jL8lLqWBQYdnhadIogG3Le7QK9wWGHj7sSwziEXMp/MCyn/uRYYy
O0xljjHzSFa309DCEmXTAFzEJGeCS0Yri6xYU3Fy0EzHSt0gEk+poZZo0eDBRECs
ViNBd8fiNZ6fngf8z8D8JwJcEOOtx4hpGFsRIgEqRJegRoXm4bo=
=kWcG
-----END PGP SIGNATURE-----
commit

9d2f442c30e9d7abcb898ef3d4fcceea0a57b5f8

parent

018dbc525e8a7d96879cc3edcc0534afe0c7fc08

3 files changed, 19 insertions(+), 6 deletions(-)

jump to
M gametable/server.gogametable/server.go

@@ -238,10 +238,6 @@ r := make([]uint8, len(tableMsg.DiceRoll.Roll))

rand.Read(r) for i, d := range r { r[i] = d%tableMsg.DiceRoll.Faces + 1 - fmt.Println(d) - } - for _, d := range r { - fmt.Println(d) } tableMsg.DiceRoll.Roll = r err := self.dbAdapter.InsertDiceRoll(key, *tableMsg.DiceRoll)
M static/admin.jsstatic/admin.js

@@ -49,7 +49,7 @@ infoHtml += "<button onclick='destroyTable()'>Destroy Table</button><br/>";

infoHtml += "<input id='map_img_upload' type='file'/><button onclick='uploadMapImg()'>Upload Map</button><br/>" if (mapImgs.ok) { infoHtml += "<label>Available Maps</label>"; - const imgs = await mapImgs.json(); + const imgs = (await mapImgs.json()).sort(); infoHtml += "<ul class='two_btn_list'>"; for (const i of imgs) { const parts = i.split("/");

@@ -64,7 +64,7 @@

let tokenListHTML = "<input id='token_img_upload' type='file'/><button onclick='uploadTokenImg()'>Upload Sprite</button><br/>"; if (tokenImgs.ok) { tokenListHTML += "<label>Available Sprites</label>"; - const tokens = await tokenImgs.json(); + const tokens = (await tokenImgs.json()).sort(); tokenListHTML += "<ul class='single_btn_list'>"; for (const t of tokens) { const parts = t.split("/");

@@ -89,6 +89,7 @@ }

} function fillSpriteDropdown(tokens) { + tokens = tokens.sort(); let options = "<option value=''>select</option>"; for (const t of tokens) { const parts = t.split("/");

@@ -401,6 +402,14 @@ headers: headers

}); if (res.ok) { const tableList = await res.json(); + tableList.sort((a,b)=>{ + if (a.name < b.name) { + return -1; + } else if (a.name > b.name) { + return 1; + } + return 0; + }); let tableListHTML = "<ul>\n"; for (const t of tableList) { tableListHTML += `<li><a href="#" onclick="rebindUi('${t.name}','${t.passcode}');return false;">${t.name}</a></li>\n`
M static/map.jsstatic/map.js

@@ -59,6 +59,14 @@ } else {

if (t.x != null && t.y != null) { const self = NewToken(t); tokens.push(self); + tokens.sort((a,b)=>{ + if (a.t.name < b.t.name) { + return -1; + } else if (a.t.name > b.t.name) { + return 1; + } + return 0; + }); if (t.active) { self.m.addTo(map); }