@mint-ui/map 1.2.0-test.66 → 1.2.0-test.67
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.
|
@@ -164,20 +164,12 @@ var CanvasMarkerLayer = function (props) {
|
|
|
164
164
|
name: 'base-render-shape',
|
|
165
165
|
perfectDrawEnabled: false,
|
|
166
166
|
sceneFunc: function (konvaContext) {
|
|
167
|
-
var ctx = konvaContext;
|
|
168
|
-
var hovered = hoveredItemRef.current; // 뷰포트 컬링: 화면에 보이는 항목만 필터링
|
|
167
|
+
var ctx = konvaContext; // 뷰포트 컬링: 화면에 보이는 항목만 필터링
|
|
169
168
|
|
|
170
169
|
var visibleItems = enableViewportCullingRef.current ? dataRef.current.filter(function (item) {
|
|
171
170
|
return isInViewport(item);
|
|
172
|
-
}) : dataRef.current; //
|
|
173
|
-
|
|
174
|
-
if (topStageZIndex !== undefined && hovered) {
|
|
175
|
-
visibleItems = visibleItems.filter(function (item) {
|
|
176
|
-
return item.id !== hovered.id;
|
|
177
|
-
});
|
|
178
|
-
} // Base Layer는 기본 마커만 렌더링 (성능 최적화)
|
|
179
|
-
// hover/selected는 Event Layer에서 덧그리므로 Base Layer에서는 제외
|
|
180
|
-
|
|
171
|
+
}) : dataRef.current; // Base Layer는 기본 마커만 렌더링 (hover된 항목도 포함)
|
|
172
|
+
// hover 스타일은 Event Layer와 Top Layer에서 덧그려짐
|
|
181
173
|
|
|
182
174
|
renderBase({
|
|
183
175
|
ctx: ctx,
|
|
@@ -185,8 +177,7 @@ var CanvasMarkerLayer = function (props) {
|
|
|
185
177
|
items: visibleItems,
|
|
186
178
|
selectedIds: new Set(),
|
|
187
179
|
utils: renderUtils
|
|
188
|
-
});
|
|
189
|
-
// topStageZIndex가 없으면 성능 우선으로 Base Layer 재렌더링 안 함 (hover된 항목이 뒤편 마커 위로 올라갈 수 있음)
|
|
180
|
+
});
|
|
190
181
|
}
|
|
191
182
|
});
|
|
192
183
|
layer.add(shape);
|
|
@@ -221,37 +212,19 @@ var CanvasMarkerLayer = function (props) {
|
|
|
221
212
|
})) {
|
|
222
213
|
selectedItems = tslib.__spreadArray(tslib.__spreadArray([], selectedItems, true), [selectedItemRef.current], false);
|
|
223
214
|
}
|
|
224
|
-
} //
|
|
225
|
-
//
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
selectedItem: selectedItemRef.current,
|
|
238
|
-
selectedItems: selectedItemsWithoutHovered,
|
|
239
|
-
topOnHover: true,
|
|
240
|
-
utils: renderUtils
|
|
241
|
-
});
|
|
242
|
-
} else {
|
|
243
|
-
// topStageZIndex가 없으면 hover된 항목을 selectedItems에 추가하지 않음 (성능 우선)
|
|
244
|
-
// renderEvent 함수가 hoveredItem을 별도로 처리하므로, selectedItems는 그대로 전달
|
|
245
|
-
// 이렇게 하면 hover 변경 시 선택된 항목들을 다시 그리지 않고 hover된 항목만 업데이트됨
|
|
246
|
-
renderEvent({
|
|
247
|
-
ctx: ctx,
|
|
248
|
-
hoveredItem: hovered,
|
|
249
|
-
selectedItem: selectedItemRef.current,
|
|
250
|
-
selectedItems: selectedItems,
|
|
251
|
-
topOnHover: false,
|
|
252
|
-
utils: renderUtils
|
|
253
|
-
});
|
|
254
|
-
}
|
|
215
|
+
} // Event Layer는 hover 효과 및 선택 상태를 덧그림
|
|
216
|
+
// topStageZIndex가 있으면 hover된 항목은 Top Stage에서도 처리되지만,
|
|
217
|
+
// Event Layer에서도 hover 스타일을 덧그려서 Base Layer 위에 표시됨
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
renderEvent({
|
|
221
|
+
ctx: ctx,
|
|
222
|
+
hasTopStage: topStageZIndex !== undefined,
|
|
223
|
+
hoveredItem: hovered,
|
|
224
|
+
selectedItem: selectedItemRef.current,
|
|
225
|
+
selectedItems: selectedItems,
|
|
226
|
+
utils: renderUtils
|
|
227
|
+
});
|
|
255
228
|
}
|
|
256
229
|
});
|
|
257
230
|
layer.add(shape);
|
|
@@ -316,10 +289,10 @@ var CanvasMarkerLayer = function (props) {
|
|
|
316
289
|
var hoverSelectedItems = hoveredIsSelected ? [currentHovered] : [];
|
|
317
290
|
renderEvent({
|
|
318
291
|
ctx: ctx,
|
|
292
|
+
hasTopStage: true,
|
|
319
293
|
hoveredItem: currentHovered,
|
|
320
294
|
selectedItem: selectedItemRef.current,
|
|
321
295
|
selectedItems: hoverSelectedItems,
|
|
322
|
-
topOnHover: true,
|
|
323
296
|
utils: renderUtils
|
|
324
297
|
});
|
|
325
298
|
} else {
|
|
@@ -458,8 +431,8 @@ var CanvasMarkerLayer = function (props) {
|
|
|
458
431
|
|
|
459
432
|
if (topStageZIndex !== undefined) {
|
|
460
433
|
// topStageZIndex가 설정된 경우 Top Layer에서 hover된 항목 렌더링
|
|
461
|
-
// Base Layer는 hover 상태 변경 시 재렌더링 불필요
|
|
462
|
-
// Event Layer는 선택된
|
|
434
|
+
// Base Layer는 모든 마커를 포함하므로 hover 상태 변경 시 재렌더링 불필요
|
|
435
|
+
// Event Layer는 hover 스타일과 선택된 항목을 렌더링하므로 업데이트 필요
|
|
463
436
|
doRenderEvent();
|
|
464
437
|
doRenderTop();
|
|
465
438
|
} else if (renderEvent) {
|
|
@@ -554,8 +527,8 @@ var CanvasMarkerLayer = function (props) {
|
|
|
554
527
|
controller.setMapCursor('grab');
|
|
555
528
|
|
|
556
529
|
if (topStageZIndex !== undefined) {
|
|
557
|
-
// Base Layer는 hover 상태 변경 시 재렌더링 불필요
|
|
558
|
-
// Event Layer는 선택된
|
|
530
|
+
// Base Layer는 모든 마커를 포함하므로 hover 상태 변경 시 재렌더링 불필요
|
|
531
|
+
// Event Layer는 hover 스타일과 선택된 항목을 렌더링하므로 업데이트 필요
|
|
559
532
|
doRenderEvent();
|
|
560
533
|
doRenderTop();
|
|
561
534
|
} else if (renderEvent) {
|
|
@@ -129,8 +129,8 @@ export interface RenderEventParams<T> {
|
|
|
129
129
|
utils: RenderUtils<T>;
|
|
130
130
|
selectedItems?: CanvasData<T>[];
|
|
131
131
|
selectedItem?: CanvasData<T> | null;
|
|
132
|
-
/**
|
|
133
|
-
|
|
132
|
+
/** topStageZIndex가 설정되어 있는지 여부 (기본값: false) */
|
|
133
|
+
hasTopStage?: boolean;
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
136
|
* 커스텀 렌더링 함수 타입 - Event Layer
|
package/dist/index.es.js
CHANGED
|
@@ -4075,20 +4075,12 @@ var CanvasMarkerLayer = function (props) {
|
|
|
4075
4075
|
name: 'base-render-shape',
|
|
4076
4076
|
perfectDrawEnabled: false,
|
|
4077
4077
|
sceneFunc: function (konvaContext) {
|
|
4078
|
-
var ctx = konvaContext;
|
|
4079
|
-
var hovered = hoveredItemRef.current; // 뷰포트 컬링: 화면에 보이는 항목만 필터링
|
|
4078
|
+
var ctx = konvaContext; // 뷰포트 컬링: 화면에 보이는 항목만 필터링
|
|
4080
4079
|
|
|
4081
4080
|
var visibleItems = enableViewportCullingRef.current ? dataRef.current.filter(function (item) {
|
|
4082
4081
|
return isInViewport$1(item);
|
|
4083
|
-
}) : dataRef.current; //
|
|
4084
|
-
|
|
4085
|
-
if (topStageZIndex !== undefined && hovered) {
|
|
4086
|
-
visibleItems = visibleItems.filter(function (item) {
|
|
4087
|
-
return item.id !== hovered.id;
|
|
4088
|
-
});
|
|
4089
|
-
} // Base Layer는 기본 마커만 렌더링 (성능 최적화)
|
|
4090
|
-
// hover/selected는 Event Layer에서 덧그리므로 Base Layer에서는 제외
|
|
4091
|
-
|
|
4082
|
+
}) : dataRef.current; // Base Layer는 기본 마커만 렌더링 (hover된 항목도 포함)
|
|
4083
|
+
// hover 스타일은 Event Layer와 Top Layer에서 덧그려짐
|
|
4092
4084
|
|
|
4093
4085
|
renderBase({
|
|
4094
4086
|
ctx: ctx,
|
|
@@ -4096,8 +4088,7 @@ var CanvasMarkerLayer = function (props) {
|
|
|
4096
4088
|
items: visibleItems,
|
|
4097
4089
|
selectedIds: new Set(),
|
|
4098
4090
|
utils: renderUtils
|
|
4099
|
-
});
|
|
4100
|
-
// topStageZIndex가 없으면 성능 우선으로 Base Layer 재렌더링 안 함 (hover된 항목이 뒤편 마커 위로 올라갈 수 있음)
|
|
4091
|
+
});
|
|
4101
4092
|
}
|
|
4102
4093
|
});
|
|
4103
4094
|
layer.add(shape);
|
|
@@ -4132,37 +4123,19 @@ var CanvasMarkerLayer = function (props) {
|
|
|
4132
4123
|
})) {
|
|
4133
4124
|
selectedItems = __spreadArray(__spreadArray([], selectedItems, true), [selectedItemRef.current], false);
|
|
4134
4125
|
}
|
|
4135
|
-
} //
|
|
4136
|
-
//
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
selectedItem: selectedItemRef.current,
|
|
4149
|
-
selectedItems: selectedItemsWithoutHovered,
|
|
4150
|
-
topOnHover: true,
|
|
4151
|
-
utils: renderUtils
|
|
4152
|
-
});
|
|
4153
|
-
} else {
|
|
4154
|
-
// topStageZIndex가 없으면 hover된 항목을 selectedItems에 추가하지 않음 (성능 우선)
|
|
4155
|
-
// renderEvent 함수가 hoveredItem을 별도로 처리하므로, selectedItems는 그대로 전달
|
|
4156
|
-
// 이렇게 하면 hover 변경 시 선택된 항목들을 다시 그리지 않고 hover된 항목만 업데이트됨
|
|
4157
|
-
renderEvent({
|
|
4158
|
-
ctx: ctx,
|
|
4159
|
-
hoveredItem: hovered,
|
|
4160
|
-
selectedItem: selectedItemRef.current,
|
|
4161
|
-
selectedItems: selectedItems,
|
|
4162
|
-
topOnHover: false,
|
|
4163
|
-
utils: renderUtils
|
|
4164
|
-
});
|
|
4165
|
-
}
|
|
4126
|
+
} // Event Layer는 hover 효과 및 선택 상태를 덧그림
|
|
4127
|
+
// topStageZIndex가 있으면 hover된 항목은 Top Stage에서도 처리되지만,
|
|
4128
|
+
// Event Layer에서도 hover 스타일을 덧그려서 Base Layer 위에 표시됨
|
|
4129
|
+
|
|
4130
|
+
|
|
4131
|
+
renderEvent({
|
|
4132
|
+
ctx: ctx,
|
|
4133
|
+
hasTopStage: topStageZIndex !== undefined,
|
|
4134
|
+
hoveredItem: hovered,
|
|
4135
|
+
selectedItem: selectedItemRef.current,
|
|
4136
|
+
selectedItems: selectedItems,
|
|
4137
|
+
utils: renderUtils
|
|
4138
|
+
});
|
|
4166
4139
|
}
|
|
4167
4140
|
});
|
|
4168
4141
|
layer.add(shape);
|
|
@@ -4227,10 +4200,10 @@ var CanvasMarkerLayer = function (props) {
|
|
|
4227
4200
|
var hoverSelectedItems = hoveredIsSelected ? [currentHovered] : [];
|
|
4228
4201
|
renderEvent({
|
|
4229
4202
|
ctx: ctx,
|
|
4203
|
+
hasTopStage: true,
|
|
4230
4204
|
hoveredItem: currentHovered,
|
|
4231
4205
|
selectedItem: selectedItemRef.current,
|
|
4232
4206
|
selectedItems: hoverSelectedItems,
|
|
4233
|
-
topOnHover: true,
|
|
4234
4207
|
utils: renderUtils
|
|
4235
4208
|
});
|
|
4236
4209
|
} else {
|
|
@@ -4369,8 +4342,8 @@ var CanvasMarkerLayer = function (props) {
|
|
|
4369
4342
|
|
|
4370
4343
|
if (topStageZIndex !== undefined) {
|
|
4371
4344
|
// topStageZIndex가 설정된 경우 Top Layer에서 hover된 항목 렌더링
|
|
4372
|
-
// Base Layer는 hover 상태 변경 시 재렌더링 불필요
|
|
4373
|
-
// Event Layer는 선택된
|
|
4345
|
+
// Base Layer는 모든 마커를 포함하므로 hover 상태 변경 시 재렌더링 불필요
|
|
4346
|
+
// Event Layer는 hover 스타일과 선택된 항목을 렌더링하므로 업데이트 필요
|
|
4374
4347
|
doRenderEvent();
|
|
4375
4348
|
doRenderTop();
|
|
4376
4349
|
} else if (renderEvent) {
|
|
@@ -4465,8 +4438,8 @@ var CanvasMarkerLayer = function (props) {
|
|
|
4465
4438
|
controller.setMapCursor('grab');
|
|
4466
4439
|
|
|
4467
4440
|
if (topStageZIndex !== undefined) {
|
|
4468
|
-
// Base Layer는 hover 상태 변경 시 재렌더링 불필요
|
|
4469
|
-
// Event Layer는 선택된
|
|
4441
|
+
// Base Layer는 모든 마커를 포함하므로 hover 상태 변경 시 재렌더링 불필요
|
|
4442
|
+
// Event Layer는 hover 스타일과 선택된 항목을 렌더링하므로 업데이트 필요
|
|
4470
4443
|
doRenderEvent();
|
|
4471
4444
|
doRenderTop();
|
|
4472
4445
|
} else if (renderEvent) {
|
package/dist/index.umd.js
CHANGED
|
@@ -4079,20 +4079,12 @@
|
|
|
4079
4079
|
name: 'base-render-shape',
|
|
4080
4080
|
perfectDrawEnabled: false,
|
|
4081
4081
|
sceneFunc: function (konvaContext) {
|
|
4082
|
-
var ctx = konvaContext;
|
|
4083
|
-
var hovered = hoveredItemRef.current; // 뷰포트 컬링: 화면에 보이는 항목만 필터링
|
|
4082
|
+
var ctx = konvaContext; // 뷰포트 컬링: 화면에 보이는 항목만 필터링
|
|
4084
4083
|
|
|
4085
4084
|
var visibleItems = enableViewportCullingRef.current ? dataRef.current.filter(function (item) {
|
|
4086
4085
|
return isInViewport$1(item);
|
|
4087
|
-
}) : dataRef.current; //
|
|
4088
|
-
|
|
4089
|
-
if (topStageZIndex !== undefined && hovered) {
|
|
4090
|
-
visibleItems = visibleItems.filter(function (item) {
|
|
4091
|
-
return item.id !== hovered.id;
|
|
4092
|
-
});
|
|
4093
|
-
} // Base Layer는 기본 마커만 렌더링 (성능 최적화)
|
|
4094
|
-
// hover/selected는 Event Layer에서 덧그리므로 Base Layer에서는 제외
|
|
4095
|
-
|
|
4086
|
+
}) : dataRef.current; // Base Layer는 기본 마커만 렌더링 (hover된 항목도 포함)
|
|
4087
|
+
// hover 스타일은 Event Layer와 Top Layer에서 덧그려짐
|
|
4096
4088
|
|
|
4097
4089
|
renderBase({
|
|
4098
4090
|
ctx: ctx,
|
|
@@ -4100,8 +4092,7 @@
|
|
|
4100
4092
|
items: visibleItems,
|
|
4101
4093
|
selectedIds: new Set(),
|
|
4102
4094
|
utils: renderUtils
|
|
4103
|
-
});
|
|
4104
|
-
// topStageZIndex가 없으면 성능 우선으로 Base Layer 재렌더링 안 함 (hover된 항목이 뒤편 마커 위로 올라갈 수 있음)
|
|
4095
|
+
});
|
|
4105
4096
|
}
|
|
4106
4097
|
});
|
|
4107
4098
|
layer.add(shape);
|
|
@@ -4136,37 +4127,19 @@
|
|
|
4136
4127
|
})) {
|
|
4137
4128
|
selectedItems = tslib.__spreadArray(tslib.__spreadArray([], selectedItems, true), [selectedItemRef.current], false);
|
|
4138
4129
|
}
|
|
4139
|
-
} //
|
|
4140
|
-
//
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
selectedItem: selectedItemRef.current,
|
|
4153
|
-
selectedItems: selectedItemsWithoutHovered,
|
|
4154
|
-
topOnHover: true,
|
|
4155
|
-
utils: renderUtils
|
|
4156
|
-
});
|
|
4157
|
-
} else {
|
|
4158
|
-
// topStageZIndex가 없으면 hover된 항목을 selectedItems에 추가하지 않음 (성능 우선)
|
|
4159
|
-
// renderEvent 함수가 hoveredItem을 별도로 처리하므로, selectedItems는 그대로 전달
|
|
4160
|
-
// 이렇게 하면 hover 변경 시 선택된 항목들을 다시 그리지 않고 hover된 항목만 업데이트됨
|
|
4161
|
-
renderEvent({
|
|
4162
|
-
ctx: ctx,
|
|
4163
|
-
hoveredItem: hovered,
|
|
4164
|
-
selectedItem: selectedItemRef.current,
|
|
4165
|
-
selectedItems: selectedItems,
|
|
4166
|
-
topOnHover: false,
|
|
4167
|
-
utils: renderUtils
|
|
4168
|
-
});
|
|
4169
|
-
}
|
|
4130
|
+
} // Event Layer는 hover 효과 및 선택 상태를 덧그림
|
|
4131
|
+
// topStageZIndex가 있으면 hover된 항목은 Top Stage에서도 처리되지만,
|
|
4132
|
+
// Event Layer에서도 hover 스타일을 덧그려서 Base Layer 위에 표시됨
|
|
4133
|
+
|
|
4134
|
+
|
|
4135
|
+
renderEvent({
|
|
4136
|
+
ctx: ctx,
|
|
4137
|
+
hasTopStage: topStageZIndex !== undefined,
|
|
4138
|
+
hoveredItem: hovered,
|
|
4139
|
+
selectedItem: selectedItemRef.current,
|
|
4140
|
+
selectedItems: selectedItems,
|
|
4141
|
+
utils: renderUtils
|
|
4142
|
+
});
|
|
4170
4143
|
}
|
|
4171
4144
|
});
|
|
4172
4145
|
layer.add(shape);
|
|
@@ -4231,10 +4204,10 @@
|
|
|
4231
4204
|
var hoverSelectedItems = hoveredIsSelected ? [currentHovered] : [];
|
|
4232
4205
|
renderEvent({
|
|
4233
4206
|
ctx: ctx,
|
|
4207
|
+
hasTopStage: true,
|
|
4234
4208
|
hoveredItem: currentHovered,
|
|
4235
4209
|
selectedItem: selectedItemRef.current,
|
|
4236
4210
|
selectedItems: hoverSelectedItems,
|
|
4237
|
-
topOnHover: true,
|
|
4238
4211
|
utils: renderUtils
|
|
4239
4212
|
});
|
|
4240
4213
|
} else {
|
|
@@ -4373,8 +4346,8 @@
|
|
|
4373
4346
|
|
|
4374
4347
|
if (topStageZIndex !== undefined) {
|
|
4375
4348
|
// topStageZIndex가 설정된 경우 Top Layer에서 hover된 항목 렌더링
|
|
4376
|
-
// Base Layer는 hover 상태 변경 시 재렌더링 불필요
|
|
4377
|
-
// Event Layer는 선택된
|
|
4349
|
+
// Base Layer는 모든 마커를 포함하므로 hover 상태 변경 시 재렌더링 불필요
|
|
4350
|
+
// Event Layer는 hover 스타일과 선택된 항목을 렌더링하므로 업데이트 필요
|
|
4378
4351
|
doRenderEvent();
|
|
4379
4352
|
doRenderTop();
|
|
4380
4353
|
} else if (renderEvent) {
|
|
@@ -4469,8 +4442,8 @@
|
|
|
4469
4442
|
controller.setMapCursor('grab');
|
|
4470
4443
|
|
|
4471
4444
|
if (topStageZIndex !== undefined) {
|
|
4472
|
-
// Base Layer는 hover 상태 변경 시 재렌더링 불필요
|
|
4473
|
-
// Event Layer는 선택된
|
|
4445
|
+
// Base Layer는 모든 마커를 포함하므로 hover 상태 변경 시 재렌더링 불필요
|
|
4446
|
+
// Event Layer는 hover 스타일과 선택된 항목을 렌더링하므로 업데이트 필요
|
|
4474
4447
|
doRenderEvent();
|
|
4475
4448
|
doRenderTop();
|
|
4476
4449
|
} else if (renderEvent) {
|