Skip to content

Commit fa9f570

Browse files
authored
Merge pull request #11960 from IgniteUI/mtsvyatkova/query-builder
Query Builder Component
2 parents 896133e + 6c04c0f commit fa9f570

File tree

75 files changed

+3937
-1616
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+3937
-1616
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,24 @@ All notable changes for each version of this project will be documented in this
66
- `IgxDropDown`
77
- The `aria-label` attribute of the `IgxDropDownItemBase` can now be se to a custom value for its descendants (of which `IgxDropDownItem`) by the `ariaLabel` property.
88

9+
## 14.2.0
10+
11+
### New Features
12+
- The filtering logic inside the grid's Advanced Filtering is now extracted as a separate `IgxQueryBuilder` component. The Query Builder allows you to build complex queries by specifying AND/OR operators, conditions and values using the UI. It outputs an object describing the structure of the query. Use the `locale` property to modify the locale settings. The default value is resolved to the global Angular application locale. The `resourceStrings` allows changing the displayed strings.
13+
14+
- Code example below:
15+
16+
```html
17+
<igx-query-builder [fields]="fields">
18+
<!-- Custom header -->
19+
<igx-query-builder-header [title]="'Custom title'"
20+
[showLegend]="false">
21+
</igx-query-builder-header>
22+
</igx-query-builder>
23+
```
24+
25+
- For more information, check out the [README](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/query-builder/README.md), [specification](https://github.com/IgniteUI/igniteui-angular/wiki/Query-Builder) and [official documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/query-builder).
26+
927
## 14.1.0
1028

1129
### New Features

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ Some of the Angular chart types included are: [Polar chart](https://www.infragis
101101
|navbar|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/navbar/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navbar)|||||
102102
|navigation drawer|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/navigation-drawer/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navdrawer)|||||
103103
|pivot grid|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/grids/pivot-grid/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/pivotgrid/pivot-grid)|||||
104+
|query builder|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/query-builder/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/query-builder)|||||
104105
|radio|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/radio/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/radio-button)|||||
105106
|rating|:white_check_mark:||[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/rating)|||||
106107
|select|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/select/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/select)|||||
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import { IQueryBuilderResourceStrings } from 'igniteui-angular';
2+
3+
const QueryBuilderResourceStringsBG_: ExpandRequire<IQueryBuilderResourceStrings> = {
4+
igx_query_builder_date_placeholder: 'Избери дата',
5+
igx_query_builder_time_placeholder: 'Избери време',
6+
igx_query_builder_filter_operator_and: 'And',
7+
igx_query_builder_filter_operator_or: 'Or',
8+
igx_query_builder_filter_contains: 'Съдържа',
9+
igx_query_builder_filter_doesNotContain: 'Не съдържа',
10+
igx_query_builder_filter_startsWith: 'Започва с',
11+
igx_query_builder_filter_endsWith: 'Завършва на',
12+
igx_query_builder_filter_equals: 'Равно на',
13+
igx_query_builder_filter_doesNotEqual: 'Не е равно на',
14+
igx_query_builder_filter_empty: 'Празно',
15+
igx_query_builder_filter_notEmpty: 'Не е празно',
16+
igx_query_builder_filter_null: 'Null',
17+
igx_query_builder_filter_notNull: 'Не е Null',
18+
igx_query_builder_filter_before: 'Преди',
19+
igx_query_builder_filter_after: 'След',
20+
igx_query_builder_filter_at: 'На',
21+
igx_query_builder_filter_not_at: 'Не е на',
22+
igx_query_builder_filter_at_before: 'На или преди',
23+
igx_query_builder_filter_at_after: 'На или след',
24+
igx_query_builder_filter_today: 'Днес',
25+
igx_query_builder_filter_yesterday: 'Вчера',
26+
igx_query_builder_filter_thisMonth: 'Този месец',
27+
igx_query_builder_filter_lastMonth: 'Миналия месец',
28+
igx_query_builder_filter_nextMonth: 'Следващия месец',
29+
igx_query_builder_filter_thisYear: 'Тази година',
30+
igx_query_builder_filter_lastYear: 'Миналата година',
31+
igx_query_builder_filter_nextYear: 'Следващата година',
32+
igx_query_builder_filter_greaterThan: 'По-голямо от',
33+
igx_query_builder_filter_lessThan: 'По-малко от',
34+
igx_query_builder_filter_greaterThanOrEqualTo: 'По-голямо или равно на',
35+
igx_query_builder_filter_lessThanOrEqualTo: 'По-малко или равно на',
36+
igx_query_builder_filter_true: 'True',
37+
igx_query_builder_filter_false: 'False',
38+
igx_query_builder_filter_all: 'Всички',
39+
igx_query_builder_title: 'Query Builder',
40+
igx_query_builder_and_group: '"And" група',
41+
igx_query_builder_or_group: '"Or" група',
42+
igx_query_builder_end_group: 'Край на групирането',
43+
igx_query_builder_and_label: 'and',
44+
igx_query_builder_or_label: 'or',
45+
igx_query_builder_add_condition: 'Условие',
46+
igx_query_builder_create_and_group: 'Създай "And" група',
47+
igx_query_builder_create_or_group: 'Създай "Or" група',
48+
igx_query_builder_ungroup: 'Разгрупирай',
49+
igx_query_builder_delete: 'Изтрий',
50+
igx_query_builder_delete_filters: 'Изтрий филтрите',
51+
igx_query_builder_initial_text: 'Започнете със създаване не група от условия свързани с "And" или "Or".',
52+
igx_query_builder_column_placeholder: 'Избери колона',
53+
igx_query_builder_condition_placeholder: 'Изберете филтър',
54+
igx_query_builder_value_placeholder: 'Стойност',
55+
};
56+
57+
/**
58+
* Bulgarian resource strings for IgxQueryBuilder
59+
*/
60+
export const QueryBuilderResourceStringsBG = QueryBuilderResourceStringsBG_ as ExpandRequire<IQueryBuilderResourceStrings>;

projects/igniteui-angular-i18n/src/i18n/BG/resources.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { TreeResourceStringsBG } from './tree-resources';
1010
import { InputResourceStringsBG } from './input-resources';
1111
import { ChipResourceStringsBG} from './chip-resources';
1212
import { ComboResourceStringsBG } from './combo-resources';
13+
import { QueryBuilderResourceStringsBG } from './query-builder-resources';
1314

1415
/**
1516
* Bulgarian resource strings for all components
@@ -26,5 +27,6 @@ export const IgxResourceStringsBG = {
2627
...TreeResourceStringsBG,
2728
...InputResourceStringsBG,
2829
...ChipResourceStringsBG,
29-
...ComboResourceStringsBG
30+
...ComboResourceStringsBG,
31+
...QueryBuilderResourceStringsBG,
3032
};
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import { IQueryBuilderResourceStrings } from 'igniteui-angular';
2+
3+
const QueryBuilderResourceStringsCS_: ExpandRequire<IQueryBuilderResourceStrings> = {
4+
igx_query_builder_date_placeholder: 'Datum výdeje',
5+
igx_query_builder_time_placeholder: 'Čas vyzvednutí',
6+
igx_query_builder_filter_operator_and: 'A',
7+
igx_query_builder_filter_operator_or: 'Nebo',
8+
igx_query_builder_filter_contains: 'Obsahuje',
9+
igx_query_builder_filter_doesNotContain: 'Neobsahuje',
10+
igx_query_builder_filter_startsWith: 'Začíná s',
11+
igx_query_builder_filter_endsWith: 'Končí s',
12+
igx_query_builder_filter_equals: 'Se rovná',
13+
igx_query_builder_filter_doesNotEqual: 'Nerovná se',
14+
igx_query_builder_filter_empty: 'Prázdný',
15+
igx_query_builder_filter_notEmpty: 'Není prázdný',
16+
igx_query_builder_filter_null: 'Nula',
17+
igx_query_builder_filter_notNull: 'Nenulový',
18+
igx_query_builder_filter_before: 'Před',
19+
igx_query_builder_filter_after: 'Po',
20+
igx_query_builder_filter_at: 'V',
21+
igx_query_builder_filter_not_at: 'Ne v',
22+
igx_query_builder_filter_at_before: 'V nebo dříve',
23+
igx_query_builder_filter_at_after: 'V nebo po',
24+
igx_query_builder_filter_today: 'Dnes',
25+
igx_query_builder_filter_yesterday: 'Včera',
26+
igx_query_builder_filter_thisMonth: 'Tento měsíc',
27+
igx_query_builder_filter_lastMonth: 'Minulý měsíc',
28+
igx_query_builder_filter_nextMonth: 'Příští měsíc',
29+
igx_query_builder_filter_thisYear: 'Tento rok',
30+
igx_query_builder_filter_lastYear: 'Minulý rok',
31+
igx_query_builder_filter_nextYear: 'Příští rok',
32+
igx_query_builder_filter_greaterThan: 'Větší než',
33+
igx_query_builder_filter_lessThan: 'Méně než',
34+
igx_query_builder_filter_greaterThanOrEqualTo: 'Větší než nebo rovno',
35+
igx_query_builder_filter_lessThanOrEqualTo: 'Méně než nebo rovno',
36+
igx_query_builder_filter_true: 'True',
37+
igx_query_builder_filter_false: 'False',
38+
igx_query_builder_filter_all: 'Všechno',
39+
igx_query_builder_title: 'Query Builder',
40+
igx_query_builder_and_group: '"A" skupina',
41+
igx_query_builder_or_group: '"Nebo" skupina',
42+
igx_query_builder_end_group: 'Ukončit skupina',
43+
igx_query_builder_and_label: 'a',
44+
igx_query_builder_or_label: 'nebo',
45+
igx_query_builder_add_condition: 'Stav',
46+
igx_query_builder_create_and_group: 'Vytvořte skupinu "A"',
47+
igx_query_builder_create_or_group: 'Vytvořte skupinu "Nebo"',
48+
igx_query_builder_ungroup: 'Oddělit',
49+
igx_query_builder_delete: 'Vymazat',
50+
igx_query_builder_delete_filters: 'Smazat filtry',
51+
igx_query_builder_initial_text: 'Začněte vytvořením skupiny podmínek spojených s "And" nebo "Or"',
52+
igx_query_builder_column_placeholder: 'Vyberte sloupec',
53+
igx_query_builder_condition_placeholder: 'Vyberte filtr',
54+
igx_query_builder_value_placeholder: 'Hodnota',
55+
};
56+
57+
/**
58+
* Czech resource strings for IgxQueryBuilder
59+
*/
60+
export const QueryBuilderResourceStringsCS = QueryBuilderResourceStringsCS_ as ExpandRequire<IQueryBuilderResourceStrings>;

projects/igniteui-angular-i18n/src/i18n/CS/resources.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { TreeResourceStringsCS } from './tree-resources';
1010
import { InputResourceStringsCS } from './input-resources';
1111
import { ChipResourceStringsCS } from './chip-resources';
1212
import { ComboResourceStringsCS } from './combo-resources';
13+
import { QueryBuilderResourceStringsCS } from './query-builder-resources';
1314

1415
/**
1516
* Czech resource strings for all components
@@ -26,5 +27,6 @@ export const IgxResourceStringsCS = {
2627
...TreeResourceStringsCS,
2728
...InputResourceStringsCS,
2829
...ChipResourceStringsCS,
29-
...ComboResourceStringsCS
30+
...ComboResourceStringsCS,
31+
...QueryBuilderResourceStringsCS
3032
};
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import { IQueryBuilderResourceStrings } from 'igniteui-angular';
2+
3+
const QueryBuilderResourceStringsDA_: ExpandRequire<IQueryBuilderResourceStrings> = {
4+
igx_query_builder_date_placeholder: 'Afhentningsdato',
5+
igx_query_builder_time_placeholder: 'Afhentningstidspunkt',
6+
igx_query_builder_filter_operator_and: 'Og',
7+
igx_query_builder_filter_operator_or: 'Eller',
8+
igx_query_builder_filter_contains: 'Indeholder',
9+
igx_query_builder_filter_doesNotContain: 'Indeholder ikke',
10+
igx_query_builder_filter_startsWith: 'Starter med',
11+
igx_query_builder_filter_endsWith: 'Ender med',
12+
igx_query_builder_filter_equals: 'Lig med',
13+
igx_query_builder_filter_doesNotEqual: 'Er ikke lig med',
14+
igx_query_builder_filter_empty: 'Tom',
15+
igx_query_builder_filter_notEmpty: 'Ikke tom',
16+
igx_query_builder_filter_null: 'Null',
17+
igx_query_builder_filter_notNull: 'Ikke Null',
18+
igx_query_builder_filter_before: 'Før',
19+
igx_query_builder_filter_after: 'Efter',
20+
igx_query_builder_filter_at: 'På',
21+
igx_query_builder_filter_not_at: 'Ikke på',
22+
igx_query_builder_filter_at_before: 'På eller før',
23+
igx_query_builder_filter_at_after: 'På eller efter',
24+
igx_query_builder_filter_today: 'I dag',
25+
igx_query_builder_filter_yesterday: 'I går',
26+
igx_query_builder_filter_thisMonth: 'Denne måned',
27+
igx_query_builder_filter_lastMonth: 'Sidste måned',
28+
igx_query_builder_filter_nextMonth: 'Næste måned',
29+
igx_query_builder_filter_thisYear: 'Dette år',
30+
igx_query_builder_filter_lastYear: 'Sidste år',
31+
igx_query_builder_filter_nextYear: 'Næste år',
32+
igx_query_builder_filter_greaterThan: 'Større end',
33+
igx_query_builder_filter_lessThan: 'Mindre end',
34+
igx_query_builder_filter_greaterThanOrEqualTo: 'Større end eller lig med',
35+
igx_query_builder_filter_lessThanOrEqualTo: 'Mindre end eller lig med',
36+
igx_query_builder_filter_true: 'True',
37+
igx_query_builder_filter_false: 'False',
38+
igx_query_builder_filter_all: 'Alle',
39+
igx_query_builder_title: 'Query Builder',
40+
igx_query_builder_and_group: '"Og" gruppe',
41+
igx_query_builder_or_group: '"Eller" gruppe',
42+
igx_query_builder_end_group: 'Afslut gruppe',
43+
igx_query_builder_and_label: 'og',
44+
igx_query_builder_or_label: 'eller',
45+
igx_query_builder_add_condition: 'Tilstand',
46+
igx_query_builder_create_and_group: 'Opret "Og" gruppe',
47+
igx_query_builder_create_or_group: 'Opret "Eller" gruppe',
48+
igx_query_builder_ungroup: 'Fjern gruppe',
49+
igx_query_builder_delete: 'Slet',
50+
igx_query_builder_delete_filters: 'Slet filtre',
51+
igx_query_builder_initial_text: 'Start med at oprette en tilstandsgruppe, der er knyttet til "Og" eller "Eller"',
52+
igx_query_builder_column_placeholder: 'Vælg kolonne',
53+
igx_query_builder_condition_placeholder: 'Vælg filter',
54+
igx_query_builder_value_placeholder: 'Værdi',
55+
};
56+
57+
/**
58+
* Danish resource strings for IgxQueryBuilder
59+
*/
60+
export const QueryBuilderResourceStringsDA = QueryBuilderResourceStringsDA_ as ExpandRequire<IQueryBuilderResourceStrings>;

projects/igniteui-angular-i18n/src/i18n/DA/resources.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { TreeResourceStringsDA } from './tree-resources';
1010
import { InputResourceStringsDA } from './input-resources';
1111
import { ChipResourceStringsDA } from './chip-resources';
1212
import { ComboResourceStringsDA } from './combo-resources';
13+
import { QueryBuilderResourceStringsDA } from './query-builder-resources';
1314

1415
/**
1516
* Danish resource strings for all components
@@ -26,5 +27,6 @@ export const IgxResourceStringsDA = {
2627
...TreeResourceStringsDA,
2728
...InputResourceStringsDA,
2829
...ChipResourceStringsDA,
29-
...ComboResourceStringsDA
30+
...ComboResourceStringsDA,
31+
...QueryBuilderResourceStringsDA
3032
};
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import { IQueryBuilderResourceStrings } from 'igniteui-angular';
2+
3+
const QueryBuilderResourceStringsDE_: ExpandRequire<IQueryBuilderResourceStrings> = {
4+
igx_query_builder_date_placeholder: 'Wähle Datum',
5+
igx_query_builder_time_placeholder: 'Abholungszeit',
6+
igx_query_builder_filter_operator_and: 'Und',
7+
igx_query_builder_filter_operator_or: 'Oder',
8+
igx_query_builder_filter_contains: 'Enthält',
9+
igx_query_builder_filter_doesNotContain: 'Enthält nicht',
10+
igx_query_builder_filter_startsWith: 'Beginnt mit',
11+
igx_query_builder_filter_endsWith: 'Endet mit',
12+
igx_query_builder_filter_equals: 'Gleich',
13+
igx_query_builder_filter_doesNotEqual: 'Nicht gleich',
14+
igx_query_builder_filter_empty: 'Leer',
15+
igx_query_builder_filter_notEmpty: 'Nicht leer',
16+
igx_query_builder_filter_null: 'Null',
17+
igx_query_builder_filter_notNull: 'Nicht Null',
18+
igx_query_builder_filter_before: 'Vor',
19+
igx_query_builder_filter_after: 'Nach',
20+
igx_query_builder_filter_at: 'Um',
21+
igx_query_builder_filter_not_at: 'Nicht um',
22+
igx_query_builder_filter_at_before: 'Um oder vor',
23+
igx_query_builder_filter_at_after: 'Um oder nach',
24+
igx_query_builder_filter_today: 'Heute',
25+
igx_query_builder_filter_yesterday: 'Gestern',
26+
igx_query_builder_filter_thisMonth: 'Diesen Monat',
27+
igx_query_builder_filter_lastMonth: 'Letzten Monat',
28+
igx_query_builder_filter_nextMonth: 'Nächsten Monat',
29+
igx_query_builder_filter_thisYear: 'Dieses Jahr',
30+
igx_query_builder_filter_lastYear: 'Letztes Jahr',
31+
igx_query_builder_filter_nextYear: 'Nächstes Jahr',
32+
igx_query_builder_filter_greaterThan: 'Größer als',
33+
igx_query_builder_filter_lessThan: 'Kleiner als',
34+
igx_query_builder_filter_greaterThanOrEqualTo: 'Größer als oder gleich',
35+
igx_query_builder_filter_lessThanOrEqualTo: 'Kleiner als oder gleich',
36+
igx_query_builder_filter_true: 'Wahr',
37+
igx_query_builder_filter_false: 'Falsch',
38+
igx_query_builder_filter_all: 'Alle',
39+
igx_query_builder_title: 'Query Builder',
40+
igx_query_builder_and_group: '"Und" Gruppe',
41+
igx_query_builder_or_group: '"Oder" Gruppe',
42+
igx_query_builder_end_group: 'Beende Gruppe',
43+
igx_query_builder_and_label: 'und',
44+
igx_query_builder_or_label: 'oder',
45+
igx_query_builder_add_condition: 'Bedingung',
46+
igx_query_builder_create_and_group: 'Erstelle "Und" Gruppe',
47+
igx_query_builder_create_or_group: 'Erstelle "Oder" Gruppe',
48+
igx_query_builder_ungroup: 'Lösche Gruppierung',
49+
igx_query_builder_delete: 'Lösche',
50+
igx_query_builder_delete_filters: 'Lösche Filter',
51+
igx_query_builder_initial_text: 'Fange an mit einer Gruppe von Bedingungen, die mit "Und" oder "Oder" verknüpft sind',
52+
igx_query_builder_column_placeholder: 'Wähle Spalte',
53+
igx_query_builder_condition_placeholder: 'Wähle Filter',
54+
igx_query_builder_value_placeholder: 'Wert',
55+
};
56+
57+
/**
58+
* German resource strings for IgxQueryBuilder
59+
*/
60+
export const QueryBuilderResourceStringsDE = QueryBuilderResourceStringsDE_ as ExpandRequire<IQueryBuilderResourceStrings>;

projects/igniteui-angular-i18n/src/i18n/DE/resources.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { TreeResourceStringsDE } from './tree-resources';
1010
import { InputResourceStringsDE } from './input-resources';
1111
import { ChipResourceStringsDE } from './chip-resources';
1212
import { ComboResourceStringsDE } from './combo-resources';
13+
import { QueryBuilderResourceStringsDE } from './query-builder-resources';
1314

1415
/**
1516
* German resource strings for all components
@@ -26,5 +27,6 @@ export const IgxResourceStringsDE = {
2627
...TreeResourceStringsDE,
2728
...InputResourceStringsDE,
2829
...ChipResourceStringsDE,
29-
...ComboResourceStringsDE
30+
...ComboResourceStringsDE,
31+
...QueryBuilderResourceStringsDE
3032
};

0 commit comments

Comments
 (0)