Skip to content

Commit e00dcb2

Browse files
authored
Revert "refactor(query-builder-sample): update QB sample 1 with nested entiti…" (#3544)
This reverts commit 78e285c.
1 parent 210ddf0 commit e00dcb2

File tree

2 files changed

+43
-75
lines changed

2 files changed

+43
-75
lines changed

src/app/interactions/query-builder/query-builder-sample-1/query-builder-sample-1.component.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
<div class="wrapper">
22
<igx-query-builder #queryBuilder
3-
[entities]="entities"
3+
[entities]="[{ name: '', fields: fields}]"
44
[expressionTree]="expressionTree">
5+
<igx-query-builder-header [title]="'Query Builder Overview'" [showLegend]="true">
6+
</igx-query-builder-header>
57
</igx-query-builder>
68
<div class="output-area">
79
<pre>{{ printExpressionTree(queryBuilder.expressionTree) }}</pre>

src/app/interactions/query-builder/query-builder-sample-1/query-builder-sample-1.component.ts

Lines changed: 40 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,58 @@
11
import { Component, OnInit } from '@angular/core';
2-
import { FilteringExpressionsTree, FilteringLogic, IExpressionTree, IgxBooleanFilteringOperand, IgxDateFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand } from 'igniteui-angular';
2+
import { FilteringExpressionsTree, FilteringLogic, IExpressionTree, IgxQueryBuilderComponent, IgxStringFilteringOperand } from 'igniteui-angular';
33

44
@Component({
55
selector: 'app-query-builder-sample-1',
66
styleUrls: ['./query-builder-sample-1.component.scss'],
77
templateUrl: 'query-builder-sample-1.component.html'
88
})
99
export class QueryBuilderSample1Component implements OnInit {
10-
public entities: any[];
11-
public companiesFields: any[];
12-
public ordersFields: any[];
1310
public expressionTree: IExpressionTree;
11+
12+
public fields: any[] = [
13+
{ field: 'ID', dataType: 'string' },
14+
{ field: 'CompanyName', dataType: 'string' },
15+
{ field: 'ContactName', dataType: 'string' },
16+
{ field: 'Employees', dataType: 'number' },
17+
{ field: 'ContactTitle', dataType: 'string' },
18+
{ field: 'DateCreated', dataType: 'date' },
19+
{ field: 'TimeCreated', dataType: 'time' },
20+
{ field: 'Address', dataType: 'string' },
21+
{ field: 'City', dataType: 'string' },
22+
{ field: 'Region', dataType: 'string' },
23+
{ field: 'PostalCode', dataType: 'string' },
24+
{ field: 'Phone', dataType: 'string' },
25+
{ field: 'Fax', dataType: 'string' },
26+
{ field: 'Contract', dataType: 'boolean' }
27+
];
1428

1529
public ngOnInit(): void {
16-
this.companiesFields = [
17-
{ field: "ID", dataType: "string" },
18-
{ field: "CompanyName", dataType: "string" },
19-
{ field: "ContactName", dataType: "string" },
20-
{ field: "Employees", dataType: "number" },
21-
{ field: "ContactTitle", dataType: "string" },
22-
{ field: "DateCreated", dataType: "date" },
23-
{ field: "TimeCreated", dataType: "time" },
24-
{ field: "Address", dataType: "string" },
25-
{ field: "City", dataType: "string" },
26-
{ field: "Region", dataType: "string" },
27-
{ field: "PostalCode", dataType: "string" },
28-
{ field: "Phone", dataType: "string" },
29-
{ field: "Fax", dataType: "string" },
30-
{ field: "Contract", dataType: "boolean" }
31-
];
32-
33-
this.ordersFields = [
34-
{ field: "CompanyID", dataType: "string" },
35-
{ field: "OrderID", dataType: "number" },
36-
{ field: "EmployeeId", dataType: "number" },
37-
{ field: "OrderDate", dataType: "date" },
38-
{ field: "RequiredDate", dataType: "date" },
39-
{ field: "ShippedDate", dataType: "date" },
40-
{ field: "ShipVia", dataType: "number" },
41-
{ field: "Freight", dataType: "number" },
42-
{ field: "ShipName", dataType: "string" },
43-
{ field: "ShipCity", dataType: "string" },
44-
{ field: "ShipPostalCode", dataType: "string" },
45-
{ field: "ShipCountry", dataType: "string" },
46-
{ field: "Region", dataType: "string" }
47-
];
48-
49-
this.entities = [
50-
{
51-
name: "Companies",
52-
fields: this.companiesFields
53-
},
54-
{
55-
name: "Orders",
56-
fields: this.ordersFields
57-
}
58-
];
59-
60-
const innerTree = new FilteringExpressionsTree(FilteringLogic.And, undefined, 'Companies', ['ID']);
61-
innerTree.filteringOperands.push({
62-
fieldName: 'Employees',
63-
condition: IgxNumberFilteringOperand.instance().condition('greaterThan'),
64-
conditionName: 'greaterThan',
65-
searchVal: 100
66-
});
67-
innerTree.filteringOperands.push({
68-
fieldName: 'Contract',
69-
condition: IgxBooleanFilteringOperand.instance().condition('true'),
70-
conditionName: 'true'
71-
});
72-
73-
const tree = new FilteringExpressionsTree(FilteringLogic.And, undefined, 'Orders', ['*']);
30+
const tree = new FilteringExpressionsTree(FilteringLogic.And);
7431
tree.filteringOperands.push({
75-
fieldName: 'CompanyID',
76-
condition: IgxStringFilteringOperand.instance().condition('in'),
77-
conditionName: 'in',
78-
searchTree: innerTree
32+
fieldName: 'ID',
33+
condition: IgxStringFilteringOperand.instance().condition('contains'),
34+
searchVal: 'a',
35+
ignoreCase: true
7936
});
80-
tree.filteringOperands.push({
81-
fieldName: 'OrderDate',
82-
condition: IgxDateFilteringOperand.instance().condition('before'),
83-
conditionName: 'before',
84-
searchVal: new Date('2024-01-01T00:00:00.000Z')
37+
const orTree = new FilteringExpressionsTree(FilteringLogic.Or);
38+
orTree.filteringOperands.push({
39+
fieldName: 'ID',
40+
condition: IgxStringFilteringOperand.instance().condition('contains'),
41+
searchVal: 'b',
42+
ignoreCase: true
43+
});
44+
orTree.filteringOperands.push({
45+
fieldName: 'CompanyName',
46+
condition: IgxStringFilteringOperand.instance().condition('contains'),
47+
searchVal: 'c',
48+
ignoreCase: true
8549
});
50+
tree.filteringOperands.push(orTree);
8651
tree.filteringOperands.push({
87-
fieldName: 'ShippedDate',
88-
condition: IgxDateFilteringOperand.instance().condition('null'),
89-
conditionName: 'null'
52+
fieldName: 'CompanyName',
53+
condition: IgxStringFilteringOperand.instance().condition('contains'),
54+
searchVal: 'd',
55+
ignoreCase: true
9056
});
9157

9258
this.expressionTree = tree;

0 commit comments

Comments
 (0)