Skip to content

Commit e904fda

Browse files
feat: #2283 Add new activity UI (#2312)
1 parent a649b9b commit e904fda

File tree

26 files changed

+743
-227
lines changed

26 files changed

+743
-227
lines changed

frontend/src/api-service/ApiConfig.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ const ApiConfig = {
6767

6868
testCodes: `${oracleServerHost}/api/test-codes`,
6969

70-
activities: `${oracleServerHost}/api/activities`
70+
activities: `${oracleServerHost}/api/activities`,
71+
72+
requestSeedLotAndVegLot: `${oracleServerHost}/api/request-seedlot-and-veglot`
7173
};
7274

7375
export default ApiConfig;

frontend/src/api-service/consep/testCodesAPI.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import ApiConfig from '../ApiConfig';
22
import api from '../api';
33

4-
import { TestCodeType, ActivityIdType } from '../../types/consep/TestingSearchType';
4+
import { TestCodeType, ActivityIdType, ActivityRiaSkeyType } from '../../types/consep/TestingSearchType';
55

66
export const getTestTypeCodes = () => {
77
const url = `${ApiConfig.testCodes}/type`;
@@ -27,3 +27,13 @@ export const getActivityIds = () => {
2727
const url = `${ApiConfig.activities}/ids`;
2828
return api.get(url).then((res: { data: ActivityIdType[] }) => res.data);
2929
};
30+
31+
export const getActivityRiaSkeys = (requestSkey: number, itemId: string) => {
32+
const url = `${ApiConfig.activities}/request/${requestSkey}/item/${itemId}`;
33+
return api.get(url).then((res: { data: ActivityRiaSkeyType[] }) => res.data);
34+
};
35+
36+
export const getActivityDurationUnits = () => {
37+
const url = `${ApiConfig.testCodes}/activity-duration-units`;
38+
return api.get(url).then((res: { data: string[] }) => res.data);
39+
};
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import ApiConfig from './ApiConfig';
2+
import api from './api';
3+
4+
const isCommitmentIndicatorYes = (requestSkey: number, itemId: string) => {
5+
const url = `${ApiConfig.requestSeedLotAndVegLot}/commitment/${requestSkey}/${itemId}`;
6+
return api.get(url).then((res: { data: boolean }) => res.data);
7+
};
8+
9+
export default isCommitmentIndicatorYes;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import React from 'react';
2+
import './styles.scss';
3+
4+
const RequiredFormFieldLabel = ({ text }: { text: string }) => (
5+
<>
6+
<b className="required-asterisk">*</b>
7+
{text}
8+
</>
9+
);
10+
11+
export default RequiredFormFieldLabel;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@use '@bcgov-nr/nr-theme/design-tokens/variables.scss' as vars;
2+
3+
.required-asterisk {
4+
color: var(--#{vars.$bcgov-prefix}-support-error);
5+
margin-right: 0.25rem;
6+
}

frontend/src/types/consep/TestingSearchType.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,8 @@ export type ActivityIdType = {
5050
standardActivityId: string;
5151
activityDescription: string;
5252
};
53+
54+
export type ActivityRiaSkeyType = {
55+
riaSkey: number;
56+
activityDescription: string;
57+
};

frontend/src/views/CONSEP/TestingActivities/TestSearch/AdvancedFilter/index.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import { getRequestTypes, getTestCategoryCodes } from '../../../../../api-servic
2525
import type { TestCodeType } from '../../../../../types/consep/TestingSearchType';
2626
import {
2727
advDateTypes, DATE_FORMAT, errorMessages, initialErrorValue, maxEndDate,
28-
minStartDate, SAFE_MARGIN, testRanks
28+
minStartDate, SAFE_MARGIN, testRanks, toSelectedItemString
2929
} from '../constants';
3030
import { THREE_HALF_HOURS, THREE_HOURS } from '../../../../../config/TimeUnits';
3131
import { ActivitySearchRequest, ActivitySearchValidation } from '../definitions';
@@ -335,8 +335,6 @@ const AdvancedFilters = ({
335335
v: string | number | undefined | null
336336
) => (v === undefined || v === null ? '' : String(v));
337337

338-
const toSelectedItemString = (v?: string | null) => (v ?? null);
339-
340338
const clearFilters = () => {
341339
setSearchParams((prev) => ({
342340
...prev,

frontend/src/views/CONSEP/TestingActivities/TestSearch/TestListTable.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,9 @@ const TestListTable = ({
130130
'.MuiPaper-root'
131131
]}
132132
>
133-
{showAddActivity && tableRef.current && <AddActivity table={tableRef.current} />}
133+
{showAddActivity
134+
&& tableRef.current
135+
&& <AddActivity table={tableRef.current} closeModal={() => setShowAddActivity(false)} />}
134136
</Modal>
135137
<Row className="concep-test-search-table">
136138
<GenericTable
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
export type AddActivityRequest = {
2+
standardActivityId: string;
3+
activityTypeCd?: string;
4+
testCategoryCd?: string;
5+
associatedRiaKey?: number;
6+
plannedStartDate: string;
7+
plannedEndDate: string;
8+
revisedStartDate?: string;
9+
revisedEndDate?: string;
10+
activityDuration: number;
11+
activityTimeUnit: string;
12+
significantStatusIndicator: 0 | -1;
13+
processCommitIndicator: 0 | -1;
14+
requestSkey: number;
15+
requestId: string;
16+
itemId: string;
17+
vegetationState: string;
18+
seedlotNumber?: string;
19+
familyLotNumber?: string;
20+
};

0 commit comments

Comments
 (0)