pyegeria 5.3.3.14.dev1__py3-none-any.whl → 5.3.3.14.dev2__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/.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/cat/link-test.py +185 -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/.DS_Store +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/list_solution_blueprints2.py +6 -2
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.html +142 -0
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Treatment Validation.html +222 -0
- pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.html +133 -0
- pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.html +148 -0
- pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.html +145 -0
- pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.html +150 -0
- pyegeria/commands/tech/work/mermaid_graphs/Physical Inventory Tracking.html +185 -0
- pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting.html +210 -0
- pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html +122 -0
- pyegeria/mermaid_utilities.py +2 -1
- {pyegeria-5.3.3.14.dev1.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/METADATA +1 -1
- {pyegeria-5.3.3.14.dev1.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/RECORD +93 -7
- {pyegeria-5.3.3.14.dev1.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/entry_points.txt +1 -0
- {pyegeria-5.3.3.14.dev1.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/LICENSE +0 -0
- {pyegeria-5.3.3.14.dev1.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/WHEEL +0 -0
@@ -0,0 +1,150 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<style type="text/css">
|
6
|
+
#mySvgId {
|
7
|
+
width: 100%;
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
11
|
+
position: relative;
|
12
|
+
margin-bottom: 10px;
|
13
|
+
}
|
14
|
+
svg {
|
15
|
+
cursor: grab;
|
16
|
+
}
|
17
|
+
|
18
|
+
</style>
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<title>Information Supply Chain - Personalized Treatment Ordering </title>
|
22
|
+
<h3 style="text-align: center;">Information Supply Chain - Personalized Treatment Ordering </h3>
|
23
|
+
GUID : adbae740-57a3-41b8-a722-266b895794e6
|
24
|
+
|
25
|
+
|
26
|
+
<body>
|
27
|
+
|
28
|
+
<div id="graphDiv"></div>
|
29
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
30
|
+
<script type="module">
|
31
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
32
|
+
|
33
|
+
mermaid.initialize({startOnLoad: false});
|
34
|
+
await mermaid.run({
|
35
|
+
querySelector: '.mermaid',
|
36
|
+
postRenderCallback: (id) => {
|
37
|
+
const container = document.getElementById("diagram-container");
|
38
|
+
const svgElement = container.querySelector("svg");
|
39
|
+
|
40
|
+
// Initialize Panzoom
|
41
|
+
const panzoomInstance = Panzoom(svgElement, {
|
42
|
+
maxScale: 5,
|
43
|
+
minScale: 0.5,
|
44
|
+
step: 0.1,
|
45
|
+
});
|
46
|
+
|
47
|
+
// Add mouse wheel zoom
|
48
|
+
container.addEventListener("wheel", (event) => {
|
49
|
+
panzoomInstance.zoomWithWheel(event);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
|
55
|
+
const drawDiagram = async function () {
|
56
|
+
const element = document.querySelector('#graphDiv');
|
57
|
+
const graphDefinition = `
|
58
|
+
flowchart TD
|
59
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
60
|
+
|
61
|
+
adbae740-57a3-41b8-a722-266b895794e6@{ shape: flip-tri, label: "*Information Supply Chain*
|
62
|
+
**Personalized Treatment Ordering**"}
|
63
|
+
6317b65f-94f4-4bf2-a099-e4bdc5d89c66@{ shape: text, label: "*Description*
|
64
|
+
**Delivering information about a new personalized medicine order so that it fulfilled and invoiced.**"}
|
65
|
+
adbae740-57a3-41b8-a722-266b895794e6~~~6317b65f-94f4-4bf2-a099-e4bdc5d89c66
|
66
|
+
96de5eb6-1d87-483b-bb9d-13d4614251e6@{ shape: text, label: "*Purpose*
|
67
|
+
**Ensuring orders are fulfilled effectively.**"}
|
68
|
+
6317b65f-94f4-4bf2-a099-e4bdc5d89c66~~~96de5eb6-1d87-483b-bb9d-13d4614251e6
|
69
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b@{ shape: rounded, label: "*Software Server*
|
70
|
+
**System:ed-mfg-control**"}
|
71
|
+
25e2e56d-2e2f-4f6f-a1ed-019dd76d589a@{ shape: rounded, label: "*Software Server*
|
72
|
+
**System:manufacturing-planning**"}
|
73
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b-->|"manufacturing complete [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
74
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4@{ shape: rounded, label: "*Software Server*
|
75
|
+
**System:MFCTRL9482**"}
|
76
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4-->|"manufacturing complete [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
77
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c@{ shape: rounded, label: "*Software Server*
|
78
|
+
**System:winch-mfg-control**"}
|
79
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c-->|"manufacturing complete [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
80
|
+
a2e43afa-386a-4acd-ba1d-7773b368c34a@{ shape: rounded, label: "*Software Server*
|
81
|
+
**System:globalCRM**"}
|
82
|
+
11071e76-23a8-4f3d-bd07-3b9aa9781bda@{ shape: rounded, label: "*Software Server*
|
83
|
+
**System:coco-ledgers**"}
|
84
|
+
a2e43afa-386a-4acd-ba1d-7773b368c34a-->|"new sales [Data Flow]"|11071e76-23a8-4f3d-bd07-3b9aa9781bda
|
85
|
+
a2e43afa-386a-4acd-ba1d-7773b368c34a-->|"new orders [Data Flow]"|25e2e56d-2e2f-4f6f-a1ed-019dd76d589a
|
86
|
+
25e2e56d-2e2f-4f6f-a1ed-019dd76d589a-->|"manufacturing request [Data Flow]"|c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4
|
87
|
+
style c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4 color:#000000, fill:#e0ab18, stroke:#004563
|
88
|
+
style a2e43afa-386a-4acd-ba1d-7773b368c34a color:#000000, fill:#e0ab18, stroke:#004563
|
89
|
+
style adbae740-57a3-41b8-a722-266b895794e6 color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
90
|
+
style bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b color:#000000, fill:#e0ab18, stroke:#004563
|
91
|
+
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
92
|
+
style 0f59833f-8a8a-488b-808a-9ea24618bb6c color:#000000, fill:#e0ab18, stroke:#004563
|
93
|
+
style 6317b65f-94f4-4bf2-a099-e4bdc5d89c66 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
94
|
+
style 96de5eb6-1d87-483b-bb9d-13d4614251e6 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
95
|
+
style 25e2e56d-2e2f-4f6f-a1ed-019dd76d589a color:#000000, fill:#e0ab18, stroke:#004563`;
|
96
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
97
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
98
|
+
|
99
|
+
var doPan = false;
|
100
|
+
var eventsHandler;
|
101
|
+
var panZoom;
|
102
|
+
var mousepos;
|
103
|
+
|
104
|
+
eventsHandler = {
|
105
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
106
|
+
|
107
|
+
, mouseDownHandler: function (ev) {
|
108
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
109
|
+
doPan = true;
|
110
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
111
|
+
}
|
112
|
+
;
|
113
|
+
}
|
114
|
+
|
115
|
+
, mouseMoveHandler: function (ev) {
|
116
|
+
if (doPan) {
|
117
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
118
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
119
|
+
window.getSelection().removeAllRanges();
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
, mouseUpHandler: function (ev) {
|
124
|
+
doPan = false;
|
125
|
+
}
|
126
|
+
|
127
|
+
, init: function (options) {
|
128
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
129
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
130
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
131
|
+
}
|
132
|
+
|
133
|
+
, destroy: function (options) {
|
134
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
135
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
136
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
137
|
+
}
|
138
|
+
}
|
139
|
+
panZoom = svgPanZoom('#mySvgId', {
|
140
|
+
zoomEnabled: true
|
141
|
+
, controlIconsEnabled: true
|
142
|
+
, fit: 1
|
143
|
+
, center: 1
|
144
|
+
, customEventsHandler: eventsHandler
|
145
|
+
})
|
146
|
+
};
|
147
|
+
await drawDiagram();
|
148
|
+
</script>
|
149
|
+
</body>
|
150
|
+
|
@@ -0,0 +1,185 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<style type="text/css">
|
6
|
+
#mySvgId {
|
7
|
+
width: 100%;
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
11
|
+
position: relative;
|
12
|
+
margin-bottom: 10px;
|
13
|
+
}
|
14
|
+
svg {
|
15
|
+
cursor: grab;
|
16
|
+
}
|
17
|
+
|
18
|
+
</style>
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<title>Information Supply Chain - Physical Inventory Tracking </title>
|
22
|
+
<h3 style="text-align: center;">Information Supply Chain - Physical Inventory Tracking </h3>
|
23
|
+
GUID : 7480a3b1-8d6c-4062-ae59-f3b81e146ed0
|
24
|
+
|
25
|
+
|
26
|
+
<body>
|
27
|
+
|
28
|
+
<div id="graphDiv"></div>
|
29
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
30
|
+
<script type="module">
|
31
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
32
|
+
|
33
|
+
mermaid.initialize({startOnLoad: false});
|
34
|
+
await mermaid.run({
|
35
|
+
querySelector: '.mermaid',
|
36
|
+
postRenderCallback: (id) => {
|
37
|
+
const container = document.getElementById("diagram-container");
|
38
|
+
const svgElement = container.querySelector("svg");
|
39
|
+
|
40
|
+
// Initialize Panzoom
|
41
|
+
const panzoomInstance = Panzoom(svgElement, {
|
42
|
+
maxScale: 5,
|
43
|
+
minScale: 0.5,
|
44
|
+
step: 0.1,
|
45
|
+
});
|
46
|
+
|
47
|
+
// Add mouse wheel zoom
|
48
|
+
container.addEventListener("wheel", (event) => {
|
49
|
+
panzoomInstance.zoomWithWheel(event);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
|
55
|
+
const drawDiagram = async function () {
|
56
|
+
const element = document.querySelector('#graphDiv');
|
57
|
+
const graphDefinition = `
|
58
|
+
flowchart TD
|
59
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
60
|
+
|
61
|
+
7480a3b1-8d6c-4062-ae59-f3b81e146ed0@{ shape: flip-tri, label: "*Information Supply Chain*
|
62
|
+
**Physical Inventory Tracking**"}
|
63
|
+
b02bfd5a-7380-4d7e-aa4f-151ccc090d70@{ shape: text, label: "*Description*
|
64
|
+
**Managing information take tracks physical goods from suppliers, to depot and manufacturing.**"}
|
65
|
+
7480a3b1-8d6c-4062-ae59-f3b81e146ed0~~~b02bfd5a-7380-4d7e-aa4f-151ccc090d70
|
66
|
+
d39be897-562d-4e0c-883b-996de6c106be@{ shape: text, label: "*Purpose*
|
67
|
+
**Ensuring effective management of physical inventory.**"}
|
68
|
+
b02bfd5a-7380-4d7e-aa4f-151ccc090d70~~~d39be897-562d-4e0c-883b-996de6c106be
|
69
|
+
6078f070-88ab-4eb4-b095-f932a7083881@{ shape: text, label: "*Purpose*
|
70
|
+
**Ensuring hazardous materials are properly identified, reported and managed.**"}
|
71
|
+
d39be897-562d-4e0c-883b-996de6c106be~~~6078f070-88ab-4eb4-b095-f932a7083881
|
72
|
+
db144477-e6cb-4fd1-9521-4a577de9af04@{ shape: rounded, label: "*Software Server*
|
73
|
+
**System:procurement03**"}
|
74
|
+
11071e76-23a8-4f3d-bd07-3b9aa9781bda@{ shape: rounded, label: "*Software Server*
|
75
|
+
**System:coco-ledgers**"}
|
76
|
+
db144477-e6cb-4fd1-9521-4a577de9af04-->|"invoice [Data Flow]"|11071e76-23a8-4f3d-bd07-3b9aa9781bda
|
77
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4@{ shape: rounded, label: "*Software Server*
|
78
|
+
**System:MFCTRL9482**"}
|
79
|
+
9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2@{ shape: rounded, label: "*Software Server*
|
80
|
+
**System:aus-inventory**"}
|
81
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4-->|"goods received [Data Flow]"|9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2
|
82
|
+
23fb5e33-11c9-4eb6-91d6-f2e873f8da68@{ shape: rounded, label: "*Software Server*
|
83
|
+
**System:procurement04**"}
|
84
|
+
9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2-->|"procurement request [Data Flow]"|23fb5e33-11c9-4eb6-91d6-f2e873f8da68
|
85
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b@{ shape: rounded, label: "*Software Server*
|
86
|
+
**System:ed-mfg-control**"}
|
87
|
+
467dd9a0-89d6-4796-a058-c079bf54b6c7@{ shape: rounded, label: "*Software Server*
|
88
|
+
**System:coco-inventory**"}
|
89
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b-->|"goods received [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
90
|
+
a5abdf72-0e5f-4366-8072-fac3bbb41ea6@{ shape: rounded, label: "*Software Server*
|
91
|
+
**System:procurement05**"}
|
92
|
+
467dd9a0-89d6-4796-a058-c079bf54b6c7-->|"procurement request [Data Flow]"|a5abdf72-0e5f-4366-8072-fac3bbb41ea6
|
93
|
+
23fb5e33-11c9-4eb6-91d6-f2e873f8da68-->|"invoice [Data Flow]"|11071e76-23a8-4f3d-bd07-3b9aa9781bda
|
94
|
+
cbe8c0bb-0e27-4d2a-825f-f017ee939028@{ shape: rounded, label: "*Software Server*
|
95
|
+
**System:procurement01**"}
|
96
|
+
467dd9a0-89d6-4796-a058-c079bf54b6c7-->|"procurement request [Data Flow]"|cbe8c0bb-0e27-4d2a-825f-f017ee939028
|
97
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c@{ shape: rounded, label: "*Software Server*
|
98
|
+
**System:winch-mfg-control**"}
|
99
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c-->|"goods request [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
100
|
+
a5abdf72-0e5f-4366-8072-fac3bbb41ea6-->|"goods in [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
101
|
+
cbe8c0bb-0e27-4d2a-825f-f017ee939028-->|"invoice [Data Flow]"|11071e76-23a8-4f3d-bd07-3b9aa9781bda
|
102
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b-->|"goods request [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
103
|
+
a5abdf72-0e5f-4366-8072-fac3bbb41ea6-->|"invoice [Data Flow]"|11071e76-23a8-4f3d-bd07-3b9aa9781bda
|
104
|
+
cbe8c0bb-0e27-4d2a-825f-f017ee939028-->|"goods in [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
105
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4-->|"goods request [Data Flow]"|9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2
|
106
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c-->|"goods received [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
107
|
+
db144477-e6cb-4fd1-9521-4a577de9af04-->|"goods in [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
108
|
+
467dd9a0-89d6-4796-a058-c079bf54b6c7-->|"procurement request [Data Flow]"|db144477-e6cb-4fd1-9521-4a577de9af04
|
109
|
+
bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b-->|"goods produced [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
110
|
+
c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4-->|"goods produced [Data Flow]"|9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2
|
111
|
+
0f59833f-8a8a-488b-808a-9ea24618bb6c-->|"goods produced [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
112
|
+
23fb5e33-11c9-4eb6-91d6-f2e873f8da68-->|"goods in [Data Flow]"|9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2
|
113
|
+
25e2e56d-2e2f-4f6f-a1ed-019dd76d589a@{ shape: rounded, label: "*Software Server*
|
114
|
+
**System:manufacturing-planning**"}
|
115
|
+
25e2e56d-2e2f-4f6f-a1ed-019dd76d589a-->|"planned orders [Data Flow]"|467dd9a0-89d6-4796-a058-c079bf54b6c7
|
116
|
+
style a5abdf72-0e5f-4366-8072-fac3bbb41ea6 color:#000000, fill:#e0ab18, stroke:#004563
|
117
|
+
style c24e9ea0-171a-46d8-a5d8-3fedcfe97aa4 color:#000000, fill:#e0ab18, stroke:#004563
|
118
|
+
style bdf60c10-e8f8-4b49-9f92-e0c6a40b0d7b color:#000000, fill:#e0ab18, stroke:#004563
|
119
|
+
style 9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2 color:#000000, fill:#e0ab18, stroke:#004563
|
120
|
+
style 7480a3b1-8d6c-4062-ae59-f3b81e146ed0 color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
121
|
+
style db144477-e6cb-4fd1-9521-4a577de9af04 color:#000000, fill:#e0ab18, stroke:#004563
|
122
|
+
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
123
|
+
style cbe8c0bb-0e27-4d2a-825f-f017ee939028 color:#000000, fill:#e0ab18, stroke:#004563
|
124
|
+
style d39be897-562d-4e0c-883b-996de6c106be color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
125
|
+
style 25e2e56d-2e2f-4f6f-a1ed-019dd76d589a color:#000000, fill:#e0ab18, stroke:#004563
|
126
|
+
style 6078f070-88ab-4eb4-b095-f932a7083881 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
127
|
+
style b02bfd5a-7380-4d7e-aa4f-151ccc090d70 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
128
|
+
style 467dd9a0-89d6-4796-a058-c079bf54b6c7 color:#000000, fill:#e0ab18, stroke:#004563
|
129
|
+
style 23fb5e33-11c9-4eb6-91d6-f2e873f8da68 color:#000000, fill:#e0ab18, stroke:#004563
|
130
|
+
style 0f59833f-8a8a-488b-808a-9ea24618bb6c color:#000000, fill:#e0ab18, stroke:#004563`;
|
131
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
132
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
133
|
+
|
134
|
+
var doPan = false;
|
135
|
+
var eventsHandler;
|
136
|
+
var panZoom;
|
137
|
+
var mousepos;
|
138
|
+
|
139
|
+
eventsHandler = {
|
140
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
141
|
+
|
142
|
+
, mouseDownHandler: function (ev) {
|
143
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
144
|
+
doPan = true;
|
145
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
146
|
+
}
|
147
|
+
;
|
148
|
+
}
|
149
|
+
|
150
|
+
, mouseMoveHandler: function (ev) {
|
151
|
+
if (doPan) {
|
152
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
153
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
154
|
+
window.getSelection().removeAllRanges();
|
155
|
+
}
|
156
|
+
}
|
157
|
+
|
158
|
+
, mouseUpHandler: function (ev) {
|
159
|
+
doPan = false;
|
160
|
+
}
|
161
|
+
|
162
|
+
, init: function (options) {
|
163
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
164
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
165
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
166
|
+
}
|
167
|
+
|
168
|
+
, destroy: function (options) {
|
169
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
170
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
171
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
172
|
+
}
|
173
|
+
}
|
174
|
+
panZoom = svgPanZoom('#mySvgId', {
|
175
|
+
zoomEnabled: true
|
176
|
+
, controlIconsEnabled: true
|
177
|
+
, fit: 1
|
178
|
+
, center: 1
|
179
|
+
, customEventsHandler: eventsHandler
|
180
|
+
})
|
181
|
+
};
|
182
|
+
await drawDiagram();
|
183
|
+
</script>
|
184
|
+
</body>
|
185
|
+
|
@@ -0,0 +1,210 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<style type="text/css">
|
6
|
+
#mySvgId {
|
7
|
+
width: 100%;
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
11
|
+
position: relative;
|
12
|
+
margin-bottom: 10px;
|
13
|
+
}
|
14
|
+
svg {
|
15
|
+
cursor: grab;
|
16
|
+
}
|
17
|
+
|
18
|
+
</style>
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<title>Information Supply Chain - Sustainability Reporting </title>
|
22
|
+
<h3 style="text-align: center;">Information Supply Chain - Sustainability Reporting </h3>
|
23
|
+
GUID : dd15b286-a38d-4f03-8625-aaded8596048
|
24
|
+
|
25
|
+
|
26
|
+
<body>
|
27
|
+
|
28
|
+
<div id="graphDiv"></div>
|
29
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
30
|
+
<script type="module">
|
31
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
32
|
+
|
33
|
+
mermaid.initialize({startOnLoad: false});
|
34
|
+
await mermaid.run({
|
35
|
+
querySelector: '.mermaid',
|
36
|
+
postRenderCallback: (id) => {
|
37
|
+
const container = document.getElementById("diagram-container");
|
38
|
+
const svgElement = container.querySelector("svg");
|
39
|
+
|
40
|
+
// Initialize Panzoom
|
41
|
+
const panzoomInstance = Panzoom(svgElement, {
|
42
|
+
maxScale: 5,
|
43
|
+
minScale: 0.5,
|
44
|
+
step: 0.1,
|
45
|
+
});
|
46
|
+
|
47
|
+
// Add mouse wheel zoom
|
48
|
+
container.addEventListener("wheel", (event) => {
|
49
|
+
panzoomInstance.zoomWithWheel(event);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
|
55
|
+
const drawDiagram = async function () {
|
56
|
+
const element = document.querySelector('#graphDiv');
|
57
|
+
const graphDefinition = `
|
58
|
+
flowchart TD
|
59
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
60
|
+
|
61
|
+
dd15b286-a38d-4f03-8625-aaded8596048@{ shape: flip-tri, label: "*Information Supply Chain*
|
62
|
+
**Sustainability Reporting**"}
|
63
|
+
53520338-8c7c-4103-81e2-9e2ff48c72a4@{ shape: text, label: "*Description*
|
64
|
+
**Delivering information to the sustainability reporting tools.**"}
|
65
|
+
dd15b286-a38d-4f03-8625-aaded8596048~~~53520338-8c7c-4103-81e2-9e2ff48c72a4
|
66
|
+
029b2481-1494-4378-a96f-5d209db39d0a@{ shape: text, label: "*Purpose*
|
67
|
+
**Ensuring sustainability reporting is accurate.**"}
|
68
|
+
53520338-8c7c-4103-81e2-9e2ff48c72a4~~~029b2481-1494-4378-a96f-5d209db39d0a
|
69
|
+
af07dc2b-ae07-442b-9b06-43d4ef52138a@{ shape: hex, label: "*Information Supply Chain Segment*
|
70
|
+
**Sustainability Report Delivery**"}
|
71
|
+
a491accc-aaaa-455b-893e-b6f7b0bf0afb@{ shape: hex, label: "*Information Supply Chain Segment*
|
72
|
+
**Sustainability Assessment**"}
|
73
|
+
a491accc-aaaa-455b-893e-b6f7b0bf0afb-->|"publish report,
|
74
|
+
[Information Supply Chain Link]"|af07dc2b-ae07-442b-9b06-43d4ef52138a
|
75
|
+
9fb47e51-4121-495d-be31-f766a1f70856@{ shape: hex, label: "*Information Supply Chain Segment*
|
76
|
+
**Sustainability Data Gathering**"}
|
77
|
+
9fb47e51-4121-495d-be31-f766a1f70856-->|"deliver data,
|
78
|
+
[Information Supply Chain Link]"|a491accc-aaaa-455b-893e-b6f7b0bf0afb
|
79
|
+
d50a6f1f-49d2-47c3-a55e-5844464bd26f@{ shape: rect, label: "*Solution Component*
|
80
|
+
**SolutionComponent:Sustainability Dashboards:V1.0**"}
|
81
|
+
fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4@{ shape: rect, label: "*Solution Component*
|
82
|
+
**SolutionComponent:Sustainability Operational Data Store (ODS):V1.0**"}
|
83
|
+
fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4-->|"travel inventory,
|
84
|
+
[Solution Linking Wire]"|d50a6f1f-49d2-47c3-a55e-5844464bd26f
|
85
|
+
06edd666-06fd-43ef-b7bd-22e2651c334f@{ shape: rect, label: "*Solution Component*
|
86
|
+
**SolutionComponent:Sustainability Calculators:V1.0**"}
|
87
|
+
06edd666-06fd-43ef-b7bd-22e2651c334f-->|"results publishing,
|
88
|
+
[Solution Linking Wire]"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
89
|
+
fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4-->|"raw data request,
|
90
|
+
[Solution Linking Wire]"|06edd666-06fd-43ef-b7bd-22e2651c334f
|
91
|
+
2c0f5a4e-bb02-4081-a80e-3072ca99a1aa@{ shape: rect, label: "*Solution Component*
|
92
|
+
**SolutionComponent:Accounting ledgers:V1.0**"}
|
93
|
+
2c0f5a4e-bb02-4081-a80e-3072ca99a1aa-->|"spending types,
|
94
|
+
[Solution Linking Wire]"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
95
|
+
25fd5be7-692d-4752-9dc7-30068a7d665e@{ shape: rect, label: "*Solution Component*
|
96
|
+
**SolutionComponent:Hazardous Materials (HazMat) Inventory:V1.0**"}
|
97
|
+
25fd5be7-692d-4752-9dc7-30068a7d665e-->|"publish hazmat levels,
|
98
|
+
[Solution Linking Wire]"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
99
|
+
50768e61-43b6-4241-96a3-4c413582ec1f@{ shape: rect, label: "*Solution Component*
|
100
|
+
**SolutionComponent:Goods Inventory:V1.0**"}
|
101
|
+
50768e61-43b6-4241-96a3-4c413582ec1f-->|"goods movement,
|
102
|
+
[Solution Linking Wire]"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
103
|
+
02cdce9a-7630-479a-90de-fd7698d098f1@{ shape: rect, label: "*Solution Component*
|
104
|
+
**SolutionComponent:Employee Expense Tool:V1.0**"}
|
105
|
+
02cdce9a-7630-479a-90de-fd7698d098f1-->|"travel inventory,
|
106
|
+
[Solution Linking Wire]"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
107
|
+
8a578f0d-f7ae-4255-b4a5-236241fa5449@{ shape: rounded, label: "*Software Server*
|
108
|
+
**System:coco-sus**"}
|
109
|
+
5a2927f3-eed6-4509-bceb-2c29aa415090@{ shape: rounded, label: "*Software Server*
|
110
|
+
**System:coco-sus-dashboards**"}
|
111
|
+
8a578f0d-f7ae-4255-b4a5-236241fa5449-->|"data request [Data Flow]"|5a2927f3-eed6-4509-bceb-2c29aa415090
|
112
|
+
11071e76-23a8-4f3d-bd07-3b9aa9781bda@{ shape: rounded, label: "*Software Server*
|
113
|
+
**System:coco-ledgers**"}
|
114
|
+
11071e76-23a8-4f3d-bd07-3b9aa9781bda-->|"spending types [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
115
|
+
ad8eab54-c2f7-494d-82d0-bf5985e5a58d@{ shape: rounded, label: "*Software Server*
|
116
|
+
**System:coco-expenses**"}
|
117
|
+
ad8eab54-c2f7-494d-82d0-bf5985e5a58d-->|"travel inventory [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
118
|
+
047691ac-8628-472d-aca0-82bedc947ef4@{ shape: rounded, label: "*Software Server*
|
119
|
+
**System:austin-haz-mat**"}
|
120
|
+
047691ac-8628-472d-aca0-82bedc947ef4-->|"publish hazmat [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
121
|
+
3dbe7e96-c9e5-4336-a29a-9342258e50f8@{ shape: rounded, label: "*Software Server*
|
122
|
+
**System:coco-sus-calculators**"}
|
123
|
+
3dbe7e96-c9e5-4336-a29a-9342258e50f8-->|"results publishing [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
124
|
+
9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2@{ shape: rounded, label: "*Software Server*
|
125
|
+
**System:aus-inventory**"}
|
126
|
+
9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2-->|"goods movement [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
127
|
+
8a578f0d-f7ae-4255-b4a5-236241fa5449-->|"data request [Data Flow]"|3dbe7e96-c9e5-4336-a29a-9342258e50f8
|
128
|
+
6e786315-ae54-445b-b516-f3c1f0e5f289@{ shape: rounded, label: "*Software Server*
|
129
|
+
**System:coco-haz-mat**"}
|
130
|
+
6e786315-ae54-445b-b516-f3c1f0e5f289-->|"publish hazmat [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
131
|
+
467dd9a0-89d6-4796-a058-c079bf54b6c7@{ shape: rounded, label: "*Software Server*
|
132
|
+
**System:coco-inventory**"}
|
133
|
+
467dd9a0-89d6-4796-a058-c079bf54b6c7-->|"goods movement [Data Flow]"|8a578f0d-f7ae-4255-b4a5-236241fa5449
|
134
|
+
style dd15b286-a38d-4f03-8625-aaded8596048 color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
135
|
+
style ad8eab54-c2f7-494d-82d0-bf5985e5a58d color:#000000, fill:#e0ab18, stroke:#004563
|
136
|
+
style 9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2 color:#000000, fill:#e0ab18, stroke:#004563
|
137
|
+
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
138
|
+
style 8a578f0d-f7ae-4255-b4a5-236241fa5449 color:#000000, fill:#e0ab18, stroke:#004563
|
139
|
+
style fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
140
|
+
style 25fd5be7-692d-4752-9dc7-30068a7d665e color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
141
|
+
style 3dbe7e96-c9e5-4336-a29a-9342258e50f8 color:#000000, fill:#e0ab18, stroke:#004563
|
142
|
+
style 06edd666-06fd-43ef-b7bd-22e2651c334f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
143
|
+
style 02cdce9a-7630-479a-90de-fd7698d098f1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
144
|
+
style 029b2481-1494-4378-a96f-5d209db39d0a color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
145
|
+
style af07dc2b-ae07-442b-9b06-43d4ef52138a color:#004563, fill:#b7c0c7, stroke:#004563
|
146
|
+
style 047691ac-8628-472d-aca0-82bedc947ef4 color:#000000, fill:#e0ab18, stroke:#004563
|
147
|
+
style d50a6f1f-49d2-47c3-a55e-5844464bd26f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
148
|
+
style 53520338-8c7c-4103-81e2-9e2ff48c72a4 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
149
|
+
style 6e786315-ae54-445b-b516-f3c1f0e5f289 color:#000000, fill:#e0ab18, stroke:#004563
|
150
|
+
style 467dd9a0-89d6-4796-a058-c079bf54b6c7 color:#000000, fill:#e0ab18, stroke:#004563
|
151
|
+
style 50768e61-43b6-4241-96a3-4c413582ec1f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
152
|
+
style a491accc-aaaa-455b-893e-b6f7b0bf0afb color:#004563, fill:#b7c0c7, stroke:#004563
|
153
|
+
style 5a2927f3-eed6-4509-bceb-2c29aa415090 color:#000000, fill:#e0ab18, stroke:#004563
|
154
|
+
style 2c0f5a4e-bb02-4081-a80e-3072ca99a1aa color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
155
|
+
style 9fb47e51-4121-495d-be31-f766a1f70856 color:#004563, fill:#b7c0c7, stroke:#004563`;
|
156
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
157
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
158
|
+
|
159
|
+
var doPan = false;
|
160
|
+
var eventsHandler;
|
161
|
+
var panZoom;
|
162
|
+
var mousepos;
|
163
|
+
|
164
|
+
eventsHandler = {
|
165
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
166
|
+
|
167
|
+
, mouseDownHandler: function (ev) {
|
168
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
169
|
+
doPan = true;
|
170
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
171
|
+
}
|
172
|
+
;
|
173
|
+
}
|
174
|
+
|
175
|
+
, mouseMoveHandler: function (ev) {
|
176
|
+
if (doPan) {
|
177
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
178
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
179
|
+
window.getSelection().removeAllRanges();
|
180
|
+
}
|
181
|
+
}
|
182
|
+
|
183
|
+
, mouseUpHandler: function (ev) {
|
184
|
+
doPan = false;
|
185
|
+
}
|
186
|
+
|
187
|
+
, init: function (options) {
|
188
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
189
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
190
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
191
|
+
}
|
192
|
+
|
193
|
+
, destroy: function (options) {
|
194
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
195
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
196
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
197
|
+
}
|
198
|
+
}
|
199
|
+
panZoom = svgPanZoom('#mySvgId', {
|
200
|
+
zoomEnabled: true
|
201
|
+
, controlIconsEnabled: true
|
202
|
+
, fit: 1
|
203
|
+
, center: 1
|
204
|
+
, customEventsHandler: eventsHandler
|
205
|
+
})
|
206
|
+
};
|
207
|
+
await drawDiagram();
|
208
|
+
</script>
|
209
|
+
</body>
|
210
|
+
|
@@ -0,0 +1,122 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<style type="text/css">
|
6
|
+
#mySvgId {
|
7
|
+
width: 100%;
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
11
|
+
position: relative;
|
12
|
+
margin-bottom: 10px;
|
13
|
+
}
|
14
|
+
svg {
|
15
|
+
cursor: grab;
|
16
|
+
}
|
17
|
+
|
18
|
+
</style>
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<title>Information Supply Chain - {{displayName}} </title>
|
22
|
+
<h3 style="text-align: center;">Information Supply Chain - {{displayName}} </h3>
|
23
|
+
GUID : ba3ab0dd-3ec5-4ec5-9db9-f3dc56e3a732
|
24
|
+
|
25
|
+
|
26
|
+
<body>
|
27
|
+
|
28
|
+
<div id="graphDiv"></div>
|
29
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
30
|
+
<script type="module">
|
31
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
32
|
+
|
33
|
+
mermaid.initialize({startOnLoad: false});
|
34
|
+
await mermaid.run({
|
35
|
+
querySelector: '.mermaid',
|
36
|
+
postRenderCallback: (id) => {
|
37
|
+
const container = document.getElementById("diagram-container");
|
38
|
+
const svgElement = container.querySelector("svg");
|
39
|
+
|
40
|
+
// Initialize Panzoom
|
41
|
+
const panzoomInstance = Panzoom(svgElement, {
|
42
|
+
maxScale: 5,
|
43
|
+
minScale: 0.5,
|
44
|
+
step: 0.1,
|
45
|
+
});
|
46
|
+
|
47
|
+
// Add mouse wheel zoom
|
48
|
+
container.addEventListener("wheel", (event) => {
|
49
|
+
panzoomInstance.zoomWithWheel(event);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
|
55
|
+
const drawDiagram = async function () {
|
56
|
+
const element = document.querySelector('#graphDiv');
|
57
|
+
const graphDefinition = `
|
58
|
+
flowchart TD
|
59
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
60
|
+
|
61
|
+
ba3ab0dd-3ec5-4ec5-9db9-f3dc56e3a732@{ shape: flip-tri, label: "*Information Supply Chain*
|
62
|
+
**{{displayName}}**"}
|
63
|
+
7c5a4139-7d56-46f1-9cc5-92a2cf709903@{ shape: text, label: "*Description*
|
64
|
+
**{{description}}**"}
|
65
|
+
ba3ab0dd-3ec5-4ec5-9db9-f3dc56e3a732~~~7c5a4139-7d56-46f1-9cc5-92a2cf709903
|
66
|
+
style 7c5a4139-7d56-46f1-9cc5-92a2cf709903 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
67
|
+
style ba3ab0dd-3ec5-4ec5-9db9-f3dc56e3a732 color:#FFFFFF, fill:#004563, stroke:#b7c0c7`;
|
68
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
69
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
70
|
+
|
71
|
+
var doPan = false;
|
72
|
+
var eventsHandler;
|
73
|
+
var panZoom;
|
74
|
+
var mousepos;
|
75
|
+
|
76
|
+
eventsHandler = {
|
77
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
78
|
+
|
79
|
+
, mouseDownHandler: function (ev) {
|
80
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
81
|
+
doPan = true;
|
82
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
83
|
+
}
|
84
|
+
;
|
85
|
+
}
|
86
|
+
|
87
|
+
, mouseMoveHandler: function (ev) {
|
88
|
+
if (doPan) {
|
89
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
90
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
91
|
+
window.getSelection().removeAllRanges();
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
, mouseUpHandler: function (ev) {
|
96
|
+
doPan = false;
|
97
|
+
}
|
98
|
+
|
99
|
+
, init: function (options) {
|
100
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
101
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
102
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
103
|
+
}
|
104
|
+
|
105
|
+
, destroy: function (options) {
|
106
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
107
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
108
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
109
|
+
}
|
110
|
+
}
|
111
|
+
panZoom = svgPanZoom('#mySvgId', {
|
112
|
+
zoomEnabled: true
|
113
|
+
, controlIconsEnabled: true
|
114
|
+
, fit: 1
|
115
|
+
, center: 1
|
116
|
+
, customEventsHandler: eventsHandler
|
117
|
+
})
|
118
|
+
};
|
119
|
+
await drawDiagram();
|
120
|
+
</script>
|
121
|
+
</body>
|
122
|
+
|