summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-06-26 14:14:12 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-06-26 14:14:12 +0200
commit18d95208a6cfe3cfe03edcc333deff3af14ee6fd (patch)
tree8d461bf2227807da8be2bb45bbaddfb94e5f084d /ishtar_common
parent886425410c20585a6cbf2003b98b406812f2478f (diff)
downloadIshtar-18d95208a6cfe3cfe03edcc333deff3af14ee6fd.tar.bz2
Ishtar-18d95208a6cfe3cfe03edcc333deff3af14ee6fd.zip
✨ JS - manage reload on modal close with tab activation for direct action url
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/static/js/ishtar.js16
1 files changed, 13 insertions, 3 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index 3835d8677..cb3638e1c 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -1049,7 +1049,8 @@ var register_qa = function(){
$(".btn-qa").click(function(){
let target = $(this).attr('data-target');
let window_id = $(this).attr('data-window');
- dt_qa_open(target, null, window_id);
+ let window_tab = $(this).attr('data-window-tab');
+ dt_qa_open(target, null, window_id, window_tab);
});
};
@@ -1059,7 +1060,8 @@ var register_qa_confirm = function(){
let target = $(this).attr('data-target');
if (!confirm(confirm_message)) return;
let window_id = $(this).attr('data-window');
- dt_qa_open(target, null, window_id);
+ let window_tab = $(this).attr('data-window-tab');
+ dt_qa_open(target, null, window_id, window_tab);
});
};
@@ -1264,7 +1266,7 @@ var dt_generate_qa_url = function (table, url){
return url;
};
-var dt_qa_open = function (url, modal_id, window_id){
+var dt_qa_open = function (url, modal_id, window_id, window_tab){
if (!modal_id) modal_id = "modal-dynamic-form";
if (!$('#' + modal_id).length){
let src = '<div class="modal" id="' + modal_id + '" tabindex="-1" role="dialog"';
@@ -1290,6 +1292,14 @@ var dt_qa_open = function (url, modal_id, window_id){
$('#' + modal_id).modal("show");
let table_scroll_height = $(window).height() - 180;
$(".table-scroll table").height(table_scroll_height + "px");
+ if (window_id && window_tab){
+ // reload the content and activate the tab
+ let current_window_id = $("div.card.sheet[id^=" + window_id + "]").attr('id').replaceAll('-', "_");
+ let parameters = {};
+ parameters["window-id"] = window_id;
+ parameters["window-tab"] = window_tab;
+ window["reload_window_" + current_window_id](parameters);
+ }
},
data: data,
error: function() {