mirror of
https://github.com/sartography/spiff-arena.git
synced 2025-03-01 01:20:45 +00:00
restore loop collection references (#328)
* restore loop collection references * ignore dmn files when restoring references
This commit is contained in:
parent
d1581d94d4
commit
5652f3981b
@ -467,11 +467,33 @@ export default function ReactDiagramEditor({
|
||||
if (alreadyImportedXmlRef.current) {
|
||||
return;
|
||||
}
|
||||
diagramModelerToUse.importXML(diagramXMLToDisplay).then(() => {
|
||||
if (diagramType === 'bpmn' || diagramType === 'readonly') {
|
||||
diagramModelerToUse.get('canvas').zoom('fit-viewport');
|
||||
}
|
||||
});
|
||||
if (diagramType === 'bpmn') {
|
||||
diagramModelerToUse._moddle // eslint-disable-line no-underscore-dangle
|
||||
.fromXML(diagramXMLToDisplay)
|
||||
.then((result: any) => {
|
||||
const refs = result.references.filter(
|
||||
(r: any) =>
|
||||
r.property === 'bpmn:loopDataInputRef' ||
|
||||
r.property === 'bpmn:loopDataOutputRef'
|
||||
);
|
||||
const desc =
|
||||
diagramModelerToUse._moddle.registry.getEffectiveDescriptor( // eslint-disable-line
|
||||
'bpmn:ItemAwareElement'
|
||||
);
|
||||
refs.forEach((ref: any) => {
|
||||
const props = {
|
||||
id: ref.id,
|
||||
name: ref.id ? typeof ref.name === 'undefined' : ref.name,
|
||||
};
|
||||
const elem = diagramModelerToUse._moddle.create(desc, props); // eslint-disable-line no-underscore-dangle
|
||||
elem.$parent = ref.element;
|
||||
ref.element.set(ref.property, elem);
|
||||
});
|
||||
diagramModelerToUse.importDefinitions(result.rootElement);
|
||||
});
|
||||
} else {
|
||||
diagramModelerToUse.importXML(diagramXMLToDisplay);
|
||||
}
|
||||
|
||||
alreadyImportedXmlRef.current = true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user