Task Genius
Task View/Filter

Popover Filter

The Popover Filter is an advanced filtering system that provides a comprehensive interface for creating complex filter conditions with multiple groups and logical operators.

Available since 8.7.0

Overview

The Popover Filter allows you to create sophisticated filter configurations using:

  • Multiple filter groups with different logical operators (AND, OR, NOT)
  • Individual filters within each group with various conditions
  • Drag-and-drop reordering of filter groups
  • Real-time filter application with debounced updates

Features

Filter Groups

  • Root Condition: Choose how filter groups are combined (Any, All, None)
  • Group Condition: Set how filters within each group are combined (All, Any, None)
  • Drag & Drop: Reorder filter groups using the handle
  • Duplicate Groups: Copy entire filter groups with the button
  • Remove Groups: Delete filter groups with the button

Filter Properties

The system supports filtering by various task properties:

  • Content: Filter by task text content
  • Status: Filter by task status
  • Priority: Filter by task priority level
  • Due Date: Filter by task due dates
  • Start Date: Filter by task start dates
  • Scheduled Date: Filter by scheduled dates
  • Tags: Filter by task tags
  • File Path: Filter by the file containing the task
  • Completed: Filter by completion status

Filter Conditions

Different properties support different condition types:

Text Properties (Content, File Path, Status)

  • Contains / Does not contain
  • Is / Is not
  • Starts with / Ends with
  • Is empty / Is not empty

Date Properties (Due Date, Start Date, Scheduled Date)

  • Is / Is not
  • Greater than (>) / Less than (<)
  • Greater than or equal (>=) / Less than or equal (<=)
  • Is empty / Is not empty

Priority Property

  • Is / Is not
  • Is empty / Is not empty

Tags Property

  • Contains / Does not contain
  • Is empty / Is not empty

Completed Property

  • Is true / Is false

Usage

Creating Filter Groups

  1. Click the Add filter group button to create a new filter group
  2. Choose the group condition (All, Any, None) to determine how filters within the group are combined
  3. Add individual filters to the group using the Add filter button

Configuring Individual Filters

  1. Select Property: Choose what aspect of the task to filter by
  2. Select Condition: Choose the comparison operator
  3. Enter Value: Provide the value to compare against (if required)
  4. Remove Filter: Use the button to delete unwanted filters

Managing Filter Groups

  • Reorder: Drag filter groups using the handle
  • Duplicate: Click the button to copy a filter group
  • Remove: Click the button to delete a filter group

Root Condition Settings

At the top level, choose how multiple filter groups are combined:

  • Any: Tasks matching any filter group will be shown
  • All: Tasks must match all filter groups to be shown
  • None: Tasks matching any filter group will be hidden

Save or load filter

  • Save Filter: Click the button to save the current filter configuration
  • Load Filter: Click the button to load a previously saved filter configuration

Real-time Updates

The Popover Filter system provides real-time filtering with:

  • Automatic Saving: Filter configurations are automatically saved to local storage
  • Debounced Updates: Filter changes are applied with a slight delay to prevent excessive updates
  • Event Broadcasting: Filter changes trigger events that other components can listen to

Data Persistence

Filter configurations are automatically saved and restored:

  • Settings persist across application sessions
  • Invalid configurations are automatically reset to defaults
  • Filter state can be programmatically loaded and retrieved