Skip to content

Commit ad9fe42

Browse files
authored
Merge branch '8.2.x' into nalipiev/polyfill-8.2.x
2 parents c99b00a + dccc990 commit ad9fe42

File tree

19 files changed

+306
-32
lines changed

19 files changed

+306
-32
lines changed

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
# Ignite UI for Angular Change Log
22

33
All notable changes for each version of this project will be documented in this file.
4+
## 8.2.8
5+
### New Features
6+
- `IgxRowDragGhost` directive is added. It allows providing a custom template for the drag ghost when dragging a row.
7+
```html
8+
<igx-grid #grid1 [data]="remote | async" primaryKey="ProductID"
9+
[rowDraggable]="true">
10+
<igx-column field="ProductName"></igx-column>
11+
<igx-column field="ProductID"></igx-column>
12+
<igx-column field="UnitsInStock"></igx-column>
13+
<ng-template let-data igxRowDragGhost>
14+
<div>
15+
Moving {{data.ProductName}}!
16+
</div>
17+
</ng-template>
18+
</igx-grid>
19+
```
20+
421
## 8.2.6
522
### New Features
623
- `IgxSelectItem`

projects/igniteui-angular/migrations/update-8_2_6/index.spec.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ describe('Update 8.2.6', () => {
6767
it('should update igx-grid-paginator-theme', done => {
6868
appTree.create(
6969
'/testSrc/appPrefix/component/test.component.scss',
70-
`$dark-grid-paginator: igx-grid-paginator-theme($color: black);
70+
`@import '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-component';
71+
@import '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-theme';
72+
$dark-grid-paginator: igx-grid-paginator-theme($color: black);
7173
@include igx-grid-paginator($dark-grid-paginator);
7274
.igx-grid-paginator__pager {
7375
@include igx-button($dark-button);
@@ -77,7 +79,9 @@ describe('Update 8.2.6', () => {
7779
const tree = schematicRunner.runSchematic('migration-12', {}, appTree);
7880
expect(tree.readContent('/testSrc/appPrefix/component/test.component.scss'))
7981
.toEqual(
80-
`$dark-grid-paginator: igx-paginator-theme($color: black);
82+
`@import '~igniteui-angular/lib/core/styles/components/paginator/paginator-component';
83+
@import '~igniteui-angular/lib/core/styles/components/paginator/paginator-theme';
84+
$dark-grid-paginator: igx-paginator-theme($color: black);
8185
@include igx-paginator($dark-grid-paginator);
8286
.igx-grid-paginator__pager {
8387
@include igx-button($dark-button);

projects/igniteui-angular/migrations/update-8_2_6/index.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,17 @@ export default function(): Rule {
2929
'$_square-shape-pagination'];
3030

3131
let globalStyleExt: string;
32+
const gridPaginatorComponentImport = '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-component';
33+
const gridPaginatorThemeImport = '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-theme';
34+
const paginatorComponentImport = '~igniteui-angular/lib/core/styles/components/paginator/paginator-component';
35+
const paginatorThemeImport = '~igniteui-angular/lib/core/styles/components/paginator/paginator-theme';
3236
const config = getWorkspace(host);
3337
const projects = getProjects(config);
3438

3539
context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`);
3640

41+
const update = new UpdateChanges(__dirname, host, context);
42+
3743
if (config.schematics && config.schematics['@schematics/angular:component']) {
3844
// updated projects have global prefix rather than per-project:
3945
globalStyleExt = config.schematics['@schematics/angular:component'].styleext;
@@ -56,12 +62,19 @@ export default function(): Rule {
5662
content = content.split(n).join(newThemes[i]);
5763
}
5864
});
65+
if (content.indexOf(gridPaginatorComponentImport) !== -1) {
66+
content = content.replace(gridPaginatorComponentImport, paginatorComponentImport);
67+
host.overwrite(path, content);
68+
}
69+
if (content.indexOf(gridPaginatorThemeImport) !== -1) {
70+
content = content.replace(gridPaginatorThemeImport, paginatorThemeImport);
71+
host.overwrite(path, content);
72+
}
5973
host.overwrite(path, content);
6074
}
6175
});
6276
}
6377

64-
const update = new UpdateChanges(__dirname, host, context);
6578
update.applyChanges();
6679
};
6780
}

projects/igniteui-angular/src/lib/core/styles/components/progress/_progress-component.scss

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@
115115

116116
@include e(text, $m: hidden) {
117117
@extend %circular-text !optional;
118-
@extend %circular-text--hidden !optional;
119118
}
120119

121120
@include m(indeterminate) {
@@ -124,9 +123,5 @@
124123
@include e(outer) {
125124
@extend %circular-outer--indeterminate !optional;
126125
}
127-
128-
@include e(text) {
129-
@extend %circular-text--hidden !optional;
130-
}
131126
}
132127
}

projects/igniteui-angular/src/lib/core/styles/components/progress/_progress-theme.scss

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,10 +311,6 @@
311311
fill: --var($theme, 'text-color');
312312
}
313313

314-
%circular-text--hidden {
315-
visibility: hidden;
316-
}
317-
318314
@include keyframes('indeterminate-accordion') {
319315
from {
320316
stroke-dashoffset: 578;

projects/igniteui-angular/src/lib/core/styles/components/switch/_switch-theme.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@
173173
), map-get($theme, variant));
174174

175175
$switch-off-offset: map-get((
176-
material: 1px,
176+
material: -1px,
177177
fluent: $switch-thumb-width / 3
178178
), map-get($theme, variant));
179179

@@ -275,11 +275,11 @@
275275
transition: $input-transition;
276276

277277
@include if-ltr() {
278-
transform: translateX(-#{rem($switch-off-offset)});
278+
transform: translateX(#{rem($switch-off-offset)});
279279
}
280280

281281
@include if-rtl() {
282-
transform: translateX(#{rem($switch-off-offset)});
282+
transform: translateX(#{rem(-1 * $switch-off-offset)});
283283
}
284284

285285
&:hover {

projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ export class IgxDragLocation {
151151
})
152152
export class IgxDragDirective implements AfterContentInit, OnDestroy {
153153

154+
protected ghostContext: any = null;
155+
154156
/**
155157
* - Save data inside the `igxDrag` directive. This can be set when instancing `igxDrag` on an element.
156158
* ```html
@@ -1099,7 +1101,7 @@ export class IgxDragDirective implements AfterContentInit, OnDestroy {
10991101

11001102
let dynamicGhostRef;
11011103
if (this.ghostTemplate) {
1102-
dynamicGhostRef = this.viewContainer.createEmbeddedView(this.ghostTemplate);
1104+
dynamicGhostRef = this.viewContainer.createEmbeddedView(this.ghostTemplate, this.ghostContext);
11031105
this.ghostElement = dynamicGhostRef.rootNodes[0];
11041106
} else {
11051107
this.ghostElement = node ? node.cloneNode(true) : this.element.nativeElement.cloneNode(true);

projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,7 @@ export class IgxForOfDirective<T> implements OnInit, OnChanges, DoCheck, OnDestr
746746
const diffs = [];
747747
let totalDiff = 0;
748748
const l = this._embeddedViews.length;
749+
this._embeddedViews.filter(view => !view.destroyed).forEach(view => view.detectChanges());
749750
const rNodes = this._embeddedViews.map(view => view.rootNodes.find(node => node.nodeType === Node.ELEMENT_NODE));
750751
for (let i = 0; i < l; i++) {
751752
const rNode = rNodes[i];

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ import { DeprecateProperty } from '../core/deprecateDecorators';
103103
import { IFilteringStrategy } from '../data-operations/filtering-strategy';
104104
import { IgxRowExpandedIndicatorDirective, IgxRowCollapsedIndicatorDirective,
105105
IgxHeaderExpandIndicatorDirective, IgxHeaderCollapseIndicatorDirective } from './grid/grid.directives';
106+
import { IgxRowDragGhostDirective } from './row-drag.directive';
106107
import { GridKeydownTargetType, GridSelectionMode, GridSummaryPosition, GridSummaryCalculationMode, FilterMode } from './common/enums';
107108

108109
const MINIMUM_COLUMN_WIDTH = 136;
@@ -1937,6 +1938,13 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
19371938
@ContentChildren(IgxRowSelectorDirective, { read: IgxRowSelectorDirective, descendants: false })
19381939
public rowSelectorsTemplates: QueryList<IgxRowSelectorDirective>;
19391940

1941+
/**
1942+
* @hidden
1943+
* @internal
1944+
*/
1945+
@ContentChildren(IgxRowDragGhostDirective, { read: TemplateRef, descendants: false })
1946+
public dragGhostCustomTemplates: QueryList<TemplateRef<any>>;
1947+
19401948
/**
19411949
* @hidden
19421950
*/
@@ -3183,6 +3191,18 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
31833191
}
31843192
}
31853193

3194+
/**
3195+
* @hidden
3196+
* @internal
3197+
*/
3198+
public getDragGhostCustomTemplate() {
3199+
if (this.dragGhostCustomTemplates && this.dragGhostCustomTemplates.first) {
3200+
return this.dragGhostCustomTemplates.first;
3201+
}
3202+
3203+
return null;
3204+
}
3205+
31863206
/**
31873207
* @hidden
31883208
*/

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="igx-grid__row-indentation igx-grid__row-indentation--level-{{grid.groupingExpressions.length}}"></div>
33
</ng-container>
44
<ng-container *ngIf="rowDraggable">
5-
<div [class]="resolveDragIndicatorClasses" [igxRowDrag]="this" (click)="$event.stopPropagation()">
5+
<div [class]="resolveDragIndicatorClasses" [igxRowDrag]="this" (click)="$event.stopPropagation()" [ghostTemplate]="this.grid.getDragGhostCustomTemplate()">
66
<ng-container *ngTemplateOutlet="this.grid.dragIndicatorIconTemplate ? this.grid.dragIndicatorIconTemplate : this.grid.dragIndicatorIconBase"></ng-container>
77
</div>
88
</ng-container>

0 commit comments

Comments
 (0)