@@ -383,8 +383,6 @@ describe("Repeat Event Integration Tests", () => {
|
|||||||
await expectRRule({
|
await expectRRule({
|
||||||
freq: "yearly",
|
freq: "yearly",
|
||||||
interval: 1,
|
interval: 1,
|
||||||
occurrences: 0,
|
|
||||||
endDate: "",
|
|
||||||
});
|
});
|
||||||
expect(mockOnClose).toHaveBeenCalledWith(true);
|
expect(mockOnClose).toHaveBeenCalledWith(true);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export default function RepeatEvent({
|
|||||||
const day = new Date(eventStart);
|
const day = new Date(eventStart);
|
||||||
// derive endOption based on repetition
|
// derive endOption based on repetition
|
||||||
const getEndOption = () => {
|
const getEndOption = () => {
|
||||||
if (repetition.occurrences && repetition.occurrences >= 0) return "after";
|
if (repetition.occurrences && repetition.occurrences > 0) return "after";
|
||||||
if (repetition.endDate) return "on";
|
if (repetition.endDate) return "on";
|
||||||
return "never";
|
return "never";
|
||||||
};
|
};
|
||||||
@@ -171,19 +171,26 @@ export default function RepeatEvent({
|
|||||||
setEndOption(value);
|
setEndOption(value);
|
||||||
|
|
||||||
if (value === "never") {
|
if (value === "never") {
|
||||||
setRepetition({ ...repetition, occurrences: 0, endDate: "" });
|
setRepetition({
|
||||||
|
...repetition,
|
||||||
|
occurrences: null,
|
||||||
|
endDate: null,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (value === "after") {
|
if (value === "after") {
|
||||||
setRepetition({
|
setRepetition({
|
||||||
...repetition,
|
...repetition,
|
||||||
occurrences: 0,
|
occurrences:
|
||||||
endDate: "",
|
repetition.occurrences && repetition.occurrences > 0
|
||||||
|
? repetition.occurrences
|
||||||
|
: 1,
|
||||||
|
endDate: null,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (value === "on") {
|
if (value === "on") {
|
||||||
setRepetition({
|
setRepetition({
|
||||||
...repetition,
|
...repetition,
|
||||||
occurrences: 0,
|
occurrences: null,
|
||||||
endDate: new Date().toISOString().slice(0, 16),
|
endDate: new Date().toISOString().slice(0, 16),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -212,14 +219,15 @@ export default function RepeatEvent({
|
|||||||
<TextField
|
<TextField
|
||||||
type="number"
|
type="number"
|
||||||
size="small"
|
size="small"
|
||||||
value={repetition.occurrences ?? 0}
|
value={repetition.occurrences ?? 1}
|
||||||
onChange={(e) =>
|
onChange={(e) => {
|
||||||
|
const value = Number(e.target.value);
|
||||||
setRepetition({
|
setRepetition({
|
||||||
...repetition,
|
...repetition,
|
||||||
endDate: "",
|
endDate: null,
|
||||||
occurrences: Number(e.target.value),
|
occurrences: value > 0 ? value : 1,
|
||||||
})
|
});
|
||||||
}
|
}}
|
||||||
style={{ width: 100 }}
|
style={{ width: 100 }}
|
||||||
inputProps={{ min: 1, "data-testid": "occurrences-input" }}
|
inputProps={{ min: 1, "data-testid": "occurrences-input" }}
|
||||||
disabled={!isOwn || endOption !== "after"}
|
disabled={!isOwn || endOption !== "after"}
|
||||||
@@ -248,11 +256,11 @@ export default function RepeatEvent({
|
|||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
setRepetition({
|
setRepetition({
|
||||||
...repetition,
|
...repetition,
|
||||||
occurrences: 0,
|
occurrences: null,
|
||||||
endDate: e.target.value,
|
endDate: e.target.value,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
disabled={endOption !== "on"}
|
disabled={!isOwn || endOption !== "on"}
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user