@focusbc/bbs-lib 0.0.5 → 0.0.6
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/browser/bbs-lib.js +35 -2
- package/dist/browser/bbs-lib.js.map +2 -2
- package/dist/overlay/map-overlay.d.ts +9 -1
- package/dist/overlay/map-overlay.d.ts.map +1 -1
- package/dist/overlay/map-overlay.js +34 -2
- package/dist/overlay/map-overlay.js.map +1 -1
- package/dist/overlay/overlay-dynamic-layer.builder.d.ts.map +1 -1
- package/dist/overlay/overlay-dynamic-layer.builder.js +1 -0
- package/dist/overlay/overlay-dynamic-layer.builder.js.map +1 -1
- package/dist/types/events.d.ts +3 -0
- package/dist/types/events.d.ts.map +1 -1
- package/package.json +1 -1
- package/readme.md +262 -0
- package/README.md +0 -169
package/dist/browser/bbs-lib.js
CHANGED
|
@@ -78382,6 +78382,7 @@ var OverlayDynamicLayerBuilder = class {
|
|
|
78382
78382
|
coordinates: [[mapPolygon(segment.polygon)]],
|
|
78383
78383
|
style: segment.style
|
|
78384
78384
|
},
|
|
78385
|
+
label: segment.style?.text,
|
|
78385
78386
|
type: ObjectType.POLYGON,
|
|
78386
78387
|
visible: true,
|
|
78387
78388
|
selectable: true,
|
|
@@ -78675,6 +78676,7 @@ var MapOverlay = class _MapOverlay {
|
|
|
78675
78676
|
this._clickEvent = new Event3();
|
|
78676
78677
|
this._doubleClickEvent = new Event3();
|
|
78677
78678
|
this._rightClickEvent = new Event3();
|
|
78679
|
+
this._dropEvent = new Event3();
|
|
78678
78680
|
this.onDoubleClick = (event) => {
|
|
78679
78681
|
if (!(event.target instanceof HTMLCanvasElement)) {
|
|
78680
78682
|
return;
|
|
@@ -78688,6 +78690,19 @@ var MapOverlay = class _MapOverlay {
|
|
|
78688
78690
|
event.preventDefault();
|
|
78689
78691
|
this._rightClickEvent.emit(this.createPointerEventFromMouseEvent(event));
|
|
78690
78692
|
};
|
|
78693
|
+
this.onDragOver = (event) => {
|
|
78694
|
+
event.preventDefault();
|
|
78695
|
+
if (event.dataTransfer) {
|
|
78696
|
+
event.dataTransfer.dropEffect = "copy";
|
|
78697
|
+
}
|
|
78698
|
+
};
|
|
78699
|
+
this.onDrop = (event) => {
|
|
78700
|
+
event.preventDefault();
|
|
78701
|
+
this._dropEvent.emit({
|
|
78702
|
+
...this.createPointerEventFromMouseEvent(event),
|
|
78703
|
+
dataTransfer: event.dataTransfer
|
|
78704
|
+
});
|
|
78705
|
+
};
|
|
78691
78706
|
const { zoom, heading, tilt } = options;
|
|
78692
78707
|
const { center: center3, defaultLevelId } = context;
|
|
78693
78708
|
this._context = context;
|
|
@@ -78722,6 +78737,8 @@ var MapOverlay = class _MapOverlay {
|
|
|
78722
78737
|
});
|
|
78723
78738
|
this._htmlElement.addEventListener("dblclick", this.onDoubleClick, true);
|
|
78724
78739
|
this._htmlElement.addEventListener("contextmenu", this.onRightClick, true);
|
|
78740
|
+
this._htmlElement.addEventListener("dragover", this.onDragOver, true);
|
|
78741
|
+
this._htmlElement.addEventListener("drop", this.onDrop, true);
|
|
78725
78742
|
}
|
|
78726
78743
|
// #region Private methods
|
|
78727
78744
|
/**
|
|
@@ -78743,11 +78760,10 @@ var MapOverlay = class _MapOverlay {
|
|
|
78743
78760
|
this._deck.setProps({ layers: this.createLayers() });
|
|
78744
78761
|
}
|
|
78745
78762
|
createPointerEventFromMouseEvent(event) {
|
|
78763
|
+
const { lat, lng } = this.getCoordinatesAt(event.clientX, event.clientY);
|
|
78746
78764
|
const bounds = this._htmlElement.getBoundingClientRect();
|
|
78747
78765
|
const x2 = event.clientX - bounds.left;
|
|
78748
78766
|
const y2 = event.clientY - bounds.top;
|
|
78749
|
-
const viewport = this._deck.getViewports()?.[0];
|
|
78750
|
-
const [lng, lat] = viewport ? viewport.unproject([x2, y2]) : [this.getCenter().lng, this.getCenter().lat];
|
|
78751
78767
|
const picked = this._deck.pickObject({ x: x2, y: y2 })?.object;
|
|
78752
78768
|
return {
|
|
78753
78769
|
lat,
|
|
@@ -78757,6 +78773,18 @@ var MapOverlay = class _MapOverlay {
|
|
|
78757
78773
|
shape: picked?.groupId ? this._shapes.find((shape) => shape.id === picked.groupId) : void 0
|
|
78758
78774
|
};
|
|
78759
78775
|
}
|
|
78776
|
+
/**
|
|
78777
|
+
* Returns the geographic coordinates for a viewport pixel at the given client coordinates.
|
|
78778
|
+
*/
|
|
78779
|
+
getCoordinatesAt(clientX, clientY) {
|
|
78780
|
+
const bounds = this._htmlElement.getBoundingClientRect();
|
|
78781
|
+
const viewport = this._deck.getViewports()?.[0];
|
|
78782
|
+
if (!viewport) {
|
|
78783
|
+
return this.getCenter();
|
|
78784
|
+
}
|
|
78785
|
+
const [lng, lat] = viewport.unproject([clientX - bounds.left, clientY - bounds.top]);
|
|
78786
|
+
return { lat, lng };
|
|
78787
|
+
}
|
|
78760
78788
|
/**
|
|
78761
78789
|
* Handle the click event.
|
|
78762
78790
|
*/
|
|
@@ -78838,6 +78866,8 @@ var MapOverlay = class _MapOverlay {
|
|
|
78838
78866
|
finalize() {
|
|
78839
78867
|
this._htmlElement.removeEventListener("dblclick", this.onDoubleClick, true);
|
|
78840
78868
|
this._htmlElement.removeEventListener("contextmenu", this.onRightClick, true);
|
|
78869
|
+
this._htmlElement.removeEventListener("dragover", this.onDragOver, true);
|
|
78870
|
+
this._htmlElement.removeEventListener("drop", this.onDrop, true);
|
|
78841
78871
|
this._deck.finalize();
|
|
78842
78872
|
}
|
|
78843
78873
|
//#region Getters and Setters
|
|
@@ -78953,6 +78983,9 @@ var MapOverlay = class _MapOverlay {
|
|
|
78953
78983
|
rightClick() {
|
|
78954
78984
|
return this._rightClickEvent;
|
|
78955
78985
|
}
|
|
78986
|
+
drop() {
|
|
78987
|
+
return this._dropEvent;
|
|
78988
|
+
}
|
|
78956
78989
|
//#endregion
|
|
78957
78990
|
//#endregion
|
|
78958
78991
|
};
|