[MGNLUI-8669] Update JcrQueryBuilder to support filter by range, startwith Created: 26/Jan/24 Updated: 06/Feb/24 |
|
| Status: | In Progress |
| Project: | Magnolia UI |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Neutral |
| Reporter: | Sang Ngo Huu | Assignee: | Phong Le Quoc |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | dx-core-6.3, searchx | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Template: |
|
||||||||
| Acceptance criteria: |
Empty
|
||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||
| Epic Link: | SearchX 1. In-App search & Top Nav | ||||||||
| Team: | |||||||||
| Work Started: | |||||||||
| Description |
|
JcrQueryBuilder currently support like and equal only, then we need support range of value. The with column filter, the property filter only support one value at a time, now, the filter has multiple values, then we have to add more code to tackle it. For example: datafilter.filter("propertyName", "START_WITH", ["a", "b","c"]) SQL2 -> propertyName like "a%" or propertyName like "b%" or propertyName like "c%" datafilter.filter("propertyName", "EQUAL", ["a", "b","c"]) SQL2 -> propertyName = "a" or propertyName = "b" or propertyName = "c" datafilter.filter("fileSize", BETWEEN, [1, 2]) SQL2 -> fileSize >= 1 and fileSize <= 2 |