Skip to content

Commit 470a5b1

Browse files
authored
Merge branch 'master' into mvenkov/update-toggle-event-emitters
2 parents ec86406 + e7410aa commit 470a5b1

14 files changed

+151
-8
lines changed

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,11 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
173173
private _cdrRequests = false;
174174
protected _cdrRequestRepaint = false;
175175

176+
/**
177+
* @hidden @internal
178+
*/
179+
public snackbarDisplayTime = 2000;
180+
176181
/**
177182
* @hidden @internal
178183
*/
@@ -4062,6 +4067,10 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
40624067
this.endEdit(true);
40634068
this.cancelAddMode = false;
40644069

4070+
if (this.expansionStates.get(rowID)) {
4071+
this.collapseRow(rowID);
4072+
}
4073+
40654074
this.addRowParent = {
40664075
rowID: rowID,
40674076
index: index,

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@
1212
[containerClass]="'igx-grid__td-text'"
1313
[metadata]="searchMetadata">{{ formatter ? (value | columnFormatter:formatter) : column.dataType === 'number' ? (value | igxdecimal:grid.locale) : column.dataType === 'date' ? (value | igxdate: grid.locale) : value }}</div>
1414
</ng-template>
15+
<ng-template #addRowCell let-cell="cell">
16+
<div igxTextHighlight class="igx-grid__td-text" style="pointer-events: none"
17+
[cssClass]="highlightClass"
18+
[activeCssClass]="activeHighlightClass"
19+
[groupName]="gridID"
20+
[value]="formatter ? (value | columnFormatter:formatter) : column.dataType === 'number' ? (value | igxdecimal: grid.locale) : column.dataType === 'date' ? (value | igxdate: grid.locale) : value"
21+
[row]="rowData"
22+
[column]="this.column.field"
23+
[containerClass]="'igx-grid__td-text'"
24+
[metadata]="searchMetadata">{{
25+
value ? value : (column.header || column.field)
26+
}}</div>
27+
</ng-template>
1528
<ng-template #inlineEditor let-cell="cell">
1629
<ng-container *ngIf="column.dataType === 'string'">
1730
<igx-input-group displayDensity="compact">

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@
131131
[ngStyle]="col.cellStyles | igxCellStyles:rowData[col.field]:rowData:col.field:viewIndex:grid.pipeTrigger"
132132
[expanded]="expanded"
133133
[editMode]="col.editable && crudService.isInEditMode(index, col.index)"
134+
[addMode]="col.editable && crudService.isInAddMode(index,col.index)"
134135
[column]="col"
135136
[formatter]="col.formatter"
136137
[row]="this"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@
232232
<div class="igx-grid__scroll-end" [style.float]='"right"' [style.width.px]='pinnedWidth' [style.min-width.px]='pinnedWidth' [hidden]="pinnedWidth === 0 || isPinningToStart"></div>
233233
</div>
234234
<div class="igx-grid__addrow-snackbar">
235-
<igx-snackbar #addRowSnackbar [actionText]="snackbarActionText" displayTime='2000'>{{snackbarLabel}}</igx-snackbar>
235+
<igx-snackbar #addRowSnackbar [actionText]="snackbarActionText" [displayTime]='snackbarDisplayTime'>{{snackbarLabel}}</igx-snackbar>
236236
</div>
237237

238238
<div class="igx-grid__footer" #footer>

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,8 @@
119119
| gridSort:sortingExpressions:sortStrategy:id:pipeTrigger
120120
| gridHierarchicalPaging:page:perPage:id:pipeTrigger
121121
| gridHierarchical:expansionStates:id:primaryKey:childLayoutKeys:pipeTrigger
122-
| gridRowPinning:id:false:pipeTrigger"
122+
| gridRowPinning:id:false:pipeTrigger
123+
| gridAddRow:pipeTrigger"
123124
[igxForScrollOrientation]="'vertical'" [igxForScrollContainer]='verticalScroll'
124125
[igxForContainerSize]='calcHeight' [igxForItemSize]="renderedRowHeight" [igxForTrackBy]='trackChanges'
125126
#verticalScrollContainer (onChunkPreload)="dataLoading($event)">
@@ -130,8 +131,8 @@
130131
</ng-template>
131132
<!-- <ng-container *igxTemplateOutlet="(isHierarchicalRecord(rowData) ? hierarchical_record_template : (isChildGridRecord(rowData) && isExpanded(rowData) ? child_record_template : hierarchical_record_template)); context: getContext(rowData)"></ng-container> -->
132133
</ng-template>
133-
<ng-template #hierarchical_record_template let-rowIndex="index" let-disabledRow="disabled" let-rowData>
134-
<igx-hierarchical-grid-row [gridID]="id" [index]="rowIndex" [disabled]="disabledRow" [rowData]="rowData" #row>
134+
<ng-template #hierarchical_record_template let-rowIndex="index" let-disabledRow="disabled" let-rowData let-isAddRow="addRow">
135+
<igx-hierarchical-grid-row [gridID]="id" [index]="rowIndex" [disabled]="disabledRow" [rowData]="rowData" [addRow]="isAddRow" #row>
135136
</igx-hierarchical-grid-row>
136137
</ng-template>
137138

@@ -190,6 +191,10 @@
190191
<div class="igx-grid__scroll-end" [style.float]='"right"' [style.width.px]='pinnedWidth' [style.min-width.px]='pinnedWidth' [hidden]="pinnedWidth === 0 || isPinningToStart"></div>
191192
</div>
192193

194+
<div class="igx-grid__addrow-snackbar">
195+
<igx-snackbar #addRowSnackbar [actionText]="snackbarActionText" [displayTime]='snackbarDisplayTime'>{{snackbarLabel}}</igx-snackbar>
196+
</div>
197+
193198
<div class="igx-grid__footer" #footer>
194199
<ng-content select="igx-grid-footer"></ng-content>
195200
<ng-container *ngIf="paging && totalRecords">
@@ -242,7 +247,7 @@
242247
<button igxButton igxRowEditTabStop (click)="endRowEdit(true, $event)">Done</button>
243248
</ng-template>
244249
<ng-template #defaultRowEditTemplate>
245-
<div class="igx-banner__message">
250+
<div class="igx-banner__message" *ngIf="!this.crudService.row?.isAddRow">
246251
<span class="igx-banner__text">
247252
<ng-container
248253
*ngTemplateOutlet="rowEditText ? rowEditText : defaultRowEditText; context: { $implicit: rowChangesCount }">

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,10 +548,11 @@ export class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirecti
548548
}
549549
} else {
550550
return {
551-
$implicit: this.isGhostRecord(rowData) ? rowData.recordRef : rowData,
551+
$implicit: this.isGhostRecord(rowData) || this.isAddRowRecord(rowData) ? rowData.recordRef : rowData,
552552
templateID: 'dataRow',
553553
index: this.getDataViewIndex(rowIndex, pinned),
554-
disabled: this.isGhostRecord(rowData)
554+
disabled: this.isGhostRecord(rowData),
555+
addRow: this.isAddRowRecord(rowData) ? rowData.addRow : false
555556
};
556557
}
557558
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
[ngClass]="col.cellClasses | igxCellStyleClasses:rowData[col.field]:rowData:col.field:viewIndex:grid.pipeTrigger"
4848
[ngStyle]="col.cellStyles | igxCellStyles:rowData[col.field]:rowData:col.field:viewIndex:grid.pipeTrigger"
4949
[editMode]="col.editable && crudService.isInEditMode(index, col.index)"
50+
[addMode]="col.editable && crudService.isInAddMode(index,col.index)"
5051
[column]="col"
5152
[formatter]="col.formatter"
5253
[row]="this"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@
165165
</div>
166166

167167
<div class="igx-grid__addrow-snackbar">
168-
<igx-snackbar #addRowSnackbar [actionText]="snackbarActionText" displayTime='2000'>{{snackbarLabel}}</igx-snackbar>
168+
<igx-snackbar #addRowSnackbar [actionText]="snackbarActionText" [displayTime]='snackbarDisplayTime'>{{snackbarLabel}}</igx-snackbar>
169169
</div>
170170

171171
<div class="igx-grid__footer" #footer>

src/app/app.component.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,11 @@ export class AppComponent implements OnInit {
429429
icon: 'edit',
430430
name: 'Hierarchical Grid Updating'
431431
},
432+
{
433+
link: '/hierarchicalGridAddRow',
434+
icon: 'view_column',
435+
name: 'HierarchicalGrid Add Row'
436+
},
432437
{
433438
link: '/treeGrid',
434439
icon: 'view_column',

src/app/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ import { GridNestedPropsSampleComponent } from './grid-nested-props/grid-nested-
134134
import { GridColumnActionsSampleComponent } from './grid-column-actions/grid-column-actions.sample';
135135
import { IgxColumnGroupingDirective } from './grid-column-actions/custom-action-directive';
136136
import { GridAddRowSampleComponent } from './grid-add-row/grid-add-row.sample';
137+
import { HierarchicalGridAddRowSampleComponent } from './hierarchical-grid-add-row/hierarchical-grid-add-row.sample';
137138

138139
const components = [
139140
ActionStripSampleComponent,
@@ -194,6 +195,7 @@ const components = [
194195
GridCellEditingComponent,
195196
GridSampleComponent,
196197
GridAddRowSampleComponent,
198+
HierarchicalGridAddRowSampleComponent,
197199
TreeGridAddRowSampleComponent,
198200
GridColumnMovingSampleComponent,
199201
GridColumnSelectionSampleComponent,

0 commit comments

Comments
 (0)