Skip to content

Commit a33b12b

Browse files
PR comments
1 parent b5bf784 commit a33b12b

File tree

10 files changed

+57
-58
lines changed

10 files changed

+57
-58
lines changed

src/components/projects/projectId/playground/EvaluationGroups.tsx

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,23 @@ export function EvaluationGroups() {
2626

2727
const usersDict = useMemo(() => arrayToDict(users, 'id'), [users]);
2828

29+
const projectIdRef = useRef(projectId);
2930
useEffect(() => {
30-
if (!projectId) return;
31+
if (!projectIdRef.current) return;
3132
if (isFetchingEvalGroups.current) return;
3233
isFetchingEvalGroups.current = true
33-
getEvaluationGroups(projectId, (res) => {
34+
getEvaluationGroups(projectIdRef.current, (res) => {
3435
setEvaluationGroups(res);
3536
isFetchingEvalGroups.current = false
3637
});
37-
}, [projectId]);
38+
}, []);
3839

3940
const refetchEvaluationGroups = useCallback(() => {
40-
getEvaluationGroups(projectId, (res) => {
41+
getEvaluationGroups(projectIdRef.current, (res) => {
4142
setEvaluationGroups(res);
4243
setSelectedEvaluationGroups(new Set<string>());
4344
});
44-
}, [projectId]);
45+
}, []);
4546

4647
const toggleAll = useCallback(() => {
4748
if (!evaluationGroups || evaluationGroups.length === 0) return;
@@ -52,22 +53,24 @@ export function EvaluationGroups() {
5253

5354
const viewSetsModal = useCallback((groupId: string) => {
5455
let setsArr = [];
55-
getEvaluationSetsByGroupId(projectId, groupId, (res) => {
56+
getEvaluationSetsByGroupId(projectIdRef.current, groupId, (res) => {
5657
setsArr = res;
57-
dispatch(setModalStates(ModalEnum.VIEW_EVALUATION_GROUP, { open: true, sets: setsArr }));
58+
dispatch(setModalStates(ModalEnum.VIEW_EVALUATION_GROUP, { open: true, sets: res }));
5859
});
59-
}, [projectId]);
60+
}, []);
6061

6162
const preparedValues = useMemo(() => {
6263
if (!evaluationGroups) return null;
6364
return prepareTableBodyEvaluationGroups(evaluationGroups, selectedEvaluationGroups, setSelectedEvaluationGroups, usersDict, viewSetsModal);
64-
}, [evaluationGroups, selectedEvaluationGroups, setSelectedEvaluationGroups, usersDict]);
65+
}, [evaluationGroups, selectedEvaluationGroups, setSelectedEvaluationGroups, usersDict, viewSetsModal]);
6566

66-
const finalHeaders = useMemo(() => EVALUATION_GROUPS_TABLE_HEADER.map((group) => {
67-
if (!selectedEvaluationGroups || !evaluationGroups) return;
68-
if (group.id === "checkboxes") return { ...group, checked: selectedEvaluationGroups.size === evaluationGroups.length, onChange: toggleAll };
69-
return group;
70-
}), [selectedEvaluationGroups, evaluationGroups]);
67+
const finalHeaders = useMemo(() => {
68+
if (!evaluationGroups || !selectedEvaluationGroups) return null;
69+
return EVALUATION_GROUPS_TABLE_HEADER.map((group) => {
70+
if (group.id === "checkboxes") return { ...group, checked: selectedEvaluationGroups.size === evaluationGroups.length, onChange: toggleAll };
71+
return group;
72+
});
73+
}, [evaluationGroups, selectedEvaluationGroups, toggleAll]);
7174

7275
return <>
7376
{projectId != null && <div className="p-4 bg-gray-100 h-full flex-1 flex flex-col overflow-y-auto">

src/components/projects/projectId/playground/EvaluationRuns.tsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,15 @@ export default function EvaluationRuns() {
6969
const preparedValues = useMemo(() => {
7070
if (!evaluationRuns) return null;
7171
return prepareTableBodyEvaluationRun(evaluationRuns, usersDict, embeddingsDict, evaluationDict, navigateToDetails, selectedEvaluationRuns, setSelectedEvaluationRuns);
72-
}, [evaluationRuns, usersDict, embeddingsDict, evaluationDict, selectedEvaluationRuns, setSelectedEvaluationRuns]);
72+
}, [evaluationRuns, usersDict, embeddingsDict, evaluationDict, selectedEvaluationRuns, setSelectedEvaluationRuns, navigateToDetails]);
7373

74-
const finalHeaders = useMemo(() => EVALUATION_RUN_TABLE_HEADER.map((run) => {
75-
if (!selectedEvaluationRuns || !evaluationRuns) return;
76-
if (run.id === "checkboxes") return { ...run, checked: selectedEvaluationRuns.size === evaluationRuns.length, onChange: toggleAll };
77-
return run;
78-
}), [selectedEvaluationRuns, evaluationRuns]);
74+
const finalHeaders = useMemo(() => {
75+
if (!evaluationRuns || !selectedEvaluationRuns) return null;
76+
return EVALUATION_RUN_TABLE_HEADER.map((run) => {
77+
if (run.id === "checkboxes") return { ...run, checked: selectedEvaluationRuns.size === evaluationRuns.length, onChange: toggleAll };
78+
return run;
79+
})
80+
}, [selectedEvaluationRuns, evaluationRuns, toggleAll]);
7981

8082
return <>
8183
{projectId != null && <div className="p-4 bg-gray-100 h-full flex-1 flex flex-col overflow-y-auto">

src/components/projects/projectId/playground/EvaluationSets.tsx

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { EVALUATION_SETS_TABLE_CONFIG, EVALUATION_SETS_TABLE_HEADER, prepareTabl
1414
import KernButton from "@/submodules/react-components/components/kern-button/KernButton";
1515
import { selectAllUsers } from "@/src/reduxStore/states/general";
1616
import { arrayToDict } from "@/submodules/javascript-functions/general";
17+
import useRefFor from "@/submodules/react-components/hooks/useRefFor";
1718

1819
export function EvaluationSets() {
1920
const dispatch = useDispatch();
@@ -26,17 +27,18 @@ export function EvaluationSets() {
2627
const [checked, setChecked] = useState(false)
2728
const [selectedEvaluationSets, setSelectedEvaluationSets] = useState(new Set<string>());
2829

30+
const projectIdRef = useRefFor(projectId);
2931
useEffect(() => {
30-
if (!projectId) return;
31-
getEvaluationSets(projectId, (res) => setEvaluationSets(res));
32-
}, [projectId]);
32+
if (!projectIdRef.current) return;
33+
getEvaluationSets(projectIdRef.current, (res) => setEvaluationSets(res));
34+
}, []);
3335

3436
const refetchEvaluationSets = useCallback(() => {
35-
getEvaluationSets(projectId, (res) => {
37+
getEvaluationSets(projectIdRef.current, (res) => {
3638
setEvaluationSets(res);
3739
setSelectedEvaluationSets(new Set<string>());
3840
});
39-
}, [projectId]);
41+
}, []);
4042

4143
const toggleAll = useCallback(() => {
4244
if (!evaluationSets || evaluationSets.length === 0) return;
@@ -47,25 +49,26 @@ export function EvaluationSets() {
4749

4850
const viewEvalSetRecordsModal = useCallback((recordIds: any[], question) => {
4951
let recordsArr = [];
50-
getRecordsBatch(projectId, { recordIds: recordIds }, (recordsBatch) => {
52+
getRecordsBatch(projectIdRef.current, { recordIds: recordIds }, (recordsBatch) => {
5153
recordsBatch.forEach((record) => {
5254
recordsArr = [...recordsArr, postProcessRecordByRecordId(record)];
5355
});
5456
dispatch(setModalStates(ModalEnum.VIEW_EVALUATION_SET, { open: true, records: recordsArr, question: question }));
5557
});
56-
}, [projectId]);
58+
}, []);
5759

5860
const preparedValues = useMemo(() => {
5961
if (!evaluationSets) return null;
6062
return prepareTableBodyEvaluationSets(evaluationSets, selectedEvaluationSets, setSelectedEvaluationSets, usersDict, viewEvalSetRecordsModal);
61-
}, [evaluationSets, selectedEvaluationSets, setSelectedEvaluationSets, usersDict]);
63+
}, [evaluationSets, selectedEvaluationSets, setSelectedEvaluationSets, usersDict, viewEvalSetRecordsModal]);
6264

63-
const finalHeaders = useMemo(() => EVALUATION_SETS_TABLE_HEADER.map((set) => {
65+
const finalHeaders = useMemo(() => {
6466
if (!selectedEvaluationSets || !evaluationSets) return;
65-
if (set.id === "checkboxes") return { ...set, checked: selectedEvaluationSets.size === evaluationSets.length, onChange: toggleAll };
66-
return set;
67-
}), [selectedEvaluationSets, evaluationSets]);
68-
67+
return EVALUATION_SETS_TABLE_HEADER.map((set) => {
68+
if (set.id === "checkboxes") return { ...set, checked: selectedEvaluationSets.size === evaluationSets.length, onChange: toggleAll };
69+
return set;
70+
});
71+
}, [selectedEvaluationSets, evaluationSets, toggleAll]);
6972

7073
return <>
7174
{projectId != null && <div className="p-4 bg-gray-100 h-full flex-1 flex flex-col overflow-y-auto">

src/components/shared/sidebar/VersionOverviewModal.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import { MemoIconArrowRight } from "@/submodules/react-components/components/ker
1313
export default function VersionOverviewModal() {
1414
const versionOverviewData = useSelector(selectCachedValue(CacheEnum.VERSION_OVERVIEW));
1515

16-
const preparedValues = useMemo(() => {
17-
if (!versionOverviewData) return [];
18-
return prepareTableBodyVersionOverview(versionOverviewData);
19-
}, [versionOverviewData]);
16+
const preparedValues = useMemo(() => prepareTableBodyVersionOverview(versionOverviewData), [versionOverviewData])
2017

2118
return (<Modal modalName={ModalEnum.VERSION_OVERVIEW}>
2219
<div className="inline-block justify-center text-lg leading-6 text-gray-900 font-medium">

src/util/shared/sidebar-helper.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
import { VersionOverview } from "@/src/types/shared/sidebar";
2-
import { parseUTC } from "@/submodules/javascript-functions/date-parser";
3-
import { jsonCopy } from "@/submodules/javascript-functions/general";
42

53
export default function postprocessVersionOverview(versionOverview: VersionOverview[]): VersionOverview[] {
6-
const prepareVersionOverview = jsonCopy(versionOverview);
7-
prepareVersionOverview.forEach((version: any) => {
8-
version.parseDate = parseUTC(version.lastChecked);
9-
});
10-
return prepareVersionOverview.sort((a, b) => a.service.localeCompare(b.service));;
4+
return versionOverview.sort((a, b) => a.service.localeCompare(b.service));;
115
}

src/util/table-preparations/evaluation-groups.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { EvaluationGroup } from "@/src/types/components/projects/projectId/settings/playground";
22
import { parseUTC } from "@/submodules/javascript-functions/date-parser";
3-
import { toTableColumnCheckbox, toTableColumnComponent, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
3+
import { toTableColumnCheckbox, toTableColumnComponent, toTableColumnDate, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
44
import { Dispatch } from "react";
55

66
export const EVALUATION_GROUPS_TABLE_HEADER = [
@@ -23,7 +23,7 @@ export function prepareTableBodyEvaluationGroups(evaluationGroups: EvaluationGro
2323
return newSet;
2424
})),
2525
toTableColumnText(group.name),
26-
toTableColumnText(parseUTC(group.createdAt)),
26+
toTableColumnDate(group.createdAt),
2727
toTableColumnText(`${usersDict[group.createdBy]?.firstName} ${usersDict[group.createdBy]?.lastName}`),
2828
toTableColumnComponent('ViewCell', undefined, { onClick: () => openModal(group.id) })
2929
]);

src/util/table-preparations/evaluation-runs.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { EvaluationRun } from "@/src/types/components/projects/projectId/settings/playground";
22
import { parseUTC } from "@/submodules/javascript-functions/date-parser";
3-
import { toTableColumnCheckbox, toTableColumnComponent, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
3+
import { toTableColumnCheckbox, toTableColumnComponent, toTableColumnDate, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
44
import { EvaluationRunState } from "@/submodules/react-components/types/evaluationRun";
55
import { Dispatch } from "react";
66

@@ -27,7 +27,7 @@ export function prepareTableBodyEvaluationRun(evaluationRuns: EvaluationRun[], u
2727
})),
2828
toTableColumnText(embeddingsDict[run.embeddingId]?.name),
2929
toTableColumnText(evaluationGroupsDict[run.evaluationGroupId]?.name),
30-
toTableColumnText(parseUTC(run.createdAt)),
30+
toTableColumnDate(run.createdAt),
3131
toTableColumnText(`${usersDict[run.createdBy]?.firstName} ${usersDict[run.createdBy]?.lastName}`),
3232
toTableColumnComponent('EvaluationRunStateCell', undefined, { value: run.state }),
3333
toTableColumnComponent('EvaluationRunDetailsCell', undefined, {

src/util/table-preparations/evaluation-sets.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { EvaluationSet } from "@/src/types/components/projects/projectId/settings/playground";
22
import { parseUTC } from "@/submodules/javascript-functions/date-parser";
3-
import { toTableColumnCheckbox, toTableColumnComponent, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
3+
import { toTableColumnCheckbox, toTableColumnComponent, toTableColumnDate, toTableColumnNumber, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
44
import { Dispatch } from "react";
55

66
export const EVALUATION_SETS_TABLE_HEADER = [
@@ -25,9 +25,9 @@ export function prepareTableBodyEvaluationSets(evaluationSets: EvaluationSet[],
2525
return newSet;
2626
})),
2727
toTableColumnText(set.question.length > MAX_QUESTION_SHOW ? set.question.slice(0, MAX_QUESTION_SHOW) + '...' : set.question),
28-
toTableColumnText(parseUTC(set.createdAt)),
28+
toTableColumnDate(set.createdAt),
2929
toTableColumnText(`${usersDict[set.createdBy]?.firstName} ${usersDict[set.createdBy]?.lastName}`),
30-
toTableColumnText(String(set.recordIds?.length)),
30+
toTableColumnNumber(set.recordIds?.length),
3131
toTableColumnComponent('ViewCell', undefined, { onClick: () => openModal(set.recordIds, set.question) })
3232
]);
3333
}

src/util/table-preparations/heuristic-statistics.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { toTableColumnComponent, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
1+
import { toTableColumnComponent, toTableColumnNumber, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
22

33
export const HEURISTICS_STATISTICS_TABLE_COLUMNS = [
44
{ column: 'Label', id: 'label' },
@@ -17,10 +17,10 @@ export function prepareTableBodyHeuristicStatistics(stats) {
1717
toTableColumnComponent('LabelCell', undefined, { sourceContainer: stat }),
1818
toTableColumnText(stat.values.Precision),
1919
toTableColumnText(stat.values.Recall),
20-
toTableColumnText(stat.values.Coverage),
21-
toTableColumnText(stat.values.TotalHits),
22-
toTableColumnText(stat.values.Conflicts),
23-
toTableColumnText(stat.values.Overlaps),
20+
toTableColumnNumber(stat.values.Coverage),
21+
toTableColumnNumber(stat.values.TotalHits),
22+
toTableColumnNumber(stat.values.Conflicts),
23+
toTableColumnNumber(stat.values.Overlaps),
2424
])
2525

2626
}

src/util/table-preparations/version-overview.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { VersionOverview } from "@/src/types/shared/sidebar";
2-
import { toTableColumnComponent, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
2+
import { toTableColumnComponent, toTableColumnDate, toTableColumnText } from "@/submodules/react-components/helpers/kern-table-helper";
33

44
export const VERSION_OVERVIEW_TABLE_COLUMNS = [
55
{ column: 'Service', id: 'service' },
@@ -15,7 +15,7 @@ export function prepareTableBodyVersionOverview(versionOverview: VersionOverview
1515
toTableColumnText(element.service),
1616
toTableColumnText(element.installedVersion),
1717
toTableColumnComponent('RemoteVersionCell', undefined, { service: element }),
18-
toTableColumnText(element.parseDate),
18+
toTableColumnDate(element.lastChecked),
1919
toTableColumnComponent('ExternalLinkCell', undefined, { link: element.link })
2020
]);
2121
}

0 commit comments

Comments
 (0)