@loopstack/loopstack-studio 0.29.5 → 0.31.0
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.
- package/dist/_virtual/rolldown_runtime.js +3 -1
- package/dist/api/config.js +5 -4
- package/dist/api/environments.js +5 -1
- package/dist/api/processor.js +4 -1
- package/dist/app/EnvironmentEmbedRoot.js +22 -30
- package/dist/components/ai-elements/code-block.js +4 -4
- package/dist/components/dynamic-form/CodeContent.js +1 -1
- package/dist/components/dynamic-form/FormBody.js +1 -1
- package/dist/components/layout/StudioSidebar.js +116 -131
- package/dist/components/lists/ListView.js +46 -46
- package/dist/components/motion/FadeIn.js +72 -0
- package/dist/components/motion/StreamingText.js +49 -0
- package/dist/components/ui/accordion.js +2 -2
- package/dist/components/ui-widgets/UiWidget.js +11 -10
- package/dist/components/ui-widgets/widgets/AiPromptInput.js +31 -28
- package/dist/events/sse-client-events.js +7 -1
- package/dist/features/code-explorer/components/FileContentViewer.js +2 -2
- package/dist/features/dashboard/AppLauncher.js +84 -0
- package/dist/features/debug/components/WorkflowFlowViewer.js +49 -51
- package/dist/features/documents/DocumentRenderer.js +18 -17
- package/dist/features/documents/components/DocumentItem.js +42 -20
- package/dist/features/documents/components/DocumentList.js +34 -36
- package/dist/features/documents/components/DocumentMetadataPills.js +102 -49
- package/dist/features/documents/document-details/DocumentDetails.js +577 -377
- package/dist/features/documents/document-details/PromptDetails.js +118 -130
- package/dist/features/documents/document-details/document-debug-utils.js +100 -0
- package/dist/features/documents/renderers/ChoicesRenderer.js +41 -38
- package/dist/features/documents/renderers/ConfirmPromptRenderer.js +31 -28
- package/dist/features/documents/renderers/DocumentFormRenderer.js +62 -70
- package/dist/features/documents/renderers/LlmMessage.js +52 -47
- package/dist/features/documents/renderers/TextPromptRenderer.js +32 -29
- package/dist/features/documents/renderers/useDocumentTransition.js +4 -4
- package/dist/features/feature-registry/FeatureRegistryProvider.js +32 -10
- package/dist/features/feature-registry/available-features.js +12 -0
- package/dist/features/feature-registry/index.js +2 -1
- package/dist/features/file-explorer/components/FileExplorerPanel.js +55 -51
- package/dist/features/git/components/GitBranchBadge.js +31 -0
- package/dist/features/git/components/GitCommitList.js +46 -0
- package/dist/features/git/components/GitRemoteStatus.js +84 -0
- package/dist/features/git/components/WorkbenchGitPanel.js +81 -0
- package/dist/features/git/git-feature.js +12 -0
- package/dist/features/git/hooks/useGit.js +78 -0
- package/dist/features/git/index.js +1 -0
- package/dist/features/oauth/OAuthPromptRenderer.js +137 -142
- package/dist/features/runs/Runs.js +73 -73
- package/dist/features/secrets/components/WorkbenchSecretsPanel.js +1 -1
- package/dist/features/secrets/renderers/SecretInputRenderer.js +30 -29
- package/dist/features/workbench/Workbench.js +25 -33
- package/dist/features/workbench/WorkflowItem.js +9 -9
- package/dist/features/workbench/WorkflowList.js +61 -62
- package/dist/features/workbench/components/NewRunDialog.js +237 -209
- package/dist/features/workbench/components/RecentRunItem.js +3 -3
- package/dist/features/workbench/components/WorkbenchEnvironmentPanel.js +8 -8
- package/dist/features/workbench/components/WorkbenchIconSidebar.js +74 -109
- package/dist/features/workbench/components/WorkbenchSidebarShell.js +3 -3
- package/dist/features/workbench/components/WorkflowForms.js +11 -10
- package/dist/features/workbench/components/WorkflowHistoryItem.js +16 -36
- package/dist/features/workbench/components/WorkflowHistoryList.js +19 -17
- package/dist/features/workbench/components/buttons/WorkflowButtons.js +3 -3
- package/dist/features/workbench/hooks/useLlmStreamingDocuments.js +159 -0
- package/dist/features/workbench/hooks/useWorkflowData.js +58 -31
- package/dist/features/workbench/index.js +2 -2
- package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +53 -53
- package/dist/features/workspaces/Workspaces.js +166 -136
- package/dist/features/workspaces/components/CreateWorkspace.js +115 -107
- package/dist/features/workspaces/components/ExecutionTimeline.js +2 -2
- package/dist/features/workspaces/components/WorkflowRunForm.js +127 -104
- package/dist/features/workspaces/components/WorkspaceHomePage.js +6 -89
- package/dist/features/workspaces/components/workflow-form/ArgumentsView.js +1 -1
- package/dist/features/workspaces/components/workflow-form/SelectionView.js +15 -15
- package/dist/hooks/index.js +3 -2
- package/dist/hooks/query-keys.js +43 -30
- package/dist/hooks/useConfig.js +28 -22
- package/dist/hooks/useEnvironments.js +27 -2
- package/dist/hooks/useProcessor.js +14 -1
- package/dist/hooks/useWorkflows.js +4 -4
- package/dist/index.d.ts +119 -18
- package/dist/index.js +10 -9
- package/dist/node_modules/d3/src/index.js +13 -13
- package/dist/node_modules/d3-scale/src/continuous.js +16 -16
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-3BPJPVTR.js +43 -43
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-GPEHLZMM.js +270 -270
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAUBKEIU.js +90 -90
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3OPIFGDE.js +458 -458
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.js +3 -3
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.js +37 -37
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-727SXJPM.js +208 -208
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-KSCS5N6A.js +145 -145
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ND2GUHAM.js +7 -7
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-O5CBEL6O.js +41 -41
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-WU5MYG2G.js +3 -3
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.js +6 -6
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.js +30 -30
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OG6HWLK6.js +82 -82
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-TEJ5UH35.js +65 -65
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-I6XJVG4X.js +227 -227
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-6RSMTGT7.js +104 -104
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-PVQCEYII.js +104 -104
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-JHISSGLW.js +49 -49
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-W4KKPZXB.js +101 -101
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.js +20 -20
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-3UESZ5HK.js +354 -354
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.js +53 -53
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-PNZ67QCA.js +113 -113
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-CIIHVFJN.js +90 -90
- package/dist/node_modules/mermaid/dist/mermaid.core.js +156 -156
- package/dist/node_modules/motion/dist/es/react.js +9 -2
- package/dist/pages/DashboardPage.js +20 -74
- package/dist/pages/DebugWorkflowDetailsPage.js +2 -2
- package/dist/pages/DebugWorkflowsPage.js +76 -106
- package/dist/pages/EmbedWorkbenchPage.js +1 -1
- package/dist/pages/PreviewWorkbenchPage.js +6 -6
- package/dist/pages/WorkbenchPage.js +43 -47
- package/dist/pages/WorkflowDebugPage.js +6 -12
- package/dist/pages/WorkspacePage.js +40 -66
- package/dist/pages/WorkspaceRunsPage.js +24 -31
- package/dist/routing/LocalRouter.js +1 -1
- package/package.json +2 -2
- package/dist/features/dashboard/Dashboard.js +0 -125
- package/dist/features/dashboard/RunItem.js +0 -78
- package/dist/features/dashboard/RunList.js +0 -32
- package/dist/hooks/useDashboard.js +0 -16
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import select_default from "../../../../d3-selection/src/select.js";
|
|
1
2
|
import { __name, log } from "./chunk-AGHRB4JF.js";
|
|
2
3
|
import { common_default, configureSvgSize, getConfig2, getUrl } from "./chunk-CSCIHK7Q.js";
|
|
3
|
-
import select_default from "../../../../d3-selection/src/select.js";
|
|
4
4
|
import line_default from "../../../../d3-shape/src/line.js";
|
|
5
5
|
import basis_default from "../../../../d3-shape/src/curve/basis.js";
|
|
6
6
|
import "../../../../d3/src/index.js";
|
|
@@ -22,23 +22,23 @@ import { StateDB, stateDiagram_default, styles_default } from "./chunk-AQP2D5EJ.
|
|
|
22
22
|
var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState"), drawDivider = /* @__PURE__ */ __name((e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider"), drawSimpleState = /* @__PURE__ */ __name((e, h) => {
|
|
23
23
|
let g = e.append("text").attr("x", 2 * getConfig2().state.padding).attr("y", getConfig2().state.textHeight + 2 * getConfig2().state.padding).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(h.id), _ = g.node().getBBox();
|
|
24
24
|
return e.insert("rect", ":first-child").attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding).attr("width", _.width + 2 * getConfig2().state.padding).attr("height", _.height + 2 * getConfig2().state.padding).attr("rx", getConfig2().state.radius), g;
|
|
25
|
-
}, "drawSimpleState"), drawDescrState = /* @__PURE__ */ __name((
|
|
25
|
+
}, "drawSimpleState"), drawDescrState = /* @__PURE__ */ __name((e, g) => {
|
|
26
26
|
let _ = /* @__PURE__ */ __name(function(e, h, g) {
|
|
27
27
|
let _ = e.append("tspan").attr("x", 2 * getConfig2().state.padding).text(h);
|
|
28
28
|
g || _.attr("dy", getConfig2().state.textHeight);
|
|
29
|
-
}, "addTspan"),
|
|
29
|
+
}, "addTspan"), v = e.append("text").attr("x", 2 * getConfig2().state.padding).attr("y", getConfig2().state.textHeight + 1.3 * getConfig2().state.padding).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(g.descriptions[0]).node().getBBox(), b = v.height, x = e.append("text").attr("x", getConfig2().state.padding).attr("y", b + getConfig2().state.padding * .4 + getConfig2().state.dividerMargin + getConfig2().state.textHeight).attr("class", "state-description"), S = !0, C = !0;
|
|
30
30
|
g.descriptions.forEach(function(e) {
|
|
31
31
|
S || (_(x, e, C), C = !1), S = !1;
|
|
32
32
|
});
|
|
33
|
-
let w =
|
|
34
|
-
return w.attr("x2", E + 3 * getConfig2().state.padding),
|
|
33
|
+
let w = e.append("line").attr("x1", getConfig2().state.padding).attr("y1", getConfig2().state.padding + b + getConfig2().state.dividerMargin / 2).attr("y2", getConfig2().state.padding + b + getConfig2().state.dividerMargin / 2).attr("class", "descr-divider"), T = x.node().getBBox(), E = Math.max(T.width, v.width);
|
|
34
|
+
return w.attr("x2", E + 3 * getConfig2().state.padding), e.insert("rect", ":first-child").attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding).attr("width", E + 2 * getConfig2().state.padding).attr("height", T.height + b + 2 * getConfig2().state.padding).attr("rx", getConfig2().state.radius), e;
|
|
35
35
|
}, "drawDescrState"), addTitleAndBox = /* @__PURE__ */ __name((e, h, g) => {
|
|
36
|
-
let _ = getConfig2().state.padding,
|
|
37
|
-
T === x && (T +=
|
|
36
|
+
let _ = getConfig2().state.padding, v = 2 * getConfig2().state.padding, b = e.node().getBBox(), x = b.width, S = b.x, C = e.append("text").attr("x", 0).attr("y", getConfig2().state.titleShift).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(h.id), w = C.node().getBBox().width + v, T = Math.max(w, x);
|
|
37
|
+
T === x && (T += v);
|
|
38
38
|
let E, D = e.node().getBBox();
|
|
39
39
|
h.doc, E = S - _, w > x && (E = (x - T) / 2 + _), Math.abs(S - D.x) < _ && w > x && (E = S - (w - x) / 2);
|
|
40
40
|
let O = 1 - getConfig2().state.textHeight;
|
|
41
|
-
return e.insert("rect", ":first-child").attr("x", E).attr("y", O).attr("class", g ? "alt-composit" : "composit").attr("width", T).attr("height", D.height + getConfig2().state.textHeight + getConfig2().state.titleShift + 1).attr("rx", "0"), C.attr("x", E + _), w <= x && C.attr("x", S + (T -
|
|
41
|
+
return e.insert("rect", ":first-child").attr("x", E).attr("y", O).attr("class", g ? "alt-composit" : "composit").attr("width", T).attr("height", D.height + getConfig2().state.textHeight + getConfig2().state.titleShift + 1).attr("rx", "0"), C.attr("x", E + _), w <= x && C.attr("x", S + (T - v) / 2 - w / 2 + _), e.insert("rect", ":first-child").attr("x", E).attr("y", getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding).attr("width", T).attr("height", getConfig2().state.textHeight * 3).attr("rx", getConfig2().state.radius), e.insert("rect", ":first-child").attr("x", E).attr("y", getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding).attr("width", T).attr("height", D.height + 3 + 2 * getConfig2().state.textHeight).attr("rx", getConfig2().state.radius), e;
|
|
42
42
|
}, "addTitleAndBox"), drawEndState = /* @__PURE__ */ __name((e) => (e.append("circle").attr("class", "end-state-outer").attr("r", getConfig2().state.sizeUnit + getConfig2().state.miniPadding).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit + getConfig2().state.miniPadding).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit + getConfig2().state.miniPadding), e.append("circle").attr("class", "end-state-inner").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit + 2).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit + 2)), "drawEndState"), drawForkJoinState = /* @__PURE__ */ __name((e, h) => {
|
|
43
43
|
let g = getConfig2().state.forkWidth, _ = getConfig2().state.forkHeight;
|
|
44
44
|
if (h.parentId) {
|
|
@@ -46,21 +46,21 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
|
|
|
46
46
|
g = _, _ = e;
|
|
47
47
|
}
|
|
48
48
|
return e.append("rect").style("stroke", "black").style("fill", "black").attr("width", g).attr("height", _).attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding);
|
|
49
|
-
}, "drawForkJoinState"), _drawLongText = /* @__PURE__ */ __name((e, h,
|
|
50
|
-
let b = 0, x =
|
|
49
|
+
}, "drawForkJoinState"), _drawLongText = /* @__PURE__ */ __name((e, h, g, v) => {
|
|
50
|
+
let b = 0, x = v.append("text");
|
|
51
51
|
x.style("text-anchor", "start"), x.attr("class", "noteText");
|
|
52
52
|
let S = e.replace(/\r\n/g, "<br/>");
|
|
53
53
|
S = S.replace(/\n/g, "<br/>");
|
|
54
54
|
let C = S.split(common_default.lineBreakRegex), w = 1.25 * getConfig2().state.noteMargin;
|
|
55
55
|
for (let e of C) {
|
|
56
|
-
let
|
|
57
|
-
if (
|
|
56
|
+
let _ = e.trim();
|
|
57
|
+
if (_.length > 0) {
|
|
58
58
|
let e = x.append("tspan");
|
|
59
|
-
if (e.text(
|
|
59
|
+
if (e.text(_), w === 0) {
|
|
60
60
|
let h = e.node().getBBox();
|
|
61
61
|
w += h.height;
|
|
62
62
|
}
|
|
63
|
-
b += w, e.attr("x", h + getConfig2().state.noteMargin), e.attr("y",
|
|
63
|
+
b += w, e.attr("x", h + getConfig2().state.noteMargin), e.attr("y", g + b + 1.25 * getConfig2().state.noteMargin);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
return {
|
|
@@ -69,19 +69,19 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
|
|
|
69
69
|
};
|
|
70
70
|
}, "_drawLongText"), drawNote = /* @__PURE__ */ __name((e, h) => {
|
|
71
71
|
h.attr("class", "state-note");
|
|
72
|
-
let g = h.append("rect").attr("x", 0).attr("y", getConfig2().state.padding), { textWidth: _, textHeight:
|
|
73
|
-
return g.attr("height",
|
|
72
|
+
let g = h.append("rect").attr("x", 0).attr("y", getConfig2().state.padding), { textWidth: _, textHeight: v } = _drawLongText(e, 0, 0, h.append("g"));
|
|
73
|
+
return g.attr("height", v + 2 * getConfig2().state.noteMargin), g.attr("width", _ + getConfig2().state.noteMargin * 2), g;
|
|
74
74
|
}, "drawNote"), drawState = /* @__PURE__ */ __name(function(e, h) {
|
|
75
75
|
let g = h.id, _ = {
|
|
76
76
|
id: g,
|
|
77
77
|
label: h.id,
|
|
78
78
|
width: 0,
|
|
79
79
|
height: 0
|
|
80
|
-
},
|
|
81
|
-
h.type === "start" && drawStartState(
|
|
82
|
-
let b =
|
|
80
|
+
}, v = e.append("g").attr("id", g).attr("class", "stateGroup");
|
|
81
|
+
h.type === "start" && drawStartState(v), h.type === "end" && drawEndState(v), (h.type === "fork" || h.type === "join") && drawForkJoinState(v, h), h.type === "note" && drawNote(h.note.text, v), h.type === "divider" && drawDivider(v), h.type === "default" && h.descriptions.length === 0 && drawSimpleState(v, h), h.type === "default" && h.descriptions.length > 0 && drawDescrState(v, h);
|
|
82
|
+
let b = v.node().getBBox();
|
|
83
83
|
return _.width = b.width + 2 * getConfig2().state.padding, _.height = b.height + 2 * getConfig2().state.padding, _;
|
|
84
|
-
}, "drawState"), edgeCount = 0, drawEdge = /* @__PURE__ */ __name(function(
|
|
84
|
+
}, "drawState"), edgeCount = 0, drawEdge = /* @__PURE__ */ __name(function(e, v, w) {
|
|
85
85
|
let T = /* @__PURE__ */ __name(function(e) {
|
|
86
86
|
switch (e) {
|
|
87
87
|
case StateDB.relationType.AGGREGATION: return "aggregation";
|
|
@@ -90,40 +90,40 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
|
|
|
90
90
|
case StateDB.relationType.DEPENDENCY: return "dependency";
|
|
91
91
|
}
|
|
92
92
|
}, "getRelationType");
|
|
93
|
-
|
|
94
|
-
let D =
|
|
93
|
+
v.points = v.points.filter((e) => !Number.isNaN(e.y));
|
|
94
|
+
let D = v.points, O = line_default().x(function(e) {
|
|
95
95
|
return e.x;
|
|
96
96
|
}).y(function(e) {
|
|
97
97
|
return e.y;
|
|
98
|
-
}).curve(basis_default), k =
|
|
98
|
+
}).curve(basis_default), k = e.append("path").attr("d", O(D)).attr("id", "edge" + edgeCount).attr("class", "transition"), A = "";
|
|
99
99
|
if (getConfig2().state.arrowMarkerAbsolute && (A = getUrl(!0)), k.attr("marker-end", "url(" + A + "#" + T(StateDB.relationType.DEPENDENCY) + "End)"), w.title !== void 0) {
|
|
100
|
-
let
|
|
101
|
-
for (let
|
|
102
|
-
let _ =
|
|
103
|
-
D = Math.max(D, v.width), O = Math.min(O, v.x), log.info(v.x,
|
|
100
|
+
let h = e.append("g").attr("class", "stateLabel"), { x: b, y: x } = utils_default.calcLabelPosition(v.points), S = common_default.getRows(w.title), T = 0, E = [], D = 0, O = 0;
|
|
101
|
+
for (let e = 0; e <= S.length; e++) {
|
|
102
|
+
let _ = h.append("text").attr("text-anchor", "middle").text(S[e]).attr("x", b).attr("y", x + T), v = _.node().getBBox();
|
|
103
|
+
D = Math.max(D, v.width), O = Math.min(O, v.x), log.info(v.x, b, x + T), T === 0 && (T = _.node().getBBox().height, log.info("Title height", T, x)), E.push(_);
|
|
104
104
|
}
|
|
105
105
|
let k = T * S.length;
|
|
106
106
|
if (S.length > 1) {
|
|
107
107
|
let e = (S.length - 1) * T * .5;
|
|
108
108
|
E.forEach((h, g) => h.attr("y", x + g * T - e)), k = T * S.length;
|
|
109
109
|
}
|
|
110
|
-
let A =
|
|
111
|
-
|
|
110
|
+
let A = h.node().getBBox();
|
|
111
|
+
h.insert("rect", ":first-child").attr("class", "box").attr("x", b - D / 2 - getConfig2().state.padding / 2).attr("y", x - k / 2 - getConfig2().state.padding / 2 - 3.5).attr("width", D + getConfig2().state.padding).attr("height", k + getConfig2().state.padding), log.info(A);
|
|
112
112
|
}
|
|
113
113
|
edgeCount++;
|
|
114
114
|
}, "drawEdge"), conf, transformationLog = {}, setConf = /* @__PURE__ */ __name(function() {}, "setConf"), insertMarkers = /* @__PURE__ */ __name(function(e) {
|
|
115
115
|
e.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
|
|
116
|
-
}, "insertMarkers"), draw = /* @__PURE__ */ __name(function(
|
|
116
|
+
}, "insertMarkers"), draw = /* @__PURE__ */ __name(function(h, _, b, x) {
|
|
117
117
|
conf = getConfig2().state;
|
|
118
118
|
let S = getConfig2().securityLevel, C;
|
|
119
|
-
S === "sandbox" && (C = select_default("#i" +
|
|
119
|
+
S === "sandbox" && (C = select_default("#i" + _));
|
|
120
120
|
let w = select_default(S === "sandbox" ? C.nodes()[0].contentDocument.body : "body"), T = S === "sandbox" ? C.nodes()[0].contentDocument : document;
|
|
121
|
-
log.debug("Rendering diagram " +
|
|
122
|
-
let E = w.select(`[id='${
|
|
123
|
-
insertMarkers(E), renderDoc(x.db.getRootDoc(), E.append("g").attr("id",
|
|
121
|
+
log.debug("Rendering diagram " + h);
|
|
122
|
+
let E = w.select(`[id='${_}']`);
|
|
123
|
+
insertMarkers(E), renderDoc(x.db.getRootDoc(), E.append("g").attr("id", _ + "-root"), void 0, !1, w, T, x);
|
|
124
124
|
let D = conf.padding, O = E.node().getBBox(), k = O.width + D * 2, A = O.height + D * 2;
|
|
125
125
|
configureSvgSize(E, A, k * 1.75, conf.useMaxWidth), E.attr("viewBox", `${O.x - conf.padding} ${O.y - conf.padding} ` + k + " " + A);
|
|
126
|
-
}, "draw"), getLabelWidth = /* @__PURE__ */ __name((e) => e ? e.length * conf.fontSizeFactor : 1, "getLabelWidth"), renderDoc = /* @__PURE__ */ __name((e,
|
|
126
|
+
}, "draw"), getLabelWidth = /* @__PURE__ */ __name((e) => e ? e.length * conf.fontSizeFactor : 1, "getLabelWidth"), renderDoc = /* @__PURE__ */ __name((e, h, v, y, b, x, S) => {
|
|
127
127
|
let C = new Graph({
|
|
128
128
|
compound: !0,
|
|
129
129
|
multigraph: !0
|
|
@@ -153,27 +153,27 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
|
|
|
153
153
|
});
|
|
154
154
|
let O = S.db.getStates(), k = S.db.getRelations(), A = Object.keys(O);
|
|
155
155
|
for (let e of A) {
|
|
156
|
-
let
|
|
157
|
-
v && (
|
|
158
|
-
let
|
|
159
|
-
if (
|
|
160
|
-
let e =
|
|
161
|
-
|
|
156
|
+
let g = O[e];
|
|
157
|
+
v && (g.parentId = v);
|
|
158
|
+
let _;
|
|
159
|
+
if (g.doc) {
|
|
160
|
+
let e = h.append("g").attr("id", g.id).attr("class", "stateGroup");
|
|
161
|
+
_ = renderDoc(g.doc, e, g.id, !y, b, x, S);
|
|
162
162
|
{
|
|
163
|
-
e = addTitleAndBox(e,
|
|
164
|
-
let
|
|
165
|
-
|
|
163
|
+
e = addTitleAndBox(e, g, y);
|
|
164
|
+
let h = e.node().getBBox();
|
|
165
|
+
_.width = h.width, _.height = h.height + conf.padding / 2, transformationLog[g.id] = { y: conf.compositTitleSize };
|
|
166
166
|
}
|
|
167
|
-
} else
|
|
168
|
-
if (
|
|
169
|
-
let e = drawState(
|
|
167
|
+
} else _ = drawState(h, g, C);
|
|
168
|
+
if (g.note) {
|
|
169
|
+
let e = drawState(h, {
|
|
170
170
|
descriptions: [],
|
|
171
|
-
id:
|
|
172
|
-
note:
|
|
171
|
+
id: g.id + "-note",
|
|
172
|
+
note: g.note,
|
|
173
173
|
type: "note"
|
|
174
174
|
}, C);
|
|
175
|
-
|
|
176
|
-
} else C.setNode(
|
|
175
|
+
g.note.position === "left of" ? (C.setNode(_.id + "-note", e), C.setNode(_.id, _)) : (C.setNode(_.id, _), C.setNode(_.id + "-note", e)), C.setParent(_.id, _.id + "-group"), C.setParent(_.id + "-note", _.id + "-group");
|
|
176
|
+
} else C.setNode(_.id, _);
|
|
177
177
|
}
|
|
178
178
|
log.debug("Count=", C.nodeCount(), C);
|
|
179
179
|
let j = 0;
|
|
@@ -185,7 +185,7 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
|
|
|
185
185
|
labelpos: "c"
|
|
186
186
|
}, "id" + j);
|
|
187
187
|
}), layout(C), log.debug("Graph after layout", C.nodes());
|
|
188
|
-
let M =
|
|
188
|
+
let M = h.node();
|
|
189
189
|
C.nodes().forEach(function(e) {
|
|
190
190
|
e !== void 0 && C.node(e) !== void 0 ? (log.warn("Node " + e + ": " + JSON.stringify(C.node(e))), b.select("#" + M.id + " #" + e).attr("transform", "translate(" + (C.node(e).x - C.node(e).width / 2) + "," + (C.node(e).y + (transformationLog[e] ? transformationLog[e].y : 0) - C.node(e).height / 2) + " )"), b.select("#" + M.id + " #" + e).attr("data-x-shift", C.node(e).x - C.node(e).width / 2), x.querySelectorAll("#" + M.id + " #" + e + " .divider").forEach((e) => {
|
|
191
191
|
let h = e.parentElement, g = 0, _ = 0;
|
|
@@ -194,7 +194,7 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
|
|
|
194
194
|
});
|
|
195
195
|
let N = M.getBBox();
|
|
196
196
|
C.edges().forEach(function(e) {
|
|
197
|
-
e !== void 0 && C.edge(e) !== void 0 && (log.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(C.edge(e))), drawEdge(
|
|
197
|
+
e !== void 0 && C.edge(e) !== void 0 && (log.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(C.edge(e))), drawEdge(h, C.edge(e), C.edge(e).relation));
|
|
198
198
|
}), N = M.getBBox();
|
|
199
199
|
let P = {
|
|
200
200
|
id: v || "root",
|