tables icon indicating copy to clipboard operation
tables copied to clipboard

Semi-persistent local filtering on table/view data through URL parameters

Open datenangebot opened this issue 2 years ago • 2 comments

Is your feature request related to a problem? Please describe.

Don't create for all possible contexts different view. Thats also limited by thinking about sharing and dynamical adding needed views.

Describe the solution you'd like

Define a filter setup for views that can access filter data from the url and add it dynamically to the views filter.

Example: Assume you have a list of assets maybe a software inventory. Now you want to know everything about one engine, so you would like to filter for that engine ID given by the url.

Filter setup for that view could look like: Filters: -> state = active // show only active assets -> engineID begins-with urlValue(engine)

url could look like: domain.tld/index.php/apps/tables/api/1/views/rows?engine=ABCDEF

This would also add a selection option next to the search input in the web ui. It will offer all possible values for this filter, preselected with the url given value.

Describe alternatives you've considered

No response

Additional context

No response

datenangebot avatar Nov 10 '23 10:11 datenangebot

As a first step we should make sure that:

  • Local filters are applied and read from URL parameters
  • A user can copy the URL and when opening it the currently selected local filters are applied

In a second step we can think about storing them more permantently, but the above would already be a huge improvement.

A good example of how this can work is github projects, consider this example flow (parameter structure can be rethought):

  • Have a view open that has a server side filtered list of rows
  • A user searches for some text "test"
    • The local browser filter is adjusted in the URL (e.g. ?search=test)
  • A user filters a column title (column id 11) to contain "word"
    • The local browser filter is adjusted in the URL (e.g. ?search=test&filter[]=11:contains:word)
  • A user add sorting for the priority column (column id 12)
    • The local browser sorting is adjusted in the URL (e.g. ?search=test&filter[]=title:contains:word&sort=12:asc)

juliusknorr avatar Apr 04 '24 12:04 juliusknorr

@enjeck I think this would be a nice task to take some time learning more about vue-router

Nothing urgent but you could line that one up to read up a bit on it already and look into on the side.

juliusknorr avatar May 08 '24 12:05 juliusknorr