pyegeria 5.3.3.14.dev2__py3-none-any.whl → 5.3.3.14.dev4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyegeria/commands/tech/list_information_supply_chains.py +1 -1
- pyegeria/commands/tech/list_solution_blueprints2.py +15 -8
- pyegeria/commands/tech/work/mermaid_graphs/Automated Manufacturing Control.html +121 -0
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Management Solution Blueprint.html +213 -0
- pyegeria/commands/tech/work/mermaid_graphs/Employee Management Solution Blueprint.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/Hazardous Material Management Solution Blueprint.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/Inventory Management.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/Personalized Medicine Order Fulfillment Solution Blueprint.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting Solution Blueprint.html +149 -0
- pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html +8 -9
- pyegeria/mermaid_utilities.py +2 -2
- {pyegeria-5.3.3.14.dev2.dist-info → pyegeria-5.3.3.14.dev4.dist-info}/METADATA +1 -1
- {pyegeria-5.3.3.14.dev2.dist-info → pyegeria-5.3.3.14.dev4.dist-info}/RECORD +17 -10
- {pyegeria-5.3.3.14.dev2.dist-info → pyegeria-5.3.3.14.dev4.dist-info}/entry_points.txt +1 -1
- /pyegeria/commands/cat/{link-test.py → link-check.py} +0 -0
- {pyegeria-5.3.3.14.dev2.dist-info → pyegeria-5.3.3.14.dev4.dist-info}/LICENSE +0 -0
- {pyegeria-5.3.3.14.dev2.dist-info → pyegeria-5.3.3.14.dev4.dist-info}/WHEEL +0 -0
@@ -104,7 +104,7 @@ def supply_chain_viewer(
|
|
104
104
|
sc_mermaid_link = f"file://:{link}"
|
105
105
|
# print("Visit my [link=https://www.willmcgugan.com]blog[/link]!")
|
106
106
|
# sc_scope = Text(f"{sc_scope}\n\t\t/\n{sc_mermaid_link}")
|
107
|
-
sc_scope =
|
107
|
+
sc_scope = f"{sc_scope}\n\t\t/\n"
|
108
108
|
# sc_scope.stylize("link =" + sc_mermaid_link)
|
109
109
|
|
110
110
|
table.add_row(sc_name, sc_unique_name, sc_purpose_str, sc_scope, sc_desc)
|
@@ -19,12 +19,14 @@ from rich.prompt import Prompt
|
|
19
19
|
from rich.table import Table
|
20
20
|
from rich.text import Text
|
21
21
|
from rich.tree import Tree
|
22
|
+
|
23
|
+
from pyegeria.mermaid_utilities import EGERIA_MERMAID_FOLDER
|
22
24
|
from pyegeria.solution_architect_omvs import SolutionArchitect
|
23
25
|
from pyegeria import (
|
24
26
|
ProjectManager,
|
25
27
|
UserNotAuthorizedException,
|
26
28
|
PropertyServerException,
|
27
|
-
InvalidParameterException,
|
29
|
+
InvalidParameterException, save_mermaid_html,
|
28
30
|
)
|
29
31
|
|
30
32
|
from pyegeria._exceptions import (
|
@@ -46,7 +48,7 @@ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
46
48
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
47
49
|
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
48
50
|
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "150"))
|
49
|
-
|
51
|
+
EGERIA_MERMAID_FOLDER = os.environ.get("EGERIA_MERMAID_FOLDER", "work/mermaid_graphs")
|
50
52
|
|
51
53
|
def blueprint_list(
|
52
54
|
search_string: str,
|
@@ -74,10 +76,10 @@ def blueprint_list(
|
|
74
76
|
caption=f"View Server '{server_name}' @ Platform - {platform_url}",
|
75
77
|
expand=True,
|
76
78
|
)
|
77
|
-
table.add_column("Blueprint Name")
|
78
|
-
table.add_column("Qualified Name
|
79
|
-
table.add_column("Description")
|
80
|
-
table.add_column("Solution Components")
|
79
|
+
table.add_column("Blueprint Name / Diagram Link", justify="center")
|
80
|
+
table.add_column("Qualified Name / GUID / Version", justify="center", width=38, no_wrap=False)
|
81
|
+
table.add_column("Description", justify="center")
|
82
|
+
table.add_column("Solution Components", justify="center")
|
81
83
|
|
82
84
|
blueprints = client.find_solution_blueprints(search_string)
|
83
85
|
if isinstance(blueprints, list) is False:
|
@@ -89,7 +91,11 @@ def blueprint_list(
|
|
89
91
|
bp_guid = bp["elementHeader"]["guid"]
|
90
92
|
bp_desc = bp["properties"].get("description",'---')
|
91
93
|
bp_unique_name = f"{bp_qname}\n\n\t\t/\n\n{bp_guid}"
|
92
|
-
bp_mermaid = bp.get("
|
94
|
+
bp_mermaid = bp.get("mermaidGraph",'---')
|
95
|
+
if bp_mermaid != '---':
|
96
|
+
link = save_mermaid_html(bp_name, bp_mermaid, EGERIA_MERMAID_FOLDER)
|
97
|
+
bp_mermaid = f""
|
98
|
+
bp_mermaid_label = f"{bp_name}\n\n\t\t/\n\n{bp_mermaid}"
|
93
99
|
|
94
100
|
bp_components = bp.get("solutionComponents",[])
|
95
101
|
comp_md=""
|
@@ -103,6 +109,7 @@ def blueprint_list(
|
|
103
109
|
comp_description = comp_props.get("description",'---')
|
104
110
|
comp_planned = comp_props['extendedProperties'].get("plannedDeployedImplementationType",'---')
|
105
111
|
comp_type = comp_props.get('solutionComponentType','---')
|
112
|
+
|
106
113
|
comp_actors = comp_props.get('actors', [])
|
107
114
|
comp_actors_list = ""
|
108
115
|
for actor in comp_actors:
|
@@ -121,7 +128,7 @@ def blueprint_list(
|
|
121
128
|
comp_md += f"* Planned Deployment: {comp_planned}\n"
|
122
129
|
comp_md += f"* Actors: {comp_actors_list}\n"
|
123
130
|
comp_out = Markdown(comp_md)
|
124
|
-
table.add_row(
|
131
|
+
table.add_row(bp_mermaid_label, bp_unique_name, bp_desc, comp_out)
|
125
132
|
|
126
133
|
return table
|
127
134
|
|
@@ -0,0 +1,121 @@
|
|
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>Component for Solution Blueprint - Automated Manufacturing Control </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Automated Manufacturing Control </h3>
|
23
|
+
GUID : 8a222c5d-b206-454f-b861-2b803cfe3cbd
|
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
|
+
subgraph 8a222c5d-b206-454f-b861-2b803cfe3cbd [Components and Actors]
|
62
|
+
c3967953-fb5a-45a4-8d89-bcc62962e1da@{ shape: text, label: "*Description*
|
63
|
+
**A description of how the new industry 4.0 manufacturing control system operates.**"}
|
64
|
+
end
|
65
|
+
style c3967953-fb5a-45a4-8d89-bcc62962e1da color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
66
|
+
style 8a222c5d-b206-454f-b861-2b803cfe3cbd color:#3079ab, fill:#b7c0c7, stroke:#3079ab`;
|
67
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
68
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
69
|
+
|
70
|
+
var doPan = false;
|
71
|
+
var eventsHandler;
|
72
|
+
var panZoom;
|
73
|
+
var mousepos;
|
74
|
+
|
75
|
+
eventsHandler = {
|
76
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
77
|
+
|
78
|
+
, mouseDownHandler: function (ev) {
|
79
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
80
|
+
doPan = true;
|
81
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
82
|
+
}
|
83
|
+
;
|
84
|
+
}
|
85
|
+
|
86
|
+
, mouseMoveHandler: function (ev) {
|
87
|
+
if (doPan) {
|
88
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
89
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
90
|
+
window.getSelection().removeAllRanges();
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
, mouseUpHandler: function (ev) {
|
95
|
+
doPan = false;
|
96
|
+
}
|
97
|
+
|
98
|
+
, init: function (options) {
|
99
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
100
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
101
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
102
|
+
}
|
103
|
+
|
104
|
+
, destroy: function (options) {
|
105
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
106
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
107
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
panZoom = svgPanZoom('#mySvgId', {
|
111
|
+
zoomEnabled: true
|
112
|
+
, controlIconsEnabled: true
|
113
|
+
, fit: 1
|
114
|
+
, center: 1
|
115
|
+
, customEventsHandler: eventsHandler
|
116
|
+
})
|
117
|
+
};
|
118
|
+
await drawDiagram();
|
119
|
+
</script>
|
120
|
+
</body>
|
121
|
+
|
@@ -0,0 +1,213 @@
|
|
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>Component for Solution Blueprint - Clinical Trial Management Solution Blueprint </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Clinical Trial Management Solution Blueprint </h3>
|
23
|
+
GUID : c4f8d707-7c85-4125-b5fd-c3257a2ef2ef
|
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
|
+
subgraph c4f8d707-7c85-4125-b5fd-c3257a2ef2ef [Components and Actors]
|
62
|
+
6bd76008-d1ad-4ace-8a88-3505fbb71caa@{ shape: text, label: "*Description*
|
63
|
+
**A description of how a clinical trial is managed in Coco Pharmaceuticals.**"}
|
64
|
+
37b8560d-84d4-434b-9b0d-105420fcc924@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Certify Hospital**"}
|
66
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661@{ shape: trap-t, label: "*Solution Actor Role*
|
67
|
+
**Clinical Trial Manager**"}
|
68
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Certifier"|37b8560d-84d4-434b-9b0d-105420fcc924
|
69
|
+
72a86eec-9734-4bc0-babb-4fec0aa7c9ff@{ shape: docs, label: "*Solution Component*
|
70
|
+
**Assemble Treatment Assessment Report**"}
|
71
|
+
48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5@{ shape: rect, label: "*Solution Component*
|
72
|
+
**Treatment Efficacy Evidence**"}
|
73
|
+
48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5-->|"Solution Linking Wire"|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
|
74
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Author"|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
|
75
|
+
b5c8da4c-f925-4cf1-8294-e43cd2c1a584@{ shape: rect, label: "*Solution Component*
|
76
|
+
**Analyse Patient Data**"}
|
77
|
+
b5c8da4c-f925-4cf1-8294-e43cd2c1a584-->|"Solution Linking Wire"|48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5
|
78
|
+
7f5dca65-50b4-4103-9ac7-3a406a09047a@{ shape: subproc, label: "*Solution Component*
|
79
|
+
**Weekly Measurements Onboarding Pipeline**"}
|
80
|
+
07705e15-efff-4f80-8992-f04ac85e0ef1@{ shape: rect, label: "*Solution Component*
|
81
|
+
**Landing Folder Cataloguer**"}
|
82
|
+
07705e15-efff-4f80-8992-f04ac85e0ef1-->|"Solution Linking Wire"|7f5dca65-50b4-4103-9ac7-3a406a09047a
|
83
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Steward"|7f5dca65-50b4-4103-9ac7-3a406a09047a
|
84
|
+
b0290339-c96c-4b05-904f-12fc98e54e14@{ shape: trap-t, label: "*Solution Actor Role*
|
85
|
+
**Certified Data Engineer**"}
|
86
|
+
b0290339-c96c-4b05-904f-12fc98e54e14-->|"Steward"|7f5dca65-50b4-4103-9ac7-3a406a09047a
|
87
|
+
d48f579f-76d3-4c49-b1b4-575f5645a9d0@{ shape: lin-cyl, label: "*Solution Component*
|
88
|
+
**Treatment Validation Sandbox**"}
|
89
|
+
26c07ca4-3b8e-484b-812b-36c1ace4b275@{ shape: rect, label: "*Solution Component*
|
90
|
+
**Populate Sandbox**"}
|
91
|
+
26c07ca4-3b8e-484b-812b-36c1ace4b275-->|"Solution Linking Wire"|d48f579f-76d3-4c49-b1b4-575f5645a9d0
|
92
|
+
ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec@{ shape: processes, label: "*Solution Component*
|
93
|
+
**Hospital Processes**"}
|
94
|
+
a8bd84ca-0aae-4534-b0e8-87e8659467a6@{ shape: trap-t, label: "*Solution Actor Role*
|
95
|
+
**Clinical Trial Participating Hospital Coordinator**"}
|
96
|
+
a8bd84ca-0aae-4534-b0e8-87e8659467a6-->|"Coordinator on behalf of hospital"|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
|
97
|
+
30adaab5-8870-47a8-8ae9-facbf84cb05a@{ shape: trap-t, label: "*Solution Actor Role*
|
98
|
+
**Clinical Trial Participating Hospital**"}
|
99
|
+
30adaab5-8870-47a8-8ae9-facbf84cb05a-->|"Owner"|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
|
100
|
+
d48f579f-76d3-4c49-b1b4-575f5645a9d0-->|"Solution Linking Wire"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
|
101
|
+
ece17806-836c-4756-b3a2-2d12dde215f6@{ shape: trap-t, label: "*Solution Actor Role*
|
102
|
+
**New Treatment Data Scientist**"}
|
103
|
+
ece17806-836c-4756-b3a2-2d12dde215f6-->|"Data Analyser"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
|
104
|
+
0c757e35-8a42-4d5f-b01b-c72a6cea65cc@{ shape: trap-t, label: "*Solution Actor Role*
|
105
|
+
**New Treatment Researcher.**"}
|
106
|
+
0c757e35-8a42-4d5f-b01b-c72a6cea65cc-->|"Results Interpreter"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
|
107
|
+
e9c2f911-ffcb-40c6-aeee-8c4d43811576@{ shape: subproc, label: "*Solution Component*
|
108
|
+
**Onboard Hospital**"}
|
109
|
+
b0290339-c96c-4b05-904f-12fc98e54e14-->|"Initiator"|e9c2f911-ffcb-40c6-aeee-8c4d43811576
|
110
|
+
849b0b42-f465-452b-813c-477d6398e082@{ shape: subproc, label: "*Solution Component*
|
111
|
+
**Set up clinical trial**"}
|
112
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Initiator"|849b0b42-f465-452b-813c-477d6398e082
|
113
|
+
a5d4d638-6836-47e5-99d0-fdcde637e13f@{ shape: lin-cyl, label: "*Solution Component*
|
114
|
+
**Weekly Measurements Data Lake Folder**"}
|
115
|
+
7f5dca65-50b4-4103-9ac7-3a406a09047a-->|"Solution Linking Wire"|a5d4d638-6836-47e5-99d0-fdcde637e13f
|
116
|
+
0bf2547c-937c-41b6-814f-6284849271a1@{ shape: odd, label: "*Solution Component*
|
117
|
+
**Treatment Assessment Report Validation and Delivery**"}
|
118
|
+
72a86eec-9734-4bc0-babb-4fec0aa7c9ff-->|"Solution Linking Wire"|0bf2547c-937c-41b6-814f-6284849271a1
|
119
|
+
f6bc847b-868d-43cc-b767-41f5fe3e47d1@{ shape: trap-t, label: "*Solution Actor Role*
|
120
|
+
**Clinical Trial Sponsor**"}
|
121
|
+
f6bc847b-868d-43cc-b767-41f5fe3e47d1-->|"Reviewer"|0bf2547c-937c-41b6-814f-6284849271a1
|
122
|
+
a5d4d638-6836-47e5-99d0-fdcde637e13f-->|"Solution Linking Wire"|26c07ca4-3b8e-484b-812b-36c1ace4b275
|
123
|
+
fb32bef2-e79f-4893-b500-2e547f24d482@{ shape: subproc, label: "*Solution Component*
|
124
|
+
**Set up Data Lake Folder**"}
|
125
|
+
b0290339-c96c-4b05-904f-12fc98e54e14-->|"Initiator"|fb32bef2-e79f-4893-b500-2e547f24d482
|
126
|
+
1c150d6e-30cf-481c-9afb-3b06c9c9e78f@{ shape: lin-cyl, label: "*Solution Component*
|
127
|
+
**Hospital Landing Area Folder**"}
|
128
|
+
ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec-->|"Solution Linking Wire"|1c150d6e-30cf-481c-9afb-3b06c9c9e78f
|
129
|
+
1c150d6e-30cf-481c-9afb-3b06c9c9e78f-->|"Solution Linking Wire"|07705e15-efff-4f80-8992-f04ac85e0ef1
|
130
|
+
11c7c850-c67c-41cc-9423-d74db47cbf3a@{ shape: subproc, label: "*Solution Component*
|
131
|
+
**Nominate Hospital**"}
|
132
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Initiator"|11c7c850-c67c-41cc-9423-d74db47cbf3a
|
133
|
+
end
|
134
|
+
style 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
135
|
+
style ece17806-836c-4756-b3a2-2d12dde215f6 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
136
|
+
style e9c2f911-ffcb-40c6-aeee-8c4d43811576 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
137
|
+
style 6bd76008-d1ad-4ace-8a88-3505fbb71caa color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
138
|
+
style a5d4d638-6836-47e5-99d0-fdcde637e13f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
139
|
+
style 0bf2547c-937c-41b6-814f-6284849271a1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
140
|
+
style 30adaab5-8870-47a8-8ae9-facbf84cb05a color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
141
|
+
style b0290339-c96c-4b05-904f-12fc98e54e14 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
142
|
+
style 26c07ca4-3b8e-484b-812b-36c1ace4b275 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
143
|
+
style 1c150d6e-30cf-481c-9afb-3b06c9c9e78f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
144
|
+
style 07705e15-efff-4f80-8992-f04ac85e0ef1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
145
|
+
style a8bd84ca-0aae-4534-b0e8-87e8659467a6 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
146
|
+
style 0c757e35-8a42-4d5f-b01b-c72a6cea65cc color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
147
|
+
style c4f8d707-7c85-4125-b5fd-c3257a2ef2ef color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
148
|
+
style 37b8560d-84d4-434b-9b0d-105420fcc924 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
149
|
+
style 11c7c850-c67c-41cc-9423-d74db47cbf3a color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
150
|
+
style 849b0b42-f465-452b-813c-477d6398e082 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
151
|
+
style 7f5dca65-50b4-4103-9ac7-3a406a09047a color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
152
|
+
style ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
153
|
+
style 72a86eec-9734-4bc0-babb-4fec0aa7c9ff color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
154
|
+
style b5c8da4c-f925-4cf1-8294-e43cd2c1a584 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
155
|
+
style f6bc847b-868d-43cc-b767-41f5fe3e47d1 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
156
|
+
style d48f579f-76d3-4c49-b1b4-575f5645a9d0 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
157
|
+
style f37f3735-28a1-4e03-9ff5-3fe2f137f661 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
158
|
+
style fb32bef2-e79f-4893-b500-2e547f24d482 color:#FFFFFF, fill:#838cc7, stroke:#3079ab`;
|
159
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
160
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
161
|
+
|
162
|
+
var doPan = false;
|
163
|
+
var eventsHandler;
|
164
|
+
var panZoom;
|
165
|
+
var mousepos;
|
166
|
+
|
167
|
+
eventsHandler = {
|
168
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
169
|
+
|
170
|
+
, mouseDownHandler: function (ev) {
|
171
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
172
|
+
doPan = true;
|
173
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
174
|
+
}
|
175
|
+
;
|
176
|
+
}
|
177
|
+
|
178
|
+
, mouseMoveHandler: function (ev) {
|
179
|
+
if (doPan) {
|
180
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
181
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
182
|
+
window.getSelection().removeAllRanges();
|
183
|
+
}
|
184
|
+
}
|
185
|
+
|
186
|
+
, mouseUpHandler: function (ev) {
|
187
|
+
doPan = false;
|
188
|
+
}
|
189
|
+
|
190
|
+
, init: function (options) {
|
191
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
192
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
193
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
194
|
+
}
|
195
|
+
|
196
|
+
, destroy: function (options) {
|
197
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
198
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
199
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
200
|
+
}
|
201
|
+
}
|
202
|
+
panZoom = svgPanZoom('#mySvgId', {
|
203
|
+
zoomEnabled: true
|
204
|
+
, controlIconsEnabled: true
|
205
|
+
, fit: 1
|
206
|
+
, center: 1
|
207
|
+
, customEventsHandler: eventsHandler
|
208
|
+
})
|
209
|
+
};
|
210
|
+
await drawDiagram();
|
211
|
+
</script>
|
212
|
+
</body>
|
213
|
+
|
@@ -0,0 +1,124 @@
|
|
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>Component for Solution Blueprint - Employee Management Solution Blueprint </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Employee Management Solution Blueprint </h3>
|
23
|
+
GUID : 4558ef22-9cde-4dcb-aebe-45d5acfa818a
|
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
|
+
subgraph 4558ef22-9cde-4dcb-aebe-45d5acfa818a [Components and Actors]
|
62
|
+
6783d689-9efb-4b90-9269-c00acacdc7d2@{ shape: text, label: "*Description*
|
63
|
+
**A description of how information about Coco Pharmaceuticals employees is managed.**"}
|
64
|
+
02cdce9a-7630-479a-90de-fd7698d098f1@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Employee Expense Tool**"}
|
66
|
+
end
|
67
|
+
style 4558ef22-9cde-4dcb-aebe-45d5acfa818a color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
68
|
+
style 02cdce9a-7630-479a-90de-fd7698d098f1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
69
|
+
style 6783d689-9efb-4b90-9269-c00acacdc7d2 color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
70
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
71
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
72
|
+
|
73
|
+
var doPan = false;
|
74
|
+
var eventsHandler;
|
75
|
+
var panZoom;
|
76
|
+
var mousepos;
|
77
|
+
|
78
|
+
eventsHandler = {
|
79
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
80
|
+
|
81
|
+
, mouseDownHandler: function (ev) {
|
82
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
83
|
+
doPan = true;
|
84
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
85
|
+
}
|
86
|
+
;
|
87
|
+
}
|
88
|
+
|
89
|
+
, mouseMoveHandler: function (ev) {
|
90
|
+
if (doPan) {
|
91
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
92
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
93
|
+
window.getSelection().removeAllRanges();
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
, mouseUpHandler: function (ev) {
|
98
|
+
doPan = false;
|
99
|
+
}
|
100
|
+
|
101
|
+
, init: function (options) {
|
102
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
103
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
104
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
105
|
+
}
|
106
|
+
|
107
|
+
, destroy: function (options) {
|
108
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
109
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
110
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
panZoom = svgPanZoom('#mySvgId', {
|
114
|
+
zoomEnabled: true
|
115
|
+
, controlIconsEnabled: true
|
116
|
+
, fit: 1
|
117
|
+
, center: 1
|
118
|
+
, customEventsHandler: eventsHandler
|
119
|
+
})
|
120
|
+
};
|
121
|
+
await drawDiagram();
|
122
|
+
</script>
|
123
|
+
</body>
|
124
|
+
|
pyegeria/commands/tech/work/mermaid_graphs/Hazardous Material Management Solution Blueprint.html
ADDED
@@ -0,0 +1,124 @@
|
|
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>Component for Solution Blueprint - Hazardous Material Management Solution Blueprint </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Hazardous Material Management Solution Blueprint </h3>
|
23
|
+
GUID : f1a008b9-bace-4d37-8dd8-d24fb45477e2
|
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
|
+
subgraph f1a008b9-bace-4d37-8dd8-d24fb45477e2 [Components and Actors]
|
62
|
+
2f10d3e1-3537-4f91-a02d-d8da04c3fc48@{ shape: text, label: "*Description*
|
63
|
+
**A description of how hazardous material is handled, tracked and any incidents reported/managed.**"}
|
64
|
+
25fd5be7-692d-4752-9dc7-30068a7d665e@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Hazardous Materials (HazMat) Inventory**"}
|
66
|
+
end
|
67
|
+
style 2f10d3e1-3537-4f91-a02d-d8da04c3fc48 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
68
|
+
style 25fd5be7-692d-4752-9dc7-30068a7d665e color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
69
|
+
style f1a008b9-bace-4d37-8dd8-d24fb45477e2 color:#3079ab, fill:#b7c0c7, stroke:#3079ab`;
|
70
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
71
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
72
|
+
|
73
|
+
var doPan = false;
|
74
|
+
var eventsHandler;
|
75
|
+
var panZoom;
|
76
|
+
var mousepos;
|
77
|
+
|
78
|
+
eventsHandler = {
|
79
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
80
|
+
|
81
|
+
, mouseDownHandler: function (ev) {
|
82
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
83
|
+
doPan = true;
|
84
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
85
|
+
}
|
86
|
+
;
|
87
|
+
}
|
88
|
+
|
89
|
+
, mouseMoveHandler: function (ev) {
|
90
|
+
if (doPan) {
|
91
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
92
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
93
|
+
window.getSelection().removeAllRanges();
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
, mouseUpHandler: function (ev) {
|
98
|
+
doPan = false;
|
99
|
+
}
|
100
|
+
|
101
|
+
, init: function (options) {
|
102
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
103
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
104
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
105
|
+
}
|
106
|
+
|
107
|
+
, destroy: function (options) {
|
108
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
109
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
110
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
panZoom = svgPanZoom('#mySvgId', {
|
114
|
+
zoomEnabled: true
|
115
|
+
, controlIconsEnabled: true
|
116
|
+
, fit: 1
|
117
|
+
, center: 1
|
118
|
+
, customEventsHandler: eventsHandler
|
119
|
+
})
|
120
|
+
};
|
121
|
+
await drawDiagram();
|
122
|
+
</script>
|
123
|
+
</body>
|
124
|
+
|
@@ -0,0 +1,124 @@
|
|
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>Component for Solution Blueprint - Inventory Management </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Inventory Management </h3>
|
23
|
+
GUID : d0af5eeb-b341-4046-a336-938b88761719
|
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
|
+
subgraph d0af5eeb-b341-4046-a336-938b88761719 [Components and Actors]
|
62
|
+
6f08613f-731b-4881-aa40-06f6dba863e6@{ shape: text, label: "*Description*
|
63
|
+
**A description of how physical inventory is managed between procurement, the distribution centres, manufacturing and finance.**"}
|
64
|
+
50768e61-43b6-4241-96a3-4c413582ec1f@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Goods Inventory**"}
|
66
|
+
end
|
67
|
+
style 50768e61-43b6-4241-96a3-4c413582ec1f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
68
|
+
style d0af5eeb-b341-4046-a336-938b88761719 color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
69
|
+
style 6f08613f-731b-4881-aa40-06f6dba863e6 color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
70
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
71
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
72
|
+
|
73
|
+
var doPan = false;
|
74
|
+
var eventsHandler;
|
75
|
+
var panZoom;
|
76
|
+
var mousepos;
|
77
|
+
|
78
|
+
eventsHandler = {
|
79
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
80
|
+
|
81
|
+
, mouseDownHandler: function (ev) {
|
82
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
83
|
+
doPan = true;
|
84
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
85
|
+
}
|
86
|
+
;
|
87
|
+
}
|
88
|
+
|
89
|
+
, mouseMoveHandler: function (ev) {
|
90
|
+
if (doPan) {
|
91
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
92
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
93
|
+
window.getSelection().removeAllRanges();
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
, mouseUpHandler: function (ev) {
|
98
|
+
doPan = false;
|
99
|
+
}
|
100
|
+
|
101
|
+
, init: function (options) {
|
102
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
103
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
104
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
105
|
+
}
|
106
|
+
|
107
|
+
, destroy: function (options) {
|
108
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
109
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
110
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
panZoom = svgPanZoom('#mySvgId', {
|
114
|
+
zoomEnabled: true
|
115
|
+
, controlIconsEnabled: true
|
116
|
+
, fit: 1
|
117
|
+
, center: 1
|
118
|
+
, customEventsHandler: eventsHandler
|
119
|
+
})
|
120
|
+
};
|
121
|
+
await drawDiagram();
|
122
|
+
</script>
|
123
|
+
</body>
|
124
|
+
|
@@ -0,0 +1,124 @@
|
|
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>Component for Solution Blueprint - Personalized Medicine Order Fulfillment Solution Blueprint </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Personalized Medicine Order Fulfillment Solution Blueprint </h3>
|
23
|
+
GUID : 9b1d5648-58b9-4fc8-959c-ed0316068d75
|
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
|
+
subgraph 9b1d5648-58b9-4fc8-959c-ed0316068d75 [Components and Actors]
|
62
|
+
7262ee8e-49ec-4b5f-a7ee-d34a3848aebe@{ shape: text, label: "*Description*
|
63
|
+
**A description of how an order for a personalized medicine prescription is fulfilled by Coco Pharmaceuticals.**"}
|
64
|
+
2c0f5a4e-bb02-4081-a80e-3072ca99a1aa@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Accounting ledgers**"}
|
66
|
+
end
|
67
|
+
style 9b1d5648-58b9-4fc8-959c-ed0316068d75 color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
68
|
+
style 2c0f5a4e-bb02-4081-a80e-3072ca99a1aa color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
69
|
+
style 7262ee8e-49ec-4b5f-a7ee-d34a3848aebe color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
70
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
71
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
72
|
+
|
73
|
+
var doPan = false;
|
74
|
+
var eventsHandler;
|
75
|
+
var panZoom;
|
76
|
+
var mousepos;
|
77
|
+
|
78
|
+
eventsHandler = {
|
79
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
80
|
+
|
81
|
+
, mouseDownHandler: function (ev) {
|
82
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
83
|
+
doPan = true;
|
84
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
85
|
+
}
|
86
|
+
;
|
87
|
+
}
|
88
|
+
|
89
|
+
, mouseMoveHandler: function (ev) {
|
90
|
+
if (doPan) {
|
91
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
92
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
93
|
+
window.getSelection().removeAllRanges();
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
, mouseUpHandler: function (ev) {
|
98
|
+
doPan = false;
|
99
|
+
}
|
100
|
+
|
101
|
+
, init: function (options) {
|
102
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
103
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
104
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
105
|
+
}
|
106
|
+
|
107
|
+
, destroy: function (options) {
|
108
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
109
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
110
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
panZoom = svgPanZoom('#mySvgId', {
|
114
|
+
zoomEnabled: true
|
115
|
+
, controlIconsEnabled: true
|
116
|
+
, fit: 1
|
117
|
+
, center: 1
|
118
|
+
, customEventsHandler: eventsHandler
|
119
|
+
})
|
120
|
+
};
|
121
|
+
await drawDiagram();
|
122
|
+
</script>
|
123
|
+
</body>
|
124
|
+
|
@@ -0,0 +1,149 @@
|
|
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>Component for Solution Blueprint - Sustainability Reporting Solution Blueprint </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Sustainability Reporting Solution Blueprint </h3>
|
23
|
+
GUID : aed5c289-6e81-4cf8-8852-752005eee0c4
|
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
|
+
subgraph aed5c289-6e81-4cf8-8852-752005eee0c4 [Components and Actors]
|
62
|
+
a8421819-5075-414f-bde0-7f6135a50b2e@{ shape: text, label: "*Description*
|
63
|
+
**A description of how data is gathered to support sustainability reporting in Coco Pharmaceuticals.**"}
|
64
|
+
fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Sustainability Operational Data Store (ODS)**"}
|
66
|
+
2c0f5a4e-bb02-4081-a80e-3072ca99a1aa@{ shape: rect, label: "*Solution Component*
|
67
|
+
**Accounting ledgers**"}
|
68
|
+
2c0f5a4e-bb02-4081-a80e-3072ca99a1aa-->|"Solution Linking Wire"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
69
|
+
06edd666-06fd-43ef-b7bd-22e2651c334f@{ shape: rect, label: "*Solution Component*
|
70
|
+
**Sustainability Calculators**"}
|
71
|
+
06edd666-06fd-43ef-b7bd-22e2651c334f-->|"Solution Linking Wire"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
72
|
+
25fd5be7-692d-4752-9dc7-30068a7d665e@{ shape: rect, label: "*Solution Component*
|
73
|
+
**Hazardous Materials (HazMat) Inventory**"}
|
74
|
+
25fd5be7-692d-4752-9dc7-30068a7d665e-->|"Solution Linking Wire"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
75
|
+
50768e61-43b6-4241-96a3-4c413582ec1f@{ shape: rect, label: "*Solution Component*
|
76
|
+
**Goods Inventory**"}
|
77
|
+
50768e61-43b6-4241-96a3-4c413582ec1f-->|"Solution Linking Wire"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
78
|
+
02cdce9a-7630-479a-90de-fd7698d098f1@{ shape: rect, label: "*Solution Component*
|
79
|
+
**Employee Expense Tool**"}
|
80
|
+
02cdce9a-7630-479a-90de-fd7698d098f1-->|"Solution Linking Wire"|fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4
|
81
|
+
fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4-->|"Solution Linking Wire"|06edd666-06fd-43ef-b7bd-22e2651c334f
|
82
|
+
d50a6f1f-49d2-47c3-a55e-5844464bd26f@{ shape: subproc, label: "*Solution Component*
|
83
|
+
**Sustainability Dashboards**"}
|
84
|
+
fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4-->|"Solution Linking Wire"|d50a6f1f-49d2-47c3-a55e-5844464bd26f
|
85
|
+
end
|
86
|
+
style d50a6f1f-49d2-47c3-a55e-5844464bd26f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
87
|
+
style aed5c289-6e81-4cf8-8852-752005eee0c4 color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
88
|
+
style 50768e61-43b6-4241-96a3-4c413582ec1f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
89
|
+
style fc55ef2d-a88d-44ee-94cb-3fca9b9af8b4 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
90
|
+
style 25fd5be7-692d-4752-9dc7-30068a7d665e color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
91
|
+
style 06edd666-06fd-43ef-b7bd-22e2651c334f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
92
|
+
style 02cdce9a-7630-479a-90de-fd7698d098f1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
93
|
+
style 2c0f5a4e-bb02-4081-a80e-3072ca99a1aa color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
94
|
+
style a8421819-5075-414f-bde0-7f6135a50b2e color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
95
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
96
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
97
|
+
|
98
|
+
var doPan = false;
|
99
|
+
var eventsHandler;
|
100
|
+
var panZoom;
|
101
|
+
var mousepos;
|
102
|
+
|
103
|
+
eventsHandler = {
|
104
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
105
|
+
|
106
|
+
, mouseDownHandler: function (ev) {
|
107
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
108
|
+
doPan = true;
|
109
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
110
|
+
}
|
111
|
+
;
|
112
|
+
}
|
113
|
+
|
114
|
+
, mouseMoveHandler: function (ev) {
|
115
|
+
if (doPan) {
|
116
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
117
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
118
|
+
window.getSelection().removeAllRanges();
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
, mouseUpHandler: function (ev) {
|
123
|
+
doPan = false;
|
124
|
+
}
|
125
|
+
|
126
|
+
, init: function (options) {
|
127
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
128
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
129
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
130
|
+
}
|
131
|
+
|
132
|
+
, destroy: function (options) {
|
133
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
134
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
135
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
136
|
+
}
|
137
|
+
}
|
138
|
+
panZoom = svgPanZoom('#mySvgId', {
|
139
|
+
zoomEnabled: true
|
140
|
+
, controlIconsEnabled: true
|
141
|
+
, fit: 1
|
142
|
+
, center: 1
|
143
|
+
, customEventsHandler: eventsHandler
|
144
|
+
})
|
145
|
+
};
|
146
|
+
await drawDiagram();
|
147
|
+
</script>
|
148
|
+
</body>
|
149
|
+
|
@@ -18,9 +18,9 @@
|
|
18
18
|
</style>
|
19
19
|
</head>
|
20
20
|
|
21
|
-
<title>
|
22
|
-
<h3 style="text-align: center;">
|
23
|
-
GUID :
|
21
|
+
<title>Component for Solution Blueprint - {{displayName}} </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - {{displayName}} </h3>
|
23
|
+
GUID : ff8e9750-182c-4f0d-b432-c7a48b8d660b
|
24
24
|
|
25
25
|
|
26
26
|
<body>
|
@@ -58,13 +58,12 @@
|
|
58
58
|
flowchart TD
|
59
59
|
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
60
60
|
|
61
|
-
|
62
|
-
|
63
|
-
7c5a4139-7d56-46f1-9cc5-92a2cf709903@{ shape: text, label: "*Description*
|
61
|
+
subgraph ff8e9750-182c-4f0d-b432-c7a48b8d660b [Components and Actors]
|
62
|
+
0a1113cd-593d-49e5-8ba2-af3faca46ac3@{ shape: text, label: "*Description*
|
64
63
|
**{{description}}**"}
|
65
|
-
|
66
|
-
style
|
67
|
-
style
|
64
|
+
end
|
65
|
+
style ff8e9750-182c-4f0d-b432-c7a48b8d660b color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
66
|
+
style 0a1113cd-593d-49e5-8ba2-af3faca46ac3 color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
68
67
|
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
69
68
|
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
70
69
|
|
pyegeria/mermaid_utilities.py
CHANGED
@@ -86,8 +86,8 @@ def parse_mermaid_code(mermaid_code):
|
|
86
86
|
guid = full_title.split('[')[1].split(']')[0]
|
87
87
|
mermaid_code = parts[2].strip()
|
88
88
|
else:
|
89
|
-
title = "
|
90
|
-
guid = "
|
89
|
+
title = ""
|
90
|
+
guid = ""
|
91
91
|
return title, guid, mermaid_code
|
92
92
|
|
93
93
|
def construct_mermaid_html(mermaid_str: str) -> str:
|
@@ -45,7 +45,7 @@ pyegeria/commands/cat/get_project_dependencies.py,sha256=NCUTAHAzScjQwoAHLf1DC9r
|
|
45
45
|
pyegeria/commands/cat/get_project_structure.py,sha256=h6q5Ps3xRhV2Zqh6295nDCgVThUrWX5O-JC0qaSIM5s,5976
|
46
46
|
pyegeria/commands/cat/get_tech_type_elements.py,sha256=9F0wBy8ireLFHLNChxkM4A7xJ4uFL4XKdXlm6roDk2I,6185
|
47
47
|
pyegeria/commands/cat/glossary_actions.py,sha256=MjKHzmJXoF6t9wsjg4h3T3JxQPdADoH6CwuLBjv0MnY,12678
|
48
|
-
pyegeria/commands/cat/link-
|
48
|
+
pyegeria/commands/cat/link-check.py,sha256=WwZSPpe6kRbM7u2X1VVrGyOh_WsG8UORrkNvXDC8eGY,6685
|
49
49
|
pyegeria/commands/cat/list_assets.py,sha256=2fUlV-VL5vXb4T9wD87gusylY0O9wLRujDWPmaQJkNI,6277
|
50
50
|
pyegeria/commands/cat/list_cert_types.py,sha256=WOtUQWGtqFUvV3-pQh5iy4dDaESMfxER6DmOo8gzPtY,7130
|
51
51
|
pyegeria/commands/cat/list_collections.py,sha256=hP0j6R0oJfnT_KDT5MyR74RmWuXaHFs2VszHnZ-C8VU,5989
|
@@ -274,26 +274,33 @@ pyegeria/commands/tech/list_elements_by_property_value.py,sha256=3OG8uyPKY3zX-K_
|
|
274
274
|
pyegeria/commands/tech/list_elements_by_property_value_x.py,sha256=y77Nszqg5XtyQXwKm3XjB38gwmlpiULEn4NLr_SnRug,7065
|
275
275
|
pyegeria/commands/tech/list_elements_for_classification.py,sha256=jck8bPQHiS61IKslmA2a_B1iopHZ0cE50vAs6Ud2Gkc,6207
|
276
276
|
pyegeria/commands/tech/list_gov_action_processes.py,sha256=NaoZ3t5n1uXcLI0OdUAgMTuzDrEkptY9w7uQeZ4KZP8,4587
|
277
|
-
pyegeria/commands/tech/list_information_supply_chains.py,sha256=
|
277
|
+
pyegeria/commands/tech/list_information_supply_chains.py,sha256=L0paK02j3Qq4VhhNUVtrHmuZO6MOt-SrS5Bce2JkSrs,5595
|
278
278
|
pyegeria/commands/tech/list_registered_services.py,sha256=fNh21Acd5bCbOQmxpDMOH6QNT5GkiGPLZpadbzIA8F8,6541
|
279
279
|
pyegeria/commands/tech/list_related_elements_with_prop_value.py,sha256=NhWSfJmtBIUN5IBWEK_uQn0OxpCeWnVhy0kaZ_gyEGw,8157
|
280
280
|
pyegeria/commands/tech/list_related_specification.py,sha256=aMUZBiQcTMaNTvSgGUsRjqvqhmebP9iO0eAlbJsDWBk,5925
|
281
281
|
pyegeria/commands/tech/list_relationship_types.py,sha256=VgErUNsCKZ77wyg56U0v1fIUqC0MxHE_qi9A2b2csWo,5791
|
282
282
|
pyegeria/commands/tech/list_relationships.py,sha256=lKZBQleZRK9qDCAUOExejl5gtYb0XyXygTgIcbW5Igk,5933
|
283
283
|
pyegeria/commands/tech/list_solution_blueprints.py,sha256=PDU1QCnE44r0cMAgUHJ49RpTK-rbgiy7Gzh9GOlMSBk,6285
|
284
|
-
pyegeria/commands/tech/list_solution_blueprints2.py,sha256=
|
284
|
+
pyegeria/commands/tech/list_solution_blueprints2.py,sha256=t-Ce30_bWaeNByObrV0bj4HOJeI44EzNcP3jO7anvJs,6838
|
285
285
|
pyegeria/commands/tech/list_tech_templates.py,sha256=FvJ2qAHo7yoCdd9LnZtvWjd3DQEvD0P5wfz5-D5qjmw,14153
|
286
286
|
pyegeria/commands/tech/list_valid_metadata_values.py,sha256=Mv4eSHCR_pR0llWRrpMIzNKA6_QEr8qccAv4NQv4dg0,6340
|
287
287
|
pyegeria/commands/tech/table_tech_templates.py,sha256=kv9VWhZ6pEN-1vEjo6IprliwFTjumjdVV3IWQB2HzI4,9503
|
288
|
+
pyegeria/commands/tech/work/mermaid_graphs/Automated Manufacturing Control.html,sha256=bfWsVHwr77sEllGjS7IJnIWQkL2hEXgpSWjIUo29R4w,4578
|
289
|
+
pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Management Solution Blueprint.html,sha256=M32ZeZpQAGW-fNayuFT0LIt7jEXJwweTfEo3vgYZFao,11490
|
288
290
|
pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.html,sha256=c2wTgRgJ3llwIjhdKK_Ef7AU8sH1yw9N3gbLHP3v7O8,6352
|
289
291
|
pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Treatment Validation.html,sha256=FjYkJl7c14czTe-bACAdVYiD3yHc9hK-Epih2MQ00Bs,11999
|
290
292
|
pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.html,sha256=g2GWeQU8XGuRlT4T4eB3X_-sMbGBGPjT8KDMDmlNCb4,5502
|
293
|
+
pyegeria/commands/tech/work/mermaid_graphs/Employee Management Solution Blueprint.html,sha256=XmfOxRsuCGj6I73HprQOPYcxc_XUL3EE0OZoTpyU24A,4792
|
294
|
+
pyegeria/commands/tech/work/mermaid_graphs/Hazardous Material Management Solution Blueprint.html,sha256=ky62Q6hFFTV_7FXuaDazvv9J3qkN6R6kkR0ZcbdVmpI,4843
|
295
|
+
pyegeria/commands/tech/work/mermaid_graphs/Inventory Management.html,sha256=FICJvj3b9IWEZ1c1yjs7OpCPuSXzQEpze5UY95mNSwM,4793
|
291
296
|
pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.html,sha256=lbgvDcmctARBxOl-EBTrPmy7L9VAObn1w3G_5X4anOM,6671
|
292
297
|
pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.html,sha256=X3jru3F094j0xCUdSbKgTD3zR1_fIyPFO9ijiHJ2X2Y,6401
|
298
|
+
pyegeria/commands/tech/work/mermaid_graphs/Personalized Medicine Order Fulfillment Solution Blueprint.html,sha256=F8Ll7wnfI_mreCOhUvTv2cbsczwi8jl_4AXN-KeQQds,4856
|
293
299
|
pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.html,sha256=inCsequyo4XzR8H9QyovUH-_AAvohQLeYkGJla5ah4k,6826
|
294
300
|
pyegeria/commands/tech/work/mermaid_graphs/Physical Inventory Tracking.html,sha256=EtIuFUimWnLYorok_i3WuezH5pdh34aPCYDecxpcuy4,9752
|
301
|
+
pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting Solution Blueprint.html,sha256=lXRIGydJ2JmQ_IbPETDgS6fl77wudTxml5qfBKbQOS0,6744
|
295
302
|
pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting.html,sha256=-D4PhD_Jm3829cK2Yyx1IQBS4XGhEIpNDGsEgoss5-A,10980
|
296
|
-
pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html,sha256=
|
303
|
+
pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html,sha256=EicHFfzy7KdttHaO_VB0hhqrmMwB_SpgHteFEGAG8NM,4481
|
297
304
|
pyegeria/commands/tech/x_list_related_elements.py,sha256=viUFq_G52CvLO_RJsgN8fkLeIF89Tb8Gvl-nNfeDPSI,5871
|
298
305
|
pyegeria/core_omag_server_config.py,sha256=ej0oNpGelSTTm2oERS86LpgT9O9E5CZFbUm2Iek8f1E,97764
|
299
306
|
pyegeria/create_tech_guid_lists.py,sha256=mI__-i9U01emyqQMdPK2miealwQNiZfB23iiFGmrH0g,4640
|
@@ -306,7 +313,7 @@ pyegeria/feedback_manager_omvs.py,sha256=B66e3ZCaC_dirb0mcb2Nz3PYh2ZKsoMAYNOb3eu
|
|
306
313
|
pyegeria/full_omag_server_config.py,sha256=k3fUfopAFAE3OKkFR7zZPiki_FYj6j2xQ4oD2SVaefQ,47350
|
307
314
|
pyegeria/glossary_browser_omvs.py,sha256=NcitYaZJqwVODBO5zBtWpXPNUJJ3DKzEbRaOFSAyUlg,93554
|
308
315
|
pyegeria/glossary_manager_omvs.py,sha256=tBjoHrrHJLasXoeQSpW-KpF3vEQdN_GR3jfcceTjt_c,132444
|
309
|
-
pyegeria/mermaid_utilities.py,sha256=
|
316
|
+
pyegeria/mermaid_utilities.py,sha256=E0PbkCICbING_Ib5huTYRWeW3LNVZe95VarlyWxFtSc,18074
|
310
317
|
pyegeria/metadata_explorer_omvs.py,sha256=XBg6q-JXOA8UYsT85nlpBVe4EQ6jxwj70MvE7tkVvH0,86905
|
311
318
|
pyegeria/my_profile_omvs.py,sha256=DyECbUFEcgokrIbzdMMNljC3bqfqKGXAF2wZEpzvRYs,34666
|
312
319
|
pyegeria/platform_services.py,sha256=CJIOYIFEbcIGwdWlApAQcXxZTsdrhFtpJcm4O3p7dG0,41646
|
@@ -319,8 +326,8 @@ pyegeria/template_manager_omvs.py,sha256=Sw5xsQAhy7a48xFCg59mg9_nqyhawoS9v4WyF-P
|
|
319
326
|
pyegeria/utils.py,sha256=1h6bwveadd6GpbnGLTmqPBmBk68QvxdjGTI9RfbrgKY,5415
|
320
327
|
pyegeria/valid_metadata_omvs.py,sha256=cCt5CCLv6BdzCu90n68r_PkG_PEQJjrtwCxio7K6yko,65034
|
321
328
|
pyegeria/x_action_author_omvs.py,sha256=xu1IQ0YbhIKi17C5a7Aq9u1Az2czwahNPpX9czmyVxE,6454
|
322
|
-
pyegeria-5.3.3.14.
|
323
|
-
pyegeria-5.3.3.14.
|
324
|
-
pyegeria-5.3.3.14.
|
325
|
-
pyegeria-5.3.3.14.
|
326
|
-
pyegeria-5.3.3.14.
|
329
|
+
pyegeria-5.3.3.14.dev4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
330
|
+
pyegeria-5.3.3.14.dev4.dist-info/METADATA,sha256=4_PQYb1divBoGXCKSUFHgn0HuURQeBELyi670wUhTAg,2741
|
331
|
+
pyegeria-5.3.3.14.dev4.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
332
|
+
pyegeria-5.3.3.14.dev4.dist-info/entry_points.txt,sha256=GKJVtenRbMm8bgZ3XusHnxtN4auo917VbXofEEe9itY,6005
|
333
|
+
pyegeria-5.3.3.14.dev4.dist-info/RECORD,,
|
@@ -22,7 +22,7 @@ hey_egeria_cat=pyegeria.commands.cli.egeria_cat:cli
|
|
22
22
|
hey_egeria_my=pyegeria.commands.cli.egeria_my:cli
|
23
23
|
hey_egeria_ops=pyegeria.commands.cli.egeria_ops:cli
|
24
24
|
hey_egeria_tech=pyegeria.commands.cli.egeria_tech:cli
|
25
|
-
|
25
|
+
link_check=pyegeria.commands.cat.link-check:main
|
26
26
|
list_all_related_elements=pyegeria.commands.tech.list_all_related_elements:main
|
27
27
|
list_anchored_elements=pyegeria.commands.tech.list_anchored_elements:main
|
28
28
|
list_archives=pyegeria.commands.ops.list_archives:main
|
File without changes
|
File without changes
|
File without changes
|