イベントの名前空間
クラス
クラス | 説明 |
---|---|
BlockBase | ブロックに関連するイベントの抽象クラス。 |
BlockChange | ブロックの要素(フィールド値、コメントなど)が変更されたときにリスナーに通知します。 |
BlockCreate | ブロック(またはブロックの接続されたスタック)が作成されたときにリスナーに通知します。 |
BlockDelete | ブロック(またはブロックの接続されたスタック)が削除されたときにリスナーに通知します。 |
BlockDrag | ブロックが手動でドラッグ/ドロップされたときにリスナーに通知します。 |
BlockFieldIntermediateChange | ブロックのフィールドの値が変更されたが、変更がまだ完了しておらず、ブロック変更イベントが続くことが予想される場合に、リスナーに通知します。 |
BlockMove | ブロックが移動されたときにリスナーに通知します。接続間やワークスペース内の場所間で移動できます。 |
BubbleOpen | バブル開くイベントのクラス。 |
[Provider Configuration] セクションで | ブロック要素がクリックされたことをリスナーに通知します。 |
CommentBase | コメント イベントの抽象クラス。 |
CommentChange | ワークスペースのコメントの内容が変更されたことをリスナーに通知します。 |
CommentCollapse | |
CommentCreate | ワークスペースのコメントが作成されたことをリスナーに通知します。 |
CommentDelete | ワークスペースのコメントが削除されたことをリスナーに通知します。 |
CommentDrag | コメントが手動でドラッグ/ドロップされたときにリスナーに通知します。 |
CommentMove | ワークスペースのコメントが移動されたことをリスナーに通知します。 |
CommentResize | ワークスペースのコメントのサイズが変更されたことをリスナーに通知します。 |
FinishedLoading | ワークスペースの JSON/XML からの逆シリアル化が完了したときにリスナーに通知します。 |
選択済み | 選択したイベントのクラス。新しい要素が選択されたことをリスナーに通知します。 |
ThemeChange | ワークスペースのテーマが変更されたことをリスナーに通知します。 |
ToolboxItemSelect | ツールボックス アイテムが選択されたことをリスナーに通知します。 |
TrashcanOpen | ごみ箱が開閉されたときにリスナーに通知します。 |
UiBase | UI イベントの基本クラス。UI イベントは、マルチユーザー編集を機能させるためにワイヤーを介して送信する必要がないイベントです(ワークスペースのスクロール、ズーム、ツールボックス カテゴリの開くなど)。UI イベントは元に戻したりやり直したりできません。 |
VarBase | 変数イベントの抽象クラス。 |
VarCreate | 変数モデルが作成されたことをリスナーに通知します。 |
VarDelete | 変数モデルが削除されたことをリスナーに通知します。 |
VarRename | 変数モデルの名前が変更されたことをリスナーに通知します。 |
VarTypeChange | 変数の型が変更されたことをリスナーに通知します。 |
ViewportChange | ワークスペース サーフェスの位置またはスケールが変更されたことをリスナーに通知します。 ワークスペース自体のサイズ変更は通知されません。 |
抽象クラス
抽象クラス | 説明 |
---|---|
概要 | イベントの抽象クラス。 |
列挙型
列挙 | 説明 |
---|---|
BubbleType | |
ClickTarget |
関数
関数 | 説明 |
---|---|
clearPendingUndo() | 保留中の元に戻すイベントを変更して、イベントがトリガーされたときに元に戻すスタックに格納されないようにします。Workspace.clearUndo から呼び出されます。 |
disable() | イベントの送信を停止します。この関数を呼び出すたびに、enable も呼び出す必要があります。 |
disableOrphans(event) | ブロックが正しく接続されているかどうかに応じてブロックを無効にするかどうかを設定します。すべてのブロックをトップブロックに接続する必要があるアプリで使用します。 |
enable() | イベントの送信を開始します。ただし、対応する無効化呼び出しの時点でイベントがすでに無効になっている場合は除きます。 |
filter(queue) | 重複を統合し、null イベントを削除して BlockChange イベントを並べ替えることで、キューに登録されたイベントをフィルタします。 この機能の履歴: この関数は、ディスパッチされるイベントの総数を大幅に削減することを目的として、commit cf257ea5 で最初に追加されました。当初は BlockMove イベントにのみ影響していましたが、時間の経過とともに他のイベントにも追加されました。 コミット 5578458 で追加された BlockChange イベントの順序を変更するコードが追加されました。理由は不明ですが、ブロックのミューテーション中のイベントの順序に関する問題を部分的に解決する試みの一環として追加されたものと思われます。このコードは、統合と null の削除の前に関数の先頭に追加すべきだったのでしょうが、今となっては理由が思い出せません。根本的な問題と、この不完全な修正や誤った修正によって発生した障害の詳細については、これらのバグの調査をご覧ください。 https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 その後、PR #1205 で、元の O(n^2) 実装は線形時間の実装に置き換えられましたが、その後さらに修正が加えられました。 2024 年 8 月に、いくつかの重要な簡素化が行われました。 この関数は以前は Workspace.prototype.undo から呼び出されましたが、この関数によるイベントの変更が問題 #7026 の原因でした(イベントは順序が逆の場合と順序が前の場合で異なる方法で結合されます)。当初、この問題の修正として、イベントのディスパッチに関与したワークスペースの .undoStack_ と .redoStack_ をポストフィルタリングする fireNow のコードが追加されました(PR #7069)。これにより問題は解決したように見えましたが、複雑さが大幅に増加し、元に戻す/やり直しのためにイベントがどのように処理されるかを判断することが困難になりました。そのため、元に戻すからの呼び出しとポスト処理コードの両方が削除され、forward=true がデフォルトになりました。forward=false で関数を呼び出すことは非推奨になりました。 同時に、BlockChange イベントの順序を変更するバグのあるコードは、fireInternal から呼び出される新しい関数 enqueueEvent の同じ機能のバグが少ないバージョンに置き換えられました。これにより、フィルタが呼び出される時点でイベントが正しい順序になるようにします。 また、イベントの統合コードが変更され、隣接するイベントのみが統合されるようになりました。これにより、イベントの統合によってイベントの順序が入れ替わることがないようにしながら、実装を簡素化できました。 |
fire(event) | 変更リスナーにディスパッチされるイベントをキューに登録します。 注: - イベントはタイムアウトまでキューに追加されます。通常はレンダリングの完了後、またはブラウザで実行されていない場合は現在のマイクロタスクの終了後にキューに追加されます。- キューに登録されたイベントは、後でキューに登録されたイベントと結合されることによって破壊的な変更を受ける可能性がありますが、これはイベントがトリガーされるまでの間のみです。- イベントは、影響を受けるワークスペースの fireChangeListener メソッドを介してディスパッチされます。 |
fromJson(json, workspace) | JSON をイベントにデコードします。 |
get(eventType) | レジストリから特定のイベントタイプのクラスを取得します。 |
getGroup() | 現在のグループ。 |
getRecordUndo() | イベントを元に戻すスタックに追加するかどうかを返します。 |
isEnabled() | イベントを配信できるかどうかを返します。 |
setGroup(state) | グループを開始または停止する。 |
setRecordUndo(newValue) | イベントを元に戻すスタックに追加するかどうかを設定します。 |
インターフェース
変数
変数 | 説明 |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | オブジェクトがワークスペースの表示領域に戻される原因となるイベントのリスト。 切断された接続が接続されているように見えるようにするバンプとは異なります。 |
変更 | |
クリック | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
CREATE | |
削除 | |
FINISHED_LOADING | |
MOVE | |
選択済み | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
UI | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
型エイリアス
型エイリアス | 説明 |
---|---|
BumpEvent | オブジェクトがワークスペースの表示領域に戻されるイベントのタイプ。 切断された接続が接続されているように見えるようにするバンプとは異なります。 |