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) {
|
if (alreadyImportedXmlRef.current) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
diagramModelerToUse.importXML(diagramXMLToDisplay).then(() => {
|
if (diagramType === 'bpmn') {
|
||||||
if (diagramType === 'bpmn' || diagramType === 'readonly') {
|
diagramModelerToUse._moddle // eslint-disable-line no-underscore-dangle
|
||||||
diagramModelerToUse.get('canvas').zoom('fit-viewport');
|
.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;
|
alreadyImportedXmlRef.current = true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user