Skip to content

Commit 6833ffa

Browse files
authored
Merge branch 'master' into simeonoff/merge-sassdocs
2 parents a5158bb + 02d6fc2 commit 6833ffa

File tree

6 files changed

+78
-16
lines changed

6 files changed

+78
-16
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ All notable changes for each version of this project will be documented in this
2525
- `dragGhostCustomTemplate` - Gets/Sets the custom template used for row drag.
2626
- `dragIndicatorIconTemplate` - Gets/Sets the custom template used for row drag indicator.
2727
- `detailTemplate` - Gets/Sets the master-detail template.
28+
- `IgxGridToolbar`
29+
- **Breaking Change** - The `IgxGridToolbarTitleDirective` and `IgxGridToolbarActionsDirective` have been converted to components, keeping only the element selector. For apps using the preferred element markup of `<igx-grid-toolbar-title>` and `<igx-grid-toolbar-actions>` there should be no functional change. Apps using the `igxGridToolbarTitle` and `igxGridToolbarActions` directives on other elements will need to convert those to the mentioned elements instead.
2830

2931
- **Behavioral Change** - When adding new row in grid with enabled batch editing, `rowChangesCount` displays the number of the defined columns.
3032
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"$schema": "../../common/schema/class.schema.json",
3+
"changes": [
4+
{
5+
"name": "IgxGridToolbarTitleDirective",
6+
"replaceWith": "IgxGridToolbarTitleComponent"
7+
},
8+
{
9+
"name": "IgxGridToolbarActionsDirective",
10+
"replaceWith": "IgxGridToolbarActionsComponent"
11+
}
12+
]
13+
}

projects/igniteui-angular/migrations/update-15_0_0/index.spec.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,53 @@ describe(`Update to ${version}`, () => {
149149
);
150150
});
151151

152+
it('should rename IgxGridToolbarTitleDirective and IgxGridToolbarActionsDirective', async () => {
153+
appTree.create(
154+
'/testSrc/appPrefix/component/test.component.ts',
155+
`import { Component, ViewChild } from '@angular/core';
156+
import { IgxGridToolbarTitleDirective, IgxGridToolbarComponent, IgxGridToolbarActionsDirective } from 'igniteui-angular';
157+
158+
@Component({
159+
selector: 'test-component',
160+
templateUrl: './test.component.html',
161+
styleUrls: ['./test.component.scss']
162+
})
163+
export class TestComponent {
164+
toolbar: IgxGridToolbarComponent;
165+
@ViewChild(IgxGridToolbarTitleDirective)
166+
public title: IgxGridToolbarTitleDirective;
167+
@ViewChild(IgxGridToolbarActionsDirective)
168+
public actions: IgxGridToolbarActionsDirective;
169+
}
170+
`);
171+
const tree = await schematicRunner
172+
.runSchematicAsync(migrationName, {}, appTree)
173+
.toPromise();
174+
175+
const expectedContent = `import { Component, ViewChild } from '@angular/core';
176+
import { IgxGridToolbarTitleComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent } from 'igniteui-angular';
177+
178+
@Component({
179+
selector: 'test-component',
180+
templateUrl: './test.component.html',
181+
styleUrls: ['./test.component.scss']
182+
})
183+
export class TestComponent {
184+
toolbar: IgxGridToolbarComponent;
185+
@ViewChild(IgxGridToolbarTitleComponent)
186+
public title: IgxGridToolbarTitleComponent;
187+
@ViewChild(IgxGridToolbarActionsComponent)
188+
public actions: IgxGridToolbarActionsComponent;
189+
}
190+
`;
191+
192+
expect(
193+
tree.readContent(
194+
'/testSrc/appPrefix/component/test.component.ts'
195+
)
196+
).toEqual(expectedContent);
197+
});
198+
152199
it('should remove the disabled property from the igx-radio-group', async () => {
153200
appTree.create(
154201
'/testSrc/appPrefix/component/test.component.html', `

projects/igniteui-angular/src/lib/grids/toolbar/common.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Directive, HostBinding, TemplateRef } from '@angular/core';
1+
import { Component, Directive, HostBinding, TemplateRef } from '@angular/core';
22
import { GridType } from '../common/grid.interface';
33

44

@@ -22,8 +22,8 @@ export class IgxCSVTextDirective { }
2222
* <igx-grid-toolbar-title>My custom title</igx-grid-toolbar-title>
2323
* ```
2424
*/
25-
@Directive({ selector: '[igxGridToolbarTitle],igx-grid-toolbar-title' })
26-
export class IgxGridToolbarTitleDirective {
25+
@Component({ selector: 'igx-grid-toolbar-title', template: '<ng-content></ng-content>' })
26+
export class IgxGridToolbarTitleComponent {
2727
/**
2828
* Host `class.igx-grid-toolbar__title` binding.
2929
*
@@ -47,8 +47,8 @@ export class IgxGridToolbarTitleDirective {
4747
* </igx-grid-toolbar-actions>
4848
* ```
4949
*/
50-
@Directive({ selector: '[igxGridToolbarActions],igx-grid-toolbar-actions' })
51-
export class IgxGridToolbarActionsDirective {
50+
@Component({ selector: 'igx-grid-toolbar-actions', template: '<ng-content></ng-content>' })
51+
export class IgxGridToolbarActionsComponent {
5252
/**
5353
* Host `class.igx-grid-toolbar__actions` binding.
5454
*
@@ -67,8 +67,8 @@ export interface IgxGridToolbarTemplateContext {
6767
export class IgxGridToolbarDirective {
6868
constructor(public template: TemplateRef<IgxGridToolbarTemplateContext>) {}
6969

70-
public static ngTemplateContextGuard(_dir: IgxGridToolbarDirective,
71-
ctx: unknown): ctx is IgxGridToolbarTemplateContext {
70+
public static ngTemplateContextGuard(_dir: IgxGridToolbarDirective,
71+
ctx: unknown): ctx is IgxGridToolbarTemplateContext {
7272
return true
7373
};
7474
}

projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { Subscription } from 'rxjs';
1212
import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensityBase } from '../../core/displayDensity';
1313
import { IgxIconService } from '../../icon/public_api';
1414
import { pinLeft, unpinLeft } from '@igniteui/material-icons-extended';
15-
import { IgxGridToolbarActionsDirective } from './common';
15+
import { IgxGridToolbarActionsComponent } from './common';
1616
import { GridServiceType, GridType, IGX_GRID_SERVICE_BASE } from '../common/grid.interface';
1717
import { IgxToolbarToken } from './token';
1818

@@ -69,8 +69,8 @@ export class IgxGridToolbarComponent extends DisplayDensityBase implements OnDes
6969
* @hidden
7070
* @internal
7171
*/
72-
@ContentChild(IgxGridToolbarActionsDirective)
73-
public hasActions: IgxGridToolbarActionsDirective;
72+
@ContentChild(IgxGridToolbarActionsComponent)
73+
public hasActions: IgxGridToolbarActionsComponent;
7474

7575
/**
7676
* @hidden

projects/igniteui-angular/src/lib/grids/toolbar/toolbar.module.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import { IgxGridToolbarPinningComponent } from './grid-toolbar-pinning.component
99
import {
1010
IgxCSVTextDirective,
1111
IgxExcelTextDirective,
12-
IgxGridToolbarActionsDirective,
12+
IgxGridToolbarActionsComponent,
1313
IgxGridToolbarDirective,
14-
IgxGridToolbarTitleDirective
14+
IgxGridToolbarTitleComponent
1515
} from './common';
1616
export * from './grid-toolbar.component';
1717
export * from './common';
@@ -25,13 +25,13 @@ export * from './grid-toolbar-pinning.component';
2525
declarations: [
2626
IgxCSVTextDirective,
2727
IgxExcelTextDirective,
28-
IgxGridToolbarActionsDirective,
28+
IgxGridToolbarActionsComponent,
2929
IgxGridToolbarAdvancedFilteringComponent,
3030
IgxGridToolbarComponent,
3131
IgxGridToolbarExporterComponent,
3232
IgxGridToolbarHidingComponent,
3333
IgxGridToolbarPinningComponent,
34-
IgxGridToolbarTitleDirective,
34+
IgxGridToolbarTitleComponent,
3535
IgxGridToolbarDirective
3636
],
3737
imports: [
@@ -41,13 +41,13 @@ export * from './grid-toolbar-pinning.component';
4141
exports: [
4242
IgxCSVTextDirective,
4343
IgxExcelTextDirective,
44-
IgxGridToolbarActionsDirective,
44+
IgxGridToolbarActionsComponent,
4545
IgxGridToolbarAdvancedFilteringComponent,
4646
IgxGridToolbarComponent,
4747
IgxGridToolbarExporterComponent,
4848
IgxGridToolbarHidingComponent,
4949
IgxGridToolbarPinningComponent,
50-
IgxGridToolbarTitleDirective,
50+
IgxGridToolbarTitleComponent,
5151
IgxGridToolbarDirective
5252
]
5353
})

0 commit comments

Comments
 (0)