summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-05-10 12:39:11 +0200
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-05-10 16:21:21 +0200
commita04ef4e421ec29a3fb2f8181b5c7af381767001c (patch)
treef97291fce53c2f1e440d0db1ec36f3a24eca1ae0
parent0ba0b933e2483434fab77c8130960af3901a6190 (diff)
js: fix id update in partition form deletion
Update all the name and id fields of the elements in the partition form after a delete operation. Inconsistent ids make form.validate() to always return False, this causes all the form validation code to be skipped.
-rw-r--r--ogcp/static/js/ogcp.js6
-rw-r--r--ogcp/templates/base.html2
2 files changed, 5 insertions, 3 deletions
diff --git a/ogcp/static/js/ogcp.js b/ogcp/static/js/ogcp.js
index ccd8a1e..4779bf4 100644
--- a/ogcp/static/js/ogcp.js
+++ b/ogcp/static/js/ogcp.js
@@ -325,10 +325,12 @@ function RemovePartition(evt) {
target.remove();
// Reassign rows ids
table.find('tr').each(function(index) {
- $(this).find('.form-control').each(function() {
+ function update_references() {
const id = $(this).attr('id').replace(/(.*)-(\d{1,4})-(.*)/, `$1-${index}-$3`);
$(this).attr('name', id).attr('id', id);
- });
+ }
+ $(this).find('input').filter(':first').each(update_references);
+ $(this).find('.form-control').each(update_references);
});
} else {
table.find('tr').each(function(index) {
diff --git a/ogcp/templates/base.html b/ogcp/templates/base.html
index 9cb004b..9ade1d2 100644
--- a/ogcp/templates/base.html
+++ b/ogcp/templates/base.html
@@ -111,7 +111,7 @@
<!-- ChartJS -->
<script src="{{ url_for('static', filename='AdminLTE/plugins/chart.js/Chart.min.js') }}"></script>
- <script src="{{ url_for('static', filename='js/ogcp.js') }}?v=1"></script>
+ <script src="{{ url_for('static', filename='js/ogcp.js') }}?v=2"></script>
<script>
// error messages