Skip to content

Commit 9e27225

Browse files
authored
Merge branch 'master' into tests-refactor
2 parents 4455244 + 1fb2e40 commit 9e27225

File tree

4 files changed

+37
-42
lines changed

4 files changed

+37
-42
lines changed

projects/igniteui-angular/src/lib/core/styles/components/chip/_chip-theme.scss

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,19 +378,21 @@
378378
}
379379

380380
igx-avatar,
381-
igx-circular-bar,
382381
igx-icon {
383382
--component-size: var(--chip-size);
384383
}
385384

385+
igx-circular-bar {
386+
--diameter: #{sizable(rem(14px), rem(18px), rem(24px))};
387+
}
388+
386389
@if $variant == 'indigo' {
387390
igx-icon {
388391
--size: #{sizable(rem(14px), rem(14px), rem(16px))}
389392
}
390393
}
391394

392-
igx-avatar,
393-
igx-circular-bar {
395+
igx-avatar {
394396
max-height: 100%;
395397
width: sizable(rem(14px), rem(18px), rem(24px));
396398
max-width: sizable(rem(14px), rem(18px), rem(24px));

projects/igniteui-angular/src/lib/core/styles/components/tree/_tree-theme.scss

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,9 +288,7 @@
288288
}
289289

290290
igx-circular-bar {
291-
--circular-bar: #{sizable(#{map.get($circular-bar-size, 'compact')}, #{map.get($circular-bar-size, 'cosy')}, #{map.get($circular-bar-size, 'comfortable')})};
292-
width: var(--circular-bar);
293-
height: var(--circular-bar);
291+
--diameter: #{sizable(#{map.get($circular-bar-size, 'compact')}, #{map.get($circular-bar-size, 'cosy')}, #{map.get($circular-bar-size, 'comfortable')})};
294292
}
295293
}
296294

projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.ts

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -172,17 +172,12 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy {
172172
@Input()
173173
public set fields(fields: FieldType[]) {
174174
this._fields = fields;
175-
175+
176+
this._fields = this._fields?.map(f => ({...f, filters: this.getFilters(f), pipeArgs: this.getPipeArgs(f) }));
177+
176178
if (!this._fields && this.isAdvancedFiltering()) {
177179
this._fields = this.entities[0].fields;
178180
}
179-
180-
if (this._fields) {
181-
this._fields.forEach(field => {
182-
this.setFilters(field);
183-
this.setFormat(field);
184-
});
185-
}
186181
}
187182

188183
/**
@@ -1182,7 +1177,7 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy {
11821177
if (!this.selectedField) {
11831178
this.fieldSelect.input.nativeElement.focus();
11841179
} else if (this.selectedField.filters.condition(this.selectedCondition)?.isUnary) {
1185-
this.conditionSelect.input.nativeElement.focus();
1180+
this.conditionSelect?.input.nativeElement.focus();
11861181
} else {
11871182
const input = this.searchValueInput?.nativeElement || this.picker?.getEditElement();
11881183
input?.focus();
@@ -1485,16 +1480,19 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy {
14851480
return ctx;
14861481
}
14871482

1488-
private setFormat(field: FieldType) {
1489-
if (!field.pipeArgs) {
1490-
field.pipeArgs = { digitsInfo: DEFAULT_PIPE_DIGITS_INFO };
1483+
private getPipeArgs(field: FieldType) {
1484+
let pipeArgs = {...field.pipeArgs};
1485+
if (!pipeArgs) {
1486+
pipeArgs = { digitsInfo: DEFAULT_PIPE_DIGITS_INFO };
14911487
}
14921488

1493-
if (!field.pipeArgs.format) {
1494-
field.pipeArgs.format = field.dataType === DataType.Time ?
1489+
if (!pipeArgs.format) {
1490+
pipeArgs.format = field.dataType === DataType.Time ?
14951491
DEFAULT_PIPE_TIME_FORMAT : field.dataType === DataType.DateTime ?
14961492
DEFAULT_PIPE_DATE_TIME_FORMAT : DEFAULT_PIPE_DATE_FORMAT;
14971493
}
1494+
1495+
return pipeArgs;
14981496
}
14991497

15001498
private selectDefaultCondition() {
@@ -1503,30 +1501,24 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy {
15031501
}
15041502
}
15051503

1506-
private setFilters(field: FieldType) {
1504+
private getFilters(field: FieldType) {
15071505
if (!field.filters) {
15081506
switch (field.dataType) {
15091507
case DataType.Boolean:
1510-
field.filters = IgxBooleanFilteringOperand.instance();
1511-
break;
1508+
return IgxBooleanFilteringOperand.instance();
15121509
case DataType.Number:
15131510
case DataType.Currency:
15141511
case DataType.Percent:
1515-
field.filters = IgxNumberFilteringOperand.instance();
1516-
break;
1512+
return IgxNumberFilteringOperand.instance();
15171513
case DataType.Date:
1518-
field.filters = IgxDateFilteringOperand.instance();
1519-
break;
1514+
return IgxDateFilteringOperand.instance();
15201515
case DataType.Time:
1521-
field.filters = IgxTimeFilteringOperand.instance();
1522-
break;
1516+
return IgxTimeFilteringOperand.instance();
15231517
case DataType.DateTime:
1524-
field.filters = IgxDateTimeFilteringOperand.instance();
1525-
break;
1518+
return IgxDateTimeFilteringOperand.instance();
15261519
case DataType.String:
15271520
default:
1528-
field.filters = IgxStringFilteringOperand.instance();
1529-
break;
1521+
return IgxStringFilteringOperand.instance();
15301522
}
15311523
}
15321524
}

projects/igniteui-angular/src/lib/query-builder/query-builder.component.spec.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,16 @@ describe('IgxQueryBuilder', () => {
117117
expect(mainEntityContainer.children[1].children[1].tagName).toBe('IGX-COMBO');
118118
expect(nestedEntityContainer.children[1].children[1].tagName).toBe('IGX-SELECT');
119119
}));
120+
121+
it('Should return proper fields collection without additional props.', fakeAsync(() => {
122+
queryBuilder.expressionTree = QueryBuilderFunctions.generateExpressionTree();
123+
fix.detectChanges();
124+
125+
queryBuilder.entities[0].fields.forEach(field => {
126+
expect(field.filters).toBeUndefined();
127+
expect(field.pipeArgs).toBeUndefined();
128+
});
129+
}));
120130
});
121131

122132
describe('Interactions', () => {
@@ -3241,8 +3251,7 @@ export class IgxQueryBuilderSampleTestComponent implements OnInit {
32413251
<p class="selectedField">{{selectedField.field}}</p>
32423252
<p class="selectedCondition">{{selectedCondition}}</p>
32433253
} @else if (selectedField?.field === 'OrderId' && selectedCondition === 'equals') {
3244-
<igx-combo [data]="comboData" [(ngModel)]="searchValue.value"
3245-
(selectionChanging)="handleChange($event, selectedField, searchValue)" [displayKey]="'field'">
3254+
<igx-combo [data]="comboData" [(ngModel)]="searchValue.value" [displayKey]="'field'">
32463255
</igx-combo>
32473256
} @else {
32483257
<ng-container #defaultTemplate *ngTemplateOutlet="defaultSearchValueTemplate"></ng-container>
@@ -3271,6 +3280,7 @@ export class IgxQueryBuilderCustomTemplateSampleTestComponent implements OnInit
32713280

32723281
public ngOnInit(): void {
32733282
this.entities = SampleEntities.map(a => ({ ...a }));
3283+
this.entities[1].fields[0].formatter = (value: any, rowData: any) => rowData === 'equals' ? (Array.from(value)[0] as any).id : value;
32743284

32753285
const tree = new FilteringExpressionsTree(FilteringLogic.And, null, 'Orders', ['*']);
32763286
tree.filteringOperands.push({
@@ -3288,11 +3298,4 @@ export class IgxQueryBuilderCustomTemplateSampleTestComponent implements OnInit
32883298
{ id: 1, field: 'B' }
32893299
];
32903300
}
3291-
3292-
public handleChange(ev, selectedField, searchVal) {
3293-
if (selectedField.field === 'OrderId') {
3294-
searchVal.value = ev.newValue[0];
3295-
selectedField.formatter = (value: any, rowData: any) => rowData === 'equals' ? (Array.from(value)[0] as any).id : value;
3296-
}
3297-
}
32983301
}

0 commit comments

Comments
 (0)