@mint-ui/map 1.2.0-test.70 → 1.2.0-test.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/renderer.js +141 -141
- package/dist/index.es.js +141 -141
- package/dist/index.umd.js +141 -141
- package/package.json +1 -1
|
@@ -245,7 +245,24 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
|
|
|
245
245
|
return item.id;
|
|
246
246
|
})) : new Set();
|
|
247
247
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
248
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
248
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
249
|
+
|
|
250
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
251
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
252
|
+
|
|
253
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
254
|
+
|
|
255
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
256
|
+
drawPolygon({
|
|
257
|
+
ctx: ctx,
|
|
258
|
+
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
259
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
260
|
+
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
261
|
+
polygonOffsets: polygonOffsets,
|
|
262
|
+
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
263
|
+
});
|
|
264
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
265
|
+
|
|
249
266
|
|
|
250
267
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
251
268
|
for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
|
|
@@ -264,7 +281,7 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
|
|
|
264
281
|
strokeColor: _selectedStrokeColor
|
|
265
282
|
});
|
|
266
283
|
}
|
|
267
|
-
} //
|
|
284
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
268
285
|
|
|
269
286
|
|
|
270
287
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -280,23 +297,6 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
|
|
|
280
297
|
strokeColor: _activeStrokeColor
|
|
281
298
|
});
|
|
282
299
|
}
|
|
283
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
287
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
288
|
-
|
|
289
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
290
|
-
|
|
291
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
292
|
-
drawPolygon({
|
|
293
|
-
ctx: ctx,
|
|
294
|
-
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
295
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
296
|
-
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
297
|
-
polygonOffsets: polygonOffsets,
|
|
298
|
-
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
299
|
-
});
|
|
300
300
|
}
|
|
301
301
|
};
|
|
302
302
|
};
|
|
@@ -403,7 +403,24 @@ var renderPolygonEventWithObject = function (renderStyle) {
|
|
|
403
403
|
return item.id;
|
|
404
404
|
})) : new Set();
|
|
405
405
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
406
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
406
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
407
|
+
|
|
408
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
409
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
410
|
+
|
|
411
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
412
|
+
|
|
413
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
414
|
+
drawPolygon({
|
|
415
|
+
ctx: ctx,
|
|
416
|
+
fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
|
|
417
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
418
|
+
lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
|
|
419
|
+
polygonOffsets: polygonOffsets,
|
|
420
|
+
strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
|
|
421
|
+
});
|
|
422
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
423
|
+
|
|
407
424
|
|
|
408
425
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
409
426
|
for (var _i = 0, selectedItems_2 = selectedItems; _i < selectedItems_2.length; _i++) {
|
|
@@ -422,7 +439,7 @@ var renderPolygonEventWithObject = function (renderStyle) {
|
|
|
422
439
|
strokeColor: _selectedStyle.strokeColor
|
|
423
440
|
});
|
|
424
441
|
}
|
|
425
|
-
} //
|
|
442
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
426
443
|
|
|
427
444
|
|
|
428
445
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -438,23 +455,6 @@ var renderPolygonEventWithObject = function (renderStyle) {
|
|
|
438
455
|
strokeColor: _activeStyle.strokeColor
|
|
439
456
|
});
|
|
440
457
|
}
|
|
441
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
445
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
446
|
-
|
|
447
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
448
|
-
|
|
449
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
450
|
-
drawPolygon({
|
|
451
|
-
ctx: ctx,
|
|
452
|
-
fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
|
|
453
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
454
|
-
lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
|
|
455
|
-
polygonOffsets: polygonOffsets,
|
|
456
|
-
strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
|
|
457
|
-
});
|
|
458
458
|
}
|
|
459
459
|
};
|
|
460
460
|
};
|
|
@@ -569,7 +569,32 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
|
|
|
569
569
|
return item.id;
|
|
570
570
|
})) : new Set();
|
|
571
571
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
572
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
572
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
573
|
+
|
|
574
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
575
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
576
|
+
|
|
577
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
578
|
+
|
|
579
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
580
|
+
var context = {
|
|
581
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
582
|
+
isHovered: !isSelected,
|
|
583
|
+
isSelected: isSelected
|
|
584
|
+
};
|
|
585
|
+
var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
|
|
586
|
+
|
|
587
|
+
if (!style) return;
|
|
588
|
+
drawPolygon({
|
|
589
|
+
ctx: ctx,
|
|
590
|
+
fillColor: style.fillColor,
|
|
591
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
592
|
+
lineWidth: style.lineWidth,
|
|
593
|
+
polygonOffsets: polygonOffsets,
|
|
594
|
+
strokeColor: style.strokeColor
|
|
595
|
+
});
|
|
596
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
597
|
+
|
|
573
598
|
|
|
574
599
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
575
600
|
for (var _i = 0, selectedItems_3 = selectedItems; _i < selectedItems_3.length; _i++) {
|
|
@@ -596,7 +621,7 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
|
|
|
596
621
|
strokeColor: style.strokeColor
|
|
597
622
|
});
|
|
598
623
|
}
|
|
599
|
-
} //
|
|
624
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
600
625
|
|
|
601
626
|
|
|
602
627
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -620,31 +645,6 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
|
|
|
620
645
|
strokeColor: style.strokeColor
|
|
621
646
|
});
|
|
622
647
|
}
|
|
623
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
627
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
628
|
-
|
|
629
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
630
|
-
|
|
631
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
632
|
-
var context = {
|
|
633
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
634
|
-
isHovered: !isSelected,
|
|
635
|
-
isSelected: isSelected
|
|
636
|
-
};
|
|
637
|
-
var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
|
|
638
|
-
|
|
639
|
-
if (!style) return;
|
|
640
|
-
drawPolygon({
|
|
641
|
-
ctx: ctx,
|
|
642
|
-
fillColor: style.fillColor,
|
|
643
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
644
|
-
lineWidth: style.lineWidth,
|
|
645
|
-
polygonOffsets: polygonOffsets,
|
|
646
|
-
strokeColor: style.strokeColor
|
|
647
|
-
});
|
|
648
648
|
}
|
|
649
649
|
};
|
|
650
650
|
};
|
|
@@ -765,7 +765,45 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
|
|
|
765
765
|
return item.id;
|
|
766
766
|
})) : new Set();
|
|
767
767
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
768
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
768
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
769
|
+
|
|
770
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
771
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
772
|
+
|
|
773
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
774
|
+
|
|
775
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
776
|
+
|
|
777
|
+
var style = void 0;
|
|
778
|
+
|
|
779
|
+
if (customStyle) {
|
|
780
|
+
var context = {
|
|
781
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
782
|
+
isHovered: !isSelected,
|
|
783
|
+
isSelected: isSelected
|
|
784
|
+
};
|
|
785
|
+
style = customStyle(hoveredItem, context);
|
|
786
|
+
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
if (!style) {
|
|
790
|
+
style = {
|
|
791
|
+
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
792
|
+
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
793
|
+
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
794
|
+
};
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
drawPolygon({
|
|
798
|
+
ctx: ctx,
|
|
799
|
+
fillColor: style.fillColor,
|
|
800
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
801
|
+
lineWidth: style.lineWidth,
|
|
802
|
+
polygonOffsets: polygonOffsets,
|
|
803
|
+
strokeColor: style.strokeColor
|
|
804
|
+
});
|
|
805
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
806
|
+
|
|
769
807
|
|
|
770
808
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
771
809
|
for (var _i = 0, selectedItems_4 = selectedItems; _i < selectedItems_4.length; _i++) {
|
|
@@ -805,7 +843,7 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
|
|
|
805
843
|
strokeColor: style.strokeColor
|
|
806
844
|
});
|
|
807
845
|
}
|
|
808
|
-
} //
|
|
846
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
809
847
|
|
|
810
848
|
|
|
811
849
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -842,44 +880,6 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
|
|
|
842
880
|
strokeColor: style.strokeColor
|
|
843
881
|
});
|
|
844
882
|
}
|
|
845
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
849
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
850
|
-
|
|
851
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
852
|
-
|
|
853
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
854
|
-
|
|
855
|
-
var style = void 0;
|
|
856
|
-
|
|
857
|
-
if (customStyle) {
|
|
858
|
-
var context = {
|
|
859
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
860
|
-
isHovered: !isSelected,
|
|
861
|
-
isSelected: isSelected
|
|
862
|
-
};
|
|
863
|
-
style = customStyle(hoveredItem, context);
|
|
864
|
-
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
if (!style) {
|
|
868
|
-
style = {
|
|
869
|
-
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
870
|
-
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
871
|
-
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
872
|
-
};
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
drawPolygon({
|
|
876
|
-
ctx: ctx,
|
|
877
|
-
fillColor: style.fillColor,
|
|
878
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
879
|
-
lineWidth: style.lineWidth,
|
|
880
|
-
polygonOffsets: polygonOffsets,
|
|
881
|
-
strokeColor: style.strokeColor
|
|
882
|
-
});
|
|
883
883
|
}
|
|
884
884
|
};
|
|
885
885
|
};
|
|
@@ -971,7 +971,41 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
|
|
|
971
971
|
return item.id;
|
|
972
972
|
})) : new Set();
|
|
973
973
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
974
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
974
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
975
|
+
|
|
976
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
977
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
978
|
+
|
|
979
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
980
|
+
|
|
981
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
982
|
+
|
|
983
|
+
var style = void 0;
|
|
984
|
+
|
|
985
|
+
if (customStyle) {
|
|
986
|
+
var context = {
|
|
987
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
988
|
+
isHovered: !isSelected,
|
|
989
|
+
isSelected: isSelected
|
|
990
|
+
};
|
|
991
|
+
style = customStyle(hoveredItem, context);
|
|
992
|
+
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
993
|
+
|
|
994
|
+
|
|
995
|
+
if (!style) {
|
|
996
|
+
style = isSelected ? _activeStyle : _hoveredStyle;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
drawPolygon({
|
|
1000
|
+
ctx: ctx,
|
|
1001
|
+
fillColor: style.fillColor,
|
|
1002
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
1003
|
+
lineWidth: style.lineWidth,
|
|
1004
|
+
polygonOffsets: polygonOffsets,
|
|
1005
|
+
strokeColor: style.strokeColor
|
|
1006
|
+
});
|
|
1007
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
1008
|
+
|
|
975
1009
|
|
|
976
1010
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
977
1011
|
for (var _i = 0, selectedItems_5 = selectedItems; _i < selectedItems_5.length; _i++) {
|
|
@@ -1007,7 +1041,7 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
|
|
|
1007
1041
|
strokeColor: style.strokeColor
|
|
1008
1042
|
});
|
|
1009
1043
|
}
|
|
1010
|
-
} //
|
|
1044
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
1011
1045
|
|
|
1012
1046
|
|
|
1013
1047
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -1040,40 +1074,6 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
|
|
|
1040
1074
|
strokeColor: style.strokeColor
|
|
1041
1075
|
});
|
|
1042
1076
|
}
|
|
1043
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
1047
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
1048
|
-
|
|
1049
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
1050
|
-
|
|
1051
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
1052
|
-
|
|
1053
|
-
var style = void 0;
|
|
1054
|
-
|
|
1055
|
-
if (customStyle) {
|
|
1056
|
-
var context = {
|
|
1057
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
1058
|
-
isHovered: !isSelected,
|
|
1059
|
-
isSelected: isSelected
|
|
1060
|
-
};
|
|
1061
|
-
style = customStyle(hoveredItem, context);
|
|
1062
|
-
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
if (!style) {
|
|
1066
|
-
style = isSelected ? _activeStyle : _hoveredStyle;
|
|
1067
|
-
}
|
|
1068
|
-
|
|
1069
|
-
drawPolygon({
|
|
1070
|
-
ctx: ctx,
|
|
1071
|
-
fillColor: style.fillColor,
|
|
1072
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
1073
|
-
lineWidth: style.lineWidth,
|
|
1074
|
-
polygonOffsets: polygonOffsets,
|
|
1075
|
-
strokeColor: style.strokeColor
|
|
1076
|
-
});
|
|
1077
1077
|
}
|
|
1078
1078
|
};
|
|
1079
1079
|
};
|
package/dist/index.es.js
CHANGED
|
@@ -5087,7 +5087,24 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
|
|
|
5087
5087
|
return item.id;
|
|
5088
5088
|
})) : new Set();
|
|
5089
5089
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5090
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5090
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5091
|
+
|
|
5092
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5093
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5094
|
+
|
|
5095
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5096
|
+
|
|
5097
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5098
|
+
drawPolygon({
|
|
5099
|
+
ctx: ctx,
|
|
5100
|
+
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5101
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5102
|
+
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5103
|
+
polygonOffsets: polygonOffsets,
|
|
5104
|
+
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5105
|
+
});
|
|
5106
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5107
|
+
|
|
5091
5108
|
|
|
5092
5109
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5093
5110
|
for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
|
|
@@ -5106,7 +5123,7 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
|
|
|
5106
5123
|
strokeColor: _selectedStrokeColor
|
|
5107
5124
|
});
|
|
5108
5125
|
}
|
|
5109
|
-
} //
|
|
5126
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5110
5127
|
|
|
5111
5128
|
|
|
5112
5129
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5122,23 +5139,6 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
|
|
|
5122
5139
|
strokeColor: _activeStrokeColor
|
|
5123
5140
|
});
|
|
5124
5141
|
}
|
|
5125
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5129
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5130
|
-
|
|
5131
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5132
|
-
|
|
5133
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5134
|
-
drawPolygon({
|
|
5135
|
-
ctx: ctx,
|
|
5136
|
-
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5137
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5138
|
-
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5139
|
-
polygonOffsets: polygonOffsets,
|
|
5140
|
-
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5141
|
-
});
|
|
5142
5142
|
}
|
|
5143
5143
|
};
|
|
5144
5144
|
};
|
|
@@ -5245,7 +5245,24 @@ var renderPolygonEventWithObject = function (renderStyle) {
|
|
|
5245
5245
|
return item.id;
|
|
5246
5246
|
})) : new Set();
|
|
5247
5247
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5248
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5248
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5249
|
+
|
|
5250
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5251
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5252
|
+
|
|
5253
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5254
|
+
|
|
5255
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5256
|
+
drawPolygon({
|
|
5257
|
+
ctx: ctx,
|
|
5258
|
+
fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
|
|
5259
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5260
|
+
lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
|
|
5261
|
+
polygonOffsets: polygonOffsets,
|
|
5262
|
+
strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
|
|
5263
|
+
});
|
|
5264
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5265
|
+
|
|
5249
5266
|
|
|
5250
5267
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5251
5268
|
for (var _i = 0, selectedItems_2 = selectedItems; _i < selectedItems_2.length; _i++) {
|
|
@@ -5264,7 +5281,7 @@ var renderPolygonEventWithObject = function (renderStyle) {
|
|
|
5264
5281
|
strokeColor: _selectedStyle.strokeColor
|
|
5265
5282
|
});
|
|
5266
5283
|
}
|
|
5267
|
-
} //
|
|
5284
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5268
5285
|
|
|
5269
5286
|
|
|
5270
5287
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5280,23 +5297,6 @@ var renderPolygonEventWithObject = function (renderStyle) {
|
|
|
5280
5297
|
strokeColor: _activeStyle.strokeColor
|
|
5281
5298
|
});
|
|
5282
5299
|
}
|
|
5283
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5287
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5288
|
-
|
|
5289
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5290
|
-
|
|
5291
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5292
|
-
drawPolygon({
|
|
5293
|
-
ctx: ctx,
|
|
5294
|
-
fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
|
|
5295
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5296
|
-
lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
|
|
5297
|
-
polygonOffsets: polygonOffsets,
|
|
5298
|
-
strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
|
|
5299
|
-
});
|
|
5300
5300
|
}
|
|
5301
5301
|
};
|
|
5302
5302
|
};
|
|
@@ -5411,7 +5411,32 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
|
|
|
5411
5411
|
return item.id;
|
|
5412
5412
|
})) : new Set();
|
|
5413
5413
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5414
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5414
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5415
|
+
|
|
5416
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5417
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5418
|
+
|
|
5419
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5420
|
+
|
|
5421
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5422
|
+
var context = {
|
|
5423
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5424
|
+
isHovered: !isSelected,
|
|
5425
|
+
isSelected: isSelected
|
|
5426
|
+
};
|
|
5427
|
+
var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
|
|
5428
|
+
|
|
5429
|
+
if (!style) return;
|
|
5430
|
+
drawPolygon({
|
|
5431
|
+
ctx: ctx,
|
|
5432
|
+
fillColor: style.fillColor,
|
|
5433
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5434
|
+
lineWidth: style.lineWidth,
|
|
5435
|
+
polygonOffsets: polygonOffsets,
|
|
5436
|
+
strokeColor: style.strokeColor
|
|
5437
|
+
});
|
|
5438
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5439
|
+
|
|
5415
5440
|
|
|
5416
5441
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5417
5442
|
for (var _i = 0, selectedItems_3 = selectedItems; _i < selectedItems_3.length; _i++) {
|
|
@@ -5438,7 +5463,7 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
|
|
|
5438
5463
|
strokeColor: style.strokeColor
|
|
5439
5464
|
});
|
|
5440
5465
|
}
|
|
5441
|
-
} //
|
|
5466
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5442
5467
|
|
|
5443
5468
|
|
|
5444
5469
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5462,31 +5487,6 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
|
|
|
5462
5487
|
strokeColor: style.strokeColor
|
|
5463
5488
|
});
|
|
5464
5489
|
}
|
|
5465
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5469
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5470
|
-
|
|
5471
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5472
|
-
|
|
5473
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5474
|
-
var context = {
|
|
5475
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5476
|
-
isHovered: !isSelected,
|
|
5477
|
-
isSelected: isSelected
|
|
5478
|
-
};
|
|
5479
|
-
var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
|
|
5480
|
-
|
|
5481
|
-
if (!style) return;
|
|
5482
|
-
drawPolygon({
|
|
5483
|
-
ctx: ctx,
|
|
5484
|
-
fillColor: style.fillColor,
|
|
5485
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5486
|
-
lineWidth: style.lineWidth,
|
|
5487
|
-
polygonOffsets: polygonOffsets,
|
|
5488
|
-
strokeColor: style.strokeColor
|
|
5489
|
-
});
|
|
5490
5490
|
}
|
|
5491
5491
|
};
|
|
5492
5492
|
};
|
|
@@ -5607,7 +5607,45 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
|
|
|
5607
5607
|
return item.id;
|
|
5608
5608
|
})) : new Set();
|
|
5609
5609
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5610
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5610
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5611
|
+
|
|
5612
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5613
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5614
|
+
|
|
5615
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5616
|
+
|
|
5617
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5618
|
+
|
|
5619
|
+
var style = void 0;
|
|
5620
|
+
|
|
5621
|
+
if (customStyle) {
|
|
5622
|
+
var context = {
|
|
5623
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5624
|
+
isHovered: !isSelected,
|
|
5625
|
+
isSelected: isSelected
|
|
5626
|
+
};
|
|
5627
|
+
style = customStyle(hoveredItem, context);
|
|
5628
|
+
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5629
|
+
|
|
5630
|
+
|
|
5631
|
+
if (!style) {
|
|
5632
|
+
style = {
|
|
5633
|
+
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5634
|
+
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5635
|
+
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5636
|
+
};
|
|
5637
|
+
}
|
|
5638
|
+
|
|
5639
|
+
drawPolygon({
|
|
5640
|
+
ctx: ctx,
|
|
5641
|
+
fillColor: style.fillColor,
|
|
5642
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5643
|
+
lineWidth: style.lineWidth,
|
|
5644
|
+
polygonOffsets: polygonOffsets,
|
|
5645
|
+
strokeColor: style.strokeColor
|
|
5646
|
+
});
|
|
5647
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5648
|
+
|
|
5611
5649
|
|
|
5612
5650
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5613
5651
|
for (var _i = 0, selectedItems_4 = selectedItems; _i < selectedItems_4.length; _i++) {
|
|
@@ -5647,7 +5685,7 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
|
|
|
5647
5685
|
strokeColor: style.strokeColor
|
|
5648
5686
|
});
|
|
5649
5687
|
}
|
|
5650
|
-
} //
|
|
5688
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5651
5689
|
|
|
5652
5690
|
|
|
5653
5691
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5684,44 +5722,6 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
|
|
|
5684
5722
|
strokeColor: style.strokeColor
|
|
5685
5723
|
});
|
|
5686
5724
|
}
|
|
5687
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5691
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5692
|
-
|
|
5693
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5694
|
-
|
|
5695
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5696
|
-
|
|
5697
|
-
var style = void 0;
|
|
5698
|
-
|
|
5699
|
-
if (customStyle) {
|
|
5700
|
-
var context = {
|
|
5701
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5702
|
-
isHovered: !isSelected,
|
|
5703
|
-
isSelected: isSelected
|
|
5704
|
-
};
|
|
5705
|
-
style = customStyle(hoveredItem, context);
|
|
5706
|
-
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5707
|
-
|
|
5708
|
-
|
|
5709
|
-
if (!style) {
|
|
5710
|
-
style = {
|
|
5711
|
-
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5712
|
-
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5713
|
-
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5714
|
-
};
|
|
5715
|
-
}
|
|
5716
|
-
|
|
5717
|
-
drawPolygon({
|
|
5718
|
-
ctx: ctx,
|
|
5719
|
-
fillColor: style.fillColor,
|
|
5720
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5721
|
-
lineWidth: style.lineWidth,
|
|
5722
|
-
polygonOffsets: polygonOffsets,
|
|
5723
|
-
strokeColor: style.strokeColor
|
|
5724
|
-
});
|
|
5725
5725
|
}
|
|
5726
5726
|
};
|
|
5727
5727
|
};
|
|
@@ -5813,7 +5813,41 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
|
|
|
5813
5813
|
return item.id;
|
|
5814
5814
|
})) : new Set();
|
|
5815
5815
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5816
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5816
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5817
|
+
|
|
5818
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5819
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5820
|
+
|
|
5821
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5822
|
+
|
|
5823
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5824
|
+
|
|
5825
|
+
var style = void 0;
|
|
5826
|
+
|
|
5827
|
+
if (customStyle) {
|
|
5828
|
+
var context = {
|
|
5829
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5830
|
+
isHovered: !isSelected,
|
|
5831
|
+
isSelected: isSelected
|
|
5832
|
+
};
|
|
5833
|
+
style = customStyle(hoveredItem, context);
|
|
5834
|
+
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5835
|
+
|
|
5836
|
+
|
|
5837
|
+
if (!style) {
|
|
5838
|
+
style = isSelected ? _activeStyle : _hoveredStyle;
|
|
5839
|
+
}
|
|
5840
|
+
|
|
5841
|
+
drawPolygon({
|
|
5842
|
+
ctx: ctx,
|
|
5843
|
+
fillColor: style.fillColor,
|
|
5844
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5845
|
+
lineWidth: style.lineWidth,
|
|
5846
|
+
polygonOffsets: polygonOffsets,
|
|
5847
|
+
strokeColor: style.strokeColor
|
|
5848
|
+
});
|
|
5849
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5850
|
+
|
|
5817
5851
|
|
|
5818
5852
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5819
5853
|
for (var _i = 0, selectedItems_5 = selectedItems; _i < selectedItems_5.length; _i++) {
|
|
@@ -5849,7 +5883,7 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
|
|
|
5849
5883
|
strokeColor: style.strokeColor
|
|
5850
5884
|
});
|
|
5851
5885
|
}
|
|
5852
|
-
} //
|
|
5886
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5853
5887
|
|
|
5854
5888
|
|
|
5855
5889
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5882,40 +5916,6 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
|
|
|
5882
5916
|
strokeColor: style.strokeColor
|
|
5883
5917
|
});
|
|
5884
5918
|
}
|
|
5885
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5889
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5890
|
-
|
|
5891
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5892
|
-
|
|
5893
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5894
|
-
|
|
5895
|
-
var style = void 0;
|
|
5896
|
-
|
|
5897
|
-
if (customStyle) {
|
|
5898
|
-
var context = {
|
|
5899
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5900
|
-
isHovered: !isSelected,
|
|
5901
|
-
isSelected: isSelected
|
|
5902
|
-
};
|
|
5903
|
-
style = customStyle(hoveredItem, context);
|
|
5904
|
-
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
if (!style) {
|
|
5908
|
-
style = isSelected ? _activeStyle : _hoveredStyle;
|
|
5909
|
-
}
|
|
5910
|
-
|
|
5911
|
-
drawPolygon({
|
|
5912
|
-
ctx: ctx,
|
|
5913
|
-
fillColor: style.fillColor,
|
|
5914
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5915
|
-
lineWidth: style.lineWidth,
|
|
5916
|
-
polygonOffsets: polygonOffsets,
|
|
5917
|
-
strokeColor: style.strokeColor
|
|
5918
|
-
});
|
|
5919
5919
|
}
|
|
5920
5920
|
};
|
|
5921
5921
|
};
|
package/dist/index.umd.js
CHANGED
|
@@ -5091,7 +5091,24 @@
|
|
|
5091
5091
|
return item.id;
|
|
5092
5092
|
})) : new Set();
|
|
5093
5093
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5094
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5094
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5095
|
+
|
|
5096
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5097
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5098
|
+
|
|
5099
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5100
|
+
|
|
5101
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5102
|
+
drawPolygon({
|
|
5103
|
+
ctx: ctx,
|
|
5104
|
+
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5105
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5106
|
+
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5107
|
+
polygonOffsets: polygonOffsets,
|
|
5108
|
+
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5109
|
+
});
|
|
5110
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5111
|
+
|
|
5095
5112
|
|
|
5096
5113
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5097
5114
|
for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
|
|
@@ -5110,7 +5127,7 @@
|
|
|
5110
5127
|
strokeColor: _selectedStrokeColor
|
|
5111
5128
|
});
|
|
5112
5129
|
}
|
|
5113
|
-
} //
|
|
5130
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5114
5131
|
|
|
5115
5132
|
|
|
5116
5133
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5126,23 +5143,6 @@
|
|
|
5126
5143
|
strokeColor: _activeStrokeColor
|
|
5127
5144
|
});
|
|
5128
5145
|
}
|
|
5129
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5133
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5134
|
-
|
|
5135
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5136
|
-
|
|
5137
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5138
|
-
drawPolygon({
|
|
5139
|
-
ctx: ctx,
|
|
5140
|
-
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5141
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5142
|
-
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5143
|
-
polygonOffsets: polygonOffsets,
|
|
5144
|
-
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5145
|
-
});
|
|
5146
5146
|
}
|
|
5147
5147
|
};
|
|
5148
5148
|
};
|
|
@@ -5249,7 +5249,24 @@
|
|
|
5249
5249
|
return item.id;
|
|
5250
5250
|
})) : new Set();
|
|
5251
5251
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5252
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5252
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5253
|
+
|
|
5254
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5255
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5256
|
+
|
|
5257
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5258
|
+
|
|
5259
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5260
|
+
drawPolygon({
|
|
5261
|
+
ctx: ctx,
|
|
5262
|
+
fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
|
|
5263
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5264
|
+
lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
|
|
5265
|
+
polygonOffsets: polygonOffsets,
|
|
5266
|
+
strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
|
|
5267
|
+
});
|
|
5268
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5269
|
+
|
|
5253
5270
|
|
|
5254
5271
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5255
5272
|
for (var _i = 0, selectedItems_2 = selectedItems; _i < selectedItems_2.length; _i++) {
|
|
@@ -5268,7 +5285,7 @@
|
|
|
5268
5285
|
strokeColor: _selectedStyle.strokeColor
|
|
5269
5286
|
});
|
|
5270
5287
|
}
|
|
5271
|
-
} //
|
|
5288
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5272
5289
|
|
|
5273
5290
|
|
|
5274
5291
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5284,23 +5301,6 @@
|
|
|
5284
5301
|
strokeColor: _activeStyle.strokeColor
|
|
5285
5302
|
});
|
|
5286
5303
|
}
|
|
5287
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5291
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5292
|
-
|
|
5293
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5294
|
-
|
|
5295
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5296
|
-
drawPolygon({
|
|
5297
|
-
ctx: ctx,
|
|
5298
|
-
fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
|
|
5299
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5300
|
-
lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
|
|
5301
|
-
polygonOffsets: polygonOffsets,
|
|
5302
|
-
strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
|
|
5303
|
-
});
|
|
5304
5304
|
}
|
|
5305
5305
|
};
|
|
5306
5306
|
};
|
|
@@ -5415,7 +5415,32 @@
|
|
|
5415
5415
|
return item.id;
|
|
5416
5416
|
})) : new Set();
|
|
5417
5417
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5418
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5418
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5419
|
+
|
|
5420
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5421
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5422
|
+
|
|
5423
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5424
|
+
|
|
5425
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5426
|
+
var context = {
|
|
5427
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5428
|
+
isHovered: !isSelected,
|
|
5429
|
+
isSelected: isSelected
|
|
5430
|
+
};
|
|
5431
|
+
var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
|
|
5432
|
+
|
|
5433
|
+
if (!style) return;
|
|
5434
|
+
drawPolygon({
|
|
5435
|
+
ctx: ctx,
|
|
5436
|
+
fillColor: style.fillColor,
|
|
5437
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5438
|
+
lineWidth: style.lineWidth,
|
|
5439
|
+
polygonOffsets: polygonOffsets,
|
|
5440
|
+
strokeColor: style.strokeColor
|
|
5441
|
+
});
|
|
5442
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5443
|
+
|
|
5419
5444
|
|
|
5420
5445
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5421
5446
|
for (var _i = 0, selectedItems_3 = selectedItems; _i < selectedItems_3.length; _i++) {
|
|
@@ -5442,7 +5467,7 @@
|
|
|
5442
5467
|
strokeColor: style.strokeColor
|
|
5443
5468
|
});
|
|
5444
5469
|
}
|
|
5445
|
-
} //
|
|
5470
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5446
5471
|
|
|
5447
5472
|
|
|
5448
5473
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5466,31 +5491,6 @@
|
|
|
5466
5491
|
strokeColor: style.strokeColor
|
|
5467
5492
|
});
|
|
5468
5493
|
}
|
|
5469
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5473
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5474
|
-
|
|
5475
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5476
|
-
|
|
5477
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id);
|
|
5478
|
-
var context = {
|
|
5479
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5480
|
-
isHovered: !isSelected,
|
|
5481
|
-
isSelected: isSelected
|
|
5482
|
-
};
|
|
5483
|
-
var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
|
|
5484
|
-
|
|
5485
|
-
if (!style) return;
|
|
5486
|
-
drawPolygon({
|
|
5487
|
-
ctx: ctx,
|
|
5488
|
-
fillColor: style.fillColor,
|
|
5489
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5490
|
-
lineWidth: style.lineWidth,
|
|
5491
|
-
polygonOffsets: polygonOffsets,
|
|
5492
|
-
strokeColor: style.strokeColor
|
|
5493
|
-
});
|
|
5494
5494
|
}
|
|
5495
5495
|
};
|
|
5496
5496
|
};
|
|
@@ -5611,7 +5611,45 @@
|
|
|
5611
5611
|
return item.id;
|
|
5612
5612
|
})) : new Set();
|
|
5613
5613
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5614
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5614
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5615
|
+
|
|
5616
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5617
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5618
|
+
|
|
5619
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5620
|
+
|
|
5621
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5622
|
+
|
|
5623
|
+
var style = void 0;
|
|
5624
|
+
|
|
5625
|
+
if (customStyle) {
|
|
5626
|
+
var context = {
|
|
5627
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5628
|
+
isHovered: !isSelected,
|
|
5629
|
+
isSelected: isSelected
|
|
5630
|
+
};
|
|
5631
|
+
style = customStyle(hoveredItem, context);
|
|
5632
|
+
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5633
|
+
|
|
5634
|
+
|
|
5635
|
+
if (!style) {
|
|
5636
|
+
style = {
|
|
5637
|
+
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5638
|
+
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5639
|
+
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5640
|
+
};
|
|
5641
|
+
}
|
|
5642
|
+
|
|
5643
|
+
drawPolygon({
|
|
5644
|
+
ctx: ctx,
|
|
5645
|
+
fillColor: style.fillColor,
|
|
5646
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5647
|
+
lineWidth: style.lineWidth,
|
|
5648
|
+
polygonOffsets: polygonOffsets,
|
|
5649
|
+
strokeColor: style.strokeColor
|
|
5650
|
+
});
|
|
5651
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5652
|
+
|
|
5615
5653
|
|
|
5616
5654
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5617
5655
|
for (var _i = 0, selectedItems_4 = selectedItems; _i < selectedItems_4.length; _i++) {
|
|
@@ -5651,7 +5689,7 @@
|
|
|
5651
5689
|
strokeColor: style.strokeColor
|
|
5652
5690
|
});
|
|
5653
5691
|
}
|
|
5654
|
-
} //
|
|
5692
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5655
5693
|
|
|
5656
5694
|
|
|
5657
5695
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5688,44 +5726,6 @@
|
|
|
5688
5726
|
strokeColor: style.strokeColor
|
|
5689
5727
|
});
|
|
5690
5728
|
}
|
|
5691
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5695
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5696
|
-
|
|
5697
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5698
|
-
|
|
5699
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5700
|
-
|
|
5701
|
-
var style = void 0;
|
|
5702
|
-
|
|
5703
|
-
if (customStyle) {
|
|
5704
|
-
var context = {
|
|
5705
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5706
|
-
isHovered: !isSelected,
|
|
5707
|
-
isSelected: isSelected
|
|
5708
|
-
};
|
|
5709
|
-
style = customStyle(hoveredItem, context);
|
|
5710
|
-
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
if (!style) {
|
|
5714
|
-
style = {
|
|
5715
|
-
fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
|
|
5716
|
-
lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
|
|
5717
|
-
strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
|
|
5718
|
-
};
|
|
5719
|
-
}
|
|
5720
|
-
|
|
5721
|
-
drawPolygon({
|
|
5722
|
-
ctx: ctx,
|
|
5723
|
-
fillColor: style.fillColor,
|
|
5724
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5725
|
-
lineWidth: style.lineWidth,
|
|
5726
|
-
polygonOffsets: polygonOffsets,
|
|
5727
|
-
strokeColor: style.strokeColor
|
|
5728
|
-
});
|
|
5729
5729
|
}
|
|
5730
5730
|
};
|
|
5731
5731
|
};
|
|
@@ -5817,7 +5817,41 @@
|
|
|
5817
5817
|
return item.id;
|
|
5818
5818
|
})) : new Set();
|
|
5819
5819
|
var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
|
|
5820
|
-
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1.
|
|
5820
|
+
var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
|
|
5821
|
+
|
|
5822
|
+
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5823
|
+
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5824
|
+
|
|
5825
|
+
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5826
|
+
|
|
5827
|
+
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5828
|
+
|
|
5829
|
+
var style = void 0;
|
|
5830
|
+
|
|
5831
|
+
if (customStyle) {
|
|
5832
|
+
var context = {
|
|
5833
|
+
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5834
|
+
isHovered: !isSelected,
|
|
5835
|
+
isSelected: isSelected
|
|
5836
|
+
};
|
|
5837
|
+
style = customStyle(hoveredItem, context);
|
|
5838
|
+
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5839
|
+
|
|
5840
|
+
|
|
5841
|
+
if (!style) {
|
|
5842
|
+
style = isSelected ? _activeStyle : _hoveredStyle;
|
|
5843
|
+
}
|
|
5844
|
+
|
|
5845
|
+
drawPolygon({
|
|
5846
|
+
ctx: ctx,
|
|
5847
|
+
fillColor: style.fillColor,
|
|
5848
|
+
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5849
|
+
lineWidth: style.lineWidth,
|
|
5850
|
+
polygonOffsets: polygonOffsets,
|
|
5851
|
+
strokeColor: style.strokeColor
|
|
5852
|
+
});
|
|
5853
|
+
} // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
|
|
5854
|
+
|
|
5821
5855
|
|
|
5822
5856
|
if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
|
|
5823
5857
|
for (var _i = 0, selectedItems_5 = selectedItems; _i < selectedItems_5.length; _i++) {
|
|
@@ -5853,7 +5887,7 @@
|
|
|
5853
5887
|
strokeColor: style.strokeColor
|
|
5854
5888
|
});
|
|
5855
5889
|
}
|
|
5856
|
-
} //
|
|
5890
|
+
} // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
|
|
5857
5891
|
|
|
5858
5892
|
|
|
5859
5893
|
if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
|
|
@@ -5886,40 +5920,6 @@
|
|
|
5886
5920
|
strokeColor: style.strokeColor
|
|
5887
5921
|
});
|
|
5888
5922
|
}
|
|
5889
|
-
} // 3. 호버된 항목 그리기 (가장 위에 표시)
|
|
5890
|
-
|
|
5891
|
-
|
|
5892
|
-
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
|
|
5893
|
-
var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
|
|
5894
|
-
|
|
5895
|
-
if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
|
|
5896
|
-
|
|
5897
|
-
var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
|
|
5898
|
-
|
|
5899
|
-
var style = void 0;
|
|
5900
|
-
|
|
5901
|
-
if (customStyle) {
|
|
5902
|
-
var context = {
|
|
5903
|
-
isActive: isSelected && hoveredItem.id === selectedItemId,
|
|
5904
|
-
isHovered: !isSelected,
|
|
5905
|
-
isSelected: isSelected
|
|
5906
|
-
};
|
|
5907
|
-
style = customStyle(hoveredItem, context);
|
|
5908
|
-
} // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
if (!style) {
|
|
5912
|
-
style = isSelected ? _activeStyle : _hoveredStyle;
|
|
5913
|
-
}
|
|
5914
|
-
|
|
5915
|
-
drawPolygon({
|
|
5916
|
-
ctx: ctx,
|
|
5917
|
-
fillColor: style.fillColor,
|
|
5918
|
-
isDonutPolygon: hoveredItem.isDonutPolygon || false,
|
|
5919
|
-
lineWidth: style.lineWidth,
|
|
5920
|
-
polygonOffsets: polygonOffsets,
|
|
5921
|
-
strokeColor: style.strokeColor
|
|
5922
|
-
});
|
|
5923
5923
|
}
|
|
5924
5924
|
};
|
|
5925
5925
|
};
|