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 | |
| parent | d552436e1847fc7541d1abe643c5fed67109bae6 (diff) | |
| download | Ishtar-577438f9ea0f25f5596aa1bb8e262d3c5a30173f.tar.bz2 Ishtar-577438f9ea0f25f5596aa1bb8e262d3c5a30173f.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 | 
