블록 클래스
한 블록에 대한 클래스입니다. 일반적으로 직접 호출되지는 않으며 workspace.newBlock()을 사용하는 것이 좋습니다.
서명:
export declare class Block implements IASTNodeLocation
구현: IASTNodeLocation
생성자
생성자 | 수정자 | 설명 |
---|---|---|
(생성자)(작업공간, 프로토타입 이름, 선택_ID) | Block 클래스의 새 인스턴스를 생성합니다. |
속성
속성 | 수정자 | 유형 | 설명 |
---|---|---|---|
childBlocks_ | protected |
이[] | |
collapsed_ | protected |
부울 | |
COLLAPSED_FIELD_NAME |
|
문자열 | 접힌 필드에 지정된 언어 중립적인 ID입니다. |
COLLAPSED_INPUT_NAME |
|
문자열 | 접힌 입력에 지정된 언어 중립적인 ID입니다. |
colour_ | protected |
문자열 | '#RRGGBB' 블록 색상 형식으로 입력합니다. |
작성할 수 있나요? | (p1: 차단) => 무효 | (선택사항) 뮤테이터 대화상자의 콘텐츠에 따라 블록을 재구성하는 선택적 함수입니다. | |
contextMenu | 부울 | ||
데이터 | 문자열 | 없음 | 블록과 XML 간에 왕복하는 텍스트 데이터(선택사항)입니다. 효과가 없습니다. 타사에서 메타 정보용으로 사용할 수 있습니다. | |
분해할까? | (p1: 작업공간) => 차단 | (선택사항) 뮤테이터의 대화상자를 이 블록의 구성요소로 채우는 선택적 함수입니다. | |
파괴할까요? | () => 무효 | (선택사항) 폐기 시 호출되는 선택적 메서드입니다. | |
처분하는 | protected |
부울 | 현재 블록을 폐기하고 있나요? |
domToMutation? | (p1: 요소) => 무효 | (선택사항) XML에서 변형 상태를 역직렬화하는 방법을 정의하기 위한 선택적 역직렬화 메서드입니다. 이는 mutationToDom 정의와 결합되어야 합니다. |
|
getDeveloperVariables? | () => 문자열[] | (선택사항) 개발자 변수를 선언하기 위한 선택적 속성입니다. 생성기에서 사용할 변수 이름 목록을 반환합니다. 개발자 변수는 사용자에게 표시되지 않지만 생성된 코드에서 전역 변수로 선언됩니다. | |
모자? | 문자열 | (선택사항) 모자 유형의 이름입니다. | |
helpUrl | 문자열 | 함수 | 없음 | 블록 도움말 또는 URL을 반환하는 함수의 문자열 도움이 필요한 경우 Null입니다. | |
아이콘 | IIcon[] | ||
id | 문자열 | ||
init? | () => 무효 | (선택사항) 초기화 중에 호출되는 선택적 메서드입니다. | |
inputList | 입력[] | ||
inputsInline? | 부울 | (선택사항) | |
inputsInlineDefault? | 부울 | (선택사항) | |
isInFlyout | 부울 | ||
isInMutator | 부울 | ||
isInsertionMarker_ | protected |
부울 | 이 블록이 삽입 마커인 경우 true입니다. |
loadExtraState? | (p1: 임의) => 무효 | (선택사항) JSON과 호환되는 것에서 블록의 추가 상태 (예: 변형 상태)를 역직렬화하는 방법을 정의하기 위한 선택적 직렬화 메서드입니다. 이는 saveExtraState 정의와 결합되어야 합니다. |
|
mutationToDom? | (...p1: 모든[]) => 원소 | (선택사항) 변형 상태를 XML로 직렬화하는 방법을 정의하기 위한 선택적 직렬화 메서드입니다. 이는 domToMutation 정의와 결합되어야 합니다. |
|
nextConnection | 연결 | 없음 | ||
어떤 변화가 있을까요? | ((p1: 추상) => void) | 없음 | (선택사항) 블록의 상위 작업공간이 변경될 때마다 사용할 콜백 메서드(선택사항)입니다. 이 메서드는 일반적으로 생성자, 블록 유형 이니셜라이저 함수 또는 확장 프로그램 이니셜라이저 함수에서만 호출됩니다. | |
outputConnection | 연결 | 없음 | ||
outputShape_ | protected |
숫자 | 없음 | |
parentBlock_ | protected |
이 | 없음 | |
previousConnection | 연결 | 없음 | ||
렌더링된 | readonly |
부울 | 이 차단은 BlockSVG인가요? |
RTL | 부울 | ||
saveExtraState? | (doFullSerialization?: boolean) => 모두 | (선택사항) 블록의 추가 상태 (예: 변형 상태)를 JSON과 호환되는 값으로 직렬화하는 방법을 정의하는 선택적 직렬화 메서드입니다. 이는 loadExtraState 정의와 결합되어야 합니다. |
|
styleName_ | protected |
문자열 | 블록 스타일의 이름입니다. |
suppressPrefixSuffix | boolean | 없음 | 생성된 코드에 STATEMENT_PREFIX 및 STATEMENT_SUFFIX를 추가하지 못하게 하는 선택적 속성입니다. | |
도움말 | Tooltip.TipInfo | ||
type | 문자열 | ||
워크스페이스 | Workspace |
메서드
메서드 | 수정자 | 설명 |
---|---|---|
addIcon(icon) | 지정된 아이콘을 블록에 추가합니다. | |
allInputsFilled(opt_shadowBlocksAreFilled) | 모든 문과 값 입력이 블록으로 채워졌는지 재귀적으로 확인합니다. 이 스택에서 다음의 모든 문 블록도 검사합니다. | |
appendDummyInput(name) | 더미 입력 행을 추가합니다. | |
appendEndRowInput(name) | 행을 종료하는 입력을 추가합니다. | |
appendInput(input) | 지정된 입력 행을 추가합니다. 맞춤 입력이 블록에 추가될 수 있습니다. |
|
appendStatementInput(name) | 문 입력 행을 추가합니다. | |
appendValueInput(name) | 값 입력 행을 추가합니다. | |
bumpNeighbours() | 연결되지 않은 블록을 정렬에서 벗어납니다. 실제로 연결되지 않은 두 블록이 동시에 화면에 정렬되어서는 안 됩니다. | |
dispose(healStack) | 이 블록을 삭제합니다. | |
disposeInternal() | protected |
상단 블록에서 요구하는 작업을 실행하지 않고 이 블록을 삭제합니다. 예: 이벤트를 실행하지 않거나 블록을 분리하는 등의 작업을 수행하지 않습니다. |
doInit_() | protected |
init() 함수를 호출하고 연결된 이벤트 실행 등을 처리합니다. |
getChildren(ordered) | 이 블록 내부에 직접 중첩된 모든 블록을 찾습니다. 값 및 문 입력과 그 뒤에 오는 문을 포함합니다. 출력 탭 또는 이전 문의 모든 연결은 제외됩니다. 블록은 위치를 기준으로 선택적으로 정렬됩니다. 살펴보겠습니다. | |
getColour() | 블록의 색상을 구합니다. | |
getCommentText() | 이 블록의 주석을 반환합니다 (주석이 없는 경우 null을 반환합니다). | |
getDescendants(ordered) | 이 블록 내에 직접 또는 간접적으로 중첩된 모든 블록을 찾습니다. 목록에 이 블록을 포함합니다. 값 및 문 입력과 다음 문을 포함합니다. 출력 탭 또는 이전 문의 모든 연결은 제외됩니다. 블록은 위치를 기준으로 선택적으로 정렬됩니다. 살펴보겠습니다. | |
getDisabledReasons() | 차단이 사용 중지된 이유(있는 경우)를 가져옵니다. 차단이 사용 설정된 경우 이 집합은 비어 있습니다. | |
getField(name) | 블록에서 이름이 지정된 필드를 반환합니다. | |
getFieldValue(name) | 지정된 필드의 언어 중립적 값을 반환합니다. | |
getHue() | 블록의 HSV 색조 값을 가져옵니다. 색조가 설정되지 않은 경우 null입니다. | |
getIcon(type) | ||
getIcons() | ||
getInheritedDisabled() | 부모로 인해 차단이 사용 중지되었는지 여부를 확인합니다. 블록의 자체 비활성화된 속성은 고려되지 않습니다. | |
getInput(name) | 이름이 지정된 입력 객체를 가져옵니다. | |
getInputsInline() | 값 입력이 가로 또는 세로로 정렬되는지 확인합니다. | |
getInputTargetBlock(name) | 이름이 지정된 입력에 연결된 블록을 가져옵니다. | |
getInputWithBlock(block) | 지정된 블록에 연결되는 입력을 반환합니다. | |
getNextBlock() | 이 블록에 직접 연결된 다음 문 블록을 반환합니다. | |
getOutputShape() | 블록의 출력 셰이프를 가져옵니다. | |
getParent() | 상위 블록을 반환하거나 이 블록이 최상위 수준에 있는 경우 null을 반환합니다. 상위 블록은 이전 연결에 연결된 블록 (문 블록의 경우) 또는 출력 연결에 연결된 블록 (값 블록의 경우)입니다. | |
getPreviousBlock() | 이전 연결에 연결된 블록을 반환합니다. | |
getRelativeToSurfaceXY() | 그리기 표면의 원점(0,0)을 기준으로 이 블록의 왼쪽 상단 모서리 좌표를 반환합니다(작업공간 단위로). | |
getRootBlock() | 이 블록의 트리에서 최상위 블록을 반환합니다. 이 블록이 최상위 수준에 있으면 자체 반환됩니다. | |
getStyleName() | 블록 스타일의 이름을 가져옵니다. | |
getSurroundParent() | 현재 블록을 둘러싸고 있는 상위 블록을 반환하거나, 이 블록에 주위 블록이 없는 경우 null을 반환합니다. 상위 블록은 단순히 이전 문일 수 있지만 주변 블록은 if 문, while 루프 등일 수 있습니다. | |
getTooltip() | 이 블록에 대한 도움말 텍스트를 반환합니다. | |
getVars() | 이 블록에서 참조하는 모든 변수를 반환합니다. | |
hasDisabledReason(reason) | 제공된 이유로 차단이 현재 사용 중지되었는지 여부를 가져옵니다. | |
hasIcon(type) | ||
initModel() | 블록의 모든 필드에서 initModel을 호출합니다. 두 번 이상 호출할 수 있습니다. 블록을 생성한 후 그리고 블록과의 첫 번째 상호작용 전에 initModel 또는 initSvg를 호출해야 합니다. 상호작용에는 UI 작업 (예: 클릭 및 드래그)과 실행 이벤트 (예: 생성, 삭제, 변경)가 포함됩니다. | |
isCollapsed() | 블록의 접힘 여부를 가져옵니다. | |
isDeletable() | 이 블록의 삭제 가능 여부를 가져옵니다. | |
isDisposed() | 이 블록이 삭제되었거나 삭제된 경우 를 반환합니다. | |
isDuplicatable() | 차단의 중복 가능 여부를 가져옵니다. 이 블록과 하위 요소를 복제하는 경우 이 블록이 작업공간의 용량을 초과하게 되면 이 블록은 중복될 수 없습니다. 이 블록과 하위 요소가 maxInstances보다 우선 적용되는 경우 이 블록은 중복되지 않습니다. | |
isEnabled() | 이 차단의 사용 설정 여부를 가져옵니다. 차단이 사용 중지될 이유가 없는 경우에는 차단이 사용 설정된 것으로 간주됩니다. 블록이 잘못된 위치에 있는 경우 등 사용자가 수동으로 차단을 사용 설정하려고 하는 경우에도 다른 이유로 차단이 사용 중지될 수 있습니다. | |
isInsertionMarker() | 이 블록이 삽입 마커 블록인지 여부를 가져옵니다. | |
isOwnDeletable() | 이 블록의 자체 삭제 가능 속성이 true 또는 false인지 여부를 반환합니다. | |
isOwnEditable() | 이 블록의 수정 가능한 속성이 true 또는 false인지 여부를 반환합니다. | |
isShadow() | 이 블록이 섀도 블록인지 여부를 가져옵니다. | |
jsonInit(json) | 크로스 플랫폼, 국제화 친화적인 JSON 설명을 사용하여 이 블록을 초기화합니다. | |
mixin(mixinObj, opt_disableCheck) | 믹스inObj의 키-값을 이 블록 객체에 추가합니다. 기본적으로 이 메서드는 믹스inObj의 키가 프로토타입 값을 포함하여 블록의 기존 값을 덮어쓰지 않는지 확인합니다. 이렇게 하면 향후 차단 기능과의 믹스인 / 확장 프로그램 비호환성에 대한 어느 정도의 보험료가 제공됩니다. true를 두 번째 인수로 전달하여 이 검사를 사용 중지할 수 있습니다. | |
moveBy(dx, dy, reason) | 상대 오프셋으로 블록을 이동합니다. | |
moveInputBefore(name, refName) | 이름이 지정된 입력을 이 블록의 다른 위치로 이동합니다. | |
moveNumberedInputBefore(inputIndex, refIndex) | 번호가 매겨진 입력을 이 블록의 다른 위치로 이동합니다. | |
removeIcon(type) | getType이 지정된 유형 iconType과 일치하는 아이콘을 블록에서 삭제합니다. | |
removeInput(name, opt_quiet) | 이 블록에서 입력을 삭제합니다. | |
renameVarById(oldId, newId) | 변수의 이름이 변경되고 있다는 알림 ID가 이 블록의 변수 중 하나와 일치하면 이름을 바꿉니다. | |
setCollapsed(collapsed) | 블록의 접힘 여부를 설정합니다. | |
setColour(colour) | 블록의 색상 변경 | |
setCommentText(text) | 이 블록의 주석 텍스트를 설정합니다. | |
setDeletable(deletable) | 이 블록의 삭제 가능 여부를 설정합니다. | |
setDisabledReason(disabled, reason) | 차단이 사용 중지되는 이유를 추가하거나 삭제합니다. 차단해야 할 이유가 있을 경우 차단 자체는 사용 중지된 것으로 간주됩니다. 차단은 사용자가 수동으로 사용 중지하거나 차단이 유효하지 않은 경우 등 여러 가지 이유로 동시에 사용 중지될 수 있습니다. | |
setEditable(editable) | 이 블록의 수정 가능 여부를 설정합니다. | |
setEnabled(enabled) | ||
setFieldValue(newValue, name) | 이 블록에 대해 지정된 필드의 값을 설정합니다. | |
setHelpUrl(url) | 이 블록의 도움말 페이지 URL을 설정합니다. | |
setInputsInline(newBoolean) | 값 입력을 가로 또는 세로로 정렬할지 설정합니다. | |
setMovable(movable) | 이 블록을 이동할 수 있는지 여부를 설정합니다. | |
setMutator(_mutator) | 이 블록에 뮤테이터 대화상자를 제공합니다. | |
setNextStatement(newBoolean, opt_check) | 다른 블록을 이 블록 하단에 연결할 수 있는지 여부를 설정합니다. | |
setOnChange(onchangeFn) | 블록의 상위 작업공간이 변경될 때마다 사용할 콜백 함수를 설정하여 이전의 onchange 핸들러를 대체합니다. 이 메서드는 일반적으로 생성자, 블록 유형 이니셜라이저 함수 또는 확장 프로그램 이니셜라이저 함수에서만 호출됩니다. | |
setOutput(newBoolean, opt_check) | 이 블록에서 값을 반환할지 여부를 설정합니다. | |
setOutputShape(outputShape) | 블록의 출력 셰이프를 설정합니다. | |
setPreviousStatement(newBoolean, opt_check) | 이 블록을 다른 블록의 하단에 연결할 수 있는지 여부를 설정합니다. | |
setStyle(blockStyleName) | 블록의 스타일 및 색상 값을 설정합니다. | |
setTooltip(newTip) | 이 블록에 대한 도움말을 설정합니다. | |
setWarningText(_text, _opt_id) | 이 블록의 경고 텍스트를 설정합니다. | |
toDevString() | 이 메서드는 이 블록을 개발자 용어로 설명하는 문자열을 반환합니다 (유형 이름 및 ID, 영어로만 제공). 콘솔 로그 및 오류에 사용됩니다. 사용자의 모국어 (블록 텍스트, 필드 값, 하위 블록 포함)를 사용하는 문자열이 필요한 경우 [toString()]을 사용합니다. |
|
toString(opt_maxLength, opt_emptyToken) | 이 블록과 모든 하위 요소를 사람이 읽을 수 있는 텍스트 표현을 만듭니다. | |
unplug(opt_healStack) | 이 블록을 상위 블록에서 분리합니다. 이 블록이 문인 경우 아래에 있는 블록을 맨 위에 있는 블록을 선택적으로 다시 연결합니다. |