huweili-cesium 1.2.45 → 1.2.46

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.
Files changed (2) hide show
  1. package/js/basis.js +65 -41
  2. package/package.json +1 -1
package/js/basis.js CHANGED
@@ -918,6 +918,51 @@ export function basicConfig() {
918
918
  btn.classList.toggle('is-collapsed', !isToolbarExpanded)
919
919
  }
920
920
 
921
+ const startToolbarDrag = (event, btn) => {
922
+ const toolbar = btn?.parentElement
923
+ if (!toolbar) return
924
+
925
+ const startX = event.clientX
926
+ const startY = event.clientY
927
+ const rect = toolbar.getBoundingClientRect()
928
+ const startLeft = rect.left
929
+ const startTop = rect.top
930
+ let hasMoved = false
931
+
932
+ applyToolbarPosition(toolbar, startLeft, startTop)
933
+
934
+ const moveToolbar = (moveEvent) => {
935
+ const deltaX = moveEvent.clientX - startX
936
+ const deltaY = moveEvent.clientY - startY
937
+
938
+ if (Math.abs(deltaX) > 3 || Math.abs(deltaY) > 3) {
939
+ hasMoved = true
940
+ isToolbarDragging = true
941
+ }
942
+
943
+ applyToolbarPosition(toolbar, startLeft + deltaX, startTop + deltaY)
944
+ }
945
+
946
+ const stopDrag = () => {
947
+ window.removeEventListener('pointermove', moveToolbar)
948
+ window.removeEventListener('pointerup', stopDrag)
949
+ window.removeEventListener('pointercancel', stopDrag)
950
+
951
+ if (hasMoved) {
952
+ const currentRect = toolbar.getBoundingClientRect()
953
+ saveToolbarPosition(currentRect.left, currentRect.top)
954
+
955
+ window.setTimeout(() => {
956
+ isToolbarDragging = false
957
+ }, 0)
958
+ }
959
+ }
960
+
961
+ window.addEventListener('pointermove', moveToolbar)
962
+ window.addEventListener('pointerup', stopDrag)
963
+ window.addEventListener('pointercancel', stopDrag)
964
+ }
965
+
921
966
  const setupToolbarDrag = (btn) => {
922
967
  if (!btn || btn.dataset.toolbarDragReady === 'true') return
923
968
 
@@ -933,54 +978,33 @@ export function basicConfig() {
933
978
  })
934
979
 
935
980
  btn.addEventListener('pointerdown', (event) => {
936
- const toolbar = btn.parentElement
937
- if (!toolbar) return
938
-
939
- const startX = event.clientX
940
- const startY = event.clientY
941
- const rect = toolbar.getBoundingClientRect()
942
- const startLeft = rect.left
943
- const startTop = rect.top
944
- let hasMoved = false
945
-
946
- applyToolbarPosition(toolbar, startLeft, startTop)
947
-
948
- const moveToolbar = (moveEvent) => {
949
- const deltaX = moveEvent.clientX - startX
950
- const deltaY = moveEvent.clientY - startY
951
-
952
- if (Math.abs(deltaX) > 3 || Math.abs(deltaY) > 3) {
953
- hasMoved = true
954
- isToolbarDragging = true
955
- }
956
-
957
- applyToolbarPosition(toolbar, startLeft + deltaX, startTop + deltaY)
958
- }
959
-
960
- const stopDrag = () => {
961
- window.removeEventListener('pointermove', moveToolbar)
962
- window.removeEventListener('pointerup', stopDrag)
963
- window.removeEventListener('pointercancel', stopDrag)
981
+ startToolbarDrag(event, btn)
982
+ })
983
+ }
964
984
 
965
- if (hasMoved) {
966
- const currentRect = toolbar.getBoundingClientRect()
967
- saveToolbarPosition(currentRect.left, currentRect.top)
985
+ const findExpandButton = () => {
986
+ return document.querySelector('[data-toolbar-expand-toggle="true"]')
987
+ || document.querySelector('[title="展开/折叠 工具栏"]')
988
+ || document.querySelector('[title="展开"]')
989
+ || document.querySelector('[title="收缩"]')
990
+ }
968
991
 
969
- window.setTimeout(() => {
970
- isToolbarDragging = false
971
- }, 0)
972
- }
973
- }
992
+ const setupBySelector = () => {
993
+ const btn = findExpandButton()
994
+ if (btn) setupToolbarDrag(btn)
995
+ }
974
996
 
975
- window.addEventListener('pointermove', moveToolbar)
976
- window.addEventListener('pointerup', stopDrag)
977
- window.addEventListener('pointercancel', stopDrag)
978
- })
997
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
998
+ window.requestAnimationFrame(setupBySelector)
999
+ window.setTimeout(setupBySelector, 300)
979
1000
  }
980
1001
 
981
1002
  return {
982
1003
  toggleExpand: (_viewer, btn) => {
983
- setupToolbarDrag(btn)
1004
+ if (btn) {
1005
+ btn.dataset.toolbarExpandToggle = 'true'
1006
+ setupToolbarDrag(btn)
1007
+ }
984
1008
  },
985
1009
  setupToolbarDrag,
986
1010
  applyToggleExpand,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "huweili-cesium",
3
- "version": "1.2.45",
3
+ "version": "1.2.46",
4
4
  "description": "基于 Cesium 的地图工具库(无人机态势、轨迹、围栏、工具栏等)",
5
5
  "type": "module",
6
6
  "main": "./index.js",