Use rv_template_uid for recordview POST (server renamed field)
This commit is contained in:
parent
0fd08c4015
commit
8205cdbef2
@ -103,7 +103,7 @@ export interface RVScreen {
|
||||
id: number;
|
||||
source_screen_id: number;
|
||||
screen_name: string;
|
||||
rv_template_id: number;
|
||||
rv_template_uid: string;
|
||||
layout?: any;
|
||||
}
|
||||
|
||||
@ -148,12 +148,12 @@ export interface RecordViewResponse {
|
||||
}
|
||||
|
||||
export function getRecordView(
|
||||
rvTemplateId: number,
|
||||
rvTemplateUid: string,
|
||||
rvScreenId: string | number,
|
||||
query: SearchQuery = {},
|
||||
): Promise<RecordViewResponse> {
|
||||
return request("POST", `/app/${APP_ID}/view/recordview`, {
|
||||
rv_template_id: rvTemplateId,
|
||||
rv_template_uid: rvTemplateUid,
|
||||
rv_screen_id: String(rvScreenId),
|
||||
search_query: {
|
||||
page: query.page || 1,
|
||||
|
||||
@ -87,7 +87,7 @@ interface Props {
|
||||
|
||||
export default function RecordViewTable({ viewId, onRowClick, toolbarAction }: Props) {
|
||||
const navigate = useNavigate();
|
||||
const [rvTemplateId, setRvTemplateId] = useState<number | null>(null);
|
||||
const [rvTemplateUid, setRvTemplateUid] = useState<string | null>(null);
|
||||
const [fields, setFields] = useState<RecordViewField[]>([]);
|
||||
const [rows, setRows] = useState<Record<string, unknown>[]>([]);
|
||||
const [pagination, setPagination] = useState({ page: 1, limit: 10, total_count: 0, total_pages: 0 });
|
||||
@ -101,17 +101,18 @@ export default function RecordViewTable({ viewId, onRowClick, toolbarAction }: P
|
||||
|
||||
useEffect(() => {
|
||||
setLoading(true);
|
||||
setRvTemplateUid(null);
|
||||
getRVScreen(viewId)
|
||||
.then((rv) => setRvTemplateId(rv.rv_template_id))
|
||||
.then((rv) => setRvTemplateUid(rv.rv_template_uid))
|
||||
.catch((err) => { setError(err.message); setLoading(false); });
|
||||
}, [viewId]);
|
||||
|
||||
const fetchData = useCallback(async () => {
|
||||
if (!rvTemplateId) return;
|
||||
if (!rvTemplateUid) return;
|
||||
if (!loading) setDataLoading(true);
|
||||
setError(null);
|
||||
try {
|
||||
const res = await getRecordView(rvTemplateId, viewId, query);
|
||||
const res = await getRecordView(rvTemplateUid, viewId, query);
|
||||
setFields(res.config.fields.filter((f) => f.field_key !== ""));
|
||||
const dataRows = Array.isArray(res.data) ? res.data : [];
|
||||
setRows(dataRows);
|
||||
@ -122,7 +123,7 @@ export default function RecordViewTable({ viewId, onRowClick, toolbarAction }: P
|
||||
}
|
||||
} catch (err: any) { setError(err.message); }
|
||||
finally { setLoading(false); setDataLoading(false); }
|
||||
}, [rvTemplateId, viewId, query]);
|
||||
}, [rvTemplateUid, viewId, query]);
|
||||
|
||||
useEffect(() => { fetchData(); }, [fetchData]);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user