blockly

pacchetto blockly

Corsi

Classe Descrizione
Blocca Classe per un blocco. In genere non viene chiamato direttamente, è preferibile workspace.newBlock().
BlockFlyoutInflater Classe responsabile della creazione di blocchi per i riquadri a comparsa.
BlockNavigationPolicy Insieme di regole che controllano la navigazione da tastiera da un blocco.
BlockSvg Classe per la rappresentazione SVG di un blocco. In genere non viene chiamato direttamente, è preferibile workspace.newBlock().
ButtonFlyoutInflater Classe responsabile della creazione dei pulsanti per i riquadri a comparsa.
CodeGenerator Classe per un generatore di codice che traduce i blocchi in un linguaggio.
CollapsibleToolboxCategory Classe per una categoria in una casella degli strumenti che può essere compressa.
ComponentManager Gestore di tutti gli elementi registrati nello spazio di lavoro.
Connessione Classe per una connessione tra blocchi.
ConnectionChecker Classe per la logica di controllo del tipo di connessione.
ConnectionDB Database delle connessioni. Le connessioni vengono memorizzate in base al componente verticale. In questo modo, le connessioni in un'area possono essere cercate rapidamente utilizzando una ricerca binaria.
ConnectionNavigationPolicy Insieme di regole che controllano la navigazione da tastiera da una connessione.
ContextMenuRegistry Classe per il registro delle voci del menu contestuale. Questo è inteso come singleton. Non devi creare una nuova istanza e devi accedere a questa classe solo da ContextMenuRegistry.registry.
DeleteArea Classe astratta per un componente che può eliminare un blocco o una bolla rilasciati sopra.
DragTarget Classe astratta per un componente con comportamento personalizzato quando un blocco o una bolla viene trascinato sopra o rilasciato sopra.
FieldCheckbox Classe per un campo della casella di controllo.
FieldDropdown Classe per un campo a discesa modificabile.
FieldImage Classe per un'immagine in un blocco.
FieldLabel Classe per un campo di testo non modificabile e non serializzabile.
FieldLabelSerializable Classe per un campo di testo serializzabile e non modificabile.
FieldNavigationPolicy Insieme di regole che controllano la navigazione da tastiera da un campo.
FieldNumber Classe per un campo numerico modificabile.
FieldTextInput Classe per un campo di testo modificabile.
FieldVariable Classe per il campo a discesa di una variabile.
FlyoutButton Classe per un pulsante o un'etichetta nel riquadro a comparsa.
FlyoutButtonNavigationPolicy Insieme di regole che controllano la navigazione da tastiera da un pulsante del menu a comparsa.
FlyoutItem Rappresentazione di un elemento visualizzato in un riquadro a comparsa.
FlyoutMetricsManager Calcola le metriche per lo spazio di lavoro di un riquadro a comparsa. Le metriche vengono utilizzate principalmente per dimensionare le barre di scorrimento del riquadro visualizzato.
FlyoutNavigationPolicy Norme di navigazione generiche che consentono di spostarsi tra gli elementi nel riquadro a comparsa.
FlyoutNavigator
FlyoutSeparator Rappresentazione di uno spazio tra gli elementi in un riquadro in evidenza.
FlyoutSeparatorNavigationPolicy Set di regole che controllano la navigazione da tastiera da un separatore del menu a comparsa. Si tratta di un segnaposto no-op, poiché non è possibile navigare nei separatori del riquadro a comparsa.
FocusableTreeTraverser Un'utilità helper per le implementazioni di IFocusableTree per facilitare gli attraversamenti comuni dell'albero.
FocusManager

Un singleton per pagina che gestisce lo stato attivo di Blockly in uno o più IFocusableTree e sincronizza questo stato attivo in modo bidirezionale con il DOM.

I chiamanti che vogliono modificare esplicitamente lo stato attivo dell'input per selezionare i componenti Blockly sulla pagina devono utilizzare le funzioni di stato attivo in questo gestore.

Il gestore è responsabile della gestione degli eventi di messa a fuoco del DOM (che possono verificarsi quando gli utenti fanno clic sugli elementi della pagina) e di garantire che i nodi IFocusableNode corrispondenti siano chiaramente contrassegnati come attivi/passivi nello stesso modo in cui ciò verrebbe rappresentato con le chiamate a focusNode().

Gesto Classe per un gesto.
Griglia Classe per la griglia di un workspace.
HorizontalFlyout Classe per un menu a comparsa.
Ingresso Classe per un input con campi facoltativi.
InsertionMarkerPreviewer
KeyboardNavigationController KeyboardNavigationController gestisce il comportamento di navigazione da tastiera a livello di Blockly, ad esempio l'attivazione/disattivazione della visualizzazione completa del cursore.
LabelFlyoutInflater Classe responsabile della creazione delle etichette per i riquadri a comparsa.
LineCursor Classe per un cursore a forma di linea.
Indicatore Classe per un indicatore. Viene utilizzato nella navigazione da tastiera per salvare una posizione nell'AST di Blockly.
MarkerManager Classe per gestire i più marcatori e il cursore in uno spazio di lavoro.
Menu Una classe di menu di base.
MenuItem Classe che rappresenta un elemento di un menu.
MetricsManager Il gestore di tutti i calcoli delle metriche dello spazio di lavoro.
Nomi Classe per un database di nomi di entità (variabili, procedure e così via).
Navigator Classe responsabile della determinazione della posizione in cui deve spostarsi lo stato attivo in risposta ai comandi di navigazione da tastiera.
Opzioni Analizza le opzioni specificate dall'utente, utilizzando valori predefiniti ragionevoli laddove il comportamento non è specificato.
RenderedConnection Classe per una connessione tra blocchi che può essere visualizzata sullo schermo.
Barra di scorrimento Classe per una barra di scorrimento SVG pura. Questa tecnica offre una barra di scorrimento che funziona sicuramente, ma potrebbe non avere l'aspetto o il comportamento delle barre di scorrimento del sistema.
ScrollbarPair Classe per una coppia di barre di scorrimento. Orizzontale e verticale.
SeparatorFlyoutInflater Classe responsabile della creazione dei separatori per i riquadri a comparsa.
ShortcutRegistry Classe per il registro delle scorciatoie da tastiera. Questo è inteso come singleton. Non devi creare una nuova istanza e devi accedere a questa classe solo da ShortcutRegistry.registry.
Tema Classe per un tema.
ThemeManager Classe per archiviare e aggiornare i componenti del tema e dell'interfaccia utente di uno spazio di lavoro.
Toast Classe che consente di mostrare e chiudere le notifiche temporanee.
Toolbox Classe per una cassetta degli attrezzi. Crea il DOM della barra degli strumenti.
ToolboxCategory Classe per una categoria in una casella degli strumenti.
ToolboxItem Classe per un elemento nella casella degli strumenti.
ToolboxSeparator Classe per un separatore della barra degli strumenti. Si tratta della sottile linea visiva che appare nella barra degli strumenti. Questo elemento non è interattivo.
Trashcan Classe per un cestino.
UnattachedFieldError Rappresenta un errore in cui il campo tenta di accedere al proprio blocco o alle informazioni relative al blocco prima che sia stato effettivamente collegato al blocco.
VariableMap Classe per una mappa variabile. Contiene una struttura di dati di tipo dizionario con i tipi di variabili come chiavi e gli elenchi di variabili come valori. L'elenco delle variabili è il tipo indicato dalla chiave.
VariableModel Classe per un modello di variabile. Contiene informazioni sulla variabile, tra cui nome, ID e tipo.
VerticalFlyout Classe per un menu a comparsa.
Workspace Corso per uno spazio di lavoro. Si tratta di una struttura di dati che contiene blocchi. Non esiste una UI e può essere creato senza interfaccia grafica.
WorkspaceAudio Classe per caricare, archiviare e riprodurre l'audio per uno spazio di lavoro.
WorkspaceDragger Classe per un trascinatore dello spazio di lavoro. Sposta lo spazio di lavoro quando viene trascinato con il mouse o il tocco.
WorkspaceNavigationPolicy Insieme di regole che controllano la navigazione da tastiera da un workspace.
WorkspaceSvg Corso per uno spazio di lavoro. Questa è un'area sullo schermo con cestino, barre di scorrimento, bolle e trascinamento facoltativi.
ZoomControls Classe per i controlli dello zoom.

Classi astratte

Classe astratta Descrizione
Campo Classe astratta per un campo modificabile.
Flyout Classe per un menu a comparsa.

Enumerazioni

Enumerazione Descrizione
ConnectionType Enumerazione per il tipo di connessione o input.

Funzioni

Funzione Descrizione
getFocusManager() Funzione di praticità per FocusManager.getFocusManager.
hasBubble(obj) Type guard che controlla se l'oggetto specificato è un IHasBubble.
hideChaff(opt_onlyClosePopups) Chiudere descrizioni comando, menu contestuali, selezioni dei menu a discesa e così via.
inject(container, opt_options) Inserisci un editor Blockly nell'elemento container specificato (di solito un div).
isCopyable(obj)
isDeletable(obj) Restituisce un valore che indica se l'oggetto specificato è un IDeletable.
isDraggable(obj) Restituisce un valore che indica se l'oggetto specificato è IDraggable o meno.
isIcon(obj) Controllo del tipo che verifica se l'oggetto specificato è un'interfaccia IIcon.
isPaster(obj)
isRenderedElement(obj)
isSelectable(obj) Verifica se l'oggetto specificato è un ISelectable.
isSerializable(obj) Controllo del tipo che verifica se l'oggetto specificato è un ISerializable.
isVariableBackedParameterModel(param) Restituisce un valore che indica se l'oggetto specificato è un segnaposto di variabili.
navigateBlock(current, delta) Restituisce l'elemento successivo navigabile rispetto all'elemento secondario del blocco fornito.
navigateStacks(current, delta) Restituisce lo stack successivo/precedente rispetto allo stack dell'elemento specificato.
setLocale(locale)

Imposta le impostazioni internazionali (ovvero i messaggi/il testo del blocco localizzati e così via) sulle impostazioni internazionali specificate.

Questo non è utile/necessario durante il caricamento da un tag script, perché i messaggi vengono inseriti automaticamente nell'oggetto Blockly.Msg. Tuttavia, lo forniamo sia nel contesto dei tag script che in quello dei tag non script, in modo che tscompiler possa creare correttamente i nostri file di definizione dei tipi.

Interfacce

Interfaccia Descrizione
BlocklyOptions Opzioni di Blockly.
FieldCheckboxConfig Opzioni di configurazione per il campo della casella di controllo.
FieldCheckboxFromJsonConfig Opzioni di configurazione fromJson per il campo della casella di controllo.
FieldConfig Opzioni di configurazione aggiuntive per il campo base.
FieldDropdownFromJsonConfig Configurazione fromJson per il campo a discesa.
FieldImageConfig Opzioni di configurazione per il campo immagine.
FieldImageFromJsonConfig Opzioni di configurazione fromJson per il campo immagine.
FieldLabelConfig Opzioni di configurazione per il campo dell'etichetta.
FieldLabelFromJsonConfig Opzioni di configurazione fromJson per il campo dell'etichetta.
FieldNumberConfig Opzioni di configurazione per il campo numerico.
FieldNumberFromJsonConfig Opzioni di configurazione fromJson per il campo numerico.
FieldTextInputFromJsonConfig Opzioni di configurazione fromJson per il campo di input di testo.
FieldVariableConfig Opzioni di configurazione per il campo variabile.
FieldVariableFromJsonConfig Opzioni di configurazione fromJson per il campo variabile.
IAutoHideable Interfaccia per un componente che può essere nascosto automaticamente.
IBoundedElement Un'interfaccia di elementi delimitati.
IBubble Un'interfaccia a bolle.
ICollapsibleToolboxItem Interfaccia per un elemento della cassetta degli attrezzi che può essere compresso.
IComponent L'interfaccia di un componente dello spazio di lavoro che può essere registrato con ComponentManager.
IConnectionChecker Classe per la logica di controllo del tipo di connessione.
IConnectionPreviewer Mostra "anteprime" visive del punto in cui un blocco verrà collegato se viene rilasciato.
IContextMenu
ICopyable
IDeletable L'interfaccia per un oggetto che può essere eliminato.
IDeleteArea Interfaccia per un componente che può eliminare un blocco o una bolla trascinati sopra.
IDraggable Rappresenta un oggetto che può essere trascinato.
IDragger
IDragStrategy
IDragTarget Interfaccia per un componente con comportamento personalizzato quando un blocco o una bolla viene trascinato sopra o rilasciato sopra.
IFlyout Interfaccia per un riquadro a comparsa.
IFlyoutInflater
IFocusableNode Rappresenta qualsiasi elemento che può avere lo stato attivo.
IFocusableTree

Rappresenta una struttura ad albero di elementi attivabili con il proprio contesto di attivazione/disattivazione.

Tieni presente che lo stato attivo viene gestito da FocusManager e le implementazioni dell'albero possono avere al massimo un IFocusableNode attivo alla volta. Se l'albero stesso è selezionato, il nodo selezionato dell'albero viene considerato "attivo" ("passivo" se è selezionato un altro albero).

Il focus è condiviso tra uno o più alberi, dove ogni albero può avere esattamente un nodo attivo o passivo (e può esistere un solo nodo attivo nell'intera pagina in un determinato momento). L'idea del focus passivo è fornire agli utenti il contesto in cui verrà ripristinato il focus quando tornano a un albero su cui si sono concentrati in precedenza.

Tieni presente che, se è necessario il nodo attivo o passivo attualmente selezionato dell'albero, è possibile utilizzare FocusableTreeTraverser.findFocusedNode.

Tieni presente che, se è necessario recuperare nodi specifici per questo albero, utilizza lookUpFocusableNode o FocusableTreeTraverser.findFocusableNodeFor.

IHasBubble
IIcon
IKeyboardAccessible Un'interfaccia per un oggetto che gestisce le scorciatoie da tastiera.
ImageProperties Definizione di un'opzione del menu a discesa delle immagini leggibile.
IMetricsManager Interfaccia per un gestore delle metriche.
IMovable L'interfaccia di un oggetto che può essere spostato.
INavigationPolicy Un insieme di regole che specificano dove deve proseguire la navigazione da tastiera.
IPaster Un oggetto in cui è possibile incollare i dati in un workspace.
IPositionable Interfaccia di un componente posizionato sopra lo spazio di lavoro.
IRegistrable L'interfaccia di un componente Blockly che può essere registrato.
IRenderedElement
ISelectable

L'interfaccia di un oggetto selezionabile.

In genere, le implementazioni devono utilizzare le proprie implementazioni di onNodeFocus() e onNodeBlur() per chiamare setSelected() con se stesse e null, rispettivamente, al fine di garantire che le selezioni vengano aggiornate correttamente e che venga attivato l'evento di modifica della selezione.

ISelectableToolboxItem Interfaccia per un elemento della casella degli strumenti che può essere selezionato.
ISerializable
IStyleable Interfaccia per un oggetto a cui può essere aggiunto uno stile.
IToolbox Interfaccia per una cassetta degli attrezzi.
IToolboxItem Interfaccia di un elemento nella cassetta degli attrezzi.
IVariableBackedParameterModel Interfaccia per un modello di parametri che contiene un modello di variabili.
IVariableMap

Le mappe delle variabili sono oggetti contenitore responsabili dell'archiviazione e della gestione dell'insieme di variabili a cui viene fatto riferimento in uno spazio di lavoro.

Uno qualsiasi di questi metodi può definire invarianti su quali nomi e tipi sono legali e generare un errore se non vengono soddisfatti.

IVariableModel
IVariableState Rappresenta lo stato di una determinata variabile.
ToastOptions Opzioni di visualizzazione/configurazione per una notifica popup.

Spazi dei nomi

Spazio dei nomi Descrizione
Blocca
blockAnimations
blockRendering
browserEvents
bolle
bumpObjects
appunti
CollapsibleToolboxCategory
commenti
comune
ComponentManager
costanti
ContextMenu
ContextMenuItems
ContextMenuRegistry
Css
dialog
trascinamento
Eventi
Estensioni
fieldRegistry
geras
icone
ICopyable
input
livelli
libraryBlocks
MetricsManager
Nomi
Opzioni
Procedure
registry
RenderedConnection
renderManagement
serializzazione
ShortcutItems
ShortcutRegistry
Tema
ThemeManager
Temi
thrasos
Toast Opzioni per la velocità di lettura dei toast da parte degli screen reader. I valori corrispondono a quelli di aria-live.
ToolboxCategory
ToolboxSeparator
Descrizione comando
Tocco
uiPosition
utils
Variabili
VariablesDynamic
WidgetDiv
Xml
zelos

Variabili

Variabile Descrizione
Blocchi Una mappatura dei nomi dei tipi di blocco agli oggetti prototipo di blocco.
COLLAPSE_CHARS
COLLAPSED_FIELD_NAME
COLLAPSED_INPUT_NAME
config Oggetto contenente tutti i valori di Blockly che prevediamo che gli sviluppatori possano modificare.
defineBlocksWithJsonArray Definisci i blocchi da un array di definizioni di blocchi JSON, come potrebbero essere generati dagli strumenti per sviluppatori Blockly.
DELETE_VARIABLE_ID
DropDownDiv
getMainWorkspace Restituisce lo spazio di lavoro principale. Restituisce l'ultima area di lavoro principale utilizzata (in base allo stato attivo). Cerca di non utilizzare questa funzione, soprattutto se in una pagina sono presenti più istanze di Blockly.
getSelected Restituisce l'oggetto copiabile attualmente selezionato.
INPUT_VALUE
JavaScript
keyboardNavigationController Istanza singleton del controller di navigazione da tastiera.
Msg Un dizionario di messaggi localizzati.
NEXT_STATEMENT
OPPOSITE_TYPE
OUTPUT_VALUE
PREVIOUS_STATEMENT
PROCEDURE_CATEGORY_NAME Stringa da utilizzare nell'attributo "custom" di una categoria in XML della casella degli strumenti. Questa stringa indica che la categoria deve essere compilata dinamicamente con i blocchi di procedura.
RENAME_VARIABLE_ID
setParentContainer Imposta il contenitore principale. Questo è l'elemento contenitore in cui vengono visualizzati WidgetDiv, dropDownDiv e Tooltip la prima volta che viene chiamato Blockly.inject. Questo metodo è un'operazione NOP se chiamato dopo il primo Blockly.inject.
svgResize Ridimensiona l'immagine SVG in modo che riempia completamente il contenitore. Chiama questo metodo quando le dimensioni della visualizzazione cambiano effettivamente (ad es. in caso di ridimensionamento della finestra o modifica dell'orientamento del dispositivo). Consulta workspace.resizeContents per ridimensionare lo spazio di lavoro quando i contenuti cambiano (ad esempio quando viene aggiunto o rimosso un blocco). Registra l'altezza/larghezza dell'immagine SVG.
TOOLBOX_AT_BOTTOM
TOOLBOX_AT_LEFT
TOOLBOX_AT_RIGHT
TOOLBOX_AT_TOP
VARIABLE_CATEGORY_NAME Stringa da utilizzare nell'attributo "custom" di una categoria in XML della casella degli strumenti. Questa stringa indica che la categoria deve essere compilata dinamicamente con blocchi di variabili.
VARIABLE_DYNAMIC_CATEGORY_NAME Stringa da utilizzare nell'attributo "custom" di una categoria in XML della casella degli strumenti. Questa stringa indica che la categoria deve essere compilata dinamicamente con blocchi di variabili.
VERSIONE Versione principale di Blockly. Questa costante viene sostituita dallo script di build (npm run build) con il valore della versione in package.json. Questa operazione viene eseguita da Closure Compiler nell'attività gulp buildCompressed. Per le build locali, puoi passare --define='Blockly.VERSION=X.Y.Z' al compilatore per eseguire l'override di questa costante.

Alias del tipo

Alias del tipo Descrizione
FieldCheckboxValidator Una funzione chiamata per convalidare le modifiche al valore del campo prima che vengano impostate.
FieldDropdownConfig Opzioni di configurazione per il campo a discesa.
FieldDropdownValidator Una funzione chiamata per convalidare le modifiche al valore del campo prima che vengano impostate.
FieldNumberValidator Una funzione chiamata per convalidare le modifiche al valore del campo prima che vengano impostate.
FieldTextInputConfig Opzioni di configurazione per il campo di immissione del testo.
FieldTextInputValidator Una funzione chiamata per convalidare le modifiche al valore del campo prima che vengano impostate.
FieldValidator Una funzione chiamata per convalidare le modifiche al valore del campo prima che vengano impostate.
FieldVariableValidator Una funzione chiamata per convalidare le modifiche al valore del campo prima che vengano impostate.
ICopyData
MenuGenerator Un array di opzioni di menu o una funzione che genera un array di opzioni di menu per FieldDropdown o i relativi discendenti.
MenuGeneratorFunction Una funzione che genera un array di opzioni di menu per FieldDropdown o i relativi discendenti.
MenuOption Una singola opzione nel menu a discesa. Può essere la stringa letterale separator per un elemento separatore del menu o un array per i normali elementi del menu delle azioni. Nel secondo caso, il primo elemento è il valore leggibile (testo, oggetto ImageProperties o elemento HTML), mentre il secondo è il valore indipendente dalla lingua.
ReturnEphemeralFocus

Dichiarazione del tipo per restituire lo stato attivo a FocusManager al termine di un flusso UI effimero (ad esempio una finestra di dialogo).

Per maggiori dettagli, vedi FocusManager.takeEphemeralFocus.