createSyntheticMouseEvent function

SyntheticMouseEvent createSyntheticMouseEvent({
  1. SyntheticMouseEvent? baseEvent,
  2. bool? bubbles,
  3. bool? cancelable,
  4. Object? currentTarget,
  5. bool? defaultPrevented,
  6. void preventDefault()?,
  7. void stopPropagation()?,
  8. num? eventPhase,
  9. bool? isTrusted,
  10. Object? nativeEvent,
  11. Object? target,
  12. num? timeStamp,
  13. String? type,
  14. bool? altKey,
  15. num? button,
  16. num? buttons,
  17. num? clientX,
  18. num? clientY,
  19. bool? ctrlKey,
  20. Object? dataTransfer,
  21. bool? metaKey,
  22. num? pageX,
  23. num? pageY,
  24. Object? relatedTarget,
  25. num? screenX,
  26. num? screenY,
  27. bool? shiftKey,
})

Returns a newly constructed SyntheticMouseEvent instance.

In addition to creating empty instances (by invoking without any parameters) or completely custom instances by using the named parameters, this function will merge previously existing baseEvents with the named parameters provided. The named parameters takes precedence, and therefore can be used to override specific fields on the baseEvent.

Implementation

SyntheticMouseEvent createSyntheticMouseEvent({
  SyntheticMouseEvent? baseEvent,
  bool? bubbles,
  bool? cancelable,
  Object? currentTarget,
  bool? defaultPrevented,
  void Function()? preventDefault,
  void Function()? stopPropagation,
  num? eventPhase,
  bool? isTrusted,
  Object? nativeEvent,
  Object? target,
  num? timeStamp,
  String? type,
  bool? altKey,
  num? button,
  num? buttons,
  num? clientX,
  num? clientY,
  bool? ctrlKey,
  Object? dataTransfer,
  bool? metaKey,
  num? pageX,
  num? pageY,
  /*DOMEventTarget*/ Object? relatedTarget,
  num? screenX,
  num? screenY,
  bool? shiftKey,
}) {
  return jsifyAndAllowInterop({
    ..._wrapBaseEventPropertiesInMap(
      baseEvent: baseEvent,
      bubbles: bubbles,
      cancelable: cancelable,
      currentTarget: currentTarget,
      defaultPrevented: defaultPrevented,
      preventDefault: preventDefault,
      stopPropagation: stopPropagation,
      eventPhase: eventPhase,
      isTrusted: isTrusted,
      nativeEvent: nativeEvent,
      target: target,
      timeStamp: timeStamp,
      type: type,
    ),
    'altKey': altKey ?? baseEvent?.altKey ?? false,
    'button': button ?? baseEvent?.button,
    'buttons': buttons ?? baseEvent?.buttons,
    'clientX': clientX ?? baseEvent?.clientX,
    'clientY': clientY ?? baseEvent?.clientY,
    'ctrlKey': ctrlKey ?? baseEvent?.ctrlKey ?? false,
    'dataTransfer': dataTransfer ?? baseEvent?.dataTransfer,
    'metaKey': metaKey ?? baseEvent?.metaKey ?? false,
    'pageX': pageX ?? baseEvent?.pageX,
    'pageY': pageY ?? baseEvent?.pageY,
    'relatedTarget': relatedTarget ?? baseEvent?.relatedTarget,
    'screenX': screenX ?? baseEvent?.screenX,
    'screenY': screenY ?? baseEvent?.screenY,
    'shiftKey': shiftKey ?? baseEvent?.shiftKey ?? false,
  }) as SyntheticMouseEvent;
}