@veecode-platform/plugin-kong-service-manager
Version:
96 lines (93 loc) • 4.16 kB
JavaScript
import React from 'react';
import '../../../../context/KongServiceManagerContext.esm.js';
import { useKongServiceManagerContext } from '../../../../context/KongServiceManagerProvider.esm.js';
import useAsync from 'react-use/esm/useAsync';
import { WrapperComponent } from '../wrapperComponent/WrapperComponent.esm.js';
import { PluginsTableComponent } from '../pluginsTableComponent/PluginsTableComponent.esm.js';
import RouteListTable from './routeListTable/RouteListTable.esm.js';
import { removeRouteDetails } from './state/routeDetailsState/actions.esm.js';
import { RouteDetailsReducer, initialRouteDetailsState } from './state/routeDetailsState/reducer.esm.js';
import { transformPath } from '../../../../utils/helpers/transformPath.esm.js';
import { EmptyState } from '@backstage/core-components';
import { useRouteListComponentStyles } from './style.esm.js';
import '@material-ui/core';
import '@backstage/plugin-catalog-react';
import '@material-ui/lab';
import '@material-ui/core/InputBase';
import '@material-ui/icons/Search';
import '../../../shared/SearchBar/styles.esm.js';
import '../../../shared/BoxComponent/styles.esm.js';
import 'react-router-dom';
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 '../../../shared/SelectComponent/Select.esm.js';
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 '../../../shared/Fields/Fields.esm.js';
import '../../../shared/SkeletonComponent/styles.esm.js';
import { MethodLabel } from '../../../shared/MethodLabel/MethodLabel.esm.js';
const RouteListComponent = (props) => {
const [routeDetailsState, routeDetailsDispatch] = React.useReducer(
RouteDetailsReducer,
initialRouteDetailsState
);
const { getRoutesList } = useKongServiceManagerContext();
const { root } = useRouteListComponentStyles();
const { specname } = props;
const resetRouteIdValue = () => routeDetailsDispatch(removeRouteDetails());
const {
value: routes,
loading,
error
} = useAsync(async () => {
const response = await getRoutesList();
console.log("AQUI RENDERIZA >>>", response);
if (response) return response;
return [];
}, []);
if (error)
return /* @__PURE__ */ React.createElement(WrapperComponent, { title: "Route List" }, /* @__PURE__ */ React.createElement("div", { className: root }, /* @__PURE__ */ React.createElement(
EmptyState,
{
missing: "data",
title: "No routes to show",
description: error ? error.message : ""
}
)));
return /* @__PURE__ */ React.createElement(React.Fragment, null, routeDetailsState ? /* @__PURE__ */ React.createElement(
WrapperComponent,
{
title: /* @__PURE__ */ React.createElement(React.Fragment, null, "Plugins associated to path", " ", /* @__PURE__ */ React.createElement("strong", null, transformPath(routeDetailsState.path)), " ", /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(MethodLabel, { variant: routeDetailsState.method })), " "),
buttonBack: true,
handleBack: resetRouteIdValue
},
/* @__PURE__ */ React.createElement(
PluginsTableComponent,
{
specName: specname,
route: routeDetailsState
}
)
) : /* @__PURE__ */ React.createElement(WrapperComponent, { title: "Route List" }, /* @__PURE__ */ React.createElement(
RouteListTable,
{
routes: routes ?? [],
loading,
setRouteDetails: routeDetailsDispatch
}
)));
};
var RouteListComponent$1 = React.memo(RouteListComponent);
export { RouteListComponent$1 as default };
//# sourceMappingURL=RouteListComponent.esm.js.map