Benutzerdefinierte Verbindungsprüfer

Ein großer Vorteil von Blockly ist, dass der generierte Code syntaktisch korrekt ist.

Der Verbindungsprüfer ist das Objekt, das die Blockly-Regeln für kompatible Verbindungen erzwingt. Standardmäßig verwendet der Checker ein einfaches Typsystem, wie auf der Seite Verbindungsüberprüfungen beschrieben.

Die Prüfungen

In Blockly werden drei Sicherheitsebenen angewendet: Sicherheits-, Typ- und Drag-Checks.

Sicherheitsprüfungen

Sicherheitsprüfungen sorgen dafür, dass sich die Blöcke im selben Arbeitsbereich befinden, dass die Verbindungen zu verschiedenen Blöcken gehören usw. So wird verhindert, dass Blockly in einen fehlerhaften Zustand gerät.

Sicherheitsprüfungen blockieren auch unsinnige Kombinationen, z. B. die Verbindung zweier nächster Verbindungen.

Typprüfungen

Entwickler können Verbindungen mit Typinformationen versehen. Bei Typprüfungen werden diese Informationen verwendet, um ein Typsystem durchzusetzen, z.B. durch Blockieren der Verbindung eines Strings, wenn eine Zahl erwartet wird.

Drag-Checks

Drag-Checks werden nur angewendet, wenn Blöcke per Drag-and-drop verbunden werden, nicht programmatisch. Beispielsweise sollten beim Ziehen nur Verbindungen innerhalb eines bestimmten Radius berücksichtigt werden.

Verbindungsprüfer überschreiben

Entwickler, die ihre eigene Logik für Typ- oder Drag-Checks bereitstellen möchten, können ein Ersatzobjekt für die Verbindungsprüfung registrieren, das die IConnectionChecker-Schnittstelle implementiert.

So implementieren Sie eigene Sicherheitsprüfungen: Überschreiben Sie doSafetyChecks in Ihrem Verbindungsprüfer.

So implementierst du eigene Typprüfungen: Überschreibe doTypeChecks in der Verbindungsüberprüfung.

So implementieren Sie eigene Drag-Checks: Überschreiben Sie doDragChecks in Ihrem Verbindungsprüfer.

Beispielcode

Das Plug-in für die strenge Verbindungsprüfung ist ein einfaches Beispiel für einen benutzerdefinierten Prüfer.