Blockly 套件
類別
類別 | 說明 |
---|---|
封鎖 | 一個區塊的類別。通常不會直接呼叫,建議使用 workspace.newBlock()。 |
BlockFlyoutInflater | 負責建立彈出式視窗的區塊。 |
BlockNavigationPolicy | 一組控制區塊鍵盤導覽功能的規則。 |
BlockSvg | 用於表示區塊 SVG 的類別。通常不會直接呼叫,建議使用 workspace.newBlock()。 |
ButtonFlyoutInflater | 負責建立彈出式視窗按鈕的類別。 |
CodeGenerator | 程式碼產生器的類別,可將區塊轉譯為某種語言。 |
CollapsibleToolboxCategory | 可摺疊工具箱中類別的類別。 |
ComponentManager | 管理工作區中註冊的所有項目。 |
連線 | 用於連結區塊的類別。 |
ConnectionChecker | 用於檢查連線類型邏輯的類別。 |
ConnectionDB | 連線資料庫。連線會依垂直元件順序儲存。如此一來,就能使用二分搜尋快速查詢某個區域中的連線。 |
ConnectionNavigationPolicy | 一組用於控制連線鍵盤導覽的規則。 |
ContextMenuRegistry | 用於註冊內容選單項目的類別。這應為單例模式。您不應建立新的例項,且只能透過 ContextMenuRegistry.registry 存取此類別。 |
DeleteArea | 可刪除放置在其上方的方塊或氣泡的元件抽象類別。 |
DragTarget | 當使用者將方塊或氣泡拖曳至元件上或放置在元件上時,該元件會採用自訂行為的抽象類別。 |
FieldCheckbox | 核取方塊欄位的類別。 |
FieldDropdown | 可編輯下拉式選單欄位的類別。 |
FieldImage | 用於區塊圖片的類別。 |
FieldLabel | 不可編輯且無法序列化的文字欄位類別。 |
FieldLabelSerializable | 不可編輯且可序列化的文字欄位類別。 |
FieldNavigationPolicy | 一組控制欄位鍵盤導覽功能的規則。 |
FieldNumber | 可編輯數字欄位的類別。 |
FieldTextInput | 可編輯文字欄位的類別。 |
FieldVariable | 變數下拉式選單欄位的類別。 |
FlyoutButton | 彈出式視窗中的按鈕或標籤類別。 |
FlyoutButtonNavigationPolicy | 一組用於控制彈出式按鈕的鍵盤導覽規則。 |
FlyoutItem | 飛出式視窗中顯示的項目表示法。 |
FlyoutMetricsManager | 計算彈出式視窗工作區的指標。這些指標主要用於設定彈出式視窗的捲軸大小。 |
FlyoutNavigationPolicy | 通用導覽政策,可在彈出式視窗中的項目之間導覽。 |
FlyoutNavigator | |
FlyoutSeparator | 飛出式選單中元素之間的間距。 |
FlyoutSeparatorNavigationPolicy | 一組規則,用於控制彈出式分隔符的鍵盤導覽。這是無操作的預留位置,因為無法前往彈出式分隔符。 |
FocusableTreeTraverser | 這項輔助公用程式可協助實作 IFocusableTree,以便進行常見的樹狀結構檢索。 |
FocusManager | 每個網頁的單例,可在多個 IFocusableTree 中管理 Blockly 焦點,並與 DOM 雙向同步這項焦點。 如要明確變更頁面上特定 Blockly 元件的輸入焦點,呼叫端應使用這個管理員的焦點函式。 管理員負責處理 DOM 的焦點事件 (可能來自使用者點選網頁元素),並確保相應的 IFocusableNode 以明確的方式標示為主動/被動醒目顯示,就像透過呼叫 focusNode() 表示一樣。 |
手勢 | 單一手勢的類別。 |
格狀 | 工作區格線的類別。 |
HorizontalFlyout | 彈出式視窗的類別。 |
輸入功率 | 含選填欄位的輸入內容類別。 |
InsertionMarkerPreviewer | |
LabelFlyoutInflater | 負責建立彈出式視窗標籤的類別。 |
LineCursor | 線條游標的類別。 |
Marker | 標記的類別。這可用於鍵盤導覽,在 Blockly AST 中儲存位置。 |
MarkerManager | 用於管理工作區中的多個標記和游標的類別。 |
菜單 | 基本選單類別。 |
MenuItem | 代表選單中項目的類別。 |
MetricsManager | 管理所有工作區指標計算作業。 |
名稱 | 實體名稱 (變數、程序等) 資料庫的類別。 |
Navigator | 這個類別負責判斷焦點應在回應鍵盤導覽指令時移至何處。 |
選項 | 剖析使用者指定的選項,並在未指定行為的情況下使用合理的預設值。 |
RenderedConnection | 用於連結可能在螢幕上算繪的區塊的類別。 |
捲軸 | 純 SVG 捲軸的類別。這項技巧可提供保證可正常運作的捲軸,但外觀或行為可能不像系統的捲軸。 |
ScrollbarPair | 一對捲軸的類別。水平和垂直。 |
SeparatorFlyoutInflater | 負責建立彈出式選單分隔符的類別。 |
ShortcutRegistry | 鍵盤快速鍵登錄機制的類別。這應為單例模式。請勿建立新的例項,並只從 ShortcutRegistry.registry 存取此類別。 |
主題 | 主題類別。 |
ThemeManager | 用於儲存及更新工作區主題和 UI 元件的類別。 |
Toast | 可用於顯示及關閉暫時性通知的類別。 |
工具箱 | Toolbox 的類別。建立工具箱的 DOM。 |
ToolboxCategory | 工具箱中類別的類別。 |
ToolboxItem | 工具箱中項目的類別。 |
ToolboxSeparator | 工具箱分隔符的類別。這是工具箱中顯示的細線。這個項目無法互動。 |
垃圾桶 | 垃圾桶的類別。 |
UnattachedFieldError | 代表欄位在實際連結至所述區塊之前,嘗試存取該區塊或該區塊的資訊時發生的錯誤。 |
VariableMap | 變數對應的類別。這個字典資料結構包含變數類型做為鍵,以及變數清單做為值。變數清單是鍵所指示的類型。 |
VariableModel | 變數模型的類別。保存變數的資訊,包括名稱、ID 和類型。 |
VerticalFlyout | 彈出式視窗的類別。 |
Workspace | 工作區的類別。這是包含模塊的資料結構。沒有 UI,可以無頭建立。 |
WorkspaceAudio | 用於載入、儲存及播放工作區音訊的類別。 |
WorkspaceDragger | 工作區拖曳工具的類別。當滑鼠或觸控拖曳時,會移動工作區。 |
WorkspaceNavigationPolicy | 一組用於控制工作區鍵盤導覽的規則。 |
WorkspaceSvg | 工作區的類別。這是螢幕上的區域,可選用垃圾桶、捲軸、泡泡和拖曳功能。 |
ZoomControls | 縮放控制項的類別。 |
抽象類別
抽象類別 | 說明 |
---|---|
欄位 | 可編輯欄位的抽象類別。 |
Flyout | 彈出式視窗的類別。 |
列舉
Enumeration | 說明 |
---|---|
ConnectionType | 連線或輸入類型的列舉。 |
函式
函式 | 說明 |
---|---|
getFocusManager() | FocusManager.getFocusManager 的便利函式。 |
hasBubble(obj) | 檢查指定物件是否為 IHasBubble 的類型防護。 |
hideChaff(opt_onlyClosePopups) | 關閉工具提示、內容選單、下拉式選單等。 |
inject(container, opt_options) | 將 Blockly 編輯器插入指定的容器元素 (通常是 div)。 |
isCopyable(obj) | |
isDeletable(obj) | 傳回指定物件是否為可刪除 ID 的物件。 |
isDraggable(obj) | 傳回指定物件是否為 IDraggable。 |
isIcon(obj) | 檢查指定物件是否為 IIcon 的類型防護。 |
isPaster(obj) | |
isRenderedElement(obj) | |
isSelectable(obj) | 檢查指定物件是否為 ISelectable。 |
isSerializable(obj) | 檢查指定物件是否為 ISerializable 的類型防護。 |
isVariableBackedParameterModel(param) | 傳回指定物件是否為變數容器。 |
setLocale(locale) | 將語言代碼 (即本地化訊息/區塊文字/等) 設為指定的語言代碼。 從指令碼標記載入時,這項功能就沒有用處/必要,因為系統會自動將訊息插入 Blockly.Msg 物件。不過,我們會在指令碼標記和非指令碼標記的上下文中提供此資訊,以便 tscompiler 正確建立類型定義檔案。 |
介面
介面 | 說明 |
---|---|
BlocklyOptions | Blockly 選項。 |
FieldCheckboxConfig | 核取方塊欄位的設定選項。 |
FieldCheckboxFromJsonConfig | 核取方塊欄位的 fromJson 設定選項。 |
FieldConfig | 基本欄位的額外設定選項。 |
FieldDropdownFromJsonConfig | 下拉式欄位的 fromJson 設定。 |
FieldImageConfig | 圖片欄位的設定選項。 |
FieldImageFromJsonConfig | 圖片欄位的 fromJson 設定選項。 |
FieldLabelConfig | 標籤欄位的設定選項。 |
FieldLabelFromJsonConfig | 標籤欄位的 fromJson 設定選項。 |
FieldNumberConfig | 數字欄位的設定選項。 |
FieldNumberFromJsonConfig | 數值欄位的 fromJson 設定選項。 |
FieldTextInputFromJsonConfig | 文字輸入欄位的 fromJson 設定選項。 |
FieldVariableConfig | 變數欄位的設定選項。 |
FieldVariableFromJsonConfig | 變數欄位的 fromJson 設定選項。 |
IAutoHideable | 可自動隱藏的元件介面。 |
IBoundedElement | 受限元素介面。 |
IBubble | 泡泡介面。 |
ICollapsibleToolboxItem | 可收合工具箱中項目的介面。 |
IComponent | 可向 ComponentManager 註冊的 Workspace 元件介面。 |
IConnectionChecker | 用於檢查連線類型邏輯的類別。 |
IConnectionPreviewer | 顯示視覺「預覽畫面」,顯示當某個區塊被放置時,會連結至哪個位置。 |
IContextMenu | |
ICopyable | |
IDeletable | 可刪除物件的介面。 |
IDeleteArea | 元件介面,可刪除放置在其上的方塊或氣泡。 |
IDraggable | 代表可拖曳的物件。 |
IDragger | |
IDragStrategy | |
IDragTarget | 當使用者將區塊或氣泡拖曳到元件上或放置在其上時,元件會顯示此介面,並執行自訂行為。 |
IFlyout | 彈出式介面。 |
IFlyoutInflater | |
IFocusableNode | 代表可取得輸入焦點的任何項目。 |
IFocusableTree | 代表可聚焦元素的樹狀結構,並具有自己的有效/被動焦點內容。 請注意,焦點是由 FocusManager 處理,且樹狀結構實作最多只能同時將焦點放在一個 IFocusableNode。如果樹狀結構本身有焦點,則系統會將樹狀結構的焦點節點視為「有效」(如果另一個樹狀結構有焦點,則為「無效」)。 焦點會在一個或多個樹狀結構之間共用,每個樹狀結構只能有一個有效或無效節點 (且在任何時間點,整個網頁上只能存在一個有效節點)。被動焦點的概念是為使用者提供背景資訊,說明在前往先前已聚焦的樹狀結構時,焦點會恢復至何處。 請注意,如果需要樹狀結構目前聚焦的節點 (被動或主動),可以使用 FocusableTreeTraverser.findFocusedNode。 請注意,如果需要為此樹狀結構擷取特定節點,請使用 lookUpFocusableNode 或 FocusableTreeTraverser.findFocusableNodeFor。 |
IHasBubble | |
IIcon | |
IKeyboardAccessible | 處理鍵盤快速鍵的物件介面。 |
ImageProperties | 使用者可讀的圖片下拉式選單選項定義。 |
IMetricsManager | 指標管理工具的介面。 |
IMovable | 可移動物件的介面。 |
INavigationPolicy | 一組規則,可用來指定鍵盤導覽應繼續執行的位置。 |
IPaster | 可將資料貼到工作區的物件。 |
IPositionable | 位於工作區頂端的元件介面。 |
IRegistrable | 可註冊的 Blockly 元件介面。 |
IRenderedElement | |
ISelectable | 可選取物件的介面。 實作項目通常會使用 onNodeFocus() 和 onNodeBlur() 實作項目,分別呼叫 setSelected() 和 null,以確保正確更新選取項目,並觸發選取項目變更事件。 |
ISelectableToolboxItem | 可選取工具箱中項目的介面。 |
ISerializable | |
IStyleable | 可新增樣式的物件介面。 |
IToolbox | 工具箱的介面。 |
IToolboxItem | 工具箱中項目的介面。 |
IVariableBackedParameterModel | 保存變數模型的參數模型介面。 |
IVariableMap | 變數對應項目是容器物件,負責儲存及管理工作區參照的變數組合。 任何這些方法都可能定義哪些名稱和類型是合法的不變量,並在未符合這些條件時擲回。 |
IVariableModel | |
IVariableState | 代表特定變數的狀態。 |
ToastOptions | 顯示/設定選項,用於顯示浮動式通知。 |
命名空間
變數
變數 | 說明 |
---|---|
封鎖條件 | 將區塊類型名稱對應至區塊原型物件。 |
COLLAPSE_CHARS | |
COLLAPSED_FIELD_NAME | |
COLLAPSED_INPUT_NAME | |
config | 物件會保留 Blockly 中所有可供開發人員變更的值。 |
defineBlocksWithJsonArray | 從 JSON 區塊定義陣列定義區塊,這類陣列可能由 Blockly 開發人員工具產生。 |
DELETE_VARIABLE_ID | |
DropDownDiv | |
getMainWorkspace | 傳回主要工作區。傳回上次使用的主工作區 (根據焦點)。請盡量不要使用這個函式,尤其是在頁面上有多個 Blockly 例項時。 |
getSelected | 傳回目前選取的可複製物件。 |
INPUT_VALUE | |
JavaScript | |
Msg | 本地化訊息字典。 |
NEXT_STATEMENT | |
OPPOSITE_TYPE | |
OUTPUT_VALUE | |
PREVIOUS_STATEMENT | |
PROCEDURE_CATEGORY_NAME | 在工具箱 XML 中,用於類別「custom」屬性的字串。這個字串表示應動態填入程序區塊的類別。 |
RENAME_VARIABLE_ID | |
setParentContainer | 設定父項容器。這是容器元素,當 Blockly.inject 首次呼叫時,WidgetDiv、dropDownDiv 和 Tooltip 會算繪至此。如果在第一次 Blockly.inject 之後呼叫此方法,則為 NOP。 |
svgResize | 調整 SVG 圖片的大小,使其完全填滿容器。當檢視區塊實際變更大小時 (例如視窗大小變更/裝置螢幕方向變更),請呼叫此方法。如要調整內容變更 (例如新增或移除區塊) 時的工作區大小,請參閱 workspace.resizeContents。記下 SVG 圖片的高度/寬度。 |
TOOLBOX_AT_BOTTOM | |
TOOLBOX_AT_LEFT | |
TOOLBOX_AT_RIGHT | |
TOOLBOX_AT_TOP | |
VARIABLE_CATEGORY_NAME | 在工具箱 XML 中,用於類別「custom」屬性的字串。這個字串表示應動態填入變數區塊的類別。 |
VARIABLE_DYNAMIC_CATEGORY_NAME | 在工具箱 XML 中,用於類別「custom」屬性的字串。這個字串表示應動態填入變數區塊的類別。 |
版本 | Blockly 核心版本。這個常數會由建構指令碼 (npm run build) 覆寫為 package.json 中的版本值。這項工作是由 Closure Compiler 在 buildCompressed gulp 工作中執行。如果是本機版本,您可以將 --define='Blockly.VERSION=X.Y.Z' 傳遞至編譯器,藉此覆寫此常數。 |
型別別名
類型別名 | 說明 |
---|---|
FieldCheckboxValidator | 系統會在設定欄位值之前,呼叫此函式來驗證欄位值的變更。 |
FieldDropdownConfig | 下拉式選單欄位的設定選項。 |
FieldDropdownValidator | 系統會在設定欄位值之前,呼叫此函式來驗證欄位值的變更。 |
FieldNumberValidator | 系統會在設定欄位值之前,呼叫此函式來驗證欄位值的變更。 |
FieldTextInputConfig | 文字輸入欄位的設定選項。 |
FieldTextInputValidator | 系統會在設定欄位值之前,呼叫此函式來驗證欄位值的變更。 |
FieldValidator | 系統會在設定欄位值之前,呼叫此函式來驗證欄位值的變更。 |
FieldVariableValidator | 系統會在設定欄位值之前,呼叫此函式來驗證欄位值的變更。 |
ICopyData | |
MenuGenerator | 選單選項陣列或函式,可為 FieldDropdown 或其子項產生選單選項陣列。 |
MenuGeneratorFunction | 這個函式會為 FieldDropdown 或其子項產生選單選項陣列。 |
MenuOption | 下拉式選單中的個別選項。可以是選單分隔符項目的字串常值 separator ,也可以是一般動作選單項目的陣列。在後一種情況下,第一個元素是人類可讀的值 (文字、ImageProperties 物件或 HTML 元素),第二個元素則是語言中立的值。 |
ReturnEphemeralFocus | 在完成暫時性 UI 流程 (例如對話方塊) 後,將焦點傳回至 FocusManager 的型別宣告。 詳情請參閱 FocusManager.takeEphemeralFocus。 |