Skip to content

Commit 65bab0b

Browse files
authored
Merge branch 'master' into didimmova/dataviz-exclude-themes-7897
2 parents 23c4c9a + 80245a3 commit 65bab0b

File tree

10 files changed

+93
-20
lines changed

10 files changed

+93
-20
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ The following example shows how you can use the Indigo theme:
5050

5151

5252
### New Features
53+
- `igxButton` directive
54+
- Added styles to support extended fab buttons.
5355
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
5456
- Introduced `showSummaryOnCollapse` grid property which allows you to control whether the summary row stays visible when the groupBy / parent row is collapsed.
5557
- Added support for tooltips on data cells default template and summary cells.

projects/igniteui-angular/src/lib/core/styles/components/button/_button-theme.scss

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,8 @@
429429
@mixin igx-button($theme) {
430430
@include igx-root-css-vars($theme);
431431

432+
$left: if-ltr(left, right);
433+
$right: if-ltr(right, left);
432434
$button-border: 1px solid transparent;
433435
$button-width: rem(88px);
434436

@@ -514,15 +516,15 @@
514516

515517

516518
$button-floating-padding: (
517-
comfortable: rem(15px),
518-
cosy: rem(11px),
519-
compact: rem(7px)
519+
comfortable: rem(8px) rem(16px),
520+
cosy: rem(4px) rem(12px),
521+
compact: 0 rem(8px)
520522
);
521523

522524
$button-floating-size: (
523-
comfortable: rem(56px),
524-
cosy: rem(48px),
525-
compact: rem(40px)
525+
comfortable: rem(48px),
526+
cosy: rem(40px),
527+
compact: rem(32px)
526528
);
527529

528530
$icon-in-button-size: rem(18px);
@@ -762,18 +764,37 @@
762764
background: --var($theme, 'fab-focus-background');
763765
box-shadow: $fab-shadow--focus;
764766
}
767+
768+
igx-icon {
769+
display: inline-flex;
770+
order: -1;
771+
margin: rem(8px) 0;
772+
}
773+
774+
* + igx-icon {
775+
margin: 0;
776+
margin-#{$right}: rem(12px);
777+
}
765778
}
766779

767780
%igx-button--fab-cosy {
768781
padding: map-get($button-floating-padding, 'cosy');
769782
min-width: map-get($button-floating-size, 'cosy');
770783
min-height: map-get($button-floating-size, 'cosy');
784+
785+
* + igx-icon {
786+
margin-#{$right}: rem(8px);
787+
}
771788
}
772789

773790
%igx-button--fab-compact {
774791
padding: map-get($button-floating-padding, 'compact');
775792
min-width: map-get($button-floating-size, 'compact');
776793
min-height: map-get($button-floating-size, 'compact');
794+
795+
* + igx-icon {
796+
margin-#{$right}: rem(4px);
797+
}
777798
}
778799

779800
%igx-button--icon {
@@ -849,4 +870,15 @@
849870
text-align: center;
850871
}
851872
}
873+
874+
%igx-button--fab {
875+
p,
876+
span,
877+
div {
878+
@include igx-type-style($type-scale, $text) {
879+
text-align: center;
880+
margin: 0;
881+
}
882+
}
883+
}
852884
}

projects/igniteui-angular/src/lib/core/styles/components/grid/_excel-filtering-theme.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
flex-grow: 1;
2323
box-shadow: igx-elevation($elevations, 12);
2424
overflow: auto;
25+
min-width: rem(320px);
2526
}
2627

2728
%grid-excel-filter--inline {
@@ -58,10 +59,9 @@
5859
display: flex;
5960
flex-direction: column;
6061
height: 100%;
61-
width: 320px;
62-
min-width: 320px;
6362
background: --var($theme, 'filtering-row-background');
64-
border-radius: 4px;
63+
// TODO The border-radius should not be hardcoded.
64+
border-radius: rem(4px);
6565

6666
@include igx-button-group(igx-button-group-theme(
6767
$shadow: none,

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1717,6 +1717,18 @@ describe('IgxGrid - Row Selection #grid', () => {
17171717
expect(grid.getRowByIndex(3).selected).toBeTrue();
17181718
expect(grid.getRowByIndex(0).selected).toBeFalse();
17191719
});
1720+
1721+
it('Row Pinning: should update checkbox status correctly when there is pinned row and groupBy', () => {
1722+
grid.pinRow(2);
1723+
fix.detectChanges();
1724+
1725+
grid.groupBy({ fieldName: 'InStock', dir: SortingDirection.Desc, ignoreCase: false });
1726+
1727+
GridSelectionFunctions.headerCheckboxClick(grid);
1728+
fix.detectChanges();
1729+
GridSelectionFunctions.verifyHeaderRowCheckboxState(fix, true, false);
1730+
expect(grid.selectedRows.length).toBe(grid.data.length);
1731+
});
17201732
});
17211733

17221734
describe('Integration with CRUD and transactions', () => {

projects/igniteui-angular/src/lib/grids/headers/grid-header.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</ng-container>
88
</span>
99
<div class="igx-grid__th-icons" *ngIf="!column.columnGroup">
10-
<igx-icon
10+
<igx-icon
1111
[attr.draggable]="false"
1212
[attr.data-sortIndex]="column.field | sortingIndex:grid.sortingExpressions"
1313
class="sort-icon"
@@ -18,6 +18,6 @@
1818

1919
<igx-icon [ngClass]="filterIconClassName" [attr.draggable]="false" (click)="onFilteringIconClick($event)"
2020
*ngIf="grid.allowFiltering == true && column.filterable && grid.filterMode == 'excelStyleFilter'">
21-
filter_list
21+
more_vert
2222
</igx-icon>
2323
</div>

projects/igniteui-angular/src/lib/grids/selection/selection.service.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -729,8 +729,12 @@ export class IgxGridSelectionService {
729729

730730
/** Returns all data in the grid, with applied filtering and sorting and without deleted rows. */
731731
public get allData(): Array<any> {
732-
const allData = this.isFilteringApplied() || this.grid.sortingExpressions.length ?
733-
this.grid.filteredSortedData : this.grid.gridAPI.get_all_data(true);
732+
let allData;
733+
if (this.isFilteringApplied() || this.grid.sortingExpressions.length) {
734+
allData = this.grid.pinnedRecordsCount ? this.grid._filteredSortedUnpinnedData : this.grid.filteredSortedData;
735+
} else {
736+
allData = this.grid.gridAPI.get_all_data(true);
737+
}
734738
return allData.filter(rData => !this.isRowDeleted(this.grid.gridAPI.get_row_id(rData)));
735739
}
736740

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-selection.spec.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,17 @@ describe('IgxTreeGrid - Selection #tGrid', () => {
622622
TreeGridFunctions.verifyHeaderCheckboxSelection(fix, true);
623623
});
624624

625+
it('should have correct header checkbox when add a row and then selectAll rows', () => {
626+
treeGrid.addRow({ ID: 13, Name: 'Michael Cooper', Age: 33, OnPTO: false }, 317);
627+
fix.detectChanges();
628+
629+
TreeGridFunctions.clickHeaderRowSelectionCheckbox(fix);
630+
fix.detectChanges();
631+
632+
expect(treeGrid.selectedRows.length).toBeGreaterThan(treeGrid.flatData.length);
633+
TreeGridFunctions.verifyHeaderCheckboxSelection(fix, true);
634+
});
635+
625636
it('should have correct header checkbox when add a row and undo transaction', fakeAsync(() => {
626637
treeGrid.addRow({ ID: 13, Name: 'Michael Cooper', Age: 33, OnPTO: false }, 317);
627638
tick();

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.pipes.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ export class IgxTreeGridHierarchizingPipe implements PipeTransform {
3939
flatData, 0, treeGridRecordsMap);
4040
}
4141

42-
grid.flatData = flatData;
42+
grid.flatData = grid.transactions.enabled ?
43+
flatData.filter(rec => !grid.transactions.getState(this.getRowID(primaryKey, rec))) : flatData;
4344
grid.records = treeGridRecordsMap;
4445
grid.rootRecords = hierarchicalRecords;
4546
return hierarchicalRecords;

src/app/button/button.sample.html

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ <h4 class="sample-title">Flat Buttons</h4>
2424
</div>
2525
</div>
2626
</article>
27-
27+
2828
<article class="sample-column">
2929
<h4 class="sample-title">Raised Buttons</h4>
3030
<div class="buttons-sample">
@@ -48,7 +48,7 @@ <h4 class="sample-title">Raised Buttons</h4>
4848
</div>
4949
</div>
5050
</article>
51-
51+
5252
<article class="sample-column">
5353
<h4 class="sample-title">Outlined Buttons</h4>
5454
<div class="buttons-sample">
@@ -72,7 +72,7 @@ <h4 class="sample-title">Outlined Buttons</h4>
7272
</div>
7373
</div>
7474
</article>
75-
75+
7676
<article class="sample-column">
7777
<h4 class="sample-title">Floating Action Buttons</h4>
7878
<div class="buttons-sample">
@@ -108,7 +108,7 @@ <h4 class="sample-title">Floating Action Buttons</h4>
108108
</div>
109109
</div>
110110
</article>
111-
111+
112112
<article class="sample-column">
113113
<h4 class="sample-title">Icon Buttons</h4>
114114
<div class="buttons-sample">
@@ -179,7 +179,18 @@ <h4 class="sample-title">Buttons based on Display Density</h4>
179179
</div>
180180
<div class="button-sample">
181181
<button igxRipple igxButton="fab" [displayDensity]="density">
182-
<igx-icon fontSet="material" >favorite</igx-icon>
182+
<igx-icon fontSet="material">favorite</igx-icon>
183+
</button>
184+
</div>
185+
<div class="button-sample">
186+
<button igxRipple igxButton="fab" [displayDensity]="density">
187+
<span>Favorite</span>
188+
<igx-icon fontSet="material">favorite</igx-icon>
189+
</button>
190+
</div>
191+
<div class="button-sample">
192+
<button igxRipple igxButton="fab" [displayDensity]="density">
193+
<span>Favorite</span>
183194
</button>
184195
</div>
185196
</div>

src/app/grid-row-pinning/grid-row-pinning.sample.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</div>
2121
<igx-grid [rowEditable]="true" [igxGridState]="options" [allowFiltering]='true' [primaryKey]='"ID"' [pinning]="pinningConfig" [paging]="true"
2222
[columnHiding]='true' [showToolbar]='true' [columnPinning]='true' #grid1 [data]="data" [width]="'800px'"
23-
[height]="'600px'" [rowSelection]="true">
23+
[height]="'600px'" [rowSelection]="'multiple'">
2424

2525
<ng-template igxGridDetail let-dataItem>
2626
<div>

0 commit comments

Comments
 (0)