Skip to content

Commit f95dedd

Browse files
authored
temp (#1859)
* temp * remove debug statements * lint errors
1 parent 86f96dd commit f95dedd

8 files changed

Lines changed: 26 additions & 8 deletions

File tree

packages/smart-forms-renderer/src/components/FormComponents/RepeatGroup/RemoveItemButton.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ interface RemoveItemButtonProps {
2929
}
3030

3131
function RemoveItemButton(props: RemoveItemButtonProps) {
32-
const { nullableQrItem, numOfRepeatGroups, readOnly, onRemoveItem } = props;
32+
const { nullableQrItem, readOnly, onRemoveItem } = props;
3333

34-
const isDisabled = nullableQrItem === null || numOfRepeatGroups === 1 || readOnly;
34+
const isDisabled = nullableQrItem === null || readOnly;
3535

3636
return (
3737
<RepeatRemoveTooltip title="Remove item">

packages/smart-forms-renderer/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ function RepeatGroup(props: RepeatGroupProps) {
8989
const newLastItemIndex = repeatGroups.length;
9090
mutateRepeatEnableWhenItems(qItem.linkId, newLastItemIndex, 'remove');
9191

92+
if (updatedRepeatGroups.length === 0) {
93+
mutateRepeatEnableWhenItems(qItem.linkId, 0, 'add');
94+
updatedRepeatGroups.push({ id: generateNewRepeatId(qItem.linkId), qrItem: null });
95+
}
96+
9297
setRepeatGroups(updatedRepeatGroups);
9398

9499
onQrRepeatGroupChange({

packages/smart-forms-renderer/src/components/FormComponents/RepeatGroup/RepeatGroupView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ function RepeatGroupView(props: RepeatGroupViewProps) {
138138
cardElevation={groupCardElevation}
139139
isRepeated={true}
140140
style={parentStyles || undefined}>
141-
<Card elevation={groupCardElevation} sx={{ p: 3, py: 1.5, mb: 2.5 }}>
141+
<Card elevation={groupCardElevation} sx={{ p: 3, py: 1.5, mt: 2.5 }}>
142142
{itemTextToDisplay ? (
143143
<>
144144
<GroupHeading

packages/smart-forms-renderer/src/components/FormComponents/RepeatItem/RemoveItemButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ interface RemoveItemButtonProps {
2929
}
3030

3131
function RemoveItemButton(props: RemoveItemButtonProps) {
32-
const { answer, numOfRepeatAnswers, readOnly, onRemoveAnswer } = props;
32+
const { answer, readOnly, onRemoveAnswer, numOfRepeatAnswers } = props;
3333

3434
const isDisabled = answer === null || numOfRepeatAnswers === 1 || readOnly;
3535

packages/smart-forms-renderer/src/components/FormComponents/RepeatItem/RepeatItem.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ function RepeatItem(props: RepeatItemProps) {
7070

7171
updatedRepeatAnswers.splice(index, 1);
7272

73+
if (updatedRepeatAnswers.length === 0) {
74+
onQrItemChange({ ...createEmptyQrItem(qItem, undefined) });
75+
return;
76+
}
77+
7378
onQrItemChange({
7479
...createEmptyQrItem(qItem, undefined),
7580
answer: updatedRepeatAnswers.flatMap((repeatAnswer) => (repeatAnswer ? [repeatAnswer] : []))

packages/smart-forms-renderer/src/components/FormComponents/Tables/AddRowButton.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ interface AddItemButtonProps {
3030
function AddRowButton(props: AddItemButtonProps) {
3131
const { repeatGroups, readOnly, onAddItem } = props;
3232

33-
const isDisabled = repeatGroups[repeatGroups.length - 1].qrItem === null || readOnly;
33+
const lastGroup = repeatGroups[repeatGroups.length - 1];
34+
const isDisabled = (lastGroup !== undefined && lastGroup.qrItem === null) || readOnly;
3435

3536
return (
3637
<Box display="flex" flexDirection="row-reverse">

packages/smart-forms-renderer/src/components/FormComponents/Tables/GroupTable.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,19 @@ function GroupTable(props: GroupTableProps) {
158158
}
159159

160160
function handleRemoveRow(index: number) {
161-
const updatedTableRows = [...tableRows];
161+
let updatedTableRows = [...tableRows];
162162

163163
const rowToRemove = updatedTableRows[index];
164164
const updatedSelectedIds = selectedIds.filter((id) => id !== rowToRemove.id);
165165

166166
updatedTableRows.splice(index, 1);
167167

168+
if (updatedTableRows.length === 0) {
169+
const newRowId = generateNewRepeatId(qItem.linkId);
170+
updatedTableRows = [{ id: newRowId, qrItem: null }];
171+
updatedSelectedIds.push(newRowId);
172+
}
173+
168174
setTableRows(updatedTableRows);
169175

170176
onQrRepeatGroupChange({

packages/smart-forms-renderer/src/components/FormComponents/Tables/RemoveRowButton.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@ interface RemoveRowButtonProps {
3131
}
3232

3333
function RemoveRowButton(props: RemoveRowButtonProps) {
34-
const { nullableQrItem, numOfRows, readOnly, onRemoveItem } = props;
34+
const { nullableQrItem, onRemoveItem } = props;
35+
36+
const isDisabled = nullableQrItem === null;
3537

36-
const isDisabled = nullableQrItem === null || numOfRows === 1 || readOnly;
3738
return (
3839
<RemoveButtonTableCell>
3940
<Tooltip title="Remove item">

0 commit comments

Comments
 (0)