var multiples = {}; function addMultiple(id, paramsEnc) { var params = JSON.parse(paramsEnc); var div = document.getElementById(id); if (!multiples.hasOwnProperty(id)) { multiples[id] = 0; } multiples[id]++; x = 0; for (const param in params) { var input = ""; var input_id = id + "-" + params[param]["id"] + "-" + multiples[id].toString(); var input_name = params[param]["env"] + (multiples[id] - 1 > 0 ? "_" + (multiples[id] - 1).toString() : ""); var input_label = params[param]["label"] + " #" + multiples[id].toString(); var input_value = params[param]["default"]; var input_help = params[param]["help"]; var input_selects = params[param]["select"]; var pt = ""; var padding_bottom = ""; if (params[param]["type"] == "text" || params[param]["type"] == "number") { input = ``; } else if (params[param]["type"] == "check") { if (input_value == "yes") { input_value = "checked"; } else { input_value = ""; } input = `
`; pt = "pt-0"; } else if (params[param]["type"] == "select") { input = ``; } if (x === 0 && multiples[id] > 1) { padding_bottom = "pb-3"; } div.insertAdjacentHTML( "afterend", `
${input}
` ); x++; } } function delMultiple(id, paramsEnc) { if (multiples.hasOwnProperty(id) && multiples[id] > 0) { var params = JSON.parse(paramsEnc); for (const param in params) { var input_id = id + "-" + params[param]["id"] + "-" + multiples[id].toString(); document.getElementById(input_id).remove(); } multiples[id]--; } } $(document).ready(function () { $("form").on("focus", ".form-control", function () { if ( ["text", "number"].includes($(this).attr("type")) && $(this).prop("validity").valid ) { $(this).addClass("is-valid"); } }); $("form").on("focusout", ".form-control", function () { if (["text", "number"].includes($(this).attr("type"))) { $(this).removeClass("is-valid"); } }); $("form").on("change", ".form-control", function () { if (["text", "number"].includes($(this).attr("type"))) { if (!$(this).prop("validity").valid) { $("#pills-tab a").addClass("disabled"); $(this).addClass("is-invalid"); } else { $("#pills-tab a").removeClass("disabled"); $(this).removeClass("is-invalid"); $(this).addClass("is-valid"); } } }); });