directive @client on FIELD extend type ListFilter { # Rename to isActive ? hasActiveItems: Boolean! # selectedValues: [String!] } extend type MultiListFilter { isActive: Boolean! } extend type MultiListFilterList { hasActiveItems: Boolean! } extend type ListFilterItem { isActive: Boolean } extend type BooleanFilter { value: Boolean } extend type NumericRangeFilter { isActive: Boolean! value: [Decimal] } type ActiveFilters { listFilters: [ListFilterInput] rangeFilters: [RangeFilterInput] booleanFilters: [BooleanFilterInput] multiListFilters: [MultiListFilterInput] } extend type Mutation { toggleListFilterItem( value: String! parentId: String! set: Boolean ): ListFilter clearListFilter(id: String!): ListFilter clearAllFilters: Boolean setBoolFilter(value: Boolean!, id: String!): BooleanFilter setRangeFilter(value: [Decimal!]!, id: String!): NumericRangeFilter clearRangeFilter(id: String!): NumericRangeFilter toggleMultiListFilterItem( value: String! listIndex: Int! filter: MultiListFilter! ): MultiListFilter setMultiListFilter(values: [String!], id: String!): MultiListFilter clearMultiListFilter(id: String!): MultiListFilter clearMultiListFilterList( listIndex: Int! filter: MultiListFilter! ): MultiListFilter }