fix: Select Basic 다중선택 높이 적용 및 menu_objid=0 타입 처리

1. Select Basic 다중선택 컴포넌트 높이 문제 해결
   - 외부 wrapper에 height: 100% 추가
   - 내부 div에 인라인 스타일로 height: 100% 명시
   - items-center 추가하여 태그 세로 가운데 정렬
   - Tailwind h-full 클래스 제거로 스타일 충돌 방지

2. 메뉴 복사 시 menu_objid=0 공통 카테고리 타입 처리
   - menu_objid가 숫자 0, 문자열 '0' 모두 처리
   - == 0 타입 강제 변환으로 모든 경우 감지
   - 카테고리 컬럼 매핑, 카테고리 값 모두 적용
   - 공통 카테고리 19개 정상 복사 가능
This commit is contained in:
kjs 2025-11-21 16:23:37 +09:00
parent 3355ff4563
commit c1e5a2a5f1
2 changed files with 18 additions and 7 deletions

View File

@ -1649,8 +1649,12 @@ export class MenuCopyService {
for (const mapping of settings.columnMappings) {
// menu_objid = 0인 공통 설정은 그대로 0으로 유지
let newMenuObjid: number | undefined;
if (mapping.menu_objid === 0) {
if (
mapping.menu_objid === 0 ||
mapping.menu_objid === "0" ||
mapping.menu_objid == 0
) {
newMenuObjid = 0; // 공통 설정
} else {
newMenuObjid = menuIdMap.get(mapping.menu_objid);
@ -1714,8 +1718,12 @@ export class MenuCopyService {
for (const value of sortedValues) {
// menu_objid = 0인 공통 설정은 그대로 0으로 유지
let newMenuObjid: number | undefined;
if (value.menu_objid === 0) {
if (
value.menu_objid === 0 ||
value.menu_objid === "0" ||
value.menu_objid == 0
) {
newMenuObjid = 0; // 공통 설정
} else {
newMenuObjid = menuIdMap.get(value.menu_objid);

View File

@ -640,15 +640,18 @@ const SelectBasicComponent: React.FC<SelectBasicComponentProps> = ({
// 다중선택 모드인 경우
if (isMultiple) {
return (
<div className="w-full">
<div className="w-full" style={{ height: "100%" }}>
<div
className={cn(
"box-border flex h-full min-h-[40px] w-full flex-wrap gap-2 rounded-lg border border-gray-300 bg-white px-3 py-2",
"box-border flex w-full flex-wrap items-center gap-2 rounded-lg border border-gray-300 bg-white px-3 py-2",
!isDesignMode && "hover:border-orange-400",
isSelected && "ring-2 ring-orange-500",
)}
onClick={() => !isDesignMode && setIsOpen(true)}
style={{ pointerEvents: isDesignMode ? "none" : "auto" }}
style={{
pointerEvents: isDesignMode ? "none" : "auto",
height: "100%"
}}
>
{selectedValues.map((val, idx) => {
const opt = allOptions.find((o) => o.value === val);