healthChecks.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /* HEALTHCHECKS.IO JS FILE */
  2. // FUNCTIONS
  3. // EVENTS and LISTENERS
  4. // CHANGE CUSTOMIZE Options
  5. //
  6. $(document).on('click', '#HEALTHCHECKS-settings-button', function() {
  7. ajaxloader(".content-wrap","in");
  8. organizrAPI2('GET','api/v2/plugins/healthchecks/settings').success(function(data) {
  9. var response = data.response;
  10. $('#HEALTHCHECKS-settings-items').html(buildFormGroup(response.data));
  11. var elAddButtonStart = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.start');
  12. var testone = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.m-b-40').first('span')
  13. var testtwo = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.m-b-40 span')
  14. $(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>');
  15. $.each(testtwo, function(key,val) {
  16. var el = $(val);
  17. var text = el.text();
  18. if(text === 'Service Name'){
  19. $(this).after('&nbsp;<div class="pull-right text-danger removeHCService mouse"><i class="fa fa-close text-danger"></i></div>');
  20. }
  21. })
  22. }).fail(function(xhr) {
  23. console.error("Organizr Function: API Connection Failed");
  24. });
  25. ajaxloader();
  26. });
  27. $(document).on('click', '.addNewHCService', function() {
  28. var lastEl = $('#HEALTHCHECKS-settings-page [name*="HEALTHCHECKS-all-items"]').last().attr('name');
  29. var newNum = 0;
  30. if(typeof lastEl !== 'undefined'){
  31. lastEl = Number($('#HEALTHCHECKS-settings-page [name*="HEALTHCHECKS-all-items"]').last().attr('name').replace(/\D/g, ''));
  32. newNum = lastEl + 1;
  33. }
  34. var copyEl = '' +
  35. '<div class="row m-b-40">\n' +
  36. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  37. '\t<div class="col-md-6 p-b-10">\n' +
  38. '\t\t<div class="form-group">\n' +
  39. '\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' +
  40. '\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' +
  41. '\t\t</div>\n' +
  42. '\t</div>\n' +
  43. '\t<!--/ INPUT BOX -->\n' +
  44. '\n' +
  45. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  46. '\t<div class="col-md-6 p-b-10">\n' +
  47. '\t\t<div class="form-group">\n' +
  48. '\t\t\t<label class="control-label col-md-12"><span lang="en">UUID</span></label>\n' +
  49. '\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' +
  50. '\t\t</div>\n' +
  51. '\t</div>\n' +
  52. '\t<!--/ INPUT BOX -->\n' +
  53. '\n' +
  54. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  55. '\t<div class="col-md-6 p-b-10">\n' +
  56. '\t\t<div class="form-group">\n' +
  57. '\t\t\t<label class="control-label col-md-12"><span lang="en">External URL</span></label>\n' +
  58. '\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' +
  59. '\t\t</div>\n' +
  60. '\t</div>\n' +
  61. '\t<!--/ INPUT BOX -->\n' +
  62. '\n' +
  63. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  64. '\t<div class="col-md-6 p-b-10">\n' +
  65. '\t\t<div class="form-group">\n' +
  66. '\t\t\t<label class="control-label col-md-12"><span lang="en">Internal URL</span></label>\n' +
  67. '\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' +
  68. '\t\t</div>\n' +
  69. '\t</div>\n' +
  70. '\t<!--/ INPUT BOX -->\n' +
  71. '\n' +
  72. '\t<!-- INPUT BOX Yes Multiple -->\n' +
  73. '\t<div class="col-md-6 p-b-10">\n' +
  74. '\t\t<div class="form-group">\n' +
  75. '\t\t\t<label class="control-label col-md-12"><span lang="en">Enabled</span></label>\n' +
  76. '\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' +
  77. '\t\t</div>\n' +
  78. '\t</div>\n' +
  79. '\t<!--/ INPUT BOX -->\n' +
  80. '</div>'
  81. //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">';
  82. var elAddButtonStart = $('#HEALTHCHECKS-settings-page [id*="Services"] .row.start');
  83. var copiedEl = $(copyEl).clone();
  84. copiedEl.find("input").each(function() {
  85. var currentName = $(this).attr("name");
  86. var newName = currentName.replace('999999', newNum);
  87. $(this).attr("name", newName);
  88. $(this).attr("value", "");
  89. });
  90. $(copiedEl).appendTo(elAddButtonStart);
  91. $(function () {
  92. // Switchery
  93. var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
  94. $('.js-switch').each(function() {
  95. if ($(this).attr('data-switchery') !== 'true'){
  96. new Switchery($(this)[0], $(this).data());
  97. }
  98. });
  99. });
  100. });
  101. $(document).on('click', '.removeHCService', function() {
  102. $(this).closest('.row').remove();
  103. $('#HEALTHCHECKS-settings-page-save').removeClass('hidden');
  104. });