Handle UI max atoms / depth
This commit is contained in:
parent
fd1e591da8
commit
028e5245e8
@ -105,10 +105,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group-vertical ms-2 ps-2 border-start" role="group" aria-label="Vertical button group">
|
<div class="btn-group-vertical ms-2 ps-2 border-start" role="group" aria-label="Vertical button group">
|
||||||
<button type="button" class="btn btn-sm btn-outline-secondary text-primary" title="Add query" i18n-title (click)="addAtom(expression)" [disabled]="disabled">
|
<button type="button" class="btn btn-sm btn-outline-secondary text-primary" title="Add query" i18n-title (click)="addAtom(expression)" [disabled]="disabled || expression.value.length === CUSTOM_FIELD_QUERY_MAX_ATOMS">
|
||||||
<i-bs name="node-plus"></i-bs>
|
<i-bs name="node-plus"></i-bs>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-sm btn-outline-secondary text-primary" title="Add expression" i18n-title (click)="addExpression(expression)" [disabled]="disabled">
|
<button type="button" class="btn btn-sm btn-outline-secondary text-primary" title="Add expression" i18n-title (click)="addExpression(expression)" [disabled]="disabled || expression.depth === CUSTOM_FIELD_QUERY_MAX_DEPTH">
|
||||||
<i-bs name="braces"></i-bs>
|
<i-bs name="braces"></i-bs>
|
||||||
</button>
|
</button>
|
||||||
@if (expression.depth > 0) {
|
@if (expression.depth > 0) {
|
||||||
|
@ -1,11 +1,4 @@
|
|||||||
import {
|
import { Component, EventEmitter, Input, Output } from '@angular/core'
|
||||||
Component,
|
|
||||||
EventEmitter,
|
|
||||||
Injectable,
|
|
||||||
Input,
|
|
||||||
Output,
|
|
||||||
} from '@angular/core'
|
|
||||||
import { NgbDateAdapter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap'
|
|
||||||
import { Subject, first, takeUntil } from 'rxjs'
|
import { Subject, first, takeUntil } from 'rxjs'
|
||||||
import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field'
|
import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field'
|
||||||
import {
|
import {
|
||||||
@ -18,9 +11,10 @@ import {
|
|||||||
CustomFieldQueryOperatorGroups,
|
CustomFieldQueryOperatorGroups,
|
||||||
CUSTOM_FIELD_QUERY_OPERATOR_LABELS,
|
CUSTOM_FIELD_QUERY_OPERATOR_LABELS,
|
||||||
CustomFieldQueryElement,
|
CustomFieldQueryElement,
|
||||||
|
CUSTOM_FIELD_QUERY_MAX_DEPTH,
|
||||||
|
CUSTOM_FIELD_QUERY_MAX_ATOMS,
|
||||||
} from 'src/app/data/custom-field-query'
|
} from 'src/app/data/custom-field-query'
|
||||||
import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service'
|
import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service'
|
||||||
import { ISODateAdapter } from 'src/app/utils/ngb-iso-date-adapter'
|
|
||||||
|
|
||||||
export class CustomFieldQueriesModel {
|
export class CustomFieldQueriesModel {
|
||||||
public queries: CustomFieldQueryElement[] = []
|
public queries: CustomFieldQueryElement[] = []
|
||||||
@ -131,6 +125,8 @@ export class CustomFieldsQueryDropdownComponent {
|
|||||||
public CustomFieldQueryComponentType = CustomFieldQueryElementType
|
public CustomFieldQueryComponentType = CustomFieldQueryElementType
|
||||||
public CustomFieldQueryOperator = CustomFieldQueryOperator
|
public CustomFieldQueryOperator = CustomFieldQueryOperator
|
||||||
public CustomFieldDataType = CustomFieldDataType
|
public CustomFieldDataType = CustomFieldDataType
|
||||||
|
public CUSTOM_FIELD_QUERY_MAX_DEPTH = CUSTOM_FIELD_QUERY_MAX_DEPTH
|
||||||
|
public CUSTOM_FIELD_QUERY_MAX_ATOMS = CUSTOM_FIELD_QUERY_MAX_ATOMS
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
title: string
|
title: string
|
||||||
|
@ -126,6 +126,9 @@ export const CUSTOM_FIELD_QUERY_VALUE_TYPES_BY_OPERATOR = {
|
|||||||
// [CustomFieldQueryOperator.Range]: 'array',
|
// [CustomFieldQueryOperator.Range]: 'array',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const CUSTOM_FIELD_QUERY_MAX_DEPTH = 4
|
||||||
|
export const CUSTOM_FIELD_QUERY_MAX_ATOMS = 5
|
||||||
|
|
||||||
export enum CustomFieldQueryElementType {
|
export enum CustomFieldQueryElementType {
|
||||||
Atom = 'Atom',
|
Atom = 'Atom',
|
||||||
Expression = 'Expression',
|
Expression = 'Expression',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user