diff --git a/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/DatabaseDataModel.ts b/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/DatabaseDataModel.ts index f13a14c279..6c910a8048 100644 --- a/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/DatabaseDataModel.ts +++ b/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/DatabaseDataModel.ts @@ -30,13 +30,13 @@ implements IDatabaseDataModel { } constructor(source: IDatabaseDataSource) { - makeObservable(this, { - countGain: observable, - }); - this.id = uuid(); this.source = source; this.countGain = 0; + + makeObservable(this, { + countGain: observable, + }); } isLoading(): boolean { diff --git a/webapp/packages/plugin-data-viewer/src/TableViewer/TableFooter/TableFooter.tsx b/webapp/packages/plugin-data-viewer/src/TableViewer/TableFooter/TableFooter.tsx index 70983f6409..420769a95b 100644 --- a/webapp/packages/plugin-data-viewer/src/TableViewer/TableFooter/TableFooter.tsx +++ b/webapp/packages/plugin-data-viewer/src/TableViewer/TableFooter/TableFooter.tsx @@ -7,7 +7,7 @@ */ import { observer } from 'mobx-react-lite'; -import { useCallback, useRef, useState } from 'react'; +import { useCallback, useEffect, useRef, useState } from 'react'; import styled, { css, use } from 'reshadow'; import { IconOrImage, SubmittingForm, ToolsPanel } from '@cloudbeaver/core-blocks'; @@ -96,6 +96,12 @@ export const TableFooter = observer(function TableFooter({ [model] ); + useEffect(() => { + if (limit !== model.countGain + '') { + setLimit(model.countGain + ''); + } + }, [model.countGain]); + const disabled = model.isLoading() || model.isDisabled(resultIndex); return styled(useStyles(tableFooterStyles))(