The second time Differ starts, an error pops up. What could it be? How can this be fixed?
Here is the code for adding diagrams to Differ:
async componentDidMount() {
let url = window.location.hash.split('/');
let oldProjectId = url[2];
let oldScriptId = url[3];
let newProjectId = url[4];
let newScriptId = url[5];
const containerOld = document.getElementById('canvasOld');
const containerNew = document.getElementById('canvasNew');
await this.createViewers(containerOld, containerNew);
await this.openDiagram(this.viewerOld, oldProjectId, oldScriptId);
await this.openDiagram(this.viewerNew, newProjectId, newScriptId);
this.showDiff(this.viewerOld, this.viewerNew);
}
createViewers = async (containerOld, containerNew) => {
this.viewerOld = new BpmnViewer({
container: containerOld,
width: '100%',
height: '100%',
additionalModules: [MoveCanvas, ZoomScroll, Touch],
moddleExtensions: {
wizard: MagicModdleDescriptor
}
});
this.viewerNew = new BpmnViewer({
container: containerNew,
width: '100%',
height: '100%',
additionalModules: [MoveCanvas, ZoomScroll, Touch],
moddleExtensions: {
wizard: MagicModdleDescriptor
}
});
};
openDiagram = async (viewer, projectId, scriptId) => {
try {
const payload = await axios.get(`/${API_PREFIX}/projects/${projectId}/scripts/${scriptId}`);
await this.renderDiagram(viewer, payload.data.bpmn);
} catch (err) {
console.log(err.description);
return undefined;
}
};
renderDiagram = (viewer, xml) => {
return new Promise((resolve, reject) => {
viewer.importXML(xml, err => {
if (err){
logger.warn('Import xml failed');
reject(err);
} else {
viewer.get("canvas").zoom('fit-viewport', 'auto');
resolve();
}
});
})
};
Error: http://images.vfl.ru/ii/1566977535/3d4ca1ca/27682144.jpg