Skip to content

Commit 79d06ec

Browse files
Default toggles to true (#1064)
* make active toggle on project and proponent form active by default * use reset() to set is_active to true * Added safety around setting value to check if it is undefined * refactor to defaulting toggles * default values * default active to true --------- Co-authored-by: Tom Chapman <tchapman000@gmail.com>
1 parent 66e72f5 commit 79d06ec

File tree

5 files changed

+13
-6
lines changed

5 files changed

+13
-6
lines changed

epictrack-web/src/components/project/ProjectForm.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as yup from "yup";
55
import { yupResolver } from "@hookform/resolvers/yup";
66
import { ETFormLabel } from "../shared/index";
77
import codeService, { Code } from "../../services/codeService";
8-
import { Project } from "../../models/project";
8+
import { Project, defaultProject } from "../../models/project";
99
import { Proponent } from "../../models/proponent";
1010
import { Region } from "../../models/region";
1111
import { Type } from "../../models/type";
@@ -67,7 +67,6 @@ export default function ProjectForm({ ...props }) {
6767

6868
React.useEffect(() => {
6969
ctx.setFormId("project-form");
70-
reset({ is_active: true });
7170
}, []);
7271

7372
React.useEffect(() => {
@@ -91,7 +90,7 @@ export default function ProjectForm({ ...props }) {
9190
const formValues = useWatch({ control });
9291

9392
React.useEffect(() => {
94-
reset(ctx.item);
93+
reset(ctx.item ?? defaultProject);
9594
}, [ctx.item]);
9695

9796
React.useEffect(() => {

epictrack-web/src/components/proponent/ProponentForm.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as yup from "yup";
55
import { yupResolver } from "@hookform/resolvers/yup";
66
import { ETFormLabel } from "../shared/index";
77
import { Staff } from "../../models/staff";
8-
import { Proponent } from "../../models/proponent";
8+
import { Proponent, defaultProponent } from "../../models/proponent";
99
import staffService from "../../services/staffService/staffService";
1010
import ControlledSelectV2 from "../shared/controlledInputComponents/ControlledSelectV2";
1111
import { MasterContext } from "../shared/MasterContext";
@@ -40,7 +40,6 @@ export default function ProponentForm({ ...props }) {
4040

4141
React.useEffect(() => {
4242
ctx.setFormId("proponent-form");
43-
reset({ is_active: true });
4443
}, []);
4544
React.useEffect(() => {
4645
const name = (ctx?.item as Proponent)?.name;
@@ -65,7 +64,7 @@ export default function ProponentForm({ ...props }) {
6564
} = methods;
6665

6766
React.useEffect(() => {
68-
reset(ctx.item);
67+
reset(ctx.item ?? defaultProponent);
6968
}, [ctx.item]);
7069

7170
const getStaffs = async () => {

epictrack-web/src/components/shared/MasterContext.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ export const MasterProvider = ({
138138
type: "success",
139139
});
140140
setItem(undefined);
141+
setId(undefined);
141142
setBackdrop(false);
142143
callback();
143144
}

epictrack-web/src/models/project.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,7 @@ export interface Project {
2727
fte_positions_construction: number;
2828
fte_positions_operation: number;
2929
}
30+
31+
export const defaultProject = {
32+
is_active: true,
33+
};

epictrack-web/src/models/proponent.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ export interface Proponent extends ListType, MasterBase {
77
relationship_holder_id?: number;
88
relationship_holder?: Staff;
99
}
10+
11+
export const defaultProponent = {
12+
is_active: true,
13+
};

0 commit comments

Comments
 (0)