pyegeria 5.3.3.12__py3-none-any.whl → 5.3.3.13.dev1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyegeria/commands/tech/list_information_supply_chains.py +5 -4
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.html +135 -0
- pyegeria/commands/tech/work/mermaid_graphs/{Clinical Trial Treatment Validation.mmd → Clinical Trial Treatment Validation.html } +127 -41
- pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.html +126 -0
- pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.html +141 -0
- pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.html +138 -0
- pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.html +143 -0
- pyegeria/commands/tech/work/mermaid_graphs/{Physical Inventory Tracking.mmd → Physical Inventory Tracking.html } +114 -28
- pyegeria/commands/tech/work/mermaid_graphs/{Sustainability Reporting.mmd → Sustainability Reporting.html } +112 -26
- pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html +115 -0
- pyegeria/mermaid_utilities.py +243 -22
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/METADATA +1 -1
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/RECORD +18 -93
- pyegeria/.DS_Store +0 -0
- pyegeria/commands/.DS_Store +0 -0
- pyegeria/commands/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/__pycache__/server_status_widget.cpython-312-pytest-7.4.4.pyc +0 -0
- pyegeria/commands/cat/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_asset_graph.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_collection.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_project_dependencies.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_project_structure.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_tech_type_elements.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/glossary_actions.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_assets.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_cert_types.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_collections.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_deployed_catalogs.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_deployed_database_schemas.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_deployed_databases.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_glossaries.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_projects.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_servers_deployed_imp.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_tech_type_elements.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_tech_types.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_terms.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_todos.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_user_ids.cpython-312.pyc +0 -0
- pyegeria/commands/cli/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/cli/__pycache__/egeria_login_tui.cpython-312.pyc +0 -0
- pyegeria/commands/cli/__pycache__/egeria_ops.cpython-312.pyc +0 -0
- pyegeria/commands/cli/__pycache__/ops_config.cpython-312.pyc +0 -0
- pyegeria/commands/doc/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/.DS_Store +0 -0
- pyegeria/commands/doc/glossary/.DS_Store +0 -0
- pyegeria/commands/doc/glossary/images/.DS_Store +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/.DS_Store +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/.DS_Store +0 -0
- pyegeria/commands/my/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/list_my_profile.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/list_my_roles.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/monitor_my_todos.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/monitor_open_todos.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/todo_actions.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/gov_server_actions.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/list_archives.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/list_catalog_targets.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/load_archive.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_engine_activity.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_engine_activity_c.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_gov_eng_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_integ_daemon_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_platform_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_server_startup.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_server_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/refresh_integration_daemon.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/restart_integration_daemon.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/table_integ_daemon_status.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_element_info.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_guid_info.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_tech_details.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_tech_type_template.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_anchored_elements.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_asset_types.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_elements_by_property_value.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_elements_for_classification.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_gov_action_processes.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_registered_services.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_related_specification.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_relationship_types.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_relationships.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_tech_templates.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_valid_metadata_values.cpython-312.pyc +0 -0
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.mmd +0 -49
- pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.mmd +0 -40
- pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.mmd +0 -55
- pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.mmd +0 -52
- pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.mmd +0 -57
- pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.mmd +0 -29
- /pyegeria/commands/tech/{list_isolution_blueprints.py → list_solution_blueprints.py} +0 -0
- /pyegeria/commands/tech/{list_isolution_blueprints2.py → list_solution_blueprints2.py} +0 -0
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/LICENSE +0 -0
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/WHEEL +0 -0
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,138 @@
|
|
1
|
+
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<style type="text/css">
|
5
|
+
#mySvgId {
|
6
|
+
width: 100%;
|
7
|
+
height: 100%;
|
8
|
+
overflow: hidden;
|
9
|
+
border: 1px solid #ccc;
|
10
|
+
position: relative;
|
11
|
+
margin-bottom: 10px;
|
12
|
+
}
|
13
|
+
svg {
|
14
|
+
cursor: grab;
|
15
|
+
}
|
16
|
+
|
17
|
+
</style>
|
18
|
+
</head>
|
19
|
+
|
20
|
+
<body>
|
21
|
+
<div id="graphDiv"></div>
|
22
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
23
|
+
<script type="module">
|
24
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
25
|
+
|
26
|
+
mermaid.initialize({startOnLoad: false});
|
27
|
+
await mermaid.run({
|
28
|
+
querySelector: '.mermaid',
|
29
|
+
postRenderCallback: (id) => {
|
30
|
+
const container = document.getElementById("diagram-container");
|
31
|
+
const svgElement = container.querySelector("svg");
|
32
|
+
|
33
|
+
// Initialize Panzoom
|
34
|
+
const panzoomInstance = Panzoom(svgElement, {
|
35
|
+
maxScale: 5,
|
36
|
+
minScale: 0.5,
|
37
|
+
step: 0.1,
|
38
|
+
});
|
39
|
+
|
40
|
+
// Add mouse wheel zoom
|
41
|
+
container.addEventListener("wheel", (event) => {
|
42
|
+
panzoomInstance.zoomWithWheel(event);
|
43
|
+
});
|
44
|
+
}
|
45
|
+
});
|
46
|
+
|
47
|
+
|
48
|
+
const drawDiagram = async function () {
|
49
|
+
const element = document.querySelector('#graphDiv');
|
50
|
+
const graphDefinition = `
|
51
|
+
flowchart TD
|
52
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
53
|
+
|
54
|
+
022009d9-53cb-4469-afeb-16ee81d8f9bc@{ shape: flip-tri, label: "*Information Supply Chain*
|
55
|
+
**New Employee Onboarding**"}
|
56
|
+
ac1013e3-b3ab-445b-9cc6-229cdbdc7321@{ shape: text, label: "*Description*
|
57
|
+
**Adding information about a new employee to all appropriate systems and directories.**"}
|
58
|
+
022009d9-53cb-4469-afeb-16ee81d8f9bc~~~ac1013e3-b3ab-445b-9cc6-229cdbdc7321
|
59
|
+
c8d0730b-a276-474d-8e09-c454ef22d09b@{ shape: text, label: "*Purpose*
|
60
|
+
**Ensure a new employee is productive and engaged in a timely manner.**"}
|
61
|
+
ac1013e3-b3ab-445b-9cc6-229cdbdc7321~~~c8d0730b-a276-474d-8e09-c454ef22d09b
|
62
|
+
88c42780-6fb1-49e2-a584-8af90cdc7728@{ shape: rounded, label: "*Software Server*
|
63
|
+
**System:coco-hrim**"}
|
64
|
+
ae0c7768-c01e-4bd1-8a47-fbacfccf2f63@{ shape: rounded, label: "*Software Server*
|
65
|
+
**System:Netherlands payroll**"}
|
66
|
+
88c42780-6fb1-49e2-a584-8af90cdc7728-->|"payment authorization [Data Flow]"|ae0c7768-c01e-4bd1-8a47-fbacfccf2f63
|
67
|
+
a47906f0-67f0-46ed-890d-85cb049ffa60@{ shape: rounded, label: "*Software Server*
|
68
|
+
**System:cocopages**"}
|
69
|
+
88c42780-6fb1-49e2-a584-8af90cdc7728-->|"employee directory [Data Flow]"|a47906f0-67f0-46ed-890d-85cb049ffa60
|
70
|
+
35bef6c5-25d7-47b1-91db-f9bce0238612@{ shape: rounded, label: "*Software Server*
|
71
|
+
**System:Canadian payroll**"}
|
72
|
+
88c42780-6fb1-49e2-a584-8af90cdc7728-->|"payment authorization [Data Flow]"|35bef6c5-25d7-47b1-91db-f9bce0238612
|
73
|
+
12c9d1a4-2a5d-4e7c-a640-97f206270425@{ shape: rounded, label: "*Software Server*
|
74
|
+
**System:UK payroll**"}
|
75
|
+
88c42780-6fb1-49e2-a584-8af90cdc7728-->|"payment authorization [Data Flow]"|12c9d1a4-2a5d-4e7c-a640-97f206270425
|
76
|
+
style c8d0730b-a276-474d-8e09-c454ef22d09b color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
77
|
+
style 022009d9-53cb-4469-afeb-16ee81d8f9bc color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
78
|
+
style ae0c7768-c01e-4bd1-8a47-fbacfccf2f63 color:#000000, fill:#e0ab18, stroke:#004563
|
79
|
+
style 88c42780-6fb1-49e2-a584-8af90cdc7728 color:#000000, fill:#e0ab18, stroke:#004563
|
80
|
+
style 12c9d1a4-2a5d-4e7c-a640-97f206270425 color:#000000, fill:#e0ab18, stroke:#004563
|
81
|
+
style ac1013e3-b3ab-445b-9cc6-229cdbdc7321 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
82
|
+
style a47906f0-67f0-46ed-890d-85cb049ffa60 color:#000000, fill:#e0ab18, stroke:#004563
|
83
|
+
style 35bef6c5-25d7-47b1-91db-f9bce0238612 color:#000000, fill:#e0ab18, stroke:#004563`;
|
84
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
85
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
86
|
+
|
87
|
+
var doPan = false;
|
88
|
+
var eventsHandler;
|
89
|
+
var panZoom;
|
90
|
+
var mousepos;
|
91
|
+
|
92
|
+
eventsHandler = {
|
93
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
94
|
+
|
95
|
+
, mouseDownHandler: function (ev) {
|
96
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
97
|
+
doPan = true;
|
98
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
99
|
+
}
|
100
|
+
;
|
101
|
+
}
|
102
|
+
|
103
|
+
, mouseMoveHandler: function (ev) {
|
104
|
+
if (doPan) {
|
105
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
106
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
107
|
+
window.getSelection().removeAllRanges();
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
, mouseUpHandler: function (ev) {
|
112
|
+
doPan = false;
|
113
|
+
}
|
114
|
+
|
115
|
+
, init: function (options) {
|
116
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
117
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
118
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
119
|
+
}
|
120
|
+
|
121
|
+
, destroy: function (options) {
|
122
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
123
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
124
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
125
|
+
}
|
126
|
+
}
|
127
|
+
panZoom = svgPanZoom('#mySvgId', {
|
128
|
+
zoomEnabled: true
|
129
|
+
, controlIconsEnabled: true
|
130
|
+
, fit: 1
|
131
|
+
, center: 1
|
132
|
+
, customEventsHandler: eventsHandler
|
133
|
+
})
|
134
|
+
};
|
135
|
+
await drawDiagram();
|
136
|
+
</script>
|
137
|
+
</body>
|
138
|
+
|
@@ -0,0 +1,143 @@
|
|
1
|
+
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<style type="text/css">
|
5
|
+
#mySvgId {
|
6
|
+
width: 100%;
|
7
|
+
height: 100%;
|
8
|
+
overflow: hidden;
|
9
|
+
border: 1px solid #ccc;
|
10
|
+
position: relative;
|
11
|
+
margin-bottom: 10px;
|
12
|
+
}
|
13
|
+
svg {
|
14
|
+
cursor: grab;
|
15
|
+
}
|
16
|
+
|
17
|
+
</style>
|
18
|
+
</head>
|
19
|
+
|
20
|
+
<body>
|
21
|
+
<div id="graphDiv"></div>
|
22
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
23
|
+
<script type="module">
|
24
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
25
|
+
|
26
|
+
mermaid.initialize({startOnLoad: false});
|
27
|
+
await mermaid.run({
|
28
|
+
querySelector: '.mermaid',
|
29
|
+
postRenderCallback: (id) => {
|
30
|
+
const container = document.getElementById("diagram-container");
|
31
|
+
const svgElement = container.querySelector("svg");
|
32
|
+
|
33
|
+
// Initialize Panzoom
|
34
|
+
const panzoomInstance = Panzoom(svgElement, {
|
35
|
+
maxScale: 5,
|
36
|
+
minScale: 0.5,
|
37
|
+
step: 0.1,
|
38
|
+
});
|
39
|
+
|
40
|
+
// Add mouse wheel zoom
|
41
|
+
container.addEventListener("wheel", (event) => {
|
42
|
+
panzoomInstance.zoomWithWheel(event);
|
43
|
+
});
|
44
|
+
}
|
45
|
+
});
|
46
|
+
|
47
|
+
|
48
|
+
const drawDiagram = async function () {
|
49
|
+
const element = document.querySelector('#graphDiv');
|
50
|
+
const graphDefinition = `
|
51
|
+
flowchart TD
|
52
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
53
|
+
|
54
|
+
adbae740-57a3-41b8-a722-266b895794e6@{ shape: flip-tri, label: "*Information Supply Chain*
|
55
|
+
**Personalized Treatment Ordering**"}
|
56
|
+
5e41b108-88e2-42a1-a328-5e3fb40d5a89@{ shape: text, label: "*Description*
|
57
|
+
**Delivering information about a new personalized medicine order so that it fulfilled and invoiced.**"}
|
58
|
+
adbae740-57a3-41b8-a722-266b895794e6~~~5e41b108-88e2-42a1-a328-5e3fb40d5a89
|
59
|
+
1e0d4427-0915-4caf-b141-7fbc17976790@{ shape: text, label: "*Purpose*
|
60
|
+
**Ensuring orders are fulfilled effectively.**"}
|
61
|
+
5e41b108-88e2-42a1-a328-5e3fb40d5a89~~~1e0d4427-0915-4caf-b141-7fbc17976790
|
62
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b@{ shape: rounded, label: "*Software Server*
|
63
|
+
**System:ed-mfg-control**"}
|
64
|
+
25e2e56d-2e2f-4f6f-a1ed-019dd76d589a@{ shape: rounded, label: "*Software Server*
|
65
|
+
**System:manufacturing-planning**"}
|
66
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b-->|"manufacturing complete [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
67
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4@{ shape: rounded, label: "*Software Server*
|
68
|
+
**System:MFCTRL9482**"}
|
69
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4-->|"manufacturing complete [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
70
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c@{ shape: rounded, label: "*Software Server*
|
71
|
+
**System:winch-mfg-control**"}
|
72
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c-->|"manufacturing complete [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
73
|
+
a2e43afa-386a-4acd-ba1d-7773b368c34a@{ shape: rounded, label: "*Software Server*
|
74
|
+
**System:globalCRM**"}
|
75
|
+
11071e76-23a8-4f3d-bd07-3b9aa9781bda@{ shape: rounded, label: "*Software Server*
|
76
|
+
**System:coco-ledgers**"}
|
77
|
+
a2e43afa-386a-4acd-ba1d-7773b368c34a-->|"new sales [Data Flow]"|11071e76-23a8-4f3d-bd07-3b9aa9781bda
|
78
|
+
a2e43afa-386a-4acd-ba1d-7773b368c34a-->|"new orders [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
79
|
+
25e2e56d-2e2f-4f6f-a1ed-019dd76d589a-->|"manufacturing request [Data Flow]"|c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4
|
80
|
+
style c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4 color:#000000, fill:#e0ab18, stroke:#004563
|
81
|
+
style a2e43afa-386a-4acd-ba1d-7773b368c34a color:#000000, fill:#e0ab18, stroke:#004563
|
82
|
+
style adbae740-57a3-41b8-a722-266b895794e6 color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
83
|
+
style bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b color:#000000, fill:#e0ab18, stroke:#004563
|
84
|
+
style 5e41b108-88e2-42a1-a328-5e3fb40d5a89 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
85
|
+
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
86
|
+
style 1e0d4427-0915-4caf-b141-7fbc17976790 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
87
|
+
style 0f59833f-8a8a-488b-808a-9ea24618bb6c color:#000000, fill:#e0ab18, stroke:#004563
|
88
|
+
style 25e2e56d-2e2f-4f6f-a1ed-019dd76d589a color:#000000, fill:#e0ab18, stroke:#004563`;
|
89
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
90
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
91
|
+
|
92
|
+
var doPan = false;
|
93
|
+
var eventsHandler;
|
94
|
+
var panZoom;
|
95
|
+
var mousepos;
|
96
|
+
|
97
|
+
eventsHandler = {
|
98
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
99
|
+
|
100
|
+
, mouseDownHandler: function (ev) {
|
101
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
102
|
+
doPan = true;
|
103
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
104
|
+
}
|
105
|
+
;
|
106
|
+
}
|
107
|
+
|
108
|
+
, mouseMoveHandler: function (ev) {
|
109
|
+
if (doPan) {
|
110
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
111
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
112
|
+
window.getSelection().removeAllRanges();
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
, mouseUpHandler: function (ev) {
|
117
|
+
doPan = false;
|
118
|
+
}
|
119
|
+
|
120
|
+
, init: function (options) {
|
121
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
122
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
123
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
124
|
+
}
|
125
|
+
|
126
|
+
, destroy: function (options) {
|
127
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
128
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
129
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
panZoom = svgPanZoom('#mySvgId', {
|
133
|
+
zoomEnabled: true
|
134
|
+
, controlIconsEnabled: true
|
135
|
+
, fit: 1
|
136
|
+
, center: 1
|
137
|
+
, customEventsHandler: eventsHandler
|
138
|
+
})
|
139
|
+
};
|
140
|
+
await drawDiagram();
|
141
|
+
</script>
|
142
|
+
</body>
|
143
|
+
|
@@ -1,28 +1,67 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
<
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<style type="text/css">
|
5
|
+
#mySvgId {
|
6
|
+
width: 100%;
|
7
|
+
height: 100%;
|
8
|
+
overflow: hidden;
|
9
|
+
border: 1px solid #ccc;
|
10
|
+
position: relative;
|
11
|
+
margin-bottom: 10px;
|
12
|
+
}
|
13
|
+
svg {
|
14
|
+
cursor: grab;
|
15
|
+
}
|
16
|
+
|
17
|
+
</style>
|
18
|
+
</head>
|
19
|
+
|
20
|
+
<body>
|
21
|
+
<div id="graphDiv"></div>
|
22
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
23
|
+
<script type="module">
|
24
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
25
|
+
|
26
|
+
mermaid.initialize({startOnLoad: false});
|
27
|
+
await mermaid.run({
|
28
|
+
querySelector: '.mermaid',
|
29
|
+
postRenderCallback: (id) => {
|
30
|
+
const container = document.getElementById("diagram-container");
|
31
|
+
const svgElement = container.querySelector("svg");
|
32
|
+
|
33
|
+
// Initialize Panzoom
|
34
|
+
const panzoomInstance = Panzoom(svgElement, {
|
35
|
+
maxScale: 5,
|
36
|
+
minScale: 0.5,
|
37
|
+
step: 0.1,
|
38
|
+
});
|
39
|
+
|
40
|
+
// Add mouse wheel zoom
|
41
|
+
container.addEventListener("wheel", (event) => {
|
42
|
+
panzoomInstance.zoomWithWheel(event);
|
43
|
+
});
|
44
|
+
}
|
45
|
+
});
|
46
|
+
|
47
|
+
|
48
|
+
const drawDiagram = async function () {
|
49
|
+
const element = document.querySelector('#graphDiv');
|
50
|
+
const graphDefinition = `
|
51
|
+
flowchart TD
|
13
52
|
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
14
53
|
|
15
54
|
7480a3b1-8d6c-4062-ae59-f3b81e146ed0@{ shape: flip-tri, label: "*Information Supply Chain*
|
16
55
|
**Physical Inventory Tracking**"}
|
17
|
-
|
56
|
+
140d83bf-0cab-4dd8-aad3-955e828af113@{ shape: text, label: "*Description*
|
18
57
|
**Managing information take tracks physical goods from suppliers, to depot and manufacturing.**"}
|
19
|
-
7480a3b1-8d6c-4062-ae59-f3b81e146ed0~~~
|
20
|
-
|
58
|
+
7480a3b1-8d6c-4062-ae59-f3b81e146ed0~~~140d83bf-0cab-4dd8-aad3-955e828af113
|
59
|
+
75448140-126f-4590-900f-a669acb37e73@{ shape: text, label: "*Purpose*
|
21
60
|
**Ensuring effective management of physical inventory.**"}
|
22
|
-
|
23
|
-
|
61
|
+
140d83bf-0cab-4dd8-aad3-955e828af113~~~75448140-126f-4590-900f-a669acb37e73
|
62
|
+
9e6c5dab-a341-456d-a194-787d100e5fac@{ shape: text, label: "*Purpose*
|
24
63
|
**Ensuring hazardous materials are properly identified, reported and managed.**"}
|
25
|
-
|
64
|
+
75448140-126f-4590-900f-a669acb37e73~~~9e6c5dab-a341-456d-a194-787d100e5fac
|
26
65
|
db144477-e6cb-4fd1-9521-4a577de9af04@{ shape: rounded, label: "*Software Server*
|
27
66
|
**System:procurement03**"}
|
28
67
|
11071e76-23a8-4f3d-bd07-3b9aa9781bda@{ shape: rounded, label: "*Software Server*
|
@@ -70,23 +109,70 @@ c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4-->|"goods produced [Data Flow]"|9e29ee1f-01
|
|
70
109
|
style a5abdf72-0e5f-4366-8072-fac3bbb41ea6 color:#000000, fill:#e0ab18, stroke:#004563
|
71
110
|
style c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4 color:#000000, fill:#e0ab18, stroke:#004563
|
72
111
|
style bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b color:#000000, fill:#e0ab18, stroke:#004563
|
73
|
-
style f19268f1-b2aa-425b-a8e2-a0c94935d7e0 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
74
112
|
style 9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2 color:#000000, fill:#e0ab18, stroke:#004563
|
75
113
|
style 7480a3b1-8d6c-4062-ae59-f3b81e146ed0 color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
114
|
+
style 140d83bf-0cab-4dd8-aad3-955e828af113 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
76
115
|
style db144477-e6cb-4fd1-9521-4a577de9af04 color:#000000, fill:#e0ab18, stroke:#004563
|
77
116
|
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
78
117
|
style cbe8c0bb-0e27-4d2a-825f-f017ee939028 color:#000000, fill:#e0ab18, stroke:#004563
|
79
118
|
style 25e2e56d-2e2f-4f6f-a1ed-019dd76d589a color:#000000, fill:#e0ab18, stroke:#004563
|
80
|
-
style
|
81
|
-
style c65f691e-804b-4882-a6b0-bb70cbe9f3bd color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
119
|
+
style 75448140-126f-4590-900f-a669acb37e73 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
82
120
|
style 467dd9a0-89d6-4796-a058-c079bf54b6c7 color:#000000, fill:#e0ab18, stroke:#004563
|
83
121
|
style 23fb5e33-11c9-4eb6-91d6-f2e873f8da68 color:#000000, fill:#e0ab18, stroke:#004563
|
84
122
|
style 0f59833f-8a8a-488b-808a-9ea24618bb6c color:#000000, fill:#e0ab18, stroke:#004563
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
123
|
+
style 9e6c5dab-a341-456d-a194-787d100e5fac color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
124
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
125
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
126
|
+
|
127
|
+
var doPan = false;
|
128
|
+
var eventsHandler;
|
129
|
+
var panZoom;
|
130
|
+
var mousepos;
|
131
|
+
|
132
|
+
eventsHandler = {
|
133
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
134
|
+
|
135
|
+
, mouseDownHandler: function (ev) {
|
136
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
137
|
+
doPan = true;
|
138
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
139
|
+
}
|
140
|
+
;
|
141
|
+
}
|
142
|
+
|
143
|
+
, mouseMoveHandler: function (ev) {
|
144
|
+
if (doPan) {
|
145
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
146
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
147
|
+
window.getSelection().removeAllRanges();
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
, mouseUpHandler: function (ev) {
|
152
|
+
doPan = false;
|
153
|
+
}
|
154
|
+
|
155
|
+
, init: function (options) {
|
156
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
157
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
158
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
159
|
+
}
|
160
|
+
|
161
|
+
, destroy: function (options) {
|
162
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
163
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
164
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
165
|
+
}
|
166
|
+
}
|
167
|
+
panZoom = svgPanZoom('#mySvgId', {
|
168
|
+
zoomEnabled: true
|
169
|
+
, controlIconsEnabled: true
|
170
|
+
, fit: 1
|
171
|
+
, center: 1
|
172
|
+
, customEventsHandler: eventsHandler
|
173
|
+
})
|
174
|
+
};
|
175
|
+
await drawDiagram();
|
176
|
+
</script>
|
177
|
+
</body>
|
178
|
+
|
@@ -1,25 +1,64 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
<
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<style type="text/css">
|
5
|
+
#mySvgId {
|
6
|
+
width: 100%;
|
7
|
+
height: 100%;
|
8
|
+
overflow: hidden;
|
9
|
+
border: 1px solid #ccc;
|
10
|
+
position: relative;
|
11
|
+
margin-bottom: 10px;
|
12
|
+
}
|
13
|
+
svg {
|
14
|
+
cursor: grab;
|
15
|
+
}
|
16
|
+
|
17
|
+
</style>
|
18
|
+
</head>
|
19
|
+
|
20
|
+
<body>
|
21
|
+
<div id="graphDiv"></div>
|
22
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
23
|
+
<script type="module">
|
24
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
25
|
+
|
26
|
+
mermaid.initialize({startOnLoad: false});
|
27
|
+
await mermaid.run({
|
28
|
+
querySelector: '.mermaid',
|
29
|
+
postRenderCallback: (id) => {
|
30
|
+
const container = document.getElementById("diagram-container");
|
31
|
+
const svgElement = container.querySelector("svg");
|
32
|
+
|
33
|
+
// Initialize Panzoom
|
34
|
+
const panzoomInstance = Panzoom(svgElement, {
|
35
|
+
maxScale: 5,
|
36
|
+
minScale: 0.5,
|
37
|
+
step: 0.1,
|
38
|
+
});
|
39
|
+
|
40
|
+
// Add mouse wheel zoom
|
41
|
+
container.addEventListener("wheel", (event) => {
|
42
|
+
panzoomInstance.zoomWithWheel(event);
|
43
|
+
});
|
44
|
+
}
|
45
|
+
});
|
46
|
+
|
47
|
+
|
48
|
+
const drawDiagram = async function () {
|
49
|
+
const element = document.querySelector('#graphDiv');
|
50
|
+
const graphDefinition = `
|
51
|
+
flowchart TD
|
13
52
|
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
14
53
|
|
15
54
|
dd15b286-a38d-4f03-8625-aaded8596048@{ shape: flip-tri, label: "*Information Supply Chain*
|
16
55
|
**Sustainability Reporting**"}
|
17
|
-
|
56
|
+
2801cb02-b053-4f82-a5c2-55d9c2e4057b@{ shape: text, label: "*Description*
|
18
57
|
**Delivering information to the sustainability reporting tools.**"}
|
19
|
-
dd15b286-a38d-4f03-8625-aaded8596048~~~
|
20
|
-
|
58
|
+
dd15b286-a38d-4f03-8625-aaded8596048~~~2801cb02-b053-4f82-a5c2-55d9c2e4057b
|
59
|
+
5f858e06-3421-4029-acee-4b14d8968ab1@{ shape: text, label: "*Purpose*
|
21
60
|
**Ensuring sustainability reporting is accurate.**"}
|
22
|
-
|
61
|
+
2801cb02-b053-4f82-a5c2-55d9c2e4057b~~~5f858e06-3421-4029-acee-4b14d8968ab1
|
23
62
|
af07dc2b-ae07-442b-9b06-43d4ef52138a@{ shape: hex, label: "*Information Supply Chain Segment*
|
24
63
|
**Sustainability Report Delivery**"}
|
25
64
|
a491accc-aaaa-455b-893e-b6f7b0bf0afb@{ shape: hex, label: "*Information Supply Chain Segment*
|
@@ -85,11 +124,13 @@ ad8eab54-c2f7-494d-82d0-bf5985e5a58d-->|"travel inventory [Data Flow]"|8a578f0d-
|
|
85
124
|
467dd9a0-89d6-4796-a058-c079bf54b6c7@{ shape: rounded, label: "*Software Server*
|
86
125
|
**System:coco-inventory**"}
|
87
126
|
467dd9a0-89d6-4796-a058-c079bf54b6c7-->|"goods movement [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
127
|
+
style 2801cb02-b053-4f82-a5c2-55d9c2e4057b color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
88
128
|
style dd15b286-a38d-4f03-8625-aaded8596048 color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
89
129
|
style ad8eab54-c2f7-494d-82d0-bf5985e5a58d color:#000000, fill:#e0ab18, stroke:#004563
|
90
130
|
style 9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2 color:#000000, fill:#e0ab18, stroke:#004563
|
91
131
|
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
92
132
|
style 8a578f0d-f7ae-4255-b4a5-236241fa5449 color:#000000, fill:#e0ab18, stroke:#004563
|
133
|
+
style 5f858e06-3421-4029-acee-4b14d8968ab1 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
93
134
|
style fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
94
135
|
style 25fd5be7-692d-4752-9dc7-30068a7d665e color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
95
136
|
style 3dbe7e96-c9e5-4336-a29a-9342258e50f8 color:#000000, fill:#e0ab18, stroke:#004563
|
@@ -97,21 +138,66 @@ style 06edd666-06fd-43ef-b7bd-22e2651c334f color:#FFFFFF, fill:#838cc7, stroke:#
|
|
97
138
|
style 02cdce9a-7630-479a-90de-fd7698d098f1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
98
139
|
style af07dc2b-ae07-442b-9b06-43d4ef52138a color:#004563, fill:#b7c0c7, stroke:#004563
|
99
140
|
style 047691ac-8628-472d-aca0-82bedc947ef4 color:#000000, fill:#e0ab18, stroke:#004563
|
100
|
-
style 0343a86a-43ea-4805-ad74-616e628ea756 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
101
141
|
style d50a6f1f-49d2-47c3-a55e-5844464bd26f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
102
|
-
style 7f68bd61-bb98-4b99-9366-0340cfa8f15d color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
103
142
|
style 6e786315-ae54-445b-b516-f3c1f0e5f289 color:#000000, fill:#e0ab18, stroke:#004563
|
104
143
|
style 467dd9a0-89d6-4796-a058-c079bf54b6c7 color:#000000, fill:#e0ab18, stroke:#004563
|
105
144
|
style 50768e61-43b6-4241-96a3-4c413582ec1f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
106
145
|
style a491accc-aaaa-455b-893e-b6f7b0bf0afb color:#004563, fill:#b7c0c7, stroke:#004563
|
107
146
|
style 5a2927f3-eed6-4509-bceb-2c29aa415090 color:#000000, fill:#e0ab18, stroke:#004563
|
108
147
|
style 2c0f5a4e-bb02-4081-a80e-3072ca99a1aa color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
109
|
-
style 9fb47e51-4121-495d-be31-f766a1f70856 color:#004563, fill:#b7c0c7, stroke:#004563
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
148
|
+
style 9fb47e51-4121-495d-be31-f766a1f70856 color:#004563, fill:#b7c0c7, stroke:#004563`;
|
149
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
150
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
151
|
+
|
152
|
+
var doPan = false;
|
153
|
+
var eventsHandler;
|
154
|
+
var panZoom;
|
155
|
+
var mousepos;
|
156
|
+
|
157
|
+
eventsHandler = {
|
158
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
159
|
+
|
160
|
+
, mouseDownHandler: function (ev) {
|
161
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
162
|
+
doPan = true;
|
163
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
164
|
+
}
|
165
|
+
;
|
166
|
+
}
|
167
|
+
|
168
|
+
, mouseMoveHandler: function (ev) {
|
169
|
+
if (doPan) {
|
170
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
171
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
172
|
+
window.getSelection().removeAllRanges();
|
173
|
+
}
|
174
|
+
}
|
175
|
+
|
176
|
+
, mouseUpHandler: function (ev) {
|
177
|
+
doPan = false;
|
178
|
+
}
|
179
|
+
|
180
|
+
, init: function (options) {
|
181
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
182
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
183
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
184
|
+
}
|
185
|
+
|
186
|
+
, destroy: function (options) {
|
187
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
188
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
189
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
190
|
+
}
|
191
|
+
}
|
192
|
+
panZoom = svgPanZoom('#mySvgId', {
|
193
|
+
zoomEnabled: true
|
194
|
+
, controlIconsEnabled: true
|
195
|
+
, fit: 1
|
196
|
+
, center: 1
|
197
|
+
, customEventsHandler: eventsHandler
|
198
|
+
})
|
199
|
+
};
|
200
|
+
await drawDiagram();
|
201
|
+
</script>
|
202
|
+
</body>
|
203
|
+
|