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 #1

Updated by Enis Nuredini 9 months ago

  • Description updated (diff)
Actions #2

Updated by Enis Nuredini 7 months ago

  • Description updated (diff)
Actions #3

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).

Actions #4

Updated by Carsten Rose 6 months ago

  • Target version changed from 411 to 24.1.0.rc1

Im Link eine Klasse als Attribut angeben: A:data-ignore-history

Actions #5

Updated by Carsten Rose 6 months ago

  • Status changed from Ready to sync (develop) to Closed
Actions

Also available in: Atom PDF