Skip to content

Commit c844025

Browse files
committed
Merge branch 'main' into i190
# Conflicts: # src/Components/Event/EventEditor.tsx
2 parents 239abc1 + 6a68a12 commit c844025

4 files changed

Lines changed: 32 additions & 35 deletions

File tree

src/Components/Event/EventEditor.tsx

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { useEditForm } from "./useEditForm";
2020
*
2121
* @author Aloento
2222
* @since 1.0.0
23-
* @version 0.2.0
23+
* @version 0.2.1
2424
*/
2525
export function EventEditor({ Event }: { Event: Models.IEvent }) {
2626
const { State, Actions, Validation, OnSubmit, Loading } = useEditForm(Event);
@@ -47,15 +47,6 @@ export function EventEditor({ Event }: { Event: Models.IEvent }) {
4747
e.preventDefault();
4848
OnSubmit().then(() => setFalse());
4949
}}>
50-
<ScaleTextField
51-
placeholder="Please give the title of event"
52-
required
53-
label="Title"
54-
value={State.title}
55-
onScale-input={(e) => Actions.setTitle(e.target.value as string)}
56-
invalid={!!Validation.title}
57-
helperText={Validation.title}
58-
/>
5950

6051
<ScaleDropdownSelect
6152
label="Type"
@@ -71,6 +62,16 @@ export function EventEditor({ Event }: { Event: Models.IEvent }) {
7162
</ScaleDropdownSelectItem>)}
7263
</ScaleDropdownSelect>
7364

65+
<ScaleTextField
66+
placeholder="Please give the title of event"
67+
required
68+
label="Title"
69+
value={State.title}
70+
onScale-input={(e) => Actions.setTitle(e.target.value as string)}
71+
invalid={!!Validation.title}
72+
helperText={Validation.title}
73+
/>
74+
7475
<ScaleDropdownSelect
7576
label="Status"
7677
value={State.status}
@@ -98,7 +99,7 @@ export function EventEditor({ Event }: { Event: Models.IEvent }) {
9899
<ScaleTextField
99100
type="datetime-local"
100101
label="(Plan) End CET"
101-
required={State.type === EventType.Maintenance}
102+
disabled={!(!IsIncident(State.type) || (State.status && !IsOpenStatus(State.status)))}
102103
value={State.end ? dayjs(State.end).format(Dic.Picker) : null}
103104
onScale-input={(e) => Actions.setEnd(new Date(e.target.value as string))}
104105
invalid={!!Validation.end}

src/Components/Event/useEditForm.ts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { EventStatus, EventType, GetEventImpact, GetStatusString, IsIncident, Is
2323
*
2424
* @author Aloento
2525
* @since 1.0.0
26-
* @version 0.2.0
26+
* @version 0.2.1
2727
*/
2828
export function useEditForm(event: Models.IEvent) {
2929
const [title, _setTitle] = useState(event.Title);
@@ -60,12 +60,8 @@ export function useEditForm(event: Models.IEvent) {
6060
return false;
6161
}
6262

63-
if (!IsIncident(type) && IsIncident(value)) {
64-
_setStatus(EventStatus.Analysing);
65-
}
66-
67-
if (IsIncident(type) && !IsIncident(value)) {
68-
_setStatus(EventStatus.Planned);
63+
if (type !== value) {
64+
_setStatus(undefined);
6965
}
7066

7167
_setType(value);
@@ -95,7 +91,7 @@ export function useEditForm(event: Models.IEvent) {
9591
return !err;
9692
}
9793

98-
const [status, _setStatus] = useState(event.Status);
94+
const [status, _setStatus] = useState<EventStatus | undefined>();
9995
const [valStatus, setValStatus] = useState<string>();
10096
function setStatus(value = status) {
10197
if (!value) {
@@ -156,7 +152,7 @@ export function useEditForm(event: Models.IEvent) {
156152
function setUpdateAt(value = updateAt) {
157153
let err: boolean = false;
158154

159-
if (value && value < start) {
155+
if (IsIncident(type) && value && value < start) {
160156
setValUpdateAt("Update Date cannot be earlier than Start Date.");
161157
err = true;
162158
}
@@ -179,12 +175,11 @@ export function useEditForm(event: Models.IEvent) {
179175
if (![setTitle(), setType(), setUpdate(), setStatus(), setStart(), setEnd(), setUpdateAt()].every(Boolean)) {
180176
throw new Error("Validation failed.");
181177
}
182-
183178
const url = process.env.SD_BACKEND_URL!;
184179

185180
const body: Record<string, any> = {
186181
title,
187-
status: GetStatusString(status),
182+
status: GetStatusString(status!),
188183
impact: GetEventImpact(type),
189184
message: update,
190185
update_date: updateAt.toISOString(),
@@ -230,15 +225,15 @@ export function useEditForm(event: Models.IEvent) {
230225
const updatedEvent = { ...DB.Events[eventIndex] };
231226
updatedEvent.Title = title;
232227
updatedEvent.Type = type;
233-
updatedEvent.Status = status;
228+
updatedEvent.Status = status!;
234229
updatedEvent.Start = start;
235230
updatedEvent.End = end;
236231

237232
const newHistory: Models.IHistory = {
238233
Id: Math.max(...Array.from(updatedEvent.Histories).map(h => h.Id), 0) + 1,
239234
Message: update,
240235
Created: updateAt,
241-
Status: status,
236+
Status: status!,
242237
Event: updatedEvent
243238
};
244239
updatedEvent.Histories.add(newHistory);

src/Components/New/NewForm.tsx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,6 @@ export function NewForm() {
3636
OnSubmit();
3737
}}
3838
>
39-
<ScaleTextField
40-
placeholder="Please give the title of event"
41-
required
42-
label="Title"
43-
value={State.title}
44-
onScale-input={(e) => Actions.setTitle(e.target.value as string)}
45-
invalid={!!Validation.title}
46-
helperText={Validation.title}
47-
/>
4839

4940
<ScaleDropdownSelect
5041
label="Type"
@@ -59,6 +50,16 @@ export function NewForm() {
5950
</ScaleDropdownSelectItem>)}
6051
</ScaleDropdownSelect>
6152

53+
<ScaleTextField
54+
placeholder="Please give the title of event"
55+
required
56+
label="Title"
57+
value={State.title}
58+
onScale-input={(e) => Actions.setTitle(e.target.value as string)}
59+
invalid={!!Validation.title}
60+
helperText={Validation.title}
61+
/>
62+
6263
<ScaleTextarea
6364
placeholder="If there is any known information, please write it down here."
6465
resize="vertical"

src/Components/New/useNewForm.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ export function useNewForm() {
7070
function setDescription(value = description) {
7171
let err: boolean = false;
7272

73-
if (value && (value.length < 10 || value.length > 200)) {
74-
setValDescription("Description must be between 10 and 200 characters.");
73+
if (value && (value.length < 10 || value.length > 500)) {
74+
setValDescription("Description must be between 10 and 500 characters.");
7575
err = true;
7676
}
7777

0 commit comments

Comments
 (0)