fix: [ui] date-picker, date-range-picker, searchable-select, multi-select-combobox, time-picker 개선
This commit is contained in:
@@ -163,6 +163,16 @@ function DatePicker({
|
||||
align={align}
|
||||
side={side}
|
||||
sideOffset={sideOffset}
|
||||
onPointerDownOutside={(e) => {
|
||||
// Dialog cascade 방지 (Portal 렌더링으로 인한 모달 닫힘 방지)
|
||||
// 단, Popover는 수동으로 닫기
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
onInteractOutside={(e) => {
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
>
|
||||
<div className="p-3">
|
||||
{showMonthPicker ? (
|
||||
|
||||
@@ -199,8 +199,14 @@ function DateRangePicker({
|
||||
<PopoverContent
|
||||
className="w-auto p-0"
|
||||
align={align}
|
||||
onPointerDownOutside={(e) => e.preventDefault()}
|
||||
onInteractOutside={(e) => e.preventDefault()}
|
||||
onPointerDownOutside={(e) => {
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
onInteractOutside={(e) => {
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
>
|
||||
<div className="p-3">
|
||||
{showMonthPicker ? (
|
||||
|
||||
@@ -88,8 +88,14 @@ export function MultiSelectCombobox({
|
||||
<PopoverContent
|
||||
className="w-[200px] p-0"
|
||||
align="start"
|
||||
onPointerDownOutside={(e) => e.preventDefault()}
|
||||
onInteractOutside={(e) => e.preventDefault()}
|
||||
onPointerDownOutside={(e) => {
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
onInteractOutside={(e) => {
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
>
|
||||
<Command>
|
||||
<CommandInput placeholder={searchPlaceholder} />
|
||||
|
||||
@@ -191,6 +191,16 @@ export function SearchableSelect({
|
||||
<PopoverContent
|
||||
className="w-[--radix-popover-trigger-width] p-0"
|
||||
align="start"
|
||||
onPointerDownOutside={(e) => {
|
||||
// Dialog cascade 방지 (Portal 렌더링으로 인한 모달 닫힘 방지)
|
||||
// 단, Popover는 수동으로 닫기
|
||||
e.preventDefault();
|
||||
handleOpenChange(false);
|
||||
}}
|
||||
onInteractOutside={(e) => {
|
||||
e.preventDefault();
|
||||
handleOpenChange(false);
|
||||
}}
|
||||
>
|
||||
<Command shouldFilter={!isServerSearch}>
|
||||
<CommandInput
|
||||
|
||||
@@ -138,8 +138,14 @@ function TimePicker({
|
||||
<PopoverContent
|
||||
className="w-auto p-0"
|
||||
align="start"
|
||||
onPointerDownOutside={(e) => e.preventDefault()}
|
||||
onInteractOutside={(e) => e.preventDefault()}
|
||||
onPointerDownOutside={(e) => {
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
onInteractOutside={(e) => {
|
||||
e.preventDefault();
|
||||
setOpen(false);
|
||||
}}
|
||||
>
|
||||
<div className="p-3">
|
||||
{/* 헤더 */}
|
||||
|
||||
Reference in New Issue
Block a user