mirror of
https://github.com/bpmn-io/bpmn-js.git
synced 2025-05-17 15:19:23 +08:00
155
lib/BaseViewer.spec.ts
Normal file
155
lib/BaseViewer.spec.ts
Normal file
@ -0,0 +1,155 @@
|
||||
import CommandStack from 'diagram-js/lib/command/CommandStack';
|
||||
|
||||
import { Event } from 'diagram-js/lib/core/EventBus';
|
||||
|
||||
import BaseViewer, { Events } from './BaseViewer';
|
||||
|
||||
import OverlaysModule from 'diagram-js/lib/features/overlays';
|
||||
|
||||
let viewer = new BaseViewer();
|
||||
|
||||
viewer = new BaseViewer({
|
||||
width: 100,
|
||||
height: 100,
|
||||
position: 'absolute',
|
||||
container: 'container',
|
||||
moddleExtensions: {
|
||||
foo: {}
|
||||
},
|
||||
additionalModules: [
|
||||
OverlaysModule
|
||||
]
|
||||
});
|
||||
|
||||
testViewer(viewer);
|
||||
|
||||
export function testViewer(viewer: BaseViewer) {
|
||||
viewer.importXML('<?xml version="1.0" encoding="UTF-8"?>', 'BPMNDiagram_1');
|
||||
|
||||
viewer.importXML('<?xml version="1.0" encoding="UTF-8"?>')
|
||||
.then(({ warnings }) => {
|
||||
console.log(warnings);
|
||||
})
|
||||
.catch(error => {
|
||||
const {
|
||||
message,
|
||||
warnings
|
||||
} = error;
|
||||
|
||||
console.log(message, warnings);
|
||||
});
|
||||
|
||||
viewer.importDefinitions({ $type: 'bpmn:Definitions' }, 'BPMNDiagram_1');
|
||||
|
||||
viewer.importDefinitions({ $type: 'bpmn:Definitions' })
|
||||
.then(({ warnings }) => {
|
||||
console.log(warnings);
|
||||
})
|
||||
.catch(error => {
|
||||
const {
|
||||
message,
|
||||
warnings
|
||||
} = error;
|
||||
|
||||
console.log(message, warnings);
|
||||
});
|
||||
|
||||
viewer.open('BPMNDiagram_1');
|
||||
|
||||
viewer.open({ $type: 'bpmn:BPMNDiagram' })
|
||||
.then(({ warnings }) => {
|
||||
console.log(warnings);
|
||||
})
|
||||
.catch(error => {
|
||||
const {
|
||||
message,
|
||||
warnings
|
||||
} = error;
|
||||
|
||||
console.log(message, warnings);
|
||||
});
|
||||
|
||||
viewer.saveXML({ format: true, preamble: false })
|
||||
.then(({ xml, error }) => {
|
||||
if (error) {
|
||||
console.log(error);
|
||||
} else {
|
||||
console.log(xml);
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
});
|
||||
|
||||
viewer.getModules();
|
||||
|
||||
viewer.clear();
|
||||
|
||||
viewer.destroy();
|
||||
|
||||
viewer.get<CommandStack>('commandStack').undo();
|
||||
|
||||
viewer.invoke((commandStack: CommandStack) => commandStack.undo());
|
||||
|
||||
viewer.on('foo', () => console.log('foo'));
|
||||
|
||||
viewer.on([ 'foo', 'bar' ], () => console.log('foo'));
|
||||
|
||||
viewer.on('foo', 2000, () => console.log('foo'));
|
||||
|
||||
viewer.on('foo', 2000, () => console.log('foo'), { foo: 'bar' });
|
||||
|
||||
viewer.off('foo', () => console.log('foo'));
|
||||
|
||||
viewer.attachTo(document.createElement('div'));
|
||||
|
||||
viewer.getDefinitions();
|
||||
|
||||
viewer.detach();
|
||||
|
||||
viewer.on<Events.ImportParseStart>('import.parse.start', ({ xml }) => {
|
||||
console.log(xml);
|
||||
});
|
||||
|
||||
viewer.on<Events.ImportParseComplete>('import.parse.complete', ({
|
||||
error,
|
||||
definitions,
|
||||
elementsById,
|
||||
references,
|
||||
warnings
|
||||
}) => {
|
||||
if (error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
||||
if (warnings.length) {
|
||||
warnings.forEach(warning => console.log(warning));
|
||||
}
|
||||
|
||||
console.log(definitions, elementsById, references);
|
||||
});
|
||||
|
||||
viewer.on<Events.ImportDone>('import.done', ({ error, warnings }) => {
|
||||
if (error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
||||
if (warnings.length) {
|
||||
warnings.forEach(warning => console.log(warning));
|
||||
}
|
||||
});
|
||||
|
||||
viewer.on<Events.SaveXMLStart>('saveXML.start', ({ definitions }) => {
|
||||
console.log(definitions);
|
||||
});
|
||||
|
||||
viewer.on<Events.SaveXMLDone>('saveXML.done', ({ error, xml }) => {
|
||||
if (error) {
|
||||
console.error(error);
|
||||
} else {
|
||||
console.log(xml);
|
||||
}
|
||||
});
|
||||
|
||||
viewer.on<Event>('detach', () => {});
|
||||
}
|
Reference in New Issue
Block a user