sn: 시도 전체일 때, 시군구 목록 비우기
This commit is contained in:
@@ -57,7 +57,7 @@ export default function AgedPipePopupPage() {
|
||||
const sggOptions = useMemo(
|
||||
() =>
|
||||
filters.ctpvCd === "0"
|
||||
? sgg
|
||||
? []
|
||||
: sgg.filter((item) =>
|
||||
String(item.val).startsWith(filters.ctpvCd.slice(0, 2)),
|
||||
),
|
||||
|
||||
@@ -126,7 +126,7 @@ export default function FldngHstryPopupPage() {
|
||||
const sggOptions = useMemo(
|
||||
() =>
|
||||
filters.ctpvCd === "0"
|
||||
? sgg
|
||||
? []
|
||||
: sgg.filter((item) =>
|
||||
String(item.val).startsWith(filters.ctpvCd.slice(0, 2)),
|
||||
),
|
||||
|
||||
@@ -101,7 +101,7 @@ export default function FloodDngrMapPopupPage() {
|
||||
availableSggCodes.has(String(item.val).trim().slice(0, 5)),
|
||||
);
|
||||
return filters.ctpvCd === "0"
|
||||
? scopedOptions
|
||||
? []
|
||||
: scopedOptions.filter((item) =>
|
||||
String(item.val).startsWith(filters.ctpvCd.slice(0, 2)),
|
||||
);
|
||||
|
||||
@@ -388,7 +388,7 @@ export default function PipeAnalysisPopupPage() {
|
||||
const sggOptions = useMemo(
|
||||
() =>
|
||||
draftFilters.ctpvCd === "0"
|
||||
? sgg
|
||||
? []
|
||||
: sgg.filter((item) =>
|
||||
String(item.val).startsWith(draftFilters.ctpvCd.slice(0, 2)),
|
||||
),
|
||||
|
||||
@@ -85,7 +85,7 @@ export default function SbmrgDngrMapPopupPage() {
|
||||
availableSggCodes.has(String(item.val).trim().slice(0, 5)),
|
||||
);
|
||||
return filters.ctpvCd === "0"
|
||||
? scopedOptions
|
||||
? []
|
||||
: scopedOptions.filter((item) =>
|
||||
String(item.val).startsWith(filters.ctpvCd.slice(0, 2)),
|
||||
);
|
||||
|
||||
@@ -197,7 +197,7 @@ export default function SinkholePopupPage() {
|
||||
const sggOptions = useMemo(
|
||||
() =>
|
||||
filters.ctpvCd === "0"
|
||||
? sgg
|
||||
? []
|
||||
: sgg.filter((item) =>
|
||||
String(item.val).startsWith(filters.ctpvCd.slice(0, 2)),
|
||||
),
|
||||
|
||||
@@ -366,7 +366,7 @@ export default function WaterRiskPopupPage(_props: WindowPopupContentProps) {
|
||||
areaOptions
|
||||
.filter(
|
||||
(option) =>
|
||||
draftResultFilters.ctpvCd === "ALL" ||
|
||||
draftResultFilters.ctpvCd !== "ALL" &&
|
||||
option.ctpvCd === draftResultFilters.ctpvCd,
|
||||
)
|
||||
.forEach((option) => {
|
||||
@@ -382,7 +382,7 @@ export default function WaterRiskPopupPage(_props: WindowPopupContentProps) {
|
||||
() =>
|
||||
areaOptions.filter(
|
||||
(option) =>
|
||||
(draftResultFilters.ctpvCd === "ALL" ||
|
||||
(draftResultFilters.ctpvCd !== "ALL" &&
|
||||
option.ctpvCd === draftResultFilters.ctpvCd) &&
|
||||
(draftResultFilters.sggCd === "ALL" ||
|
||||
option.sggCd === draftResultFilters.sggCd),
|
||||
|
||||
@@ -361,7 +361,7 @@ const Page = () => {
|
||||
|
||||
/** 선택한 시도 코드와 앞 두 자리가 같은 시군구만 후보로 제공한다. */
|
||||
const availableSggOptions = useMemo(() => {
|
||||
if (ctpvCd === "0") return sggRegionOptions;
|
||||
if (ctpvCd === "0") return [];
|
||||
const ctpvPrefix = ctpvCd.slice(0, 2);
|
||||
return sggRegionOptions.filter((option) =>
|
||||
String(option.val).startsWith(ctpvPrefix),
|
||||
|
||||
@@ -41,7 +41,7 @@ export default function AgedPipeListModal({
|
||||
const { ctpv, sgg } = useStore();
|
||||
const lastClickRef = useRef<{ index: number; clickedAt: number } | null>(null);
|
||||
const sggOptions = filters.ctpvCd === "0"
|
||||
? sgg
|
||||
? []
|
||||
: sgg.filter((item) => String(item.val).startsWith(filters.ctpvCd.slice(0, 2)));
|
||||
|
||||
const handleRowClick = (index?: number) => {
|
||||
|
||||
@@ -240,7 +240,7 @@ export default function FldngPredcPrstPopupContent() {
|
||||
const sggOptions = useMemo(
|
||||
() =>
|
||||
filters.ctpvCd === "0"
|
||||
? sgg
|
||||
? []
|
||||
: sgg.filter((item) =>
|
||||
String(item.val).startsWith(filters.ctpvCd.slice(0, 2)),
|
||||
),
|
||||
|
||||
@@ -40,12 +40,15 @@ export const buildObsltPplRepresentativeSggOptions = (
|
||||
sggOptions: RegionOption[],
|
||||
ctpvCd: string,
|
||||
) => {
|
||||
// 시도가 전체(0)이면 시군구를 선택할 수 없도록 목록을 비운다.
|
||||
if (ctpvCd === "0") return [];
|
||||
|
||||
const representativeMap = new Map<string, RegionOption>();
|
||||
|
||||
sggOptions
|
||||
.filter((option) => {
|
||||
const optionCode = String(option.val ?? "").trim();
|
||||
return ctpvCd === "0" || optionCode.startsWith(ctpvCd.slice(0, 2));
|
||||
return optionCode.startsWith(ctpvCd.slice(0, 2));
|
||||
})
|
||||
.forEach((option) => {
|
||||
const representativeName = normalizeObsltPplSigunName(option.text);
|
||||
|
||||
Reference in New Issue
Block a user