diff --git a/packages/common/business_components/src/ui/dialog_ui/index.tsx b/packages/common/business_components/src/ui/dialog_ui/index.tsx index ef611fa40..0f14c211e 100644 --- a/packages/common/business_components/src/ui/dialog_ui/index.tsx +++ b/packages/common/business_components/src/ui/dialog_ui/index.tsx @@ -6,22 +6,40 @@ type ModalType = { body: React.ReactNode; open?: boolean; onOpenChange?: (open: boolean) => void; + noHeaderYn?: 'N' | 'Y'; + noFooterYn?: 'N' | 'Y'; + headerTitle?: string; + footerContent?: React.ReactNode; } -export function UiModal({ bodyClass, body, open, onOpenChange }: ModalType) { +export function UiModal({ + bodyClass, + body, + open, + onOpenChange, + noHeaderYn = 'N', + noFooterYn = 'N', + headerTitle, + footerContent +}: ModalType) { return ( <> - - - - - - {(open && body)} - - + {noHeaderYn === 'N' && ( + + + {headerTitle} + + + )} + {(open && body)} + {noFooterYn === 'N' && ( + + {footerContent} + + )} diff --git a/packages/common/business_components/src/ui/table/index.tsx b/packages/common/business_components/src/ui/table/index.tsx index 368abc5cc..c8ba18765 100644 --- a/packages/common/business_components/src/ui/table/index.tsx +++ b/packages/common/business_components/src/ui/table/index.tsx @@ -12,29 +12,36 @@ type UiTableProps = { cellClick : ((index:number|undefined, headId:string)=>void )| undefined; onPageChange: (page: number) => void; className?: string; + resetPageNo?: boolean; } type UiHeadProps = { id: string; title: string; + align?: string; } -export function UiTable({ tableData, headlist, pageSize, total, children, headName, cellClick, onPageChange, className = '' }: UiTableProps) { +export function UiTable({ tableData, headlist, pageSize, total, children, headName, cellClick, onPageChange, className = '', resetPageNo = false }: UiTableProps) { const [cur, setCur] = useState(1); const [idx, setIdx] = useState(-1); + + useEffect(() => { + if (resetPageNo) { + setCur(1); + onPageChange(1); + } + }, [onPageChange, resetPageNo]); + const handlePageChange = (page: number) => { setCur(page); onPageChange(page); } - const handleCellClick = (index: number,headId:string )=> { if (cellClick) { cellClick(index,headId); setIdx(index); } - - }; return ( @@ -43,8 +50,8 @@ export function UiTable({ tableData, headlist, pageSize, total, children, headNa

{headName}

: <>}
- - +
+ {children ? <>{children} : {headlist?.map((head) => ( {head.title} @@ -52,11 +59,19 @@ export function UiTable({ tableData, headlist, pageSize, total, children, headNa } - {tableData?.map((el: { [key: string]: any}, index) => ( - + {tableData?.map((el: { [key: string]: string | number | boolean | object}, index) => ( + {headlist?.map((head) => ( - // handleCellClick(index)} key={head.id + index}>{el[head.id]} - handleCellClick(index,head.id)} key={head.id + index}>{el[head.id]} + handleCellClick(index, head.id)} + key={head.id + index} + > + {String(el[head.id] ?? '')} + ))} ))} diff --git a/packages/common/components/src/ui/table/index.tsx b/packages/common/components/src/ui/table/index.tsx index 797f48dfd..082b2e33b 100644 --- a/packages/common/components/src/ui/table/index.tsx +++ b/packages/common/components/src/ui/table/index.tsx @@ -29,7 +29,7 @@ const TableHeader = React.forwardRef< HTMLTableSectionElement, React.HTMLAttributes >(({ className, ...props }, ref) => ( - + )); TableHeader.displayName = "TableHeader";