Feature #16990
closed"ignore history" - option for custom buttons/links (_link)
0%
Description
Es gibt Situtationen wie selbsterstellte Buttons in Formularen mit welcher eine Action ausgeführt wird und dabei nur ein Page reload stattfindet. In einer solchen Situation wird erwartet dass kein History Eintrag im Browser erstellt wird.
Für diesen Fall wurde etwas im Medtool umgesetzt bei welchem es sich mithilfe einer Klasse "ignoreHistory" angewendet werden kann. Der dort verwendete JS sieht so aus (Achtung: Folgender Skript ist nur für Situationen ausgelegt in welcher ein Bestätigungsfenster erscheint (Alert Container, parameter: |q). Muss auch für ohne ausgebaut werden.):
document.addEventListener("DOMContentLoaded", function() {
var buttons = document.querySelectorAll('[data-ignore-history]');
buttons.forEach(function(button) {
button.addEventListener('click', function(event) {
/// Preventing the default action of the button click
event.preventDefault();
var okButton = document.querySelector('.alert-interactive .btn-group button:first-child');
// Getting the URL from the href attribute
var url = event.target.href;
// Add a click event listener for the "Ok" button inside the alert
if (okButton) {
okButton.addEventListener('click', function() {
if (url) {
event.preventDefault();
// Navigate to the URL without adding it to the browser history
window.location.replace(url);
url = ''; // Clear the URL
}
});
} else {
window.location.replace(url);
}
});
});
});
Optimal wäre es wenn die Funktionalität in unseren bestehenden JS Files von QFQ implementiert wird. Danach sollte die Klasse entweder von QFQ anhand eines neuen qualifiers vergeben werden oder der User gibt die Klasse spezifisch mit.
Updated by Enis Nuredini 7 months ago
- Status changed from New to Ready to sync (develop)
- Assignee changed from Support: Web to Carsten Rose
Eine allgemeine Lösung wurde implementiert welches auch dynamisch erstellte Buttons oder Elemente erkennt (würde auch durch dynamic update geladene reports betreffen).