Align board view filter, dashboard widget filter, and GraphQL APIs

The monday.get('filter') API is not quite complete and symmetric when comparing board view vs dashboard widget vs GraphQL API.

1. Board view vs. dashboard widget

As discussed in this topic, it’s currently possible to access the board-wide filter from a board view by using monday.get('filter'), but the same is not possible for a dashboard widget. It would be good to support this for feature symmetry. We’d be able to offer the same experience/feature parity for our board view as for our dashboard widget view.

It would be great if the filter would also be (mostly) compatible with item_page(query_params) just like the board view’s filters.

2. monday.get('filter') vs items_page API incompatibility

monday.get('filter') returns:

{
  term: string;
  rules: (Record<string, any> & {
    column_id?: string;
    compare_value?: string[];
    compare_attribute?: string;
    operator?: string;
  })[];
  operator: string | null;
}

boards { items_page(query_params) } } accepts:

operator ItemsQueryOperator
order_by [ItemsQueryOrderBy!]
rules [ItemsQueryRule!]

The string term is not accepted. Additionally, the operator and compare_value are type string vs a string enum like ItemsQueryOperator.

I’d love to be able to apply the filters from our back end.

3. Person filter is missing

image

The search term and filters are included in monday.get('filter')'s FilterResponse, but the person is not visible at all to the board view an dashboard widget view.

This means I cannot apply the complete filter from our back end, and, worse, I cannot even detect that a customer has this filter enabled. The latter means they have an expectation that the view is filtered correctly, but it might not be.