vpsBuild_components.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. mgJsComponentHandler.addDefaultComponent('mg-vpsBuild', {
  2. template: '#t-mg-vpsBuild',
  3. props: [
  4. 'component_id',
  5. 'component_namespace',
  6. 'component_index'
  7. ],
  8. data: function () {
  9. return {
  10. data: {},
  11. loading_state: false,
  12. passwordShow: false,
  13. };
  14. },
  15. created: function () {
  16. var self = this;
  17. self.$nextTick(function () {
  18. self.loadAjaxData();
  19. });
  20. self.$parent.$root.$on('reloadMgData', this.updateMgData);
  21. /*reload each 30 sec*/
  22. setInterval(function(){
  23. mgPageControler.vueLoader.refreshingState = ['vpsBuild'];
  24. mgPageControler.vueLoader.runRefreshActions();
  25. }, 1000*30);
  26. },
  27. methods: {
  28. loadAjaxData: function () {
  29. var self = this;
  30. self.loading_state = true;
  31. var requestParams = {
  32. loadData: self.component_id,
  33. namespace: self.component_namespace,
  34. index: self.component_index
  35. };
  36. var response = mgPageControler.vueLoader.vloadData(requestParams);
  37. return response.done(function (data) {
  38. self.data = data.data.rawData.data;
  39. self.loading_state = false;
  40. }).fail(function () {
  41. self.loading_state = false;
  42. });
  43. },
  44. updateMgData: function(toReloadId){
  45. if(this.component_id === toReloadId)
  46. {
  47. this.loadAjaxData();
  48. }
  49. }
  50. }
  51. });