loading info in grid

This commit is contained in:
Jan Prochazka
2020-05-01 18:00:12 +02:00
parent d0533f3f08
commit 024c7ddf21
2 changed files with 25 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ import InlineButton from '../widgets/InlineButton';
import { showMenu } from '../modals/DropDownMenu';
import DataGridContextMenu from './DataGridContextMenu';
import useSocket from '../utility/SocketProvider';
import LoadingInfo from '../widgets/LoadingInfo';
const GridContainer = styled.div`
position: absolute;
@@ -102,6 +103,22 @@ const RowCountLabel = styled.div`
bottom: 20px;
`;
const LoadingInfoWrapper = styled.div`
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
display: flex;
align-items: center;
justify-content: space-around;
`;
const LoadingInfoBox = styled.div`
background-color: #ccc;
padding: 10px;
border: 1px solid gray;
`;
/** @param props {import('./types').DataGridProps} */
async function loadDataPage(props, offset, limit) {
const { display, conid, database, jslid } = props;
@@ -1082,6 +1099,13 @@ export default function DataGridCore(props) {
/>,
props.toolbarPortalRef.current
)}
{isLoading && (
<LoadingInfoWrapper>
<LoadingInfoBox>
<LoadingInfo message="Loading data" />
</LoadingInfoBox>
</LoadingInfoWrapper>
)}
</GridContainer>
);
}

View File

@@ -5,6 +5,7 @@ import styled from 'styled-components';
const Container = styled.div`
display: flex;
align-items: center;
margin-right: 10px;
`;
const Spinner = styled.div`