mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Keep filters when navigating through netbox #8328
Closed
opened 2025-12-29 20:35:22 +01:00 by adam
·
9 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#8328
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @carlo-4ip on GitHub (Jul 12, 2023).
NetBox version
v3.5.4
Feature type
Change to existing functionality
Proposed functionality
I would like to propose a filter which kind of would work like a "workspace". This filter would be filtering on tenant level, so when filtering on a certain tenant and then clicking the "devices" it shows only the devices of this tenant.
It should be active on every tenant-related page with a list/table that the user visits, like Devices, IP addresses, Prefixes, Wireless LAN, etc. Only resetting this filter should show everything again, so the user is in control.
The more general pages, like Manufacturers or Device Types should not be filtered, as these are applicable for all tenants.
Positioning and design
The filter should be easily accessible in the top left or right corner, so changing from one "workspace" to another is quick and simple.
I would propose something like shown in the following image, but added to this a simple search bar at the top.
https://user-images.githubusercontent.com/12944771/236021102-d95d59e7-a775-42c0-a15f-53973b436d71.png
Use case
As discussed here:
https://github.com/netbox-community/netbox/discussions/12341#discussioncomment-6059217
For example, when navigating to a tenant and see all devices we have a filter of the tenant. But then, if we open a device an want to return to the device list the filter is gone (clicking "devices" in the menu).
The proposed feature would allow for a kind of "workspace" (being the tenant) where the user can search all tenant related info, like devices or IP addresses, while still being able to work with the Netbox menu to switch modules (within that tenant filter). It lets users focus on a certain tenant without having to rebuild the filter each time they click a menu item. Just select the tenant you need in the filter and you can use the menu to switch modules and not be overwhelmed with thousands of entries.
Database changes
I don't think there would be need for database changes.
External dependencies
None.
@kkthxbye-code commented on GitHub (Jul 12, 2023):
To add to the canned response, feature requests are not intended to workshop ideas. You will need to edit the feature request to propose an actional idea, that includes any UI changes, what workflow is proposed and optimally how the actual functionality is to be implemented (all models not having a tenant field being an obvious issue that should be accounted for).
@carlo-4ip commented on GitHub (Jul 12, 2023):
Hi,
I'm sorry for that, I'm quite new to the community and to Netbox. I have a lot of colleagues looking to me for a good working environment to work in. Our last tool didn't fulfill the requirements anymore.
I've updated the request, I hope this is more like you want it to be.
It won't be perfect, but I'm not a programmer or scripter. We are just simple Network Admin in need of good tooling.
@jsenecal commented on GitHub (Jul 12, 2023):
So something like "Sticky filters" then, you set them in some UI modal and they stick across pages. A Banner should remember the user that they have some sticky filters activated.
This is a lot of work to implement though, not sure there is substantial ROI however.
@carlo-4ip commented on GitHub (Jul 13, 2023):
Hi Jonathan,
Yes, you are correct. I didn't know this request was a lot of work. I thought, since there is already a filtering function, there could be some code for re-usage.
However, I should think there have to be more of your users that are in an MSP environment and are dying for a way to work on 1 customer (tenant) at a time.
Please think about it. I would like to hear your thoughts.
Kind regards,
Carlo Vos
From: Jonathan Senecal @.>
Sent: Wednesday, July 12, 2023 5:50:27 PM
To: netbox-community/netbox @.>
Cc: Carlo Vos @.>; Author @.>
Subject: Re: [netbox-community/netbox] More static Tenant Filter (Issue #13162)
So something like "Sticky filters" then, you set them in some UI modal and they stick across pages. A Banner should remember the user that they have some sticky filters activated.
This is a lot of work to implement though, not sure there is substantial ROI however.
—
Reply to this email directly, view it on GitHubhttps://github.com/netbox-community/netbox/issues/13162#issuecomment-1632791091, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7NKKTVPR4HQIVOXQKQPV4LXP3BUHANCNFSM6AAAAAA2HCI3C4.
You are receiving this because you authored the thread.Message ID: @.***>
@tjdavis3 commented on GitHub (Jul 22, 2023):
I think the "sticky filters" idea is best. Having to set filters over and over again is one of the most frustrating things about working in Netbox. We don't deal with tenants so much, but we do have multiple sites and when working on a given site (eg. doing an audit) it is painful to have to reset the filter every time we edit a device and go back to the list.
@github-actions[bot] commented on GitHub (Oct 29, 2023):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Do not attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our contributing guide.
@Torstein-Eide commented on GitHub (Nov 5, 2023):
Can it be done somethling like this?
Short demo to combined
localStorage(Persistent filters) andURL parmeters(Current filter).I am a noob when it comes to HTML, but from that combind array you can pass that on to the current filter.
@ITJamie commented on GitHub (Nov 25, 2023):
Another example would be when filtering changelogs and you want to use the next/previous options but based on the filtered list
@jeremystretch commented on GitHub (Jan 2, 2024):
While I appreciate the perspectives shared here, it seems we still haven't arrived at an actionable proposal. Several immediate considerations still have not been addressed:
I'm sure there are others. The discussion thus far seems to have focused more on enabling a particular feature and less on the workflows involved.
I'm going to close out this FR as I don't believe attempting to salvage the proposal at this stage makes sense. Instead, I invite anyone interested in doing to so to submit a new FR leveraging what has been discussed here and adding sufficient supporting context and detail. An actionable FR will include the specific mechanism being proposed, ideas for its technical implementation, a set of requirements for how it should function for both applicable and non-applicable views, and example workflows.
Looking forward to rebooting this proposal!