[NAE-2466] Advanced search for PFQL - #352
Conversation
- add todos
- update advanced search to use PFQL query
- fix tests - fix code according to tests
- update tests with some pfql queries
- update operator is-null to work with PFQL
- remove categories that are impossible to use with PFQL
- update like operator to work with PFQL
- fix tests
- add antlr dependency and PFQL grammar
- add parser models
- implement mechanism to parse string PFQL query into advanced search - add todos
- update parser: implement handling for more case categories
- implement handling for CaseDataSet category
- implement handling for CaseDataSet category
- implement handling for task categories
- add documentation - resolve some todos - handle logged user placeholders
- implement negations for simple expressions
- implement negations for complex expressions
- fix negations in complex-expression.ts - fix reducing complex expressions in pfql-utils.ts
- fix handling simple ORs - fix await for category loadings
- flat query items if the boolean operator is the same as parent predicate's boolean operator
- add docs
- fix redundant requests to BE when initializing advanced search
- fix race condition when loading dataset category from pfql
- remove push down negation
- remove OR operator button
- introduce plain query category
- implement loading of plain query
- implement possibility to show filter field as advanced search in form - change default component of filter to string-query
- update CaseProcess category so when used in form there is no autocomplete
- remove filter metadata implementation - update advanced search immediate field representation - fix process identifier column search - resolve some todos
- fix tests
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- fix tests
- add search service test
- remove unwanted import
# Conflicts: # projects/netgrif-components-core/src/lib/header/case-header/case-header.service.ts
- fix after merge
- rework dependency injection for PFQL components
- fix tests
- update maximumError to 6.5 MB
- fix behavior for advanced search field content
- fix tests
- fix missing provider
- fix missing token - fix case dataset as immediate field
- fix tests
| "help": { | ||
| "title": "Nápoveda pre rozšírené vyhľadávanie", | ||
| "text": "Rozšírené vyhľadávanie slúži na zostavenie komplikovanejších požiadaviek na vyhľadávanie. Na začiatku zvoľte kategóriu vyhľadávania. Kategória vyhľadávania učruje, podľa čoho má váš dopyt vyhľadávať. Niektoré kategórie, ako napríklad \"Dáta prípadu\" vyžadujú dodatočnú konfiguráciu. Po zvolení kategórie je nutné zvoliť operátor vyhľadávania. Operátor rozhoduje o tom, akým spôsobom sa hľadá zhoda s hľadaným výtazom a dátami. Operátorom je možné hľadať napríklad presnú zhodu, alebo hodnotu z rozsahu. Nakoniec je nutné zadať hľadanú hodnotu. Dopyty je možné kombinovať pomocou kľúčových slov A SÚČASNE a ALEBO. Dopyty kombinované slovom ALEBO nájdu výsledky, spĺňajúce aspoň jednu z podmienok. Dopyty kombinované slovom A SÚČASNE nájdu výsledky spĺňajúce všetky podmienky." | ||
| "text": "Rozšírené vyhľadávanie slúži na zostavenie komplikovanejších požiadaviek na vyhľadávanie. Na začiatku zvoľte kategóriu vyhľadávania. Kategória vyhľadávania určuje, podľa čoho má váš dopyt vyhľadávať. Niektoré kategórie, ako napríklad \"Dáta prípadu\" vyžadujú dodatočnú konfiguráciu. Po zvolení kategórie je nutné zvoliť operátor vyhľadávania. Operátor rozhoduje o tom, akým spôsobom sa hľadá zhoda s hľadaným výrazom a dátami. Operátorom je možné hľadať napríklad presnú zhodu, alebo hodnotu z rozsahu. Nakoniec je nutné zadať hľadanú hodnotu. Dopyty je možné kombinovať pomocou kľúčových slov A SÚČASNE. Dopyty kombinované slovom A SÚČASNE nájdu výsledky spĺňajúce všetky podmienky. If you wish to enter more complex queries you can select plain query category and enter any valid PFQL query. Ak potrebujete zadať komplexnejší dopyt, môžete zvoliť kategóriu 'Obyčajný dopyt', kde viete napísať ľubovoľný platný PFQL dopyt." |
There was a problem hiding this comment.
part of the sentence is in english, remove it
| export class ComplexExpression implements QueryItemInterface { | ||
| protected _items: QueryItem[]; | ||
|
|
||
| public constructor(items: QueryItem[]) { |
There was a problem hiding this comment.
it should be optional parameter
- resolve PR comments
| "angular-resizable-element": "~7.0.0", | ||
| "angular-resize-event": "~3.2.0", | ||
| "angular2-hotkeys": "~16.0.0", | ||
| "antlr4ng": "^3.0.16", |
There was a problem hiding this comment.
is this one also a prerequisity for netgrif/components or components-core? or just for project ?
There was a problem hiding this comment.
Good point. The dependency is used in core. I'm going to check if the dependency should be defined in core or in components. The definition should not be here on project level
There was a problem hiding this comment.
I moved the antlr4ng dependency to core package.json. The new dev dependency I'm going to keep here
- move antlr dependency to core
|




Description
Improvements
Fixed
Implements NAE-2466
Dependencies
"antlr4ng": "^3.0.16",Third party dependencies
Blocking Pull requests
There are no dependencies on other PR
How Has Been This Tested?
Manually and by unit tests
Test Configuration
Checklist: