From 1158623bcc3d67b64f1f5b3c828c5e399212f531 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Maneiro?=
<583546+oandregal@users.noreply.github.com>
Date: Mon, 18 Mar 2024 13:16:58 +0100
Subject: [PATCH] Add operators to filter summary
---
packages/dataviews/src/filter-summary.js | 26 ++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/packages/dataviews/src/filter-summary.js b/packages/dataviews/src/filter-summary.js
index f382efb32be804..a9224284672707 100644
--- a/packages/dataviews/src/filter-summary.js
+++ b/packages/dataviews/src/filter-summary.js
@@ -30,6 +30,8 @@ import {
OPERATOR_IS_NOT,
OPERATOR_IS_ANY,
OPERATOR_IS_NONE,
+ OPERATOR_IS_ALL,
+ OPERATOR_IS_NOT_ALL,
} from './constants';
const FilterText = ( { activeElements, filterInView, filter } ) => {
@@ -66,6 +68,30 @@ const FilterText = ( { activeElements, filterInView, filter } ) => {
);
}
+ if ( filterInView?.operator === OPERATOR_IS_ALL ) {
+ return createInterpolateElement(
+ sprintf(
+ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */
+ __( '%1$s is all: %2$s' ),
+ filter.name,
+ activeElements.map( ( element ) => element.label ).join( ', ' )
+ ),
+ filterTextWrappers
+ );
+ }
+
+ if ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {
+ return createInterpolateElement(
+ sprintf(
+ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */
+ __( '%1$s is not all: %2$s' ),
+ filter.name,
+ activeElements.map( ( element ) => element.label ).join( ', ' )
+ ),
+ filterTextWrappers
+ );
+ }
+
if ( filterInView?.operator === OPERATOR_IS ) {
return createInterpolateElement(
sprintf(