@focusbc/bbs-lib 0.0.4 → 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.
@@ -18186,105 +18186,9 @@ var ImageLoader = {
18186
18186
  var defaultLogger = new ProbeLog({ id: "deck" });
18187
18187
  var log_default = defaultLogger;
18188
18188
 
18189
- // node_modules/@deck.gl/core/dist/debug/loggers.js
18190
- var logState = {
18191
- attributeUpdateStart: -1,
18192
- attributeManagerUpdateStart: -1,
18193
- attributeUpdateMessages: []
18194
- };
18195
- var LOG_LEVEL_MAJOR_UPDATE = 1;
18196
- var LOG_LEVEL_MINOR_UPDATE = 2;
18197
- var LOG_LEVEL_UPDATE_DETAIL = 3;
18198
- var LOG_LEVEL_INFO = 4;
18199
- var LOG_LEVEL_DRAW = 2;
18200
- var getLoggers = (log4) => ({
18201
- /* Layer events */
18202
- "layer.changeFlag": (layer, key, flags) => {
18203
- log4.log(LOG_LEVEL_UPDATE_DETAIL, `${layer.id} ${key}: `, flags[key])();
18204
- },
18205
- "layer.initialize": (layer) => {
18206
- log4.log(LOG_LEVEL_MAJOR_UPDATE, `Initializing ${layer}`)();
18207
- },
18208
- "layer.update": (layer, needsUpdate) => {
18209
- if (needsUpdate) {
18210
- const flags = layer.getChangeFlags();
18211
- log4.log(LOG_LEVEL_MINOR_UPDATE, `Updating ${layer} because: ${Object.keys(flags).filter((key) => flags[key]).join(", ")}`)();
18212
- } else {
18213
- log4.log(LOG_LEVEL_INFO, `${layer} does not need update`)();
18214
- }
18215
- },
18216
- "layer.matched": (layer, changed) => {
18217
- if (changed) {
18218
- log4.log(LOG_LEVEL_INFO, `Matched ${layer}, state transfered`)();
18219
- }
18220
- },
18221
- "layer.finalize": (layer) => {
18222
- log4.log(LOG_LEVEL_MAJOR_UPDATE, `Finalizing ${layer}`)();
18223
- },
18224
- /* CompositeLayer events */
18225
- "compositeLayer.renderLayers": (layer, updated, subLayers) => {
18226
- if (updated) {
18227
- log4.log(LOG_LEVEL_MINOR_UPDATE, `Composite layer rendered new subLayers ${layer}`, subLayers)();
18228
- } else {
18229
- log4.log(LOG_LEVEL_INFO, `Composite layer reused subLayers ${layer}`, subLayers)();
18230
- }
18231
- },
18232
- /* LayerManager events */
18233
- "layerManager.setLayers": (layerManager, updated, layers) => {
18234
- if (updated) {
18235
- log4.log(LOG_LEVEL_MINOR_UPDATE, `Updating ${layers.length} deck layers`)();
18236
- }
18237
- },
18238
- "layerManager.activateViewport": (layerManager, viewport) => {
18239
- log4.log(LOG_LEVEL_UPDATE_DETAIL, "Viewport changed", viewport)();
18240
- },
18241
- /* AttributeManager events */
18242
- "attributeManager.invalidate": (attributeManager, trigger, attributeNames) => {
18243
- log4.log(LOG_LEVEL_MAJOR_UPDATE, attributeNames ? `invalidated attributes ${attributeNames} (${trigger}) for ${attributeManager.id}` : `invalidated all attributes for ${attributeManager.id}`)();
18244
- },
18245
- "attributeManager.updateStart": (attributeManager) => {
18246
- logState.attributeUpdateMessages.length = 0;
18247
- logState.attributeManagerUpdateStart = Date.now();
18248
- },
18249
- "attributeManager.updateEnd": (attributeManager, numInstances) => {
18250
- const timeMs = Math.round(Date.now() - logState.attributeManagerUpdateStart);
18251
- log4.groupCollapsed(LOG_LEVEL_MINOR_UPDATE, `Updated attributes for ${numInstances} instances in ${attributeManager.id} in ${timeMs}ms`)();
18252
- for (const updateMessage of logState.attributeUpdateMessages) {
18253
- log4.log(LOG_LEVEL_UPDATE_DETAIL, updateMessage)();
18254
- }
18255
- log4.groupEnd(LOG_LEVEL_MINOR_UPDATE)();
18256
- },
18257
- /* Attribute events */
18258
- "attribute.updateStart": (attribute) => {
18259
- logState.attributeUpdateStart = Date.now();
18260
- },
18261
- "attribute.allocate": (attribute, numInstances) => {
18262
- const message2 = `${attribute.id} allocated ${numInstances}`;
18263
- logState.attributeUpdateMessages.push(message2);
18264
- },
18265
- "attribute.updateEnd": (attribute, numInstances) => {
18266
- const timeMs = Math.round(Date.now() - logState.attributeUpdateStart);
18267
- const message2 = `${attribute.id} updated ${numInstances} in ${timeMs}ms`;
18268
- logState.attributeUpdateMessages.push(message2);
18269
- },
18270
- /* Render events */
18271
- "deckRenderer.renderLayers": (deckRenderer, renderStats, opts) => {
18272
- const { pass, redrawReason, stats } = opts;
18273
- for (const status of renderStats) {
18274
- const { totalCount, visibleCount, compositeCount, pickableCount } = status;
18275
- const primitiveCount = totalCount - compositeCount;
18276
- const hiddenCount = primitiveCount - visibleCount;
18277
- log4.log(LOG_LEVEL_DRAW, `RENDER #${deckRenderer.renderCount} ${visibleCount} (of ${totalCount} layers) to ${pass} because ${redrawReason} (${hiddenCount} hidden, ${compositeCount} composite ${pickableCount} pickable)`)();
18278
- if (stats) {
18279
- stats.get("Redraw Layers").add(visibleCount);
18280
- }
18281
- }
18282
- }
18283
- });
18284
-
18285
18189
  // node_modules/@deck.gl/core/dist/debug/index.js
18286
18190
  var loggers = {};
18287
- if (production !== "production") {
18191
+ if (false) {
18288
18192
  loggers = getLoggers(log_default);
18289
18193
  }
18290
18194
  function register(handlers) {
@@ -78478,6 +78382,7 @@ var OverlayDynamicLayerBuilder = class {
78478
78382
  coordinates: [[mapPolygon(segment.polygon)]],
78479
78383
  style: segment.style
78480
78384
  },
78385
+ label: segment.style?.text,
78481
78386
  type: ObjectType.POLYGON,
78482
78387
  visible: true,
78483
78388
  selectable: true,
@@ -78769,9 +78674,39 @@ var MapOverlay = class _MapOverlay {
78769
78674
  this._centerChangedEvent = new Event3();
78770
78675
  this._shapesChangedEvent = new Event3();
78771
78676
  this._clickEvent = new Event3();
78677
+ this._doubleClickEvent = new Event3();
78678
+ this._rightClickEvent = new Event3();
78679
+ this._dropEvent = new Event3();
78680
+ this.onDoubleClick = (event) => {
78681
+ if (!(event.target instanceof HTMLCanvasElement)) {
78682
+ return;
78683
+ }
78684
+ this._doubleClickEvent.emit(this.createPointerEventFromMouseEvent(event));
78685
+ };
78686
+ this.onRightClick = (event) => {
78687
+ if (!(event.target instanceof HTMLCanvasElement)) {
78688
+ return;
78689
+ }
78690
+ event.preventDefault();
78691
+ this._rightClickEvent.emit(this.createPointerEventFromMouseEvent(event));
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
+ };
78772
78706
  const { zoom, heading, tilt } = options;
78773
78707
  const { center: center3, defaultLevelId } = context;
78774
78708
  this._context = context;
78709
+ this._htmlElement = htmlElement;
78775
78710
  this._levelId = defaultLevelId;
78776
78711
  this._viewState = {
78777
78712
  zoom: zoom ?? DEFAULT_ZOOM,
@@ -78800,6 +78735,10 @@ var MapOverlay = class _MapOverlay {
78800
78735
  this._initializedEvent.emit();
78801
78736
  }
78802
78737
  });
78738
+ this._htmlElement.addEventListener("dblclick", this.onDoubleClick, true);
78739
+ this._htmlElement.addEventListener("contextmenu", this.onRightClick, true);
78740
+ this._htmlElement.addEventListener("dragover", this.onDragOver, true);
78741
+ this._htmlElement.addEventListener("drop", this.onDrop, true);
78803
78742
  }
78804
78743
  // #region Private methods
78805
78744
  /**
@@ -78820,6 +78759,32 @@ var MapOverlay = class _MapOverlay {
78820
78759
  rebuildLayers() {
78821
78760
  this._deck.setProps({ layers: this.createLayers() });
78822
78761
  }
78762
+ createPointerEventFromMouseEvent(event) {
78763
+ const { lat, lng } = this.getCoordinatesAt(event.clientX, event.clientY);
78764
+ const bounds = this._htmlElement.getBoundingClientRect();
78765
+ const x2 = event.clientX - bounds.left;
78766
+ const y2 = event.clientY - bounds.top;
78767
+ const picked = this._deck.pickObject({ x: x2, y: y2 })?.object;
78768
+ return {
78769
+ lat,
78770
+ lng,
78771
+ x: lng,
78772
+ y: lat,
78773
+ shape: picked?.groupId ? this._shapes.find((shape) => shape.id === picked.groupId) : void 0
78774
+ };
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
+ }
78823
78788
  /**
78824
78789
  * Handle the click event.
78825
78790
  */
@@ -78899,6 +78864,10 @@ var MapOverlay = class _MapOverlay {
78899
78864
  this.finalize();
78900
78865
  }
78901
78866
  finalize() {
78867
+ this._htmlElement.removeEventListener("dblclick", this.onDoubleClick, true);
78868
+ this._htmlElement.removeEventListener("contextmenu", this.onRightClick, true);
78869
+ this._htmlElement.removeEventListener("dragover", this.onDragOver, true);
78870
+ this._htmlElement.removeEventListener("drop", this.onDrop, true);
78902
78871
  this._deck.finalize();
78903
78872
  }
78904
78873
  //#region Getters and Setters
@@ -79008,6 +78977,15 @@ var MapOverlay = class _MapOverlay {
79008
78977
  click() {
79009
78978
  return this._clickEvent;
79010
78979
  }
78980
+ doubleClick() {
78981
+ return this._doubleClickEvent;
78982
+ }
78983
+ rightClick() {
78984
+ return this._rightClickEvent;
78985
+ }
78986
+ drop() {
78987
+ return this._dropEvent;
78988
+ }
79011
78989
  //#endregion
79012
78990
  //#endregion
79013
78991
  };