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.
Files changed (99) hide show
  1. pyegeria/commands/tech/list_information_supply_chains.py +5 -4
  2. pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.html +135 -0
  3. pyegeria/commands/tech/work/mermaid_graphs/{Clinical Trial Treatment Validation.mmd → Clinical Trial Treatment Validation.html } +127 -41
  4. pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.html +126 -0
  5. pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.html +141 -0
  6. pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.html +138 -0
  7. pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.html +143 -0
  8. pyegeria/commands/tech/work/mermaid_graphs/{Physical Inventory Tracking.mmd → Physical Inventory Tracking.html } +114 -28
  9. pyegeria/commands/tech/work/mermaid_graphs/{Sustainability Reporting.mmd → Sustainability Reporting.html } +112 -26
  10. pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html +115 -0
  11. pyegeria/mermaid_utilities.py +243 -22
  12. {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/METADATA +1 -1
  13. {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/RECORD +18 -93
  14. pyegeria/.DS_Store +0 -0
  15. pyegeria/commands/.DS_Store +0 -0
  16. pyegeria/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  17. pyegeria/commands/__pycache__/server_status_widget.cpython-312-pytest-7.4.4.pyc +0 -0
  18. pyegeria/commands/cat/__pycache__/__init__.cpython-312.pyc +0 -0
  19. pyegeria/commands/cat/__pycache__/get_asset_graph.cpython-312.pyc +0 -0
  20. pyegeria/commands/cat/__pycache__/get_collection.cpython-312.pyc +0 -0
  21. pyegeria/commands/cat/__pycache__/get_project_dependencies.cpython-312.pyc +0 -0
  22. pyegeria/commands/cat/__pycache__/get_project_structure.cpython-312.pyc +0 -0
  23. pyegeria/commands/cat/__pycache__/get_tech_type_elements.cpython-312.pyc +0 -0
  24. pyegeria/commands/cat/__pycache__/glossary_actions.cpython-312.pyc +0 -0
  25. pyegeria/commands/cat/__pycache__/list_assets.cpython-312.pyc +0 -0
  26. pyegeria/commands/cat/__pycache__/list_cert_types.cpython-312.pyc +0 -0
  27. pyegeria/commands/cat/__pycache__/list_collections.cpython-312.pyc +0 -0
  28. pyegeria/commands/cat/__pycache__/list_deployed_catalogs.cpython-312.pyc +0 -0
  29. pyegeria/commands/cat/__pycache__/list_deployed_database_schemas.cpython-312.pyc +0 -0
  30. pyegeria/commands/cat/__pycache__/list_deployed_databases.cpython-312.pyc +0 -0
  31. pyegeria/commands/cat/__pycache__/list_glossaries.cpython-312.pyc +0 -0
  32. pyegeria/commands/cat/__pycache__/list_projects.cpython-312.pyc +0 -0
  33. pyegeria/commands/cat/__pycache__/list_servers_deployed_imp.cpython-312.pyc +0 -0
  34. pyegeria/commands/cat/__pycache__/list_tech_type_elements.cpython-312.pyc +0 -0
  35. pyegeria/commands/cat/__pycache__/list_tech_types.cpython-312.pyc +0 -0
  36. pyegeria/commands/cat/__pycache__/list_terms.cpython-312.pyc +0 -0
  37. pyegeria/commands/cat/__pycache__/list_todos.cpython-312.pyc +0 -0
  38. pyegeria/commands/cat/__pycache__/list_user_ids.cpython-312.pyc +0 -0
  39. pyegeria/commands/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  40. pyegeria/commands/cli/__pycache__/egeria_login_tui.cpython-312.pyc +0 -0
  41. pyegeria/commands/cli/__pycache__/egeria_ops.cpython-312.pyc +0 -0
  42. pyegeria/commands/cli/__pycache__/ops_config.cpython-312.pyc +0 -0
  43. pyegeria/commands/doc/.DS_Store +0 -0
  44. pyegeria/commands/doc/Visual Command Reference/.DS_Store +0 -0
  45. pyegeria/commands/doc/Visual Command Reference/cat/.DS_Store +0 -0
  46. pyegeria/commands/doc/Visual Command Reference/cat/show/.DS_Store +0 -0
  47. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/.DS_Store +0 -0
  48. pyegeria/commands/doc/glossary/.DS_Store +0 -0
  49. pyegeria/commands/doc/glossary/images/.DS_Store +0 -0
  50. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/.DS_Store +0 -0
  51. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/.DS_Store +0 -0
  52. pyegeria/commands/my/__pycache__/__init__.cpython-312.pyc +0 -0
  53. pyegeria/commands/my/__pycache__/list_my_profile.cpython-312.pyc +0 -0
  54. pyegeria/commands/my/__pycache__/list_my_roles.cpython-312.pyc +0 -0
  55. pyegeria/commands/my/__pycache__/monitor_my_todos.cpython-312.pyc +0 -0
  56. pyegeria/commands/my/__pycache__/monitor_open_todos.cpython-312.pyc +0 -0
  57. pyegeria/commands/my/__pycache__/todo_actions.cpython-312.pyc +0 -0
  58. pyegeria/commands/ops/__pycache__/__init__.cpython-312.pyc +0 -0
  59. pyegeria/commands/ops/__pycache__/gov_server_actions.cpython-312.pyc +0 -0
  60. pyegeria/commands/ops/__pycache__/list_archives.cpython-312.pyc +0 -0
  61. pyegeria/commands/ops/__pycache__/list_catalog_targets.cpython-312.pyc +0 -0
  62. pyegeria/commands/ops/__pycache__/load_archive.cpython-312.pyc +0 -0
  63. pyegeria/commands/ops/__pycache__/monitor_engine_activity.cpython-312.pyc +0 -0
  64. pyegeria/commands/ops/__pycache__/monitor_engine_activity_c.cpython-312.pyc +0 -0
  65. pyegeria/commands/ops/__pycache__/monitor_gov_eng_status.cpython-312.pyc +0 -0
  66. pyegeria/commands/ops/__pycache__/monitor_integ_daemon_status.cpython-312.pyc +0 -0
  67. pyegeria/commands/ops/__pycache__/monitor_platform_status.cpython-312.pyc +0 -0
  68. pyegeria/commands/ops/__pycache__/monitor_server_startup.cpython-312.pyc +0 -0
  69. pyegeria/commands/ops/__pycache__/monitor_server_status.cpython-312.pyc +0 -0
  70. pyegeria/commands/ops/__pycache__/refresh_integration_daemon.cpython-312.pyc +0 -0
  71. pyegeria/commands/ops/__pycache__/restart_integration_daemon.cpython-312.pyc +0 -0
  72. pyegeria/commands/ops/__pycache__/table_integ_daemon_status.cpython-312.pyc +0 -0
  73. pyegeria/commands/tech/__pycache__/__init__.cpython-312.pyc +0 -0
  74. pyegeria/commands/tech/__pycache__/get_element_info.cpython-312.pyc +0 -0
  75. pyegeria/commands/tech/__pycache__/get_guid_info.cpython-312.pyc +0 -0
  76. pyegeria/commands/tech/__pycache__/get_tech_details.cpython-312.pyc +0 -0
  77. pyegeria/commands/tech/__pycache__/get_tech_type_template.cpython-312.pyc +0 -0
  78. pyegeria/commands/tech/__pycache__/list_anchored_elements.cpython-312.pyc +0 -0
  79. pyegeria/commands/tech/__pycache__/list_asset_types.cpython-312.pyc +0 -0
  80. pyegeria/commands/tech/__pycache__/list_elements_by_property_value.cpython-312.pyc +0 -0
  81. pyegeria/commands/tech/__pycache__/list_elements_for_classification.cpython-312.pyc +0 -0
  82. pyegeria/commands/tech/__pycache__/list_gov_action_processes.cpython-312.pyc +0 -0
  83. pyegeria/commands/tech/__pycache__/list_registered_services.cpython-312.pyc +0 -0
  84. pyegeria/commands/tech/__pycache__/list_related_specification.cpython-312.pyc +0 -0
  85. pyegeria/commands/tech/__pycache__/list_relationship_types.cpython-312.pyc +0 -0
  86. pyegeria/commands/tech/__pycache__/list_relationships.cpython-312.pyc +0 -0
  87. pyegeria/commands/tech/__pycache__/list_tech_templates.cpython-312.pyc +0 -0
  88. pyegeria/commands/tech/__pycache__/list_valid_metadata_values.cpython-312.pyc +0 -0
  89. pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.mmd +0 -49
  90. pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.mmd +0 -40
  91. pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.mmd +0 -55
  92. pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.mmd +0 -52
  93. pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.mmd +0 -57
  94. pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.mmd +0 -29
  95. /pyegeria/commands/tech/{list_isolution_blueprints.py → list_solution_blueprints.py} +0 -0
  96. /pyegeria/commands/tech/{list_isolution_blueprints2.py → list_solution_blueprints2.py} +0 -0
  97. {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/LICENSE +0 -0
  98. {pyegeria-5.3.3.12.dist-info → pyegeria-5.3.3.13.dev1.dist-info}/WHEEL +0 -0
  99. {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
- <!DOCTYPE html>
3
- <html>
4
- <head>
5
- <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
6
- </head>
7
- <body>
8
- <div class="mermaid">
9
- ---
10
- title: Information Supply Chain - Physical Inventory Tracking [7480a3b1-8d6c-4062-ae59-f3b81e146ed0]
11
- ---
12
- flowchart TD
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
- f19268f1-b2aa-425b-a8e2-a0c94935d7e0@{ shape: text, label: "*Description*
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~~~f19268f1-b2aa-425b-a8e2-a0c94935d7e0
20
- c65f691e-804b-4882-a6b0-bb70cbe9f3bd@{ shape: text, label: "*Purpose*
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
- f19268f1-b2aa-425b-a8e2-a0c94935d7e0~~~c65f691e-804b-4882-a6b0-bb70cbe9f3bd
23
- e5d0634d-e50c-425f-ac81-1e1d96b729b6@{ shape: text, label: "*Purpose*
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
- c65f691e-804b-4882-a6b0-bb70cbe9f3bd~~~e5d0634d-e50c-425f-ac81-1e1d96b729b6
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 e5d0634d-e50c-425f-ac81-1e1d96b729b6 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
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
- </div>
87
-
88
- <script>
89
- mermaid.initialize({startOnLoad:true});
90
- </script>
91
- </body>
92
- </html>
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
- <!DOCTYPE html>
3
- <html>
4
- <head>
5
- <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
6
- </head>
7
- <body>
8
- <div class="mermaid">
9
- ---
10
- title: Information Supply Chain - Sustainability Reporting [dd15b286-a38d-4f03-8625-aaded8596048]
11
- ---
12
- flowchart TD
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
- 7f68bd61-bb98-4b99-9366-0340cfa8f15d@{ shape: text, label: "*Description*
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~~~7f68bd61-bb98-4b99-9366-0340cfa8f15d
20
- 0343a86a-43ea-4805-ad74-616e628ea756@{ shape: text, label: "*Purpose*
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
- 7f68bd61-bb98-4b99-9366-0340cfa8f15d~~~0343a86a-43ea-4805-ad74-616e628ea756
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
- </div>
112
-
113
- <script>
114
- mermaid.initialize({startOnLoad:true});
115
- </script>
116
- </body>
117
- </html>
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
+