UNPKG

@finos/legend-application-marketplace

Version:
97 lines 4.57 kB
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime"; /** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { observer } from 'mobx-react-lite'; import { clsx } from '@finos/legend-art'; import { DataGrid } from '@finos/legend-lego/data-grid'; import { Box } from '@mui/material'; import { V1_SnowflakeTarget, } from '@finos/legend-graph'; import { useMemo, useRef } from 'react'; import { useAuth } from 'react-oidc-context'; export const LakehouseAdminSubscriptionsDashboard = observer((props) => { const { adminStore } = props; const auth = useAuth(); // Keep the latest access token in a ref so the grid datasource always reads // the freshest token without being recreated on every token rotation // (which would otherwise cause the grid to reset and refetch). const tokenRef = useRef(auth.user?.access_token); tokenRef.current = auth.user?.access_token; const datasource = useMemo(() => adminStore.createSubscriptionsServerSideDatasource(() => tokenRef.current), [adminStore]); return (_jsx(_Fragment, { children: _jsx(Box, { className: clsx('marketplace-lakehouse-admin__subscriptions__grid', { 'ag-theme-balham': true, }), children: _jsx(DataGrid, { rowModelType: "serverSide", serverSideDatasource: datasource, suppressFieldDotNotation: true, suppressContextMenu: false, onGridReady: (params) => { adminStore.setSubscriptionsGridApi(params.api); }, columnDefs: [ { minWidth: 50, resizable: true, headerName: 'Subscription Id', valueGetter: (p) => p.data?.guid, flex: 1, }, { minWidth: 50, resizable: true, headerName: 'Contract ID', valueGetter: (p) => p.data?.dataContractId, flex: 1, }, { minWidth: 50, resizable: true, headerName: 'Target Type', valueGetter: (p) => p.data?.target instanceof V1_SnowflakeTarget ? 'Snowflake' : 'Unknown', flex: 1, }, { minWidth: 50, resizable: true, headerName: 'Snowflake Account ID', valueGetter: (p) => p.data?.target instanceof V1_SnowflakeTarget ? p.data.target.snowflakeAccountId : 'Unknown', flex: 1, }, { minWidth: 50, resizable: true, headerName: 'Snowflake Region', valueGetter: (p) => p.data?.target instanceof V1_SnowflakeTarget ? p.data.target.snowflakeRegion : 'Unknown', flex: 1, }, { minWidth: 50, resizable: true, headerName: 'Snowflake Network', valueGetter: (p) => p.data?.target instanceof V1_SnowflakeTarget ? p.data.target.snowflakeNetwork : 'Unknown', flex: 1, }, { minWidth: 50, resizable: true, headerName: 'Created By', valueGetter: (p) => p.data?.createdBy, flex: 1, }, ] }) }) })); }); //# sourceMappingURL=LakehouseAdminSubscriptionsDashboard.js.map