serverList.vue 1.3 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. watch: {
  28. "$root.servers": function (val, old) {
  29. this.servers = val;
  30. }
  31. },
  32. data: function () {
  33. return {
  34. servers: [],
  35. serversId: {}
  36. }
  37. },
  38. methods: {
  39. update: function () {
  40. var self = this;
  41. $.getJSON('/api/details')
  42. .done(function (res) {
  43. self.servers = res;
  44. var a;
  45. self.$root.servers = self.servers;
  46. self.$root.serversId = {};
  47. for (a in self.servers) {
  48. if (!self.servers.hasOwnProperty(a)) {
  49. continue;
  50. }
  51. var obj = self.servers[a];
  52. self.$root.serversId[obj.id] = a;
  53. }
  54. });
  55. }
  56. }
  57. }
  58. </script>
  59. <style>
  60. </style>