|
|
|
@ -57,20 +57,28 @@ class PangeaRichTextState extends State<PangeaRichText> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void _setTextSpan(String newTextSpan) {
|
|
|
|
void _setTextSpan(String newTextSpan) {
|
|
|
|
widget.toolbarController?.toolbar?.textSelection.setMessageText(
|
|
|
|
try {
|
|
|
|
newTextSpan,
|
|
|
|
if (!mounted) return; // Early exit if the widget is no longer in the tree
|
|
|
|
);
|
|
|
|
|
|
|
|
if (mounted) {
|
|
|
|
widget.toolbarController?.toolbar?.textSelection.setMessageText(
|
|
|
|
|
|
|
|
newTextSpan,
|
|
|
|
|
|
|
|
);
|
|
|
|
setState(() {
|
|
|
|
setState(() {
|
|
|
|
textSpan = newTextSpan;
|
|
|
|
textSpan = newTextSpan;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
} catch (error, stackTrace) {
|
|
|
|
|
|
|
|
ErrorHandler.logError(
|
|
|
|
|
|
|
|
e: PangeaWarningError(error),
|
|
|
|
|
|
|
|
s: stackTrace,
|
|
|
|
|
|
|
|
m: "Error setting text span in PangeaRichText",
|
|
|
|
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void setTextSpan() {
|
|
|
|
void setTextSpan() {
|
|
|
|
if (_fetchingRepresentation == true) {
|
|
|
|
if (_fetchingRepresentation) {
|
|
|
|
_setTextSpan(
|
|
|
|
_setTextSpan(
|
|
|
|
textSpan = widget.pangeaMessageEvent.event
|
|
|
|
widget.pangeaMessageEvent.event
|
|
|
|
.getDisplayEvent(widget.pangeaMessageEvent.timeline)
|
|
|
|
.getDisplayEvent(widget.pangeaMessageEvent.timeline)
|
|
|
|
.body,
|
|
|
|
.body,
|
|
|
|
);
|
|
|
|
);
|
|
|
|
@ -91,13 +99,17 @@ class PangeaRichTextState extends State<PangeaRichText> {
|
|
|
|
setState(() => _fetchingRepresentation = true);
|
|
|
|
setState(() => _fetchingRepresentation = true);
|
|
|
|
widget.pangeaMessageEvent
|
|
|
|
widget.pangeaMessageEvent
|
|
|
|
.representationByLanguageGlobal(
|
|
|
|
.representationByLanguageGlobal(
|
|
|
|
langCode: widget.pangeaMessageEvent.messageDisplayLangCode,
|
|
|
|
langCode: widget.pangeaMessageEvent.messageDisplayLangCode,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
.onError(
|
|
|
|
.onError((error, stackTrace) {
|
|
|
|
(error, stackTrace) =>
|
|
|
|
ErrorHandler.logError(
|
|
|
|
ErrorHandler.logError(e: error, s: stackTrace),
|
|
|
|
e: PangeaWarningError(error),
|
|
|
|
)
|
|
|
|
s: stackTrace,
|
|
|
|
.then((event) {
|
|
|
|
m: "Error fetching representation",
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}).then((event) {
|
|
|
|
|
|
|
|
if (!mounted) return;
|
|
|
|
repEvent = event;
|
|
|
|
repEvent = event;
|
|
|
|
_setTextSpan(repEvent?.text ?? widget.pangeaMessageEvent.body);
|
|
|
|
_setTextSpan(repEvent?.text ?? widget.pangeaMessageEvent.body);
|
|
|
|
}).whenComplete(() {
|
|
|
|
}).whenComplete(() {
|
|
|
|
|