Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0946688b1 |
@@ -95,7 +95,10 @@ export type ElementProps<TableRowData extends object | CustomRowConfig, TableRow
|
|||||||
selectionBehavior?: 'replace' | 'toggle';
|
selectionBehavior?: 'replace' | 'toggle';
|
||||||
onRowAction?: (key: TableRowKey, row: TableRowData) => void;
|
onRowAction?: (key: TableRowKey, row: TableRowData) => void;
|
||||||
slotEmpty?: React.ReactNode;
|
slotEmpty?: React.ReactNode;
|
||||||
initialNumRowsToShow?: number;
|
viewMoreConfig?: {
|
||||||
|
initialNumRowsToShow: number;
|
||||||
|
numRowsPerPage?: number;
|
||||||
|
};
|
||||||
// collection: TableCollection<string>;
|
// collection: TableCollection<string>;
|
||||||
// children: React.ReactNode;
|
// children: React.ReactNode;
|
||||||
};
|
};
|
||||||
@@ -125,7 +128,7 @@ export const Table = <TableRowData extends object, TableRowKey extends Key>({
|
|||||||
selectionMode = 'single',
|
selectionMode = 'single',
|
||||||
selectionBehavior = 'toggle',
|
selectionBehavior = 'toggle',
|
||||||
slotEmpty,
|
slotEmpty,
|
||||||
initialNumRowsToShow,
|
viewMoreConfig,
|
||||||
// shouldRowRender,
|
// shouldRowRender,
|
||||||
|
|
||||||
// collection,
|
// collection,
|
||||||
@@ -141,8 +144,18 @@ export const Table = <TableRowData extends object, TableRowKey extends Key>({
|
|||||||
style,
|
style,
|
||||||
}: ElementProps<TableRowData, TableRowKey> & StyleProps) => {
|
}: ElementProps<TableRowData, TableRowKey> & StyleProps) => {
|
||||||
const [selectedKeys, setSelectedKeys] = useState(new Set<TableRowKey>());
|
const [selectedKeys, setSelectedKeys] = useState(new Set<TableRowKey>());
|
||||||
const [numRowsToShow, setNumRowsToShow] = useState(initialNumRowsToShow);
|
const [numRowsToShow, setNumRowsToShow] = useState(viewMoreConfig?.initialNumRowsToShow);
|
||||||
const enableViewMore = numRowsToShow !== undefined;
|
const enableViewMore = viewMoreConfig !== undefined;
|
||||||
|
|
||||||
|
const onViewMoreClick = () => {
|
||||||
|
if (!viewMoreConfig) return;
|
||||||
|
const { numRowsPerPage } = viewMoreConfig;
|
||||||
|
if (numRowsPerPage) {
|
||||||
|
setNumRowsToShow((prev) => (prev ?? 0) + numRowsPerPage);
|
||||||
|
} else {
|
||||||
|
setNumRowsToShow(data.length);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const currentBreakpoints = useBreakpoints();
|
const currentBreakpoints = useBreakpoints();
|
||||||
const shownColumns = columns.filter(
|
const shownColumns = columns.filter(
|
||||||
@@ -218,9 +231,7 @@ export const Table = <TableRowData extends object, TableRowKey extends Key>({
|
|||||||
}
|
}
|
||||||
numColumns={shownColumns.length}
|
numColumns={shownColumns.length}
|
||||||
onViewMoreClick={
|
onViewMoreClick={
|
||||||
enableViewMore && numRowsToShow < data.length
|
enableViewMore && numRowsToShow! < data.length ? onViewMoreClick : undefined
|
||||||
? () => setNumRowsToShow(data.length)
|
|
||||||
: undefined
|
|
||||||
}
|
}
|
||||||
// shouldRowRender={shouldRowRender}
|
// shouldRowRender={shouldRowRender}
|
||||||
hideHeader={hideHeader}
|
hideHeader={hideHeader}
|
||||||
|
|||||||
@@ -173,5 +173,3 @@ export type AnalyticsEventData<T extends AnalyticsEvent> =
|
|||||||
validatorUrl: string;
|
validatorUrl: string;
|
||||||
}
|
}
|
||||||
: never;
|
: never;
|
||||||
|
|
||||||
export const DEFAULT_TRANSACTION_MEMO = 'dYdX Frontend (web)';
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import {
|
|||||||
import type { ResolutionString } from 'public/tradingview/charting_library';
|
import type { ResolutionString } from 'public/tradingview/charting_library';
|
||||||
|
|
||||||
import type { ConnectNetworkEvent, NetworkConfig } from '@/constants/abacus';
|
import type { ConnectNetworkEvent, NetworkConfig } from '@/constants/abacus';
|
||||||
import { DEFAULT_TRANSACTION_MEMO } from '@/constants/analytics';
|
|
||||||
import { type Candle, RESOLUTION_MAP } from '@/constants/candles';
|
import { type Candle, RESOLUTION_MAP } from '@/constants/candles';
|
||||||
import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks';
|
import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks';
|
||||||
import { DydxChainAsset } from '@/constants/wallets';
|
import { DydxChainAsset } from '@/constants/wallets';
|
||||||
@@ -84,8 +83,7 @@ const useDydxClientContext = () => {
|
|||||||
{
|
{
|
||||||
broadcastPollIntervalMs: 3_000,
|
broadcastPollIntervalMs: 3_000,
|
||||||
broadcastTimeoutMs: 60_000,
|
broadcastTimeoutMs: 60_000,
|
||||||
},
|
}
|
||||||
DEFAULT_TRANSACTION_MEMO
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import {
|
|||||||
type HumanReadableTransferPayload,
|
type HumanReadableTransferPayload,
|
||||||
} from '@/constants/abacus';
|
} from '@/constants/abacus';
|
||||||
|
|
||||||
import { DEFAULT_TRANSACTION_MEMO } from '@/constants/analytics';
|
|
||||||
import { DialogTypes } from '@/constants/dialogs';
|
import { DialogTypes } from '@/constants/dialogs';
|
||||||
import { UNCOMMITTED_ORDER_TIMEOUT_MS } from '@/constants/trade';
|
import { UNCOMMITTED_ORDER_TIMEOUT_MS } from '@/constants/trade';
|
||||||
import { ENVIRONMENT_CONFIG_MAP, DydxNetwork, isTestnet } from '@/constants/networks';
|
import { ENVIRONMENT_CONFIG_MAP, DydxNetwork, isTestnet } from '@/constants/networks';
|
||||||
@@ -116,8 +115,7 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
{
|
{
|
||||||
broadcastPollIntervalMs: 3_000,
|
broadcastPollIntervalMs: 3_000,
|
||||||
broadcastTimeoutMs: 60_000,
|
broadcastTimeoutMs: 60_000,
|
||||||
},
|
}
|
||||||
DEFAULT_TRANSACTION_MEMO
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -372,8 +370,8 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
value: {
|
value: {
|
||||||
...params.msg,
|
...params.msg,
|
||||||
timeoutTimestamp: params.msg.timeoutTimestamp
|
timeoutTimestamp: params.msg.timeoutTimestamp
|
||||||
? // Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
// Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
||||||
BigInt(Long.fromValue(params.msg.timeoutTimestamp).toString())
|
? BigInt(Long.fromValue(params.msg.timeoutTimestamp).toString())
|
||||||
: undefined,
|
: undefined,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -389,11 +387,7 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ibcMsg.value.token.amount = amount.toString();
|
ibcMsg.value.token.amount = amount.toString();
|
||||||
const tx = await this.nobleClient.send(
|
const tx = await this.nobleClient.send([ibcMsg]);
|
||||||
[ibcMsg],
|
|
||||||
undefined,
|
|
||||||
`${DEFAULT_TRANSACTION_MEMO} | ${this.nobleWallet?.address}`
|
|
||||||
);
|
|
||||||
|
|
||||||
const parsedTx = this.parseToPrimitives(tx);
|
const parsedTx = this.parseToPrimitives(tx);
|
||||||
|
|
||||||
@@ -432,8 +426,8 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
value: {
|
value: {
|
||||||
...parsedIbcPayload.msg,
|
...parsedIbcPayload.msg,
|
||||||
timeoutTimestamp: parsedIbcPayload.msg.timeoutTimestamp
|
timeoutTimestamp: parsedIbcPayload.msg.timeoutTimestamp
|
||||||
? // Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
// Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
||||||
BigInt(Long.fromValue(parsedIbcPayload.msg.timeoutTimestamp).toString())
|
? BigInt(Long.fromValue(parsedIbcPayload.msg.timeoutTimestamp).toString())
|
||||||
: undefined,
|
: undefined,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ export const TradingRewardHistoryTable = ({
|
|||||||
selectionBehavior="replace"
|
selectionBehavior="replace"
|
||||||
withOuterBorder={withOuterBorder}
|
withOuterBorder={withOuterBorder}
|
||||||
withInnerBorders={withInnerBorders}
|
withInnerBorders={withInnerBorders}
|
||||||
initialNumRowsToShow={5}
|
viewMoreConfig={{ initialNumRowsToShow: 5, numRowsPerPage: 10 }}
|
||||||
withScrollSnapColumns
|
withScrollSnapColumns
|
||||||
withScrollSnapRows
|
withScrollSnapRows
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user