UNPKG

@finos/legend-application-marketplace

Version:
103 lines 6.18 kB
import { jsx as _jsx, jsxs as _jsxs } 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 { withAuth } from 'react-oidc-context'; import { observer } from 'mobx-react-lite'; import React, { useState } from 'react'; import {} from '@finos/legend-graph'; import { DataGrid, } from '@finos/legend-lego/data-grid'; import { generateLakehouseContractPath, generateLakehouseTaskPath, } from '../../../__lib__/LegendMarketplaceNavigation.js'; import { Box, Container, Tab, Tabs, Typography } from '@mui/material'; import { clsx } from '@finos/legend-art'; import { EntitlementsPendingTasksDashbaord } from './EntitlementsPendingTasksDashboard.js'; const Contract_IdColumnClickableCellRenderer = (contractId, onHandleClick) => { if (!contractId) { return null; } const handleClick = () => { onHandleClick(contractId); }; return (_jsx("span", { className: "marketplace-lakehouse-entitlements__grid__taskid-cell", onClick: handleClick, children: contractId })); }; const PendingContract_TaskIdColumnClickableCellRenderer = (params, onHandleClick) => { const data = params.data; if (!data) { return null; } const handleClick = () => { onHandleClick(data.pendingTaskWithAssignees.taskId); }; return (_jsx("span", { className: "marketplace-lakehouse-entitlements__grid__taskid-cell", onClick: handleClick, children: data.pendingTaskWithAssignees.taskId })); }; var EntitlementsTabs; (function (EntitlementsTabs) { EntitlementsTabs["PENDING_TASKS"] = "pendingTasks"; EntitlementsTabs["PENDING_CONTRACTS"] = "pendingContracts"; })(EntitlementsTabs || (EntitlementsTabs = {})); export const EntitlementsDashboard = withAuth(observer((props) => { const { dashboardState } = props; const lakehouseEntitlementsStore = dashboardState.lakehouseEntitlementsStore; const tasks = dashboardState.pendingTasks; const pendingConctracts = dashboardState.pendingContracts; const [selectedTab, setSelectedTab] = useState(EntitlementsTabs.PENDING_TASKS); const handleTabChange = (_, newValue) => { setSelectedTab(newValue); }; return (_jsxs(Container, { className: "marketplace-lakehouse-entitlements-dashboard", maxWidth: "xxl", children: [_jsxs(Tabs, { value: selectedTab, onChange: handleTabChange, children: [_jsx(Tab, { label: _jsx(Typography, { variant: "h4", gutterBottom: true, children: "MY APPROVALS" }), value: EntitlementsTabs.PENDING_TASKS }), _jsx(Tab, { label: _jsx(Typography, { variant: "h4", gutterBottom: true, children: "MY PENDING REQUESTS" }), value: EntitlementsTabs.PENDING_CONTRACTS })] }), selectedTab === EntitlementsTabs.PENDING_TASKS && tasks !== undefined && (_jsx(EntitlementsPendingTasksDashbaord, { dashboardState: dashboardState })), selectedTab === EntitlementsTabs.PENDING_CONTRACTS && (_jsx(Box, { className: "marketplace-lakehouse-entitlements__pending-contracts", children: _jsx("div", { className: clsx('marketplace-lakehouse-entitlements__grid data-access-overview__grid', { 'ag-theme-balham': true, }), children: pendingConctracts && (_jsx(DataGrid, { rowData: pendingConctracts, onRowDataUpdated: (params) => { params.api.refreshCells({ force: true }); }, suppressFieldDotNotation: true, suppressContextMenu: false, columnDefs: [ { minWidth: 50, sortable: true, resizable: true, headerName: 'Contract Id', cellRenderer: (params) => { return Contract_IdColumnClickableCellRenderer(params.data?.contractId, (taskId) => lakehouseEntitlementsStore.applicationStore.navigationService.navigator.updateCurrentLocation(generateLakehouseContractPath(taskId))); }, flex: 1, }, { minWidth: 50, sortable: true, resizable: true, headerName: 'Contract Description', valueGetter: (p) => p.data?.contractDescription, flex: 1, }, { minWidth: 50, sortable: true, resizable: true, headerName: 'Pending Task ID', cellRenderer: (params) => { return PendingContract_TaskIdColumnClickableCellRenderer(params, (taskId) => lakehouseEntitlementsStore.applicationStore.navigationService.navigator.updateCurrentLocation(generateLakehouseTaskPath(taskId))); }, flex: 1, }, { minWidth: 50, sortable: true, resizable: true, headerName: 'Pending Task Assignes', valueGetter: (p) => p.data?.pendingTaskWithAssignees.assignee.join(','), flex: 1, }, ] })) }) }))] })); })); //# sourceMappingURL=EntitlementsDashboard.js.map