UNPKG

@veecode-platform/plugin-kong-service-manager

Version:

73 lines (70 loc) 3.1 kB
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