Open
Conversation
- Updated query to find optical nodes via Optical_Link -> Port -> Optical_Node relationship - Removed TSS type filter to include all optical node types - Changed label from 'Cable:' to 'Optical Link:' in map tooltips
Enhanced google_maps.html with optical path visualization features: Added 300px side panel for displaying available optical paths, implemented node selection with visual highlighting (blue marker for selected node), added path checkboxes with color-coded indicators for toggling path visibility, implemented zoom-aware path rendering with automatic redraw on zoom changes, added path segment offset calculation to handle overlapping paths, styled path panel with collapsible path items showing name, description, and operational state. Added new API endpoint in urls.py: Added /gmaps/optical-paths/<node_handle_id>.json endpoint for fetching optical paths. Implemented backend logic in other.py: Added gmaps_optical_paths() view function to query Neo4j for optical paths, filters paths by operational_state In service and node connectivity, builds ordered node sequences using graph traversal with DFS algorithm, returns JSON with path metadata and geo-coordinates for all nodes in each path, properly handles adjacency graph construction from optical links and multiplex sections.
- Remove hover highlight effects from optical links - Prevent duplicate optical paths when switching between nodes - Redraw all paths with correct spacing when deselecting a path - Make optical path names clickable links to their detail pages - Use event delegation for checkbox handlers to prevent duplicate event bindings
- Add 'Show in Optical Node Map' button to optical path detail page - Pass path ID as URL parameter to the map view - Implement automatic path preloading after map loads - Search through all optical nodes to find and display the specified path - Auto-check path in selector and center map on path location
…sit) - Categorize paths based on selected node position (first/last/middle) - Add collapsible section headers with path counts - Transit section collapsed by default - Update backend query to find all paths through a node (not just endpoints) - Re-categorize all paths when switching nodes - Maintain checked state across node switches
- Combine Ingress/Egress into single 'Endpoint' section (first or last node) - Keep Transit section for middle nodes (collapsed by default) - Better reflects non-directional nature of optical paths
- Add 'Download KMZ' button to optical path detail page - Implement optical_path_kmz() view to generate KMZ files - Query path nodes and build ordered sequence using DFS traversal - Generate KML with placemarks for each node and LineString for path - Zip KML into KMZ format for download - Add URL route /optical-path/<handle_id>/kmz/
- Add xml_escape() to properly escape special characters in KML - Escape path names, descriptions, and node names to prevent XML parse errors - Round coordinates to 3 decimal places (~111m precision) for security
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Optical Node Map Enhancements
This PR enhances the optical node map visualization with improved markers, interactive optical path selection, and direct navigation from optical path detail pages.
Map Improvements
Interactive Optical Path Visualization
Backend & API
/gmaps/optical-paths/<node_handle_id>.jsonfor fetching optical pathsDirect Navigation
?path=<id>for direct path linking