Spazio dei nomi degli eventi
Corsi
Classe | Descrizione |
---|---|
BlockBase | Classe astratta per qualsiasi evento relativo ai blocchi. |
BlockChange | Invia una notifica agli ascoltatori quando un elemento di un blocco è stato modificato (ad es. valori dei campi, commenti e così via). |
BlockCreate | Invia una notifica agli ascoltatori quando viene creato un blocco (o una serie di blocchi collegati). |
BlockDelete | Invia una notifica agli ascoltatori quando viene eliminato un blocco (o una serie di blocchi collegati). |
BlockDrag | Invia una notifica agli ascoltatori quando un blocco viene trascinato/rilasciato manualmente. |
BlockFieldIntermediateChange | Invia una notifica agli ascoltatori quando il valore del campo di un blocco è cambiato, ma la modifica non è ancora completata e dovrebbe essere seguita da un evento di modifica del blocco. |
BlockMove | Invia una notifica agli ascoltatori quando un blocco viene spostato. ad esempio da una connessione all'altra o da una posizione all'altra nello spazio di lavoro. |
BubbleOpen | Classe per un evento di apertura della bolla. |
Fai clic su | Invia una notifica agli ascoltatori che indica che è stato fatto clic su un elemento di Blockly. |
CommentBase | Classe astratta per un evento di commento. |
CommentChange | Avvisa gli ascoltatori che i contenuti di un commento dello spazio di lavoro sono stati modificati. |
CommentCollapse | |
CommentCreate | Avvisa gli ascoltatori che è stato creato un commento dello spazio di lavoro. |
CommentDelete | Avvisa gli ascoltatori che un commento dello spazio di lavoro è stato eliminato. |
CommentDrag | Invia una notifica agli ascoltatori quando un commento viene trascinato/rilasciato manualmente. |
CommentMove | Invia una notifica agli ascoltatori che un commento dell'area di lavoro è stato spostato. |
CommentResize | Invia una notifica agli ascoltatori che informa che le dimensioni di un commento dello spazio di lavoro sono state modificate. |
FinishedLoading | Invia una notifica agli ascoltatori al termine della deserializzazione dello spazio di lavoro da JSON/XML. |
Selezionata | Classe per un evento selezionato. Comunica agli ascoltatori che è stato selezionato un nuovo elemento. |
ThemeChange | Avvisa gli ascoltatori che il tema dello spazio di lavoro è cambiato. |
ToolboxItemSelect | Avvisa gli ascoltatori che è stato selezionato un elemento della cassetta degli attrezzi. |
TrashcanOpen | Invia una notifica agli ascoltatori quando il cestino si apre o si chiude. |
UiBase | Classe di base per un evento UI. Gli eventi UI sono eventi che non devono essere inviati tramite rete per consentire la modifica da più utenti (ad es. scorrimento dell'area di lavoro, zoom, apertura delle categorie della cassetta degli attrezzi). Gli eventi della UI non possono essere annullati o ripetuti. |
VarBase | Classe astratta per un evento variabile. |
VarCreate | Avvisa gli ascoltatori che è stato creato un modello di variabili. |
VarDelete | Avvisa gli ascoltatori che un modello di variabili è stato eliminato. |
VarRename | Avvisa gli ascoltatori che il nome di un modello di variabile è stato modificato. |
VarTypeChange | Avvisa gli ascoltatori che il tipo di una variabile è cambiato. |
ViewportChange | Avvisa gli ascoltatori che la posizione o la scala della superficie di lavoro è cambiata. Non invia una notifica quando lo spazio di lavoro stesso viene ridimensionato. |
Classi astratte
Classe astratta | Descrizione |
---|---|
Abstract | Classe astratta per un evento. |
Enumerazioni
Enumerazione | Descrizione |
---|---|
BubbleType | |
ClickTarget |
Funzioni
Funzione | Descrizione |
---|---|
clearPendingUndo() | Modifica gli eventi di annullamento in attesa in modo che, quando vengono attivati, non vengano inseriti nella serie di annullamenti. Chiamato da Workspace.clearUndo. |
disable() | Interrompi l'invio di eventi. Ogni chiamata a questa funzione DEVE chiamare anche enable. |
disableOrphans(event) | Imposta se un blocco è disattivato a seconda che sia collegato correttamente. Utilizzalo nelle applicazioni in cui tutti i blocchi devono essere collegati a un blocco superiore. |
enable() | Inizia a inviare gli eventi. A meno che gli eventi non siano già stati disattivati quando è stata effettuata la chiamata di disattivazione corrispondente. |
filter(queue) | Filtra gli eventi in coda unendo i duplicati, rimuovendo gli eventi null e registrando di nuovo gli eventi BlockChange. Cronologia di questa funzione: Questa funzione è stata originariamente aggiunta nel commit cf257ea5 con l'intenzione di ridurre drasticamente il numero totale di eventi inviati. Inizialmente riguardava solo gli eventi BlockMove, ma nel tempo ne sono stati aggiunti altri. È stato aggiunto del codice per riordinare gli eventi BlockChange aggiunti nel commit 5578458, per motivi incerti, ma molto probabilmente nell'ambito di un tentativo solo parzialmente riuscito di risolvere i problemi di ordinamento degli eventi durante le mutazioni dei blocchi. Probabilmente questo codice avrebbe dovuto essere aggiunto all'inizio della funzione, prima dell'unione e della rimozione di valori null, ma è stato aggiunto in fondo per motivi ormai dimenticati. Consulta queste indagini sui bug per una discussione più completa del problema di fondo e di alcuni degli errori che si sono verificati a causa di questa correzione incompleta/errata: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 In seguito, nella PR 1205 l'implementazione originale O(n^2) è stata sostituita da un'implementazione in tempo lineare, anche se in seguito sono state apportate ulteriori correzioni. Ad agosto 2024 sono state apportate una serie di semplificazioni significative: In precedenza questa funzione veniva chiamata da Workspace.prototype.undo, ma la mutazione degli eventi da parte di questa funzione era la causa del problema 7026 (tieni presente che gli eventi si combinano in modo diverso in ordine inverso rispetto all'ordine diretto). La soluzione scelta inizialmente per questo problema è stata l'aggiunta (nella PR 7069) di codice a fireNow per filtrare in post-elaborazione .undoStack_ e .redoStack_ di qualsiasi spazio di lavoro che era stato appena coinvolto nell'invio di eventi. Sembra che questo abbia risolto il problema, ma ha aggiunto una complessità aggiuntiva considerevole e ha reso difficile comprendere il modo in cui gli eventi vengono elaborati per annullare/ripetere, pertanto sia la chiamata da annullare sia il codice di post-elaborazione sono stati rimossi e forward=true è stato impostato come valore predefinito, mentre la chiamata alla funzione con forward=false è stata ritirata. Allo stesso tempo, il codice con bug per riordinare gli eventi BlockChange è stato sostituito da una versione meno buggata della stessa funzionalità in una nuova funzione, enqueueEvent, chiamata da fireInternal, garantendo così che gli eventi siano nell'ordine corretto al momento dell'attivazione del filtro. Inoltre, il codice di unione degli eventi è stato modificato in modo da unire solo gli eventi immediatamente adiacenti. Ciò ha semplificato l'implementazione garantendo al contempo che l'unione degli eventi non possa causare il loro riordinamento. |
fire(event) | Inserisci in coda un evento da inviare ai listener di modifiche. Note: - Gli eventi vengono inseriti in coda fino a un timeout, in genere al termine del rendering o alla fine della microattività corrente, se non in esecuzione in un browser. - Gli eventi in coda sono soggetti a modifiche distruttive perché vengono combinati con gli eventi in coda successivi, ma solo fino al momento in cui vengono attivati. - Gli eventi vengono inviati tramite il metodo fireChangeListener nello spazio di lavoro interessato. |
fromJson(json, workspace) | Decodifica il JSON in un evento. |
get(eventType) | Recupera la classe per un tipo di evento specifico dal registry. |
getGroup() | Gruppo attuale. |
getRecordUndo() | Restituisce se gli eventi verranno aggiunti o meno alla serie di annullamenti. |
isEnabled() | Restituisce se è possibile attivare o meno gli eventi. |
setGroup(state) | Avvia o interrompi un gruppo. |
setRecordUndo(newValue) | Imposta se gli eventi devono essere aggiunti alla serie di annullamenti. |
Interfacce
Variabili
Variabile | Descrizione |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | Elenco di eventi che causano il ritorno degli oggetti nella parte visibile dello spazio di lavoro. Da non confondere con il bumping, in modo che le connessioni disconnesse non appaiano connesse. |
MODIFICA | |
Fai clic | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
CREA | |
ELIMINA | |
FINISHED_LOADING | |
MOVE | |
SELEZIONATI | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
Interfaccia utente | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
Alias di tipo
Alias tipo | Descrizione |
---|---|
BumpEvent | Tipo di eventi che causano il ritorno degli oggetti nella parte visibile dello spazio di lavoro. Da non confondere con il bumping, in modo che le connessioni disconnesse non appaiano connesse. |