Skip to content

Commit 5d8c1d4

Browse files
authored
Merge branch 'master' into bpachilova/feat-10681-master
2 parents 4ad348a + afeb811 commit 5d8c1d4

35 files changed

+681
-281
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@
33
All notable changes for each version of this project will be documented in this file.
44

55
## 13.1.0
6+
67
### New Features
78
- `igxTooltipTarget` directive now allows specifying a plain text tooltip without adding an additional DOM element decorated with the `igxTooltip` directive. This is achieved via the newly introduced `tooltip` string input.
89
```html
910
<button igxTooltipTarget [tooltip]="'Infragistics Inc. HQ'">
1011
info
1112
</button>
1213
```
14+
- `IgxTabs` have full right-to-left (RTL) support.
15+
1316
### General
1417

1518
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
@@ -20,6 +23,7 @@ All notable changes for each version of this project will be documented in this
2023
<igx-column field="Age"></igx-column>
2124
</igx-grid>
2225
```
26+
- Scrolling with the mouse wheel over cells with templates that include scrollable containers now correctly scroll these inner containers before the grid body scrolls.
2327

2428
## 13.0.5
2529

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ You can include Ignite UI for Angular in your project as a dependency using the
218218

219219
- [COVID-19 Dashboard](https://github.com/IgniteUI/COVID-19-Dashboard) - This dynamic dashboard was built using Indigo.Design and Ignite UI for Angular leveraging timely reports data from CSSEGISandData/COVID-19 to create an useful and impactful visualization. Built in a matter of hours, it showcases the Ignite UI Category and Data Charts, Map and List components for Angular and the how easy it is to get those quickly configured and populated with data.
220220

221-
-[Inventory Management App](https://github.com/IgniteUI/InventoryManagementApp) - The Inventory Management App consists of 2 pages: The Products Page and the Dashboard Page. The Products Page contains a grid with product information and includes a number of useful features
221+
- [Inventory Management App](https://github.com/IgniteUI/InventoryManagementApp) - The Inventory Management App consists of 2 pages: The Products Page and the Dashboard Page. The Products Page contains a grid with product information and includes a number of useful features
222222

223223
### Angular apps with ASP.NET Core Web Application
224224
If you consider Angular client side application with ASP.NET Core application you can check out our [ASP.NET-Core-Samples](https://github.com/IgniteUI/ASP.NET-Core-Samples)

projects/igniteui-angular/src/lib/core/styles/components/tabs/_tabs-theme.scss

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,30 +58,23 @@
5858
@function igx-tabs-theme(
5959
$palette: null,
6060
$schema: $light-schema,
61-
6261
$item-text-color: null,
6362
$item-background: null,
64-
6563
$item-hover-background: null,
6664
$item-hover-color: null,
67-
6865
$item-active-color: null,
6966
$item-active-icon-color: null,
7067
$item-active-background: null,
7168
$indicator-color: null,
72-
7369
$button-color: null,
7470
$button-background: null,
7571
$button-hover-background: null,
7672
$button-hover-color: null,
77-
7873
$tab-ripple-color: null,
7974
$button-ripple-color: null,
8075
$border-radius: null,
81-
8276
$border-color: null,
8377
$border-color--hover: null,
84-
8578
$disable-shadow: true
8679
) {
8780
$name: 'igx-tabs';
@@ -347,6 +340,10 @@
347340
display: none;
348341
}
349342

343+
@include if-rtl() {
344+
transform: scaleX(-1);
345+
}
346+
350347
@include igx-ripple($button-ripple-theme);
351348
@include igx-css-vars($button-ripple-theme);
352349
}
@@ -594,5 +591,3 @@
594591
}
595592
}
596593
}
597-
598-

projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,10 @@ export class IgxScrollInertiaDirective implements OnInit, OnDestroy {
138138
scrollDeltaY = this.calcAxisCoords(deltaScaledY, -1, 1);
139139
}
140140

141+
if (evt.composedPath && this.didChildScroll(evt, scrollDeltaX, scrollDeltaY)) {
142+
return;
143+
}
144+
141145
if (scrollDeltaX && this.IgxScrollInertiaDirection === 'horizontal') {
142146
const nextLeft = this._startX + scrollDeltaX * scrollStep;
143147
if (!smoothing) {
@@ -186,6 +190,36 @@ export class IgxScrollInertiaDirective implements OnInit, OnDestroy {
186190
}
187191
}
188192

193+
/**
194+
* @hidden
195+
* Checks if the wheel event would have scrolled an element under the display container
196+
* in DOM tree so that it can correctly be ignored until that element can no longer be scrolled.
197+
*/
198+
protected didChildScroll(evt, scrollDeltaX, scrollDeltaY): boolean {
199+
const path = evt.composedPath();
200+
let i = 0;
201+
while (i < path.length && path[i].localName !== 'igx-display-container') {
202+
const e = path[i++];
203+
if (e.scrollHeight > e.clientHeight) {
204+
if (scrollDeltaY > 0 && e.scrollHeight - Math.abs(Math.round(e.scrollTop)) !== e.clientHeight) {
205+
return true;
206+
}
207+
if (scrollDeltaY < 0 && e.scrollTop !== 0) {
208+
return true;
209+
}
210+
}
211+
if (e.scrollWidth > e.clientWidth) {
212+
if (scrollDeltaX > 0 && e.scrollWidth - Math.abs(Math.round(e.scrollLeft)) !== e.clientWidth) {
213+
return true;
214+
}
215+
if (scrollDeltaX < 0 && e.scrollLeft !== 0) {
216+
return true;
217+
}
218+
}
219+
}
220+
return false;
221+
}
222+
189223
/**
190224
* @hidden
191225
* Function that is called the first moment we start interacting with the content on a touch device

projects/igniteui-angular/src/lib/grids/common/grid.interface.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export interface RowType {
9696
parent?: RowType;
9797
hasChildren?: boolean;
9898
treeRow? : ITreeGridRecord;
99-
addRowUI?: any;
99+
addRowUI?: boolean;
100100
focused?: boolean;
101101
grid: GridType;
102102
onRowSelectorClick?: (event: MouseEvent) => void;

projects/igniteui-angular/src/lib/grids/grid-base.directive.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6500,12 +6500,10 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
65006500
this.tbody.nativeElement.style.display = 'none';
65016501
let res = !this.nativeElement.parentElement ||
65026502
this.nativeElement.parentElement.clientHeight === 0 ||
6503-
this.nativeElement.parentElement.clientHeight === renderedHeight;
6504-
if (!this.platform.isChromium && !this.platform.isFirefox) {
6503+
this.nativeElement.parentElement.clientHeight === renderedHeight ||
65056504
// If grid causes the parent container to extend (for example when container is flex)
65066505
// we should always auto-size since the actual size of the container will continuously change as the grid renders elements.
6507-
res = this.checkContainerSizeChange();
6508-
}
6506+
this.checkContainerSizeChange();
65096507
this.tbody.nativeElement.style.display = '';
65106508
return res;
65116509
}

projects/igniteui-angular/src/lib/grids/grid-public-row.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { IGroupByRecord } from '../data-operations/groupby-record.interface';
2-
import { IgxEditRow } from './common/crud.service';
2+
import { IgxAddRow, IgxEditRow } from './common/crud.service';
33
import { GridInstanceType, GridSummaryCalculationMode, GridSummaryPosition } from './common/enums';
44
import { IgxGridCell } from './grid-public-cell';
55
import { IgxSummaryResult } from './summaries/grid-summary';
@@ -38,6 +38,19 @@ abstract class BaseRow implements RowType {
3838
return primaryKey ? data[primaryKey] : data;
3939
}
4040

41+
/**
42+
* Gets if this represents add row UI
43+
*
44+
* ```typescript
45+
* let isAddRow = row.addRowUI;
46+
* ```
47+
*/
48+
public get addRowUI(): boolean {
49+
return !!this.grid.crudService.row &&
50+
this.grid.crudService.row.getClassName() === IgxAddRow.name &&
51+
this.grid.crudService.row.id === this.key;
52+
}
53+
4154
/**
4255
* The data record that populates the row.
4356
*

projects/igniteui-angular/src/lib/grids/grid/grid-mrl-keyboard-nav.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1785,6 +1785,7 @@ describe('IgxGrid Multi Row Layout - Keyboard navigation #grid', () => {
17851785
expect(fix.componentInstance.selectedCell.column.field).toMatch('Phone');
17861786

17871787
GridFunctions.simulateGridContentKeydown(fix, 'ArrowDown');
1788+
await waitForSelectionChange(fix.componentInstance.grid);
17881789
fix.detectChanges();
17891790

17901791
expect(fix.componentInstance.selectedCell.value).toEqual(fix.componentInstance.data[0].Fax);

0 commit comments

Comments
 (0)