이벤트 네임스페이스
클래스
클래스 | 설명 |
---|---|
BlockBase | 블록과 관련된 모든 이벤트의 추상 클래스입니다. |
BlockChange | 블록의 일부 요소 (예: 필드 값, 주석 등)가 변경되면 리스너에게 알립니다. |
BlockCreate | 블록 (또는 연결된 블록 스택)이 생성되면 리스너에게 알립니다. |
BlockDelete | 블록 (또는 연결된 블록 스택)이 삭제될 때 리스너에게 알립니다. |
BlockDrag | 블록을 수동으로 드래그/드롭할 때 리스너에게 알립니다. |
BlockFieldIntermediateChange | 블록 필드의 값이 변경되었지만 변경이 아직 완료되지 않았으며 블록 변경 이벤트가 뒤에 올 것으로 예상될 때 리스너에게 알립니다. |
BlockMove | 블록이 이동하면 리스너에게 알림을 보냅니다. 연결 간에 또는 작업공간의 한 위치에서 다른 위치로 이동할 수 있습니다. |
BubbleOpen | 도움말 풍선 열기 이벤트의 클래스입니다. |
클릭 | 일부 블록 요소가 클릭되었다고 리스너에게 알립니다. |
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 이벤트를 재정렬하여 대기열에 있는 이벤트를 필터링합니다. 이 함수의 기록: 이 함수는 전달된 총 이벤트 수를 대폭 줄이기 위해 원래 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 | |
만들기 | |
삭제 | |
FINISHED_LOADING | |
MOVE | |
선택됨 | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
UI | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
유형 별칭
유형 별칭 | 설명 |
---|---|
BumpEvent | 객체가 워크스페이스의 표시된 부분으로 다시 이동하는 이벤트 유형입니다. 연결이 끊어진 연결이 연결된 것처럼 보이지 않도록 상단으로 올리는 것과 혼동해서는 안 됩니다. |