taggableUsersTapHandler method

void taggableUsersTapHandler(
  1. String prefix,
  2. T taggable
)

Inserts a taggable into the text field.

The taggable is inserted at the current cursor position.

Implementation

void taggableUsersTapHandler(String prefix, T taggable) {
  final tagName = toFrontendConverter(taggable);
  _tagsToTaggables[prefix + tagName] = (prefix, taggable);

  final int end = selection.baseOffset;
  final int start = end - _tagPrompt.length;
  final tagReplacement =
      '$tagStartMarker${_tagPrompt.prefix}$tagName$tagEndMarker ';

  value = TextEditingValue(
    text: text.replaceRange(start, end, tagReplacement),
    selection: TextSelection.collapsed(offset: start + tagReplacement.length),
  );

  _tagPrompt = TagPrompt();
}