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 中的焦點事件 (可能因使用者點選網頁元素而產生),並確保對應的 IFocusableNodes 會清楚標示為主動/被動醒目顯示,就像透過呼叫 focusNode() 表示一樣。 |
| 手勢 | 單一手勢的類別。 |
| 格線 | 工作區格線的類別。 |
| HorizontalFlyout | 下拉式選單的類別。 |
| 輸入功率 | 具有選填欄位的輸入內容類別。 |
| InsertionMarkerPreviewer | |
| KeyboardNavigationController | KeyboardNavigationController 會處理協調 Blockly 全域鍵盤導覽行為,例如啟用/停用完整游標視覺化。 |
| LabelFlyoutInflater | 負責為浮動視窗建立標籤的類別。 |
| LineCursor | 行游標的類別。 |
| Marker | 標記的類別。這項屬性用於鍵盤導覽,可在 Blockly AST 中儲存位置。 |
| MarkerManager | 這個類別可管理工作區中的多個標記和游標。 |
| 菜單 | 基本選單類別。 |
| MenuItem | 代表選單中項目的類別。 |
| MetricsManager | 所有工作區指標計算的管理員。 |
| 名稱 | 實體名稱 (變數、程序等) 資料庫的類別。 |
| Navigator | 這個類別負責判斷焦點應在何處移動,以回應鍵盤導覽指令。 |
| 選項 | 剖析使用者指定的選項,並在未指定行為時使用合理的預設值。 |
| RenderedConnection | 類別,用於在畫面上顯示的方塊之間建立連線。 |
| 捲軸 | 純 SVG 捲軸的類別。這項技術可確保捲軸正常運作,但外觀或行為可能與系統捲軸不同。 |
| ScrollbarPair | 一對捲軸的類別。橫向和直向。 |
| SeparatorFlyoutInflater | 負責為飛出視窗建立分隔符的類別。 |
| ShortcutRegistry | 鍵盤快速鍵登錄的類別。這項服務的目的是要成為單例模式。您不應建立新的執行個體,只能透過 ShortcutRegistry.registry 存取這個類別。 |
| 主題 | 主題的類別。 |
| ThemeManager | 這個類別用於儲存及更新工作區的主題和 UI 元件。 |
| Toast | 這個類別可顯示及關閉臨時通知。 |
| 工具箱 | 工具箱的類別。建立工具箱的 DOM。 |
| ToolboxCategory | 工具箱中類別的類別。 |
| ToolboxItem | 工具箱中項目的類別。 |
| ToolboxSeparator | 工具箱分隔符的類別。工具箱上會顯示這條細細的視覺線,這個項目無法互動。 |
| Trashcan | 垃圾桶的類別。 |
| 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) | 傳回指定物件是否為 IDeletable。 |
| isDraggable(obj) | 傳回指定物件是否為 IDraggable。 |
| isIcon(obj) | 型別防護,可檢查指定物件是否為 IIcon。 |
| isPaster(obj) | |
| isRenderedElement(obj) | |
| isSelectable(obj) | 檢查指定物件是否為 ISelectable。 |
| isSerializable(obj) | 型別防護,可檢查指定物件是否為 ISerializable。 |
| isVariableBackedParameterModel(param) | 傳回指定物件是否為變數保留位置。 |
| navigateBlock(current, delta) | 傳回相對於所提供區塊子項的下一個可導覽項目。 |
| navigateStacks(current, delta) | 傳回相對於指定元素堆疊的下一個/上一個堆疊。 |
| 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 註冊的工作區元件介面。 |
| 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 | |
| keyboardNavigationController | 鍵盤導覽控制器的單例執行個體。 |
| Msg | 本地化訊息的字典。 |
| NEXT_STATEMENT | |
| OPPOSITE_TYPE | |
| OUTPUT_VALUE | |
| PREVIOUS_STATEMENT | |
| PROCEDURE_CATEGORY_NAME | 用於工具箱 XML 中類別「custom」屬性的字串。這個字串表示類別應動態填入程序區塊。 |
| RENAME_VARIABLE_ID | |
| setParentContainer | 設定父項容器。這是容器元素,WidgetDiv、dropDownDiv 和 Tooltip 會在第一次呼叫 Blockly.inject 時算繪至此元素。如果第一次 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 中的版本值。這是由 buildCompressed gulp 工作中的 Closure 編譯器完成。如果是本機建構作業,您可以將 --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。 |