diff --git a/libs/positions/src/lib/positions-data-providers.ts b/libs/positions/src/lib/positions-data-providers.ts index 3e0fb49fd..568238fd8 100644 --- a/libs/positions/src/lib/positions-data-providers.ts +++ b/libs/positions/src/lib/positions-data-providers.ts @@ -83,13 +83,7 @@ export const getMetrics = ( const marginAccount = accounts?.find((account) => { return account.market?.id === market?.id; }); - if ( - !marginAccount || - !marginLevel || - !market || - !marketData || - position.openVolume === '0' - ) { + if (!marginAccount || !marginLevel || !market || !marketData) { return; } const generalAccount = accounts?.find( diff --git a/libs/positions/src/lib/positions.tsx b/libs/positions/src/lib/positions.tsx deleted file mode 100644 index fce0e71bb..000000000 --- a/libs/positions/src/lib/positions.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { useRef, memo } from 'react'; -import { AsyncRenderer } from '@vegaprotocol/ui-toolkit'; -import { t } from '@vegaprotocol/react-helpers'; -import type { AgGridReact } from 'ag-grid-react'; -import PositionsTable from './positions-table'; -import type { Position } from './positions-data-providers'; -import { AssetBalance } from '@vegaprotocol/accounts'; -import { usePositionsData } from './use-positions-data'; - -interface PositionsProps { - partyId: string; - assetSymbol: string; - onClose: (position: Position) => void; -} - -export const Positions = memo( - ({ partyId, assetSymbol, onClose }: PositionsProps) => { - const gridRef = useRef(null); - const { data, error, loading, getRows } = usePositionsData( - partyId, - gridRef, - assetSymbol - ); - - return ( - -
-

- {assetSymbol} {t('markets')} -

-
- {assetSymbol} {t('balance')}: - - - -
-
- -
- ); - } -); diff --git a/libs/positions/src/lib/use-positions-data.tsx b/libs/positions/src/lib/use-positions-data.tsx index 42872e92d..6bcd1b439 100644 --- a/libs/positions/src/lib/use-positions-data.tsx +++ b/libs/positions/src/lib/use-positions-data.tsx @@ -43,11 +43,16 @@ export const usePositionsData = ( } }); if (update.length || add.length) { - gridRef.current.api.applyTransactionAsync({ + const rowDataTransaction = { update, add, addIndex: 0, - }); + }; + if (add.length) { + gridRef.current.api.applyTransaction(rowDataTransaction); + } else { + gridRef.current.api.applyTransactionAsync(rowDataTransaction); + } } return true; }, diff --git a/libs/react-helpers/src/lib/generic-data-provider.ts b/libs/react-helpers/src/lib/generic-data-provider.ts index 55aa582f3..37d34cf82 100644 --- a/libs/react-helpers/src/lib/generic-data-provider.ts +++ b/libs/react-helpers/src/lib/generic-data-provider.ts @@ -646,7 +646,7 @@ function makeDerivedDataProviderInternal< const updatedPart = parts[updatedPartIndex]; if (updatedPart.isUpdate) { isUpdate = true; - if (updatedPart.delta && combineDelta && data) { + if (combineDelta && data) { delta = combineDelta(data, parts, previousData, variables); } delete updatedPart.isUpdate; diff --git a/libs/react-helpers/src/lib/grid/summary-rows.ts b/libs/react-helpers/src/lib/grid/summary-rows.ts index 5f1f8e9a3..ab23b5ee4 100644 --- a/libs/react-helpers/src/lib/grid/summary-rows.ts +++ b/libs/react-helpers/src/lib/grid/summary-rows.ts @@ -4,17 +4,11 @@ export interface SummaryRow { __summaryRow?: boolean; } -export function addSummaryRows( +export function addSummaryRows( api: GridApi, columnApi: ColumnApi, - getGroupId: ( - data: T & SummaryRow, - columnApi: ColumnApi - ) => string | null | undefined, - getGroupSummaryRow: ( - data: (T & SummaryRow)[], - columnApi: ColumnApi - ) => Partial | null + getGroupId: (data: T, columnApi: ColumnApi) => string | null | undefined, + getGroupSummaryRow: (data: T[], columnApi: ColumnApi) => Partial | null ) { let currentGroupId: string | null | undefined = undefined; let group: T[] = [];