1 | import inherits from 'inherits-browser';
|
2 |
|
3 | import CoreModule from './core';
|
4 | import DrilldownModdule from './features/drilldown';
|
5 | import OutlineModule from './features/outline';
|
6 | import OverlaysModule from 'diagram-js/lib/features/overlays';
|
7 | import SelectionModule from 'diagram-js/lib/features/selection';
|
8 | import TranslateModule from 'diagram-js/lib/i18n/translate';
|
9 |
|
10 | import BaseViewer from './BaseViewer';
|
11 |
|
12 |
|
13 | /**
|
14 | * @typedef { import('./BaseViewer').BaseViewerOptions } BaseViewerOptions
|
15 | */
|
16 |
|
17 | /**
|
18 | * A viewer for BPMN 2.0 diagrams.
|
19 | *
|
20 | * Have a look at {@link NavigatedViewer} or {@link Modeler} for bundles that include
|
21 | * additional features.
|
22 | *
|
23 | *
|
24 | * ## Extending the Viewer
|
25 | *
|
26 | * In order to extend the viewer pass extension modules to bootstrap via the
|
27 | * `additionalModules` option. An extension module is an object that exposes
|
28 | * named services.
|
29 | *
|
30 | * The following example depicts the integration of a simple
|
31 | * logging component that integrates with interaction events:
|
32 | *
|
33 | *
|
34 | * ```javascript
|
35 | *
|
36 | * // logging component
|
37 | * function InteractionLogger(eventBus) {
|
38 | * eventBus.on('element.hover', function(event) {
|
39 | * console.log()
|
40 | * })
|
41 | * }
|
42 | *
|
43 | * InteractionLogger.$inject = [ 'eventBus' ]; // minification save
|
44 | *
|
45 | * // extension module
|
46 | * var extensionModule = {
|
47 | * __init__: [ 'interactionLogger' ],
|
48 | * interactionLogger: [ 'type', InteractionLogger ]
|
49 | * };
|
50 | *
|
51 | * // extend the viewer
|
52 | * var bpmnViewer = new Viewer({ additionalModules: [ extensionModule ] });
|
53 | * bpmnViewer.importXML(...);
|
54 | * ```
|
55 | *
|
56 | * @param {BaseViewerOptions} [options] The options to configure the viewer.
|
57 | */
|
58 | export default function Viewer(options) {
|
59 | BaseViewer.call(this, options);
|
60 | }
|
61 |
|
62 | inherits(Viewer, BaseViewer);
|
63 |
|
64 | // modules the viewer is composed of
|
65 | Viewer.prototype._modules = [
|
66 | CoreModule,
|
67 | DrilldownModdule,
|
68 | OutlineModule,
|
69 | OverlaysModule,
|
70 | SelectionModule,
|
71 | TranslateModule
|
72 | ];
|
73 |
|
74 | // default moddle extensions the viewer is composed of
|
75 | Viewer.prototype._moddleExtensions = {}; |
\ | No newline at end of file |