blockly

pakiet blockly

Zajęcia

Klasa Opis
Blokowanie Zajęcia obejmujące jeden blok. Zwykle nie jest wywoływany bezpośrednio, preferowane jest workspace.newBlock().
BlockFlyoutInflater Klasa odpowiedzialna za tworzenie bloków dla wyskakujących okienek.
BlockNavigationPolicy Zestaw reguł kontrolujących poruszanie się po bloku za pomocą klawiatury.
BlockSvg Klasa reprezentacji SVG bloku. Zwykle nie jest wywoływany bezpośrednio, preferowane jest workspace.newBlock().
ButtonFlyoutInflater Klasa odpowiedzialna za tworzenie przycisków dla wyskakujących okienek.
CodeGenerator Klasa generatora kodu, który tłumaczy bloki na dany język.
CollapsibleToolboxCategory Zajęcia dla kategorii w sekcji narzędzi, które można zwinąć.
ComponentManager Menedżer wszystkich elementów zarejestrowanych w obszarze roboczym.
Połączenie Klasa dla połączenia między blokami.
ConnectionChecker Klasa z logiką sprawdzania typu połączenia.
ConnectionDB Baza danych połączeń. Połączenia są przechowywane według ich komponentu pionowego. Dzięki temu można szybko sprawdzać połączenia w danym obszarze, korzystając z wyszukiwania binarnego.
ConnectionNavigationPolicy Zestaw reguł kontrolujących nawigację za pomocą klawiatury w ramach połączenia.
ContextMenuRegistry Klasa rejestru pozycji menu kontekstowego. Ta klasa ma być singletonem. Nie należy tworzyć nowej instancji, a dostęp do tej klasy należy uzyskiwać tylko z poziomu ContextMenuRegistry.registry.
DeleteArea Klasa abstrakcyjna komponentu, który może usuwać blok lub bańkę umieszczone na nim.
DragTarget Klasa abstrakcyjna komponentu z niestandardowym zachowaniem, gdy blok lub bańka są przeciągane lub przenoszone na inny element.
FieldCheckbox Klasa pola wyboru.
FieldDropdown Klasa dla edytowalnego pola rozwijanego.
FieldImage Klasa obrazu w bloku.
FieldLabel Klasa nieedytowalnego pola tekstowego, które nie może być serializowane.
FieldLabelSerializable Klasa nieedytowalnego pola tekstowego, które można serializować.
FieldNavigationPolicy Zestaw reguł kontrolujących poruszanie się po polu za pomocą klawiatury.
FieldNumber Klasa edytowalnego pola liczbowego.
FieldTextInput Klasa pola tekstowego z możliwością edycji.
FieldVariable Klasa pola rozwijanego zmiennej.
FlyoutButton Klasa przycisku lub etykiety w menu.
FlyoutButtonNavigationPolicy Zestaw reguł kontrolujących nawigację za pomocą klawiatury z przycisku wyskakującego.
FlyoutItem Element wyświetlany w wysuwanym menu.
FlyoutMetricsManager Oblicza dane dotyczące obszaru roboczego wyskakującego okienka. Te dane są używane głównie do określania rozmiaru suwaków w wyskakującym okienku.
FlyoutNavigationPolicy Ogólna zasada nawigacji, która umożliwia poruszanie się między elementami w wysuwanym menu.
FlyoutNavigator
FlyoutSeparator Odstęp między elementami w wysuwanym menu.
FlyoutSeparatorNavigationPolicy Zestaw reguł kontrolujących nawigację za pomocą klawiatury z separatora wyskakującego okienka. To jest placeholder bez działania, ponieważ nie można przejść do separatorów wyskakujących.
FocusableTreeTraverser Narzędzie pomocnicze dla implementacji IFocusableTree, które ułatwia zwykłe przeszukiwanie drzewa.
FocusManager

Element typu singleton na stronie, który zarządza punktem skupienia Blockly w co najmniej 1 elementie IFocusableTree i synchronizuje ten punkt dwukierunkowo z DOM.

Jeśli chcesz wyraźnie zmienić fokus wprowadzania w przypadku wybranych komponentów Blockly na stronie, użyj funkcji fokusowania w tym menedżerze.

Menedżer jest odpowiedzialny za obsługę zdarzeń związanych z focusem w DOM (które mogą wynikać z klikania przez użytkowników elementów strony) oraz za to, aby odpowiednie obiekty IFocusableNodes były wyraźnie oznaczone jako aktywnie lub pasywnie wyróżnione w taki sam sposób, w jaki jest to reprezentowane przez wywołania metody focusNode().

Gest Klasa dla jednego gestu.
Siatka Zajęcia na siatce obszaru roboczego.
HorizontalFlyout Klasa dla wyskakującego okienka.
Wejście Klasa danych wejściowych z opcjonalnymi polami.
InsertionMarkerPreviewer
LabelFlyoutInflater Klasa odpowiedzialna za tworzenie etykiet dla wyskakujących okienek.
LineCursor Klasa kursora linii.
Znacznik Klasa znacznika. Służy ono do zapisywania lokalizacji w Blockly AST podczas poruszania się za pomocą klawiatury.
MarkerManager Class do zarządzania wieloma znacznikami i kursorem w obszarze roboczym.
Menu Podstawowa klasa menu.
MenuItem Klasa reprezentująca element w menu.
MetricsManager Menedżer wszystkich obliczeń danych obszaru roboczego.
Nazwy Klasa do bazy danych z nazwami entyfikacji (zmiennych, procedur itp.).
Nawigacja Klasa odpowiedzialna za określanie, gdzie powinno się przesunąć zaznaczenie w odpowiedzi na polecenia nawigacji za pomocą klawiatury.
Opcje Przeanalizuj opcje podane przez użytkownika, używając rozsądnych wartości domyślnych w przypadku nieokreślonego zachowania.
RenderedConnection Klasa do obsługi połączenia między blokami, które mogą być renderowane na ekranie.
suwak, Klasa dla czystego paska przewijania SVG. Ta metoda zapewnia działanie paska przewijania, ale może on wyglądać inaczej niż paski przewijania systemu lub działać inaczej.
ScrollbarPair Klasa dla pary suwaków. poziome i pionowe.
SeparatorFlyoutInflater Klasa odpowiedzialna za tworzenie separatorów dla wyskakujących okienek.
ShortcutRegistry Klasa rejestru skrótów klawiszowych. Ta klasa ma być singletonem. Nie należy tworzyć nowej instancji, a dostęp do tej klasy należy uzyskiwać tylko z poziomu ShortcutRegistry.registry.
Motyw Zajęcia dotyczące motywu.
ThemeManager Klasa do przechowywania i aktualizowania motywu oraz komponentów interfejsu obszaru roboczego.
Toast Zajęcia, które umożliwiają wyświetlanie i zamykanie tymczasowych powiadomień.
Pudełko narzędzi Zajęcia dotyczące Toolbox. Tworzy DOM narzędzia.
ToolboxCategory Klasa dla kategorii w narzędziu.
ToolboxItem Klasa elementu w skrzynce narzędzi.
ToolboxSeparator Klasa separatora w sekcji narzędzi. To cienka linia, która pojawia się na pasku narzędzi. Z tym elementem nie można wchodzić w interakcję.
Kosz Klasa kosza na śmieci.
UnattachedFieldError Reprezentuje błąd, w którym pole próbuje uzyskać dostęp do bloku lub informacji o bloku, zanim zostanie ono faktycznie do niego dołączone.
VariableMap Klasa mapy zmiennej. Zawiera on strukturę danych słownika z kluczami w postaci typów zmiennych i listami zmiennych jako wartościami. Lista zmiennych jest typu wskazanego przez klucz.
VariableModel Klasa dla modelu zmiennego. Zawiera informacje o zmiennej, m.in. nazwę, identyfikator i typ.
VerticalFlyout Klasa dla wyskakującego okienka.
Workspace Zajęcia w obszarze roboczym. To struktura danych zawierająca bloki. Nie ma interfejsu użytkownika i można go tworzyć bez sterowania.
WorkspaceAudio Klasa do wczytywania, przechowywania i odtwarzania dźwięku w Workspace.
WorkspaceDragger Klasa dla elementu przeciągania obszaru roboczego. Przesuwa obszar roboczy, gdy jest przeciągany myszą lub palcem.
WorkspaceNavigationPolicy Zestaw reguł kontrolujących poruszanie się po obszarze roboczym za pomocą klawiatury.
WorkspaceSvg Zajęcia w obszarze roboczym. To obszar na ekranie z opcjonalnym koszem, suwakami, bańkami i przeciąganiem.
ZoomControls Klasa sterowania powiększeniem.

Abstrakcyjne zajęcia

Abstrakcyjna klasa Opis
Pole Klasa abstrakcyjna dla pola edytowalnego.
Menu Klasa dla wyskakującego okienka.

Wyliczenia

Wyliczenie Opis
ConnectionType Wyliczenie typów połączeń lub danych wejściowych.

Funkcje

Funkcja Opis
getFocusManager() Funkcja ułatwiająca wywołanie metody FocusManager.getFocusManager().
hasBubble(obj) Ochrona typu, która sprawdza, czy podany obiekt jest elementem IHasBubble.
hideChaff(opt_onlyClosePopups) Zamknij etykiety, menu kontekstowe, menu wyboru itp.
inject(container, opt_options) Wstrzyknij edytor Blockly do określonego elementu kontenera (zwykle elementu div).
isCopyable(obj)
isDeletable(obj) Zwraca, czy podany obiekt jest obiektem IDeletable.
isDraggable(obj) Zwraca informację, czy podany obiekt jest obiektem IDraggable.
isIcon(obj) Ochrona typu, która sprawdza, czy podany obiekt jest IIcon.
isPaster(obj)
isRenderedElement(obj)
isSelectable(obj) Sprawdza, czy podany obiekt jest obiektem ISelectable.
isSerializable(obj) Ochrona typu, która sprawdza, czy podany obiekt jest klasą ISerializable.
isVariableBackedParameterModel(param) Zwraca informację, czy podany obiekt jest uchwytem zmiennej.
setLocale(locale)

Ustawia język (np.zlokalizowane komunikaty, tekst blokujący itp.) na wybrany język.

Nie jest to przydatne ani konieczne podczas wczytywania z tagu skryptu, ponieważ wiadomości są automatycznie dołączane do obiektu Blockly.Msg. Udostępniamy je jednak zarówno w kontekście tagu skryptu, jak i bez niego, aby kompilator ts mógł prawidłowo tworzyć pliki definicji typów.

Interfejsy

Interfejs Opis
BlocklyOptions Opcje Blockly.
FieldCheckboxConfig Opcje konfiguracji pola wyboru.
FieldCheckboxFromJsonConfig fromJson – opcje konfiguracji pola checkbox.
FieldConfig dodatkowe opcje konfiguracji pola podstawowego.
FieldDropdownFromJsonConfig Konfiguracja fromJson dla pola menu.
FieldImageConfig Opcje konfiguracji pola obrazu.
FieldImageFromJsonConfig fromJson opcje konfiguracji pola obrazu.
FieldLabelConfig Opcje konfiguracji pola etykiety.
FieldLabelFromJsonConfig fromJson opcje konfiguracji pola label.
FieldNumberConfig Opcje konfiguracji pola liczbowego.
FieldNumberFromJsonConfig fromJson opcje konfiguracji pola liczbowego.
FieldTextInputFromJsonConfig fromJson – opcje konfiguracji pola tekstowego.
FieldVariableConfig Opcje konfiguracji pola zmiennej.
FieldVariableFromJsonConfig fromJson w przypadku opcji konfiguracji pola zmiennej.
IAutoHideable Interfejs komponentu, który może być automatycznie ukrywany.
IBoundedElement Interfejs elementu ograniczonego
IBubble Interfejs bąbelkowy
ICollapsibleToolboxItem Interfejs elementu w skrzynce narzędzi, który można zwinąć.
IComponent Interfejs komponentu workspace, który może być zarejestrowany w ComponentManager.
IConnectionChecker Klasa z logiką sprawdzania typu połączenia.
IConnectionPreviewer Wyświetla wizualne „podglądy” miejsca, w którym blok zostanie połączony, jeśli zostanie upuszczony.
IContextMenu
ICopyable
IDeletable Interfejs obiektu, który można usunąć.
IDeleteArea Interfejs komponentu, który może usuwać blok lub bańkę, które są przenoszone na niego.
IDraggable Reprezentuje obiekt, który można przeciągać.
IDragger
IDragStrategy
IDragTarget Interfejs komponentu z niestandardowym działaniem, gdy blok lub bańka są przeciągane lub przenoszone na inny element.
IFlyout Interfejs wyskakującego okienka.
IFlyoutInflater
IFocusableNode Reprezentuje wszystko, co może mieć fokus wejściowy.
IFocusableTree

Reprezentuje drzewo elementów, które można zaznaczyć, z własnym kontekstem aktywnego lub biernego zaznaczenia.

Pamiętaj, że zarządzanie narożnikiem jest obsługiwane przez FocusManager, a w implementacjach drzew można mieć w danym momencie maksymalnie 1 element IFocusableNode. Jeśli drzewo jest aktywne, to skupiony na nim węzeł jest uznawany za „aktywny” (jeśli skupiony jest na innym drzewie, to węzeł jest „bierny”).

Punkt skupienia jest wspólny dla co najmniej 1 drzewa, a każde drzewo może mieć dokładnie 1 aktywny lub pasywny węzeł (i w danym momencie na całej stronie może istnieć tylko 1 aktywny węzeł). Zamysłem pasywnego punktu skupienia jest dostarczenie użytkownikom kontekstu, w którym zostanie przywrócony punkt skupienia po powrocie do drzewa, które było wcześniej w centrum uwagi.

Jeśli potrzebujesz aktualnie skupionego węzła drzewa (biernego lub aktywnego), możesz użyć metody FocusableTreeTraverser.findFocusedNode.

Jeśli w przypadku tego drzewa trzeba pobrać określone węzły, użyj metody lookUpFocusableNode lub FocusableTreeTraverser.findFocusableNodeFor.

IHasBubble
IIcon
IKeyboardAccessible Interfejs obiektu, który obsługuje skróty klawiszowe.
ImageProperties Definicja czytelnej dla człowieka opcji menu z obrazem.
IMetricsManager Interfejs menedżera danych
IMovable Interfejs obiektu, który można przesuwać.
INavigationPolicy Zestaw reguł określających, jak ma działać nawigacja za pomocą klawiatury.
IPaster Obiekt, który może wkleić dane do Workspace.
IPositionable Interfejs komponentu umieszczonego u góry obszaru roboczego.
IRegistrable Interfejs komponentu Blockly, który można zarejestrować.
IRenderedElement
ISelectable

Interfejs obiektu, który można wybrać.

W ogóle implementacje powinny używać własnych implementacji funkcji onNodeFocus() i onNodeBlur(), aby wywołać setSelected() odpowiednio z parametrami this i null, aby zapewnić prawidłowe aktualizowanie wyborów i wywoływanie zdarzenia zmiany wyboru.

ISelectableToolboxItem Interfejs elementu w skrzynce narzędzi, który można wybrać.
ISerializable
IStyleable Interfejs obiektu, do którego można dodać styl.
IToolbox Interfejs skrzynki z narzędziami.
IToolboxItem Interfejs elementu w skrzynce z narzędziami.
IVariableBackedParameterModel Interfejs modelu parametrów, który zawiera model zmiennych.
IVariableMap

Mapy zmiennych to obiekty kontenera odpowiedzialne za przechowywanie zestawu zmiennych, do których odwołuje się obszar roboczy, oraz za zarządzanie nimi.

Każda z tych metod może definiować niezmienniki dotyczące tego, które nazwy i typy są prawidłowe, i wyrzucać wyjątki, jeśli nie są spełnione.

IVariableModel
IVariableState Reprezentuje stan danej zmiennej.
ToastOptions Opcje wyświetlania i konfiguracji powiadomienia typu toast.

Przestrzenie nazw

Przestrzeń nazw Opis
Blokowanie
blockAnimations
blockRendering
browserEvents
bąbelki
bumpObjects
Schowek
CollapsibleToolboxCategory
comments
często
ComponentManager
stałe
ContextMenu
ContextMenuItems
ContextMenuRegistry
Css
dialog
przeciąganie
Zdarzenia
Rozszerzenia
fieldRegistry
geras
ikony
ICopyable
wejścia
warstwy
libraryBlocks
MetricsManager
Nazwy
Opcje
Procedury
rejestr
RenderedConnection
renderManagement
serializacja
ShortcutItems
ShortcutRegistry
Motyw
ThemeManager
Motywy
thrasos
Toast Opcje określające, jak agresywnie toasty powinny być odczytywane przez czytniki ekranu. Wartości odpowiadają wartościom atrybutu aria-live.
ToolboxCategory
ToolboxSeparator
Etykieta narzędzia
Dotknij
uiPosition
utils
Zmienne
VariablesDynamic
WidgetDiv
Xml
zelos

Zmienne

Zmienna Opis
Blokady Mapowanie nazw typów bloków na obiekty prototypów bloków.
COLLAPSE_CHARS
COLLAPSED_FIELD_NAME
COLLAPSED_INPUT_NAME
config Obiekt zawierający wszystkie wartości w Blockly, które deweloperzy mogą zmieniać.
defineBlocksWithJsonArray Definiowanie bloków na podstawie tablicy definicji bloków JSON, które mogą zostać wygenerowane przez narzędzia dla programistów Blockly.
DELETE_VARIABLE_ID
DropDownDiv
getMainWorkspace Zwraca główny obszar roboczy. Zwraca ostatnio używany główny obszar roboczy (na podstawie aktywnego elementu). Staraj się nie używać tej funkcji, zwłaszcza jeśli na stronie jest wiele wystąpień Blockly.
getSelected Zwraca aktualnie wybrany obiekt, który można skopiować.
INPUT_VALUE
JavaScript
Msg słownik z przetłumaczonymi wiadomościami,
NEXT_STATEMENT
OPPOSITE_TYPE
OUTPUT_VALUE
PREVIOUS_STATEMENT
PROCEDURE_CATEGORY_NAME Ciąg znaków do użycia w atrybucie „custom” kategorii w pliku XML toolbox. Ten ciąg znaków wskazuje, że kategoria powinna być dynamicznie wypełniana za pomocą bloków procedur.
RENAME_VARIABLE_ID
setParentContainer Ustaw kontener nadrzędny. Jest to element kontenera, do którego WidgetDiv, dropDownDiv i Tooltip są renderowane po pierwszym wywołaniu funkcji Blockly.inject. Ta metoda jest wywoływana po pierwszym Blockly.inject.
svgResize Dostosuj rozmiar obrazu SVG, aby wypełniał cały kontener. Wywołuj tę funkcję, gdy widok faktycznie zmieni rozmiar (np. po zmianie rozmiaru okna lub orientacji urządzenia). Aby zmienić rozmiar obszaru roboczego po zmianie zawartości (np. dodaniu lub usunięciu bloku), użyj workspace.resizeContents. Zapisz wysokość/szerokość obrazu SVG.
TOOLBOX_AT_BOTTOM
TOOLBOX_AT_LEFT
TOOLBOX_AT_RIGHT
TOOLBOX_AT_TOP
VARIABLE_CATEGORY_NAME Ciąg znaków do użycia w atrybucie „custom” kategorii w pliku XML toolbox. Ten ciąg znaków wskazuje, że kategoria powinna być wypełniana dynamicznie za pomocą bloków zmiennych.
VARIABLE_DYNAMIC_CATEGORY_NAME Ciąg znaków do użycia w atrybucie „custom” kategorii w pliku XML toolbox. Ten ciąg znaków wskazuje, że kategoria powinna być wypełniana dynamicznie za pomocą bloków zmiennych.
WERSJA Wersja główna Blockly. Ta stała jest zastępowana przez skrypt kompilacji (npm run build) na wartość wersji w pliku package.json. Wykonuje to kompilator Closure w ramach zadania gulp buildCompressed. W przypadku kompilacji lokalnych możesz przekazać kompilatorowi parametr --define='Blockly.VERSION=X.Y.Z', aby zastąpić tę stałą.

Aliasy typu

Typ aliasu Opis
FieldCheckboxValidator Funkcja wywoływana w celu sprawdzenia zmian wartości pola przed ich ustawieniem.
FieldDropdownConfig Opcje konfiguracji pola menu.
FieldDropdownValidator Funkcja wywoływana w celu sprawdzenia zmian wartości pola przed ich ustawieniem.
FieldNumberValidator Funkcja wywoływana w celu sprawdzenia zmian wartości pola przed ich ustawieniem.
FieldTextInputConfig Opcje konfiguracji pola tekstowego.
FieldTextInputValidator Funkcja wywoływana w celu sprawdzenia zmian wartości pola przed ich ustawieniem.
FieldValidator Funkcja wywoływana w celu sprawdzenia zmian wartości pola przed ich ustawieniem.
FieldVariableValidator Funkcja wywoływana w celu sprawdzenia zmian wartości pola przed ich ustawieniem.
ICopyData
MenuGenerator Tablica opcji menu lub funkcja generująca tablicę opcji menu dla FieldDropdown lub jego potomków.
MenuGeneratorFunction Funkcja generująca tablicę opcji menu dla pola FieldDropdown lub jego potomków.
MenuOption Pojedyncza opcja w menu. Może to być litera ciągły separator dla elementu rozdzielacza menu lub tablica dla zwykłych elementów menu akcji. W tym drugim przypadku pierwszy element to wartość zrozumiała dla człowieka (tekst, obiekt ImageProperties lub element HTML), a drugi to wartość neutralna pod względem języka.
ReturnEphemeralFocus

Deklaracja typu zwracająca fokus do FocusManager po zakończeniu przemijającego procesu UI (np. dialogu).

Więcej informacji znajdziesz w FocusManager.takeEphemeralFocus.