Project

General

Profile

Actions

Feature #16990

closed

"ignore history" - option for custom buttons/links (_link)

Added by Enis Nuredini 10 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Carsten Rose
Target version:
Start date:
04.10.2023
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
No
Vote:

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.

Actions

Also available in: Atom PDF