diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-07-07 09:39:29 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-07-29 11:56:34 +0200 |
commit | 577438f9ea0f25f5596aa1bb8e262d3c5a30173f (patch) | |
tree | aa302d408e0d9c7bf9c64a28c8bc9da03e784be9 /ishtar_common/static/js | |
parent | d552436e1847fc7541d1abe643c5fed67109bae6 (diff) | |
download | Ishtar-577438f9ea0f25f5596aa1bb8e262d3c5a30173f.tar.bz2 Ishtar-577438f9ea0f25f5596aa1bb8e262d3c5a30173f.zip |
Preventive file - inline forms
Diffstat (limited to 'ishtar_common/static/js')
-rw-r--r-- | ishtar_common/static/js/ishtar.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 897356fe3..3fa293deb 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -1874,4 +1874,27 @@ var update_select_widget = function(input_name, values, only_values, excluded_va } } $("#id_" + input_name).html(options); +}; + +var inline_register_add_button = function(slug){ + let inline_form = document.querySelectorAll(".form-" + slug); + let inline_container = document.querySelector("#formset-container-" + slug); + let inline_add_button = document.querySelector("#add-form-" + slug); + let inline_div_add_button = document.querySelector("#div-add-form-" + slug); + let inline_total_forms = document.querySelector("#id_" + slug + "-TOTAL_FORMS"); + let inline_form_num = inline_form.length - 1; + inline_add_button.addEventListener( + 'click', function(e){ + e.preventDefault(); + let new_form = inline_form[0].cloneNode(true); + let form_regex_var = slug + '(\\d){1}-'; + let form_regex = new RegExp(form_regex_var, 'g'); + inline_form_num++; + console.log(new_form); + new_form.innerHTML = new_form.innerHTML.replace( + form_regex, slug + `-${inline_form_num}-`); + inline_container.insertBefore(new_form, inline_div_add_button); + inline_total_forms.setAttribute('value', `${inline_form_num+1}`); + } + ); };
\ No newline at end of file |