1 | import { useCallback, useEffect, useState } from "react";
|
2 | import dataUpdateEvents from "./dataUpdateEvents";
|
3 | export default function useCurrentRow(dataObject) {
|
4 | const [record, setRecord] = useState(dataObject.currentRow() || {});
|
5 | const updateRecord = useCallback(() => setRecord(dataObject.currentRow()), [dataObject]);
|
6 | useEffect(() => {
|
7 | const recordUpdateEvents = ["onCurrentIndexChanged", ...dataUpdateEvents];
|
8 | recordUpdateEvents.forEach(event => dataObject.attachEvent(event, updateRecord));
|
9 | updateRecord();
|
10 | return () => recordUpdateEvents.forEach(event => dataObject.detachEvent(event, updateRecord));
|
11 | }, [dataObject, updateRecord]);
|
12 | return record;
|
13 | } |
\ | No newline at end of file |