@backstage/plugin-scaffolder 1.19.0-next.2 → 1.19.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 +52 -0
- package/alpha/package.json +1 -1
- package/dist/alpha.d.ts +1 -1
- package/dist/alpha.esm.js +2 -2
- package/dist/esm/{OngoingTask-5a95edc0.esm.js → OngoingTask-BeP2EzG8.esm.js} +22 -11
- package/dist/esm/OngoingTask-BeP2EzG8.esm.js.map +1 -0
- package/dist/esm/{index-81d5d395.esm.js → index-CSOk13rN.esm.js} +81 -68
- package/dist/esm/index-CSOk13rN.esm.js.map +1 -0
- package/dist/esm/{routes-1428737e.esm.js → routes-BvToNy4N.esm.js} +1 -1
- package/dist/esm/{routes-1428737e.esm.js.map → routes-BvToNy4N.esm.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +24 -12
- package/dist/index.esm.js.map +1 -1
- package/package.json +20 -20
- package/dist/esm/OngoingTask-5a95edc0.esm.js.map +0 -1
- package/dist/esm/index-81d5d395.esm.js.map +0 -1
|
@@ -1,23 +1,43 @@
|
|
|
1
1
|
import React, { useState, Fragment, useCallback, createContext, useRef, useMemo, useContext, useEffect, Component, Children, memo } from 'react';
|
|
2
2
|
import { useNavigate, Link as Link$1, Navigate, useOutlet, Routes, Route } from 'react-router-dom';
|
|
3
3
|
import { useTemplateSecrets, scaffolderApiRef, useCustomFieldExtensions, useCustomLayouts, SecretsContextProvider } from '@backstage/plugin-scaffolder-react';
|
|
4
|
-
import { E as EntityPicker, a as EntityPickerSchema, b as EntityNamePicker, e as entityNamePickerValidation, c as EntityNamePickerSchema, l as EntityTagsPicker, m as EntityTagsPickerSchema, R as RepoUrlPicker, r as repoPickerValidation, f as RepoUrlPickerSchema, O as OwnerPicker, g as OwnerPickerSchema, j as OwnedEntityPicker, k as OwnedEntityPickerSchema, h as MyGroupsPicker, i as MyGroupsPickerSchema, M as MultiEntityPicker, d as MultiEntityPickerSchema, v as validateMultiEntityPickerValidation, n as OngoingTask } from './OngoingTask-
|
|
4
|
+
import { E as EntityPicker, a as EntityPickerSchema, b as EntityNamePicker, e as entityNamePickerValidation, c as EntityNamePickerSchema, l as EntityTagsPicker, m as EntityTagsPickerSchema, R as RepoUrlPicker, r as repoPickerValidation, f as RepoUrlPickerSchema, O as OwnerPicker, g as OwnerPickerSchema, j as OwnedEntityPicker, k as OwnedEntityPickerSchema, h as MyGroupsPicker, i as MyGroupsPickerSchema, M as MultiEntityPicker, d as MultiEntityPickerSchema, v as validateMultiEntityPickerValidation, n as OngoingTask } from './OngoingTask-BeP2EzG8.esm.js';
|
|
5
5
|
import { ScaffolderField, ScaffolderPageContextMenu, TemplateCategoryPicker, TemplateGroups, Workflow, createAsyncValidators, Stepper, Form } from '@backstage/plugin-scaffolder-react/alpha';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import Input from '@material-ui/core/Input';
|
|
7
|
+
import InputLabel from '@material-ui/core/InputLabel';
|
|
8
|
+
import { e as editRouteRef, c as scaffolderListTaskRouteRef, r as rootRouteRef, b as actionsRouteRef, d as registerComponentRouteRef, v as viewTechDocRouteRef, s as selectedTemplateRouteRef, a as scaffolderTaskRouteRef } from './routes-BvToNy4N.esm.js';
|
|
8
9
|
import { Progress, ErrorPage, MarkdownContent, Page, Header, Content, CodeSnippet, StatusError, StatusOK, StatusPending, ErrorPanel, EmptyState, Table as Table$1, Link, DocsIcon, ContentHeader, SupportButton, LogViewer } from '@backstage/core-components';
|
|
9
|
-
import useAsync from 'react-use/
|
|
10
|
+
import useAsync from 'react-use/esm/useAsync';
|
|
11
|
+
import Accordion from '@material-ui/core/Accordion';
|
|
12
|
+
import AccordionDetails from '@material-ui/core/AccordionDetails';
|
|
13
|
+
import AccordionSummary from '@material-ui/core/AccordionSummary';
|
|
14
|
+
import Box from '@material-ui/core/Box';
|
|
15
|
+
import Collapse from '@material-ui/core/Collapse';
|
|
16
|
+
import Grid from '@material-ui/core/Grid';
|
|
17
|
+
import Paper from '@material-ui/core/Paper';
|
|
18
|
+
import Table from '@material-ui/core/Table';
|
|
19
|
+
import TableBody from '@material-ui/core/TableBody';
|
|
20
|
+
import TableCell from '@material-ui/core/TableCell';
|
|
21
|
+
import TableContainer from '@material-ui/core/TableContainer';
|
|
22
|
+
import TableHead from '@material-ui/core/TableHead';
|
|
23
|
+
import TableRow from '@material-ui/core/TableRow';
|
|
24
|
+
import Typography from '@material-ui/core/Typography';
|
|
25
|
+
import { makeStyles, createStyles } from '@material-ui/core/styles';
|
|
10
26
|
import classNames from 'classnames';
|
|
11
27
|
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
|
|
12
28
|
import ExpandLessIcon from '@material-ui/icons/ExpandLess';
|
|
13
29
|
import { useApi, useRouteRef, useApp, useRouteRefParams, AnalyticsContext, useApiHolder, alertApiRef } from '@backstage/core-plugin-api';
|
|
14
30
|
import Chip from '@material-ui/core/Chip';
|
|
15
31
|
import { catalogApiRef, EntityRefLink, CatalogFilterLayout, EntityListProvider, EntitySearchBar, EntityKindPicker, UserListPicker, EntityTagPicker, entityRouteRef, humanizeEntityRef } from '@backstage/plugin-catalog-react';
|
|
32
|
+
import Card from '@material-ui/core/Card';
|
|
33
|
+
import List from '@material-ui/core/List';
|
|
34
|
+
import ListItemIcon from '@material-ui/core/ListItemIcon';
|
|
35
|
+
import ListItemText from '@material-ui/core/ListItemText';
|
|
36
|
+
import MenuItem from '@material-ui/core/MenuItem';
|
|
16
37
|
import SettingsIcon from '@material-ui/icons/Settings';
|
|
17
38
|
import AllIcon from '@material-ui/icons/FontDownload';
|
|
18
39
|
import { DateTime, Interval } from 'luxon';
|
|
19
40
|
import humanizeDuration from 'humanize-duration';
|
|
20
|
-
import Typography$1 from '@material-ui/core/Typography';
|
|
21
41
|
import { parseEntityRef, stringifyEntityRef, ANNOTATION_EDIT_URL } from '@backstage/catalog-model';
|
|
22
42
|
import Button from '@material-ui/core/Button';
|
|
23
43
|
import IconButton from '@material-ui/core/IconButton';
|
|
@@ -25,63 +45,56 @@ import useMediaQuery from '@material-ui/core/useMediaQuery';
|
|
|
25
45
|
import CreateComponentIcon from '@material-ui/icons/AddCircleOutline';
|
|
26
46
|
import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha';
|
|
27
47
|
import { usePermission } from '@backstage/plugin-permission-react';
|
|
28
|
-
import ListItemIcon$1 from '@material-ui/core/ListItemIcon';
|
|
29
|
-
import ListItemText$1 from '@material-ui/core/ListItemText';
|
|
30
|
-
import MenuItem$1 from '@material-ui/core/MenuItem';
|
|
31
48
|
import MenuList from '@material-ui/core/MenuList';
|
|
32
49
|
import Popover from '@material-ui/core/Popover';
|
|
33
|
-
import { makeStyles as makeStyles$1 } from '@material-ui/core/styles';
|
|
34
50
|
import Edit from '@material-ui/icons/Edit';
|
|
35
51
|
import MoreVert from '@material-ui/icons/MoreVert';
|
|
36
52
|
import { StreamLanguage } from '@codemirror/language';
|
|
37
53
|
import { yaml as yaml$1 } from '@codemirror/legacy-modes/mode/yaml';
|
|
54
|
+
import CardContent from '@material-ui/core/CardContent';
|
|
55
|
+
import CardHeader from '@material-ui/core/CardHeader';
|
|
56
|
+
import FormControl from '@material-ui/core/FormControl';
|
|
57
|
+
import Select from '@material-ui/core/Select';
|
|
38
58
|
import CloseIcon from '@material-ui/icons/Close';
|
|
39
59
|
import CodeMirror from '@uiw/react-codemirror';
|
|
40
60
|
import yaml from 'yaml';
|
|
41
|
-
import useDebounce from 'react-use/
|
|
61
|
+
import useDebounce from 'react-use/esm/useDebounce';
|
|
42
62
|
import { useAsync as useAsync$1, useRerender, useKeyboardEvent, usePrevious } from '@react-hookz/web';
|
|
43
63
|
import validator from '@rjsf/validator-ajv8';
|
|
64
|
+
import Divider from '@material-ui/core/Divider';
|
|
65
|
+
import Tooltip from '@material-ui/core/Tooltip';
|
|
44
66
|
import RefreshIcon from '@material-ui/icons/Refresh';
|
|
45
67
|
import SaveIcon from '@material-ui/icons/Save';
|
|
46
68
|
import TreeView from '@material-ui/lab/TreeView';
|
|
47
69
|
import ChevronRightIcon from '@material-ui/icons/ChevronRight';
|
|
48
70
|
import TreeItem from '@material-ui/lab/TreeItem';
|
|
49
71
|
import { showPanel } from '@codemirror/view';
|
|
50
|
-
import Accordion$1 from '@material-ui/core/Accordion';
|
|
51
|
-
import AccordionDetails$1 from '@material-ui/core/AccordionDetails';
|
|
52
|
-
import AccordionSummary$1 from '@material-ui/core/AccordionSummary';
|
|
53
|
-
import Divider$1 from '@material-ui/core/Divider';
|
|
54
|
-
import List$1 from '@material-ui/core/List';
|
|
55
72
|
import ListItem from '@material-ui/core/ListItem';
|
|
56
73
|
import ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';
|
|
57
74
|
import Cancel from '@material-ui/icons/Cancel';
|
|
58
75
|
import CheckIcon from '@material-ui/icons/Check';
|
|
59
76
|
import DeleteIcon from '@material-ui/icons/Delete';
|
|
60
77
|
import DownloadIcon from '@material-ui/icons/GetApp';
|
|
61
|
-
import Box$1 from '@material-ui/core/Box';
|
|
62
78
|
import Tab from '@material-ui/core/Tab';
|
|
63
79
|
import Tabs from '@material-ui/core/Tabs';
|
|
64
80
|
import LanguageIcon from '@material-ui/icons/Language';
|
|
65
81
|
import Step from '@material-ui/core/Step';
|
|
66
82
|
import StepLabel from '@material-ui/core/StepLabel';
|
|
67
83
|
import Stepper$1 from '@material-ui/core/Stepper';
|
|
84
|
+
import StepButton from '@material-ui/core/StepButton';
|
|
85
|
+
import CircularProgress from '@material-ui/core/CircularProgress';
|
|
68
86
|
import FiberManualRecordIcon from '@material-ui/icons/FiberManualRecord';
|
|
69
|
-
import useInterval from 'react-use/
|
|
70
|
-
import
|
|
87
|
+
import useInterval from 'react-use/esm/useInterval';
|
|
88
|
+
import LinearProgress from '@material-ui/core/LinearProgress';
|
|
71
89
|
import CardActionArea from '@material-ui/core/CardActionArea';
|
|
72
|
-
import CardContent$1 from '@material-ui/core/CardContent';
|
|
73
|
-
import Tooltip$1 from '@material-ui/core/Tooltip';
|
|
74
90
|
import InfoOutlinedIcon from '@material-ui/icons/InfoOutlined';
|
|
91
|
+
import '@material-ui/core/TextField';
|
|
75
92
|
import 'zod';
|
|
76
93
|
import '@backstage/catalog-client';
|
|
77
|
-
import '@material-ui/core/FormControl';
|
|
78
94
|
import '@material-ui/lab/Autocomplete';
|
|
79
95
|
import '@backstage/integration-react';
|
|
80
96
|
import '@material-ui/core/FormHelperText';
|
|
81
|
-
import '
|
|
82
|
-
import '@material-ui/core/InputLabel';
|
|
83
|
-
import 'react-use/lib/useEffectOnce';
|
|
84
|
-
import '@material-ui/lab';
|
|
97
|
+
import 'react-use/esm/useEffectOnce';
|
|
85
98
|
import 'zod-to-json-schema';
|
|
86
99
|
import '@backstage/errors';
|
|
87
100
|
import 'qs';
|
|
@@ -415,7 +428,7 @@ const OwnerListPicker = (props) => {
|
|
|
415
428
|
const CreatedAtColumn = ({ createdAt }) => {
|
|
416
429
|
const createdAtTime = DateTime.fromISO(createdAt);
|
|
417
430
|
const formatted = Interval.fromDateTimes(createdAtTime, DateTime.local()).toDuration().valueOf();
|
|
418
|
-
return /* @__PURE__ */ React.createElement(Typography
|
|
431
|
+
return /* @__PURE__ */ React.createElement(Typography, { paragraph: true }, humanizeDuration(formatted, { round: true }), " ago");
|
|
419
432
|
};
|
|
420
433
|
|
|
421
434
|
const OwnerEntityColumn = ({ entityRef }) => {
|
|
@@ -426,7 +439,7 @@ const OwnerEntityColumn = ({ entityRef }) => {
|
|
|
426
439
|
[catalogApi, entityRef]
|
|
427
440
|
);
|
|
428
441
|
if (!entityRef) {
|
|
429
|
-
return /* @__PURE__ */ React.createElement(Typography
|
|
442
|
+
return /* @__PURE__ */ React.createElement(Typography, { paragraph: true }, "Unknown");
|
|
430
443
|
}
|
|
431
444
|
if (loading || error) {
|
|
432
445
|
return null;
|
|
@@ -679,7 +692,7 @@ const TemplateListPage = (props) => {
|
|
|
679
692
|
))))));
|
|
680
693
|
};
|
|
681
694
|
|
|
682
|
-
const useStyles$e = makeStyles
|
|
695
|
+
const useStyles$e = makeStyles((theme) => ({
|
|
683
696
|
button: {
|
|
684
697
|
color: theme.page.fontColor
|
|
685
698
|
}
|
|
@@ -722,7 +735,7 @@ function TemplateWizardPageContextMenu(props) {
|
|
|
722
735
|
anchorOrigin: { vertical: "bottom", horizontal: "right" },
|
|
723
736
|
transformOrigin: { vertical: "top", horizontal: "right" }
|
|
724
737
|
},
|
|
725
|
-
/* @__PURE__ */ React.createElement(MenuList, null, /* @__PURE__ */ React.createElement(MenuItem
|
|
738
|
+
/* @__PURE__ */ React.createElement(MenuList, null, /* @__PURE__ */ React.createElement(MenuItem, { onClick: () => window.open(editUrl, "_blank") }, /* @__PURE__ */ React.createElement(ListItemIcon, null, /* @__PURE__ */ React.createElement(Edit, { fontSize: "small" })), /* @__PURE__ */ React.createElement(ListItemText, { primary: "Edit Configuration" })))
|
|
726
739
|
));
|
|
727
740
|
}
|
|
728
741
|
|
|
@@ -1122,7 +1135,7 @@ var __publicField = (obj, key, value) => {
|
|
|
1122
1135
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
1123
1136
|
return value;
|
|
1124
1137
|
};
|
|
1125
|
-
const useStyles$d = makeStyles
|
|
1138
|
+
const useStyles$d = makeStyles({
|
|
1126
1139
|
containerWrapper: {
|
|
1127
1140
|
position: "relative",
|
|
1128
1141
|
width: "100%",
|
|
@@ -1362,7 +1375,7 @@ const CustomFieldExplorer = ({
|
|
|
1362
1375
|
onChange: (e) => handleSelectionChange(e.target.value)
|
|
1363
1376
|
},
|
|
1364
1377
|
fieldOptions.map((option, idx) => /* @__PURE__ */ React.createElement(MenuItem, { key: idx, value: option }, option.name))
|
|
1365
|
-
)), /* @__PURE__ */ React.createElement(IconButton
|
|
1378
|
+
)), /* @__PURE__ */ React.createElement(IconButton, { size: "medium", onClick: onClose, "aria-label": "Close" }, /* @__PURE__ */ React.createElement(CloseIcon, null))), /* @__PURE__ */ React.createElement("div", { className: classes.fieldForm }, /* @__PURE__ */ React.createElement(Card, null, /* @__PURE__ */ React.createElement(CardHeader, { title: "Field Options" }), /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(
|
|
1366
1379
|
Form,
|
|
1367
1380
|
{
|
|
1368
1381
|
showErrorList: false,
|
|
@@ -1378,7 +1391,7 @@ const CustomFieldExplorer = ({
|
|
|
1378
1391
|
}
|
|
1379
1392
|
},
|
|
1380
1393
|
/* @__PURE__ */ React.createElement(
|
|
1381
|
-
Button
|
|
1394
|
+
Button,
|
|
1382
1395
|
{
|
|
1383
1396
|
variant: "contained",
|
|
1384
1397
|
color: "primary",
|
|
@@ -1408,7 +1421,7 @@ const CustomFieldExplorer = ({
|
|
|
1408
1421
|
)));
|
|
1409
1422
|
};
|
|
1410
1423
|
|
|
1411
|
-
const useStyles$b = makeStyles
|
|
1424
|
+
const useStyles$b = makeStyles({
|
|
1412
1425
|
root: {
|
|
1413
1426
|
whiteSpace: "nowrap",
|
|
1414
1427
|
overflowY: "auto"
|
|
@@ -1526,7 +1539,7 @@ function TemplateEditorBrowser(props) {
|
|
|
1526
1539
|
props.onClose();
|
|
1527
1540
|
};
|
|
1528
1541
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { className: classes.buttons }, /* @__PURE__ */ React.createElement(Tooltip, { title: "Save all files" }, /* @__PURE__ */ React.createElement(
|
|
1529
|
-
IconButton
|
|
1542
|
+
IconButton,
|
|
1530
1543
|
{
|
|
1531
1544
|
className: classes.button,
|
|
1532
1545
|
disabled: directoryEditor.files.every((file) => !file.dirty),
|
|
@@ -1534,13 +1547,13 @@ function TemplateEditorBrowser(props) {
|
|
|
1534
1547
|
},
|
|
1535
1548
|
/* @__PURE__ */ React.createElement(SaveIcon, null)
|
|
1536
1549
|
)), /* @__PURE__ */ React.createElement(Tooltip, { title: "Reload directory" }, /* @__PURE__ */ React.createElement(
|
|
1537
|
-
IconButton
|
|
1550
|
+
IconButton,
|
|
1538
1551
|
{
|
|
1539
1552
|
className: classes.button,
|
|
1540
1553
|
onClick: () => directoryEditor.reload()
|
|
1541
1554
|
},
|
|
1542
1555
|
/* @__PURE__ */ React.createElement(RefreshIcon, null)
|
|
1543
|
-
)), /* @__PURE__ */ React.createElement("div", { className: classes.buttonsGap }), /* @__PURE__ */ React.createElement(Tooltip, { title: "Close directory" }, /* @__PURE__ */ React.createElement(IconButton
|
|
1556
|
+
)), /* @__PURE__ */ React.createElement("div", { className: classes.buttonsGap }), /* @__PURE__ */ React.createElement(Tooltip, { title: "Close directory" }, /* @__PURE__ */ React.createElement(IconButton, { className: classes.button, onClick: handleClose }, /* @__PURE__ */ React.createElement(CloseIcon, null)))), /* @__PURE__ */ React.createElement(Divider, { className: classes.buttonsDivider }), /* @__PURE__ */ React.createElement(
|
|
1544
1557
|
FileBrowser,
|
|
1545
1558
|
{
|
|
1546
1559
|
selected: (_b = (_a = directoryEditor.selectedFile) == null ? void 0 : _a.path) != null ? _b : "",
|
|
@@ -1609,7 +1622,7 @@ function TemplateEditorTextArea(props) {
|
|
|
1609
1622
|
onChange: props.onUpdate
|
|
1610
1623
|
}
|
|
1611
1624
|
), (props.onSave || props.onReload) && /* @__PURE__ */ React.createElement("div", { className: classes.floatingButtons }, /* @__PURE__ */ React.createElement(Paper, null, props.onSave && /* @__PURE__ */ React.createElement(Tooltip, { title: "Save file" }, /* @__PURE__ */ React.createElement(
|
|
1612
|
-
IconButton
|
|
1625
|
+
IconButton,
|
|
1613
1626
|
{
|
|
1614
1627
|
className: classes.floatingButton,
|
|
1615
1628
|
onClick: () => {
|
|
@@ -1619,7 +1632,7 @@ function TemplateEditorTextArea(props) {
|
|
|
1619
1632
|
},
|
|
1620
1633
|
/* @__PURE__ */ React.createElement(SaveIcon, null)
|
|
1621
1634
|
)), props.onReload && /* @__PURE__ */ React.createElement(Tooltip, { title: "Reload file" }, /* @__PURE__ */ React.createElement(
|
|
1622
|
-
IconButton
|
|
1635
|
+
IconButton,
|
|
1623
1636
|
{
|
|
1624
1637
|
className: classes.floatingButton,
|
|
1625
1638
|
onClick: () => {
|
|
@@ -1663,7 +1676,7 @@ function downloadBlob(blob, name) {
|
|
|
1663
1676
|
a.remove();
|
|
1664
1677
|
}
|
|
1665
1678
|
|
|
1666
|
-
const useStyles$8 = makeStyles
|
|
1679
|
+
const useStyles$8 = makeStyles((theme) => ({
|
|
1667
1680
|
root: {
|
|
1668
1681
|
overflowY: "auto",
|
|
1669
1682
|
background: theme.palette.background.default
|
|
@@ -1682,7 +1695,7 @@ const useStyles$8 = makeStyles$1((theme) => ({
|
|
|
1682
1695
|
function DryRunResultsList() {
|
|
1683
1696
|
const classes = useStyles$8();
|
|
1684
1697
|
const dryRun = useDryRun();
|
|
1685
|
-
return /* @__PURE__ */ React.createElement(List
|
|
1698
|
+
return /* @__PURE__ */ React.createElement(List, { className: classes.root, dense: true }, dryRun.results.map((result) => {
|
|
1686
1699
|
var _a;
|
|
1687
1700
|
const failed = result.log.some((l) => l.body.status === "failed");
|
|
1688
1701
|
let isLoading = false;
|
|
@@ -1703,13 +1716,13 @@ function DryRunResultsList() {
|
|
|
1703
1716
|
onClick: () => dryRun.selectResult(result.id)
|
|
1704
1717
|
},
|
|
1705
1718
|
/* @__PURE__ */ React.createElement(
|
|
1706
|
-
ListItemIcon
|
|
1719
|
+
ListItemIcon,
|
|
1707
1720
|
{
|
|
1708
1721
|
className: failed ? classes.iconFailure : classes.iconSuccess
|
|
1709
1722
|
},
|
|
1710
1723
|
failed ? /* @__PURE__ */ React.createElement(Cancel, null) : /* @__PURE__ */ React.createElement(CheckIcon, null)
|
|
1711
1724
|
),
|
|
1712
|
-
/* @__PURE__ */ React.createElement(ListItemText
|
|
1725
|
+
/* @__PURE__ */ React.createElement(ListItemText, { primary: `Result ${result.id}` }),
|
|
1713
1726
|
/* @__PURE__ */ React.createElement(ListItemSecondaryAction, null, /* @__PURE__ */ React.createElement(
|
|
1714
1727
|
IconButton,
|
|
1715
1728
|
{
|
|
@@ -1744,7 +1757,7 @@ async function downloadDirectoryContents(directoryContents, name) {
|
|
|
1744
1757
|
downloadBlob(blob, name);
|
|
1745
1758
|
}
|
|
1746
1759
|
|
|
1747
|
-
const useStyles$7 = makeStyles
|
|
1760
|
+
const useStyles$7 = makeStyles((theme) => ({
|
|
1748
1761
|
root: {
|
|
1749
1762
|
display: "grid",
|
|
1750
1763
|
gridTemplateColumns: "280px auto 3fr",
|
|
@@ -1765,7 +1778,7 @@ function DryRunResultsSplitView(props) {
|
|
|
1765
1778
|
if (childArray.length !== 2) {
|
|
1766
1779
|
throw new Error("must have exactly 2 children");
|
|
1767
1780
|
}
|
|
1768
|
-
return /* @__PURE__ */ React.createElement("div", { className: classes.root }, /* @__PURE__ */ React.createElement("div", { className: classNames(classes.child, classes.firstChild) }, childArray[0]), /* @__PURE__ */ React.createElement(Divider
|
|
1781
|
+
return /* @__PURE__ */ React.createElement("div", { className: classes.root }, /* @__PURE__ */ React.createElement("div", { className: classNames(classes.child, classes.firstChild) }, childArray[0]), /* @__PURE__ */ React.createElement(Divider, { orientation: "horizontal" }), /* @__PURE__ */ React.createElement("div", { className: classes.child }, childArray[1]));
|
|
1769
1782
|
}
|
|
1770
1783
|
|
|
1771
1784
|
const useStyles$6 = makeStyles({
|
|
@@ -1868,7 +1881,7 @@ const StepTimeTicker = ({ step }) => {
|
|
|
1868
1881
|
const formatted = Interval.fromDateTimes(startedAt, end).toDuration().valueOf();
|
|
1869
1882
|
setTime(humanizeDuration(formatted, { round: true }));
|
|
1870
1883
|
}, 1e3);
|
|
1871
|
-
return /* @__PURE__ */ React.createElement(Typography
|
|
1884
|
+
return /* @__PURE__ */ React.createElement(Typography, { variant: "caption" }, time);
|
|
1872
1885
|
};
|
|
1873
1886
|
function TaskStepIconComponent(props) {
|
|
1874
1887
|
const classes = useStepIconStyles();
|
|
@@ -1924,14 +1937,14 @@ const TaskStatusStepper = memo(
|
|
|
1924
1937
|
StepIconComponent: TaskStepIconComponent,
|
|
1925
1938
|
className: classes.stepWrapper
|
|
1926
1939
|
},
|
|
1927
|
-
/* @__PURE__ */ React.createElement("div", { className: classes.labelWrapper }, /* @__PURE__ */ React.createElement(Typography
|
|
1940
|
+
/* @__PURE__ */ React.createElement("div", { className: classes.labelWrapper }, /* @__PURE__ */ React.createElement(Typography, { variant: "subtitle2" }, step.name), isSkipped ? /* @__PURE__ */ React.createElement(Typography, { variant: "caption" }, "Skipped") : /* @__PURE__ */ React.createElement(StepTimeTicker, { step }))
|
|
1928
1941
|
)));
|
|
1929
1942
|
})
|
|
1930
1943
|
));
|
|
1931
1944
|
}
|
|
1932
1945
|
);
|
|
1933
1946
|
|
|
1934
|
-
const useStyles$4 = makeStyles
|
|
1947
|
+
const useStyles$4 = makeStyles({
|
|
1935
1948
|
root: {
|
|
1936
1949
|
display: "flex",
|
|
1937
1950
|
flexFlow: "column nowrap"
|
|
@@ -2038,7 +2051,7 @@ function OutputContent() {
|
|
|
2038
2051
|
if (!selectedResult) {
|
|
2039
2052
|
return null;
|
|
2040
2053
|
}
|
|
2041
|
-
return /* @__PURE__ */ React.createElement(DryRunResultsSplitView, null, /* @__PURE__ */ React.createElement(Box
|
|
2054
|
+
return /* @__PURE__ */ React.createElement(DryRunResultsSplitView, null, /* @__PURE__ */ React.createElement(Box, { pt: 2 }, ((_b = (_a = selectedResult.output) == null ? void 0 : _a.links) == null ? void 0 : _b.length) && /* @__PURE__ */ React.createElement(TaskPageLinks, { output: selectedResult.output })), /* @__PURE__ */ React.createElement(
|
|
2042
2055
|
CodeMirror,
|
|
2043
2056
|
{
|
|
2044
2057
|
className: classes.codeMirror,
|
|
@@ -2055,10 +2068,10 @@ function DryRunResultsView() {
|
|
|
2055
2068
|
const [selectedTab, setSelectedTab] = useState(
|
|
2056
2069
|
"files"
|
|
2057
2070
|
);
|
|
2058
|
-
return /* @__PURE__ */ React.createElement("div", { className: classes.root }, /* @__PURE__ */ React.createElement(Tabs, { value: selectedTab, onChange: (_, v) => setSelectedTab(v) }, /* @__PURE__ */ React.createElement(Tab, { value: "files", label: "Files" }), /* @__PURE__ */ React.createElement(Tab, { value: "log", label: "Log" }), /* @__PURE__ */ React.createElement(Tab, { value: "output", label: "Output" })), /* @__PURE__ */ React.createElement(Divider
|
|
2071
|
+
return /* @__PURE__ */ React.createElement("div", { className: classes.root }, /* @__PURE__ */ React.createElement(Tabs, { value: selectedTab, onChange: (_, v) => setSelectedTab(v) }, /* @__PURE__ */ React.createElement(Tab, { value: "files", label: "Files" }), /* @__PURE__ */ React.createElement(Tab, { value: "log", label: "Log" }), /* @__PURE__ */ React.createElement(Tab, { value: "output", label: "Output" })), /* @__PURE__ */ React.createElement(Divider, null), /* @__PURE__ */ React.createElement("div", { className: classes.contentWrapper }, /* @__PURE__ */ React.createElement("div", { className: classes.content }, selectedTab === "files" && /* @__PURE__ */ React.createElement(FilesContent, null), selectedTab === "log" && /* @__PURE__ */ React.createElement(LogContent, null), selectedTab === "output" && /* @__PURE__ */ React.createElement(OutputContent, null))));
|
|
2059
2072
|
}
|
|
2060
2073
|
|
|
2061
|
-
const useStyles$3 = makeStyles
|
|
2074
|
+
const useStyles$3 = makeStyles((theme) => ({
|
|
2062
2075
|
header: {
|
|
2063
2076
|
height: 48,
|
|
2064
2077
|
minHeight: 0,
|
|
@@ -2092,7 +2105,7 @@ function DryRunResults() {
|
|
|
2092
2105
|
}
|
|
2093
2106
|
}, [prevResultsLength, resultsLength]);
|
|
2094
2107
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
2095
|
-
Accordion
|
|
2108
|
+
Accordion,
|
|
2096
2109
|
{
|
|
2097
2110
|
variant: "outlined",
|
|
2098
2111
|
expanded,
|
|
@@ -2101,15 +2114,15 @@ function DryRunResults() {
|
|
|
2101
2114
|
onTransitionEnd: () => resultsLength === 0 && setHidden(true)
|
|
2102
2115
|
},
|
|
2103
2116
|
/* @__PURE__ */ React.createElement(
|
|
2104
|
-
AccordionSummary
|
|
2117
|
+
AccordionSummary,
|
|
2105
2118
|
{
|
|
2106
2119
|
className: classes.header,
|
|
2107
2120
|
expandIcon: /* @__PURE__ */ React.createElement(ExpandLessIcon, null)
|
|
2108
2121
|
},
|
|
2109
|
-
/* @__PURE__ */ React.createElement(Typography
|
|
2122
|
+
/* @__PURE__ */ React.createElement(Typography, null, "Dry-run results")
|
|
2110
2123
|
),
|
|
2111
|
-
/* @__PURE__ */ React.createElement(Divider
|
|
2112
|
-
/* @__PURE__ */ React.createElement(AccordionDetails
|
|
2124
|
+
/* @__PURE__ */ React.createElement(Divider, { orientation: "horizontal" }),
|
|
2125
|
+
/* @__PURE__ */ React.createElement(AccordionDetails, { className: classes.content }, /* @__PURE__ */ React.createElement(DryRunResultsList, null), /* @__PURE__ */ React.createElement(Divider, { orientation: "horizontal" }), /* @__PURE__ */ React.createElement(DryRunResultsView, null))
|
|
2113
2126
|
));
|
|
2114
2127
|
}
|
|
2115
2128
|
|
|
@@ -2277,7 +2290,7 @@ const TemplateFormPreviewer = ({
|
|
|
2277
2290
|
onChange: (e) => handleSelectChange(e.target.value)
|
|
2278
2291
|
},
|
|
2279
2292
|
templateOptions.map((option, idx) => /* @__PURE__ */ React.createElement(MenuItem, { key: idx, value: option.value }, option.label))
|
|
2280
|
-
)), /* @__PURE__ */ React.createElement(IconButton
|
|
2293
|
+
)), /* @__PURE__ */ React.createElement(IconButton, { size: "medium", onClick: onClose }, /* @__PURE__ */ React.createElement(CloseIcon, null))), /* @__PURE__ */ React.createElement("div", { className: classes.textArea }, /* @__PURE__ */ React.createElement(
|
|
2281
2294
|
TemplateEditorTextArea,
|
|
2282
2295
|
{
|
|
2283
2296
|
content: templateYaml,
|
|
@@ -2296,7 +2309,7 @@ const TemplateFormPreviewer = ({
|
|
|
2296
2309
|
))));
|
|
2297
2310
|
};
|
|
2298
2311
|
|
|
2299
|
-
const useStyles = makeStyles
|
|
2312
|
+
const useStyles = makeStyles((theme) => ({
|
|
2300
2313
|
introText: {
|
|
2301
2314
|
textAlign: "center",
|
|
2302
2315
|
marginTop: theme.spacing(2)
|
|
@@ -2316,7 +2329,7 @@ const useStyles = makeStyles$1((theme) => ({
|
|
|
2316
2329
|
function TemplateEditorIntro(props) {
|
|
2317
2330
|
const classes = useStyles();
|
|
2318
2331
|
const supportsLoad = WebFileSystemAccess.isSupported();
|
|
2319
|
-
const cardLoadLocal = /* @__PURE__ */ React.createElement(Card
|
|
2332
|
+
const cardLoadLocal = /* @__PURE__ */ React.createElement(Card, { className: classes.card, elevation: 4 }, /* @__PURE__ */ React.createElement(
|
|
2320
2333
|
CardActionArea,
|
|
2321
2334
|
{
|
|
2322
2335
|
disabled: !supportsLoad,
|
|
@@ -2325,8 +2338,8 @@ function TemplateEditorIntro(props) {
|
|
|
2325
2338
|
return (_a = props.onSelect) == null ? void 0 : _a.call(props, "local");
|
|
2326
2339
|
}
|
|
2327
2340
|
},
|
|
2328
|
-
/* @__PURE__ */ React.createElement(CardContent
|
|
2329
|
-
Typography
|
|
2341
|
+
/* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(
|
|
2342
|
+
Typography,
|
|
2330
2343
|
{
|
|
2331
2344
|
variant: "h4",
|
|
2332
2345
|
component: "h3",
|
|
@@ -2336,7 +2349,7 @@ function TemplateEditorIntro(props) {
|
|
|
2336
2349
|
},
|
|
2337
2350
|
"Load Template Directory"
|
|
2338
2351
|
), /* @__PURE__ */ React.createElement(
|
|
2339
|
-
Typography
|
|
2352
|
+
Typography,
|
|
2340
2353
|
{
|
|
2341
2354
|
variant: "body1",
|
|
2342
2355
|
color: supportsLoad ? void 0 : "textSecondary"
|
|
@@ -2344,22 +2357,22 @@ function TemplateEditorIntro(props) {
|
|
|
2344
2357
|
"Load a local template directory, allowing you to both edit and try executing your own template."
|
|
2345
2358
|
))
|
|
2346
2359
|
), !supportsLoad && /* @__PURE__ */ React.createElement("div", { className: classes.infoIcon }, /* @__PURE__ */ React.createElement(
|
|
2347
|
-
Tooltip
|
|
2360
|
+
Tooltip,
|
|
2348
2361
|
{
|
|
2349
2362
|
placement: "top",
|
|
2350
2363
|
title: "Only supported in some Chromium-based browsers"
|
|
2351
2364
|
},
|
|
2352
2365
|
/* @__PURE__ */ React.createElement(InfoOutlinedIcon, null)
|
|
2353
2366
|
)));
|
|
2354
|
-
const cardFormEditor = /* @__PURE__ */ React.createElement(Card
|
|
2367
|
+
const cardFormEditor = /* @__PURE__ */ React.createElement(Card, { className: classes.card, elevation: 4 }, /* @__PURE__ */ React.createElement(CardActionArea, { onClick: () => {
|
|
2355
2368
|
var _a;
|
|
2356
2369
|
return (_a = props.onSelect) == null ? void 0 : _a.call(props, "form");
|
|
2357
|
-
} }, /* @__PURE__ */ React.createElement(CardContent
|
|
2358
|
-
const cardFieldExplorer = /* @__PURE__ */ React.createElement(Card
|
|
2370
|
+
} }, /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(Typography, { variant: "h4", component: "h3", gutterBottom: true }, "Edit Template Form"), /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "Preview and edit a template form, either using a sample template or by loading a template from the catalog."))));
|
|
2371
|
+
const cardFieldExplorer = /* @__PURE__ */ React.createElement(Card, { className: classes.card, elevation: 4 }, /* @__PURE__ */ React.createElement(CardActionArea, { onClick: () => {
|
|
2359
2372
|
var _a;
|
|
2360
2373
|
return (_a = props.onSelect) == null ? void 0 : _a.call(props, "field-explorer");
|
|
2361
|
-
} }, /* @__PURE__ */ React.createElement(CardContent
|
|
2362
|
-
return /* @__PURE__ */ React.createElement("div", { style: props.style }, /* @__PURE__ */ React.createElement(Typography
|
|
2374
|
+
} }, /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(Typography, { variant: "h4", component: "h3", gutterBottom: true }, "Custom Field Explorer"), /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "View and play around with available installed custom field extensions."))));
|
|
2375
|
+
return /* @__PURE__ */ React.createElement("div", { style: props.style }, /* @__PURE__ */ React.createElement(Typography, { variant: "h4", component: "h2", className: classes.introText }, "Get started by choosing one of the options below"), /* @__PURE__ */ React.createElement(
|
|
2363
2376
|
"div",
|
|
2364
2377
|
{
|
|
2365
2378
|
style: {
|
|
@@ -2536,4 +2549,4 @@ const Router = (props) => {
|
|
|
2536
2549
|
};
|
|
2537
2550
|
|
|
2538
2551
|
export { Router };
|
|
2539
|
-
//# sourceMappingURL=index-
|
|
2552
|
+
//# sourceMappingURL=index-CSOk13rN.esm.js.map
|