Modify

Opened 7 years ago

Closed 7 years ago

#7664 closed enhancement (fixed)

Add filters for watchlist table content

Reported by: Martin Scharrer Owned by: Martin Scharrer
Priority: normal Component: WatchlistPlugin
Severity: normal Keywords: filter
Cc: Steffen Hoffmann Trac Release: 0.12

Description

Dynamic filters should be added to all watchlist tables, e.g. using the dataTables functions (see below for links), to only show specific rows. This is not to be confused with #7647, which "filters" columns.

Some ideas:

  • Only show all entries which changed since the last time the user looked at the watchlist.
  • Only show all entries which changed in a user definable range (Extra: provide JS data pickers)
  • Add filters (like in link 1.) to all columns, e.g. in the table footer.
  • Extra: Regular expressions could also be supported.
  • Extra: Filter selections should be saved in a cookie to survive between page views.

With this it should be possible to e.g. filter all wiki pages changed in a certain time range, which start (or include) with 'ABC/' and where changed by a certain user.

--

Links:

  1. http://datatables.net/examples/api/multi_filter.html
  2. http://datatables.net/examples/api/multi_filter_select.html
  3. http://datatables.net/examples/plug-ins/range_filtering.html

Attachments (0)

Change History (7)

comment:1 Changed 7 years ago by Martin Scharrer

(In [8743]) dev/tracwatchlist/htdocs/css/style.css::

dev/tracwatchlist/plugin.py
dev/tracwatchlist/templates/wl-ticket.html
dev/tracwatchlist/templates/wl-wiki.html
Added integer versions of date/times as a hidden <span> for later numeric filtering. See #7664.

comment:2 Changed 7 years ago by Martin Scharrer

Idea:

The version filter input syntax should be "min-max", which one of "min" or "max" optional, as well as the "-" if only one value is given.

Examples:

  • 4-8 Versions 4 till 8
  • -9 All version <=9
  • 7- All version >=7
  • 5 Only version 5
  • empty All versions

Note: The same syntax should be supported by the python code for adding and removing tickets.

comment:3 Changed 7 years ago by Martin Scharrer

Status: newassigned

Done so far [8742:8753]:

  • Add filters (like in link 1.) to all columns, e.g. in the table footer.
  • Extra: Filter selections should be saved in a cookie to survive between page views.

comment:4 Changed 7 years ago by Martin Scharrer

(In [8803]) Made first changes for a selectable date/time range included since last visit check-box. HTML layout is finished by JS-code is still TODO. See #7664. See #7649.

comment:5 Changed 7 years ago by Martin Scharrer

TODO

  • Implement search/selection ranges for ticket ids (python and JS).
  • Implement date/time picker.
    • Needs JS library
    • Needs Option to switch on/off
    • Selection must be saved as cookie manually
    • Code since last visit button

comment:6 in reply to:  5 Changed 7 years ago by Martin Scharrer

Replying to martin_s:

DONE

as of @8907.

  • Implement date/time picker.
    • Needs JS library (AnyTime)
    • Selection must be saved as cookie manually
    • Code since last visit button checkbox

comment:7 in reply to:  2 Changed 7 years ago by Martin Scharrer

Resolution: fixed
Status: assignedclosed

Replying to martin_s:

Idea:

The version filter input syntax should be "min-max", which one of "min" or "max" optional, as well as the "-" if only one value is given.

Finished in [8925]. Now implemented for all numeric data (Wiki page version, ticket id and comment number). Supported format is:

  • a-b numbers a till b, both inclusive
  • -b All numbers <=b
  • a- All numbers >=a
  • a Only number a
  • empty or invalid All numbers

Multiple ranges can be given as comma separated list. A number will test positive when in any of this ranges:

Examples:

  • a-b,c-d All numbers which are between a and b OR between c and d.
  • -a,b,c- All numbers which are either <= a, ==b or >=c

There should be some simple help text on the watchlist to explain this, or at least a link to a help page.

However, the implementation of all suggested filters is complete so I close this ticket.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Martin Scharrer.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.