sendEvent<T> method

void sendEvent<T>(
  1. T data
)

Send event data to all listeners of data type T. Listeners are created using MomentumController.listen. This should be used for notifying the widgets to show dialogs/snackbars/toast/alerts/etc.

Implementation

void sendEvent<T>(T data) {
  _eventHandlers.removeWhere(
    (x) => x.streamController.isClosed || !x.state.mounted,
  );
  // ignore: prefer_iterable_wheretype
  var targetHandlers = _eventHandlers.where((x) => x is MomentumEvent<T>);
  for (var event in targetHandlers) {
    (event as MomentumEvent<T?>).trigger(data);
  }
}