@finos/legend-application-marketplace
Version:
Legend Marketplace application core
103 lines • 6.18 kB
JavaScript
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