@cratis/components 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/CommandDialog/CommandDialog.js +16 -10
- package/dist/cjs/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/cjs/Dialogs/Dialog.js +2 -2
- package/dist/cjs/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.d.ts +3 -11
- package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.js +17 -11
- package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.stories.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.stories.js +15 -17
- package/dist/esm/CommandDialog/CommandDialog.stories.js.map +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts +3 -2
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/Dialog.js +2 -2
- package/dist/esm/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -6,8 +6,8 @@ var Dialog = require('../Dialogs/Dialog.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var commands = require('@cratis/arc.react/commands');
|
|
8
8
|
|
|
9
|
-
const CommandDialogWrapper = ({
|
|
10
|
-
const { setCommandValues, setCommandResult, isValid } = commands.useCommandFormContext();
|
|
9
|
+
const CommandDialogWrapper = ({ title, visible, width, style, resizable, buttons, okLabel, cancelLabel, yesLabel, noLabel, isValid, onClose, onConfirm, onCancel, onBeforeExecute, children }) => {
|
|
10
|
+
const { setCommandValues, setCommandResult, isValid: isCommandFormValid } = commands.useCommandFormContext();
|
|
11
11
|
const commandInstance = commands.useCommandInstance();
|
|
12
12
|
const handleConfirm = async () => {
|
|
13
13
|
if (onBeforeExecute) {
|
|
@@ -15,14 +15,19 @@ const CommandDialogWrapper = ({ header, visible, width, confirmLabel, cancelLabe
|
|
|
15
15
|
setCommandValues(transformedValues);
|
|
16
16
|
}
|
|
17
17
|
const result = await commandInstance.execute();
|
|
18
|
-
if (result.isSuccess) {
|
|
19
|
-
await onConfirm(result);
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
18
|
+
if (!result.isSuccess) {
|
|
23
19
|
setCommandResult(result);
|
|
24
20
|
return false;
|
|
25
21
|
}
|
|
22
|
+
if (onConfirm) {
|
|
23
|
+
const closeResult = await onConfirm();
|
|
24
|
+
return closeResult === true;
|
|
25
|
+
}
|
|
26
|
+
if (onClose) {
|
|
27
|
+
const closeResult = await onClose(dialogs.DialogResult.Ok);
|
|
28
|
+
return closeResult !== false;
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
26
31
|
};
|
|
27
32
|
const processChildren = (nodes) => {
|
|
28
33
|
return React.Children.map(nodes, (child) => {
|
|
@@ -42,11 +47,12 @@ const CommandDialogWrapper = ({ header, visible, width, confirmLabel, cancelLabe
|
|
|
42
47
|
});
|
|
43
48
|
};
|
|
44
49
|
const processedChildren = processChildren(children);
|
|
45
|
-
|
|
50
|
+
const isDialogValid = (isValid !== false) && isCommandFormValid;
|
|
51
|
+
return (jsxRuntime.jsx(Dialog.Dialog, { title: title, visible: visible, width: width, style: style, resizable: resizable, buttons: buttons, onClose: onClose, onConfirm: handleConfirm, onCancel: onCancel, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, isValid: isDialogValid, children: jsxRuntime.jsx("div", { style: { display: 'flex', flexDirection: 'column', width: '100%' }, children: processedChildren }) }));
|
|
46
52
|
};
|
|
47
53
|
const CommandDialogComponent = (props) => {
|
|
48
|
-
const { visible,
|
|
49
|
-
return (jsxRuntime.jsx(commands.CommandForm, { ...commandFormProps, children: jsxRuntime.jsx(CommandDialogWrapper, {
|
|
54
|
+
const { title, visible, width, style, resizable, buttons = dialogs.DialogButtons.OkCancel, okLabel, cancelLabel, yesLabel, noLabel, isValid, onClose, onConfirm, onCancel, children, ...commandFormProps } = props;
|
|
55
|
+
return (jsxRuntime.jsx(commands.CommandForm, { ...commandFormProps, children: jsxRuntime.jsx(CommandDialogWrapper, { title: title, visible: visible, width: width, style: style, resizable: resizable, buttons: buttons, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, isValid: isValid, onClose: onClose, onConfirm: onConfirm, onCancel: onCancel, onBeforeExecute: commandFormProps.onBeforeExecute, children: children }) }));
|
|
50
56
|
};
|
|
51
57
|
const CommandDialogColumnWrapper = ({ children }) => (jsxRuntime.jsx(commands.CommandForm.Column, { children: children }));
|
|
52
58
|
CommandDialogColumnWrapper.displayName = 'CommandFormColumn';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandDialog.js","sources":["../../../CommandDialog/CommandDialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ICommandResult } from '@cratis/arc/commands';\nimport { DialogButtons } from '@cratis/arc.react/dialogs';\nimport { Dialog } from '../Dialogs/Dialog';\nimport React from 'react';\nimport {\n CommandForm,\n CommandFormFieldWrapper,\n useCommandFormContext,\n useCommandInstance,\n type CommandFormProps\n} from '@cratis/arc.react/commands';\n\nexport interface CommandDialogProps<TCommand extends object
|
|
1
|
+
{"version":3,"file":"CommandDialog.js","sources":["../../../CommandDialog/CommandDialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ICommandResult } from '@cratis/arc/commands';\nimport { DialogButtons, DialogResult } from '@cratis/arc.react/dialogs';\nimport { Dialog, type DialogProps } from '../Dialogs/Dialog';\nimport React from 'react';\nimport {\n CommandForm,\n CommandFormFieldWrapper,\n useCommandFormContext,\n useCommandInstance,\n type CommandFormProps\n} from '@cratis/arc.react/commands';\n\nexport interface CommandDialogProps<TCommand extends object>\n extends Omit<CommandFormProps<TCommand>, 'children'>,\n Omit<DialogProps, 'children'> {\n children?: React.ReactNode;\n}\n\nconst CommandDialogWrapper = <TCommand extends object>({\n title,\n visible,\n width,\n style,\n resizable,\n buttons,\n okLabel,\n cancelLabel,\n yesLabel,\n noLabel,\n isValid,\n onClose,\n onConfirm,\n onCancel,\n onBeforeExecute,\n children\n}: {\n title: string;\n visible?: boolean;\n width?: string;\n style?: DialogProps['style'];\n resizable?: boolean;\n buttons?: DialogProps['buttons'];\n okLabel?: string;\n cancelLabel?: string;\n yesLabel?: string;\n noLabel?: string;\n isValid?: boolean;\n onClose?: DialogProps['onClose'];\n onConfirm?: DialogProps['onConfirm'];\n onCancel?: DialogProps['onCancel'];\n onBeforeExecute?: (values: TCommand) => TCommand;\n children?: React.ReactNode;\n}) => {\n const { setCommandValues, setCommandResult, isValid: isCommandFormValid } = useCommandFormContext<TCommand>();\n const commandInstance = useCommandInstance<TCommand>();\n\n const handleConfirm = async () => {\n if (onBeforeExecute) {\n const transformedValues = onBeforeExecute(commandInstance);\n setCommandValues(transformedValues);\n }\n\n const result = await (commandInstance as unknown as { execute: () => Promise<ICommandResult<unknown>> }).execute();\n\n if (!result.isSuccess) {\n setCommandResult(result);\n return false;\n }\n\n if (onConfirm) {\n const closeResult = await onConfirm();\n return closeResult === true;\n }\n\n if (onClose) {\n const closeResult = await onClose(DialogResult.Ok);\n return closeResult !== false;\n }\n\n return true;\n };\n\n const processChildren = (nodes: React.ReactNode): React.ReactNode => {\n return React.Children.map(nodes, (child) => {\n if (!React.isValidElement(child)) return child;\n\n const component = child.type as React.ComponentType<unknown>;\n if (component.displayName === 'CommandFormField') {\n type FieldElement = Parameters<typeof CommandFormFieldWrapper>[0]['field'];\n return <CommandFormFieldWrapper field={child as unknown as FieldElement} />;\n }\n\n const childProps = child.props as Record<string, unknown>;\n if (childProps.children != null) {\n return React.cloneElement(child as React.ReactElement<Record<string, unknown>>, {\n children: processChildren(childProps.children as React.ReactNode)\n });\n }\n\n return child;\n });\n };\n\n const processedChildren = processChildren(children);\n const isDialogValid = (isValid !== false) && isCommandFormValid;\n\n return (\n <Dialog\n title={title}\n visible={visible}\n width={width}\n style={style}\n resizable={resizable}\n buttons={buttons}\n onClose={onClose}\n onConfirm={handleConfirm}\n onCancel={onCancel}\n okLabel={okLabel}\n cancelLabel={cancelLabel}\n yesLabel={yesLabel}\n noLabel={noLabel}\n isValid={isDialogValid}\n >\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%' }}>\n {processedChildren}\n </div>\n </Dialog>\n );\n};\n\nconst CommandDialogComponent = <TCommand extends object = object>(props: CommandDialogProps<TCommand>) => {\n const {\n title,\n visible,\n width,\n style,\n resizable,\n buttons = DialogButtons.OkCancel,\n okLabel,\n cancelLabel,\n yesLabel,\n noLabel,\n isValid,\n onClose,\n onConfirm,\n onCancel,\n children,\n ...commandFormProps\n } = props;\n\n return (\n <CommandForm<TCommand> {...commandFormProps}>\n <CommandDialogWrapper<TCommand>\n title={title}\n visible={visible}\n width={width}\n style={style}\n resizable={resizable}\n buttons={buttons}\n okLabel={okLabel}\n cancelLabel={cancelLabel}\n yesLabel={yesLabel}\n noLabel={noLabel}\n isValid={isValid}\n onClose={onClose}\n onConfirm={onConfirm}\n onCancel={onCancel}\n onBeforeExecute={commandFormProps.onBeforeExecute}\n >\n {children}\n </CommandDialogWrapper>\n </CommandForm>\n );\n};\n\nconst CommandDialogColumnWrapper = ({ children }: { children: React.ReactNode }) => (\n <CommandForm.Column>{children}</CommandForm.Column>\n);\nCommandDialogColumnWrapper.displayName = 'CommandFormColumn';\n\nCommandDialogComponent.Column = CommandDialogColumnWrapper;\n\nexport const CommandDialog = CommandDialogComponent;\n"],"names":["useCommandFormContext","useCommandInstance","DialogResult","_jsx","CommandFormFieldWrapper","Dialog","DialogButtons","CommandForm"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ var dialog = require('primereact/dialog');
|
|
|
5
5
|
var button = require('primereact/button');
|
|
6
6
|
var dialogs = require('@cratis/arc.react/dialogs');
|
|
7
7
|
|
|
8
|
-
const Dialog = ({ title, visible = true, onClose, onConfirm, onCancel, buttons = dialogs.DialogButtons.OkCancel, children, width = '450px', resizable = false, isValid, okLabel = 'Ok', cancelLabel = 'Cancel', yesLabel = 'Yes', noLabel = 'No' }) => {
|
|
8
|
+
const Dialog = ({ title, visible = true, onClose, onConfirm, onCancel, buttons = dialogs.DialogButtons.OkCancel, children, width = '450px', style, resizable = false, isValid, okLabel = 'Ok', cancelLabel = 'Cancel', yesLabel = 'Yes', noLabel = 'No' }) => {
|
|
9
9
|
let contextCloseDialog;
|
|
10
10
|
try {
|
|
11
11
|
const context = dialogs.useDialogContext();
|
|
@@ -63,7 +63,7 @@ const Dialog = ({ title, visible = true, onClose, onConfirm, onCancel, buttons =
|
|
|
63
63
|
return (jsxRuntime.jsx(jsxRuntime.Fragment, {}));
|
|
64
64
|
};
|
|
65
65
|
const footer = (jsxRuntime.jsx("div", { className: "flex flex-wrap justify-content-start gap-3", children: getFooterInterior() }));
|
|
66
|
-
return (jsxRuntime.jsx(dialog.Dialog, { header: headerElement, modal: true, footer: footer, onHide: typeof buttons === 'number' ? () => handleClose(dialogs.DialogResult.Cancelled) : () => { }, visible: visible, style: { width }, resizable: resizable, closable: typeof buttons === 'number', children: children }));
|
|
66
|
+
return (jsxRuntime.jsx(dialog.Dialog, { header: headerElement, modal: true, footer: footer, onHide: typeof buttons === 'number' ? () => handleClose(dialogs.DialogResult.Cancelled) : () => { }, visible: visible, style: { width, ...style }, resizable: resizable, closable: typeof buttons === 'number', children: children }));
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
exports.Dialog = Dialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sources":["../../../Dialogs/Dialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Dialog as PrimeDialog } from 'primereact/dialog';\nimport { Button } from 'primereact/button';\nimport { DialogResult, DialogButtons, useDialogContext } from '@cratis/arc.react/dialogs';\nimport { ReactNode } from 'react';\n\nexport type CloseDialog = (result: DialogResult) => boolean | void | Promise<boolean> | Promise<void>;\nexport type ConfirmCallback = () => boolean | void | Promise<boolean> | Promise<void>;\nexport type CancelCallback = () => boolean | void | Promise<boolean> | Promise<void>;\n\nexport interface DialogProps {\n title: string;\n visible?: boolean;\n onClose?: CloseDialog;\n onConfirm?: ConfirmCallback;\n onCancel?: CancelCallback;\n buttons?: DialogButtons | ReactNode;\n children: ReactNode;\n width?: string;\n resizable?: boolean;\n isValid?: boolean;\n okLabel?: string;\n cancelLabel?: string;\n yesLabel?: string;\n noLabel?: string;\n}\n\nexport const Dialog = ({ \n title, \n visible = true, \n onClose, \n onConfirm,\n onCancel,\n buttons = DialogButtons.OkCancel, \n children, \n width = '450px', \n resizable = false, \n isValid,\n okLabel = 'Ok',\n cancelLabel = 'Cancel',\n yesLabel = 'Yes',\n noLabel = 'No'\n}: DialogProps) => {\n // Try to get dialog context, but allow it to be undefined for standalone usage\n let contextCloseDialog: ((result: DialogResult) => void) | undefined;\n try {\n const context = useDialogContext();\n contextCloseDialog = context?.closeDialog;\n } catch {\n // No context available - dialog is being used standalone\n contextCloseDialog = undefined;\n }\n \n const isDialogValid = isValid !== false;\n const headerElement = (\n <div className=\"inline-flex align-items-center justify-content-center gap-2\">\n <span className=\"font-bold white-space-nowrap\">{title}</span>\n </div>\n );\n\n const handleClose = async (result: DialogResult) => {\n let shouldCloseThroughContext = true;\n\n if (result === DialogResult.Ok || result === DialogResult.Yes) {\n if (onConfirm) {\n const closeResult = await onConfirm();\n shouldCloseThroughContext = closeResult === true;\n } else if (onClose) {\n const closeResult = await onClose(result);\n shouldCloseThroughContext = closeResult !== false;\n }\n } else {\n if (onCancel) {\n const closeResult = await onCancel();\n shouldCloseThroughContext = closeResult === true;\n } else if (onClose) {\n const closeResult = await onClose(result);\n shouldCloseThroughContext = closeResult !== false;\n }\n }\n\n if (shouldCloseThroughContext) {\n contextCloseDialog?.(result);\n }\n };\n\n const okFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid} autoFocus />\n </>\n );\n\n const okCancelFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid} autoFocus />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} />\n </>\n );\n\n const yesNoFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} />\n </>\n );\n\n const yesNoCancelFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} />\n </>\n );\n\n const getFooterInterior = () => {\n // If buttons is a ReactNode (custom buttons), use it directly\n if (typeof buttons !== 'number') {\n return buttons;\n }\n\n // Otherwise, use predefined buttons based on DialogButtons enum\n switch (buttons) {\n case DialogButtons.Ok:\n return okFooter;\n case DialogButtons.OkCancel:\n return okCancelFooter;\n case DialogButtons.YesNo:\n return yesNoFooter;\n case DialogButtons.YesNoCancel:\n return yesNoCancelFooter;\n }\n\n return (<></>);\n };\n\n const footer = (\n <div className=\"flex flex-wrap justify-content-start gap-3\">\n {getFooterInterior()}\n </div>\n );\n\n return (\n <PrimeDialog\n header={headerElement}\n modal\n footer={footer}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide={typeof buttons === 'number' ? () => handleClose(DialogResult.Cancelled) : () => {}}\n visible={visible}\n style={{ width }}\n resizable={resizable}\n closable={typeof buttons === 'number'}>\n {children}\n </PrimeDialog>\n );\n};\n"],"names":["DialogButtons","useDialogContext","_jsx","DialogResult","_Fragment","Button","_jsxs","PrimeDialog"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"Dialog.js","sources":["../../../Dialogs/Dialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Dialog as PrimeDialog } from 'primereact/dialog';\nimport { Button } from 'primereact/button';\nimport { DialogResult, DialogButtons, useDialogContext } from '@cratis/arc.react/dialogs';\nimport { CSSProperties, ReactNode } from 'react';\n\nexport type CloseDialog = (result: DialogResult) => boolean | void | Promise<boolean> | Promise<void>;\nexport type ConfirmCallback = () => boolean | void | Promise<boolean> | Promise<void>;\nexport type CancelCallback = () => boolean | void | Promise<boolean> | Promise<void>;\n\nexport interface DialogProps {\n title: string;\n visible?: boolean;\n onClose?: CloseDialog;\n onConfirm?: ConfirmCallback;\n onCancel?: CancelCallback;\n buttons?: DialogButtons | ReactNode;\n children: ReactNode;\n width?: string;\n style?: CSSProperties;\n resizable?: boolean;\n isValid?: boolean;\n okLabel?: string;\n cancelLabel?: string;\n yesLabel?: string;\n noLabel?: string;\n}\n\nexport const Dialog = ({ \n title, \n visible = true, \n onClose, \n onConfirm,\n onCancel,\n buttons = DialogButtons.OkCancel, \n children, \n width = '450px', \n style,\n resizable = false, \n isValid,\n okLabel = 'Ok',\n cancelLabel = 'Cancel',\n yesLabel = 'Yes',\n noLabel = 'No'\n}: DialogProps) => {\n // Try to get dialog context, but allow it to be undefined for standalone usage\n let contextCloseDialog: ((result: DialogResult) => void) | undefined;\n try {\n const context = useDialogContext();\n contextCloseDialog = context?.closeDialog;\n } catch {\n // No context available - dialog is being used standalone\n contextCloseDialog = undefined;\n }\n \n const isDialogValid = isValid !== false;\n const headerElement = (\n <div className=\"inline-flex align-items-center justify-content-center gap-2\">\n <span className=\"font-bold white-space-nowrap\">{title}</span>\n </div>\n );\n\n const handleClose = async (result: DialogResult) => {\n let shouldCloseThroughContext = true;\n\n if (result === DialogResult.Ok || result === DialogResult.Yes) {\n if (onConfirm) {\n const closeResult = await onConfirm();\n shouldCloseThroughContext = closeResult === true;\n } else if (onClose) {\n const closeResult = await onClose(result);\n shouldCloseThroughContext = closeResult !== false;\n }\n } else {\n if (onCancel) {\n const closeResult = await onCancel();\n shouldCloseThroughContext = closeResult === true;\n } else if (onClose) {\n const closeResult = await onClose(result);\n shouldCloseThroughContext = closeResult !== false;\n }\n }\n\n if (shouldCloseThroughContext) {\n contextCloseDialog?.(result);\n }\n };\n\n const okFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid} autoFocus />\n </>\n );\n\n const okCancelFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid} autoFocus />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} />\n </>\n );\n\n const yesNoFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} />\n </>\n );\n\n const yesNoCancelFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} />\n </>\n );\n\n const getFooterInterior = () => {\n // If buttons is a ReactNode (custom buttons), use it directly\n if (typeof buttons !== 'number') {\n return buttons;\n }\n\n // Otherwise, use predefined buttons based on DialogButtons enum\n switch (buttons) {\n case DialogButtons.Ok:\n return okFooter;\n case DialogButtons.OkCancel:\n return okCancelFooter;\n case DialogButtons.YesNo:\n return yesNoFooter;\n case DialogButtons.YesNoCancel:\n return yesNoCancelFooter;\n }\n\n return (<></>);\n };\n\n const footer = (\n <div className=\"flex flex-wrap justify-content-start gap-3\">\n {getFooterInterior()}\n </div>\n );\n\n return (\n <PrimeDialog\n header={headerElement}\n modal\n footer={footer}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide={typeof buttons === 'number' ? () => handleClose(DialogResult.Cancelled) : () => {}}\n visible={visible}\n style={{ width, ...style }}\n resizable={resizable}\n closable={typeof buttons === 'number'}>\n {children}\n </PrimeDialog>\n );\n};\n"],"names":["DialogButtons","useDialogContext","_jsx","DialogResult","_Fragment","Button","_jsxs","PrimeDialog"],"mappings":"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"}
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type DialogProps } from '../Dialogs/Dialog';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { type CommandFormProps } from '@cratis/arc.react/commands';
|
|
4
|
-
export interface CommandDialogProps<TCommand extends object
|
|
5
|
-
visible?: boolean;
|
|
6
|
-
header: string;
|
|
7
|
-
confirmLabel?: string;
|
|
8
|
-
cancelLabel?: string;
|
|
9
|
-
onConfirm: (result: ICommandResult<TResponse>) => void | Promise<void>;
|
|
10
|
-
onCancel: () => void;
|
|
4
|
+
export interface CommandDialogProps<TCommand extends object> extends Omit<CommandFormProps<TCommand>, 'children'>, Omit<DialogProps, 'children'> {
|
|
11
5
|
children?: React.ReactNode;
|
|
12
|
-
style?: React.CSSProperties;
|
|
13
|
-
width?: string;
|
|
14
6
|
}
|
|
15
7
|
export declare const CommandDialog: {
|
|
16
|
-
<TCommand extends object = object
|
|
8
|
+
<TCommand extends object = object>(props: CommandDialogProps<TCommand>): import("react/jsx-runtime").JSX.Element;
|
|
17
9
|
Column: {
|
|
18
10
|
({ children }: {
|
|
19
11
|
children: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandDialog.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CommandDialog.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKH,KAAK,gBAAgB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,kBAAkB,CAAC,QAAQ,SAAS,MAAM,CACvD,SAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,EAChD,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAsKD,eAAO,MAAM,aAAa;KApDM,QAAQ,SAAS,MAAM,kBAAkB,kBAAkB,CAAC,QAAQ,CAAC;;uBA6CnD;YAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE;;;CAO5B,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { DialogButtons } from '@cratis/arc.react/dialogs';
|
|
2
|
+
import { DialogButtons, DialogResult } from '@cratis/arc.react/dialogs';
|
|
3
3
|
import { Dialog } from '../Dialogs/Dialog.js';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { CommandForm, useCommandFormContext, useCommandInstance, CommandFormFieldWrapper } from '@cratis/arc.react/commands';
|
|
6
6
|
|
|
7
|
-
const CommandDialogWrapper = ({
|
|
8
|
-
const { setCommandValues, setCommandResult, isValid } = useCommandFormContext();
|
|
7
|
+
const CommandDialogWrapper = ({ title, visible, width, style, resizable, buttons, okLabel, cancelLabel, yesLabel, noLabel, isValid, onClose, onConfirm, onCancel, onBeforeExecute, children }) => {
|
|
8
|
+
const { setCommandValues, setCommandResult, isValid: isCommandFormValid } = useCommandFormContext();
|
|
9
9
|
const commandInstance = useCommandInstance();
|
|
10
10
|
const handleConfirm = async () => {
|
|
11
11
|
if (onBeforeExecute) {
|
|
@@ -13,14 +13,19 @@ const CommandDialogWrapper = ({ header, visible, width, confirmLabel, cancelLabe
|
|
|
13
13
|
setCommandValues(transformedValues);
|
|
14
14
|
}
|
|
15
15
|
const result = await commandInstance.execute();
|
|
16
|
-
if (result.isSuccess) {
|
|
17
|
-
await onConfirm(result);
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
16
|
+
if (!result.isSuccess) {
|
|
21
17
|
setCommandResult(result);
|
|
22
18
|
return false;
|
|
23
19
|
}
|
|
20
|
+
if (onConfirm) {
|
|
21
|
+
const closeResult = await onConfirm();
|
|
22
|
+
return closeResult === true;
|
|
23
|
+
}
|
|
24
|
+
if (onClose) {
|
|
25
|
+
const closeResult = await onClose(DialogResult.Ok);
|
|
26
|
+
return closeResult !== false;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
24
29
|
};
|
|
25
30
|
const processChildren = (nodes) => {
|
|
26
31
|
return React.Children.map(nodes, (child) => {
|
|
@@ -40,11 +45,12 @@ const CommandDialogWrapper = ({ header, visible, width, confirmLabel, cancelLabe
|
|
|
40
45
|
});
|
|
41
46
|
};
|
|
42
47
|
const processedChildren = processChildren(children);
|
|
43
|
-
|
|
48
|
+
const isDialogValid = (isValid !== false) && isCommandFormValid;
|
|
49
|
+
return (jsx(Dialog, { title: title, visible: visible, width: width, style: style, resizable: resizable, buttons: buttons, onClose: onClose, onConfirm: handleConfirm, onCancel: onCancel, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, isValid: isDialogValid, children: jsx("div", { style: { display: 'flex', flexDirection: 'column', width: '100%' }, children: processedChildren }) }));
|
|
44
50
|
};
|
|
45
51
|
const CommandDialogComponent = (props) => {
|
|
46
|
-
const { visible,
|
|
47
|
-
return (jsx(CommandForm, { ...commandFormProps, children: jsx(CommandDialogWrapper, {
|
|
52
|
+
const { title, visible, width, style, resizable, buttons = DialogButtons.OkCancel, okLabel, cancelLabel, yesLabel, noLabel, isValid, onClose, onConfirm, onCancel, children, ...commandFormProps } = props;
|
|
53
|
+
return (jsx(CommandForm, { ...commandFormProps, children: jsx(CommandDialogWrapper, { title: title, visible: visible, width: width, style: style, resizable: resizable, buttons: buttons, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, isValid: isValid, onClose: onClose, onConfirm: onConfirm, onCancel: onCancel, onBeforeExecute: commandFormProps.onBeforeExecute, children: children }) }));
|
|
48
54
|
};
|
|
49
55
|
const CommandDialogColumnWrapper = ({ children }) => (jsx(CommandForm.Column, { children: children }));
|
|
50
56
|
CommandDialogColumnWrapper.displayName = 'CommandFormColumn';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandDialog.js","sources":["../../../CommandDialog/CommandDialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ICommandResult } from '@cratis/arc/commands';\nimport { DialogButtons } from '@cratis/arc.react/dialogs';\nimport { Dialog } from '../Dialogs/Dialog';\nimport React from 'react';\nimport {\n CommandForm,\n CommandFormFieldWrapper,\n useCommandFormContext,\n useCommandInstance,\n type CommandFormProps\n} from '@cratis/arc.react/commands';\n\nexport interface CommandDialogProps<TCommand extends object
|
|
1
|
+
{"version":3,"file":"CommandDialog.js","sources":["../../../CommandDialog/CommandDialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ICommandResult } from '@cratis/arc/commands';\nimport { DialogButtons, DialogResult } from '@cratis/arc.react/dialogs';\nimport { Dialog, type DialogProps } from '../Dialogs/Dialog';\nimport React from 'react';\nimport {\n CommandForm,\n CommandFormFieldWrapper,\n useCommandFormContext,\n useCommandInstance,\n type CommandFormProps\n} from '@cratis/arc.react/commands';\n\nexport interface CommandDialogProps<TCommand extends object>\n extends Omit<CommandFormProps<TCommand>, 'children'>,\n Omit<DialogProps, 'children'> {\n children?: React.ReactNode;\n}\n\nconst CommandDialogWrapper = <TCommand extends object>({\n title,\n visible,\n width,\n style,\n resizable,\n buttons,\n okLabel,\n cancelLabel,\n yesLabel,\n noLabel,\n isValid,\n onClose,\n onConfirm,\n onCancel,\n onBeforeExecute,\n children\n}: {\n title: string;\n visible?: boolean;\n width?: string;\n style?: DialogProps['style'];\n resizable?: boolean;\n buttons?: DialogProps['buttons'];\n okLabel?: string;\n cancelLabel?: string;\n yesLabel?: string;\n noLabel?: string;\n isValid?: boolean;\n onClose?: DialogProps['onClose'];\n onConfirm?: DialogProps['onConfirm'];\n onCancel?: DialogProps['onCancel'];\n onBeforeExecute?: (values: TCommand) => TCommand;\n children?: React.ReactNode;\n}) => {\n const { setCommandValues, setCommandResult, isValid: isCommandFormValid } = useCommandFormContext<TCommand>();\n const commandInstance = useCommandInstance<TCommand>();\n\n const handleConfirm = async () => {\n if (onBeforeExecute) {\n const transformedValues = onBeforeExecute(commandInstance);\n setCommandValues(transformedValues);\n }\n\n const result = await (commandInstance as unknown as { execute: () => Promise<ICommandResult<unknown>> }).execute();\n\n if (!result.isSuccess) {\n setCommandResult(result);\n return false;\n }\n\n if (onConfirm) {\n const closeResult = await onConfirm();\n return closeResult === true;\n }\n\n if (onClose) {\n const closeResult = await onClose(DialogResult.Ok);\n return closeResult !== false;\n }\n\n return true;\n };\n\n const processChildren = (nodes: React.ReactNode): React.ReactNode => {\n return React.Children.map(nodes, (child) => {\n if (!React.isValidElement(child)) return child;\n\n const component = child.type as React.ComponentType<unknown>;\n if (component.displayName === 'CommandFormField') {\n type FieldElement = Parameters<typeof CommandFormFieldWrapper>[0]['field'];\n return <CommandFormFieldWrapper field={child as unknown as FieldElement} />;\n }\n\n const childProps = child.props as Record<string, unknown>;\n if (childProps.children != null) {\n return React.cloneElement(child as React.ReactElement<Record<string, unknown>>, {\n children: processChildren(childProps.children as React.ReactNode)\n });\n }\n\n return child;\n });\n };\n\n const processedChildren = processChildren(children);\n const isDialogValid = (isValid !== false) && isCommandFormValid;\n\n return (\n <Dialog\n title={title}\n visible={visible}\n width={width}\n style={style}\n resizable={resizable}\n buttons={buttons}\n onClose={onClose}\n onConfirm={handleConfirm}\n onCancel={onCancel}\n okLabel={okLabel}\n cancelLabel={cancelLabel}\n yesLabel={yesLabel}\n noLabel={noLabel}\n isValid={isDialogValid}\n >\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%' }}>\n {processedChildren}\n </div>\n </Dialog>\n );\n};\n\nconst CommandDialogComponent = <TCommand extends object = object>(props: CommandDialogProps<TCommand>) => {\n const {\n title,\n visible,\n width,\n style,\n resizable,\n buttons = DialogButtons.OkCancel,\n okLabel,\n cancelLabel,\n yesLabel,\n noLabel,\n isValid,\n onClose,\n onConfirm,\n onCancel,\n children,\n ...commandFormProps\n } = props;\n\n return (\n <CommandForm<TCommand> {...commandFormProps}>\n <CommandDialogWrapper<TCommand>\n title={title}\n visible={visible}\n width={width}\n style={style}\n resizable={resizable}\n buttons={buttons}\n okLabel={okLabel}\n cancelLabel={cancelLabel}\n yesLabel={yesLabel}\n noLabel={noLabel}\n isValid={isValid}\n onClose={onClose}\n onConfirm={onConfirm}\n onCancel={onCancel}\n onBeforeExecute={commandFormProps.onBeforeExecute}\n >\n {children}\n </CommandDialogWrapper>\n </CommandForm>\n );\n};\n\nconst CommandDialogColumnWrapper = ({ children }: { children: React.ReactNode }) => (\n <CommandForm.Column>{children}</CommandForm.Column>\n);\nCommandDialogColumnWrapper.displayName = 'CommandFormColumn';\n\nCommandDialogComponent.Column = CommandDialogColumnWrapper;\n\nexport const CommandDialog = CommandDialogComponent;\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandDialog.stories.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,wBAAwB,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAGpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AA2L5C,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AA6DF,eAAO,MAAM,iBAAiB,EAAE,KAE/B,CAAC;AA+DF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AA6BF,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAC;AA6BF,eAAO,MAAM,kBAAkB,EAAE,KAEhC,CAAC;AA8BF,eAAO,MAAM,cAAc,EAAE,KAE5B,CAAC;AA8BF,eAAO,MAAM,yBAAyB,EAAE,KAEvC,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandDialog.stories.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,wBAAwB,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAGpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AA2L5C,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AA6DF,eAAO,MAAM,iBAAiB,EAAE,KAE/B,CAAC;AA+DF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AA6BF,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAC;AA6BF,eAAO,MAAM,kBAAkB,EAAE,KAEhC,CAAC;AA8BF,eAAO,MAAM,cAAc,EAAE,KAE5B,CAAC;AA8BF,eAAO,MAAM,yBAAyB,EAAE,KAEvC,CAAC;AA4CF,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC;AA4CF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAsFF,eAAO,MAAM,iBAAiB,EAAE,KAE/B,CAAC;AAmCF,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC"}
|
|
@@ -76,8 +76,8 @@ const ServerValidationWrapper = () => {
|
|
|
76
76
|
setVisible(true);
|
|
77
77
|
setValidationErrors([]);
|
|
78
78
|
setResult('');
|
|
79
|
-
}, children: "Open Dialog" }), validationErrors.length > 0 && (_jsxs("div", { className: "p-3 mt-3 bg-red-100 border-round", children: [_jsx("strong", { children: "Validation Errors:" }), _jsx("ul", { className: "mt-2 mb-0", children: validationErrors.map((error, index) => (_jsx("li", { children: error }, index))) })] })), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Command executed:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommandWithServer, visible: visible,
|
|
80
|
-
setResult(
|
|
79
|
+
}, children: "Open Dialog" }), validationErrors.length > 0 && (_jsxs("div", { className: "p-3 mt-3 bg-red-100 border-round", children: [_jsx("strong", { children: "Validation Errors:" }), _jsx("ul", { className: "mt-2 mb-0", children: validationErrors.map((error, index) => (_jsx("li", { children: error }, index))) })] })), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Command executed:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommandWithServer, visible: visible, title: "Update User Information (with Server Validation)", okLabel: "Save", cancelLabel: "Cancel", onConfirm: async () => {
|
|
80
|
+
setResult('Command executed successfully');
|
|
81
81
|
setVisible(false);
|
|
82
82
|
}, onCancel: () => setVisible(false), onFieldChange: async (command) => {
|
|
83
83
|
const validationResult = await command.validate();
|
|
@@ -93,7 +93,7 @@ const AwaitableWithResultWrapper = () => {
|
|
|
93
93
|
const [result, setResult] = useState('');
|
|
94
94
|
const UpdateUserDialog = () => {
|
|
95
95
|
const { closeDialog } = useDialogContext();
|
|
96
|
-
return (_jsxs(CommandDialog, { command: UpdateUserCommand,
|
|
96
|
+
return (_jsxs(CommandDialog, { command: UpdateUserCommand, title: "Update User Information (awaitable result)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => closeDialog(DialogResult.Ok), onCancel: () => closeDialog(DialogResult.Cancelled), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name (min 2 chars)" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] }));
|
|
97
97
|
};
|
|
98
98
|
const [UpdateUserDialogComponent, showUpdateUserDialog] = useDialog(UpdateUserDialog);
|
|
99
99
|
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: async () => {
|
|
@@ -122,7 +122,7 @@ const EditUserWrapper = () => {
|
|
|
122
122
|
setResult('');
|
|
123
123
|
setVisible(true);
|
|
124
124
|
};
|
|
125
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("div", { style: { display: 'flex', gap: '0.5rem', marginBottom: '1rem' }, children: users.map(user => (_jsxs("button", { className: "p-button p-component", onClick: () => handleEdit(user), children: ["Edit ", user.name] }, user.email))) }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommand, initialValues: selectedUser, visible: visible,
|
|
125
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("div", { style: { display: 'flex', gap: '0.5rem', marginBottom: '1rem' }, children: users.map(user => (_jsxs("button", { className: "p-button p-component", onClick: () => handleEdit(user), children: ["Edit ", user.name] }, user.email))) }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommand, initialValues: selectedUser, visible: visible, title: `Edit User: ${selectedUser?.name ?? ''}`, okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => {
|
|
126
126
|
setResult(`User "${selectedUser?.name}" updated successfully`);
|
|
127
127
|
setVisible(false);
|
|
128
128
|
}, onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age" })] }, selectedUser?.email ?? 'empty')] }));
|
|
@@ -136,7 +136,7 @@ const CustomValidationWrapper = () => {
|
|
|
136
136
|
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => {
|
|
137
137
|
setResult('');
|
|
138
138
|
setVisible(true);
|
|
139
|
-
}, children: "Open Dialog" }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible,
|
|
139
|
+
}, children: "Open Dialog" }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Add User (with Custom Validation)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => {
|
|
140
140
|
setResult('User added successfully');
|
|
141
141
|
setVisible(false);
|
|
142
142
|
}, onCancel: () => setVisible(false), onFieldValidate: (_command, fieldName, _oldValue, newValue) => {
|
|
@@ -163,28 +163,28 @@ export const WithCustomValidation = {
|
|
|
163
163
|
};
|
|
164
164
|
const ValidationOnBlurWrapper = () => {
|
|
165
165
|
const [visible, setVisible] = useState(true);
|
|
166
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible,
|
|
166
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validation on Blur", okLabel: "Save", cancelLabel: "Cancel", validateOn: "blur", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Click away to validate" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Click away to validate", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Click away to validate" })] })] }));
|
|
167
167
|
};
|
|
168
168
|
export const ValidationOnBlur = {
|
|
169
169
|
render: () => _jsx(ValidationOnBlurWrapper, {}),
|
|
170
170
|
};
|
|
171
171
|
const ValidationOnChangeWrapper = () => {
|
|
172
172
|
const [visible, setVisible] = useState(true);
|
|
173
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible,
|
|
173
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validation on Change", okLabel: "Save", cancelLabel: "Cancel", validateOn: "change", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Errors appear while typing" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Errors appear while typing", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Errors appear while typing" })] })] }));
|
|
174
174
|
};
|
|
175
175
|
export const ValidationOnChange = {
|
|
176
176
|
render: () => _jsx(ValidationOnChangeWrapper, {}),
|
|
177
177
|
};
|
|
178
178
|
const ValidateOnInitWrapper = () => {
|
|
179
179
|
const [visible, setVisible] = useState(true);
|
|
180
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible,
|
|
180
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validate on Initialization", okLabel: "Save", cancelLabel: "Cancel", validateOnInit: true, autoServerValidate: false, initialValues: { name: 'A', email: 'invalid', age: 10 }, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Errors shown immediately" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Errors shown immediately", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Errors shown immediately" })] })] }));
|
|
181
181
|
};
|
|
182
182
|
export const ValidateOnInit = {
|
|
183
183
|
render: () => _jsx(ValidateOnInitWrapper, {}),
|
|
184
184
|
};
|
|
185
185
|
const ValidateAllFieldsWrapper = () => {
|
|
186
186
|
const [visible, setVisible] = useState(true);
|
|
187
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible,
|
|
187
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validate All Fields on Change", okLabel: "Save", cancelLabel: "Cancel", validateOn: "blur", validateAllFieldsOnChange: true, autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Blur one field \u2014 all validate" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Blur one field \u2014 all validate", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Blur one field \u2014 all validate" })] })] }));
|
|
188
188
|
};
|
|
189
189
|
export const ValidateAllFieldsOnChange = {
|
|
190
190
|
render: () => _jsx(ValidateAllFieldsWrapper, {}),
|
|
@@ -192,21 +192,19 @@ export const ValidateAllFieldsOnChange = {
|
|
|
192
192
|
const BeforeExecuteWrapper = () => {
|
|
193
193
|
const [visible, setVisible] = useState(true);
|
|
194
194
|
const [preprocessedData, setPreprocessedData] = useState('');
|
|
195
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => { setVisible(true); setPreprocessedData(''); }, children: "Open Dialog" }), preprocessedData && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Preprocessed before submit:" }), _jsx("pre", { style: { marginTop: '0.5rem', fontSize: '0.875rem' }, children: preprocessedData })] })), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible,
|
|
195
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => { setVisible(true); setPreprocessedData(''); }, children: "Open Dialog" }), preprocessedData && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Preprocessed before submit:" }), _jsx("pre", { style: { marginTop: '0.5rem', fontSize: '0.875rem' }, children: preprocessedData })] })), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Before Execute Callback", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, initialValues: { name: '', email: '', age: 18 }, onBeforeExecute: (command) => {
|
|
196
196
|
command.name = command.name.trim().replace(/\s+/g, ' ');
|
|
197
197
|
command.email = command.email.toLowerCase().trim();
|
|
198
|
+
setPreprocessedData(JSON.stringify(command, null, 2));
|
|
198
199
|
return command;
|
|
199
|
-
}, onConfirm: async (
|
|
200
|
-
setPreprocessedData(JSON.stringify(result, null, 2));
|
|
201
|
-
setVisible(false);
|
|
202
|
-
}, onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: 'Try " Extra Spaces "' }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Try UPPERCASE@EMAIL.COM", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
200
|
+
}, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: 'Try " Extra Spaces "' }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Try UPPERCASE@EMAIL.COM", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
203
201
|
};
|
|
204
202
|
export const BeforeExecute = {
|
|
205
203
|
render: () => _jsx(BeforeExecuteWrapper, {}),
|
|
206
204
|
};
|
|
207
205
|
const WithIconsWrapper = () => {
|
|
208
206
|
const [visible, setVisible] = useState(true);
|
|
209
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible,
|
|
207
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Fields with Icons", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name", icon: _jsx("span", { style: { fontSize: '1.25rem' }, children: "\uD83D\uDC64" }) }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email", icon: _jsx("span", { style: { fontSize: '1.25rem' }, children: "\uD83D\uDCE7" }) }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age", icon: _jsx("span", { style: { fontSize: '1.25rem' }, children: "\uD83C\uDF82" }) })] })] }));
|
|
210
208
|
};
|
|
211
209
|
export const WithIcons = {
|
|
212
210
|
render: () => _jsx(WithIconsWrapper, {}),
|
|
@@ -255,14 +253,14 @@ class UpdateProfileCommand extends Command {
|
|
|
255
253
|
}
|
|
256
254
|
const MultiColumnWrapper = () => {
|
|
257
255
|
const [visible, setVisible] = useState(true);
|
|
258
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible,
|
|
256
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible, title: "Edit Profile", okLabel: "Save", cancelLabel: "Cancel", width: "70vw", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1.5rem' }, children: [_jsxs(CommandDialog.Column, { children: [_jsx(InputTextField, { value: (c) => c.firstName, title: "First Name", placeholder: "Enter first name" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" })] }), _jsxs(CommandDialog.Column, { children: [_jsx(InputTextField, { value: (c) => c.lastName, title: "Last Name", placeholder: "Enter last name" }), _jsx(InputTextField, { value: (c) => c.phone, title: "Phone", placeholder: "Enter phone number" })] })] }), _jsx(TextAreaField, { value: (c) => c.bio, title: "Bio", placeholder: "Tell us about yourself", rows: 3 })] })] }));
|
|
259
257
|
};
|
|
260
258
|
export const MultiColumnLayout = {
|
|
261
259
|
render: () => _jsx(MultiColumnWrapper, {}),
|
|
262
260
|
};
|
|
263
261
|
const MixedChildrenWrapper = () => {
|
|
264
262
|
const [visible, setVisible] = useState(true);
|
|
265
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible,
|
|
263
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible, title: "Edit Profile (Mixed Children)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx("h3", { style: { marginTop: 0, marginBottom: '0.75rem' }, children: "Personal Information" }), _jsx(InputTextField, { value: (c) => c.firstName, title: "First Name", placeholder: "Enter first name" }), _jsx(InputTextField, { value: (c) => c.lastName, title: "Last Name", placeholder: "Enter last name" }), _jsx("h3", { style: { marginTop: '1rem', marginBottom: '0.75rem' }, children: "Contact Details" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(InputTextField, { value: (c) => c.phone, title: "Phone", placeholder: "Enter phone number" }), _jsx("h3", { style: { marginTop: '1rem', marginBottom: '0.75rem' }, children: "About You" }), _jsx(TextAreaField, { value: (c) => c.bio, title: "Bio", placeholder: "Tell us about yourself (min 10 chars)", rows: 3 })] })] }));
|
|
266
264
|
};
|
|
267
265
|
export const MixedChildren = {
|
|
268
266
|
render: () => _jsx(MixedChildrenWrapper, {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandDialog.stories.js","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandDialog.stories.js","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":"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"}
|