firewallOption_components.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. mgJsComponentHandler.addDefaultComponent('mg-firewallOption', {
  2. template: '#t-mg-firewallOption',
  3. props: [
  4. 'component_id',
  5. 'component_namespace',
  6. 'component_index'
  7. ],
  8. data: function () {
  9. return {
  10. data: {
  11. entries: {}
  12. },
  13. loading_state: false,
  14. passwordShow: false,
  15. loaded: false,
  16. };
  17. },
  18. mounted: function () {
  19. var self = this;
  20. if(this.$el.offsetParent === null) {
  21. setInterval(function(){
  22. if(self.loaded === false && self.$el.offsetParent !== null)
  23. {
  24. self.loadAjaxData();
  25. self.$parent.$root.$on('reloadMgData', self.updateMgData);
  26. clearInterval(this);
  27. }
  28. }, 500);
  29. }else{
  30. self.$nextTick(function () {
  31. self.loadAjaxData();
  32. });
  33. self.$parent.$root.$on('reloadMgData', self.updateMgData);
  34. }
  35. },
  36. methods: {
  37. loadAjaxData: function () {
  38. this.loaded = true;
  39. var self = this;
  40. self.loading_state = true;
  41. var requestParams = {
  42. loadData: self.component_id,
  43. namespace: self.component_namespace,
  44. index: self.component_index
  45. };
  46. var response = mgPageControler.vueLoader.vloadData(requestParams);
  47. return response.done(function (data) {
  48. self.data = data.data.rawData.data;
  49. self.loading_state = false;
  50. }).fail(function () {
  51. self.loading_state = false;
  52. });
  53. },
  54. loadModal: function (event, targetId, namespace, index, params, addSpinner) {
  55. mgPageControler.vueLoader.loadModal(event, targetId,
  56. typeof namespace !== 'undefined' ? namespace : getItemNamespace(targetId),
  57. typeof index !== 'undefined' ? index : getItemIndex(targetId), params, addSpinner);
  58. },
  59. updateMgData: function(toReloadId){
  60. if(this.component_id === toReloadId)
  61. {
  62. this.loadAjaxData();
  63. }
  64. }
  65. }
  66. });