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