index.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. function pmToggleButton(data) {
  2. let button = $(".pmCreateButton");
  3. if(data.htmlData.createButtonStatus)
  4. {
  5. button.removeClass('hidden');
  6. $(".lu-has-dropdown").removeClass('hidden');
  7. }
  8. else
  9. {
  10. button.addClass('hidden');
  11. $(".lu-has-dropdown").addClass('hidden');
  12. }
  13. }
  14. function pmToggleDropDownButtons(data) {
  15. if($(".pmCreateButton").hasClass('hidden')){
  16. $(".lu-has-dropdown").addClass('hidden');
  17. }else{
  18. $(".lu-has-dropdown").removeClass('hidden');
  19. }
  20. }
  21. $(".mg-wrapper").on("change", "select[name='macro']", function () {
  22. var disable = $(this).val()!='0';
  23. if(disable){
  24. $("input[name='sport']").closest(".lu-form-group").addClass("disabled");
  25. $("input[name='dport']").closest(".lu-form-group").addClass("disabled");
  26. $("select[name='proto']").closest(".lu-form-group").addClass("disabled");
  27. }else{
  28. $("input[name='sport']").closest(".lu-form-group").removeClass("disabled");
  29. $("input[name='dport']").closest(".lu-form-group").removeClass("disabled");
  30. $("select[name='proto']").closest(".lu-form-group").removeClass("disabled");
  31. }
  32. });
  33. mgEventHandler.on('ModalLoaded', 'updateButton', function(id, params){
  34. if(id != 'updateButton'){
  35. return;
  36. }
  37. $(".mg-wrapper select[name='macro']").trigger('change');
  38. }, 1000);
  39. //restore rules
  40. var mgFile ={
  41. read: function (fileId){
  42. var input= document.getElementById(fileId);
  43. var file = input.files[0];
  44. if(file.size > 2000){
  45. throw new Error("The File size: "+file.size+" is too large");
  46. }
  47. fileReader = new FileReader();
  48. fileReader.onload = mgFile.pushResult;
  49. fileReader.readAsText(file);
  50. },
  51. pushResult: function(){
  52. $("#pmRulesJson").val(fileReader.result);
  53. }
  54. };
  55. $(".mg-wrapper").on("change", "#pmFirewallRules", function () {
  56. mgFile.read('pmFirewallRules');
  57. });