pyegeria 5.3.3.12__py3-none-any.whl → 5.3.3.13__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/__init__.py +2 -1
- pyegeria/commands/tech/list_information_supply_chains.py +10 -7
- 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 +277 -72
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dist-info}/METADATA +1 -1
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dist-info}/RECORD +19 -94
- 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.dist-info}/LICENSE +0 -0
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dist-info}/WHEEL +0 -0
- {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.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
|
+
6dce4c2f-29bd-44f0-a968-9084fc331b78@{ shape: text, label: "*Description*
|
57
|
+
**Adding information about a new employee to all appropriate systems and directories.**"}
|
58
|
+
022009d9-53cb-4469-afeb-16ee81d8f9bc~~~6dce4c2f-29bd-44f0-a968-9084fc331b78
|
59
|
+
cde7bdad-bf9e-48b2-8a39-00e8c871f023@{ shape: text, label: "*Purpose*
|
60
|
+
**Ensure a new employee is productive and engaged in a timely manner.**"}
|
61
|
+
6dce4c2f-29bd-44f0-a968-9084fc331b78~~~cde7bdad-bf9e-48b2-8a39-00e8c871f023
|
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 022009d9-53cb-4469-afeb-16ee81d8f9bc color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
77
|
+
style 6dce4c2f-29bd-44f0-a968-9084fc331b78 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
78
|
+
style cde7bdad-bf9e-48b2-8a39-00e8c871f023 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
79
|
+
style ae0c7768-c01e-4bd1-8a47-fbacfccf2f63 color:#000000, fill:#e0ab18, stroke:#004563
|
80
|
+
style 88c42780-6fb1-49e2-a584-8af90cdc7728 color:#000000, fill:#e0ab18, stroke:#004563
|
81
|
+
style 12c9d1a4-2a5d-4e7c-a640-97f206270425 color:#000000, fill:#e0ab18, stroke:#004563
|
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
|
+
6b6468b9-c34c-4c1e-9159-69e8ae7486da@{ 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~~~6b6468b9-c34c-4c1e-9159-69e8ae7486da
|
59
|
+
016a9f2a-66ac-4890-83c6-22b0aa870787@{ shape: text, label: "*Purpose*
|
60
|
+
**Ensuring orders are fulfilled effectively.**"}
|
61
|
+
6b6468b9-c34c-4c1e-9159-69e8ae7486da~~~016a9f2a-66ac-4890-83c6-22b0aa870787
|
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 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
85
|
+
style 016a9f2a-66ac-4890-83c6-22b0aa870787 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
86
|
+
style 0f59833f-8a8a-488b-808a-9ea24618bb6c color:#000000, fill:#e0ab18, stroke:#004563
|
87
|
+
style 25e2e56d-2e2f-4f6f-a1ed-019dd76d589a color:#000000, fill:#e0ab18, stroke:#004563
|
88
|
+
style 6b6468b9-c34c-4c1e-9159-69e8ae7486da color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
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
|
+
4eee01b9-66f1-435e-8924-09235062413e@{ 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~~~4eee01b9-66f1-435e-8924-09235062413e
|
59
|
+
12ee0351-e01a-4312-a5ff-a2d2a721e92d@{ shape: text, label: "*Purpose*
|
21
60
|
**Ensuring effective management of physical inventory.**"}
|
22
|
-
|
23
|
-
|
61
|
+
4eee01b9-66f1-435e-8924-09235062413e~~~12ee0351-e01a-4312-a5ff-a2d2a721e92d
|
62
|
+
85423a2d-f935-46cd-8be1-2eb4f4239f22@{ shape: text, label: "*Purpose*
|
24
63
|
**Ensuring hazardous materials are properly identified, reported and managed.**"}
|
25
|
-
|
64
|
+
12ee0351-e01a-4312-a5ff-a2d2a721e92d~~~85423a2d-f935-46cd-8be1-2eb4f4239f22
|
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
|
76
114
|
style db144477-e6cb-4fd1-9521-4a577de9af04 color:#000000, fill:#e0ab18, stroke:#004563
|
77
115
|
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
78
116
|
style cbe8c0bb-0e27-4d2a-825f-f017ee939028 color:#000000, fill:#e0ab18, stroke:#004563
|
117
|
+
style 12ee0351-e01a-4312-a5ff-a2d2a721e92d color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
79
118
|
style 25e2e56d-2e2f-4f6f-a1ed-019dd76d589a color:#000000, fill:#e0ab18, stroke:#004563
|
80
|
-
style e5d0634d-e50c-425f-ac81-1e1d96b729b6 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
81
|
-
style c65f691e-804b-4882-a6b0-bb70cbe9f3bd color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
82
119
|
style 467dd9a0-89d6-4796-a058-c079bf54b6c7 color:#000000, fill:#e0ab18, stroke:#004563
|
83
120
|
style 23fb5e33-11c9-4eb6-91d6-f2e873f8da68 color:#000000, fill:#e0ab18, stroke:#004563
|
121
|
+
style 4eee01b9-66f1-435e-8924-09235062413e color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
84
122
|
style 0f59833f-8a8a-488b-808a-9ea24618bb6c color:#000000, fill:#e0ab18, stroke:#004563
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
123
|
+
style 85423a2d-f935-46cd-8be1-2eb4f4239f22 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
|
+
81fb3cc9-6bdb-4961-80e6-df61df658d14@{ 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~~~81fb3cc9-6bdb-4961-80e6-df61df658d14
|
59
|
+
3cd22769-b940-4154-a3d3-f78546a03301@{ shape: text, label: "*Purpose*
|
21
60
|
**Ensuring sustainability reporting is accurate.**"}
|
22
|
-
|
61
|
+
81fb3cc9-6bdb-4961-80e6-df61df658d14~~~3cd22769-b940-4154-a3d3-f78546a03301
|
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*
|
@@ -89,6 +128,7 @@ style dd15b286-a38d-4f03-8625-aaded8596048 color:#FFFFFF, fill:#004563, stroke:#
|
|
89
128
|
style ad8eab54-c2f7-494d-82d0-bf5985e5a58d color:#000000, fill:#e0ab18, stroke:#004563
|
90
129
|
style 9e29ee1f-01d3-482c-9d1b-8b3f36ce62d2 color:#000000, fill:#e0ab18, stroke:#004563
|
91
130
|
style 11071e76-23a8-4f3d-bd07-3b9aa9781bda color:#000000, fill:#e0ab18, stroke:#004563
|
131
|
+
style 81fb3cc9-6bdb-4961-80e6-df61df658d14 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
92
132
|
style 8a578f0d-f7ae-4255-b4a5-236241fa5449 color:#000000, fill:#e0ab18, stroke:#004563
|
93
133
|
style fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
94
134
|
style 25fd5be7-692d-4752-9dc7-30068a7d665e color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
@@ -97,21 +137,67 @@ style 06edd666-06fd-43ef-b7bd-22e2651c334f color:#FFFFFF, fill:#838cc7, stroke:#
|
|
97
137
|
style 02cdce9a-7630-479a-90de-fd7698d098f1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
98
138
|
style af07dc2b-ae07-442b-9b06-43d4ef52138a color:#004563, fill:#b7c0c7, stroke:#004563
|
99
139
|
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
140
|
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
141
|
style 6e786315-ae54-445b-b516-f3c1f0e5f289 color:#000000, fill:#e0ab18, stroke:#004563
|
104
142
|
style 467dd9a0-89d6-4796-a058-c079bf54b6c7 color:#000000, fill:#e0ab18, stroke:#004563
|
105
143
|
style 50768e61-43b6-4241-96a3-4c413582ec1f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
144
|
+
style 3cd22769-b940-4154-a3d3-f78546a03301 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
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
|
+
|