changeStyleOnSelectionChange method

void changeStyleOnSelectionChange({
  1. TextMetadata? changedMetadata,
  2. required TextMetadataChange change,
  3. required TextDeltas modifiedDeltas,
  4. required TextSelection selection,
})
inherited

Implementation

void changeStyleOnSelectionChange({
  TextMetadata? changedMetadata,
  required TextMetadataChange change,
  required TextDeltas modifiedDeltas,
  required TextSelection selection,
}) {
  if (!selection.isValid) return;
  changedMetadata ??=
      deltas[text.indexOf(selection.textBefore(text).chars.last)].metadata ??
          metadata ??
          RichTextEditorController.defaultMetadata;

  _metadata = _metadata?.combineWhatChanged(
        change,
        changedMetadata,
      ) ??
      changedMetadata;

  metadataToggled = true;

  if (selection.isCollapsed) return notifyListeners();

  setDeltas(
    applyMetadataToTextInSelection(
      newMetadata: changedMetadata,
      change: change,
      deltas: modifiedDeltas,
      selection: selection,
    ),
  );
  notifyListeners();
}