@veecode-platform/plugin-kong-service-manager
Version:
73 lines (70 loc) • 3.1 kB
JavaScript
import React from 'react';
import ErrorBoundary from '../ErrorBoundary/ErrorBondary.esm.js';
import { BoxComponent } from '../shared/BoxComponent/BoxComponent.esm.js';
import '../shared/SelectComponent/Select.esm.js';
import '@backstage/core-components';
import '@material-ui/core';
import '../shared/HtmlTooltip/HtmlTooltip.esm.js';
import '../shared/ButtonComponent/styles.esm.js';
import '../shared/LoadingComponent/styles.esm.js';
import '../shared/MissingAnnotation/styles.esm.js';
import '@backstage/plugin-catalog-react';
import '../shared/Fields/Fields.esm.js';
import '@material-ui/lab';
import '../shared/SkeletonComponent/styles.esm.js';
import '@material-ui/icons/OpenInNew';
import '@material-ui/icons/RemoveRedEye';
import '@material-ui/icons/VisibilityOff';
import '@material-ui/icons/Close';
import '@material-ui/icons/Info';
import '@material-ui/icons/ArrowDropDown';
import '@material-ui/icons/ArrowDropUp';
import '@material-ui/icons/AccountCircle';
import '@material-ui/icons/Add';
import '@material-ui/icons/Remove';
import '@material-ui/icons/Undo';
import '../../context/KongServiceManagerContext.esm.js';
import { useKongServiceManagerContext } from '../../context/KongServiceManagerProvider.esm.js';
import useAsync from 'react-use/esm/useAsync';
import { SpecCard } from './SpecCard/SpecCard.esm.js';
import { useSpecListStyles } from './styles.esm.js';
import { addSelectedSpec } from '../../context/state/selectedSpecState/actions.esm.js';
import { isKongManagerSpecAvailable } from '../../hooks/useKongServiceManager.esm.js';
const SpecListWrapper = (props) => {
const { children } = props;
const { content } = useSpecListStyles();
return /* @__PURE__ */ React.createElement(ErrorBoundary, null, /* @__PURE__ */ React.createElement(BoxComponent, { title: "All Specs" }, /* @__PURE__ */ React.createElement("div", { className: content }, children)));
};
const SpecList = () => {
const [selectedSpec, setSelectedSpec] = React.useState("");
const { entity, selectedSpecDispatch, getSpecs } = useKongServiceManagerContext();
const { noSpec } = useSpecListStyles();
const fetchSpecs = async () => {
const data = await getSpecs();
return data;
};
const { loading, value: allspecs } = useAsync(fetchSpecs, []);
React.useEffect(() => {
if (selectedSpec !== "" && allspecs) {
const specData = allspecs.filter((spec) => spec.info.title === selectedSpec)[0];
selectedSpecDispatch(addSelectedSpec(specData));
}
}, [selectedSpec]);
if (isKongManagerSpecAvailable(entity)) /* @__PURE__ */ ;
if (allspecs && allspecs.length === 0) /* @__PURE__ */ ;
return /* @__PURE__ */ React.createElement(SpecListWrapper, null, allspecs && allspecs.map(
(spec) => /* @__PURE__ */ React.createElement(
SpecCard,
{
key: spec.info.title,
title: spec.info.title,
description: spec.info.description,
owner: entity.spec?.owner,
setSpec: setSelectedSpec
}
)
));
};
var SpecList$1 = React.memo(SpecList);
export { SpecList$1 as default };
//# sourceMappingURL=SpecList.esm.js.map