Ich habe versucht, verschiedene von JMP bereitgestellte Statushandler zu verwenden, aber je häufiger ich sie verwende, desto mehr fallen mir Probleme mit ihnen auf. Es gibt viele Gründe, warum ich sie nutzen möchte, und vielleicht sogar noch mehr Gründe, sie zu meiden. Das größte Problem besteht normalerweise darin, dass sie scheinbar zu oft ausgelöst werden und der zurückgegebene Wert nicht besonders hilfreich ist.
Subscribe To Data Table List() ist ein ziemlich gutes Beispiel dafür, wie die meisten davon funktionieren sollten. Sie können verschiedenen Ereignissen unterschiedliche Funktionen hinzufügen (manchmal ist das jedoch mühsam). Sie können sich vorstellen, wie gut Subscribe To Data Table List() funktionieren würde, wenn es jedes Mal ausgelöst würde, wenn etwas mit der Datentabellenliste passiert (Hinzufügen, Entfernen, Umbenennen) und beispielsweise nur den Datentabellennamen (oder die Anzahl der geänderten Datentabellen) zurückgeben würde ...) und nichts weiter.
Nachfolgend finden Sie einige Probleme und Vorschläge:
Hover-Label
Problem
Scheint ausgelöst zu werden, wenn Sie sich dem Punkt nähern, über dem Sie schweben möchten. Dies verursacht mehrere Auslöser und verlangsamt JMP unnötig, und manchmal ist diese Verlangsamung ziemlich groß. Wird auch sofort ausgelöst, wenn Sie mit der Maus über einen Punkt fahren -> wenn Sie mit der Maus schnell über mehrere Elemente fahren, wird es mehrmals ausgelöst. Wird auch mehrmals ausgelöst, wenn man mit der Maus darüber fährt (könnte mit allen zuvor genannten Dingen zusammenhängen)
Vorschläge
Machen Sie es genauer, wenn Hover-Label ausgelöst wird. Fügen Sie die Möglichkeit einer „Verzögerung“ hinzu, wann ein Ereignis ausgelöst werden soll. Ich möchte beispielsweise in der Lage sein, ein Hover-Label auszulösen, nachdem der Benutzer 0,2 Sekunden lang mit der Maus über dasselbe Element geschwebt hat. Ermöglichen Sie außerdem die Auswahl der „sicheren Zone“, um zu bestimmen, wann das Hover-Label überhaupt ausgelöst werden soll.
Zeilenstatus-Handler
Problem
Löst zu oft und bei allen Ereignissen aus. Es gibt einen Fehler, bei dem Sie eine Zeile entfernen. Der Zeilenstatus-Handler scheint entfernt zu werden.
Vorschläge
Höchstwahrscheinlich würde es ausreichen, wenn es eine Möglichkeit gäbe, nur bestimmte Zeilenstatusänderungen zu erfassen (und den Fehler zu beheben).
Filterstatus-Handler
Problem
Wird zu oft ausgelöst. Ein Beispiel ist, dass der Statushandler ausgelöst wird, wenn Sie sich den Filter überhaupt ansehen.
Vorschläge
Entfernen Sie unnötige Auslöser aus dem Filter State Handler oder geben Sie die Möglichkeit zu wählen, welche Zustände welche Funktion auslösen sollen.
Planer
Problem
Es kann jeweils nur ein Planer vorhanden sein und Sie können das Planerfenster nicht ausblenden.
Vorschläge
Ermöglichen Sie die gleichzeitige Erstellung privater Planer (derzeit blende ich das Fenster aus und hoffe, dass der Benutzer es nicht schließt) und mehrerer verschiedener Planer.
Ich befürchte, dass eine Verzögerung beim Hover-Label dazu führen wird, dass es sich „verzögert“ anfühlt.
Es gibt schöne Beispiele im Netz, wie spannend sich ein „Live“-Hover-Label anfühlen kann:
https://wid.world/world/#lpfghg_p90p100_z/US;FR;DE;CN;ZA;GB;WO/2020/eu/k/p/yearly/l/false/3.516/100/curve/false/country

vielleicht:
nicht den Inhalt aktualisieren, wenn er genau derselbe ist wie zuvor?
Nur:
Platzieren Sie das vorhandene Hover-Label an der neuen Position .
@xxvvcczz , die Entwickler haben mögliche Änderungen untersucht Erstellen Sie einen RowState-Handler Und Erstellen Sie einen Filteränderungs-Handler . Noch kein Update zum Teilen.
Irgendwelche Updates dazu? Ist jetzt schon ein paar Monate her.
Bitte, bitte korrigieren Sie den Zeilenstatus-Handler.
Ich möchte Auswahlereignisse beim Bewegen der Maus erfassen und eine HTTP-Anfrage senden, um Daten für den Benutzer abzurufen, aber im Moment ist es unglaublich verzögert und schwierig. Ich bin sogar so weit gegangen, das gesamte Auswahltool als Mausefalle umzuschreiben, um diese Funktionalität zu erhalten. Ich möchte nur, dass der Zeilenstatus-Handler einmal am Ende des Auswahlereignisses ausgelöst wird.
https://community.jmp.com/t5/Discussions/Is-there-a-way-to-make-the-rowstate-handler-less-laggy/mp/550590
Vielen Dank für die Übermittlung dieser Liste und die Bereitstellung von Vorschlägen. Wir ermitteln derzeit.
@jthi Stimmen Sie zu, der Planer ist schwer gut zu verwenden. In Neuigkeiten Ich habe das Scheduler-Objekt aus dem von ihm erstellten Fenster in mein eigenes Fenster verschoben, aber das Singleton-Problem wird dadurch nicht behoben. (Utility.jsl Zeilen 53-64. Wird aus httpServer.jsl Zeile 120 verwendet.) Ich vermute, dass es nach dem Entfernen überhaupt nicht mehr in einem Fenster sein muss; Sie müssen wahrscheinlich nur den Griff behalten. In FileSnapper Ich habe einen reinen Windows-Ansatz mit runprogram und einigen DOS-Befehlen verwendet. Abgesehen vom Singleton-Problem hätte ich lieber den Scheduler verwendet. Tun Sie dies nicht, denn {nur Windows, nicht zukunftssicher, hat immer noch einige Nebenwirkungen}. In beiden Fällen wird die JSL nur ausgeführt, wenn JMP Leerlaufzeit hat, möglicherweise während eines wait().