handleTextChange method

dynamic handleTextChange(
  1. String event,
  2. RegionPosition region,
  3. bool hasRegion
)

Implementation

handleTextChange(String event, RegionPosition region, bool hasRegion) {
  if (!mounted) return;
  updateLineCount(event, region);

  late String text;

  switch (region) {
    case RegionPosition.before:
      text = '$event\n${inController.text}\n${afterController.text}';
      break;
    case RegionPosition.inner:
      if (hasRegion) {
        text = '${beforeController.text}\n$event\n${afterController.text}';
      } else {
        text = event;
      }
      widget.editableRegion.sink.add(event);
      break;
    case RegionPosition.after:
      text = '${beforeController.text}\n${inController.text}\n$event';
      break;
  }

  widget.onTextChange.sink.add(text);
}