settings.js 6.0 KB

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