import { useEffect, useMemo, useState } from 'react';
import { action } from '@storybook/addon-actions';
import { EmailDisplay, PhoneDisplay, Avatar, MetaList, Text, Link, DateTimeDisplay } from '@pega/cosmos-react-core';
import { HierarchicalAssignments } from '@pega/cosmos-react-work';
import { AIButtonFormDemo } from '../../core/AIButton/AIButton.stories';
export const fields = [
    {
        name: 'Project',
        value: 'Constellation Demo'
    },
    {
        name: 'Phone number',
        value: <PhoneDisplay value='(111) 111-1111'/>
    },
    {
        name: 'Email',
        value: <EmailDisplay value='turnc@example.com'/>
    },
    {
        name: 'Reports to',
        value: 'Helen Bush'
    }
];
export const task = {
    processName: 'Demo process',
    avatar: <Avatar name='James Gregory'/>,
    meta: (<MetaList items={[
            <Text variant='secondary'>
          Due <DateTimeDisplay variant='relative' value={Date.now()}/>
        </Text>,
            <Link href='#demo'>Parent case link</Link>
        ]}/>),
    additionalActions: [
        {
            id: '1',
            text: 'Action 1'
        },
        {
            id: '2',
            text: 'Action 2'
        }
    ]
};
export const assigneeProfileHeader = {
    primary: 'Una Newton',
    secondary: 'Lead Engineer',
    visual: <Avatar name='Una Newton'/>
};
const previewUrl = 'https://constellation-frontend.pega.com/?path=/story/build-info-version--version';
const MockHierarchicalAssignments = (props) => {
    const [taskOpened, setTaskOpened] = useState();
    const getTask = (id) => {
        return {
            ...task,
            id,
            name: `Task ${id}`,
            content: (<AIButtonFormDemo onCancel={() => setTaskOpened(undefined)} onSubmit={() => setTaskOpened(undefined)}/>)
        };
    };
    const onAssigneeClick = (id) => {
        action(`Show Assignee's Profile (${id})`)();
    };
    const getAssignmentContent = (id) => {
        setTaskOpened(getTask(id));
    };
    useEffect(() => {
        if (props.showTask) {
            getAssignmentContent('Assignment-1001');
        }
        else {
            setTaskOpened(undefined);
        }
    }, [props.showTask]);
    const onPreview = (e) => {
        action(`Previewable link: ${e.href}`)();
    };
    const onClick = (e, id) => {
        e.preventDefault();
        action(`Id: ${id}, event:${e}`)();
    };
    const HierarchicalAssignmentsMock = useMemo(() => {
        const assignmentAction = props.showAction ? { onOpen: getAssignmentContent } : {};
        return {
            assignments: [
                {
                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69001!SUBCASELEVEL11_FLOW_1_New45',
                    name: 'Complete investigation',
                    sla: '2025-03-22T10:56:27.000Z',
                    urgency: 95,
                    assigneeName: 'Una Newton',
                    assigneeId: 'una01',
                    onAssigneeClick,
                    ...assignmentAction
                }
            ],
            childCases: [
                {
                    name: 'Data Synch: Delta calculation',
                    id: 'SINTASK-1000',
                    status: {
                        variant: 'success',
                        text: 'Resolved Completed'
                    },
                    link: {
                        onPreview,
                        href: previewUrl,
                        onClick
                    }
                },
                {
                    name: 'Dawn Summers Investigation',
                    id: 'SINTASK-2000',
                    status: {
                        variant: 'info',
                        text: 'In Progress'
                    },
                    link: {
                        onPreview,
                        href: previewUrl,
                        onClick
                    },
                    assignments: [
                        {
                            id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69001!SUBCASELEVEL11_FLOW_1_New112',
                            processName: 'Review',
                            name: 'Complete Review',
                            sla: '2025-04-29T10:56:27.000Z',
                            urgency: 95,
                            assigneeName: 'Jean-Luc Picard',
                            assigneeId: 'una01',
                            onAssigneeClick,
                            ...assignmentAction
                        }
                    ],
                    childCases: [
                        {
                            name: 'Smart Layout refinements',
                            id: 'SINTASK-1000-3',
                            status: {
                                variant: 'success',
                                text: 'Resolved Completed'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            }
                        },
                        {
                            name: 'General Assessment',
                            id: 'SINTASK-1001',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69002!SUBCASELEVEL11_FLOW_1_New',
                                    name: 'Plan for development',
                                    sla: '2025-04-22T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Dr. Anastasia Romanov',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ],
                            childCases: [
                                {
                                    name: 'Menu Bar Enhancements',
                                    id: 'SINTASK-1001-10',
                                    status: {
                                        variant: 'info',
                                        text: 'In Progress'
                                    },
                                    link: {
                                        onPreview,
                                        href: previewUrl,
                                        onClick
                                    },
                                    assignments: [
                                        {
                                            id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69003!SUBCASELEVEL11_FLOW_1_New-1001-10',
                                            name: 'Investigate Long Process with Overflowing Details',
                                            sla: '2025-04-20T10:56:27.000Z',
                                            processName: 'Fix Correspondence',
                                            urgency: 95,
                                            assigneeName: 'Una Newton',
                                            assigneeId: 'una01',
                                            onAssigneeClick,
                                            ...assignmentAction
                                        }
                                    ],
                                    childCases: [
                                        {
                                            name: 'AutomationID-Easy to find Automation IDs with UI Inspector',
                                            id: 'TASK-1001',
                                            status: {
                                                variant: 'info',
                                                text: 'In Progress'
                                            },
                                            link: {
                                                onPreview,
                                                href: previewUrl
                                            },
                                            assignments: [
                                                {
                                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69004!SUBCASELEVEL11_FLOW_1_New-1001',
                                                    name: 'Plan',
                                                    sla: '2025-04-01T10:56:27.000Z',
                                                    urgency: 95,
                                                    assigneeName: 'John Doe',
                                                    assigneeId: 'una01',
                                                    onAssigneeClick,
                                                    ...assignmentAction
                                                }
                                            ],
                                            childCases: [
                                                {
                                                    name: 'Ensure guardrail-compliance of Branding',
                                                    id: 'TASK-1001-10',
                                                    status: {
                                                        variant: 'info',
                                                        text: 'In Progress'
                                                    },
                                                    link: {
                                                        onPreview,
                                                        href: previewUrl
                                                    },
                                                    assignments: [
                                                        {
                                                            id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69005!SUBCASELEVEL11_FLOW_1_New-1001-10',
                                                            name: 'Develop',
                                                            sla: '2025-03-23T10:56:27.000Z',
                                                            urgency: 95,
                                                            assigneeName: 'Una Newton',
                                                            assigneeId: 'una01',
                                                            onAssigneeClick,
                                                            ...assignmentAction
                                                        }
                                                    ],
                                                    childCases: [
                                                        {
                                                            name: 'Format Painter in Branding Wizard',
                                                            id: 'TASK-1001-10-1',
                                                            status: {
                                                                variant: 'info',
                                                                text: 'In Progress'
                                                            },
                                                            link: {
                                                                onPreview,
                                                                href: previewUrl
                                                            },
                                                            assignments: [
                                                                {
                                                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69006!SUBCASELEVEL11_FLOW_1_New',
                                                                    name: 'Close sprint',
                                                                    processName: 'Sprinting',
                                                                    sla: '2025-04-15T10:56:27.000Z',
                                                                    urgency: 95,
                                                                    assigneeName: 'Una Newton',
                                                                    assigneeId: 'una01',
                                                                    onAssigneeClick,
                                                                    ...assignmentAction
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            name: 'Source of Funds',
                            id: 'SINTASK-1002',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69003!SUBCASELEVEL11_FLOW_1_New-1002',
                                    name: 'Take Action',
                                    sla: '2025-04-17T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Una Newton',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ]
                        },
                        {
                            name: 'Adverse Media Screening',
                            id: 'SINTASK-1003',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69004!SUBCASELEVEL11_FLOW_1_New-1003',
                                    name: 'Plan for adoption',
                                    sla: '2025-04-17T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Una Newton',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ]
                        },
                        {
                            name: 'PEP Screening',
                            id: 'SINTASK-1004',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-69005!SUBCASELEVEL11_FLOW_1_New-1004',
                                    name: 'Open Ready',
                                    sla: '2025-04-18T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Una Newton',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ]
                        }
                    ]
                },
                {
                    name: 'Bill Investigation',
                    id: 'SINTASK-3000',
                    status: {
                        variant: 'success',
                        text: 'Resolved Completed'
                    },
                    link: {
                        onPreview,
                        href: previewUrl
                    },
                    childCases: [
                        {
                            name: 'General Assessment',
                            id: 'SINTASK-2001',
                            status: {
                                variant: 'success',
                                text: 'Resolved Completed'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            }
                        },
                        {
                            name: 'Source of Funds',
                            id: 'SINTASK-2002',
                            status: {
                                variant: 'warn',
                                text: 'Resolved Withdrawn'
                            },
                            link: {
                                onPreview,
                                href: previewUrl,
                                value: 'Source of Funds'
                            }
                        },
                        {
                            name: 'Adverse Media Screening',
                            id: 'SINTASK-2003',
                            status: {
                                variant: 'success',
                                text: 'Resolved Completed'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            }
                        },
                        {
                            name: 'PEP Screening',
                            id: 'SINTASK-2004',
                            status: {
                                variant: 'success',
                                text: 'Resolved Completed'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            }
                        }
                    ]
                },
                {
                    name: 'John Smith Investigation',
                    id: 'SINTASK-4000',
                    status: {
                        variant: 'info',
                        text: 'In Progress'
                    },
                    link: {
                        onPreview,
                        href: previewUrl
                    },
                    childCases: [
                        {
                            name: 'General Assessment',
                            id: 'SINTASK-3001',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-39006!SUBCASELEVEL11_FLOW_1_New',
                                    name: 'Conduct Screening',
                                    sla: '2025-04-17T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Una Newton',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ],
                            childCases: [
                                {
                                    name: 'Show Tabbed SF Bread crumbs ',
                                    id: 'SINTASK-3005',
                                    status: {
                                        variant: 'info',
                                        text: 'In Progress'
                                    },
                                    link: {
                                        onPreview,
                                        href: previewUrl
                                    },
                                    assignments: [
                                        {
                                            id: 'ASSIGN-WORKLIST LOANPROC-WORK S-39002!SUBCASELEVEL11_FLOW_1_New',
                                            name: 'Complete',
                                            sla: '2025-04-21T10:56:27.000Z',
                                            urgency: 95,
                                            assigneeName: 'Una Newton',
                                            assigneeId: 'una01',
                                            onAssigneeClick,
                                            ...assignmentAction
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            name: 'Source of Funds',
                            id: 'SINTASK-3002',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-39003!SUBCASELEVEL11_FLOW_1_New',
                                    name: 'Conduct Review',
                                    sla: '2025-04-19T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Una Newton',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ]
                        },
                        {
                            name: 'Adverse Media Screening',
                            id: 'SINTASK-3003',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-39004!SUBCASELEVEL11_FLOW_1_New',
                                    name: 'Conduct Verification',
                                    sla: '2025-04-11T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Una Newton',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ]
                        },
                        {
                            name: 'PEP Screening',
                            id: 'SINTASK-3004',
                            status: {
                                variant: 'info',
                                text: 'In Progress'
                            },
                            link: {
                                onPreview,
                                href: previewUrl
                            },
                            assignments: [
                                {
                                    id: 'ASSIGN-WORKLIST LOANPROC-WORK S-39005!SUBCASELEVEL11_FLOW_1_New',
                                    name: 'Design',
                                    sla: '2025-04-08T10:56:27.000Z',
                                    urgency: 95,
                                    assigneeName: 'Una Newton',
                                    assigneeId: 'una01',
                                    onAssigneeClick,
                                    ...assignmentAction
                                }
                            ]
                        }
                    ]
                }
            ]
        };
    }, [props.showAction]);
    return (<HierarchicalAssignments {...props} progress={props?.progress} assignments={HierarchicalAssignmentsMock.assignments} childCases={HierarchicalAssignmentsMock.childCases} openItem={taskOpened}/>);
};
export default MockHierarchicalAssignments;
//# sourceMappingURL=HierarchicalAssignments.mock.jsx.map