Skip to content

Commit fbcfeea

Browse files
committed
Merge branch 'master' of https://github.com/IgniteUI/igniteui-angular into ddincheva/monthPicker
2 parents 4870b87 + 243a0d5 commit fbcfeea

File tree

13 files changed

+358
-216
lines changed

13 files changed

+358
-216
lines changed

ROADMAP.md

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,38 @@
22

33
# Current Milestone
44

5+
## Milestone 13 (Due by October, 2020)
6+
7+
1. Move PositionSettings to OverlaySettings [#7807](https://github.com/IgniteUI/igniteui-angular/issues/7807)
8+
2. Native add row [#5946](https://github.com/IgniteUI/igniteui-angular/issues/5946)
9+
3. Accept ISO 8601 Date-only string as input for IgxDateTimeEditorDirective [#6994](https://github.com/IgniteUI/igniteui-angular/issues/6994)
10+
4. Enhance hGrid multi-cell selection behavior [#5714](https://github.com/IgniteUI/igniteui-angular/issues/5714)
11+
5. Calendar ARIA [#6272](https://github.com/IgniteUI/igniteui-angular/issues/6272)
12+
6. Grid Accessibility Issues [#6341](https://github.com/IgniteUI/igniteui-angular/issues/6341)
13+
7. Implement cellEditExit and rowEditExit event [#7931](https://github.com/IgniteUI/igniteui-angular/issues/7931)
14+
8. Calendar keyboard navigation accessibility [#6275](https://github.com/IgniteUI/igniteui-angular/issues/6275)
15+
9. Column Moving using API [#6334](https://github.com/IgniteUI/igniteui-angular/issues/6334)
16+
10. Expose an event that indicates that the Grid is fully loaded [#7924](https://github.com/IgniteUI/igniteui-angular/issues/7924)
17+
11. View week numbers in datepicker and calendar [#6172](https://github.com/IgniteUI/igniteui-angular/issues/6172)
18+
12. Expose the functionality of private getRowData via a public method [#7930](https://github.com/IgniteUI/igniteui-angular/issues/7930)
19+
13. Expose templates for all ESF UI parts [#7221](https://github.com/IgniteUI/igniteui-angular/issues/7221)
20+
14. [igx-tab] [igx-nav-drawer] Add animations option [#7157](https://github.com/IgniteUI/igniteui-angular/issues/7157)
21+
15. Choose label -text for igxTimePicker [#6905](https://github.com/IgniteUI/igniteui-angular/issues/6905)
22+
16. Implement factory functions for creating OverlaySettings [#7941](https://github.com/IgniteUI/igniteui-angular/issues/7941)
23+
17. igx-grid: Set grouped column width in percentage [#4155](https://github.com/IgniteUI/igniteui-angular/issues/4155)
24+
18. IgxGrid: Excel Style Filter "Apply" on "Enter" [#5812](https://github.com/IgniteUI/igniteui-angular/issues/5812)
25+
19. Grid export visualization [#7738](https://github.com/IgniteUI/igniteui-angular/issues/7738)
26+
20. Allow setting of the name of the worksheet in exported workbook in IgxExcelExporter [#7396](https://github.com/IgniteUI/igniteui-angular/issues/7396)
27+
21. Enhance behavior of the Select All checkbox in Excel Style Filtering [#6617](https://github.com/IgniteUI/igniteui-angular/issues/6617)
28+
22. Igx-grid: Select all rows in a group [#7344](https://github.com/IgniteUI/igniteui-angular/issues/7344)
29+
30+
## Going down the road
31+
32+
1. Tile Manager
33+
2. Visual Cell merging
34+
3. RTL Support across Ignite UI for Angular components
35+
# Previous Milestones
36+
537
## Milestone 12 (Due by August 17th, 2020)
638

739
1. **[DONE]** igx-grid improve IGridEditEventArgs [#4965](https://github.com/IgniteUI/igniteui-angular/issues/4965)
@@ -16,27 +48,19 @@
1648
10. **[DONE]** igx-grid - pre-select rows [#6653](https://github.com/IgniteUI/igniteui-angular/issues/6653)
1749
11. **[DONE]** Average and Sum are shown on the Ship country level [#7334](https://github.com/IgniteUI/igniteui-angular/issues/7334)
1850
12. **[DONE]** Dock Manager Better Default Themes [#7578](https://github.com/IgniteUI/igniteui-angular/issues/7578)
19-
13. Expose templates for all ESF UI parts [#7221](https://github.com/IgniteUI/igniteui-angular/issues/7221)
51+
13. **[DONE]** Expose templates for all ESF UI parts [#7221](https://github.com/IgniteUI/igniteui-angular/issues/7221)
2052
14. **[DONE]** Calendar events when user changes month/year [#7039](https://github.com/IgniteUI/igniteui-angular/issues/7039)
21-
15. igxGrid default column display templates per-type [#7224](https://github.com/IgniteUI/igniteui-angular/issues/7224)
22-
16. Provide "Unfreeze All" option under Freeze button on Data Grid & Tree Grid
53+
15. **[DONE]** igxGrid default column display templates per-type [#7224](https://github.com/IgniteUI/igniteui-angular/issues/7224)
54+
16. **[DONE]** Provide "Unfreeze All" option under Freeze button on Data Grid & Tree Grid
2355
To Be Updated [#6549](https://github.com/IgniteUI/igniteui-angular/issues/6549)
24-
17. Exposing onActiveNodeChange output in the Grid [#7601](https://github.com/IgniteUI/igniteui-angular/issues/7601)
56+
17. **[DONE]** Exposing onActiveNodeChange output in the Grid [#7601](https://github.com/IgniteUI/igniteui-angular/issues/7601)
2557
18. **[DONE]** Refactor commit method of IgxHierarchicalTransactionService to accept same parameters as base type [#5205](https://github.com/IgniteUI/igniteui-angular/issues/5205)
2658
19. **[DONE]** Tooltip for grid cell text content [#6215](https://github.com/IgniteUI/igniteui-angular/issues/6215)
2759
20. **[DONE]** Add tooltip to column summary [#6505](https://github.com/IgniteUI/igniteui-angular/issues/6505)
2860
21. **[DONE]** IgxToast `show` should take a message param [#7156](https://github.com/IgniteUI/igniteui-angular/issues/7156)
2961
22. **[DONE]** IgxGridState working with IgxHierarchicalGrid [#7025](https://github.com/IgniteUI/igniteui-angular/issues/7025)
3062
23. **[DONE]** Sorting Indicator on all Grid components [#7493](https://github.com/IgniteUI/igniteui-angular/issues/7493)
3163

32-
33-
## Going down the road
34-
35-
1. Tile Manager
36-
2. Visual Cell merging
37-
3. RTL Support across Ignite UI for Angular components
38-
# Previous Milestones
39-
4064
## Milestone 11 (Released June 2nd, 2020)
4165

4266
1. **[DONE]** Dock Manger - Public Preview [#5980](https://github.com/IgniteUI/igniteui-angular/issues/5980)

projects/igniteui-angular/src/lib/chips/chip.component.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
<div #chipArea class="igx-chip__item"
2-
[attr.tabIndex]="tabIndex"
3-
(keydown)="onChipKeyDown($event)"
42
[igxDrag]="{chip: this}"
53
[style.visibility]='hideBaseElement ? "hidden" : "visible"'
64
[ghostClass]="ghostClass"

projects/igniteui-angular/src/lib/chips/chip.component.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
EventEmitter,
55
ElementRef,
66
HostBinding,
7+
HostListener,
78
Input,
89
Output,
910
ViewChild,
@@ -97,6 +98,7 @@ export class IgxChipComponent extends DisplayDensityBase {
9798
* <igx-chip [id]="'igx-chip-1'" [tabIndex]="1"></igx-chip>
9899
* ```
99100
*/
101+
@HostBinding('attr.tabIndex')
100102
@Input()
101103
public set tabIndex(value: number) {
102104
this._tabIndex = value;
@@ -372,13 +374,6 @@ export class IgxChipComponent extends DisplayDensityBase {
372374
@Output()
373375
public onDragEnter = new EventEmitter<IChipEnterDragAreaEventArgs>();
374376

375-
/**
376-
* @hidden
377-
* @internal
378-
*/
379-
@HostBinding('attr.tabIndex')
380-
public hostTabIndex = null;
381-
382377
/**
383378
* @hidden
384379
* @internal
@@ -562,6 +557,15 @@ export class IgxChipComponent extends DisplayDensityBase {
562557
}
563558
}
564559

560+
/**
561+
* @hidden
562+
* @internal
563+
*/
564+
@HostListener('keydown', ['$event'])
565+
public keyEvent(event: KeyboardEvent) {
566+
this.onChipKeyDown(event);
567+
}
568+
565569
/**
566570
* @hidden
567571
* @internal

projects/igniteui-angular/src/lib/chips/chip.spec.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -230,31 +230,26 @@ describe('IgxChip', () => {
230230

231231
it('should apply correct tabIndex to the chip area only when tabIndex is set as property of the chip and chip is disabled', () => {
232232
const firstTabChip = fix.debugElement.queryAll(By.directive(IgxChipComponent))[4];
233-
expect(firstTabChip.nativeElement.getAttribute('tabindex')).toBeFalsy();
234-
expect(firstTabChip.componentInstance.chipArea.nativeElement.getAttribute('tabindex')).toEqual('1');
233+
expect(firstTabChip.nativeElement.getAttribute('tabindex')).toEqual('1');
235234

236235
// Chip is disabled, but attribute tabindex has bigger priority.
237236
const secondTabChip = fix.debugElement.queryAll(By.directive(IgxChipComponent))[5];
238-
expect(secondTabChip.nativeElement.getAttribute('tabindex')).toBeFalsy();
239-
expect(secondTabChip.componentInstance.chipArea.nativeElement.getAttribute('tabindex')).toEqual('2');
237+
expect(secondTabChip.nativeElement.getAttribute('tabindex')).toEqual('2');
240238
});
241239

242240
it('should apply correct tab indexes when tabIndex and removeTabIndex are set as inputs', () => {
243241
const thirdTabChip = fix.debugElement.queryAll(By.directive(IgxChipComponent))[6];
244242
const deleteBtn = ControlsFunction.getChipRemoveButton(thirdTabChip.componentInstance.chipArea.nativeElement);
245-
expect(thirdTabChip.nativeElement.getAttribute('tabindex')).toBeFalsy();
246-
expect(thirdTabChip.componentInstance.chipArea.nativeElement.getAttribute('tabindex')).toEqual('3');
243+
expect(thirdTabChip.nativeElement.getAttribute('tabindex')).toEqual('3');
247244
expect(deleteBtn.getAttribute('tabindex')).toEqual('3');
248245

249246
// tabIndex attribute has higher priority than tabIndex.
250247
const fourthTabChip = fix.debugElement.queryAll(By.directive(IgxChipComponent))[7];
251-
expect(fourthTabChip.nativeElement.getAttribute('tabindex')).toBeFalsy();
252-
expect(fourthTabChip.componentInstance.chipArea.nativeElement.getAttribute('tabindex')).toEqual('1');
248+
expect(fourthTabChip.nativeElement.getAttribute('tabindex')).toEqual('1');
253249

254250
// tabIndex attribute has higher priority than tabIndex input and chip being disabled.
255251
const fifthTabChip = fix.debugElement.queryAll(By.directive(IgxChipComponent))[8];
256-
expect(fifthTabChip.nativeElement.getAttribute('tabindex')).toBeFalsy();
257-
expect(fifthTabChip.componentInstance.chipArea.nativeElement.getAttribute('tabindex')).toEqual('1');
252+
expect(fifthTabChip.nativeElement.getAttribute('tabindex')).toEqual('1');
258253
});
259254
});
260255

projects/igniteui-angular/src/lib/chips/chips-area.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,18 +242,18 @@ export class IgxChipsAreaComponent implements DoCheck, AfterViewInit, OnDestroy
242242
orderChanged = this.positionChipAtIndex(dragChipIndex, dragChipIndex - 1, false, event.originalEvent);
243243
if (orderChanged) {
244244
setTimeout(() => {
245-
this.chipsList.toArray()[dragChipIndex - 1].chipArea.nativeElement.focus();
245+
this.chipsList.toArray()[dragChipIndex - 1].elementRef.nativeElement.focus();
246246
});
247247
}
248248
} else if (event.originalEvent.key === 'ArrowRight' || event.originalEvent.key === 'Right') {
249249
orderChanged = this.positionChipAtIndex(dragChipIndex, dragChipIndex + 1, true, event.originalEvent);
250250
}
251251
} else {
252252
if ((event.originalEvent.key === 'ArrowLeft' || event.originalEvent.key === 'Left') && dragChipIndex > 0) {
253-
chipsArray[dragChipIndex - 1].chipArea.nativeElement.focus();
253+
chipsArray[dragChipIndex - 1].elementRef.nativeElement.focus();
254254
} else if ((event.originalEvent.key === 'ArrowRight' || event.originalEvent.key === 'Right') &&
255255
dragChipIndex < chipsArray.length - 1) {
256-
chipsArray[dragChipIndex + 1].chipArea.nativeElement.focus();
256+
chipsArray[dragChipIndex + 1].elementRef.nativeElement.focus();
257257
}
258258
}
259259
}

projects/igniteui-angular/src/lib/chips/chips-area.spec.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,11 @@ describe('IgxChipsArea ', () => {
206206
const firstChipComp = fix.componentInstance.chips.toArray()[0];
207207
const secondChipComp = fix.componentInstance.chips.toArray()[1];
208208

209-
firstChipComp.chipArea.nativeElement.focus();
210-
expect(document.activeElement).toBe(firstChipComp.chipArea.nativeElement);
209+
firstChipComp.elementRef.nativeElement.focus();
210+
expect(document.activeElement).toBe(firstChipComp.elementRef.nativeElement);
211211

212-
secondChipComp.chipArea.nativeElement.focus();
213-
expect(document.activeElement).toBe(secondChipComp.chipArea.nativeElement);
212+
secondChipComp.elementRef.nativeElement.focus();
213+
expect(document.activeElement).toBe(secondChipComp.elementRef.nativeElement);
214214
});
215215

216216
it('should focus on previous and next chips after arrows are pressed', () => {
@@ -220,22 +220,22 @@ describe('IgxChipsArea ', () => {
220220
const firstChipComp = fix.componentInstance.chips.toArray()[0];
221221
const secondChipComp = fix.componentInstance.chips.toArray()[1];
222222

223-
firstChipComp.chipArea.nativeElement.focus();
223+
firstChipComp.elementRef.nativeElement.focus();
224224
fix.detectChanges();
225225

226-
expect(document.activeElement).toBe(firstChipComp.chipArea.nativeElement);
226+
expect(document.activeElement).toBe(firstChipComp.elementRef.nativeElement);
227227

228228
const rightKey = new KeyboardEvent('keydown', { 'key': 'ArrowRight' });
229229
firstChipComp.onChipKeyDown(rightKey);
230230
fix.detectChanges();
231231

232-
expect(document.activeElement).toBe(secondChipComp.chipArea.nativeElement);
232+
expect(document.activeElement).toBe(secondChipComp.elementRef.nativeElement);
233233

234234
const leftKey = new KeyboardEvent('keydown', { 'key': 'ArrowLeft' });
235235
secondChipComp.onChipKeyDown(leftKey);
236236
fix.detectChanges();
237237

238-
expect(document.activeElement).toBe(firstChipComp.chipArea.nativeElement);
238+
expect(document.activeElement).toBe(firstChipComp.elementRef.nativeElement);
239239
});
240240

241241
it('should fire onSelection event', () => {
@@ -432,8 +432,8 @@ describe('IgxChipsArea ', () => {
432432

433433
it('should reorder chips when shift + leftarrow and shift + rightarrow is pressed', () => {
434434
const chipComponents = fix.debugElement.queryAll(By.directive(IgxChipComponent));
435-
const firstChipAreaElem = chipComponents[0].componentInstance.chipArea.nativeElement;
436-
const secondChipAreaElem = chipComponents[1].componentInstance.chipArea.nativeElement;
435+
const firstChipAreaElem = chipComponents[0].componentInstance.elementRef.nativeElement;
436+
const secondChipAreaElem = chipComponents[1].componentInstance.elementRef.nativeElement;
437437
const firstChipLeft = firstChipAreaElem.getBoundingClientRect().left;
438438
const secondChipLeft = secondChipAreaElem.getBoundingClientRect().left;
439439

@@ -459,7 +459,7 @@ describe('IgxChipsArea ', () => {
459459
chipArea = fix.componentInstance.chipsArea;
460460
const chipComponents = fix.debugElement.queryAll(By.directive(IgxChipComponent));
461461
const targetChip = chipComponents[2].componentInstance;
462-
const targetChipElem = targetChip.chipArea.nativeElement;
462+
const targetChipElem = targetChip.elementRef.nativeElement;
463463

464464
targetChipElem.focus();
465465
fix.detectChanges();

projects/igniteui-angular/src/lib/core/styles/components/calendar/_calendar-theme.scss

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -628,8 +628,7 @@
628628
display: flex;
629629
justify-content: center;
630630
align-items: center;
631-
flex-grow: 1;
632-
flex-basis: 14.28%;
631+
min-width: 14.28%;
633632
color: --var($theme, 'content-text-color');
634633
cursor: pointer;
635634
outline: none;
@@ -660,8 +659,8 @@
660659
justify-content: center;
661660
align-items: center;
662661
width: $cal-value-w;
662+
min-width: $cal-value-w;
663663
height: $cal-value-h;
664-
min-width: 2ch;
665664
border-radius: --var($theme, 'date-border-radius');
666665
z-index: 0;
667666
// transition: background .15s ease-out;
@@ -686,7 +685,7 @@
686685
}
687686

688687
border-radius: 0;
689-
flex-basis: 14.28%;
688+
min-width: 14.28%;
690689
// 100 divided by the number of weekdays
691690

692691
@if $bootstrap-theme {

projects/igniteui-angular/src/lib/core/styles/components/chip/_chip-component.scss

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,10 @@
1818

1919
@include e(item) {
2020
@extend %igx-chip__item !optional;
21-
22-
&:hover {
23-
@extend %igx-chip__item--hover !optional;
24-
}
25-
26-
&:focus {
27-
@extend %igx-chip__item--focus !optional;
28-
}
2921
}
3022

3123
@include e(item, $m: 'selected') {
3224
@extend %igx-chip__item--selected !optional;
33-
34-
&:hover {
35-
@extend %igx-chip__item--hover-selected !optional;
36-
}
37-
38-
&:focus {
39-
@extend %igx-chip__item--focus-selected !optional;
40-
}
4125
}
4226

4327
@include e(content) {

projects/igniteui-angular/src/lib/core/styles/components/chip/_chip-theme.scss

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,24 @@
317317

318318
&:focus {
319319
outline-style: none;
320+
321+
%igx-chip__item {
322+
@extend %igx-chip__item--focus;
323+
}
324+
325+
%igx-chip__item--selected {
326+
@extend %igx-chip__item--focus-selected;
327+
}
328+
}
329+
330+
&:hover {
331+
%igx-chip__item {
332+
@extend %igx-chip__item--hover;
333+
}
334+
335+
%igx-chip__item--selected {
336+
@extend %igx-chip__item--hover-selected;
337+
}
320338
}
321339

322340
// We target the tag selector directly to

projects/igniteui-angular/src/lib/core/styles/components/date-picker/_date-picker-theme.scss

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

5353
%cal-value {
5454
color: --var($theme, 'content-text-color');
55-
flex-basis: 14.28%;
55+
min-width: 14.28%;
5656

5757
@if $bootstrap-theme {
5858
&:hover,

0 commit comments

Comments
 (0)