datastake-daf 0.6.281 β 0.6.283
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/index.js +193 -16
- package/package.json +1 -1
- package/src/@daf/core/components/Dashboard/Globe/SimpleGlobe.jsx +111 -17
- package/src/@daf/core/components/Dashboard/Globe/SimpleGlobe.stories.js +31 -0
- package/src/@daf/core/components/Dashboard/Globe/SimpleGlobeStraatosDebug.jsx +322 -0
- package/src/@daf/core/components/Dashboard/Globe/SimpleGlobeStraatosDebug.standalone.jsx +349 -0
- package/src/@daf/core/components/Dashboard/Globe/SimpleGlobeTestDebug.jsx +150 -0
- package/src/@daf/core/components/Dashboard/Globe/SimpleGlobeTestDebug.standalone.jsx +183 -0
- package/src/index.js +1 -0
package/dist/components/index.js
CHANGED
|
@@ -20959,15 +20959,29 @@ const SimpleGlobe = _ref => {
|
|
|
20959
20959
|
// Set Mapbox access token
|
|
20960
20960
|
mapboxgl.accessToken = 'pk.eyJ1IjoicmVkaXM5OTkiLCJhIjoiY2x4YWV5MzA5MmtuZzJpcXM5Y201Z2E2YiJ9.m5bwPg-Tj4Akesl1yQUa3w';
|
|
20961
20961
|
|
|
20962
|
-
// Create map with custom Straatos style
|
|
20963
|
-
|
|
20964
|
-
|
|
20965
|
-
|
|
20966
|
-
|
|
20967
|
-
|
|
20968
|
-
|
|
20969
|
-
|
|
20970
|
-
|
|
20962
|
+
// Create map with custom Straatos style (with fallback)
|
|
20963
|
+
try {
|
|
20964
|
+
map.current = new mapboxgl.Map({
|
|
20965
|
+
container: mapContainer.current,
|
|
20966
|
+
style: 'mapbox://styles/pietragottardo/cm9tt9zfi00d101pg1vdx26si',
|
|
20967
|
+
center: [0, 0],
|
|
20968
|
+
zoom: mapConfig.maxZoom || 3,
|
|
20969
|
+
projection: 'globe',
|
|
20970
|
+
attributionControl: false
|
|
20971
|
+
});
|
|
20972
|
+
console.log('πΊοΈ [SIMPLE GLOBE] Custom style loaded successfully');
|
|
20973
|
+
} catch (error) {
|
|
20974
|
+
console.warn('β οΈ [SIMPLE GLOBE] Custom style failed, using fallback:', error);
|
|
20975
|
+
// Fallback to standard style
|
|
20976
|
+
map.current = new mapboxgl.Map({
|
|
20977
|
+
container: mapContainer.current,
|
|
20978
|
+
style: 'mapbox://styles/mapbox/satellite-v9',
|
|
20979
|
+
center: [0, 0],
|
|
20980
|
+
zoom: mapConfig.maxZoom || 3,
|
|
20981
|
+
projection: 'globe',
|
|
20982
|
+
attributionControl: false
|
|
20983
|
+
});
|
|
20984
|
+
}
|
|
20971
20985
|
|
|
20972
20986
|
// Add markers when map loads
|
|
20973
20987
|
map.current.on('load', () => {
|
|
@@ -20976,7 +20990,7 @@ const SimpleGlobe = _ref => {
|
|
|
20976
20990
|
// Hide Mapbox logo and attribution completely
|
|
20977
20991
|
map.current.getContainer();
|
|
20978
20992
|
const style = document.createElement('style');
|
|
20979
|
-
style.textContent = "\n .mapboxgl-ctrl-logo,\n .mapboxgl-ctrl-attrib,\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right {\n display: none !important;\n }\n .mapboxgl-canvas-container {\n overflow: hidden !important;\n }\n .mapboxgl-canvas {\n overflow: hidden !important;\n }\n /*
|
|
20993
|
+
style.textContent = "\n .mapboxgl-ctrl-logo,\n .mapboxgl-ctrl-attrib,\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right {\n display: none !important;\n }\n .mapboxgl-canvas-container {\n overflow: hidden !important;\n }\n .mapboxgl-canvas {\n overflow: hidden !important;\n }\n \n /* AGGRESSIVE CSS ISOLATION: Override ALL Leaflet CSS interference */\n .daf-simple-globe-container .mapboxgl-canvas-container {\n position: relative !important;\n left: auto !important;\n top: auto !important;\n transform: none !important;\n }\n .daf-simple-globe-container .mapboxgl-canvas-container canvas {\n position: relative !important;\n left: auto !important;\n top: auto !important;\n transform: none !important;\n }\n \n /* CRITICAL: Override Leaflet marker positioning that affects Mapbox */\n .daf-simple-globe-container .mapboxgl-marker {\n position: absolute !important;\n left: auto !important;\n top: auto !important;\n transform: none !important;\n pointer-events: auto !important;\n }\n \n /* Override Leaflet div icon styles */\n .daf-simple-globe-container .mapboxgl-marker .daf-globe-marker {\n position: relative !important;\n left: auto !important;\n top: auto !important;\n transform: none !important;\n width: auto !important;\n height: auto !important;\n background: none !important;\n border: none !important;\n pointer-events: auto !important;\n }\n \n /* Override any Leaflet pane positioning */\n .daf-simple-globe-container .mapboxgl-marker-pane {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n transform: none !important;\n }\n \n /* Override Leaflet tile container interference */\n .daf-simple-globe-container .mapboxgl-tile-container {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n transform: none !important;\n }\n \n /* Override any Leaflet zoom animations */\n .daf-simple-globe-container .mapboxgl-zoom-animated {\n transform-origin: 0 0 !important;\n }\n \n /* Override Leaflet interactive cursor styles */\n .daf-simple-globe-container .mapboxgl-marker.leaflet-interactive {\n cursor: pointer !important;\n }\n \n /* Override Leaflet popup positioning */\n .daf-simple-globe-container .mapboxgl-popup {\n position: absolute !important;\n left: auto !important;\n top: auto !important;\n transform: none !important;\n }\n ";
|
|
20980
20994
|
document.head.appendChild(style);
|
|
20981
20995
|
|
|
20982
20996
|
// Set the space background with stars
|
|
@@ -21019,6 +21033,12 @@ const SimpleGlobe = _ref => {
|
|
|
21019
21033
|
el.style.display = 'flex';
|
|
21020
21034
|
el.style.alignItems = 'center';
|
|
21021
21035
|
el.style.justifyContent = 'center';
|
|
21036
|
+
// Ensure proper positioning and prevent CSS interference
|
|
21037
|
+
el.style.position = 'relative';
|
|
21038
|
+
el.style.left = 'auto';
|
|
21039
|
+
el.style.top = 'auto';
|
|
21040
|
+
el.style.transform = 'none';
|
|
21041
|
+
el.style.zIndex = '1000';
|
|
21022
21042
|
if (type === "location") {
|
|
21023
21043
|
// Location marker - SVG map pin style
|
|
21024
21044
|
el.style.width = '28px';
|
|
@@ -21074,19 +21094,31 @@ const SimpleGlobe = _ref => {
|
|
|
21074
21094
|
closeOnClick: false
|
|
21075
21095
|
}).setHTML(popupContent);
|
|
21076
21096
|
|
|
21077
|
-
// Ensure coordinates are valid numbers
|
|
21097
|
+
// Ensure coordinates are valid numbers and in correct order
|
|
21078
21098
|
const lng = Number(project.longitude);
|
|
21079
21099
|
const lat = Number(project.latitude);
|
|
21080
21100
|
console.log("\uD83D\uDCCD [SIMPLE GLOBE] Marker ".concat(index, " coordinates:"), {
|
|
21081
|
-
|
|
21082
|
-
|
|
21101
|
+
original: {
|
|
21102
|
+
longitude: project.longitude,
|
|
21103
|
+
latitude: project.latitude
|
|
21104
|
+
},
|
|
21105
|
+
processed: {
|
|
21106
|
+
lng,
|
|
21107
|
+
lat
|
|
21108
|
+
},
|
|
21109
|
+
project: project.name
|
|
21083
21110
|
});
|
|
21084
21111
|
|
|
21085
21112
|
// Validate coordinates
|
|
21086
21113
|
if (isNaN(lng) || isNaN(lat) || lng < -180 || lng > 180 || lat < -90 || lat > 90) {
|
|
21087
21114
|
console.error("\u274C [SIMPLE GLOBE] Invalid coordinates for project ".concat(index, ":"), {
|
|
21088
21115
|
lng,
|
|
21089
|
-
lat
|
|
21116
|
+
lat,
|
|
21117
|
+
original: {
|
|
21118
|
+
longitude: project.longitude,
|
|
21119
|
+
latitude: project.latitude
|
|
21120
|
+
},
|
|
21121
|
+
project: project.name
|
|
21090
21122
|
});
|
|
21091
21123
|
return;
|
|
21092
21124
|
}
|
|
@@ -21095,14 +21127,28 @@ const SimpleGlobe = _ref => {
|
|
|
21095
21127
|
bounds.extend([lng, lat]);
|
|
21096
21128
|
hasValidCoordinates = true;
|
|
21097
21129
|
|
|
21098
|
-
//
|
|
21099
|
-
new mapboxgl.Marker(
|
|
21130
|
+
// Create marker with explicit positioning
|
|
21131
|
+
const marker = new mapboxgl.Marker({
|
|
21132
|
+
element: el,
|
|
21133
|
+
anchor: 'center'
|
|
21134
|
+
}).setLngLat([lng, lat]).setPopup(popup).addTo(map.current);
|
|
21100
21135
|
|
|
21101
21136
|
// Add click handler
|
|
21102
21137
|
el.addEventListener('click', () => {
|
|
21103
21138
|
console.log('π [SIMPLE GLOBE] Marker clicked:', project);
|
|
21104
21139
|
onProjectClick(project);
|
|
21105
21140
|
});
|
|
21141
|
+
|
|
21142
|
+
// Verify marker position after a short delay
|
|
21143
|
+
setTimeout(() => {
|
|
21144
|
+
const markerLngLat = marker.getLngLat();
|
|
21145
|
+
console.log("\uD83D\uDD0D [SIMPLE GLOBE] Marker ".concat(index, " position verification:"), {
|
|
21146
|
+
expected: [lng, lat],
|
|
21147
|
+
actual: [markerLngLat.lng, markerLngLat.lat],
|
|
21148
|
+
project: project.name,
|
|
21149
|
+
match: Math.abs(markerLngLat.lng - lng) < 0.0001 && Math.abs(markerLngLat.lat - lat) < 0.0001
|
|
21150
|
+
});
|
|
21151
|
+
}, 100);
|
|
21106
21152
|
console.log("\u2705 [SIMPLE GLOBE] Marker ".concat(index, " added at:"), [lng, lat]);
|
|
21107
21153
|
});
|
|
21108
21154
|
|
|
@@ -21217,6 +21263,136 @@ const SimpleGlobe = _ref => {
|
|
|
21217
21263
|
});
|
|
21218
21264
|
};
|
|
21219
21265
|
|
|
21266
|
+
const SimpleGlobeTestDebug = _ref => {
|
|
21267
|
+
let {
|
|
21268
|
+
projects = []
|
|
21269
|
+
} = _ref;
|
|
21270
|
+
const mapContainer = React.useRef(null);
|
|
21271
|
+
const map = React.useRef(null);
|
|
21272
|
+
React.useEffect(() => {
|
|
21273
|
+
if (map.current) return;
|
|
21274
|
+
console.log('π§ͺ [DEBUG TEST] Creating minimal map...');
|
|
21275
|
+
|
|
21276
|
+
// Set Mapbox access token
|
|
21277
|
+
mapboxgl.accessToken = 'pk.eyJ1IjoicmVkaXM5OTkiLCJhIjoiY2x4YWV5MzA5MmtuZzJpcXM5Y201Z2E2YiJ9.m5bwPg-Tj4Akesl1yQUa3w';
|
|
21278
|
+
|
|
21279
|
+
// Create minimal map
|
|
21280
|
+
map.current = new mapboxgl.Map({
|
|
21281
|
+
container: mapContainer.current,
|
|
21282
|
+
style: 'mapbox://styles/mapbox/satellite-v9',
|
|
21283
|
+
center: [0, 0],
|
|
21284
|
+
zoom: 2,
|
|
21285
|
+
projection: 'globe'
|
|
21286
|
+
});
|
|
21287
|
+
|
|
21288
|
+
// Add markers when map loads
|
|
21289
|
+
map.current.on('load', () => {
|
|
21290
|
+
console.log('π§ͺ [DEBUG TEST] Map loaded, adding test markers...');
|
|
21291
|
+
projects.forEach((project, index) => {
|
|
21292
|
+
console.log("\uD83E\uDDEA [DEBUG TEST] Processing project ".concat(index, ":"), project);
|
|
21293
|
+
|
|
21294
|
+
// Create simple marker
|
|
21295
|
+
const el = document.createElement('div');
|
|
21296
|
+
el.style.width = '20px';
|
|
21297
|
+
el.style.height = '20px';
|
|
21298
|
+
el.style.backgroundColor = '#FF0000';
|
|
21299
|
+
el.style.borderRadius = '50%';
|
|
21300
|
+
el.style.border = '2px solid white';
|
|
21301
|
+
el.style.cursor = 'pointer';
|
|
21302
|
+
el.style.boxShadow = '0px 3px 6px rgba(0,0,0,0.3)';
|
|
21303
|
+
|
|
21304
|
+
// Get coordinates
|
|
21305
|
+
const lng = Number(project.longitude);
|
|
21306
|
+
const lat = Number(project.latitude);
|
|
21307
|
+
console.log("\uD83E\uDDEA [DEBUG TEST] Coordinates for ".concat(project.name, ":"), {
|
|
21308
|
+
original: {
|
|
21309
|
+
longitude: project.longitude,
|
|
21310
|
+
latitude: project.latitude
|
|
21311
|
+
},
|
|
21312
|
+
processed: {
|
|
21313
|
+
lng,
|
|
21314
|
+
lat
|
|
21315
|
+
},
|
|
21316
|
+
valid: !isNaN(lng) && !isNaN(lat) && lng >= -180 && lng <= 180 && lat >= -90 && lat <= 90
|
|
21317
|
+
});
|
|
21318
|
+
if (isNaN(lng) || isNaN(lat) || lng < -180 || lng > 180 || lat < -90 || lat > 90) {
|
|
21319
|
+
console.error("\u274C [DEBUG TEST] Invalid coordinates for ".concat(project.name, ":"), {
|
|
21320
|
+
lng,
|
|
21321
|
+
lat
|
|
21322
|
+
});
|
|
21323
|
+
return;
|
|
21324
|
+
}
|
|
21325
|
+
|
|
21326
|
+
// Create popup
|
|
21327
|
+
const popup = new mapboxgl.Popup({
|
|
21328
|
+
offset: 25
|
|
21329
|
+
}).setHTML("\n <div style=\"padding: 8px;\">\n <h3 style=\"margin: 0 0 8px 0; font-size: 14px;\">".concat(project.name, "</h3>\n <p style=\"margin: 0; font-size: 12px; color: #666;\">\n Lat: ").concat(lat.toFixed(4), ", Lng: ").concat(lng.toFixed(4), "\n </p>\n <p style=\"margin: 4px 0 0 0; font-size: 12px;\">\n ").concat(project.projectDescription || 'No description', "\n </p>\n </div>\n "));
|
|
21330
|
+
|
|
21331
|
+
// Add marker with explicit positioning
|
|
21332
|
+
const marker = new mapboxgl.Marker({
|
|
21333
|
+
element: el,
|
|
21334
|
+
anchor: 'center'
|
|
21335
|
+
}).setLngLat([lng, lat]).setPopup(popup).addTo(map.current);
|
|
21336
|
+
|
|
21337
|
+
// Verify position after a delay
|
|
21338
|
+
setTimeout(() => {
|
|
21339
|
+
const markerLngLat = marker.getLngLat();
|
|
21340
|
+
const positionMatch = Math.abs(markerLngLat.lng - lng) < 0.0001 && Math.abs(markerLngLat.lat - lat) < 0.0001;
|
|
21341
|
+
console.log("\uD83D\uDD0D [DEBUG TEST] Position verification for ".concat(project.name, ":"), {
|
|
21342
|
+
expected: [lng, lat],
|
|
21343
|
+
actual: [markerLngLat.lng, markerLngLat.lat],
|
|
21344
|
+
match: positionMatch,
|
|
21345
|
+
difference: {
|
|
21346
|
+
lng: Math.abs(markerLngLat.lng - lng),
|
|
21347
|
+
lat: Math.abs(markerLngLat.lat - lat)
|
|
21348
|
+
}
|
|
21349
|
+
});
|
|
21350
|
+
if (!positionMatch) {
|
|
21351
|
+
console.error("\u274C [DEBUG TEST] Position mismatch for ".concat(project.name, "!"));
|
|
21352
|
+
}
|
|
21353
|
+
}, 200);
|
|
21354
|
+
console.log("\u2705 [DEBUG TEST] Marker added for ".concat(project.name, " at:"), [lng, lat]);
|
|
21355
|
+
});
|
|
21356
|
+
});
|
|
21357
|
+
return () => {
|
|
21358
|
+
if (map.current) {
|
|
21359
|
+
map.current.remove();
|
|
21360
|
+
map.current = null;
|
|
21361
|
+
}
|
|
21362
|
+
};
|
|
21363
|
+
}, [projects]);
|
|
21364
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
21365
|
+
style: {
|
|
21366
|
+
width: '100%',
|
|
21367
|
+
height: '600px',
|
|
21368
|
+
border: '2px solid #ccc',
|
|
21369
|
+
position: 'relative'
|
|
21370
|
+
},
|
|
21371
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
21372
|
+
ref: mapContainer,
|
|
21373
|
+
style: {
|
|
21374
|
+
width: '100%',
|
|
21375
|
+
height: '100%',
|
|
21376
|
+
position: 'relative'
|
|
21377
|
+
}
|
|
21378
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
21379
|
+
style: {
|
|
21380
|
+
position: 'absolute',
|
|
21381
|
+
top: '10px',
|
|
21382
|
+
left: '10px',
|
|
21383
|
+
background: 'rgba(255,255,255,0.9)',
|
|
21384
|
+
padding: '8px',
|
|
21385
|
+
borderRadius: '4px',
|
|
21386
|
+
fontSize: '12px',
|
|
21387
|
+
zIndex: 1000
|
|
21388
|
+
},
|
|
21389
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("strong", {
|
|
21390
|
+
children: "Debug Test Map"
|
|
21391
|
+
}), /*#__PURE__*/jsxRuntime.jsx("br", {}), "Projects: ", projects.length, /*#__PURE__*/jsxRuntime.jsx("br", {}), "Check console for position verification"]
|
|
21392
|
+
})]
|
|
21393
|
+
});
|
|
21394
|
+
};
|
|
21395
|
+
|
|
21220
21396
|
function WidgetPlaceholder(_ref) {
|
|
21221
21397
|
let {
|
|
21222
21398
|
icon = "",
|
|
@@ -62040,6 +62216,7 @@ exports.SettingsPopover = SettingsPopover;
|
|
|
62040
62216
|
exports.Sidenav = Sidenav;
|
|
62041
62217
|
exports.SidenavMenu = SidenavMenu;
|
|
62042
62218
|
exports.SimpleGlobe = SimpleGlobe;
|
|
62219
|
+
exports.SimpleGlobeTestDebug = SimpleGlobeTestDebug;
|
|
62043
62220
|
exports.StackChart = StackChart;
|
|
62044
62221
|
exports.StakeholderMappings = index$1;
|
|
62045
62222
|
exports.Steps = DAFSteps;
|
package/package.json
CHANGED
|
@@ -47,15 +47,29 @@ const SimpleGlobe = ({
|
|
|
47
47
|
// Set Mapbox access token
|
|
48
48
|
mapboxgl.accessToken = 'pk.eyJ1IjoicmVkaXM5OTkiLCJhIjoiY2x4YWV5MzA5MmtuZzJpcXM5Y201Z2E2YiJ9.m5bwPg-Tj4Akesl1yQUa3w';
|
|
49
49
|
|
|
50
|
-
// Create map with custom Straatos style
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
50
|
+
// Create map with custom Straatos style (with fallback)
|
|
51
|
+
try {
|
|
52
|
+
map.current = new mapboxgl.Map({
|
|
53
|
+
container: mapContainer.current,
|
|
54
|
+
style: 'mapbox://styles/pietragottardo/cm9tt9zfi00d101pg1vdx26si',
|
|
55
|
+
center: [0, 0],
|
|
56
|
+
zoom: mapConfig.maxZoom || 3,
|
|
57
|
+
projection: 'globe',
|
|
58
|
+
attributionControl: false
|
|
59
|
+
});
|
|
60
|
+
console.log('πΊοΈ [SIMPLE GLOBE] Custom style loaded successfully');
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.warn('β οΈ [SIMPLE GLOBE] Custom style failed, using fallback:', error);
|
|
63
|
+
// Fallback to standard style
|
|
64
|
+
map.current = new mapboxgl.Map({
|
|
65
|
+
container: mapContainer.current,
|
|
66
|
+
style: 'mapbox://styles/mapbox/satellite-v9',
|
|
67
|
+
center: [0, 0],
|
|
68
|
+
zoom: mapConfig.maxZoom || 3,
|
|
69
|
+
projection: 'globe',
|
|
70
|
+
attributionControl: false
|
|
71
|
+
});
|
|
72
|
+
}
|
|
59
73
|
|
|
60
74
|
// Add markers when map loads
|
|
61
75
|
map.current.on('load', () => {
|
|
@@ -77,11 +91,13 @@ const SimpleGlobe = ({
|
|
|
77
91
|
.mapboxgl-canvas {
|
|
78
92
|
overflow: hidden !important;
|
|
79
93
|
}
|
|
80
|
-
|
|
94
|
+
|
|
95
|
+
/* AGGRESSIVE CSS ISOLATION: Override ALL Leaflet CSS interference */
|
|
81
96
|
.daf-simple-globe-container .mapboxgl-canvas-container {
|
|
82
97
|
position: relative !important;
|
|
83
98
|
left: auto !important;
|
|
84
99
|
top: auto !important;
|
|
100
|
+
transform: none !important;
|
|
85
101
|
}
|
|
86
102
|
.daf-simple-globe-container .mapboxgl-canvas-container canvas {
|
|
87
103
|
position: relative !important;
|
|
@@ -89,11 +105,61 @@ const SimpleGlobe = ({
|
|
|
89
105
|
top: auto !important;
|
|
90
106
|
transform: none !important;
|
|
91
107
|
}
|
|
92
|
-
|
|
93
|
-
|
|
108
|
+
|
|
109
|
+
/* CRITICAL: Override Leaflet marker positioning that affects Mapbox */
|
|
110
|
+
.daf-simple-globe-container .mapboxgl-marker {
|
|
111
|
+
position: absolute !important;
|
|
112
|
+
left: auto !important;
|
|
113
|
+
top: auto !important;
|
|
114
|
+
transform: none !important;
|
|
115
|
+
pointer-events: auto !important;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* Override Leaflet div icon styles */
|
|
119
|
+
.daf-simple-globe-container .mapboxgl-marker .daf-globe-marker {
|
|
94
120
|
position: relative !important;
|
|
95
121
|
left: auto !important;
|
|
96
122
|
top: auto !important;
|
|
123
|
+
transform: none !important;
|
|
124
|
+
width: auto !important;
|
|
125
|
+
height: auto !important;
|
|
126
|
+
background: none !important;
|
|
127
|
+
border: none !important;
|
|
128
|
+
pointer-events: auto !important;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* Override any Leaflet pane positioning */
|
|
132
|
+
.daf-simple-globe-container .mapboxgl-marker-pane {
|
|
133
|
+
position: absolute !important;
|
|
134
|
+
left: 0 !important;
|
|
135
|
+
top: 0 !important;
|
|
136
|
+
transform: none !important;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* Override Leaflet tile container interference */
|
|
140
|
+
.daf-simple-globe-container .mapboxgl-tile-container {
|
|
141
|
+
position: absolute !important;
|
|
142
|
+
left: 0 !important;
|
|
143
|
+
top: 0 !important;
|
|
144
|
+
transform: none !important;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/* Override any Leaflet zoom animations */
|
|
148
|
+
.daf-simple-globe-container .mapboxgl-zoom-animated {
|
|
149
|
+
transform-origin: 0 0 !important;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* Override Leaflet interactive cursor styles */
|
|
153
|
+
.daf-simple-globe-container .mapboxgl-marker.leaflet-interactive {
|
|
154
|
+
cursor: pointer !important;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Override Leaflet popup positioning */
|
|
158
|
+
.daf-simple-globe-container .mapboxgl-popup {
|
|
159
|
+
position: absolute !important;
|
|
160
|
+
left: auto !important;
|
|
161
|
+
top: auto !important;
|
|
162
|
+
transform: none !important;
|
|
97
163
|
}
|
|
98
164
|
`;
|
|
99
165
|
document.head.appendChild(style);
|
|
@@ -139,6 +205,12 @@ const SimpleGlobe = ({
|
|
|
139
205
|
el.style.display = 'flex';
|
|
140
206
|
el.style.alignItems = 'center';
|
|
141
207
|
el.style.justifyContent = 'center';
|
|
208
|
+
// Ensure proper positioning and prevent CSS interference
|
|
209
|
+
el.style.position = 'relative';
|
|
210
|
+
el.style.left = 'auto';
|
|
211
|
+
el.style.top = 'auto';
|
|
212
|
+
el.style.transform = 'none';
|
|
213
|
+
el.style.zIndex = '1000';
|
|
142
214
|
|
|
143
215
|
if (type === "location") {
|
|
144
216
|
// Location marker - SVG map pin style
|
|
@@ -217,15 +289,23 @@ const SimpleGlobe = ({
|
|
|
217
289
|
closeOnClick: false
|
|
218
290
|
}).setHTML(popupContent);
|
|
219
291
|
|
|
220
|
-
// Ensure coordinates are valid numbers
|
|
292
|
+
// Ensure coordinates are valid numbers and in correct order
|
|
221
293
|
const lng = Number(project.longitude);
|
|
222
294
|
const lat = Number(project.latitude);
|
|
223
295
|
|
|
224
|
-
console.log(`π [SIMPLE GLOBE] Marker ${index} coordinates:`, {
|
|
296
|
+
console.log(`π [SIMPLE GLOBE] Marker ${index} coordinates:`, {
|
|
297
|
+
original: { longitude: project.longitude, latitude: project.latitude },
|
|
298
|
+
processed: { lng, lat },
|
|
299
|
+
project: project.name
|
|
300
|
+
});
|
|
225
301
|
|
|
226
302
|
// Validate coordinates
|
|
227
303
|
if (isNaN(lng) || isNaN(lat) || lng < -180 || lng > 180 || lat < -90 || lat > 90) {
|
|
228
|
-
console.error(`β [SIMPLE GLOBE] Invalid coordinates for project ${index}:`, {
|
|
304
|
+
console.error(`β [SIMPLE GLOBE] Invalid coordinates for project ${index}:`, {
|
|
305
|
+
lng, lat,
|
|
306
|
+
original: { longitude: project.longitude, latitude: project.latitude },
|
|
307
|
+
project: project.name
|
|
308
|
+
});
|
|
229
309
|
return;
|
|
230
310
|
}
|
|
231
311
|
|
|
@@ -233,8 +313,11 @@ const SimpleGlobe = ({
|
|
|
233
313
|
bounds.extend([lng, lat]);
|
|
234
314
|
hasValidCoordinates = true;
|
|
235
315
|
|
|
236
|
-
//
|
|
237
|
-
const marker = new mapboxgl.Marker(
|
|
316
|
+
// Create marker with explicit positioning
|
|
317
|
+
const marker = new mapboxgl.Marker({
|
|
318
|
+
element: el,
|
|
319
|
+
anchor: 'center'
|
|
320
|
+
})
|
|
238
321
|
.setLngLat([lng, lat])
|
|
239
322
|
.setPopup(popup)
|
|
240
323
|
.addTo(map.current);
|
|
@@ -244,6 +327,17 @@ const SimpleGlobe = ({
|
|
|
244
327
|
console.log('π [SIMPLE GLOBE] Marker clicked:', project);
|
|
245
328
|
onProjectClick(project);
|
|
246
329
|
});
|
|
330
|
+
|
|
331
|
+
// Verify marker position after a short delay
|
|
332
|
+
setTimeout(() => {
|
|
333
|
+
const markerLngLat = marker.getLngLat();
|
|
334
|
+
console.log(`π [SIMPLE GLOBE] Marker ${index} position verification:`, {
|
|
335
|
+
expected: [lng, lat],
|
|
336
|
+
actual: [markerLngLat.lng, markerLngLat.lat],
|
|
337
|
+
project: project.name,
|
|
338
|
+
match: Math.abs(markerLngLat.lng - lng) < 0.0001 && Math.abs(markerLngLat.lat - lat) < 0.0001
|
|
339
|
+
});
|
|
340
|
+
}, 100);
|
|
247
341
|
|
|
248
342
|
console.log(`β
[SIMPLE GLOBE] Marker ${index} added at:`, [lng, lat]);
|
|
249
343
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import SimpleGlobe from "./SimpleGlobe";
|
|
2
2
|
import SimpleGlobeDebug from "./SimpleGlobeDebug";
|
|
3
|
+
import SimpleGlobeTestDebug from "./SimpleGlobeTestDebug";
|
|
4
|
+
import SimpleGlobeStraatosDebug from "./SimpleGlobeStraatosDebug";
|
|
3
5
|
import ThemeLayout from "../../ThemeLayout";
|
|
4
6
|
import Widget from "../Widget";
|
|
5
7
|
|
|
@@ -282,3 +284,32 @@ export const DebugVersion = {
|
|
|
282
284
|
</div>
|
|
283
285
|
)
|
|
284
286
|
};
|
|
287
|
+
|
|
288
|
+
export const TestDebugVersion = {
|
|
289
|
+
name: "Test Debug Version (Minimal Setup)",
|
|
290
|
+
render: () => (
|
|
291
|
+
<div style={{ margin: "3em" }}>
|
|
292
|
+
<ThemeLayout>
|
|
293
|
+
<Widget title="Test Debug Globe (Minimal Mapbox)" className="no-px no-pb-body">
|
|
294
|
+
<SimpleGlobeTestDebug projects={SAMPLE_PROJECTS} />
|
|
295
|
+
</Widget>
|
|
296
|
+
</ThemeLayout>
|
|
297
|
+
</div>
|
|
298
|
+
)
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
export const StraatosDebugVersion = {
|
|
302
|
+
name: "Straatos Debug Version (Aggressive CSS Isolation)",
|
|
303
|
+
render: () => (
|
|
304
|
+
<div style={{ margin: "3em" }}>
|
|
305
|
+
<ThemeLayout>
|
|
306
|
+
<Widget title="Straatos Debug Globe (Aggressive CSS Isolation)" className="no-px no-pb-body">
|
|
307
|
+
<SimpleGlobeStraatosDebug projects={SAMPLE_PROJECTS} />
|
|
308
|
+
</Widget>
|
|
309
|
+
</ThemeLayout>
|
|
310
|
+
</div>
|
|
311
|
+
)
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
// Export the components for reuse in other projects
|
|
315
|
+
export { SimpleGlobeTestDebug, SimpleGlobeStraatosDebug };
|