Always use correct format Node IDs in GUI

This commit is contained in:
Jakob Borg committed 2014-07-24 13:23:26 +02:00
1 parent b676264fca
commit f762bd5e25
3 files changed
+62 -3

No files matched your search

+11 -1
View File
@@ -28,7 +28,7 @@ func init() {
bs, _ = ioutil.ReadAll(gr)
Assets["angular.min.js"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ffec3d6173dbb692dffd2b505d5a51b64c3949aff32e8ed34b9df49d5fd32413c7bd9b71dd194a8424d614a902641c4de2ff7ebb00480204405171927b6fe634efc512b0582c168bc56277814e26e4345f6f58b2581624381d910747f7bf27ff88aef329f929670b1265314064054ba66591334e024e292996949cbe7af9f6cdd94f176f5fbd3927f324a5a3700fd03d4d5322d071c228a7ec1d8d4372c129c9e7d02ce184e7259b5132cb634ae0e7227f4759466332dd4067e4d7b3b787bcd8a41471a5c98c661cbb8b0a3283da2925f3bc0492924cd0f0e2ecf4f9cbf3e7a2fb706f6fb2ff274f93ac205396df40df8f48c14a3a86beb222c94a5afd5ea725c7ffcbdf647f022d17693e8d5272ef1199472907a0285b9469c4d46f04da1b96f085032f66c5f0786fef5dc408df64331856b62027558b7095c7654a83615d371c93cbe13ae2b3285d333a5b1661c1a28ca751418757a36381a864e93402f42764087c13f8ebf6210c609e2c82790905499e91e0deb228d6af59fe2e89291b937b35beaa6c443eec11f81880614ce75199163c7ccfd9fcbf6804652fa395e8f47f0e4fcfdffc7cf836bfa61974bea5ed699e5f27b46a6bb4944d2d8242e0dd791115c9ec67982cfe22c7ce0349247e8031f3e4fd23324c818d87c3715dc1cbb9ac08ffe4793614e5b7a3635f3788873246e317381dd102e601c802786c63b2b460799a0211c3f3aaf4b460294c96c6673ecbd7200c82153a9fe17b9acf2284aa588db308bdbf7b06d5c095a3e3ba74418b57bf40114a5b538ad31cb142ca8e10b28a79a253a430a3820e0e001f6e8f5b95201176f96a73f60ca764689466b0d810c9e59503c95986e337c853f56b9617f92c4f4f97c04b58a235991a0cf01ad582851bd444f61ceb6c6a607dd0d4269dd175ee182916b302981af9ea5e03d3137ae324af5c2f1848da5936cf5573bdf65e9e05837a22e530cfcbd98c723ed0c5a09ae26aea5046015ddd12461bb1d932188558735cc32673126089dede945b5c1612a469755bcbb8318794c64f1b71a8a1876c3584d5f18ca6daa281c23861aa9c04f07da4d7e232c04a9c78bdbcc8cbd9122b2ed6312a275975db26e36ce62182d115a873271d765545449cdf6429a8032721112f284bf8754d8af853cf0cac2c315f34a6b1314bc8f96fc4bab3782fc791644911684c1755c1f0df325adce4ec5a88ee7084b21aa5c17009ba65d882b65775c3ac8a84668def4846d3b09b0884e5cbb240267643bad48d49b483b93f47a0ac6dcefa87c56851b2ccc70ef784f8b8fe611acdae6396af410eb8d83a40375fd3cd348f58acf6e55bcfa4740db0561e7318c712819d0b5de8fc101006d5de7c408613be01895c018d5cea096d53862513b507670ae8b14b0424462003db6b248fa46e0ddcd429e4d504e9ed9aefafa67fc20e1202cf78a06bd95138cfd9f3083456833c89dbe871c68acd9a82e5a66beecb24be222727a0d6c112834d1b8cb761bb297ec0807b49c1b823735acc9668e151e8955a706e3e8bae7e446a4f8650403334182fde9c9de6ab759ed1ac4082fbce428be3da305a4c773151fc26148d401b6b07f113183b07923ef720705ab03e54f8c9136b5c55950fc55766fbceecf74d435dbe7dc29cebc13d66cdd0eabdaed10ac872b439d0dc0303eb26188d0d8802eda500610e6bb3704426e4fed1d1910999c46aa7af3e9a1509edcd81c112c2b58a27201fcbc5de27246419f1573719d8c66bca8a8d983acf14554724c752b04a0ab6f160c14e85fc25d9748d16c2af51b10c57d1fbe0684cfe46f6252f05c459f6d3a6a0fc6d5ec0a9ebd061f35a50c8bc22f648448d372f8b6d5dbf2a8b3e7d1b60dece6fe1600aea8d04d4c75a8b29477d87e000bcf548397e9ce786f6a6b26d31487bbef73a689f02dcddb5cc6e542f78162cb9b1f96271dbd270ed3f08b7750792860858b2d97586b6916e0b183dd8a861a2de4529acb16fb00b2fe6f3225fafa1672766e11b28e41a1ea226757423ea9bd615b8f87b79741516f90574c04e616a60eb3f9015302f535eb0e0fee8d81c876a7e420668d5836936201f3f92a6f42c4ee9a03d16597d00d524183454a269fe9ab219e87b3c41cb893920836f4703e768154bb4013966fc348df85798f0048e7a5f60b6633c1bb2cf36d9c68c0d13981b6fcf6a210e7d46758386cb89f7625ab36415b18d1393837dad393485e28b4f24ec93be113bd82bdd77425f0bfc47fdb01a53b89e15302a8080ddc22927b8b0641713178046c3719baf62379aa739d8f3d08d5b2da297c6a116b1f874be68fb2050cda30fc2debc5483f025fc3d7b76650a1d02ba0c7d2c0fd1ca4ba9e8169908ac706d6ab56a5d932217f6cfb0a7b55cab4e29a824c0c5d2ee1976a16f476d8c1d5a67f82ce16af8b5367670169d16ff1a7ccdaf77e5a73acaeec2b415587bdccf2d5b59ffd3b2cbd68fbd78662bc3ad3cf3eb461cebd338665f99638a30c134ec1ed8d0a5db7fec986f8de5ff6743682981ce7dca3f94dfe8d66940624c4a85a0693e740f990a421daf5df47d49f6a409ecbdbff9fbde32cfb0ddc6d8b1c51d73b83882159e6944c8408f200086b4a0ba470ae9adbacd1a561289f5d8386fe01015de30a5d9a25882c945ee7b465cdb071d0355d8c056f60a830a516d950665ada8da9e26ca60e0b350ea7986ee3d8d75908e319a125359ff70a6fdc16d44608cf5a56be0ed29cea424b49a05ad09d3f8d2972941298f5ca2d1a89345dbf8d38739bd3943e3a438a7057aadb997339309986ad7944404fdd168a340db4d5d5d716bb57eb5ae4ed855d817010323b2162a20fdd0dd46105ebc799e45d35484d70257f553d8ded660da902760d5ba30fdfde2ac9b0c00d01b62c840f1a1afaf1d631c9ec33c8fdec1eea1a29115532d699be1a222ff387ff532c4007ab648e62d2a350ab141be2e44886929a2d4fc11f930c43c045080876f4126456c68bd4e1319809b88d8f0ed6ddbbbb1ceb9e5eb83be606c40d05874e2f274585e0e9fdf10704d441c6b1797a83bfa2a1c767a59cb3071b8f81d33d15bc079c9e09f7c4565f6c24c8678cd39abc3bedf54c245ff2aa394bba57c6c0bf7887cfc680d5f7eba5182c48e4d096fe925455b9bbd98cfb2a4b36b8429391e5365881887b88c3899529a11aad65bce489c70f1ddb243bbd6e977df399771bd4e1f3b8e9fda34b91b0933f7c869c30a7fee5d0842c5b1333987f7db96b197d3559e00b949d2946084180f86535a4b1008a10a19b6186d4f7b78c1e9db17e7c21b630880aaf00fc4ce563023b3ee413c0525b2019a6f48a5130946f5d374b3e7e8c394788fd6d5e4ffb803895f6d5b12efa5207c9170d089caf6376c4e1beabc602107955904c3312afe68ad29abf79a25f73e0415bd0253a049426851d1287d23f4b8d7bdc90c302e3df0f984857c78f59611be3627d6c400106f932245Line truncated
bs, _ = hex.DecodeString("1f8b080000096e8800ffec3d6173dbb692dffd2b505d5a51b64c3949aff32e8ed34b9df49d5fd32413c7bd9b71dd194a8424d614a902641c4de2ff7ebb00480204405171927b6fe634efc512b0582c168bc56277814e26e4345f6f58b2581624381d910747f7bf27ff88aef329f929670b1265314064054ba66591334e024e292996949cbe7af9f6cdd94f176f5fbd3927f324a5a3700fd03d4d5322d071c228a7ec1d8d4372c129c9e7d02ce184e7259b5132cb634ae0e7227f4759466332dd4067e4d7b3b787bcd8a41471a5c98c661cbb8b0a3283da2925f3bc0492924cd0f0e2ecf4f9cbf3e7a2fb706f6fb2ff274f93ac205396df40df8f48c14a3a86beb222c94a5afd5ea725c7ffcbdf647f022d17693e8d5272ef1199472907a0285b9469c4d46f04da1b96f085032f66c5f0786fef5dc408df64331856b62027558b7095c7654a83615d371c93cbe13ae2b3285d333a5b1661c1a28ca751418757a36381a864e93402f42764087c13f8ebf6210c609e2c82790905499e91e0deb228d6af59fe2e89291b937b35beaa6c443eec11f81880614ce75199163c7ccfd9fcbf6804652fa395e8f47f0e4fcfdffc7cf836bfa61974bea5ed699e5f27b46a6bb4944d2d8242e0dd791115c9ec67982cfe22c7ce0349247e8031f3e4fd23324c818d87c3715dc1cbb9ac08ffe4793614e5b7a3635f3788873246e317381dd102e601c802786c63b2b460799a0211c3f3aaf4b460294c96c6673ecbd7200c82153a9fe17b9acf2284aa588db308bdbf7b06d5c095a3e3ba74418b57bf40114a5b538ad31cb142ca8e10b28a79a253a430a3820e0e001f6e8f5b95201176f96a73f60ca764689466b0d810c9e59503c95986e337c853f56b9617f92c4f4f97c04b58a235991a0cf01ad582851bd444f61ceb6c6a607dd0d4269dd175ee182916b302981af9ea5e03d3137ae324af5c2f1848da5936cf5573bdf65e9e05837a22e530cfcbd98c723ed0c5a09ae26aea5046015ddd12461bb1d932188558735cc32673126089dede945b5c1612a469755bcbb8318794c64f1b71a8a1876c3584d5f18ca6daa281c23861aa9c04f07da4d7e232c04a9c78bdbcc8cbd9122b2ed6312a275975db26e36ce62182d115a873271d765545449cdf6429a8032721112f284bf8754d8af853cf0cac2c315f34a6b1314bc8f96fc4bab3782fc791644911684c1755c1f0df325adce4ec5a88ee7084b21aa5c17009ba65d882b65775c3ac8a84668def4846d3b09b0884e5cbb240267643bad48d49b483b93f47a0ac6dcefa87c56851b2ccc70ef784f8b8fe611acdae6396af410eb8d83a40375fd3cd348f58acf6e55bcfa4740db0561e7318c712819d0b5de8fc101006d5de7c408613be01895c018d5cea096d53862513b507670ae8b14b0424462003db6b248fa46e0ddcd429e4d504e9ed9aefafa67fc20e1202cf78a06bd95138cfd9f3083456833c89dbe871c68acd9a82e5a66beecb24be222727a0d6c112834d1b8cb761bb297ec0807b49c1b823735acc9668e151e8955a706e3e8bae7e446a4f8650403334182fde9c9de6ab759ed1ac4082fbce428be3da305a4c773151fc26148d401b6b07f113183b07923ef720705ab03e54f8c9136b5c55950fc55766fbceecf74d435dbe7dc29cebc13d66cdd0eabdaed10ac872b439d0dc0303eb26188d0d8802eda500610e6bb3704426e4fed1d1910999c46aa7af3e9a1509edcd81c112c2b58a27201fcbc5de27246419f1573719d8c66bca8a8d983acf14554724c752b04a0ab6f160c14e85fc25d9748d16c2af51b10c57d1fbe0684cfe46f6252f05c459f6d3a6a0fc6d5ec0a9ebd061f35a50c8bc22f648448d372f8b6d5dbf2a8b3e7d1b60dece6fe1600aea8d04d4c75a8b29477d87e000bcf548397e9ce786f6a6b26d31487bbef73a689f02dcddb5cc6e542f78162cb9b1f96271dbd270ed3f08b7750792860858b2d97586b6916e0b183dd8a861a2de4529acb16fb00b2fe6f3225fafa1672766e11b28e41a1ea226757423ea9bd615b8f87b79741516f90574c04e616a60eb3f9015302f535eb0e0fee8d81c876a7e420668d5836936201f3f92a6f42c4ee9a03d16597d00d524183454a269fe9ab219e87b3c41cb893920836f4703e768154bb4013966fc348df85798f0048e7a5f60b6633c1bb2cf36d9c68c0d13981b6fcf6a210e7d46758386cb89f7625ab36415b18d1393837dad393485e28b4f24ec93be113bd82bdd77425f0bfc47fdb01a53b89e15302a8080ddc22927b8b0641713178046c3719baf62379aa739d8f3d08d5b2da297c6a116b1f874be68fb2050cda30fc2debc5483f025fc3d7b76650a1d02ba0c7d2c0fd1ca4ba9e8169908ac706d6ab56a5d932217f6cfb0a7b55cab4e29a824c0c5d2ee1976a16f476d8c1d5a67f82ce16af8b5367670169d16ff1a7ccdaf77e5a73acaeec2b415587bdccf2d5b59ffd3b2cbd68fbd78662bc3ad3cf3eb461cebd338665f99638a30c134ec1ed8d0a5db7fec986f8de5ff6743682981ce7dca3f94dfe8d66940624c4a85a0693e740f990a421daf5df47d49f6a409ecbdbff9fbde32cfb0ddc6d8b1c51d73b83882159e6944c8408f200086b4a0ba470ae9adbacd1a561289f5d8386fe01015de30a5d9a25882c945ee7b465cdb071d0355d8c056f60a830a516d950665ada8da9e26ca60e0b350ea7986ee3d8d75908e319a125359ff70a6fdc16d44608cf5a56be0ed29cea424b49a05ad09d3f8d2972941298f5ca2d1a89345dbf8d38739bd3943e3a438a7057aadb997339309986ad7944404fdd168a340db4d5d5d716bb57eb5ae4ed855d817010323b2162a20fdd0dd46105ebc799e45d35484d70257f553d8ded660da902760d5ba30fdfde2ac9b0c00d01b62c840f1a1afaf1d631c9ec33c8fdec1eea1a29115532d699be1a222ff387ff532c4007ab648e62d2a350ab141be2e44886929a2d4fc11f930c43c045080876f4126456c68bd4e1319809b88d8f0ed6ddbbbb1ceb9e5eb83be606c40d05874e2f274585e0e9fdf10704d441c6b1797a83bfa2a1c767a59cb3071b8f81d33d15bc079c9e09f7c4565f6c24c8678cd39abc3bedf54c245ff2aa394bba57c6c0bf7887cfc680d5f7eba5182c48e4d096fe925455b9bbd98cfb2a4b36b8429391e5365881887b88c3899529a11aad65bce489c70f1ddb243bbd6e977df399771bd4e1f3b8e9fda34b91b0933f7c869c30a7fee5d0842c5b1333987f7db96b197d3559e00b949d2946084180f86535a4b1008a10a19b6186d4f7b78c1e9db17e7c21b630880aaf00fc4ce563023b3ee413c0525b2019a6f48a5130946f5d374b3e7e8c394788fd6d5e4ffb803895f6d5b12efa5207c9170d089caf6376c4e1beabc602107955904c3312afe68ad29abf79a25f73e0415bd0253a049426851d1287d23f4b8d7bdc90c302e3df0f984857c78f59611be3627d6c400106f932245Line truncated
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["app.js"] = bs
@@ -83,11 +83,21 @@ func init() {
bs, _ = ioutil.ReadAll(gr)
Assets["jquery-2.0.3.min.js"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ff8c59dd6e1cb7f5bfcf5310060248c0eee6ff0fd25ef8a281e4af2852e4ad578a51c340c1dde1ccb23b436e488e369291a2177d8c02b9310af40572e5abee9bf449fa3b87e47cac25d701026bc943f2f07cfcf83b67de7d21f0dfa393f9993857b78f1ef39fd3c56a5def3f78afea479324b0b46da0e9fd3f96ca75a345212e6da168e2dcd8a08c586b73d796fb0f953243a9576a6bbd0ed6f1198badd2abb5720f483be53dabc27fa98319359ceb97d5b5dd891363cd6d635b2faebdac141feb8236d5b79deec1c9aa3595b8b146481687d6976db8c3a0f74106ed83de604cb95ab64b65beed8e30c6b666a5c442b91b1881b4309bfd075368dad14fd37827fe802e71219fecba93a1194c12f2e2d3b6e26b3e57ebbadff2c9fc5a5c075deb3ba8690d09cc9dbd8321ac93adafa50fd8ab93aead67d7903bb5daffda5beb89ddde3a5dad83f8f7bfc4d7fff7ffdf88efe5c62ec5a97515ac5288b056a2b46453282c9e58139c5eb6f09f7f4c3b7e727d8bf5580b9f164a5c9ba09c0ffb0fe14eb9c7f9fca7aa568175bbd8ffe6110a9d664fedaa85474277c1a7763318e8a476a6b6127125e33679a052d80d3ac3251ba53b733e2b3447efa9926e89f1fe3c9a398ce1e5fd520fc4f0fe3deee97a51239735ee3d377376f426e81bad5c1ae9846015b1b24d2385575be9708d42bc7da4b78f2948de3e123207bbb00e13c5ad918d5e612258b155aeb4ae11120e6960979528b45f59c4deadb025fb2e2d9f910a578ec2af68dd6a2d9436e29c8fad5470ca400fec7e367f3c8fc7e6b412b0c8f85c5ad9f66792d3b2b443ba18ca293e83137a8dbd67dd6d9db3eee3687eae61a71f111d706c4a8ba7b083be4943ca0d82998571f1467b9a144b1dbc9030abae8c7530de0e41246a6b3714b0308f58ada54138cc907e4a60c5f3932b5162177feb836aa269f8bcbbb672ba2cbd53484005efeb462c5a0a4a61246c0615a38fa10ec6f840f2a8998953a569df29ef133786042eb0a3e0ef2d40da47751bb8a920271658228037cd16bfd395bd8091a598f9d00d2091c8137c3ba7b6b55c411cb72b38830ab1bc15fed6ac0290b4eaaf04e19d7205c7326e93932c7af599f30ad988936a4f6ae02ea173045dd090b3f1c7508fe94b57182ca681d5da2eefbddcd6217f56a456e96c933d201a59b0076ca07c3150c24f04d0e42301dcc2f3bcd8e9ba86ee480e13c85a14d388b590e37b55b730b61bddd823ed01eb6ee4b014f7927e2a91129c518220294c10d025d24779d5e4595e51298ee26898a1fb935d25003baec58f57a4196e252e6158086cbcd87f486fcdd050ec4b52391a338fbfb83e13272dae6590cb8c73622ebddf595730c4c7bf8380464ebc692b184ddcb50ed1675a825578c395f5fe3d5cfc892d91067cf625af415aabcfd97036dcf1026f23ae7bdf437c648ee376b0e5271553b878026dfe9b32a99baced52d6e269463316e231604d5b9670f0001292f4189693b813199fb3f419e384987710e2e383c059cf0ff828b7f3b273a5b6393778459f27caad653d78242e702d4fcf44ad647c782f100e29827e2b4bf8a2864a831b5cd8d5e1752fece6fedb1ec80a02ec7e81a3157181a71764bc6a6ca2bce2d0423f484a291626b1ef64bb0dfe23999f0543f1134e5d7e7fc5d1b93efdca1fd322cceb862e404969babcf16e2837d8eb651b808178ae1181afd44f2d0ce8d33e33a41708995a338f38312527535e7cc93a5e02a8fa11889d3deddff1297e0ce72e11f28359fed9cd234d540c08c27ce6621c1459e2e539e7eda6fb5d9635409207d39f79c6741366340ec07b598a05d09a55a72318bbd70e8f9d27141e8856964d4266bbd00dd8c7c0c827adafa2597cb43359b71e49e58d102a4e17d95d6cdafddf7b30639402163aa597bd6de732ac7bd0cda113015ae18da5900277d9b684c0e27582ea9553cc627429a0486115417910ea6780c64c5c6125982b5401e83bb9a2483bfaebb158497aa344ebb152e215117e8df05dc15665e40cf31234ef0ecca3235c11751b284271dc206e566b13357105b2f24eb555004e1ba42874603bb31664e2192ce6c5156962a66f7847c38a888d34f1493c5982d43b62e5d08c802c64d02780eb8cc4592e7632314b1d02fd720340983b05eab71bf17f86104b36976d7c32c60580cf8b5f9dfc70c8f57f4cbc826c77c20cd51fe6276c618dc11b2cce8862dec0534731685e6b55707db24c30a1934094e8d677ee8ea994ad3e48a6814c848c07d16220493135dc6f0bb7f6629ec2e05063e2600f2809cc88a6bc546dfc7b3c858718b72d8612148c643ddda5f442dea8a14a9ddf1640705890829dc90ae5825f13c161823248899d0e6be620aff7ef416df9f14b2c02e035119492081c26159165883fb6aa8624284b4d6c02c983f4e84f0e5421729e3ed306c6ad6bced44e80d5788d63b96861c12bda2a1e452798a4c16849c16be2a34b470792ef25885d002640164a2409d3e771f2cfc40f3023652a8d7b220f543fc32f8989454bb12dce5ba420c2a7e703f1cebc87e7f4c542e889785ea258f4d34ccb6a7204389fee391374dba550c48ed2dc293d3207ea3ec186024a801ba6478038ec802612cf0e6dd48e41421a1a21df38d13d16024cb95369c12b04a1261d3970d1ba0d054ee5a0271cc5fea55c0f28c3c2824002725351c9975fd18f3ccfe178eaec2e31321e50dd48166bb70418e22bf1dcbab68919311eca927844c41cdcdbae6cfd79240d18b8183e3dcc1b68870d8afee1be2cd143d0e1a2a128d720628dad978ae8380c25c852b3bc300aec5a60a95827d38167cb51b1d80b6a03f771fa8d9a11de966147598020e58e0a95275459285b3e1e1f85805eefdfd79c187d4b62d16d40ee8fd953c81b6b1e7fac8357281529ff11f974978988a9418527bd56b0d992de200202710bc74714330ac54d0462a83703f607778bfdfef3b77f8e35a4b20c18975f29e7280396d2e1c5e33c883ac206955e06aec1e7e944caf73358ae3fb1c7f61933562a6105cdb46136ebec4b0fb1ac2aa72a7ead73c76b952ab876098e5adf0a792375cd9d0c19c4bb77adab7ff9858b2d9d9773d968c462d032e30a6c4075a95aa4ee1e5d88bddded345006762a41b55cac52faf09154285395482c028441df90c233d11baf21487209f1e1a32c14911b0fef68eb5956ff7c74600c4770a3f40a504948b55df4884ced9b70702e780558463c5a75fc002c85220d5387a7c09d79ab41acd3f59559b9db2db9a2659ae09826507471ed5bc00d40df331e619644c40c046ac3ed236cbdad65a076109e1b5a0b27dc51390e4fc8edb6eb2c608bb2c37447c7a1f2a7e6136f1c0bf18222b82bbd11da0debc5b1cd2f5fa1656d2bf85fea64ceae2390fac521177f034a830d00b961ffbee298a8e88d02899989672e4e659605f381909210ed1250882d7d6aaa4cd21b62a62f504b512bLine truncated
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["lang-de.json"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ffd4595f6e1cb9d17fdf5314042c2001fa66fd6d3679f04b20dbf146b12d0f6c2986010101a79b3343a89bec25bb359e151ce43401728d1c2527c9af8aecbf3363797763aff7c11e76d5af8ac562b15845dd7d45444767f3737aa6b7470ffbe169642c5c530b59068998e774e1722df476dcb35ee9ca05533bbf6d01034a07f33a84c497e188a1872cdd318bc26de8cc3abb2d5d13e82aa89516e5be3676f54791b90f935459eb1a9b697aadfdadf6223921b5c0039aa2c82166147ed4ac6421f21b498fe75774559bc2fca86ae32c73a7a4042c5c100fc74122ba6aebcd6a5dd3bfff45df3ef8ffefe82feac62de891f32b5236a77aad69e9d807b0821e3b5b7bb368e0f9f05074fd12f968c2135de85a0c4ba3447659536a5b77ab1a135ad0c6164e21205452312244d09f72231127bf3da98bb8fe63c01cc7dc949480562d0a4d57733b17d0e0b305d4da53e6ca5251d095f2302aa7eb23533de47dbd3e22d54624390f46beb5aa341918b5a34afba5f32529b8abc4aa33ca4dc81c42694b6e299e4de2b338fde79a2c2dce7b27711e0791f8d4c0037fd53e608f524c4f490320262d4d60062d4c1d48794d66659d87e19bb5b6543877c37103d3285b2bbbd26186a3a109124fcf2e69092d611b6a5d461f7c02adbdb95153099fe4ecb11cfea550abb2c2f76d5c5f206349d12cd41d01c19f635f6462afab42658063e25c823da7c596c2d666f51a16756bf81c534d17567957eb8c714befcad63154aa5c1ce310029e2c8e4938259ce01d00d406e1d3c614052d60314e2b9bcfc183c8a9db40ca8a06cef593d5fe0af3271788dbc498388ae4efafcee9ac01dee23448d2a1b90a61e37cced80fb10f2a4090f903c2c2ea059f1b986869747deda527116db54f39b01b2756e116aaa027ed7116c89436828e73df2e3182cfe548d1bc3b6d62e31e6a843fd3ba6ad38020c784087a0eb30367da42ab78594d2809e6b2e98aa6a4bd409a2311ee4147fa5064ec821d5a84be501c464267d4f0b305bc2349498f2556e552a2e367e6d137e1244a7c80dfab78d9d438fc36e79cf54affd0c021a115dfcb8ba21762d585eb3e7134ce9f445a1c0e1817aad41d4b3e5a262234716414c92f9f3109ffa7cfe5b2305660ed30316c47b74332ceefcb25bd463612dee0b303ac9cac895df2dc94b87f078efb103b29c0be7a93b7ae157fedd02274aeea759f26da3d8e2945e3b2e0bdc7b55a359c33e84d4a2e99d772c19a2561f2dc694e3e35e97738a033ba84242a30cc8534e555c68171fcf713ca9465e126405221ef515823f432ac7f192fd32fc798e41c3977b451b1861a7e2680d7b7466f4605ab20f7d1a3c8abb317d392754a4a409d396b7129d0391737b758fb710c80039c56acf35b8cf7316107140fee0498883b60dea00954482d30b05777cddd257702b58a1e6b8723065d689deb7cc06f2911f65addcaf192df4442ae8463385ee4bae4700a6bbe62e58a1c44d5c6d46bb9857faa483b51cdbd49881ad238b144f80dc0525947c8943680e642ef50e9b305207408e71697e5d22076b96e1b9f8f19bdc095cec1ccf480f4c52746e170a4bb3e2e2baef57fa8ae33709322ad1df60c8b3a0d226849507da4c4cba5dba010e1d2ae6e3aeb7e92483b5153e7108c1ad238b15ce3d1833e4ecdcef0330124a81e79b749c5c99890404dc50798bea1a7ce37a5c026a404440ea7394a3997b9626f15730fa257b3f66818fa143125f5402968698d14b6d0d015e000620fcc5ab1c380a91263e1603900a3be35b865bde1e845a84847cee53617a4da2d1f8e67f9591aa666048dde830f2142900d3da518a3dcc970a246ad8c56b394d3485b6c694c2d56a32c8e7911fa67c8bab5df42df7ffef1cfb1919f407f5c025f356ab5f27a25f711472936d864a9c46f1685c98a2da95b650ae996554d77778d2fdebf670b7f89786f004c5c9a55e36361dd6fbbe2768a5b07be1b710d9a5b9e6546bd5f4a3ef63ee559b8a705c5cc88db6ca47ad69afcf926ec17a96de6b7157ba9911bd6cb0dcbdb276d4f0e0f218f9d0b456e782e2a70f9dfc81301cc447f5873cb8f768a6529981fb913b3a805aaaaeb32a162d96547cfd3a119e50706511c7bb09c43a4ebba103ba5d825c123f7476e54e156d859657aa7fd761730dc049c0a206d4ad25de5c54f0c849bdee4b20414564d91b37245bfff76508685da7318609703073a8648f9e8d6c18b4bb14db9c0f8341a132af4f49191abb0d61c6822547178a862e0dc2fcdb0de69ad4da888d822ccbd2894bde96c3fc8df558190909592a4ae54cf2e5d0333d27d791ddfeeae9b070f7ea7295dcfd747ed8ea6baba7f5cc0e1dc598aa4edb4103a4e4f49273bf6febac60c9c233bc3fbe58ac17311ccbb41cb7dcaef63f2c4d52fe0a305f64dd2e1cb5433a996c9561fdce49f2bdf9be08755fdc189ee411d52d71b13a6f5e2f11fbeeb0f8abca516285d4ef69f95d3f6a074afe1fc2f870dc7b39353d9543afebf13e1225200cc389c8eff76329ac32217ee5fd19768e87d4e6dacf9a1d1f72ca805ed5556719bfc115bbe1f17555e552bcf6f87978eeebe4e51f8b5942143ce5de27415c65535fa8bc3f03301f83a13960c5aa2a63f5f5ece5f4bbbf1fdd579044c89119c5ec518d20e23e30d3fedaa5c5e7b94d4079c264ee59c7292298dec9daa07afa15d80e4393f070f734ce0c790da39f1dc27d37dc8f47e9bf64fa269d4b78fea0033d86523fdea4acbb40b5d6fb8f68a0d1a3f7d6c256566fc6c81c20212e6564b148bf1a5aab335e977885f1496ad34b77a7dc7f85b353d3afe6d6cbbde76bdd55bd43aa2402c87bdfca65363f7749b8b65d51f038b0a0dffa58445e2e0abf7ff050000ffff010000ffff84efef43041e0000")
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["lang-en.json"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ff9459df6e1cb7d5bfcf531002024980b2f9be20df77e18b04b615a7aa2d5bb0ac04050c14dc19ee2ee319724c7256de182972dbebbe40afda6c2efa105df445fa24fd9d437286b35ad9698058b3c343f2fcfd9d3ff3fe1381ff8e1e5e5d88a76a73f4401c3d6e765b81df476769696efb400bbb9f45e76c67fdb052d7e2b9ad152d3efc0154ca89de08f3afbff47549f35261930ed66df628dd6edb2917ac76aaa077ca7b26e4a7fd1555ae8dac348dbd150f8d359bd6f65edc78b9547cb10bda2cbfe63d3d58d01e57374a38d9d19a90bc45895a091f64d03ee8b7bdf2a23eee836eb4c72b6bbe1eae31c6f6a652e25ab9b572742a3ff50e1b2416b136d2dec30ced7af9df5c9f4f7cd42f5978fe9bde3dbeba113744fa6324c5f2cdb853d4bd00c540dc58cfd67aa25c0bf6f36bdb6d9c5eae82f8e7567cf13ffffba5f8bd7c63e7e291754b70588bb052626149c5605f3cb626383d276dfa07ec311fdaaf02d4ed45953741575ef85eafa509d89e5838578d0accda75df754e17dc9ddbaa6f9509837cd31703d5ad69ac84b3c978cef96e3bd741e4f799ee9b5a4767fe331ec64be8f5e0cb698ddc64e2cb4c3475e682f480337f63e41c2b3757e68a1db00a7a4dc4c7fc6620a2032adbb65278d54907016af1fa48770fc8455e1f09993d5f5887857a6364ab2b2c042b70e5c2ba564898a385462a516b5f595cb31176c1964bdb67c4022e73ccaec7eb7468799587101292e035fe224695586bb7ec2185ed2777cb8536e4f45926299caa56ca5574636206ae4c9edd1ca7bb6683ccce598e1e3cc021f2eb271af77ca79c876153a0a45f9ece59e86aa5d5941af2b7da138980b9219553422f8d75d0e1ed4a19d158fb86bc165a12d54a9aa5f2334424e431e2c9c3573814cad8f8a0daa8a16724fa706879aff0f0e178382ba881ffb378a5e8f81d6f210fc54d00cd18c9b4bf8f9aa7eb76bfb4aa3cdc0bc5fccc4ae9a2382dac5993ad6b7806c144dbe1f73a2b06669062e6c3f002915ae33696dea9ae9115c8217dcd31568bf9061c982aaca09641e4810d161237edb69e62b78643e004fa554b1c0e95d716aac105e59d832e38bc9d6af95ad601398ea7a05649a3e458050377e4459209aa224e17ceb6d968a295351bcdc2a79d3088557f260028770870aee77571ab9b46cca133f0410aa468001b214746d5f430bcbb4709c4c76ebb64d109c146b352ac4bd89496b251e1f3383a0206186ba5f611f8eedf56257c017f8e2e0c0e1a5eecb68e0864cfac2a82f081cfac2bb670c442b6455ef8f6e64220cdc1f240829801aea4f7b7d6d5447d690319a9c32b45b19b28179916db3f701282c68df905f04b694fc6a48a92616ff33390c0010f656d12a9a45646b984dadfeeb6060a28246aec5c36e23c831a27cf21da96bcaaf688a710fd72c4e5449fc92f1827c4d518ed441fdf46a3164090373d55aacb18e563f6339eab01de912322933f83609eb246a364ccbde7ca19bdfb051727da81d456f74bdad0a2ba87545c01bd899efe9285dd07f74df5935c285266c24b490ec794254d2b77ff08637ebb94ef04a3f0637672cebde2e4a97ef4b93f2d72702bdfe9b66fa7d858026bde521cfba20f7031531374bf54541305d6f673dbce0913c7236bd5822e961855d53b9c3dd685cf6ddc64c617d87271ce863e27479c64785e7d2e5b95ae3a40807048ab63e0e4d5174f6905ffe6df8b45a30d93e7c7bc62860533790f3c7bb110d780c7c43843e50af8404156902d2dab8634fe4cb7d072a1777ec16156470b78f805eaad7d45bf80f3385d67fbf958d1544efae4cd0578e53d5732ac462ccd8e147137b91b15331dd5f833f17d42e0ca292e6bf442809dda1252028cd43ba0c44cbcc24e804af40f8792827ce24fa7a2928636f71e3b252051f81504a9a0a3452c1f1eaf54abb9ca2daaaf08c9c7c03c6d224831573371d110d24a30b3db02b0bc16ba11e6989960549c8967608139e0008d3c11279dc2a5bb5fe1fb299d633f956cd4485495ed5da5399c072d71b88b5b19abcd4b45040cbd4193830ef876e5d45aabdb498fc0500969767fef59b4d42bfca61ee1e5c3cb0ff6035cae8068a057081b83742b2e88ad35ac77129d28ff6e544214a27b47879c8c1e3442c924a80ed4c2056504977d6cdec396829e5cee5e6b8ff49edce5635230d14400e834aafca542b4b4d215d927ad8ae74ad5aa9e1091b990aa2a243459b0712dd7b18d91fd7a3ce71af00f15538470e14201e45754ec70b152c4d1ad0e2bae47ae775bdaa349eb3118636921def69a4aa80006b86aa826adc76cbc3250b39953d4422f7b37f1946bbeff7bdcc78d0f135ea57305a4a88a4b277b6ade34922314887ca4216705aa706581b3a8f29ea2c54c5ca2a0a1d0a6f71e784bf80123e54a276a89f570910e22f8a240435d66fbfd868b63bbb63ac72856dbddaf6d8602850cddced90506351e28abc0f96d72e34b9b1aa563fc2e960dca6dec419f891232e512aac08b6a9283b48fcc3f5c508a8382767fa5b8e3a238764445f2a152cfabe8d87759ea438d6b23320750d585af11ee00bc53db4a7f81f4f46ea060ef7de4ec6daaddceb38773732bd77a1911f256cd873d7d849bcfc513ebfa96c5a01c917f6732a425718512d956b6f958b5d725ba38e81812dad41ff3eb11b9aeefa7e4e641ac9015e60a177be84990a266795f249062b70da4ff2de92eccee1ea10d74ce2139197278bb08b71420705e9edb50e7429d87b28b07d33bf88438e568ec52575a356800d0f5a47d5cf7a8fedd67953ebb3bf918cff10a3d2821c35cb1286722060e75b494fca044f870cb10213614040c6e4651603086e3b2197248701b9cf7ef9fff36e533c5408c90a410e613597083f37b13afa0d63402c0da12e908fcf9be195c1ff046a01ae22066adc46c366897f2b95c2e9d5a72d2cf59ab4afd5d3f6f74d5e0cab5d40d4f486410efdff7aef9e9a7dc8a4d329d5c3a6ec4546e4fb5efe015732ed1e93450714d496196870dc389055355098485f748eab0a997a4a284471ac4f84c8cca6b09b05c4a07b051268a988e043e393a769472efbeec8c1eb901c2c41eb1a3c2860ec39bf242463337a6a4030317938db0777721b03295db7464849e0b0cc70506f913f7c4350c0034bee0375c6651658792e60d5737e019901568c0048fa6bd289a7e248318a056d70ddd0e8e580c18efe8ba5a061a67f1c1b18aacc96787961c9ed6325feccd9c056b2d113f30b6d44981e3987652ebe040bd58c02504b556caaced06cf6f7b54e435aa2bc3be90cb3d768a9c2a9cce8d1dc45224179e734147f3046835402729551419c6e741e6ba1848c1d7baae494d008ca709557f503db725881af6d824023fd70a2e9f9314ab65b73da3f85bd39c988bd3d8ce401e9ea608942e9aa639b58ae646ae586b49493faaab577bf6468442ab26a5a6a1d2a631583c8ccd8d42baLine truncated
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["lang-fr.json"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ff7c91416eac300c86f7ef1451166f5688cdac5ae8a62731c4402493a0c48c8410776f0269caa84c171013fbf3efdf544a3f444be07d2d47ab8044070ae5c73f217ea50aa5816c2f85e98b74bfde8e0cf5b73741e07adc76f68a6ead61349cf2571503066d2780d0f1f12ed6d533f0ecb72d73811ceecf206b263c1584123f818983eaae963a48cb6fa2a7651ae28dc851508947d4a8ca089e3badebde7ddb7ee4cbe19e4d94c1c56b478d55cbbe2f76607c4bb3c2d7649ab625eb513ef7e9ac6574e715343373f0c0cb84b53c3e32d3b011e129147630134ba18021fc3d3feadc3258dd57f4c7561c8ef6817927ff71f4d3fb679cae2a0fc50b2f394c413abe000000ffff010000ffffe37f5ed168020000")
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
+50 -1
View File
@@ -189,7 +189,7 @@ func TestOverriddenValues(t *testing.T) {
}
}
func TestNodeAddresses(t *testing.T) {
func TestNodeAddressesDynamic(t *testing.T) {
data := []byte(`
<configuration version="2">
<node id="AIR6LPZ7K4PTTUXQSMUUCPQ5YWOEDFIIQJUG7772YQXXR5YD6AWQ">
@@ -233,3 +233,52 @@ func TestNodeAddresses(t *testing.T) {
t.Errorf("Nodes differ;\n E: %#v\n A: %#v", expected, cfg.Nodes)
}
}
func TestNodeAddressesStatic(t *testing.T) {
data := []byte(`
<configuration version="2">
<node id="AIR6LPZ7K4PTTUXQSMUUCPQ5YWOEDFIIQJUG7772YQXXR5YD6AWQ">
<address>192.0.2.1</address>
<address>192.0.2.2</address>
</node>
<node id="GYRZZQBIRNPV4T7TC52WEQYJ3TFDQW6MWDFLMU4SSSU6EMFBK2VA">
<address>192.0.2.3:6070</address>
<address>[2001:db8::42]:4242</address>
</node>
<node id="LGFPDIT7SKNNJVJZA4FC7QNCRKCE753K72BW5QD2FOZ7FRFEP57Q">
<address>[2001:db8::44]:4444</address>
<address>192.0.2.4:6090</address>
</node>
</configuration>
`)
name, _ := os.Hostname()
expected := []NodeConfiguration{
{
NodeID: node1,
Addresses: []string{"192.0.2.1", "192.0.2.2"},
},
{
NodeID: node2,
Addresses: []string{"192.0.2.3:6070", "[2001:db8::42]:4242"},
},
{
NodeID: node3,
Addresses: []string{"[2001:db8::44]:4444", "192.0.2.4:6090"},
},
{
NodeID: node4,
Name: name, // Set when auto created
Addresses: []string{"dynamic"},
},
}
cfg, err := Load(bytes.NewReader(data), node4)
if err != nil {
t.Error(err)
}
if !reflect.DeepEqual(cfg.Nodes, expected) {
t.Errorf("Nodes differ;\n E: %#v\n A: %#v", expected, cfg.Nodes)
}
}
+1 -1
View File
@@ -413,7 +413,6 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca
$('#editNode').modal('hide');
nodeCfg = $scope.currentNode;
nodeCfg.NodeID = nodeCfg.NodeID.replace(/ /g, '').replace(/-/g, '').toLowerCase().trim();
nodeCfg.Addresses = nodeCfg.AddressesStr.split(',').map(function (x) { return x.trim(); });
done = false;
@@ -866,6 +865,7 @@ syncthing.directive('validNodeid', function($http) {
if (resp.error) {
ctrl.$setValidity('validNodeid', false);
} else {
scope.currentNode.NodeID = resp.id;
ctrl.$setValidity('validNodeid', true);
}
});