@backstage-community/plugin-tekton 3.39.0 → 3.40.1
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/CHANGELOG.md +21 -0
- package/dist/components/Icons/CriticalRiskIcon.esm.js +5 -1
- package/dist/components/Icons/CriticalRiskIcon.esm.js.map +1 -1
- package/dist/components/Icons/EqualsIcon.esm.js +5 -1
- package/dist/components/Icons/EqualsIcon.esm.js.map +1 -1
- package/dist/components/Icons/LinkToSbomIcon.esm.js +5 -16
- package/dist/components/Icons/LinkToSbomIcon.esm.js.map +1 -1
- package/dist/components/Icons/OutputIcon.esm.js +5 -16
- package/dist/components/Icons/OutputIcon.esm.js.map +1 -1
- package/dist/components/Icons/ViewLogsIcon.esm.js +5 -16
- package/dist/components/Icons/ViewLogsIcon.esm.js.map +1 -1
- package/dist/components/PipelineRunList/PipelineRunList.esm.js +79 -59
- package/dist/components/PipelineRunList/PipelineRunList.esm.js.map +1 -1
- package/dist/components/PipelineRunList/PipelineRunListSearchBar.esm.js +7 -11
- package/dist/components/PipelineRunList/PipelineRunListSearchBar.esm.js.map +1 -1
- package/dist/components/PipelineRunList/PipelineRunOutput.esm.js +27 -7
- package/dist/components/PipelineRunList/PipelineRunOutput.esm.js.map +1 -1
- package/dist/components/PipelineRunList/PipelineRunRow.esm.js +123 -58
- package/dist/components/PipelineRunList/PipelineRunRow.esm.js.map +1 -1
- package/dist/components/PipelineRunList/PipelineRunRowActions.esm.js +22 -6
- package/dist/components/PipelineRunList/PipelineRunRowActions.esm.js.map +1 -1
- package/dist/components/PipelineRunList/PipelineRunVulnerabilities.esm.js +216 -146
- package/dist/components/PipelineRunList/PipelineRunVulnerabilities.esm.js.map +1 -1
- package/dist/components/PipelineRunList/PipelineTableHeader.esm.js +10 -16
- package/dist/components/PipelineRunList/PipelineTableHeader.esm.js.map +1 -1
- package/dist/components/PipelineRunList/ResourceBadge.css.esm.js +1 -1
- package/dist/components/PipelineRunList/ResourceBadge.esm.js +10 -1
- package/dist/components/PipelineRunList/ResourceBadge.esm.js.map +1 -1
- package/dist/components/PipelineRunList/pipelineRunTableColumns.esm.js +58 -0
- package/dist/components/PipelineRunList/pipelineRunTableColumns.esm.js.map +1 -0
- package/dist/components/PipelineRunLogs/PipelineRunLogDialog.esm.js +20 -20
- package/dist/components/PipelineRunLogs/PipelineRunLogDialog.esm.js.map +1 -1
- package/dist/components/PipelineRunLogs/PipelineRunLogViewer.esm.js +3 -3
- package/dist/components/PipelineRunLogs/PipelineRunLogViewer.esm.js.map +1 -1
- package/dist/components/PipelineRunLogs/PipelineRunLogs.esm.js +2 -2
- package/dist/components/PipelineRunLogs/PipelineRunLogs.esm.js.map +1 -1
- package/dist/components/PipelineRunLogs/PodLogsDownloadLink.esm.js +1 -1
- package/dist/components/PipelineRunLogs/PodLogsDownloadLink.esm.js.map +1 -1
- package/dist/components/PipelineRunLogs/TaskStatusStepper.esm.js +43 -63
- package/dist/components/PipelineRunLogs/TaskStatusStepper.esm.js.map +1 -1
- package/dist/components/PipelineRunOutput/PipelineRunOutputDialog.esm.js +34 -20
- package/dist/components/PipelineRunOutput/PipelineRunOutputDialog.esm.js.map +1 -1
- package/dist/components/PipelineRunParamsAndResults/PipelineRunParams.esm.js +1 -1
- package/dist/components/PipelineRunParamsAndResults/PipelineRunParams.esm.js.map +1 -1
- package/dist/components/PipelineRunParamsAndResults/PipelineRunParamsAndResults.esm.js +1 -1
- package/dist/components/PipelineRunParamsAndResults/PipelineRunParamsAndResults.esm.js.map +1 -1
- package/dist/components/PipelineRunParamsAndResults/PipelineRunParamsAndResultsDialog.esm.js +19 -19
- package/dist/components/PipelineRunParamsAndResults/PipelineRunParamsAndResultsDialog.esm.js.map +1 -1
- package/dist/components/PipelineRunParamsAndResults/PipelineRunResults.esm.js +1 -1
- package/dist/components/PipelineRunParamsAndResults/PipelineRunResults.esm.js.map +1 -1
- package/dist/components/Tekton/TektonCIComponent.esm.js +2 -1
- package/dist/components/Tekton/TektonCIComponent.esm.js.map +1 -1
- package/dist/components/Tekton/TektonStylesProvider.esm.js +8 -0
- package/dist/components/Tekton/TektonStylesProvider.esm.js.map +1 -0
- package/dist/components/common/ClusterSelector.esm.js +8 -11
- package/dist/components/common/ClusterSelector.esm.js.map +1 -1
- package/dist/components/common/ErrorPanel.esm.js +1 -1
- package/dist/components/common/ErrorPanel.esm.js.map +1 -1
- package/dist/components/common/PermissionAlert.esm.js +2 -1
- package/dist/components/common/PermissionAlert.esm.js.map +1 -1
- package/dist/components/common/Status.esm.js +77 -58
- package/dist/components/common/Status.esm.js.map +1 -1
- package/dist/components/common/StatusIconAndText.esm.js +17 -23
- package/dist/components/common/StatusIconAndText.esm.js.map +1 -1
- package/dist/components/common/StatusSelector.esm.js +8 -11
- package/dist/components/common/StatusSelector.esm.js.map +1 -1
- package/dist/components/common/TableExpandCollapse.esm.js +10 -16
- package/dist/components/common/TableExpandCollapse.esm.js.map +1 -1
- package/dist/components/pipeline-topology/PipelineTaskNode.esm.js.map +1 -1
- package/dist/components/pipeline-topology/PipelineVisualization.css.esm.js +1 -1
- package/dist/components/pipeline-topology/PipelineVisualizationStepList.css.esm.js +1 -1
- package/dist/components/pipeline-topology/PipelineVisualizationStepList.esm.js +100 -3
- package/dist/components/pipeline-topology/PipelineVisualizationStepList.esm.js.map +1 -1
- package/dist/components/pipeline-topology/TaskGroupEdge.esm.js.map +1 -1
- package/dist/hooks/useDarkTheme.esm.js +4 -4
- package/dist/hooks/useDarkTheme.esm.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/styles/tektonEmotionCache.esm.js +9 -0
- package/dist/styles/tektonEmotionCache.esm.js.map +1 -0
- package/dist/translations/de.esm.js +1 -0
- package/dist/translations/de.esm.js.map +1 -1
- package/dist/translations/es.esm.js +1 -0
- package/dist/translations/es.esm.js.map +1 -1
- package/dist/translations/fr.esm.js +1 -0
- package/dist/translations/fr.esm.js.map +1 -1
- package/dist/translations/it.esm.js +1 -0
- package/dist/translations/it.esm.js.map +1 -1
- package/dist/translations/ja.esm.js +1 -0
- package/dist/translations/ja.esm.js.map +1 -1
- package/dist/translations/ref.esm.js +1 -0
- package/dist/translations/ref.esm.js.map +1 -1
- package/dist/utils/taskRun-utils.esm.js +1 -1
- package/package.json +18 -17
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import Box from '@mui/material/Box';
|
|
3
3
|
import AngleDoubleDownIcon from '@mui/icons-material/KeyboardDoubleArrowDownOutlined';
|
|
4
4
|
import AngleDoubleUpIcon from '@mui/icons-material/KeyboardDoubleArrowUpOutlined';
|
|
5
5
|
import { Tooltip } from '@patternfly/react-core';
|
|
6
|
-
import { t_color_yellow_40 } from '@patternfly/react-tokens/dist/js/t_color_yellow_40';
|
|
7
6
|
import { t_color_orange_40 } from '@patternfly/react-tokens/dist/js/t_color_orange_40';
|
|
8
7
|
import classNames from 'classnames';
|
|
9
8
|
import { usePipelineRunScanResults } from '../../hooks/usePipelineRunScanResults.esm.js';
|
|
@@ -13,167 +12,238 @@ import '../../translations/index.esm.js';
|
|
|
13
12
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
14
13
|
import { tektonTranslationRef } from '../../translations/ref.esm.js';
|
|
15
14
|
|
|
16
|
-
const useVStyles = makeStyles((theme) => ({
|
|
17
|
-
pipelineVulnerabilities: {
|
|
18
|
-
display: "flex",
|
|
19
|
-
flexWrap: "wrap",
|
|
20
|
-
gap: theme.spacing(1)
|
|
21
|
-
},
|
|
22
|
-
severityContainer: {
|
|
23
|
-
alignItems: "center",
|
|
24
|
-
display: "flex",
|
|
25
|
-
flexWrap: "nowrap",
|
|
26
|
-
gap: theme.spacing(0.5)
|
|
27
|
-
},
|
|
28
|
-
severityStatus: {
|
|
29
|
-
alignItems: "center",
|
|
30
|
-
display: "flex",
|
|
31
|
-
flexWrap: "nowrap",
|
|
32
|
-
gap: theme.spacing(0.5)
|
|
33
|
-
},
|
|
34
|
-
severityCount: {
|
|
35
|
-
fontWeight: "bold"
|
|
36
|
-
},
|
|
37
|
-
criticalStatus: {
|
|
38
|
-
height: "1em",
|
|
39
|
-
width: "1em"
|
|
40
|
-
},
|
|
41
|
-
highStatus: {
|
|
42
|
-
color: t_color_orange_40.value,
|
|
43
|
-
height: "0.8em",
|
|
44
|
-
width: "0.8em"
|
|
45
|
-
},
|
|
46
|
-
mediumStatus: {
|
|
47
|
-
color: t_color_yellow_40.value,
|
|
48
|
-
height: "1.3em",
|
|
49
|
-
width: "1.3em"
|
|
50
|
-
},
|
|
51
|
-
lowStatus: {
|
|
52
|
-
height: "0.8em",
|
|
53
|
-
width: "0.8em"
|
|
54
|
-
}
|
|
55
|
-
}));
|
|
56
15
|
const PipelineRunVulnerabilities = ({
|
|
57
16
|
pipelineRun,
|
|
58
17
|
condensed
|
|
59
18
|
}) => {
|
|
60
|
-
const classes = useVStyles();
|
|
61
19
|
const scanResults = usePipelineRunScanResults(pipelineRun);
|
|
62
20
|
const { t } = useTranslationRef(tektonTranslationRef);
|
|
63
|
-
return /* @__PURE__ */ jsx(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
Box,
|
|
23
|
+
{
|
|
24
|
+
sx: {
|
|
25
|
+
display: "flex",
|
|
26
|
+
flexWrap: "wrap",
|
|
27
|
+
gap: 1
|
|
28
|
+
},
|
|
29
|
+
children: scanResults?.vulnerabilities ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30
|
+
/* @__PURE__ */ jsxs(
|
|
31
|
+
Box,
|
|
68
32
|
{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
33
|
+
className: classNames("severity"),
|
|
34
|
+
sx: {
|
|
35
|
+
alignItems: "center",
|
|
36
|
+
display: "flex",
|
|
37
|
+
flexWrap: "nowrap",
|
|
38
|
+
gap: 0.5
|
|
39
|
+
},
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsxs(
|
|
42
|
+
Box,
|
|
43
|
+
{
|
|
44
|
+
sx: {
|
|
45
|
+
alignItems: "center",
|
|
46
|
+
display: "flex",
|
|
47
|
+
flexWrap: "nowrap",
|
|
48
|
+
gap: 0.5
|
|
49
|
+
},
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ jsx(
|
|
52
|
+
Tooltip,
|
|
53
|
+
{
|
|
54
|
+
content: t(
|
|
55
|
+
"pipelineRunList.vulnerabilitySeverityTitle.critical"
|
|
56
|
+
),
|
|
57
|
+
children: /* @__PURE__ */ jsx(
|
|
58
|
+
CriticalRiskIcon,
|
|
59
|
+
{
|
|
60
|
+
height: "1em",
|
|
61
|
+
width: "1em",
|
|
62
|
+
title: t(
|
|
63
|
+
"pipelineRunList.vulnerabilitySeverityTitle.critical"
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
}
|
|
68
|
+
),
|
|
69
|
+
!condensed ? t("pipelineRunList.vulnerabilitySeverityTitle.critical") : null
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
),
|
|
73
|
+
/* @__PURE__ */ jsx(
|
|
74
|
+
Box,
|
|
75
|
+
{
|
|
76
|
+
component: "span",
|
|
77
|
+
sx: { fontWeight: "bold" },
|
|
78
|
+
"data-testid": "pipelinerun-critical-vulnerabilities-count",
|
|
79
|
+
children: scanResults.vulnerabilities.critical || 0
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
]
|
|
81
83
|
}
|
|
82
84
|
),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
/* @__PURE__ */ jsx(
|
|
86
|
-
"span",
|
|
87
|
-
{
|
|
88
|
-
className: classes.severityCount,
|
|
89
|
-
"data-testid": "pipelinerun-critical-vulnerabilities-count",
|
|
90
|
-
children: scanResults.vulnerabilities.critical || 0
|
|
91
|
-
}
|
|
92
|
-
)
|
|
93
|
-
] }),
|
|
94
|
-
/* @__PURE__ */ jsxs("div", { className: classNames(classes.severityContainer, "severity"), children: [
|
|
95
|
-
/* @__PURE__ */ jsxs("span", { className: classes.severityStatus, children: [
|
|
96
|
-
/* @__PURE__ */ jsx(
|
|
97
|
-
Tooltip,
|
|
85
|
+
/* @__PURE__ */ jsxs(
|
|
86
|
+
Box,
|
|
98
87
|
{
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
88
|
+
className: classNames("severity"),
|
|
89
|
+
sx: {
|
|
90
|
+
alignItems: "center",
|
|
91
|
+
display: "flex",
|
|
92
|
+
flexWrap: "nowrap",
|
|
93
|
+
gap: 0.5
|
|
94
|
+
},
|
|
95
|
+
children: [
|
|
96
|
+
/* @__PURE__ */ jsxs(
|
|
97
|
+
Box,
|
|
98
|
+
{
|
|
99
|
+
sx: {
|
|
100
|
+
alignItems: "center",
|
|
101
|
+
display: "flex",
|
|
102
|
+
flexWrap: "nowrap",
|
|
103
|
+
gap: 0.5
|
|
104
|
+
},
|
|
105
|
+
children: [
|
|
106
|
+
/* @__PURE__ */ jsx(
|
|
107
|
+
Tooltip,
|
|
108
|
+
{
|
|
109
|
+
content: t("pipelineRunList.vulnerabilitySeverityTitle.high"),
|
|
110
|
+
children: /* @__PURE__ */ jsx(
|
|
111
|
+
AngleDoubleUpIcon,
|
|
112
|
+
{
|
|
113
|
+
sx: {
|
|
114
|
+
color: t_color_orange_40.value,
|
|
115
|
+
height: "0.8em",
|
|
116
|
+
width: "0.8em"
|
|
117
|
+
},
|
|
118
|
+
titleAccess: t(
|
|
119
|
+
"pipelineRunList.vulnerabilitySeverityTitle.high"
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
),
|
|
125
|
+
!condensed ? t("pipelineRunList.vulnerabilitySeverityTitle.high") : null
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
),
|
|
129
|
+
/* @__PURE__ */ jsx(
|
|
130
|
+
Box,
|
|
131
|
+
{
|
|
132
|
+
component: "span",
|
|
133
|
+
sx: { fontWeight: "bold" },
|
|
134
|
+
"data-testid": "pipelinerun-high-vulnerabilities-count",
|
|
135
|
+
children: scanResults.vulnerabilities.high || 0
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
]
|
|
109
139
|
}
|
|
110
140
|
),
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
/* @__PURE__ */ jsx(
|
|
114
|
-
"span",
|
|
115
|
-
{
|
|
116
|
-
className: classes.severityCount,
|
|
117
|
-
"data-testid": "pipelinerun-high-vulnerabilities-count",
|
|
118
|
-
children: scanResults.vulnerabilities.high || 0
|
|
119
|
-
}
|
|
120
|
-
)
|
|
121
|
-
] }),
|
|
122
|
-
/* @__PURE__ */ jsxs("div", { className: classNames(classes.severityContainer, "severity"), children: [
|
|
123
|
-
/* @__PURE__ */ jsxs("span", { className: classes.severityStatus, children: [
|
|
124
|
-
/* @__PURE__ */ jsx(
|
|
125
|
-
Tooltip,
|
|
141
|
+
/* @__PURE__ */ jsxs(
|
|
142
|
+
Box,
|
|
126
143
|
{
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
144
|
+
className: classNames("severity"),
|
|
145
|
+
sx: {
|
|
146
|
+
alignItems: "center",
|
|
147
|
+
display: "flex",
|
|
148
|
+
flexWrap: "nowrap",
|
|
149
|
+
gap: 0.5
|
|
150
|
+
},
|
|
151
|
+
children: [
|
|
152
|
+
/* @__PURE__ */ jsxs(
|
|
153
|
+
Box,
|
|
154
|
+
{
|
|
155
|
+
sx: {
|
|
156
|
+
alignItems: "center",
|
|
157
|
+
display: "flex",
|
|
158
|
+
flexWrap: "nowrap",
|
|
159
|
+
gap: 0.5
|
|
160
|
+
},
|
|
161
|
+
children: [
|
|
162
|
+
/* @__PURE__ */ jsx(
|
|
163
|
+
Tooltip,
|
|
164
|
+
{
|
|
165
|
+
content: t("pipelineRunList.vulnerabilitySeverityTitle.medium"),
|
|
166
|
+
children: /* @__PURE__ */ jsx(
|
|
167
|
+
EqualsIcon,
|
|
168
|
+
{
|
|
169
|
+
height: "1.3em",
|
|
170
|
+
width: "1.3em",
|
|
171
|
+
title: t("pipelineRunList.vulnerabilitySeverityTitle.medium")
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
}
|
|
175
|
+
),
|
|
176
|
+
!condensed ? t("pipelineRunList.vulnerabilitySeverityTitle.medium") : null
|
|
177
|
+
]
|
|
178
|
+
}
|
|
179
|
+
),
|
|
180
|
+
/* @__PURE__ */ jsx(
|
|
181
|
+
Box,
|
|
182
|
+
{
|
|
183
|
+
component: "span",
|
|
184
|
+
sx: { fontWeight: "bold" },
|
|
185
|
+
"data-testid": "pipelinerun-medium-vulnerabilities-count",
|
|
186
|
+
children: scanResults.vulnerabilities.medium || 0
|
|
187
|
+
}
|
|
188
|
+
)
|
|
189
|
+
]
|
|
135
190
|
}
|
|
136
191
|
),
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
/* @__PURE__ */ jsx(
|
|
140
|
-
"span",
|
|
141
|
-
{
|
|
142
|
-
className: classes.severityCount,
|
|
143
|
-
"data-testid": "pipelinerun-medium-vulnerabilities-count",
|
|
144
|
-
children: scanResults.vulnerabilities.medium || 0
|
|
145
|
-
}
|
|
146
|
-
)
|
|
147
|
-
] }),
|
|
148
|
-
/* @__PURE__ */ jsxs("div", { className: classNames(classes.severityContainer, "severity"), children: [
|
|
149
|
-
/* @__PURE__ */ jsxs("span", { className: classes.severityStatus, children: [
|
|
150
|
-
/* @__PURE__ */ jsx(
|
|
151
|
-
Tooltip,
|
|
192
|
+
/* @__PURE__ */ jsxs(
|
|
193
|
+
Box,
|
|
152
194
|
{
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
195
|
+
className: classNames("severity"),
|
|
196
|
+
sx: {
|
|
197
|
+
alignItems: "center",
|
|
198
|
+
display: "flex",
|
|
199
|
+
flexWrap: "nowrap",
|
|
200
|
+
gap: 0.5
|
|
201
|
+
},
|
|
202
|
+
children: [
|
|
203
|
+
/* @__PURE__ */ jsxs(
|
|
204
|
+
Box,
|
|
205
|
+
{
|
|
206
|
+
sx: {
|
|
207
|
+
alignItems: "center",
|
|
208
|
+
display: "flex",
|
|
209
|
+
flexWrap: "nowrap",
|
|
210
|
+
gap: 0.5
|
|
211
|
+
},
|
|
212
|
+
children: [
|
|
213
|
+
/* @__PURE__ */ jsx(
|
|
214
|
+
Tooltip,
|
|
215
|
+
{
|
|
216
|
+
content: t("pipelineRunList.vulnerabilitySeverityTitle.low"),
|
|
217
|
+
children: /* @__PURE__ */ jsx(
|
|
218
|
+
AngleDoubleDownIcon,
|
|
219
|
+
{
|
|
220
|
+
sx: { height: "0.8em", width: "0.8em" },
|
|
221
|
+
titleAccess: t(
|
|
222
|
+
"pipelineRunList.vulnerabilitySeverityTitle.low"
|
|
223
|
+
)
|
|
224
|
+
}
|
|
225
|
+
)
|
|
226
|
+
}
|
|
227
|
+
),
|
|
228
|
+
!condensed ? t("pipelineRunList.vulnerabilitySeverityTitle.low") : null
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
),
|
|
232
|
+
/* @__PURE__ */ jsx(
|
|
233
|
+
Box,
|
|
234
|
+
{
|
|
235
|
+
component: "span",
|
|
236
|
+
sx: { fontWeight: "bold" },
|
|
237
|
+
"data-testid": "pipelinerun-low-vulnerabilities-count",
|
|
238
|
+
children: scanResults.vulnerabilities.low || 0
|
|
239
|
+
}
|
|
240
|
+
)
|
|
241
|
+
]
|
|
163
242
|
}
|
|
164
|
-
)
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
"span",
|
|
169
|
-
{
|
|
170
|
-
className: classes.severityCount,
|
|
171
|
-
"data-testid": "pipelinerun-low-vulnerabilities-count",
|
|
172
|
-
children: scanResults.vulnerabilities.low || 0
|
|
173
|
-
}
|
|
174
|
-
)
|
|
175
|
-
] })
|
|
176
|
-
] }) : "-" });
|
|
243
|
+
)
|
|
244
|
+
] }) : "-"
|
|
245
|
+
}
|
|
246
|
+
);
|
|
177
247
|
};
|
|
178
248
|
|
|
179
249
|
export { PipelineRunVulnerabilities as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineRunVulnerabilities.esm.js","sources":["../../../src/components/PipelineRunList/PipelineRunVulnerabilities.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport type { FC } from 'react';\n\nimport { makeStyles, Theme } from '@material-ui/core';\nimport AngleDoubleDownIcon from '@mui/icons-material/KeyboardDoubleArrowDownOutlined';\nimport AngleDoubleUpIcon from '@mui/icons-material/KeyboardDoubleArrowUpOutlined';\nimport { Tooltip } from '@patternfly/react-core';\nimport { t_color_yellow_40 as mediumColor } from '@patternfly/react-tokens/dist/js/t_color_yellow_40';\nimport { t_color_orange_40 as highColor } from '@patternfly/react-tokens/dist/js/t_color_orange_40';\nimport classNames from 'classnames';\n\nimport { PipelineRunKind } from '@backstage-community/plugin-tekton-react';\n\nimport { usePipelineRunScanResults } from '../../hooks/usePipelineRunScanResults';\nimport CriticalRiskIcon from '../Icons/CriticalRiskIcon';\nimport EqualsIcon from '../Icons/EqualsIcon';\nimport { tektonTranslationRef } from '../../translations/index.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\n\nconst useVStyles = makeStyles((theme: Theme) => ({\n pipelineVulnerabilities: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: theme.spacing(1),\n },\n severityContainer: {\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: theme.spacing(0.5),\n },\n severityStatus: {\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: theme.spacing(0.5),\n },\n severityCount: {\n fontWeight: 'bold',\n },\n criticalStatus: {\n height: '1em',\n width: '1em',\n },\n highStatus: {\n color: highColor.value,\n height: '0.8em',\n width: '0.8em',\n },\n mediumStatus: {\n color: mediumColor.value,\n height: '1.3em',\n width: '1.3em',\n },\n lowStatus: {\n height: '0.8em',\n width: '0.8em',\n },\n}));\n\ntype PipelineRunVulnerabilitiesProps = {\n pipelineRun: PipelineRunKind;\n condensed?: boolean;\n};\n\nconst PipelineRunVulnerabilities: FC<PipelineRunVulnerabilitiesProps> = ({\n pipelineRun,\n condensed,\n}) => {\n const classes = useVStyles();\n const scanResults = usePipelineRunScanResults(pipelineRun);\n const { t } = useTranslationRef(tektonTranslationRef);\n\n return (\n <div className={classes.pipelineVulnerabilities}>\n {scanResults?.vulnerabilities ? (\n <>\n <div className={classNames(classes.severityContainer, 'severity')}>\n <span className={classes.severityStatus}>\n <Tooltip\n content={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.critical',\n )}\n >\n <CriticalRiskIcon\n className={classes.criticalStatus}\n title={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.critical',\n )}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.critical')\n : null}\n </span>\n <span\n className={classes.severityCount}\n data-testid=\"pipelinerun-critical-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.critical || 0}\n </span>\n </div>\n <div className={classNames(classes.severityContainer, 'severity')}>\n <span className={classes.severityStatus}>\n <Tooltip\n content={t('pipelineRunList.vulnerabilitySeverityTitle.high')}\n >\n <AngleDoubleUpIcon\n className={classes.highStatus}\n titleAccess={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.high',\n )}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.high')\n : null}\n </span>\n <span\n className={classes.severityCount}\n data-testid=\"pipelinerun-high-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.high || 0}\n </span>\n </div>\n <div className={classNames(classes.severityContainer, 'severity')}>\n <span className={classes.severityStatus}>\n <Tooltip\n content={t('pipelineRunList.vulnerabilitySeverityTitle.medium')}\n >\n <EqualsIcon\n className={classes.mediumStatus}\n title={t('pipelineRunList.vulnerabilitySeverityTitle.medium')}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.medium')\n : null}\n </span>\n <span\n className={classes.severityCount}\n data-testid=\"pipelinerun-medium-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.medium || 0}\n </span>\n </div>\n <div className={classNames(classes.severityContainer, 'severity')}>\n <span className={classes.severityStatus}>\n <Tooltip\n content={t('pipelineRunList.vulnerabilitySeverityTitle.low')}\n >\n <AngleDoubleDownIcon\n className={classes.lowStatus}\n titleAccess={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.low',\n )}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.low')\n : null}\n </span>\n <span\n className={classes.severityCount}\n data-testid=\"pipelinerun-low-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.low || 0}\n </span>\n </div>\n </>\n ) : (\n '-'\n )}\n </div>\n );\n};\n\nexport default PipelineRunVulnerabilities;\n"],"names":["highColor","mediumColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PipelineRunVulnerabilities.esm.js","sources":["../../../src/components/PipelineRunList/PipelineRunVulnerabilities.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport type { FC } from 'react';\n\nimport Box from '@mui/material/Box';\nimport AngleDoubleDownIcon from '@mui/icons-material/KeyboardDoubleArrowDownOutlined';\nimport AngleDoubleUpIcon from '@mui/icons-material/KeyboardDoubleArrowUpOutlined';\nimport { Tooltip } from '@patternfly/react-core';\nimport { t_color_orange_40 as highColor } from '@patternfly/react-tokens/dist/js/t_color_orange_40';\nimport classNames from 'classnames';\n\nimport { PipelineRunKind } from '@backstage-community/plugin-tekton-react';\n\nimport { usePipelineRunScanResults } from '../../hooks/usePipelineRunScanResults';\nimport CriticalRiskIcon from '../Icons/CriticalRiskIcon';\nimport EqualsIcon from '../Icons/EqualsIcon';\nimport { tektonTranslationRef } from '../../translations/index.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\n\ntype PipelineRunVulnerabilitiesProps = {\n pipelineRun: PipelineRunKind;\n condensed?: boolean;\n};\n\nconst PipelineRunVulnerabilities: FC<PipelineRunVulnerabilitiesProps> = ({\n pipelineRun,\n condensed,\n}) => {\n const scanResults = usePipelineRunScanResults(pipelineRun);\n const { t } = useTranslationRef(tektonTranslationRef);\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexWrap: 'wrap',\n gap: 1,\n }}\n >\n {scanResults?.vulnerabilities ? (\n <>\n <Box\n className={classNames('severity')}\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Tooltip\n content={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.critical',\n )}\n >\n <CriticalRiskIcon\n height=\"1em\"\n width=\"1em\"\n title={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.critical',\n )}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.critical')\n : null}\n </Box>\n <Box\n component=\"span\"\n sx={{ fontWeight: 'bold' }}\n data-testid=\"pipelinerun-critical-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.critical || 0}\n </Box>\n </Box>\n <Box\n className={classNames('severity')}\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Tooltip\n content={t('pipelineRunList.vulnerabilitySeverityTitle.high')}\n >\n <AngleDoubleUpIcon\n sx={{\n color: highColor.value,\n height: '0.8em',\n width: '0.8em',\n }}\n titleAccess={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.high',\n )}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.high')\n : null}\n </Box>\n <Box\n component=\"span\"\n sx={{ fontWeight: 'bold' }}\n data-testid=\"pipelinerun-high-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.high || 0}\n </Box>\n </Box>\n <Box\n className={classNames('severity')}\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Tooltip\n content={t('pipelineRunList.vulnerabilitySeverityTitle.medium')}\n >\n <EqualsIcon\n height=\"1.3em\"\n width=\"1.3em\"\n title={t('pipelineRunList.vulnerabilitySeverityTitle.medium')}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.medium')\n : null}\n </Box>\n <Box\n component=\"span\"\n sx={{ fontWeight: 'bold' }}\n data-testid=\"pipelinerun-medium-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.medium || 0}\n </Box>\n </Box>\n <Box\n className={classNames('severity')}\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: 0.5,\n }}\n >\n <Tooltip\n content={t('pipelineRunList.vulnerabilitySeverityTitle.low')}\n >\n <AngleDoubleDownIcon\n sx={{ height: '0.8em', width: '0.8em' }}\n titleAccess={t(\n 'pipelineRunList.vulnerabilitySeverityTitle.low',\n )}\n />\n </Tooltip>\n {!condensed\n ? t('pipelineRunList.vulnerabilitySeverityTitle.low')\n : null}\n </Box>\n <Box\n component=\"span\"\n sx={{ fontWeight: 'bold' }}\n data-testid=\"pipelinerun-low-vulnerabilities-count\"\n >\n {scanResults.vulnerabilities.low || 0}\n </Box>\n </Box>\n </>\n ) : (\n '-'\n )}\n </Box>\n );\n};\n\nexport default PipelineRunVulnerabilities;\n"],"names":["highColor"],"mappings":"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"}
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import TableCell from '@mui/material/TableCell';
|
|
3
|
+
import TableHead from '@mui/material/TableHead';
|
|
4
|
+
import TableRow from '@mui/material/TableRow';
|
|
5
|
+
import TableSortLabel from '@mui/material/TableSortLabel';
|
|
3
6
|
import { getPipelineRunColumnHeader } from './PipelineRunColumnHeader.esm.js';
|
|
7
|
+
import { getMergedPipelineRunTableHeaderCellSx } from './pipelineRunTableColumns.esm.js';
|
|
4
8
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
5
9
|
import '../../translations/index.esm.js';
|
|
6
10
|
import { tektonTranslationRef } from '../../translations/ref.esm.js';
|
|
7
11
|
|
|
8
|
-
const useStyles = makeStyles((theme) => ({
|
|
9
|
-
header: {
|
|
10
|
-
padding: theme.spacing(1, 2, 1, 2.5),
|
|
11
|
-
borderTop: `1px solid ${theme.palette.grey.A100}`,
|
|
12
|
-
borderBottom: `1px solid ${theme.palette.grey.A100}`,
|
|
13
|
-
// withStyles hasn't a generic overload for theme
|
|
14
|
-
fontWeight: "bold",
|
|
15
|
-
position: "static",
|
|
16
|
-
wordBreak: "normal"
|
|
17
|
-
}
|
|
18
|
-
}));
|
|
19
12
|
const EnhancedTableHead = ({
|
|
20
13
|
order,
|
|
21
14
|
orderBy,
|
|
@@ -25,16 +18,17 @@ const EnhancedTableHead = ({
|
|
|
25
18
|
const createSortHandler = (property, id) => (event) => {
|
|
26
19
|
onRequestSort(event, property, id);
|
|
27
20
|
};
|
|
28
|
-
const classes = useStyles();
|
|
29
21
|
const { t } = useTranslationRef(tektonTranslationRef);
|
|
30
22
|
const pipelineRunColumnHeader = getPipelineRunColumnHeader(t);
|
|
31
23
|
return /* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsx(TableRow, { children: pipelineRunColumnHeader.map((headCell) => {
|
|
24
|
+
const columnId = headCell.id;
|
|
25
|
+
const isExpander = columnId === "expander";
|
|
32
26
|
return /* @__PURE__ */ jsx(
|
|
33
27
|
TableCell,
|
|
34
28
|
{
|
|
35
|
-
|
|
29
|
+
sx: getMergedPipelineRunTableHeaderCellSx(columnId),
|
|
36
30
|
align: "left",
|
|
37
|
-
padding: "normal",
|
|
31
|
+
padding: isExpander ? "checkbox" : "normal",
|
|
38
32
|
sortDirection: orderBy === headCell.field ? headCell.defaultSort : false,
|
|
39
33
|
children: headCell.field ? /* @__PURE__ */ jsx(
|
|
40
34
|
TableSortLabel,
|
|
@@ -52,7 +46,7 @@ const EnhancedTableHead = ({
|
|
|
52
46
|
headCell.title
|
|
53
47
|
] })
|
|
54
48
|
},
|
|
55
|
-
|
|
49
|
+
columnId
|
|
56
50
|
);
|
|
57
51
|
}) }) });
|
|
58
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineTableHeader.esm.js","sources":["../../../src/components/PipelineRunList/PipelineTableHeader.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport type { MouseEvent } from 'react';\n\nimport
|
|
1
|
+
{"version":3,"file":"PipelineTableHeader.esm.js","sources":["../../../src/components/PipelineRunList/PipelineTableHeader.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport type { MouseEvent } from 'react';\n\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\n\nimport { Order } from '../../types/types';\nimport { getPipelineRunColumnHeader } from './PipelineRunColumnHeader';\nimport { getMergedPipelineRunTableHeaderCellSx } from './pipelineRunTableColumns';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { tektonTranslationRef } from '../../translations/index.ts';\n\ntype EnhancedTableProps = {\n onRequestSort: (\n event: MouseEvent<unknown>,\n property: string,\n id: string,\n ) => void;\n order: Order;\n orderBy: string;\n orderById: string;\n};\n\nexport const EnhancedTableHead = ({\n order,\n orderBy,\n orderById,\n onRequestSort,\n}: EnhancedTableProps) => {\n const createSortHandler =\n (property: string, id: string) => (event: MouseEvent<unknown>) => {\n onRequestSort(event, property, id);\n };\n const { t } = useTranslationRef(tektonTranslationRef);\n const pipelineRunColumnHeader = getPipelineRunColumnHeader(t);\n\n return (\n <TableHead>\n <TableRow>\n {pipelineRunColumnHeader.map(headCell => {\n const columnId = headCell.id as string;\n const isExpander = columnId === 'expander';\n\n return (\n <TableCell\n sx={getMergedPipelineRunTableHeaderCellSx(columnId)}\n key={columnId}\n align=\"left\"\n padding={isExpander ? 'checkbox' : 'normal'}\n sortDirection={\n orderBy === headCell.field ? headCell.defaultSort : false\n }\n >\n {headCell.field ? (\n <TableSortLabel\n active={\n orderBy === headCell.field && orderById === headCell.id\n }\n direction={order}\n onClick={createSortHandler(\n headCell.field as string,\n headCell.id as string,\n )}\n >\n {headCell.title}\n </TableSortLabel>\n ) : (\n <> {headCell.title}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAuCO,MAAM,oBAAoB,CAAC;AAAA,EAChC,KAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,KAA0B;AACxB,EAAA,MAAM,iBAAA,GACJ,CAAC,QAAA,EAAkB,EAAA,KAAe,CAAC,KAAA,KAA+B;AAChE,IAAA,aAAA,CAAc,KAAA,EAAO,UAAU,EAAE,CAAA;AAAA,EACnC,CAAA;AACF,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,oBAAoB,CAAA;AACpD,EAAA,MAAM,uBAAA,GAA0B,2BAA2B,CAAC,CAAA;AAE5D,EAAA,2BACG,SAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EACE,QAAA,EAAA,uBAAA,CAAwB,IAAI,CAAA,QAAA,KAAY;AACvC,IAAA,MAAM,WAAW,QAAA,CAAS,EAAA;AAC1B,IAAA,MAAM,aAAa,QAAA,KAAa,UAAA;AAEhC,IAAA,uBACE,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAI,sCAAsC,QAAQ,CAAA;AAAA,QAElD,KAAA,EAAM,MAAA;AAAA,QACN,OAAA,EAAS,aAAa,UAAA,GAAa,QAAA;AAAA,QACnC,aAAA,EACE,OAAA,KAAY,QAAA,CAAS,KAAA,GAAQ,SAAS,WAAA,GAAc,KAAA;AAAA,QAGrD,mBAAS,KAAA,mBACR,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,MAAA,EACE,OAAA,KAAY,QAAA,CAAS,KAAA,IAAS,cAAc,QAAA,CAAS,EAAA;AAAA,YAEvD,SAAA,EAAW,KAAA;AAAA,YACX,OAAA,EAAS,iBAAA;AAAA,cACP,QAAA,CAAS,KAAA;AAAA,cACT,QAAA,CAAS;AAAA,aACX;AAAA,YAEC,QAAA,EAAA,QAAA,CAAS;AAAA;AAAA,4BAGZ,IAAA,CAAA,QAAA,EAAA,EAAE,QAAA,EAAA;AAAA,UAAA,GAAA;AAAA,UAAE,QAAA,CAAS;AAAA,SAAA,EAAM;AAAA,OAAA;AAAA,MArBhB;AAAA,KAuBP;AAAA,EAEJ,CAAC,GACH,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".bs-tkn-pipeline-visualization__label {\n align-items:
|
|
3
|
+
var css_248z = ".bs-tkn-pipeline-visualization__label {\n align-items: center;\n}\n\n.bs-tkn-pipeline-visualization__label .badge {\n font-size: 14px;\n line-height: 16px;\n margin-right: 4px;\n min-width: 20px;\n padding: 0 5px;\n border-radius: 20px;\n color: var(--pf-t--color--white);\n display: inline-block;\n text-align: center;\n white-space: nowrap;\n width: 100%;\n}\n";
|
|
4
4
|
styleInject(css_248z);
|
|
5
5
|
//# sourceMappingURL=ResourceBadge.css.esm.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useTheme } from '@mui/material/styles';
|
|
2
3
|
import { Split, SplitItem } from '@patternfly/react-core';
|
|
3
4
|
import './ResourceBadge.css.esm.js';
|
|
4
5
|
|
|
@@ -8,6 +9,7 @@ const ResourceBadge = ({
|
|
|
8
9
|
name,
|
|
9
10
|
suffix
|
|
10
11
|
}) => {
|
|
12
|
+
const theme = useTheme();
|
|
11
13
|
return /* @__PURE__ */ jsxs(Split, { className: "bs-tkn-pipeline-visualization__label", children: [
|
|
12
14
|
/* @__PURE__ */ jsx(SplitItem, { style: { marginRight: "var(--pf-t--global--spacer--sm)" }, children: /* @__PURE__ */ jsx(
|
|
13
15
|
"span",
|
|
@@ -18,7 +20,14 @@ const ResourceBadge = ({
|
|
|
18
20
|
children: abbr
|
|
19
21
|
}
|
|
20
22
|
) }),
|
|
21
|
-
/* @__PURE__ */ jsx(SplitItem, { children: /* @__PURE__ */ jsx(
|
|
23
|
+
/* @__PURE__ */ jsx(SplitItem, { children: /* @__PURE__ */ jsx(
|
|
24
|
+
"span",
|
|
25
|
+
{
|
|
26
|
+
"data-testid": "pipelinerun-name",
|
|
27
|
+
style: { color: theme.palette.text.primary },
|
|
28
|
+
children: name
|
|
29
|
+
}
|
|
30
|
+
) }),
|
|
22
31
|
suffix ? /* @__PURE__ */ jsx(SplitItem, { style: { marginLeft: "var(--pf-t--global--spacer--sm)" }, children: suffix }) : null
|
|
23
32
|
] });
|
|
24
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceBadge.esm.js","sources":["../../../src/components/PipelineRunList/ResourceBadge.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport type { ReactNode } from 'react';\n\nimport { Split, SplitItem } from '@patternfly/react-core';\n\nimport './ResourceBadge.css';\n\nconst ResourceBadge = ({\n color,\n abbr,\n name,\n suffix,\n}: {\n color: string;\n abbr: string;\n name: string;\n suffix?: ReactNode;\n}) => {\n return (\n <Split className=\"bs-tkn-pipeline-visualization__label\">\n <SplitItem style={{ marginRight: 'var(--pf-t--global--spacer--sm)' }}>\n <span\n data-testid=\"pipelinerun-abbr-badge\"\n className=\"badge\"\n style={{ backgroundColor: color }}\n >\n {abbr}\n </span>\n </SplitItem>\n <SplitItem>\n <span
|
|
1
|
+
{"version":3,"file":"ResourceBadge.esm.js","sources":["../../../src/components/PipelineRunList/ResourceBadge.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport type { ReactNode } from 'react';\n\nimport { useTheme } from '@mui/material/styles';\nimport { Split, SplitItem } from '@patternfly/react-core';\n\nimport './ResourceBadge.css';\n\nconst ResourceBadge = ({\n color,\n abbr,\n name,\n suffix,\n}: {\n color: string;\n abbr: string;\n name: string;\n suffix?: ReactNode;\n}) => {\n const theme = useTheme();\n return (\n <Split className=\"bs-tkn-pipeline-visualization__label\">\n <SplitItem style={{ marginRight: 'var(--pf-t--global--spacer--sm)' }}>\n <span\n data-testid=\"pipelinerun-abbr-badge\"\n className=\"badge\"\n style={{ backgroundColor: color }}\n >\n {abbr}\n </span>\n </SplitItem>\n <SplitItem>\n <span\n data-testid=\"pipelinerun-name\"\n style={{ color: theme.palette.text.primary }}\n >\n {name}\n </span>\n </SplitItem>\n {suffix ? (\n <SplitItem style={{ marginLeft: 'var(--pf-t--global--spacer--sm)' }}>\n {suffix}\n </SplitItem>\n ) : null}\n </Split>\n );\n};\n\nexport default ResourceBadge;\n"],"names":[],"mappings":";;;;;AAsBA,MAAM,gBAAgB,CAAC;AAAA,EACrB,KAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,KAKM;AACJ,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,sCAAA,EACf,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,KAAA,EAAO,EAAE,WAAA,EAAa,mCAAkC,EACjE,QAAA,kBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAY,wBAAA;AAAA,QACZ,SAAA,EAAU,OAAA;AAAA,QACV,KAAA,EAAO,EAAE,eAAA,EAAiB,KAAA,EAAM;AAAA,QAE/B,QAAA,EAAA;AAAA;AAAA,KACH,EACF,CAAA;AAAA,wBACC,SAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAY,kBAAA;AAAA,QACZ,OAAO,EAAE,KAAA,EAAO,KAAA,CAAM,OAAA,CAAQ,KAAK,OAAA,EAAQ;AAAA,QAE1C,QAAA,EAAA;AAAA;AAAA,KACH,EACF,CAAA;AAAA,IACC,MAAA,uBACE,SAAA,EAAA,EAAU,KAAA,EAAO,EAAE,UAAA,EAAY,iCAAA,EAAkC,EAC/D,QAAA,EAAA,MAAA,EACH,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const pipelineRunTableSx = {
|
|
2
|
+
width: "100%"
|
|
3
|
+
};
|
|
4
|
+
const pipelineRunTableCellSx = {
|
|
5
|
+
px: 1.5,
|
|
6
|
+
py: 1
|
|
7
|
+
};
|
|
8
|
+
const pipelineRunTableHeaderCellSx = {
|
|
9
|
+
px: 1.5,
|
|
10
|
+
py: 1,
|
|
11
|
+
borderTop: (theme) => `1px solid ${theme.palette.grey.A100}`,
|
|
12
|
+
borderBottom: (theme) => `1px solid ${theme.palette.grey.A100}`,
|
|
13
|
+
fontWeight: "bold",
|
|
14
|
+
wordBreak: "normal"
|
|
15
|
+
};
|
|
16
|
+
const columnSxById = {
|
|
17
|
+
expander: {
|
|
18
|
+
width: "1%",
|
|
19
|
+
whiteSpace: "nowrap",
|
|
20
|
+
pr: 0,
|
|
21
|
+
pl: 0.5
|
|
22
|
+
},
|
|
23
|
+
name: {
|
|
24
|
+
pl: 0.5,
|
|
25
|
+
wordBreak: "break-word"
|
|
26
|
+
},
|
|
27
|
+
vulnerabilities: {
|
|
28
|
+
whiteSpace: "nowrap"
|
|
29
|
+
},
|
|
30
|
+
status: {
|
|
31
|
+
whiteSpace: "nowrap"
|
|
32
|
+
},
|
|
33
|
+
"task-status": {
|
|
34
|
+
whiteSpace: "nowrap"
|
|
35
|
+
},
|
|
36
|
+
"start-time": {
|
|
37
|
+
whiteSpace: "nowrap"
|
|
38
|
+
},
|
|
39
|
+
duration: {
|
|
40
|
+
whiteSpace: "nowrap"
|
|
41
|
+
},
|
|
42
|
+
actions: {
|
|
43
|
+
width: "1%",
|
|
44
|
+
whiteSpace: "nowrap"
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const getPipelineRunTableColumnSx = (columnId) => columnSxById[columnId] ?? {};
|
|
48
|
+
const getMergedPipelineRunTableCellSx = (columnId) => [
|
|
49
|
+
pipelineRunTableCellSx,
|
|
50
|
+
getPipelineRunTableColumnSx(columnId)
|
|
51
|
+
];
|
|
52
|
+
const getMergedPipelineRunTableHeaderCellSx = (columnId) => [
|
|
53
|
+
pipelineRunTableHeaderCellSx,
|
|
54
|
+
getPipelineRunTableColumnSx(columnId)
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
export { getMergedPipelineRunTableCellSx, getMergedPipelineRunTableHeaderCellSx, getPipelineRunTableColumnSx, pipelineRunTableCellSx, pipelineRunTableHeaderCellSx, pipelineRunTableSx };
|
|
58
|
+
//# sourceMappingURL=pipelineRunTableColumns.esm.js.map
|