diff options
| 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 |
| commit | 18d95208a6cfe3cfe03edcc333deff3af14ee6fd (patch) | |
| tree | 8d461bf2227807da8be2bb45bbaddfb94e5f084d /ishtar_common/static/js | |
| parent | 886425410c20585a6cbf2003b98b406812f2478f (diff) | |
| download | Ishtar-18d95208a6cfe3cfe03edcc333deff3af14ee6fd.tar.bz2 Ishtar-18d95208a6cfe3cfe03edcc333deff3af14ee6fd.zip | |
✨ JS - manage reload on modal close with tab activation for direct action url
Diffstat (limited to 'ishtar_common/static/js')
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 16 |
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() { |
