Workiva / react-dart

Dart Bindings for React JS
BSD 2-Clause "Simplified" License
412 stars 67 forks source link

CPLAT-11724 Add missing fields to some SyntheticEvent classes #304

Closed aaronlademann-wf closed 2 years ago

aaronlademann-wf commented 3 years ago

Our Dart SyntheticEvent classes / helper functions are out of date compared to their JS counterparts.

Updated Base Classes

According to the ReactJS SyntheticEvent specs, there were a couple of classes that should sub-class something other than SyntheticEvent:

  1. SyntheticKeyboardEvent should sub-class SyntheticUIEvent
  2. SyntheticMouseEvent should sub-class SyntheticUIEvent
  3. SyntheticTouchEvent should sub-class SyntheticUIEvent
  4. SyntheticFocusEvent should sub-class SyntheticUIEvent
  5. SyntheticPointerEvent should sub-class SyntheticMouseEvent
  6. SyntheticWheelEvent should sub-class SyntheticMouseEvent

New Fields / Methods

  1. SyntheticKeyboardEvent
    • code
    • which
    • getModifierState()
  2. SyntheticMouseEvent
    • movementX
    • movementY
    • getModifierState()
  3. SyntheticTouchEvent
    • getModifierState()
  4. SyntheticDataTransfer
    • items
aviary-wf commented 3 years ago

Security Insights

No security relevant content was detected by automated scans.

Action Items

semveraudit-wf commented 3 years ago

Public API Changes

Recommendation: :warning: Minor version bump

@@ line 720: package:react/src/react_client/event_helpers.dart @@
-  SyntheticWheelEvent createSyntheticWheelEvent({SyntheticWheelEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, num deltaX, num deltaMode, num deltaY, num deltaZ})
+  SyntheticWheelEvent createSyntheticWheelEvent({SyntheticWheelEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, num deltaX, num deltaMode, num deltaY, num deltaZ, num detail, dynamic view, bool Function(String) getModifierState})
// `detail` was added.
// Adding an optional parameter is a minor change.
@@ line 475: package:react/src/react_client/event_helpers.dart @@
-  SyntheticPointerEvent createSyntheticPointerEvent({SyntheticPointerEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, num pointerId, num width, num height, num pressure, num tangentialPressure, num tiltX, num tiltY, num twist, String pointerType, bool isPrimary})
+  SyntheticPointerEvent createSyntheticPointerEvent({SyntheticPointerEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, num pointerId, num width, num height, num pressure, num tangentialPressure, num tiltX, num tiltY, num twist, String pointerType, bool isPrimary, num detail, dynamic view, bool Function(String) getModifierState})
// `detail` was added.
// Adding an optional parameter is a minor change.
@@ line 328: package:react/src/react_client/event_helpers.dart @@
-  SyntheticFocusEvent createSyntheticFocusEvent({SyntheticFocusEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, dynamic relatedTarget})
+  SyntheticFocusEvent createSyntheticFocusEvent({SyntheticFocusEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, dynamic relatedTarget, num detail, dynamic view})
// `detail` was added.
// Adding an optional parameter is a minor change.
@@ line 534: package:react/src/react_client/event_helpers.dart @@
-  SyntheticTouchEvent createSyntheticTouchEvent({SyntheticTouchEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, bool altKey, dynamic changedTouches, bool ctrlKey, bool metaKey, bool shiftKey, dynamic targetTouches, dynamic touches})
+  SyntheticTouchEvent createSyntheticTouchEvent({SyntheticTouchEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, bool altKey, dynamic changedTouches, bool ctrlKey, bool metaKey, bool shiftKey, dynamic targetTouches, dynamic touches, num detail, dynamic view, bool Function(String) getModifierState})
// `detail` was added.
// Adding an optional parameter is a minor change.
@@ line 408: package:react/src/react_client/event_helpers.dart @@
-  SyntheticMouseEvent createSyntheticMouseEvent({SyntheticMouseEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, bool altKey, num button, num buttons, num clientX, num clientY, bool ctrlKey, dynamic dataTransfer, bool metaKey, num pageX, num pageY, dynamic relatedTarget, num screenX, num screenY, bool shiftKey})
+  SyntheticMouseEvent createSyntheticMouseEvent({SyntheticMouseEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, bool altKey, num button, num buttons, num clientX, num clientY, bool ctrlKey, dynamic dataTransfer, bool metaKey, num movementX, num movementY, num pageX, num pageY, dynamic relatedTarget, num screenX, num screenY, bool shiftKey, num detail, dynamic view, bool Function(String) getModifierState})
// `detail` was added.
// Adding an optional parameter is a minor change.
Click to see 8 more API Changes

--- ```diff @@ line 226: package:react/src/react_client/event_helpers.dart @@ - SyntheticKeyboardEvent createSyntheticKeyboardEvent({SyntheticKeyboardEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, bool altKey, String char, bool ctrlKey, String locale, num location, String key, bool metaKey, bool repeat, bool shiftKey, num keyCode, num charCode}) + SyntheticKeyboardEvent createSyntheticKeyboardEvent({SyntheticKeyboardEvent baseEvent, bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, void Function() preventDefault, void Function() stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, bool altKey, String char, bool ctrlKey, String locale, num location, String key, bool metaKey, bool repeat, bool shiftKey, num keyCode, num charCode, num detail, dynamic view, bool Function(String) getModifierState}) // `detail` was added. // Adding an optional parameter is a minor change. ``` ```diff @@ line 266: package:react/src/react_client/synthetic_event_wrappers.dart @@ class SyntheticFocusEvent extends SyntheticEvent + dynamic get view // Adding a field is a minor change. + num get detail // Adding a field is a minor change. ``` ```diff @@ line 10: package:react/src/react_client/synthetic_data_transfer.dart @@ class SyntheticDataTransfer - SyntheticDataTransfer SyntheticDataTransfer(String dropEffect, String effectAllowed, List files, List types) + SyntheticDataTransfer SyntheticDataTransfer(String dropEffect, String effectAllowed, List files, List types, {DataTransferItemList items}) // `items` was added. // Adding an optional parameter is a minor change. + DataTransferItemList get items // Adding a field is a minor change. ``` ```diff @@ line 175: package:react/src/react_client/synthetic_event_wrappers.dart @@ class SyntheticKeyboardEvent extends SyntheticEvent + String get code // Adding a field is a minor change. + num get which // Adding a field is a minor change. + num get detail // Adding a field is a minor change. + bool getModifierState(String key) // Adding a method is a minor change. + dynamic get view // Adding a field is a minor change. ``` ```diff @@ line 602: package:react/src/react_client/synthetic_event_wrappers.dart @@ class SyntheticWheelEvent extends SyntheticEvent + num get movementY // Adding a field is a minor change. + num get movementX // Adding a field is a minor change. + num get detail // Adding a field is a minor change. + num get clientY // Adding a field is a minor change. + num get buttons // Adding a field is a minor change. + bool get altKey // Adding a field is a minor change. + num get button // Adding a field is a minor change. + bool get metaKey // Adding a field is a minor change. + dynamic get view // Adding a field is a minor change. + dynamic get relatedTarget // Adding a field is a minor change. + bool get shiftKey // Adding a field is a minor change. + num get screenX // Adding a field is a minor change. + num get screenY // Adding a field is a minor change. + num get clientX // Adding a field is a minor change. + bool get ctrlKey // Adding a field is a minor change. + num get pageY // Adding a field is a minor change. + num get pageX // Adding a field is a minor change. + bool getModifierState(String key) // Adding a method is a minor change. ``` ```diff @@ line 470: package:react/src/react_client/synthetic_event_wrappers.dart @@ class SyntheticTouchEvent extends SyntheticEvent + num get detail // Adding a field is a minor change. + bool getModifierState(String key) // Adding a method is a minor change. + dynamic get view // Adding a field is a minor change. ``` ```diff @@ line 326: package:react/src/react_client/synthetic_event_wrappers.dart @@ class SyntheticMouseEvent extends SyntheticEvent + dynamic get view // Adding a field is a minor change. + num get movementY // Adding a field is a minor change. + num get movementX // Adding a field is a minor change. + num get detail // Adding a field is a minor change. + bool getModifierState(String key) // Adding a method is a minor change. ``` ```diff @@ line 403: package:react/src/react_client/synthetic_event_wrappers.dart @@ class SyntheticPointerEvent extends SyntheticEvent + dynamic get relatedTarget // Adding a field is a minor change. + num get movementY // Adding a field is a minor change. + num get movementX // Adding a field is a minor change. + bool get ctrlKey // Adding a field is a minor change. + dynamic get view // Adding a field is a minor change. + bool get shiftKey // Adding a field is a minor change. + bool get altKey // Adding a field is a minor change. + num get button // Adding a field is a minor change. + num get clientY // Adding a field is a minor change. + num get clientX // Adding a field is a minor change. + bool getModifierState(String key) // Adding a method is a minor change. + num get screenX // Adding a field is a minor change. + num get screenY // Adding a field is a minor change. + bool get metaKey // Adding a field is a minor change. + num get buttons // Adding a field is a minor change. + num get detail // Adding a field is a minor change. + num get pageY // Adding a field is a minor change. + num get pageX // Adding a field is a minor change. ``` ---

Showing results for 0946570bcc118886bc2c7db68c03bacdea0b53bc

Powered by semver-audit-service. Please report any problems by filing an issue. Reported by the dart semver audit client 2.2.0 Browse public API.

Last edited UTC Feb 09 at 21:14:38