diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-07-07 09:39:29 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-10-25 12:06:02 +0200 |
commit | 62823edbc5cb453869f5a07f690658580ed8df71 (patch) | |
tree | 52fd5556d11e905b775dc8e4cf8bf7b41c88b8ee /ishtar_common/static | |
parent | 2d0512c72b2a8feb6fa10c3cd8b8c53bc74a9ba6 (diff) | |
download | Ishtar-62823edbc5cb453869f5a07f690658580ed8df71.tar.bz2 Ishtar-62823edbc5cb453869f5a07f690658580ed8df71.zip |
Preventive file - inline forms
Diffstat (limited to 'ishtar_common/static')
-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 |