feat(table): load bank accounts data with initial selection state
This commit is contained in:
+10
-5
@@ -9,15 +9,20 @@ interface BankAccount {
|
|||||||
Credit: number;
|
Credit: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
const BankAccounts: BankAccount[] = [
|
const initialBankAccounts: BankAccount[] = [
|
||||||
{ Selection: 0, Number: "1001", Order: 0, Debit: 0, Credit: 750000.0 },
|
{ Selection: 1, Number: "1001", Order: 1, Debit: 0, Credit: 750000.0 },
|
||||||
{ Selection: 0, Number: "1002", Order: 0, Debit: 0, Credit: 1500000.0 },
|
{ Selection: 0, Number: "1002", Order: 0, Debit: 0, Credit: 1500000.0 },
|
||||||
{ Selection: 0, Number: "1003", Order: 0, Debit: 0, Credit: 140000.0 },
|
{ Selection: 1, Number: "1003", Order: 2, Debit: 0, Credit: 140000.0 },
|
||||||
{ Selection: 0, Number: "1004", Order: 0, Debit: 0, Credit: 170000.0 },
|
{ Selection: 0, Number: "1004", Order: 0, Debit: 0, Credit: 170000.0 },
|
||||||
];
|
];
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
const [selectedNumbers, setSelectedNumbers] = useState<string[]>([]);
|
const [selectedNumbers, setSelectedNumbers] = useState<string[]>(() =>
|
||||||
|
initialBankAccounts
|
||||||
|
.filter((a) => a.Selection === 1)
|
||||||
|
.sort((a, b) => a.Order - b.Order)
|
||||||
|
.map((a) => a.Number),
|
||||||
|
);
|
||||||
|
|
||||||
const toggleRow = (number: string) => {
|
const toggleRow = (number: string) => {
|
||||||
setSelectedNumbers((prev) =>
|
setSelectedNumbers((prev) =>
|
||||||
@@ -27,7 +32,7 @@ export default function App() {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const rows = BankAccounts.map((account) => {
|
const rows = initialBankAccounts.map((account) => {
|
||||||
const index = selectedNumbers.indexOf(account.Number);
|
const index = selectedNumbers.indexOf(account.Number);
|
||||||
const isSelected = index !== -1;
|
const isSelected = index !== -1;
|
||||||
const order = isSelected ? index + 1 : 0;
|
const order = isSelected ? index + 1 : 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user