Skip to content

Commit a6f4db8

Browse files
committed
feat(grid): enhance toolbar with titles and update pinning positions
1 parent 2ff36ef commit a6f4db8

File tree

6 files changed

+20
-58
lines changed

6 files changed

+20
-58
lines changed

src/app/grid/grid-sample-pinning-both-sides/grid-toolbar-pinning-both-sides.component.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,9 @@ import { ActivatedRoute } from '@angular/router';
3030
IgxPreventDocumentScrollDirective,
3131
IgxGridToolbarComponent,
3232
IgxGridToolbarActionsComponent,
33-
IgxGridToolbarPinningComponent,
3433
IgxColumnComponent,
35-
IgxDropDownComponent,
36-
IgxDropDownItemComponent,
3734
IgxButtonDirective,
38-
IgxToggleActionDirective,
39-
IgxDropDownItemNavigationDirective
35+
IgxToggleActionDirective
4036
]
4137
})
4238

src/app/hierarchical-grid/hierarchical-grid-sample-both-sides-pinning/hierarchical-grid-both-sides-pinning.component.html

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
[moving]="true"
1212
>
1313
<igx-grid-toolbar>
14+
<igx-grid-toolbar-title>Hierarchical Grid</igx-grid-toolbar-title>
1415
<igx-grid-toolbar-actions>
1516
<button igxButton="contained" (click)="unpinColumn()"> Unpin Column </button>
1617
<button igxButton="contained" (click)="pinLeft()"> Pin Left </button>
@@ -90,7 +91,13 @@
9091
</ng-template>
9192
</igx-column>
9293

93-
<igx-row-island [height]="null" [key]="'AgentData'" [autoGenerate]="false" [pinning]="pinningConfig" columnSelection="multiple">
94+
<igx-row-island [height]="null" [key]="'AgentData'" [moving]="true" [autoGenerate]="false" [pinning]="pinningConfig" columnSelection="multiple">
95+
<igx-grid-toolbar>
96+
<igx-grid-toolbar-title>Agent Data</igx-grid-toolbar-title>
97+
<igx-grid-toolbar-actions>
98+
<button igxButton="contained">Add Agent</button>
99+
</igx-grid-toolbar-actions>
100+
</igx-grid-toolbar>
94101
<igx-column field="avatar" header="Agent's Photo" width="80">
95102
<ng-template igxCell let-cell="cell">
96103
<div class="cell__inner avatar-cell">
@@ -104,7 +111,7 @@
104111
<igx-column field="email" header="Work E-mail" width="250"></igx-column>
105112
<igx-column field="work_phone" header="Work Phone" width="160"></igx-column>
106113

107-
<igx-column field="street" header="Street" width="200" [pinned]="true"></igx-column>
114+
<igx-column field="street" header="Street" width="200" [pinned]="true" [pinningPosition]="start"></igx-column>
108115
<igx-column field="city" header="City" [pinned]="true"></igx-column>
109116
<igx-column field="post_code" header="Post Code"></igx-column>
110117
<igx-column field="state" header="State"></igx-column>

src/app/hierarchical-grid/hierarchical-grid-sample-both-sides-pinning/hierarchical-grid-both-sides-pinning.component.ts

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {
1919
IgxButtonDirective,
2020
IgxToggleActionDirective,
2121
IgxDropDownItemNavigationDirective,
22+
IgxGridToolbarTitleComponent,
2223
} from "igniteui-angular";
2324
import { employeesData } from "../../data/employeesData";
2425
import { athletesData } from "../../data/athletesData";
@@ -34,7 +35,6 @@ import { DatePipe } from "@angular/common";
3435
IgxHierarchicalGridComponent,
3536
IgxGridToolbarComponent,
3637
IgxGridToolbarActionsComponent,
37-
IgxGridToolbarPinningComponent,
3838
IgxColumnComponent,
3939
IgxCellTemplateDirective,
4040
IgxTooltipTargetDirective,
@@ -44,12 +44,9 @@ import { DatePipe } from "@angular/common";
4444
IgxIconComponent,
4545
IgxRowIslandComponent,
4646
DatePipe,
47-
IgxDropDownComponent,
48-
IgxDropDownItemComponent,
4947
IgxButtonDirective,
50-
IgxToggleActionDirective,
51-
IgxDropDownItemNavigationDirective,
52-
],
48+
IgxGridToolbarTitleComponent
49+
]
5350
})
5451
export class HierarchicalGridBothSidePinningSampleComponent implements OnInit {
5552
@ViewChild("grid1", { static: true })
@@ -60,6 +57,8 @@ export class HierarchicalGridBothSidePinningSampleComponent implements OnInit {
6057
public columns: any[];
6158
public pinningConfig: IPinningConfig = { columns: ColumnPinningPosition.End };
6259
private _columnsPinned = true;
60+
public start = ColumnPinningPosition.Start;
61+
public end = ColumnPinningPosition.End;
6362

6463
public ngOnInit(): void {
6564
this.data = athletesData;
@@ -79,30 +78,6 @@ export class HierarchicalGridBothSidePinningSampleComponent implements OnInit {
7978
});
8079
}
8180

82-
// Toggle individual column pin state (unchanged)
83-
public toggleColumn(col: IgxColumnComponent): void {
84-
col.pinned ? col.unpin() : col.pin();
85-
}
86-
87-
// NEW: Set global pinning position via toolbar dropdown
88-
public setPinningPosition(side: "start" | "end"): void {
89-
const pos =
90-
side === "start"
91-
? ColumnPinningPosition.Start
92-
: ColumnPinningPosition.End;
93-
94-
// Reassign a new object so change detection updates both grid and row island
95-
this.pinningConfig = { columns: pos };
96-
}
97-
98-
public get columnsPinned(): boolean {
99-
return this._columnsPinned;
100-
}
101-
102-
public set columnsPinned(pinned) {
103-
this._columnsPinned = !this._columnsPinned;
104-
}
105-
10681
private generateReadableDate(timestamp: string): Date {
10782
let dateObj = new Date(timestamp);
10883
if (isNaN(dateObj.getTime())) {

src/app/lists/combo/combo-features/combo-features.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
<igx-combo #combo class="combo" [data]="lData" [displayKey]="'field'" [valueKey]="'field'"
33
placeholder="Location(s)" searchPlaceholder="Search..." [allowCustomValues]="customValues"
4-
(addition)="handleAddition($event)" [filteringOptions]="{ filterable }"
4+
(addition)="handleAddition($event)"
55
[showSearchCaseIcon]="showSearchCaseIcon" [itemsMaxHeight]="255" [disabled]="disabled">
66
</igx-combo>
77

src/app/tree-grid/tree-grid-sample-both-pinning/tree-grid-both-sides-pinning.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
</igx-grid-toolbar>
2222
</igx-grid-toolbar>
2323

24-
<igx-column [field]="'Name'" dataType="string" width="250px" [disablePinning]="true"></igx-column>
25-
<igx-column [field]="'Title'" dataType="string" width="250px" [pinned]="true"></igx-column>
24+
<igx-column [field]="'Name'" dataType="string" width="250px" [pinned]="true" [pinningPosition]="start"></igx-column>
25+
<igx-column [field]="'Title'" dataType="string" width="250px" [pinned]="true" [pinningPosition]="end"></igx-column>
2626
<igx-column [field]="'ID'" dataType="number" width="100px"></igx-column>
2727
<igx-column [field]="'HireDate'" header="Hire Date" dataType="date" width="200px"></igx-column>
2828
<igx-column [field]="'Age'" dataType="number" width="200px"></igx-column>

src/app/tree-grid/tree-grid-sample-both-pinning/tree-grid-both-sides-pinning.component.ts

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,30 +38,14 @@ export class TreeGridBothSidesPinningSampleComponent implements OnInit {
3838
public data: any[];
3939
public columns: any[];
4040
public pinningConfig: IPinningConfig = { columns: ColumnPinningPosition.End };
41+
public start = ColumnPinningPosition.Start;
42+
public end = ColumnPinningPosition.End;
4143

42-
private _columnsPinned = true;
4344

4445
public ngOnInit(): void {
4546
this.data = generateEmployeeDetailedFlatData();
4647
}
4748

48-
public toggleColumnPinning(col: IgxColumnComponent): void {
49-
col.pinned ? col.unpin() : col.pin();
50-
}
51-
52-
public setPinningPosition(side: 'start' | 'end'): void {
53-
const pos = side === 'start' ? ColumnPinningPosition.Start : ColumnPinningPosition.End;
54-
this.pinningConfig = { columns: pos };
55-
}
56-
57-
public get columnsPinned(): boolean {
58-
return this._columnsPinned;
59-
}
60-
61-
public set columnsPinned(pinned) {
62-
this._columnsPinned = !this._columnsPinned;
63-
}
64-
6549
public pinLeft(){
6650
this.grid1.selectedColumns().forEach((col: IgxColumnComponent) => {
6751
col.pinningPosition = ColumnPinningPosition.Start;

0 commit comments

Comments
 (0)