feat: [품질관리] 수주선택 모달 발주처별 비활성화 제약 추가
- SearchableSelectionModal에 isItemDisabled 콜백 prop 추가 (공통) - renderItem에 isDisabled 3번째 파라미터 전달 (하위호환) - disabled 아이템 클릭 차단 + opacity/cursor 스타일 적용 - 전체선택 시 disabled 아이템 제외 - OrderSelectModal: 선택된 발주처와 다른 발주처의 수주 비활성화 - 이미 선택된 아이템은 해제 가능 (disabled 예외)
This commit is contained in:
@@ -70,6 +70,11 @@ export function OrderSelectModal({
|
||||
onSelect={onSelect}
|
||||
confirmLabel="선택"
|
||||
allowSelectAll
|
||||
isItemDisabled={(item, selectedItems) => {
|
||||
if (selectedItems.length === 0) return false;
|
||||
const selectedClient = selectedItems[0].clientName;
|
||||
return item.clientName !== selectedClient;
|
||||
}}
|
||||
listWrapper={(children, selectState) => (
|
||||
<Table>
|
||||
<TableHeader>
|
||||
@@ -95,10 +100,10 @@ export function OrderSelectModal({
|
||||
</TableBody>
|
||||
</Table>
|
||||
)}
|
||||
renderItem={(item, isSelected) => (
|
||||
<TableRow className="cursor-pointer hover:bg-muted/50">
|
||||
renderItem={(item, isSelected, isDisabled) => (
|
||||
<TableRow className={isDisabled ? '' : 'hover:bg-muted/50'}>
|
||||
<TableCell onClick={(e) => e.stopPropagation()}>
|
||||
<Checkbox checked={isSelected} />
|
||||
<Checkbox checked={isSelected} disabled={isDisabled} />
|
||||
</TableCell>
|
||||
<TableCell>{item.orderNumber}</TableCell>
|
||||
<TableCell>{item.siteName}</TableCell>
|
||||
|
||||
Reference in New Issue
Block a user