封鎖課程
一個區塊的類別。通常不會直接呼叫,最好使用 workspace.newBlock()。
Signature:
export declare class Block implements IASTNodeLocation
導入: IASTNodeLocation
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(buildor)(workspace, prototypeName, opt_id) | 建構 Block 類別的新例項 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
childBlocks_ | protected |
本 [] | |
collapsed_ | protected |
布林值 | |
COLLAPSED_FIELD_NAME |
|
字串 | 指定給收合欄位的語言中立 ID。 |
COLLAPSED_INPUT_NAME |
|
字串 | 為收合輸入內容指定的語言中立 ID。 |
colour_ | protected |
字串 | 「#RRGGBB」方塊的顏色格式。 |
撰寫? | (p1:封鎖) =>void | (選用) 這個選用函式會根據變動器對話方塊的內容重新設定區塊。 | |
contextMenu | 布林值 | ||
資料 | 字串 |空值 | 選用的文字資料,可在區塊和 XML 之間來回往返。沒有影響 第三方可能會使用中繼資訊做為中繼資訊。 | |
(p1:工作區) =>封鎖 | (選用) 這個選用函式可將此區塊的元件填入變異器對話方塊。 | ||
() =>void | (選用) 處置期間呼叫的選用方法。 | ||
丟棄 | protected |
布林值 | 目前的建塊是否正在處置? |
domToMutation? | (p1:元素) =>void | (選用) 這個選填的反序列化方法,用於定義如何從 XML 將異動狀態還原序列化。這必須與定義 mutationToDom 結合。 |
|
getDeveloperVariables? | () =>字串 [] | (選用) 用於宣告開發人員變數的選用屬性。傳回變數名稱清單供產生器使用。開發人員變數一律不會看到,但在產生的程式碼中會宣告為全域變數。 | |
帽子? | 字串 | (選填) 帽子類型的名稱。 | |
helpUrl | 字串 |函式 |空值 | 區塊說明字串,或會傳回網址的函式。空值不會獲得協助。 | |
圖示 | IIcon[] | ||
id | 字串 | ||
? | () =>void | (選用) 初始化期間呼叫的選用方法。 | |
inputList | 輸入內容[] | ||
inputsInline? | 布林值 | (選用) | |
inputsInlineDefault? | 布林值 | (選用) | |
isInFlyout | 布林值 | ||
isInMutator | 布林值 | ||
isInsertionMarker_ | protected |
布林值 | 如果這個區塊是插入標記,則為 True。 |
loadExtraState? | (p1:任何) =>void | (選用) 選用的序列化方法,可定義如何從與 JSON 相容的內容,將區塊的額外狀態 (例如異動狀態) 還原序列化。這必須與定義 saveExtraState 結合。 |
|
mutationToDom? | (...p1: any[]) =>元素 | (選用) 這個選填的序列化方法,可定義如何將異動狀態序列化為 XML。這必須與定義 domToMutation 結合。 |
|
nextConnection | 連繫 |空值 | ||
(p1:抽象) => 無效空值 | (選用) 每當區塊的父項工作區變更時,系統就能選用的回呼方法。通常只會透過建構函式、區塊類型初始化函式或擴充功能初始化函式呼叫。 | ||
outputConnection | 連繫 |空值 | ||
outputShape_ | protected |
數字 |空值 | |
parentBlock_ | protected |
這份 |空值 | |
previousConnection | 連繫 |空值 | ||
算繪 | readonly |
布林值 | 這個區塊是封鎖可擴充向量圖形 (SVG) 嗎? |
RTL | 布林值 | ||
saveExtraState? | (doFullSerialization?: boolean) =>任何 | (選用) 選用的序列化方法,可定義如何將區塊的額外狀態 (如變動狀態) 序列化到與 JSON 相容的內容。這必須與定義 loadExtraState 結合。 |
|
styleName_ | protected |
字串 | 區塊樣式名稱。 |
suppressPrefixSuffix | boolean |空值 | 非必要屬性,用於在產生的程式碼中抑制將 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) | 找出直接或間接歸入這個類別的所有區塊。將這個封鎖條件納入清單。包含值和陳述式輸入內容,以及下列陳述式。排除輸出分頁或任何先前陳述式中的任何連線。封鎖條件可視需要根據位置排序;由上至下。 | |
getDisabledReasons() | 瞭解封鎖功能目前停用的原因 (如果有的話)。如果封鎖功能已啟用,這個組合將呈現空白。 | |
getField(name) | 傳回區塊中的指定欄位。 | |
getFieldValue(name) | 傳回指定欄位的語言中立值。 | |
getHue() | 取得區塊的 HSV 色調值。如未設定 hue,則為空值。 | |
getIcon(type) | ||
getIcons() | ||
getInheritedDisabled() | 確認封鎖條件是否因家長停用而遭到停用。系統不會考慮封鎖本身的停用屬性。 | |
getInput(name) | 擷取指定的輸入物件。 | |
getInputsInline() | 取得輸入的值是否水平或垂直排列。 | |
getInputTargetBlock(name) | 擷取附加至已命名輸入內容的區塊。 | |
getInputWithBlock(block) | 傳回連線至指定區塊的輸入內容。 | |
getNextBlock() | 傳回直接連結到這個區塊的下一個陳述式區塊。 | |
getOutputShape() | 取得區塊的輸出內容形狀。 | |
getParent() | 如果這個區塊位於頂層,則傳回父項區塊或空值。父項區塊是與先前連線 (陳述式區塊) 連接的區塊,或是連接至輸出連線的區塊 (用於值區塊)。 | |
getPreviousBlock() | 傳回與先前連線相連結的區塊。 | |
getRelativeToSurfaceXY() | 以工作區單位傳回這個區塊左上角的座標 (以 0,0 為基準)。 | |
getRootBlock() | 傳回這個區塊樹狀結構中最頂層的區塊。如果這個區塊位於頂層,系統會傳回本身。 | |
getStyleName() | 取得區塊樣式名稱。 | |
getSurroundParent() | 傳回位於目前區塊周圍的父項區塊,如果這個區塊沒有周圍區塊,則傳回空值。父項區塊可能只是前一個陳述式,而周圍區塊則是 if 陳述式、而迴圈等。 | |
getTooltip() | 傳回這個區塊的工具提示文字。 | |
getVars() | 傳回這個區塊參照的所有變數。 | |
hasDisabledReason(reason) | 瞭解封鎖條件目前是否基於提供的原因而停用。 | |
hasIcon(type) | ||
initModel() | 對區塊的所有欄位呼叫 initModel。可以多次呼叫。您必須在建立區塊後、初次與區塊互動之前呼叫 initModel 或 initSvg。互動包括使用者介面動作 (例如點按及拖曳) 和觸發事件 (例如建立、刪除及變更)。 | |
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, reason) | 以相對偏移量移動區塊。 | |
moveInputBefore(name, refName) | 將已命名的輸入內容移至這個區塊上的其他位置。 | |
moveNumberedInputBefore(inputIndex, refIndex) | 將編號的輸入內容移至這個區塊中的其他位置。 | |
removeIcon(type) | 從區塊移除 getType 符合指定類型 iconType 的圖示。 | |
removeInput(name, opt_quiet) | 移除這個區塊中的輸入內容。 | |
renameVarById(oldId, newId) | 顯示變數正在重新命名的通知。如果 ID 與此區塊的其中一個變數相符,請重新命名該 ID。 | |
setCollapsed(collapsed) | 設定是否要收合區塊。 | |
setColour(colour) | 變更建塊的顏色。 | |
setCommentText(text) | 設定這個區塊的留言文字。 | |
setDeletable(deletable) | 設定這個區塊是否可刪除。 | |
setDisabledReason(disabled, reason) | 新增或移除封鎖原因如果封鎖條件有任何停用原因,系統會將其封鎖。封鎖條件可能同時存在多種原因,例如使用者手動停用或封鎖無效。 | |
setEditable(editable) | 設定這個區塊是否可編輯。 | |
setEnabled(enabled) | ||
setFieldValue(newValue, name) | 設定這個區塊的特定欄位值。 | |
setHelpUrl(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) | 將這個方塊拔掉。如果這個區塊是聲明,您也可以選擇將下方的區塊與頂層區塊重新連結。 |