Skip to content

Commit 45923e1

Browse files
MKirovaMKirova
authored andcommitted
chore(*): Update templates. Remove redundant getters. Add test.
1 parent 5a363cd commit 45923e1

File tree

7 files changed

+68
-26
lines changed

7 files changed

+68
-26
lines changed

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

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2423,24 +2423,6 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
24232423
}
24242424

24252425
/**
2426-
* @hidden @internal
2427-
*/
2428-
public get rowEditText(): TemplateRef<any> {
2429-
if (this.rowEditTextDirectives && this.rowEditTextDirectives.first) {
2430-
return this.rowEditTextDirectives.first;
2431-
}
2432-
return null;
2433-
}
2434-
2435-
/**
2436-
* @hidden @internal
2437-
*/
2438-
public get rowEditActions(): TemplateRef<any> {
2439-
if (this.rowEditActionsDirectives && this.rowEditActionsDirectives.first) {
2440-
return this.rowEditActionsDirectives.first;
2441-
}
2442-
return null;
2443-
}
24442426
24452427
/**
24462428
* @hidden @internal

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

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ import {
2222
IgxGridCustomOverlayComponent,
2323
IgxGridEmptyRowEditTemplateComponent,
2424
VirtualGridComponent,
25-
ObjectCloneStrategy
25+
ObjectCloneStrategy,
26+
IgxGridCustomRowEditTemplateComponent
2627
} from '../../test-utils/grid-samples.spec';
2728
import { Subject } from 'rxjs';
2829
import { takeUntil } from 'rxjs/operators';
@@ -46,6 +47,7 @@ describe('IgxGrid - Row Editing #grid', () => {
4647
IgxGridRowEditingWithoutEditableColumnsComponent,
4748
IgxGridCustomOverlayComponent,
4849
IgxGridEmptyRowEditTemplateComponent,
50+
IgxGridCustomRowEditTemplateComponent,
4951
VirtualGridComponent
5052
],
5153
imports: [
@@ -2127,6 +2129,32 @@ describe('IgxGrid - Row Editing #grid', () => {
21272129
cell = grid.getCellByColumn(0, 'ProductName');
21282130
expect(cell.editMode).toBe(true);
21292131
}));
2132+
2133+
it('should allow setting custom templates via Input.', () => {
2134+
const fix = TestBed.createComponent(IgxGridCustomRowEditTemplateComponent);
2135+
fix.detectChanges();
2136+
const grid = fix.componentInstance.grid;
2137+
2138+
grid.rowAddTextTemplate = fix.componentInstance.addText;
2139+
grid.rowEditTextTemplate = fix.componentInstance.editText;
2140+
grid.rowEditActionsTemplate = fix.componentInstance.editActions;
2141+
fix.detectChanges();
2142+
2143+
// enter edit mode
2144+
const cellElem = grid.gridAPI.get_cell_by_index(0, 'ProductName');
2145+
UIInteractions.simulateDoubleClickAndSelectEvent(cellElem);
2146+
fix.detectChanges();
2147+
2148+
expect(GridFunctions.getRowEditingBannerText(fix)).toBe('CUSTOM EDIT TEXT');
2149+
const bannerRow = GridFunctions.getRowEditingBannerRow(fix);
2150+
expect(bannerRow.textContent.trim()).toBe('CUSTOM EDIT ACTIONS');
2151+
2152+
grid.endEdit();
2153+
2154+
grid.beginAddRowByIndex(0);
2155+
fix.detectChanges();
2156+
expect(GridFunctions.getRowEditingBannerText(fix)).toBe('CUSTOM ADD TEXT');
2157+
});
21302158
});
21312159

21322160
describe('Transaction', () => {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,15 +252,15 @@
252252
<div class="igx-banner__message">
253253
<span class="igx-banner__text">
254254
<ng-container
255-
*ngTemplateOutlet="this.crudService.row?.getClassName() === 'IgxAddRow' ? rowAddText : rowEditText ? rowEditText : defaultRowEditText;
255+
*ngTemplateOutlet="this.crudService.row?.getClassName() === 'IgxAddRow' ? rowAddTextTemplate : rowEditTextTemplate ? rowEditTextTemplate : defaultRowEditText;
256256
context: { $implicit: this.crudService.row?.getClassName() !== 'IgxAddRow' ? rowChangesCount : null }">
257257
</ng-container>
258258
</span>
259259
</div>
260260
<div class="igx-banner__actions">
261261
<div class="igx-banner__row">
262262
<ng-container
263-
*ngTemplateOutlet="rowEditActions ? rowEditActions : defaultRowEditActions; context: { $implicit: this.endEdit.bind(this) }">
263+
*ngTemplateOutlet="rowEditActionsTemplate ? rowEditActionsTemplate : defaultRowEditActions; context: { $implicit: this.endEdit.bind(this) }">
264264
</ng-container>
265265
</div>
266266
</div>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@
203203
<div class="igx-banner__message">
204204
<span class="igx-banner__text">
205205
<ng-container
206-
*ngTemplateOutlet="this.crudService.row?.getClassName() === 'IgxAddRow' ? rowAddText : resolveRowEditText || defaultRowEditText;
206+
*ngTemplateOutlet="this.crudService.row?.getClassName() === 'IgxAddRow' ? rowAddTextTemplate : resolveRowEditText || defaultRowEditText;
207207
context: { $implicit: this.crudService.row?.getClassName() !== 'IgxAddRow' ? rowChangesCount : null }">
208208
</ng-container>
209209
</span>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,14 +536,14 @@ export class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirecti
536536
* @hidden
537537
*/
538538
public get resolveRowEditActions() {
539-
return this.parentIsland ? this.parentIsland.rowEditActions : this.rowEditActions;
539+
return this.parentIsland ? this.parentIsland.rowEditActionsTemplate : this.rowEditActionsTemplate;
540540
}
541541

542542
/**
543543
* @hidden
544544
*/
545545
public get resolveRowEditText() {
546-
return this.parentIsland ? this.parentIsland.rowEditText : this.rowEditText;
546+
return this.parentIsland ? this.parentIsland.rowEditTextTemplate : this.rowEditTextTemplate;
547547
}
548548

549549
/** @hidden */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,15 +193,15 @@
193193
<div class="igx-banner__message">
194194
<span class="igx-banner__text">
195195
<ng-container
196-
*ngTemplateOutlet="this.crudService.row?.getClassName() === 'IgxAddRow' ? rowAddText : rowEditText ? rowEditText : defaultRowEditText;
196+
*ngTemplateOutlet="this.crudService.row?.getClassName() === 'IgxAddRow' ? rowAddTextTemplate : rowEditTextTemplate ? rowEditTextTemplate : defaultRowEditText;
197197
context: { $implicit: this.crudService.row?.getClassName() !== 'IgxAddRow' ? rowChangesCount : null }">
198198
</ng-container>
199199
</span>
200200
</div>
201201
<div class="igx-banner__actions">
202202
<div class="igx-banner__row">
203203
<ng-container
204-
*ngTemplateOutlet="rowEditActions ? rowEditActions : defaultRowEditActions; context: { $implicit: this.endEdit.bind(this) }">
204+
*ngTemplateOutlet="rowEditActionsTemplate ? rowEditActionsTemplate : defaultRowEditActions; context: { $implicit: this.endEdit.bind(this) }">
205205
</ng-container>
206206
</div>
207207
</div>

projects/igniteui-angular/src/lib/test-utils/grid-samples.spec.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1770,6 +1770,38 @@ export class IgxGridEmptyRowEditTemplateComponent extends BasicGridComponent {
17701770
public data = SampleTestData.foodProductData();
17711771
}
17721772

1773+
1774+
@Component({
1775+
template: `
1776+
<igx-grid #grid [data]="data" [primaryKey]="'ProductID'" width="700px" height="400px" [rowEditable]="true">
1777+
<igx-column field="ProductID" header="Product ID"></igx-column>
1778+
<igx-column field="ReorderLevel" header="Reorder Lever" [dataType]="'number'" [editable]="true" width="100px"></igx-column>
1779+
<igx-column field="ProductName" header="Product Name" [dataType]="'string'" width="150px"></igx-column>
1780+
<igx-column field="OrderDate" header="Order Date" [dataType]="'date'" width="150px" [editable]="false"></igx-column>
1781+
</igx-grid>
1782+
<ng-template #editActions igxRowEditActions>
1783+
CUSTOM EDIT ACTIONS
1784+
</ng-template>
1785+
<ng-template #addText igxRowAddText>
1786+
CUSTOM ADD TEXT
1787+
</ng-template>
1788+
<ng-template #editText igxRowEditText>
1789+
CUSTOM EDIT TEXT
1790+
</ng-template>
1791+
`
1792+
})
1793+
export class IgxGridCustomRowEditTemplateComponent extends BasicGridComponent {
1794+
public data = SampleTestData.foodProductData();
1795+
@ViewChild('editActions', {read: TemplateRef })
1796+
public editActions: TemplateRef<any>;
1797+
1798+
@ViewChild('addText', {read: TemplateRef })
1799+
public addText: TemplateRef<any>;
1800+
1801+
@ViewChild('editText', {read: TemplateRef })
1802+
public editText: TemplateRef<any>;
1803+
}
1804+
17731805
@Component({
17741806
template: `
17751807
<igx-grid #grid [data]="data" [batchEditing]="true" [primaryKey]="'ProductID'" width="900px" height="900px" [rowEditable]="true" >

0 commit comments

Comments
 (0)