summaryrefslogtreecommitdiff
path: root/ishtar_common/static/js/ishtar.js
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-07-07 09:39:29 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-07-08 09:58:47 +0200
commitc01be9de3ea65ab7a5360444e5cc27caebc1c061 (patch)
treea324f582ed88df9fa6230809600a665baacde36c /ishtar_common/static/js/ishtar.js
parentfd232fdba395c96564934052233dd23604082693 (diff)
downloadIshtar-c01be9de3ea65ab7a5360444e5cc27caebc1c061.tar.bz2
Ishtar-c01be9de3ea65ab7a5360444e5cc27caebc1c061.zip
Preventive file - inline forms
Diffstat (limited to 'ishtar_common/static/js/ishtar.js')
-rw-r--r--ishtar_common/static/js/ishtar.js23
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