healthChecks.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. /* PHP MAILER JS FILE */
  2. /*
  3. $(document).on('click', '#PHPMAILER-settings-button', function() {
  4. var post = {
  5. plugin:'PHPMailer/settings/get', // used for switch case in your API call
  6. api:'api/?v1/plugin', // API Endpoint will always be this for custom plugin API calls
  7. name:$(this).attr('data-plugin-name'),
  8. configName:$(this).attr('data-config-name'),
  9. messageTitle:'', // Send succees message title (top line)
  10. messageBody:'Disabled '+$(this).attr('data-plugin-name'), // Send succees message body (bottom line)
  11. error:'Organizr Function: API Connection Failed' // conole error message
  12. };
  13. var callbacks = $.Callbacks(); // init callbacks var
  14. //callbacks.add( ); // add function to callback to be fired after API call
  15. //settingsAPI(post,callbacks); // exec API call
  16. //ajaxloader(".content-wrap","in");
  17. //setTimeout(function(){ buildPlugins();ajaxloader(); }, 3000);
  18. });
  19. */
  20. // FUNCTIONS
  21. // EVENTS and LISTENERS
  22. // CHANGE CUSTOMIZE Options
  23. //
  24. $(document).on('click', '#HEALTHCHECKS-settings-button', function() {
  25. var post = {
  26. plugin:'HealthChecks/settings/get', // used for switch case in your API call
  27. };
  28. ajaxloader(".content-wrap","in");
  29. organizrAPI('POST','api/?v1/plugin',post).success(function(data) {
  30. var response = JSON.parse(data);
  31. $('#HEALTHCHECKS-settings-items').html(buildFormGroup(response.data));
  32. var elAddButtonStart = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.start');
  33. var testone = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.m-b-40').first('span')
  34. var testtwo = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.m-b-40 span')
  35. $(elAddButtonStart).after('<div class="row"><button type="button" class="btn btn-info pull-right m-r-20 addNewHCService" ><i class="fa fa-plus"></i> Add New Service</button></div>');
  36. $.each(testtwo, function(key,val) {
  37. var el = $(val);
  38. var text = el.text();
  39. if(text === 'Service Name'){
  40. $(this).after('&nbsp;<div class="pull-right text-danger removeHCService mouse"><i class="fa fa-close text-danger"></i></div>');
  41. }
  42. })
  43. }).fail(function(xhr) {
  44. console.error("Organizr Function: API Connection Failed");
  45. });
  46. ajaxloader();
  47. });
  48. $(document).on('click', '.addNewHCService', function() {
  49. var lastEl = $('#HEALTHCHECKS-settings-page [name*="HEALTHCHECKS-all-items"]').last().attr('name');
  50. var newNum = 0;
  51. if(typeof lastEl !== 'undefined'){
  52. lastEl = Number($('#HEALTHCHECKS-settings-page [name*="HEALTHCHECKS-all-items"]').last().attr('name').replace(/\D/g, ''));
  53. newNum = lastEl + 1;
  54. }
  55. var copyEl = '' +
  56. '<div class="row m-b-40">\n' +
  57. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  58. '\t<div class="col-md-6 p-b-10">\n' +
  59. '\t\t<div class="form-group">\n' +
  60. '\t\t\t<label class="control-label col-md-12"><span lang="en">Service Name</span>&nbsp;<div class="pull-right text-danger removeHCService mouse"><i class="fa fa-close text-danger"></i></div></label>\n' +
  61. '\t\t\t<div class="col-md-12"> <input data-changed="false" lang="en" type="text" class="form-control" value="" name="HEALTHCHECKS-all-items[999999].name" data-type="input" data-label="Service Name" autocomplete="new-password"> </div> <!-- end div -->\n' +
  62. '\t\t</div>\n' +
  63. '\t</div>\n' +
  64. '\t<!--/ INPUT BOX -->\n' +
  65. '\n' +
  66. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  67. '\t<div class="col-md-6 p-b-10">\n' +
  68. '\t\t<div class="form-group">\n' +
  69. '\t\t\t<label class="control-label col-md-12"><span lang="en">UUID</span></label>\n' +
  70. '\t\t\t<div class="col-md-12"> <input data-changed="false" lang="en" type="text" class="form-control" value="" name="HEALTHCHECKS-all-items[999999].uuid" data-type="input" data-label="UUID" autocomplete="new-password"> </div> <!-- end div -->\n' +
  71. '\t\t</div>\n' +
  72. '\t</div>\n' +
  73. '\t<!--/ INPUT BOX -->\n' +
  74. '\n' +
  75. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  76. '\t<div class="col-md-6 p-b-10">\n' +
  77. '\t\t<div class="form-group">\n' +
  78. '\t\t\t<label class="control-label col-md-12"><span lang="en">External URL</span></label>\n' +
  79. '\t\t\t<div class="col-md-12"> <input data-changed="false" lang="en" type="text" class="form-control" value="" name="HEALTHCHECKS-all-items[999999].external" data-type="input" data-label="External URL" autocomplete="new-password"> </div> <!-- end div -->\n' +
  80. '\t\t</div>\n' +
  81. '\t</div>\n' +
  82. '\t<!--/ INPUT BOX -->\n' +
  83. '\n' +
  84. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  85. '\t<div class="col-md-6 p-b-10">\n' +
  86. '\t\t<div class="form-group">\n' +
  87. '\t\t\t<label class="control-label col-md-12"><span lang="en">Internal URL</span></label>\n' +
  88. '\t\t\t<div class="col-md-12"> <input data-changed="false" lang="en" type="text" class="form-control" value="" name="HEALTHCHECKS-all-items[999999].internal" data-type="input" data-label="Internal URL" autocomplete="new-password"> </div> <!-- end div -->\n' +
  89. '\t\t</div>\n' +
  90. '\t</div>\n' +
  91. '\t<!--/ INPUT BOX -->\n' +
  92. '\n' +
  93. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  94. '\t<div class="col-md-6 p-b-10">\n' +
  95. '\t\t<div class="form-group">\n' +
  96. '\t\t\t<label class="control-label col-md-12"><span lang="en">Enabled</span></label>\n' +
  97. '\t\t\t<div class="col-md-12"> <input data-changed="false" type="checkbox" class="js-switch" data-size="small" data-color="#99d683" data-secondary-color="#f96262" name="HEALTHCHECKS-all-items[999999].enabled" value="" checked="" data-type="switch" data-label="Enabled"><input data-changed="false" type="hidden" name="HEALTHCHECKS-all-items[999999].enabled" value=""> </div> <!-- end div -->\n' +
  98. '\t\t</div>\n' +
  99. '\t</div>\n' +
  100. '\t<!--/ INPUT BOX -->\n' +
  101. '</div>'
  102. //smallLabel+'<input data-changed="false" type="checkbox" class="js-switch'+extraClass+'" data-size="small" data-color="#99d683" data-secondary-color="#f96262"'+name+value+tof(item.value,'c')+id+disabled+type+label+attr+' /><input data-changed="false" type="hidden"'+name+'value="false">';
  103. var elAddButtonStart = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.start');
  104. var copiedEl = $(copyEl).clone();
  105. copiedEl.find("input").each(function() {
  106. var currentName = $(this).attr("name");
  107. var newName = currentName.replace('999999', newNum);
  108. $(this).attr("name", newName);
  109. $(this).attr("value", "");
  110. });
  111. $(copiedEl).appendTo(elAddButtonStart);
  112. $(function () {
  113. // Switchery
  114. var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
  115. $('.js-switch').each(function() {
  116. if ($(this).attr('data-switchery') !== 'true'){
  117. new Switchery($(this)[0], $(this).data());
  118. }
  119. });
  120. });
  121. });
  122. $(document).on('click', '.removeHCService', function() {
  123. $(this).closest('.row').remove();
  124. $('#HEALTHCHECKS-settings-page-save').removeClass('hidden');
  125. });