public-ui / kolibri

The accessible HTML-Standard
https://public-ui.github.io
European Union Public License 1.2
163 stars 33 forks source link

Verbesserung: Konsistenter Rückgabewert-Typ bei KolInputDate #6876

Open laske185 opened 2 weeks ago

laske185 commented 2 weeks ago

Beschreibung: Die Komponente KolInputDate akzeptiert aktuell sowohl JS-Date-Objekte als auch Strings im ISO 8601-Format als Wert für die _value-Property. Beim Auslösen des onChange-Callbacks wird jedoch der neue Wert immer als String zurückgegeben, unabhängig vom ursprünglichen Typ des übergebenen Werts.

Erwartetes Verhalten: Der Rückgabewert des onChange-Callbacks sollte den gleichen Typ haben wie der ursprünglich gesetzte _value. Das bedeutet:

Schritte zur Reproduktion:

  1. Setze den Wert der KolInputDate-Komponente auf ein JS-Date-Objekt.
  2. Ändere das Datum über die UI.
  3. Überprüfe den Rückgabewert des onChange-Callbacks.
  4. Setze den Wert der KolInputDate-Komponente auf einen String im ISO 8601-Format.
  5. Ändere das Datum über die UI.
  6. Überprüfe den Rückgabewert des onChange-Callbacks.

Aktuelles Verhalten: Unabhängig vom Typ des initialen Werts wird der neue Wert immer als String im ISO 8601-Format zurückgegeben.

Erwartetes Verhalten: Der Rückgabewert des onChange-Callbacks sollte den gleichen Typ haben wie der initial gesetzte _value.

Technischer Hintergrund: Der Rückgabewert sollte auf Basis des ursprünglichen Typs des value-Props formatiert werden, um die Weiterverarbeitung im Code zu erleichtern und Inkonsistenzen zu vermeiden.

Mögliche Lösung: Eine Typprüfung beim Setzen des value-Props und eine entsprechende Rückgabe im onChange-Handler implementieren.

laske185 commented 1 week ago

Auch die getValue Funktion berücksichtigen.