Dynamic where clause
Use pickers
Group logic

          @if (whereClauseLoading) {

          }

          {{whereClause}}

@if (clauses?.queryObj?.length > 1) {
} @for (clause of clauses.queryObj; track clause; let clauseIndex = $index) {
Logic
@if (innerWidth > 768) {
}
@if (clauses.queryObj.length > 1) { } @for ( query of clause.elements; track query; let queryIndex = $index ) {
@for (column of cols; track column) { {{ column.NAME }} }
Operator
@if (query.operator === 'IN' || query.operator === 'NOT IN') {
} @if ( query.operator !== 'BETWEEN' && query.operator !== 'IN' && query.operator !== 'NOT IN' && query.operator !== 'LIKE' && query.operator !== 'CONTAINS' && query.operator !== 'BEGINS_WITH' ) {
} @if (query.operator === 'BETWEEN') {
} @if ( query.operator === 'LIKE' || query.operator === 'BEGINS_WITH' || query.operator === 'CONTAINS' ) {
Value
}
}
}
@switch (query.ddtype) { @case ('DATE') { } @case ('DATETIME') { } @case ('TIME') { } } @if (!query.valueVariable) {
@for (column of query.values; track column) { {{ column.formatted.trim() }} }
} @if (query.valueVariable) {
@for (column of cols; track column) { @if (column.TYPE === query.type) { {{ column.NAME }} } }
} @for (column of query.values; track column) { {{ column.formatted }} }

### Select values

@if (!isArr(query.value)) {

##### No values available.

} @if (isArr(query.value)) {
@for (column of query.values; track column; let i = $index) { {{ column.formatted }} }
}