@parallelworks/ui 0.20.0 → 0.21.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/ai/adapter/openai/createOpenAIStream.js +3 -2
- package/dist/ai/agent/diff.d.ts +0 -1
- package/dist/ai/agent/diff.js +3 -2
- package/dist/ai/agent/toolfmt.js +2 -3
- package/dist/ai/ai.css +5 -0
- package/dist/ai/components/AllocationSelector.js +3 -2
- package/dist/ai/components/AttachmentManager.js +1 -1
- package/dist/ai/components/BranchNavigator.js +4 -2
- package/dist/ai/components/ChatInput.d.ts +2 -5
- package/dist/ai/components/ChatInput.js +10 -7
- package/dist/ai/components/ChatMessage.js +7 -7
- package/dist/ai/components/ChatSidebar.d.ts +0 -1
- package/dist/ai/components/ChatSidebar.js +4 -6
- package/dist/ai/components/ChatThread.js +5 -8
- package/dist/ai/components/ModelSelector.js +3 -2
- package/dist/ai/components/ShareDialog.js +6 -3
- package/dist/ai/components/SlashMenu.d.ts +0 -1
- package/dist/ai/components/agent/ActivityLine.d.ts +0 -1
- package/dist/ai/components/agent/ActivityLine.js +2 -2
- package/dist/ai/components/agent/AgentMessageParts.d.ts +1 -26
- package/dist/ai/components/agent/AgentMessageParts.js +4 -5
- package/dist/ai/core/ChatProvider.d.ts +2 -6
- package/dist/ai/core/ChatProvider.js +42 -67
- package/dist/ai/core/KeyboardShortcutsProvider.js +1 -1
- package/dist/ai/core/chatReducer.d.ts +0 -6
- package/dist/ai/core/chatReducer.js +1 -15
- package/dist/ai/core/useKeyboardShortcuts.d.ts +3 -1
- package/dist/ai/core/useKeyboardShortcuts.js +9 -11
- package/dist/ai/core/useSSEStream.d.ts +0 -1
- package/dist/ai/core/useSSEStream.js +5 -17
- package/dist/ai/strings.d.ts +0 -1
- package/dist/ai/strings.js +0 -1
- package/dist/ai/types.d.ts +1 -1
- package/dist/ai/ui/Avatar.d.ts +1 -2
- package/dist/ai/ui/Avatar.js +7 -18
- package/dist/ai/ui/Markdown.d.ts +1 -3
- package/dist/ai/ui/Markdown.js +1 -2
- package/dist/ai/ui/sidebar.d.ts +0 -1
- package/dist/ai/ui/sidebar.js +3 -1
- package/dist/ai/utils.js +1 -1
- package/dist/components/Avatar.js +4 -2
- package/dist/components/BareModal.js +1 -5
- package/dist/components/Breadcrumbs.js +21 -14
- package/dist/components/CollapsiblePanel.d.ts +1 -3
- package/dist/components/CollapsiblePanel.js +5 -5
- package/dist/components/Dropdown.d.ts +0 -4
- package/dist/components/Dropdown.js +5 -6
- package/dist/components/Listbox.js +14 -18
- package/dist/components/MultiSelect.js +5 -8
- package/dist/components/Pagination.js +1 -1
- package/dist/components/Provider.d.ts +0 -8
- package/dist/components/SwitchToggle.js +3 -5
- package/dist/components/Table.d.ts +1 -3
- package/dist/components/dropdownUtils.js +5 -6
- package/dist/components/relativeTime.d.ts +0 -7
- package/dist/components/relativeTime.js +1 -1
- package/dist/duration.js +1 -1
- package/dist/editor/Editor.d.ts +1 -1
- package/dist/editor/Editor.js +1 -1
- package/dist/editor/EditorField.d.ts +0 -1
- package/dist/editor/EditorField.js +8 -8
- package/dist/editor/FormCodePanel.js +14 -20
- package/dist/editor/yamlLanguage.js +2 -2
- package/dist/file-explorer/FileExplorer.js +56 -59
- package/dist/file-explorer/FileExplorerContext.d.ts +1 -2
- package/dist/file-explorer/FileExplorerContext.js +92 -125
- package/dist/file-explorer/FilePreview/Inline.d.ts +1 -2
- package/dist/file-explorer/FilePreview/Inline.js +2 -2
- package/dist/file-explorer/FilePreview/Viewer.js +0 -4
- package/dist/file-explorer/FilePreview/index.d.ts +1 -2
- package/dist/file-explorer/FilePreview/index.js +3 -3
- package/dist/file-explorer/FilePreview/parse.d.ts +2 -1
- package/dist/file-explorer/FilePreview/useObjectBlobUrl.d.ts +5 -4
- package/dist/file-explorer/FilePreview/useObjectBlobUrl.js +23 -36
- package/dist/file-explorer/FilePreview/useObjectText.d.ts +1 -2
- package/dist/file-explorer/FilePreview/useObjectText.js +5 -7
- package/dist/file-explorer/FileRow.js +1 -1
- package/dist/file-explorer/FileRowsWindow.d.ts +5 -12
- package/dist/file-explorer/FileTable.d.ts +2 -6
- package/dist/file-explorer/LoadMoreRow.d.ts +8 -0
- package/dist/file-explorer/TreeView.d.ts +0 -1
- package/dist/file-explorer/TreeView.js +6 -6
- package/dist/file-explorer/helpers.js +2 -4
- package/dist/file-explorer/lib/fileExplorer.d.ts +0 -2
- package/dist/file-explorer/lib/types.d.ts +0 -1
- package/dist/file-explorer/lib/utils.js +15 -20
- package/dist/file-explorer/toasts.js +36 -34
- package/dist/form/Fields/BooleanField.js +5 -4
- package/dist/form/Fields/CheckboxGroupField.js +5 -4
- package/dist/form/Fields/ColorField.js +5 -4
- package/dist/form/Fields/DropdownField.d.ts +0 -1
- package/dist/form/Fields/DropdownField.js +10 -13
- package/dist/form/Fields/DurationField.js +2 -2
- package/dist/form/Fields/LabelField.js +5 -5
- package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
- package/dist/form/Fields/MultiDropdownField.js +8 -11
- package/dist/form/Fields/NumberField.js +6 -5
- package/dist/form/Fields/ObjectField.d.ts +1 -2
- package/dist/form/Fields/ObjectField.js +22 -21
- package/dist/form/Fields/RadioField.js +4 -3
- package/dist/form/Fields/RangeField.js +7 -6
- package/dist/form/Fields/StringField.js +2 -1
- package/dist/form/Fields/TextAreaField.js +2 -1
- package/dist/form/Form.d.ts +7 -8
- package/dist/form/Form.js +52 -78
- package/dist/form/SpecialTypes/DropdownWrapper.d.ts +0 -2
- package/dist/form/SpecialTypes/DropdownWrapper.js +1 -3
- package/dist/form/SpecialTypes/FormikCustomDropdown.d.ts +1 -3
- package/dist/form/SpecialTypes/FormikCustomDropdown.js +4 -7
- package/dist/form/SpecialTypes/FormikCustomInput.js +13 -11
- package/dist/form/Wizard/WizardContainer.js +8 -25
- package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
- package/dist/form/Wizard/WizardNavigation.js +5 -6
- package/dist/form/Wizard/WizardStepContent.d.ts +1 -1
- package/dist/form/Wizard/WizardStepContent.js +2 -2
- package/dist/form/Wizard/WizardStepIndicator.js +7 -17
- package/dist/form/Wizard/types.d.ts +4 -46
- package/dist/form/Wizard/useWizardState.d.ts +2 -10
- package/dist/form/Wizard/useWizardState.js +42 -92
- package/dist/form/Wizard/utils.js +6 -11
- package/dist/form/lib.js +28 -54
- package/dist/form/types/fieldTypes.d.ts +4 -5
- package/dist/form/utils/dependentOptions.d.ts +6 -0
- package/dist/form/utils/dependentOptions.js +21 -0
- package/dist/form/utils/getParentValue.d.ts +2 -1
- package/dist/form/utils/getParentValue.js +10 -15
- package/dist/form/utils/getValueUsingPath.js +1 -1
- package/dist/graph/AnnotationBanner.d.ts +1 -1
- package/dist/graph/AnnotationBanner.js +1 -1
- package/dist/graph/Collapse.d.ts +3 -3
- package/dist/graph/Collapse.js +3 -8
- package/dist/graph/DependencyGraph.d.ts +5 -4
- package/dist/graph/DependencyGraph.js +172 -222
- package/dist/graph/JobSummary.d.ts +10 -8
- package/dist/graph/JobSummary.js +13 -13
- package/dist/graph/MatrixGroup.d.ts +5 -17
- package/dist/graph/MatrixGroup.js +11 -22
- package/dist/graph/TreeView.d.ts +1 -3
- package/dist/graph/TreeView.js +104 -491
- package/dist/graph/types.d.ts +3 -2
- package/dist/graph/util.d.ts +5 -0
- package/dist/graph/util.js +18 -0
- package/dist/icons.d.ts +2 -2
- package/dist/icons.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/list/ListViewControls.js +17 -35
- package/dist/list/RowContextMenu.js +7 -7
- package/dist/logviewer/LogViewer.js +7 -9
- package/dist/logviewer/segments.js +2 -2
- package/dist/styles/theme.css +1 -0
- package/dist/styles.css +1 -1
- package/dist/theme/index.js +5 -5
- package/package.json +28 -30
- package/dist/ai/ui/buttons.d.ts +0 -1
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { WorkflowJob } from './types.js';
|
|
3
|
-
|
|
3
|
+
/** What a job list does when its jobs and steps are clicked, at one graph level. */
|
|
4
|
+
export interface JobHandlers {
|
|
5
|
+
isStepsOpen: (jobName: string) => boolean;
|
|
6
|
+
onJobClick: (jobName: string) => void;
|
|
7
|
+
onStepClick: (jobName: string, stepIndex: number) => void;
|
|
8
|
+
onStepLogClick: (jobName: string, stepIndex: number) => void;
|
|
9
|
+
onSubworkflowIcon: (jobName: string, stepIndex: number) => void;
|
|
10
|
+
renderSubworkflow: (jobName: string, stepIndex: number) => ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export declare function Joblist(inputs: JobHandlers & {
|
|
4
13
|
jobs: Record<string, WorkflowJob>;
|
|
5
14
|
jobNames: string[];
|
|
6
|
-
onJobClick: (jobName: string) => void;
|
|
7
|
-
onStepClick: (jobName: string, stepName: string | number) => void;
|
|
8
|
-
onStepLogClick?: (jobName: string, stepIndex: number) => void;
|
|
9
|
-
onSubworkflowIcon?: (jobName: string, stepIndex: number) => void;
|
|
10
|
-
isSubworkflowExpanded?: (jobName: string, stepIndex: number) => boolean;
|
|
11
|
-
renderSubworkflow?: (jobName: string, stepIndex: number) => ReactNode;
|
|
12
|
-
isStepsOpen: (jobName: string) => boolean;
|
|
13
15
|
growWidth?: boolean;
|
|
14
16
|
preview?: boolean;
|
|
15
17
|
}): (import("react").JSX.Element | null)[];
|
package/dist/graph/JobSummary.js
CHANGED
|
@@ -3,6 +3,7 @@ import { DocumentIcon, OpenInNewGraphIcon } from "../icons.js";
|
|
|
3
3
|
import { TOOLTIP_ID } from "../components/Tooltip.js";
|
|
4
4
|
import { Indicator } from "../components/Indicator.js";
|
|
5
5
|
import { Reveal } from "./Reveal.js";
|
|
6
|
+
import { jobLabel } from "./util.js";
|
|
6
7
|
import cx from "classnames";
|
|
7
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
9
|
//#region src/graph/JobSummary.tsx
|
|
@@ -31,9 +32,8 @@ function Joblist(inputs) {
|
|
|
31
32
|
const engine = useWorkflowEngine();
|
|
32
33
|
return inputs.jobNames.map((jobName) => {
|
|
33
34
|
if (inputs.jobs[jobName]?._matrixGroup) return null;
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const jobLabel = matrixMeta?.originaljob ? `${matrixMeta.originaljob[0].toUpperCase() + matrixMeta.originaljob.slice(1)} (${(matrixMeta.index ?? 0) + 1}/${matrixMeta.totalingroup ?? "?"})` : (jobName[0].toUpperCase() + jobName.slice(1)).replace(/_/g, " ");
|
|
35
|
+
const job = inputs.jobs[jobName];
|
|
36
|
+
const jobStatus = job?.status;
|
|
37
37
|
return /* @__PURE__ */ jsxs("div", {
|
|
38
38
|
className: "py-1 select-none",
|
|
39
39
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
@@ -41,20 +41,20 @@ function Joblist(inputs) {
|
|
|
41
41
|
"aria-expanded": inputs.isStepsOpen(jobName),
|
|
42
42
|
onClick: () => inputs.onJobClick(jobName),
|
|
43
43
|
className: cx("flex items-center gap-x-1.5 w-full text-left", jobStatus === "skipped" || jobStatus === "skipped-failed" ? "cursor-default" : "cursor-pointer"),
|
|
44
|
-
children: [!inputs.preview && /* @__PURE__ */ jsx(Indicator, { status:
|
|
44
|
+
children: [!inputs.preview && /* @__PURE__ */ jsx(Indicator, { status: jobStatus }), /* @__PURE__ */ jsx("div", {
|
|
45
45
|
className: "font-medium",
|
|
46
|
-
children: jobLabel
|
|
46
|
+
children: jobLabel(jobName, job)
|
|
47
47
|
})]
|
|
48
48
|
}), /* @__PURE__ */ jsx(Reveal, {
|
|
49
49
|
open: inputs.isStepsOpen(jobName),
|
|
50
50
|
growWidth: inputs.growWidth ?? false,
|
|
51
51
|
children: /* @__PURE__ */ jsx("div", {
|
|
52
52
|
className: "flex flex-col gap-y-0.5 mt-0.5",
|
|
53
|
-
children: (
|
|
53
|
+
children: (job?.steps || []).map((step, i) => {
|
|
54
54
|
const stepLabel = engine.stepLabel(step, i);
|
|
55
55
|
const stepKey = `${jobName}:${i}`;
|
|
56
56
|
const subJobs = step.subworkflow?.jobs;
|
|
57
|
-
const canExpand = !!
|
|
57
|
+
const canExpand = !!subJobs && Object.keys(subJobs).length > 0;
|
|
58
58
|
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
|
|
59
59
|
className: cx("flex items-center", step.status === "skipped" || step.status === "skipped-failed" ? "cursor-default" : "cursor-pointer"),
|
|
60
60
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
@@ -64,14 +64,14 @@ function Joblist(inputs) {
|
|
|
64
64
|
"data-testid": stepLabel,
|
|
65
65
|
children: [inputs.preview ? "↳" : /* @__PURE__ */ jsx(Indicator, { status: step.status }), /* @__PURE__ */ jsx("div", { children: stepLabel })]
|
|
66
66
|
}), step.subworkflow && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
67
|
-
|
|
67
|
+
/* @__PURE__ */ jsx("button", {
|
|
68
68
|
type: "button",
|
|
69
69
|
"aria-label": jobActions.openSubworkflowLogs,
|
|
70
70
|
"data-tooltip-id": "global-tooltip",
|
|
71
71
|
"data-tooltip-content": jobActions.openSubworkflowLogs,
|
|
72
72
|
onClick: (e) => {
|
|
73
73
|
e.stopPropagation();
|
|
74
|
-
inputs.onStepLogClick
|
|
74
|
+
inputs.onStepLogClick(jobName, i);
|
|
75
75
|
},
|
|
76
76
|
className: "link ml-1",
|
|
77
77
|
children: /* @__PURE__ */ jsx(DocumentIcon, { className: "w-[1.2em] h-[1.2em]" })
|
|
@@ -80,24 +80,24 @@ function Joblist(inputs) {
|
|
|
80
80
|
uses: step.uses,
|
|
81
81
|
subworkflow: step.subworkflow
|
|
82
82
|
}),
|
|
83
|
-
|
|
83
|
+
/* @__PURE__ */ jsx("button", {
|
|
84
84
|
type: "button",
|
|
85
85
|
"aria-label": jobActions.openInNewGraph,
|
|
86
86
|
"data-tooltip-id": "global-tooltip",
|
|
87
87
|
"data-tooltip-content": jobActions.openInNewGraph,
|
|
88
88
|
onClick: (e) => {
|
|
89
89
|
e.stopPropagation();
|
|
90
|
-
inputs.onSubworkflowIcon
|
|
90
|
+
inputs.onSubworkflowIcon(jobName, i);
|
|
91
91
|
},
|
|
92
92
|
className: "link ml-1",
|
|
93
93
|
children: /* @__PURE__ */ jsx(OpenInNewGraphIcon, { className: "w-[1.2em] h-[1.2em]" })
|
|
94
94
|
})
|
|
95
95
|
] })]
|
|
96
|
-
}), canExpand && inputs.renderSubworkflow
|
|
96
|
+
}), canExpand && inputs.renderSubworkflow(jobName, i)] }, stepKey);
|
|
97
97
|
})
|
|
98
98
|
})
|
|
99
99
|
})]
|
|
100
|
-
},
|
|
100
|
+
}, `job-${jobName}`);
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
//#endregion
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
1
|
import type { MatrixGroup, RunStatus } from '../engine.js';
|
|
2
|
+
import { type JobHandlers } from './JobSummary.js';
|
|
3
3
|
import type { WorkflowJob } from './types.js';
|
|
4
4
|
/** Matrix group item in the summary sidebar. */
|
|
5
|
-
export declare function MatrixGroupSummaryItem({ matrixGroup, status, isExpanded, onToggle, jobs,
|
|
5
|
+
export declare function MatrixGroupSummaryItem({ matrixGroup, status, isExpanded, onToggle, jobs, handlers, preview, }: {
|
|
6
6
|
matrixGroup: MatrixGroup;
|
|
7
7
|
status: RunStatus;
|
|
8
8
|
isExpanded: boolean;
|
|
9
9
|
onToggle: () => void;
|
|
10
10
|
jobs: Record<string, WorkflowJob>;
|
|
11
|
-
|
|
12
|
-
onJobClick: (j: string) => void;
|
|
13
|
-
onStepClick: (j: string, s: string | number) => void;
|
|
14
|
-
onStepLogClick: (j: string, s: number) => void;
|
|
15
|
-
onSubworkflowIcon: (j: string, s: number) => void;
|
|
16
|
-
isSubworkflowExpanded: (j: string, s: number) => boolean;
|
|
17
|
-
renderSubworkflow: (j: string, s: number) => ReactNode;
|
|
11
|
+
handlers: JobHandlers;
|
|
18
12
|
preview: boolean;
|
|
19
13
|
}): import("react").JSX.Element;
|
|
20
14
|
/** Matrix group node in the DAG visualization. */
|
|
21
|
-
export declare function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExpanded, onToggle, jobs, activeDists, onMouseEnter, onMouseLeave, hoveredRelated, animT, zBase,
|
|
15
|
+
export declare function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExpanded, onToggle, jobs, activeDists, onMouseEnter, onMouseLeave, hoveredRelated, animT, zBase, handlers, preview, }: {
|
|
22
16
|
matrixGroup: MatrixGroup;
|
|
23
17
|
jobNames: string[];
|
|
24
18
|
idPrefix: string;
|
|
@@ -31,12 +25,6 @@ export declare function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExp
|
|
|
31
25
|
hoveredRelated: Set<string> | null;
|
|
32
26
|
animT: number;
|
|
33
27
|
zBase: number;
|
|
34
|
-
|
|
35
|
-
onJobClick: (j: string) => void;
|
|
36
|
-
onStepClick: (j: string, s: string | number) => void;
|
|
37
|
-
onStepLogClick: (j: string, s: number) => void;
|
|
38
|
-
onSubworkflowIcon: (j: string, s: number) => void;
|
|
39
|
-
isSubworkflowExpanded: (j: string, s: number) => boolean;
|
|
40
|
-
renderSubworkflow: (j: string, s: number) => ReactNode;
|
|
28
|
+
handlers: JobHandlers;
|
|
41
29
|
preview: boolean;
|
|
42
30
|
}): import("react").JSX.Element;
|
|
@@ -5,7 +5,7 @@ import { Joblist } from "./JobSummary.js";
|
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/graph/MatrixGroup.tsx
|
|
7
7
|
/** Matrix group item in the summary sidebar. */
|
|
8
|
-
function MatrixGroupSummaryItem({ matrixGroup, status, isExpanded, onToggle, jobs,
|
|
8
|
+
function MatrixGroupSummaryItem({ matrixGroup, status, isExpanded, onToggle, jobs, handlers, preview }) {
|
|
9
9
|
return /* @__PURE__ */ jsxs("div", {
|
|
10
10
|
className: "py-1.5",
|
|
11
11
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
@@ -35,29 +35,24 @@ function MatrixGroupSummaryItem({ matrixGroup, status, isExpanded, onToggle, job
|
|
|
35
35
|
children: /* @__PURE__ */ jsx(Joblist, {
|
|
36
36
|
jobs,
|
|
37
37
|
jobNames: matrixGroup.members,
|
|
38
|
-
|
|
39
|
-
isStepsOpen,
|
|
40
|
-
onStepClick,
|
|
41
|
-
onStepLogClick,
|
|
42
|
-
onSubworkflowIcon,
|
|
43
|
-
isSubworkflowExpanded,
|
|
44
|
-
renderSubworkflow,
|
|
38
|
+
...handlers,
|
|
45
39
|
preview
|
|
46
40
|
})
|
|
47
41
|
})
|
|
48
42
|
})]
|
|
49
|
-
}
|
|
43
|
+
});
|
|
50
44
|
}
|
|
51
45
|
/** Matrix group node in the DAG visualization. */
|
|
52
|
-
function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExpanded, onToggle, jobs, activeDists, onMouseEnter, onMouseLeave, hoveredRelated, animT, zBase,
|
|
46
|
+
function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExpanded, onToggle, jobs, activeDists, onMouseEnter, onMouseLeave, hoveredRelated, animT, zBase, handlers, preview }) {
|
|
53
47
|
const matrixName = matrixGroup.originaljob;
|
|
48
|
+
const first = jobNames[0] ?? "";
|
|
54
49
|
const matrixMembers = matrixGroup.members;
|
|
55
50
|
const { aggStatus, statusLabel } = useWorkflowEngine().matrixStatus(matrixMembers.map((m) => jobs[m]?.status));
|
|
56
51
|
return /* @__PURE__ */ jsxs("div", {
|
|
57
|
-
id:
|
|
52
|
+
id: `node_${idPrefix}${first}`,
|
|
58
53
|
role: "none",
|
|
59
54
|
className: "relative m-24",
|
|
60
|
-
style: { zIndex: (activeDists?.has(
|
|
55
|
+
style: { zIndex: (activeDists?.has(first) ? 25 : 1) + zBase },
|
|
61
56
|
onMouseEnter,
|
|
62
57
|
onMouseLeave,
|
|
63
58
|
onFocus: onMouseEnter,
|
|
@@ -65,7 +60,7 @@ function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExpanded, onToggle
|
|
|
65
60
|
children: [/* @__PURE__ */ jsx("div", { className: "absolute inset-0 rounded-2xl bg-(--theme-panel-bg)" }), /* @__PURE__ */ jsxs("div", {
|
|
66
61
|
className: "relative border-solid shadow py-4 px-8 rounded-xl border-4 whitespace-nowrap bg-(--theme-panel-bg) text-2xl",
|
|
67
62
|
style: {
|
|
68
|
-
opacity: hoveredRelated && !hoveredRelated.has(
|
|
63
|
+
opacity: hoveredRelated && !hoveredRelated.has(first) ? .5 : 1,
|
|
69
64
|
transition: `opacity ${animT}s`
|
|
70
65
|
},
|
|
71
66
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
@@ -75,7 +70,7 @@ function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExpanded, onToggle
|
|
|
75
70
|
onClick: onToggle,
|
|
76
71
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
77
72
|
className: "font-semibold text-md p-0.5",
|
|
78
|
-
children: ["Matrix: ", matrixName.length > 20 ? matrixName.slice(0, 20)
|
|
73
|
+
children: ["Matrix: ", matrixName.length > 20 ? `${matrixName.slice(0, 20)}...` : matrixName]
|
|
79
74
|
}), !isExpanded && /* @__PURE__ */ jsxs("div", {
|
|
80
75
|
className: "mt-1 border-t border-(--theme-border) pt-1 flex items-center gap-x-1",
|
|
81
76
|
children: [/* @__PURE__ */ jsx(Indicator, { status: aggStatus }), /* @__PURE__ */ jsx("span", { children: statusLabel })]
|
|
@@ -88,20 +83,14 @@ function MatrixGroupNode({ matrixGroup, jobNames, idPrefix, isExpanded, onToggle
|
|
|
88
83
|
children: /* @__PURE__ */ jsx(Joblist, {
|
|
89
84
|
jobs,
|
|
90
85
|
jobNames: matrixMembers,
|
|
91
|
-
|
|
92
|
-
isStepsOpen,
|
|
93
|
-
onStepClick,
|
|
94
|
-
onStepLogClick,
|
|
95
|
-
onSubworkflowIcon,
|
|
96
|
-
isSubworkflowExpanded,
|
|
97
|
-
renderSubworkflow,
|
|
86
|
+
...handlers,
|
|
98
87
|
growWidth: true,
|
|
99
88
|
preview
|
|
100
89
|
})
|
|
101
90
|
})
|
|
102
91
|
})]
|
|
103
92
|
})]
|
|
104
|
-
}
|
|
93
|
+
});
|
|
105
94
|
}
|
|
106
95
|
//#endregion
|
|
107
96
|
export { MatrixGroupNode, MatrixGroupSummaryItem };
|
package/dist/graph/TreeView.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import type { WorkflowJob as Job } from './types.js';
|
|
2
2
|
interface TreeViewProps {
|
|
3
3
|
jobs: Record<string, Job>;
|
|
4
|
-
workflowName: string;
|
|
5
|
-
runNumber: number;
|
|
6
4
|
slug: string;
|
|
7
5
|
expandedJobs: Set<string>;
|
|
8
6
|
setExpandedJobs: (jobs: Set<string>) => void;
|
|
9
7
|
}
|
|
10
|
-
export default function TreeView({ jobs,
|
|
8
|
+
export default function TreeView({ jobs, slug, expandedJobs, setExpandedJobs }: TreeViewProps): import("react").JSX.Element;
|
|
11
9
|
export {};
|