Closed wouter1975 closed 9 months ago
From Daniel:
Het afhandelen van - en _ is een beetje apart door Postgres, maar ik denk dat je meestal wel de juiste match vind als je ze gebruikt. Zoeken op test_bed doet hetzelfde als zoeken op "test bed"
en het woord test_bed wordt geindexeerd alsof het woorden zijn: test bed , dus je vind een match als je zoekt op test_bed, maar ook als je zoekt op test, bed, test bed en test-bed bijv
This ticket describes the generic behaviour needed to filter tables in a flexible way. Only 1 way sync is required, namely only from filter modal to search bar. In other words, the filter modal has no knowlegde of what is already being filtered for the selected column.
Implement query for tables:
[x] processes
[x] subscriptions
[x] metadata:
[x] tasks
[ ] Enable the
query
parameter in all graphql queries (currently commented code)[x] Implement interactive updating query, using a regex
Propose to address this ticket in two separate PRs:
The search string should comply with the specification as described in: https://github.com/workfloworchestrator/orchestrator-core/pull/412
Use cases:
OR
condition, written with the|
characterGood to know
AND
operator is implicitOR
operator is written with|
, use spaces around the | character|
operator is only allowed between( )
for filtering on multiple value in 1 columnspace
,dash
,underscore
see comment from Daniel below
The following table describes the behavior on a subscription detail page:
KLM
LP
LR
DESIGN ACA
1000
in search barAsd001B
in search baractive
AMPATH
Possible function implementation
Use elastic search component if possible.
X
with valueY
X
in existing search stringX
not found, add theX
:Y
at the end of the existing search stringX
in search stringX
of the existing search string(
and)
of existing value if present| Y
to the existing value, and add new outer(
and)
Don't worry about cornercases:
LR
Each change to the search string shall be reflected in the url, thus for example esQueryString=description%3A"%28KLM%7CDESIGN%29"