mirror of
https://github.com/google/blockly.git
synced 2026-01-08 17:40:09 +01:00
feat: add firing of procedure events. (#6604)
* feat: add empty implementations of events * chore: register all events * chore: change assertions to shallow match properties * feat: add firing events from the observable procedure map * fix: make event not fired assertions actually fail * chore: fixup typos in tests * feat: add firing procedure model events * feat: add firing parameter create and parameter delete events * chore: reorganize event tests into suites * feat: add firing parameter rename events * chore: format * chore: use tripple equals
This commit is contained in:
25
core/interfaces/i_observable.ts
Normal file
25
core/interfaces/i_observable.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2022 Google LLC
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* An object that fires events optionally.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export interface IObservable {
|
||||
startPublishing(): void;
|
||||
stopPublishing(): void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Type guard for checking if an object fulfills IObservable.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export function isObservable(obj: any): obj is IObservable {
|
||||
return obj.startPublishing !== undefined && obj.stopPublishing !== undefined;
|
||||
}
|
||||
@@ -4,11 +4,7 @@
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* The interface for the data model of a procedure parameter.
|
||||
*
|
||||
* @namespace Blockly.IParameterModel
|
||||
*/
|
||||
import {IProcedureModel} from './i_procedure_model';
|
||||
|
||||
|
||||
/**
|
||||
@@ -42,4 +38,7 @@ export interface IParameterModel {
|
||||
* over time.
|
||||
*/
|
||||
getId(): string;
|
||||
|
||||
/** Sets the procedure model this parameter is associated with. */
|
||||
setProcedureModel(model: IProcedureModel): this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user