차단 상태

차단 인스턴스에는 사용자에게 어떻게 작동하는지 구성하는 여러 속성이 있습니다. 블록 정의에서 설정할 수 있지만, 작업 공간의 블록을 제한하여 도메인의 특정 속성을 반영 (예: '시작' 이벤트가 정확히 하나 있음)하거나 사용자의 노력을 집중(예: 튜토리얼)하는 데 더 일반적으로 사용됩니다.

삭제 가능 상태

block.setDeletable(false);

false로 설정하면 사용자가 차단을 삭제할 수 없습니다. 수정 가능한 워크스페이스에서는 기본적으로 블록을 삭제할 수 있습니다.

삭제할 수 없는 블록을 포함한 모든 블록은 프로그래매틱 방식으로 삭제할 수 있습니다.

block.dispose();

수정 가능 상태

block.setEditable(false);

false로 설정하면 사용자가 블록의 필드(예: 드롭다운 및 텍스트 입력)를 변경할 수 없습니다. 블록은 수정 가능한 작업공간에서 수정 가능으로 기본 설정됩니다.

이동 가능 상태

block.setMovable(false);

false로 설정하면 사용자가 블록을 직접 이동할 수 없습니다. 다른 블록의 하위 요소인 이동할 수 없는 블록은 해당 블록에서 분리할 수 없습니다. 하지만 상위 요소가 이동하면 상위 요소와 함께 이동합니다. 수정 가능한 작업공간에서는 블록이 기본적으로 이동 가능으로 설정됩니다.

작업 공간에 있으면 움직일 수 없는 블록이라도 프로그래매틱 방식으로 이동할 수 있습니다.

block.moveBy(dx, dy)

워크스페이스의 블록 시작 위치는 기본적으로 (0, 0)입니다.

데이터 차단

block.data = '16dcb3a4-bd39-11e4-8dfc-aa07a5b093db';

데이터는 블록에 연결된 선택적이고 임의적인 문자열입니다. 블록이 직렬화되면 데이터 문자열도 함께 직렬화됩니다. 여기에는 블록이 복제되거나 복사/붙여넣기되는 경우가 포함됩니다.

이는 블록을 외부 리소스와 연결하는 데 자주 사용됩니다.

JSON으로 직렬화되면 데이터는 블록의 최상위 속성으로 저장됩니다.

{
  "type": "my_block",
  "data": "16dcb3a4-bd39-11e4-8dfc-aa07a5b093db",
  // etc..
}

XML (이전 iceboxed 직렬화 시스템)로 직렬화되면 데이터 문자열이 블록 내의 <data></data> 태그에 저장됩니다.

<block type="my_block">
  <data>16dcb3a4-bd39-11e4-8dfc-aa07a5b093db</data>
  <!-- etc... -->
</block>