index.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. // import $ from "jquery";
  2. // import "bootstrap/dist/js/bootstrap.js";
  3. import "bootstrap/dist/css/bootstrap.css";
  4. import "sweetalert2/dist/sweetalert2.css";
  5. import Vue from "vue";
  6. import VueRouter from "vue-router";
  7. Vue.use(VueRouter);
  8. // Debug mode
  9. Vue.config.debug = true;
  10. // Devtools enabled
  11. Vue.config.devtools = true;
  12. // Silence logs and warnings
  13. Vue.config.silent = false;
  14. import comp_config from "./config.vue";
  15. import comp_serverList from "./serverList.vue";
  16. import comp_serverDetails from "./serverDetails.vue";
  17. import comp_server from "./server.vue";
  18. import comp_serveredit from "./serveredit.vue";
  19. import comp_servergraph from "./servergraph.vue";
  20. Vue.component('server', comp_server);
  21. Vue.component('serveredit', comp_serveredit);
  22. Vue.component('servergraph', comp_servergraph);
  23. var routes = [
  24. { path: "/", component: comp_serverList },
  25. { path: "/server/:id", component: comp_serverDetails },
  26. { path: "/config", component: comp_config }
  27. ];
  28. const router = new VueRouter({
  29. routes: routes,
  30. mode: 'history'
  31. });
  32. $(function () {
  33. var app = new Vue({
  34. router: router,
  35. el: "#statsApp",
  36. data: {
  37. servers: [],
  38. serversId: {},
  39. types: []
  40. },
  41. created: function(){
  42. var self = this;
  43. var types = new XMLHttpRequest();
  44. types.open('GET', '/api/types');
  45. types.send(null);
  46. types.onreadystatechange = function () {
  47. if (types.readyState == XMLHttpRequest.DONE &&
  48. types.status === 200) {
  49. self.types = JSON.parse(types.response);
  50. }
  51. };
  52. var serverCache = new XMLHttpRequest();
  53. serverCache.open('GET', '/api/details/cached');
  54. serverCache.send(null);
  55. serverCache.onreadystatechange = function () {
  56. if (serverCache.readyState == XMLHttpRequest.DONE &&
  57. serverCache.status === 200) {
  58. self.$root.servers = JSON.parse(serverCache.response);
  59. self.$root.serversId = {};
  60. for (var a in self.servers) {
  61. if (!self.servers.hasOwnProperty(a)) {
  62. continue;
  63. }
  64. var obj = self.servers[a];
  65. self.$root.serversId[obj.id] = a;
  66. }
  67. }
  68. };
  69. if(this.$route.path !== "/"){
  70. var server = new XMLHttpRequest();
  71. server.open('GET', '/api/details');
  72. server.send(null);
  73. server.onreadystatechange = function () {
  74. if (server.readyState == XMLHttpRequest.DONE &&
  75. server.status === 200) {
  76. self.$root.servers = JSON.parse(server.response);
  77. self.$root.serversId = {};
  78. for (var a in self.servers) {
  79. if (!self.servers.hasOwnProperty(a)) {
  80. continue;
  81. }
  82. var obj = self.servers[a];
  83. self.$root.serversId[obj.id] = a;
  84. }
  85. }
  86. };
  87. }
  88. }
  89. });//.$mount("#statsApp");
  90. });