resolveConnectorPreview method
ResolvedConnector
resolveConnectorPreview(
- ConnectorElement connector, {
- required ResolvedScene scene,
Resolves transient connection feedback against existing admitted targets. This does not admit or publish content, update caches, or add history. Callers must still submit the completed connection through engine admission.
Implementation
ResolvedConnector resolveConnectorPreview(
ConnectorElement connector, {
required ResolvedScene scene,
}) {
final targets = <String, ResolvedFramedElement>{};
for (final endpoint in [
scene.visibleEndpoint(connector.start),
scene.visibleEndpoint(connector.end),
]) {
if (endpoint is BoundEndpoint) {
final target = scene.framedElementById(endpoint.elementId);
if (target == null) {
throw StateError('Preview endpoint is unavailable.');
}
targets[target.id] = target;
}
}
return _resolveConnectors(
DiagramDocument(
id: scene.documentId,
revision: scene.revision,
elements: [connector],
),
const {},
scene.defaultFontFamily == null
? textLayout
: DefaultFontTextLayout(textLayout, scene.defaultFontFamily!),
scene.textLayoutRevision,
targets,
retainCache: false,
collapse: scene.collapseProjection,
obstacleScene: scene,
).single;
}