Skip to content

Conversation

@dee077
Copy link
Member

@dee077 dee077 commented Sep 11, 2025

Checklist

  • I have read the OpenWISP Contributing Guidelines.
  • I have manually tested the changes proposed in this pull request.
  • I have written new test cases for new code and/or updated existing tests for changes to existing code.
  • I have updated the documentation.

Reference to Existing Issue

Closes #562.

Description of Changes

  • Passed the urlFragements from config on both maps to allow fragments to set and apply from netjsongraph.js
  • Updated the logic in floorplan.js to parse the params first, and if it exists for the indoor map open the floorplan overlay

Blockers

@dee077 dee077 self-assigned this Sep 11, 2025
@dee077 dee077 added enhancement New feature or request gsoc-idea labels Sep 11, 2025
@dee077 dee077 changed the base branch from master to feature/662-improve-ui-device-list-popup-above-geo-map September 11, 2025 00:50
@dee077 dee077 force-pushed the feature/662-improve-ui-device-list-popup-above-geo-map branch 2 times, most recently from 1ed30c3 to acec94b Compare September 11, 2025 16:40
@dee077 dee077 force-pushed the feature/562-bookmark-url branch from f570034 to e533011 Compare September 11, 2025 22:29
Base automatically changed from feature/662-improve-ui-device-list-popup-above-geo-map to gsoc25-map September 12, 2025 16:32
@dee077 dee077 moved this from In progress to In review in [GSoC25] General Map: Indoor, Mobile, Linkable URLs Sep 12, 2025
@dee077 dee077 force-pushed the feature/562-bookmark-url branch from e533011 to b5cd494 Compare September 17, 2025 23:48
@dee077 dee077 marked this pull request as ready for review September 17, 2025 23:49
@dee077 dee077 force-pushed the feature/562-bookmark-url branch from 632f83b to 0fa8b29 Compare September 18, 2025 23:10
Copy link
Member

@pandafy pandafy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing work Deepanshu! 🚀 🚀 🚀

This PR is on point!!! Just need to add some comments here and there.

Comment on lines +16 to +26
const rawUrlFragments = window.location.hash.replace(/^#/, "");
const fragments = rawUrlFragments.split(";").filter((f) => f.trim() !== "");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explain with a comment what are we doing and why are we doing.

Add a TODO to replace this logic after adding a static re-usable method in NetjsonGraph

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added comments!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dee077 have we already added a re-usable method in netjsongraph.js? If so, can we use it here?

@dee077 dee077 force-pushed the feature/562-bookmark-url branch 2 times, most recently from ef9e7c4 to 0fa8b29 Compare September 22, 2025 11:29
@dee077 dee077 force-pushed the feature/562-bookmark-url branch 2 times, most recently from af11750 to 838bb84 Compare October 3, 2025 15:03
Copy link
Member

@pandafy pandafy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dee077 Good work with adding the buttons to the device page. But, these buttons are redirecting the user to /admin/ page. The end goal is to create a dedicated page for the map.

I'm unsure if we need field label for the button. I'm attaching the screenshot so @nemesifier can confirm quickly.

Image

@dee077 dee077 force-pushed the feature/562-bookmark-url branch from b7aa2d6 to ff2c879 Compare October 22, 2025 12:04
@dee077
Copy link
Member Author

dee077 commented Oct 22, 2025

Updates

  • Added a new map page template, which extends the base_site.html of the proxy model Map
  • The map is on admin/device_monitoring/map url Let me know if you want to change it.
  • Updated the test to assert for the whole url instead of only checking the url fragments.

Copy link
Member

@pandafy pandafy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dedicated map page works well. I'm still unsure about adding a model just for adding an admin view.

@dee077 dee077 force-pushed the feature/562-bookmark-url branch from ff2c879 to e6d3c2c Compare November 11, 2025 19:36
Copy link
Member

@pandafy pandafy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have done a thorough review and it looks good to merge except these small details.

@dee077 the CI is failing due to a selenium test. Can you check why?

Comment on lines +16 to +26
const rawUrlFragments = window.location.hash.replace(/^#/, "");
const fragments = rawUrlFragments.split(";").filter((f) => f.trim() !== "");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dee077 have we already added a re-usable method in netjsongraph.js? If so, can we use it here?

Comment on lines +155 to +160
function removeUrlFragment(locationId) {
if (locationId != null) {
const id = maps[currentFloor].config.bookmarkableActions.id;
maps[currentFloor].utils.removeUrlFragment(id);
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please help me remember why do we need this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const rawUrlFragments = window.location.hash.replace(/^#/, "");
const fragments = rawUrlFragments.split(";").filter((f) => f.trim() !== "");

We need the above lines for opening the floorplan overlay div by that time we don't have a netjsongraph instance for the indoor map, so we can't use the method from utils.

removeUrlFragment is used for removing the fragments on closing the overlay div for the indoor map

@dee077 dee077 force-pushed the feature/562-bookmark-url branch from 30ce3fc to 63d61f5 Compare November 23, 2025 22:27
@dee077 dee077 force-pushed the feature/562-bookmark-url branch from 63d61f5 to f414c72 Compare November 23, 2025 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request gsoc-idea

Development

Successfully merging this pull request may close these issues.

[feature] Add a URL in the device's change page to view the device on the full map

3 participants