Modify

Opened 4 years ago

Closed 4 years ago

#7664 closed enhancement (fixed)

Add filters for watchlist table content

Reported by: martin_s Owned by: martin_s
Priority: normal Component: WatchlistPlugin
Severity: normal Keywords: filter
Cc: hasienda 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 4 years ago by martin_s

(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 follow-up: Changed 4 years ago by 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.

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 4 years ago by martin_s

  • Status changed from new to assigned

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 4 years ago by martin_s

(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 follow-up: Changed 4 years ago by martin_s

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 4 years ago by martin_s

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 4 years ago by martin_s

  • Resolution set to fixed
  • Status changed from assigned to closed

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.

Add Comment

Modify Ticket

Action
as closed The owner will remain martin_s.
The resolution will be deleted. Next status will be 'reopened'.
Author


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

 
Note: See TracTickets for help on using tickets.