blockly > 封鎖

封鎖課程

單一區塊的課程。通常不會直接呼叫,建議使用 workspace.newBlock()。

Signature:

export declare class Block implements IASTNodeLocation, IDeletable 

實作: IASTNodeLocationIDeletable

建構函式

建構函式 修飾符 說明
(buildor)(workspace, prototypeName, opt_id) 建構 Block 類別的新執行個體

屬性

屬性 修飾符 類型 說明
childBlocks_ protected 這個 []
collapsed_ protected boolean
COLLAPSED_FIELD_NAME

static

readonly

字串 為收合欄位指定的語言中立 ID。
COLLAPSED_INPUT_NAME

static

readonly

字串 為收合輸入內容指定的語言中立 ID。
colour_ protected 字串 區塊色彩,格式為「#RRGGBB」。
compose? (p1:封鎖) => void (選用) 這項選用函式可根據異動器對話方塊的內容重新設定區塊。
contextMenu boolean
資料 字串 | 空值 在區塊與 XML 之間往返的選用文字資料。沒有影響 第三方可能會利用該工具取得中繼資料。
分解? (p1:工作區) => 封鎖 (選用) 這項選用函式會將此區塊的元件填入變異器的對話方塊。
destroy? () => void (選用) 處理時呼叫的選用方法。
domToMutation? (p1:元素) => void (選用) 可選用的反序列化方法,用於定義從 XML 將異動狀態還原序列化。這必須與定義 mutationToDom 結合。
getDeveloperVariables? () => 字串 [] (選用) 用於宣告開發人員變數的選用屬性。傳回變數名稱清單,供產生器使用。開發人員變數絕不會向使用者顯示,但在產生的程式碼中會宣告為全域變數。
帽子? 字串 (選填) 帽子類型的名稱。
helpUrl string | Function | null 區塊說明字串,或會傳回網址的函式。空值表示沒有幫助。
圖示 IIcon[]
id 字串
init? () => void (選用) 在初始化期間呼叫的選用方法。
inputList 輸入值 []
inputsInline? boolean (選用)
inputsInlineDefault? boolean (選用)
isInFlyout boolean
isInMutator boolean
isInsertionMarker_ protected boolean 如果這個區塊是插入標記,則為 True。
loadExtraState? (p1:任何) => void (選用) 這是選用的序列化方法,用於定義如何從與 JSON 相容的項目將區塊的額外狀態 (例如異動狀態) 反序列化。這必須與定義 saveExtraState 結合。
異動內容? (...p1: any[]) => 元素 (選用) 這是選用的序列化方法,用於定義如何將異動狀態序列化為 XML。這必須與定義 domToMutation 結合。
nextConnection Connection | 空值
環境改變? ((p1: Abstract) => void) | null (選用) 此為選用回呼方法,會在區塊父項工作區變更時使用。這通常只會從建構函式、區塊類型初始化工具函式或擴充功能初始化函式呼叫。
outputConnection Connection | 空值
outputShape_ protected 數字 | 空值
parentBlock_ protected 這個 | 空值
previousConnection Connection | 空值
已轉譯 boolean | null
RTL boolean
saveExtraState? (doFullSerialization?: boolean) =>任一 (選用) 這是選用的序列化方法,用於定義如何將區塊的額外狀態 (例如異動狀態) 序列化為與 JSON 相容的項目。這必須與定義 loadExtraState 結合。
styleName_ protected 字串 區塊樣式的名稱。
suppressPrefixSuffix boolean | null 選用屬性,用來隱藏將 STATEMENT_PREFIX 和 STATEMENT_SUFFIX 新增至產生的程式碼。
工具提示 Tooltip.TipInfo
類型 字串
工作區 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) 請找出直接或間接在這個區塊內的所有區塊。在清單中加入這個封鎖條件。包含值和陳述式輸入內容,以及任何下列敘述。排除輸出分頁標籤或上述任何陳述式的任何連線。您可以選擇依照位置 (由上至下) 排序封鎖。
getField(name) 傳回區塊中的已命名欄位。
getFieldValue(name) 傳回指定欄位的語言中立值。
getHue() 取得區塊的 HSV 色調值。如果未設定色調,則為空值。
getIcon(type)
getIcons()
getInheritedDisabled() 瞭解封鎖條件是否因家長而停用。系統不會考慮區塊本身的已停用屬性。
getInput(name) 擷取已命名的輸入物件。
getInputsInline() 瞭解輸入值是以水平或垂直方式排列。
getInputTargetBlock(name) 擷取附加至已命名輸入項目的區塊。
getInputWithBlock(block) 傳回連線至指定區塊的輸入內容。
getNextBlock() 傳回與這個區塊直接連結的下一個陳述式區塊。
getOutputShape() 取得區塊的輸出形狀。
getParent() 如果這個區塊位於頂層,請傳回上層區塊或空值。父項區塊是連接至先前連線的區塊 (用於陳述式區塊),或是連接到輸出連線的區塊 (以值區塊)。
getPreviousBlock() 傳回連線至上一個連線的區塊。
getRelativeToSurfaceXY() 在工作區單位中,傳回這個區塊左上角相對於繪圖介面原點 (0,0) 的座標。
getRootBlock() 傳回這個區塊樹狀結構中最高的區塊。如果這個區塊位於頂層,就會傳回此區塊。
getStyleName() 取得區塊樣式的名稱。
getSurroundParent() Return the parent block that surrounds the current block, or null if this block has no surrounding block. 父項區塊可能只是上一個陳述式,而周圍區塊則是 if 陳述式、迴圈等等。
getTooltip() 傳回這個區塊的工具提示文字。
getVars() 傳回這個區塊參照的所有變數。
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) 將 MixinObj 的鍵/值新增至這個區塊物件。根據預設,這個方法會檢查 MixinObj 中的鍵不會覆寫區塊中現有的值,包括原型值。這有助於因應日後的封鎖功能不相容情形,來解決混合 / 擴充功能不相容的問題。只要將 True 做為第二個引數,即可停用這項檢查。
moveBy(dx, dy, 原因) 以相對偏移值移動區塊。
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) 設定此區塊是否可刪除。
setEditable(editable) 設定是否開放編輯這個封鎖條件。
setEnabled(enabled) 設定是否啟用封鎖功能。
setFieldValue(newValue, name) 設定這個區塊的指定欄位值。
setHelpUrl(網址) 設定這個區塊的說明頁面網址。
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) 從另一個方塊拔除這個方塊。如果這個區塊是陳述式,可選擇重新連結下方區塊和頂端的區塊。