js-Fehler beim Sortieren mehrerer readingsGroups in demselben room

Begonnen von NoKi, 05 Januar 2025, 20:41:08

Vorheriges Thema - Nächstes Thema

NoKi

Hallo,

@ justme1968: Vielen Dank für das sehr nützliche Modul readingsGroup! Ich nutze das sehr gerne.

Es scheint darin einen kleinen Bug zu geben - zumindest hoffe ich, dass ich keinen Fehler eingebaut habe.
Der ist nicht kritisch, aber vielleicht ist er einfach zu fixen und kann beim nächsten Überarbeiten mit beseitigt werden - und vielleicht helfen die folgenden Hinweise dabei:

Wenn man mehrere readingsGroups (RGs) in demselben room anzeigt und sortColumn verwendet, beobachte ich folgendes Verhalten:
  • Der Sortierpfeil neben dem Titel der zum Sortieren verwendeten Spalte wird immer nur in EINER der RGs eines rooms angezeigt, bei den anderen nicht.
  • Nach dem Aufruf des rooms wird der Sortierpfeil nur bei der letzten RG des rooms angezeigt. Die Sortierungen sind aber in allen RGs wie vorgesehen gemacht (z.B. nach Spalte 0).
  • Wenn man in der RG MIT dem Sortierpfeil eine Sortierung durch Anklicken einer der Titel anwählt, funktioniert alles einwandfrei.
  • Wenn man aber in einer der RGs, in der gerade KEIN Pfeil angezeigt wird, eine Sortierung anstößt, erscheint unter bestimmten Umständen ein js-Fehler.
    Die Sortierung ist trotzdem ausgeführt worden. Man kann den Fehler einfach quittieren, der Sortierpfeil wird aber nach wie vor in dieser RG nicht angezeigt (in der anderen bleibt er sichtbar).

Ob ein Fehler beim Sortieren in der RG OHNE Sortierpfeil auftritt oder nicht, hängt offenbar von der Sortierung in den anderen RGs ab.
  • Er tritt jedenfalls auf, wenn in einer anderen RG die Tabelle schon nach der gleichen Spalte sortiert ist (unabhängig davon, ob das die letzte Sortierung war - und ob daher der Sortierpfeil angezeigt wird - oder nicht).
  • Der Fehler tritt NICHT auf, wenn man in der neu zu sortierenden RG, die KEINEN Sortierpfeil zeigt, zuerst nach einer Spalte sortiert, die NICHT der Sortierspalte in einer anderen RG entspricht.
    Dann funktioniert in dieser RG alles wie es soll. Der Sortierpfeil wird dann auch in dieser RG angezeigt, und dafür in den anderen nicht mehr.
  • Der Sortierpfeil wird in jedem Fall nur bei der RG angezeigt, bei der die letzte Sortierung ohne Fehlermeldung verlief, in den anderen nicht.
  • Es gibt aber auch noch weitere Situationen, bei denen der Fehler auftritt - die habe ich aber noch nicht ganz durchschaut.

Je nach Kombination und Richtung der Sortierungen (auf oder ab) ist die Fehlermeldung anders:
  • Entweder
    "sorttable.js line 118:
    NotFoundError: Node.removeChild: The node to be removed is not a child of this node"

    (Dieser Fehler tritt z.B. auf, wenn die gleichen Spalten der beiden RGs in die gleiche Richtung (auf oder ab) sortiert sind.)
  • oder
    "sorttable.js line 131:
    TypeError: Node.removeChild: Argument 1 is not an object."

    (Dieser Fehler tritt z.B. auf, wenn die gleichen Spalten der beiden RGs in die unterschiedliche Richtung (auf oder ab) sortiert sind.)

Wie gesagt: Nicht kritisch, aber vielleicht hilft es.

Viele Grüße  Norbert
FHEM auf RasPi, diverse HM-Komponenten