도구 상자 수정

애플리케이션은 언제든지 단일 함수 호출로 도구 상자에 있는 블록을 변경할 수 있습니다.

workspace.updateToolbox(newTree);

초기 구성 시와 마찬가지로 newTree는 노드 트리, 문자열 표현 또는 JSON 객체일 수 있습니다. 유일한 제한사항은 모드를 변경할 수 없다는 점입니다. 즉, 처음 정의된 도구 상자에 카테고리가 있는 경우 새 도구 상자에도 카테고리가 있어야 합니다(카테고리는 변경될 수 있음). 마찬가지로, 처음 정의된 도구 상자에 카테고리가 없는 경우 새 도구 상자에 카테고리가 없을 수도 있습니다.

단일 카테고리의 콘텐츠는 다음 방법으로 업데이트할 수 있습니다.

var category = workspace.getToolbox().getToolboxItems()[0];
category.updateFlyoutContents(flyoutContents);

여기서 flyoutContents는 JSON을 사용하여 정의된 블록 목록, 노드 트리 또는 문자열 표현일 수 있습니다.

현재 툴박스를 업데이트하면 일부 UI가 재설정됩니다.

  • 카테고리가 없는 도구 상자에서는 사용자가 변경한 모든 필드 (예: 드롭다운)가 기본값으로 되돌아갑니다.

다음은 카테고리 및 블록 그룹이 있는 트리의 실시간 데모입니다.