docs(changeset): feat(Former): add keep open functionality and update onClose behavior

This commit is contained in:
2026-02-08 00:12:14 +02:00
parent 6ff395e9be
commit 8928432fe0
4 changed files with 47 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
import { Button, Group, Tooltip } from '@mantine/core';
import { Button, Group, Switch, Tooltip } from '@mantine/core';
import { IconDeviceFloppy, IconX } from '@tabler/icons-react';
import { useFormerStore } from './Former.store';
@@ -9,21 +9,29 @@ export const FormerButtonArea = () => {
closeButtonProps,
closeButtonTitle,
dirty,
getState,
keepOpen,
onClose,
request,
save,
saveButtonProps,
saveButtonTitle,
setState,
showKeepOpenSwitch,
} = useFormerStore((state) => ({
buttonAreaGroupProps: state.layout?.buttonAreaGroupProps,
closeButtonProps: state.layout?.closeButtonProps,
closeButtonTitle: state.layout?.closeButtonTitle,
dirty: state.dirty,
getState: state.getState,
keepOpen: state.keepOpen,
onClose: state.onClose,
request: state.request,
save: state.save,
saveButtonProps: state.layout?.saveButtonProps,
saveButtonTitle: state.layout?.saveButtonTitle,
setState: state.setState,
showKeepOpenSwitch: state.layout?.showKeepOpenSwitch,
}));
const disabledSave =
@@ -47,12 +55,19 @@ export const FormerButtonArea = () => {
size="sm"
{...closeButtonProps}
onClick={() => {
onClose();
onClose(getState('values'));
}}
>
{closeButtonTitle || 'Close'}
</Button>
)}
{showKeepOpenSwitch && (
<Switch
checked={keepOpen}
label="Keep Open"
onChange={(event) => setState('keepOpen', event.currentTarget.checked)}
/>
)}
<Tooltip
label={
disabledSave ? (