mirror of
https://github.com/rowyio/rowy.git
synced 2026-09-02 04:00:17 +02:00
36 lines
1021 B
TypeScript
36 lines
1021 B
TypeScript
import { useLocation } from "react-router-dom";
|
|
|
|
import { ROUTES } from "@src/constants/routes";
|
|
import { ColumnConfig, TableRow, TableRowRef } from "@src/types/table";
|
|
import get from "lodash-es/get";
|
|
|
|
export const useSubTableData = (
|
|
column: ColumnConfig,
|
|
row: TableRow,
|
|
_rowy_ref: TableRowRef
|
|
) => {
|
|
const label = (column.config?.parentLabel ?? []).reduce((acc, curr) => {
|
|
if (acc !== "") return `${acc} - ${get(row, curr)}`;
|
|
else return get(row, curr);
|
|
}, "");
|
|
|
|
const documentCount: string = row[column.fieldName]?.count ?? "";
|
|
|
|
const location = useLocation();
|
|
const rootTablePath = decodeURIComponent(
|
|
location.pathname.split("/" + ROUTES.subTable)[0]
|
|
);
|
|
|
|
// Get params from URL: /table/:tableId/subTable/:docPath/:subTableKey
|
|
let subTablePath = [
|
|
rootTablePath,
|
|
ROUTES.subTable,
|
|
encodeURIComponent(_rowy_ref.path),
|
|
column.key,
|
|
].join("/");
|
|
|
|
subTablePath += "?parentLabel=" + encodeURIComponent(label ?? "");
|
|
|
|
return { documentCount, label, subTablePath };
|
|
};
|