serverList.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <div class="container no-gutters" id="serverList">
  3. <div class="row" id="titles">
  4. <div class="col-4">
  5. Server name
  6. </div>
  7. <div class="col-3">
  8. Server Type
  9. </div>
  10. <div class="col-3">
  11. Address
  12. </div>
  13. <div class="col-2">
  14. Players
  15. </div>
  16. </div>
  17. <server v-for="server in servers" :server="server" :update="update"></server>
  18. <serveredit :update="update" :onSubmit="update"></serveeditr>
  19. </div>
  20. </template>
  21. <script>
  22. export default {
  23. created: function () {
  24. this.servers = this.$root.servers;
  25. this.update();
  26. },
  27. data: function () {
  28. return {
  29. servers: [],
  30. serversId: {}
  31. }
  32. },
  33. methods: {
  34. update: function () {
  35. var self = this;
  36. var req = new XMLHttpRequest();
  37. req.open('GET', '/api/details');
  38. req.send(null);
  39. req.onreadystatechange = function () {
  40. if (req.readyState == XMLHttpRequest.DONE &&
  41. req.status === 200) {
  42. self.servers = JSON.parse(req.response);
  43. var a;
  44. self.$root.servers = self.servers;
  45. self.$root.serversId = {};
  46. for (a in self.servers) {
  47. if (!self.servers.hasOwnProperty(a)) {
  48. continue;
  49. }
  50. var obj = self.servers[a];
  51. self.$root.serversId[obj.id] = a;
  52. }
  53. }
  54. };
  55. }
  56. }
  57. }
  58. </script>
  59. <style>
  60. </style>