Skip to content

Commit f1f38a1

Browse files
authored
Merge branch 'master' into SKrastev/drag-drop-refactor
2 parents cc3246f + 03daa14 commit f1f38a1

File tree

79 files changed

+1723
-903
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+1723
-903
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ All notable changes for each version of this project will be documented in this
1212
- You can use this mode to apply directives on the tab items - for example to achieve routing navigation.
1313
- You are allowed to customize tab items with labels, icons and even templates.
1414
- `IgxGrid`
15+
- **Behavioral Change** - paging now includes the group rows in the page size. You may find more information about the change in the [GroupBy Specification](https://github.com/IgniteUI/igniteui-angular/wiki/Group-By-Specification)
1516
- `IgxColumnGroup`
1617
- Re-templating the column group header is now possible using the `headerTemplate` input property or the `igxHeader` directive.
1718
- `igx-grid-footer`
@@ -25,8 +26,18 @@ All notable changes for each version of this project will be documented in this
2526
```
2627
- `igx-paginator`
2728
- Replaces the current paginator in all grids. Can be used as a standalone component.
29+
<br/>Have in mind that if you have set the `paginationTemplate`, you may have to modify your css to display the pagination correctly. The style should be something similar to:
30+
```
31+
.pagination-container {
32+
display: flex;
33+
justify-content: center;
34+
align-items: center;
35+
}
36+
```
2837
- `IgxCombo`
2938
- Input `[overlaySettings]` - allows an object of type `OverlaySettings` to be passed. These custom overlay settings control how the drop-down list displays.
39+
- `IgxForOf` now offers usage of local variables `even`, `odd`, `first` and `last` to help with the distinction of the currently iterated element.
40+
3041

3142
## 8.0.2
3243
- `igx-list-theme` now have some new parameters for styling.

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,7 @@ You can include Ignite UI for Angular in your project as a dependency using the
181181
`npm install igniteui-angular`
182182

183183
## Contributing
184-
[Coding Guidelines](../../wiki//Coding-guidelines-for-Ignite-UI-for-Angular)
185-
186-
[General Naming Guidelines](../../wiki//General-Naming-Guidelines-for-Ignite-UI-for-Angular)
184+
[General Naming and Coding Guidelines for Ignite UI for Angular](https://github.com/IgniteUI/igniteui-angular/wiki/General-Naming-and-Coding--Guidelines-for-Ignite-UI-for-Angular)
187185

188186
## Demo Apps & Documentation
189187
The [Warehouse Picklist App](https://github.com/IgniteUI/warehouse-js-blocks) demonstrates using several Ignite UI for Angular widgets together to build a modern, mobile app.

ROADMAP.md

Lines changed: 73 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,82 @@
22

33
# Current Milestone
44

5-
## Milestone 8 (Due by July, 2019)
5+
## Milestone 9 (Due by September, 2019)
6+
7+
1. IgxGrid Advanced Filtering [#5496](https://github.com/IgniteUI/igniteui-angular/issues/5496)
8+
2. IgxGrid row and cell selection modes [#4989](https://github.com/IgniteUI/igniteui-angular/issues/4989)
9+
3. Fluent Theme [#5335](https://github.com/IgniteUI/igniteui-angular/issues/5335)
10+
4. Drag and Drop enhancements [#5319](https://github.com/IgniteUI/igniteui-angular/issues/5319)
11+
12+
## Going down the road
13+
14+
1. Row-pinning
15+
2. Column Groups expand/collapse, with column grouping templates
16+
3. Visual Cell merging
17+
18+
# Previous Milestones
19+
20+
## Milestone 8 (Released July 22nd, 2019)
621

722
1. **[DONE]** Grid Multi-Row Layout keyboard nav [#4708](https://github.com/IgniteUI/igniteui-angular/issues/4708) Released in [8.0.0](https://github.com/IgniteUI/igniteui-angular/releases/tag/8.0.0), [7.3.4](https://github.com/IgniteUI/igniteui-angular/releases/tag/7.3.4)
823
2. **[DONE]** Angular 8 compatibility [#4908](https://github.com/IgniteUI/igniteui-angular/issues/4908) Released in [8.0.0](https://github.com/IgniteUI/igniteui-angular/releases/tag/8.0.0)
924
3. **[DONE]** Display density for Drop Downs [#2960](https://github.com/IgniteUI/igniteui-angular/issues/2960) Released in [8.0.1](https://github.com/IgniteUI/igniteui-angular/releases/tag/8.0.1), [7.3.4](https://github.com/IgniteUI/igniteui-angular/releases/tag/7.3.4), [7.2.12](https://github.com/IgniteUI/igniteui-angular/releases/tag/7.2.12)
10-
4. Slider custom labels #4594
11-
5. Copy data from the igxGrid #4907
12-
6. BottomNav and Tabs integration with router outlet container [#4297](https://github.com/IgniteUI/igniteui-angular/issues/4297)
25+
4. **[DONE]** Slider custom labels [#4594](https://github.com/IgniteUI/igniteui-angular/issues/4594)
26+
5. **[DONE]** Copy data from the igxGrid [#4907](https://github.com/IgniteUI/igniteui-angular/issues/4907)
27+
6. **[DONE]** BottomNav and Tabs integration with router outlet container [#4297](https://github.com/IgniteUI/igniteui-angular/issues/4297)
1328
7. **[DONE]** Date/Time pickers action buttons customization [#4647](https://github.com/IgniteUI/igniteui-angular/issues/4647) Released in [8.0.0](https://github.com/IgniteUI/igniteui-angular/releases/tag/8.0.0)
1429
8. **[DONE]** Square and oval presets in theming [#4964](https://github.com/IgniteUI/igniteui-angular/issues/4964) Released in [8.0.0](https://github.com/IgniteUI/igniteui-angular/releases/tag/8.0.0)
15-
9. Grid column group header templates [#3344](https://github.com/IgniteUI/igniteui-angular/issues/3344)
30+
9. **[DONE]** Grid column group header templates [#3344](https://github.com/IgniteUI/igniteui-angular/issues/3344)
1631

32+
## Milestone 7 (13.05.2019)
1733

18-
## Going down the road
34+
1. **[DONE]** Multi-cell Selection #3915
35+
2. **[DONE]** Grid Multi-Row Layout #4384
36+
3. **[DONE]** Grid Row Dragging #3993
37+
3. **[DONE]** List, button, button group display density support #4393 #4502 #4532
1938

20-
1. Advanced Filtering
21-
2. Row-pinning
22-
3. Column Groups expand/collapse, with column grouping templates
23-
4. Visual Cell merging
39+
## Milestone 6 (Due March 8th, 2019)
2440

41+
1. **[DONE]** Hierarchical Grid #827
42+
2. **[DROPPED]** igxGrid rendering strategies (like record-based rendering) #2384
43+
3. **[DONE]** Auto-complete (inline editable) #3585
44+
4. **[DONE]** Excel Style Filtering #3592
45+
5. **[DONE]** Inline date and time pickers (with drop down/toggle) #3034 #2337
46+
6. **[DONE]** igxSelect Component #3148
2547

26-
# Previous Milestones
48+
## Milestone 5 (14.12.2018)
2749

28-
## Milestone 1 (by January 15th, 2018)
50+
1. **[DONE]** TreeGrid summaries
51+
2. **[DONE]** Grid GroupBy summaries
52+
3. **[DONE]** Banner Component [issue](https://github.com/IgniteUI/igniteui-angular/issues/2672)
53+
4. **[DONE]** Toolbar Templatable and NavBar Templatable
54+
55+
## Milestone 4 (November 30th, 2018)
56+
57+
1. **[Done]** Tree Grid [issue](https://github.com/IgniteUI/igniteui-angular/issues/2530)
58+
2. **[Done]** Quick Per-column Search in the igxGrid [issue](https://github.com/IgniteUI/igniteui-angular/issues/542)
59+
3. **[Done]** Expandable Panel [issue](https://github.com/IgniteUI/igniteui-angular/issues/307)
60+
4. **[Done]** Conditional Cell Styling capability [issue](https://github.com/IgniteUI/igniteui-angular/issues/1079)
61+
5. **[Done]** igxTypography for theming
62+
6. **[Done]** Tooltip [issue](https://github.com/IgniteUI/igniteui-angular/issues/1710)
63+
7. **[Removed]** Vertical Tabs - material doesn't define vertical tabs
64+
8. **[Done]** Row Editing with transactions (Batch editing) [issue](https://github.com/IgniteUI/igniteui-angular/issues/566)
65+
9. **[Done]** Adding Disabled Dates and Special Dates options in igxCalander [issue](https://github.com/IgniteUI/igniteui-angular/issues/1980)
66+
10. **[Done]** Drag and Drop Directive
67+
68+
## Milestone 3 (by July 6th, 2018)
69+
70+
1. **[DONE]** Grouping
71+
2. **[DONE]** Grid Multi-column Headers [issue](https://github.com/IgniteUI/igniteui-angular/issues/488)
72+
3. **[DONE]** Combo
73+
4. **[DONE]** Column Hiding UI
74+
5. **[DONE]** Operations UI - column chooser
75+
6. **[DONE]** Advanced Filtering
76+
7. **[DONE]** Column Moving
77+
8. **[DONE]** Update to Angular 6
78+
9. **[DONE]** Design: Release Updated Design System (Sketch UI kits, UI patterns, screens, documentation)
79+
10. **[DONE]** Design: Data dense theme for data grid
2980

30-
1. **[DONE]** Row objects - 1st sprint (by November 20th, 2017) [issue](https://github.com/IgniteUI/igniteui-angular/issues/479)
31-
In order to implement virtualization in the Grid, we would need a row object to be abstracted.
32-
2. **[DONE]** Cell objects - 2nd sprint (by December 11th, 2017) [issue](https://github.com/IgniteUI/igniteui-angular/issues/480)
33-
3. **[DONE]** Grid Row virtualization - after row objects and virtualization are implemented
34-
4. **[DONE]** Grid Column virtualization - after row objects and column component refactoring are done
35-
This feature enables Grid columns to be virtualized. The feature splits records into parts, and only a certain part of the record is rendered.
36-
5. **[DONE]** Alternating row style [issue](https://github.com/IgniteUI/igniteui-angular/issues/489)
37-
6. **[DONE]** Ignite UI CLI integration [issue](https://github.com/IgniteUI/ignite-ui-cli/issues/53)
38-
Ignite UI CLI will also provide Ignite UI for Angular templates, views, and components integration. All features of the CLI will be accessible in the context of Ignite UI for Angular, as well as the full Ignite UI product suite.
39-
4081
## Milestone 2 (due April 25th, 2018)
4182

4283
1. **[DONE]** Expanding Ignite UI CLI views and templates with Ignite UI for Angular
@@ -57,52 +98,14 @@
5798
13. **[DONE]** Charting: Category Chart types Line (Area, Column, Point, StepLine, StepArea, Spline, SplineArea, Waterfall
5899
14. **[DONE]** Charting: Financial Chart types
59100

101+
## Milestone 1 (by January 15th, 2018)
60102

61-
## Milestone 3 (by July 6th, 2018)
62-
63-
1. **[DONE]** Grouping
64-
2. **[DONE]** Grid Multi-column Headers [issue](https://github.com/IgniteUI/igniteui-angular/issues/488)
65-
3. **[DONE]** Combo
66-
4. **[DONE]** Column Hiding UI
67-
5. **[DONE]** Operations UI - column chooser
68-
6. **[DONE]** Advanced Filtering
69-
7. **[DONE]** Column Moving
70-
8. **[DONE]** Update to Angular 6
71-
9. **[DONE]** Design: Release Updated Design System (Sketch UI kits, UI patterns, screens, documentation)
72-
10. **[DONE]** Design: Data dense theme for data grid
73-
74-
## Milestone 4 (November 30th, 2018)
75-
76-
1. **[Done]** Tree Grid [issue](https://github.com/IgniteUI/igniteui-angular/issues/2530)
77-
2. **[Done]** Quick Per-column Search in the igxGrid [issue](https://github.com/IgniteUI/igniteui-angular/issues/542)
78-
3. **[Done]** Expandable Panel [issue](https://github.com/IgniteUI/igniteui-angular/issues/307)
79-
4. **[Done]** Conditional Cell Styling capability [issue](https://github.com/IgniteUI/igniteui-angular/issues/1079)
80-
5. **[Done]** igxTypography for theming
81-
6. **[Done]** Tooltip [issue](https://github.com/IgniteUI/igniteui-angular/issues/1710)
82-
7. **[Removed]** Vertical Tabs - material doesn't define vertical tabs
83-
8. **[Done]** Row Editing with transactions (Batch editing) [issue](https://github.com/IgniteUI/igniteui-angular/issues/566)
84-
9. **[Done]** Adding Disabled Dates and Special Dates options in igxCalander [issue](https://github.com/IgniteUI/igniteui-angular/issues/1980)
85-
10. **[Done]** Drag and Drop Directive
86-
87-
## Milestone 5 (14.12.2018)
88-
89-
1. **[DONE]** TreeGrid summaries
90-
2. **[DONE]** Grid GroupBy summaries
91-
3. **[DONE]** Banner Component [issue](https://github.com/IgniteUI/igniteui-angular/issues/2672)
92-
4. **[DONE]** Toolbar Templatable and NavBar Templatable
93-
94-
## Milestone 6 (Due March 8th, 2019)
95-
96-
1. **[DONE]** Hierarchical Grid #827
97-
2. **[DROPPED]** igxGrid rendering strategies (like record-based rendering) #2384
98-
3. **[DONE]** Auto-complete (inline editable) #3585
99-
4. **[DONE]** Excel Style Filtering #3592
100-
5. **[DONE]** Inline date and time pickers (with drop down/toggle) #3034 #2337
101-
6. **[DONE]** igxSelect Component #3148
102-
103-
## Milestone 7 (13.05.2019)
104-
105-
1. **[DONE]** Multi-cell Selection #3915
106-
2. **[DONE]** Grid Multi-Row Layout #4384
107-
3. **[DONE]** Grid Row Dragging #3993
108-
3. **[DONE]** List, button, button group display density support #4393 #4502 #4532
103+
1. **[DONE]** Row objects - 1st sprint (by November 20th, 2017) [issue](https://github.com/IgniteUI/igniteui-angular/issues/479)
104+
In order to implement virtualization in the Grid, we would need a row object to be abstracted.
105+
2. **[DONE]** Cell objects - 2nd sprint (by December 11th, 2017) [issue](https://github.com/IgniteUI/igniteui-angular/issues/480)
106+
3. **[DONE]** Grid Row virtualization - after row objects and virtualization are implemented
107+
4. **[DONE]** Grid Column virtualization - after row objects and column component refactoring are done
108+
This feature enables Grid columns to be virtualized. The feature splits records into parts, and only a certain part of the record is rendered.
109+
5. **[DONE]** Alternating row style [issue](https://github.com/IgniteUI/igniteui-angular/issues/489)
110+
6. **[DONE]** Ignite UI CLI integration [issue](https://github.com/IgniteUI/ignite-ui-cli/issues/53)
111+
Ignite UI CLI will also provide Ignite UI for Angular templates, views, and components integration. All features of the CLI will be accessible in the context of Ignite UI for Angular, as well as the full Ignite UI product suite.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<ng-container *ngIf="!isHeader">
2-
<igx-checkbox [checked]="selected" disableRipple="true" [disableTransitions]="disableTransitions" disabled="true" class="igx-combo__checkbox"></igx-checkbox>
2+
<igx-checkbox [checked]="selected" disableRipple="true" [disableTransitions]="disableTransitions" [tabindex]="-1" (click)="disableCheck($event)" class="igx-combo__checkbox"></igx-checkbox>
33
</ng-container>
44
<ng-content></ng-content>

projects/igniteui-angular/src/lib/combo/combo-item.component.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,19 @@ export class IgxComboItemComponent extends IgxDropDownItemComponent implements D
9999
this.comboAPI.set_selected_item(this.itemID, event);
100100
}
101101

102+
/**
103+
* @hidden
104+
* @internal
105+
* The event that is prevented is the click on the checkbox label element.
106+
* That is the only visible element that a user can interact with.
107+
* The click propagates to the host and the preventDefault is to stop it from
108+
* switching focus to the input it's base on.
109+
* The toggle happens in an internal handler in the drop-down on the next task queue cycle.
110+
*/
111+
disableCheck(event: MouseEvent) {
112+
event.preventDefault();
113+
}
114+
102115
ngDoCheck() {
103116
}
104117
}

projects/igniteui-angular/src/lib/combo/combo.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
</ng-container>
7575
</div>
7676
<igx-combo-add-item [itemHeight]='itemHeight' *ngIf="isAddButtonVisible()" [tabindex]="dropdown.collapsed ? -1 : customValueFlag ? 1 : -1"
77-
class="igx-combo__add-item" igxRipple role="button" aria-label="Add Item" [index]="virtualScrollContainer.igxForOf.length">
77+
class="igx-combo__add-item" role="button" aria-label="Add Item" [index]="virtualScrollContainer.igxForOf.length">
7878
<ng-container *ngTemplateOutlet="addItemTemplate ? addItemTemplate : addItemDefault">
7979
</ng-container>
8080
</igx-combo-add-item>

projects/igniteui-angular/src/lib/combo/combo.component.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const CSS_CLASS_DROPDOWNBUTTON = 'igx-combo__toggle-button';
2929
const CSS_CLASS_CLEARBUTTON = 'igx-combo__clear-button';
3030
const CSS_CLASS_CHECK_GENERAL = 'igx-combo__checkbox';
3131
const CSS_CLASS_CHECKBOX = 'igx-checkbox';
32+
const CSS_CLASS_CHECKBOX_LABEL = 'igx-checkbox__composite';
3233
const CSS_CLASS_CHECKED = 'igx-checkbox--checked';
3334
const CSS_CLASS_TOGGLE = 'igx-toggle';
3435
const CSS_CLASS_SELECTED = 'igx-drop-down__item--selected';
@@ -950,7 +951,7 @@ describe('igxCombo', () => {
950951
}
951952
function clickItemCheckbox(dropdownElement: any, itemIndex: number) {
952953
const dropdownItems = dropdownElement.querySelectorAll('.' + CSS_CLASS_DROPDOWNLISTITEM);
953-
const checkbox = dropdownItems[itemIndex].querySelector('.' + CSS_CLASS_CHECKBOX) as HTMLElement;
954+
const checkbox = dropdownItems[itemIndex].querySelector('.' + CSS_CLASS_CHECKBOX_LABEL) as HTMLElement;
954955
checkbox.click();
955956
}
956957
function verifyItemIsSelected(

projects/igniteui-angular/src/lib/core/styles/base/utilities/_functions.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,12 +349,12 @@
349349
/// // }
350350
/// // otherwise, it will return the value for key 'icon-color' in the '$avatar-theme';
351351
/// @returns {String} - The value of the key in the passed map, or the name of key concatenated with the key name.
352-
@function --var($map, $key) {
352+
@function --var($map, $key, $fallback: '') {
353353
$igx-legacy-support: if(global-variable-exists('igx-legacy-support'), $igx-legacy-support, true);
354354

355355
@if map-has-key($map, $key) {
356356
@if $igx-legacy-support == false {
357-
@return unquote('var(--#{map-get($map, 'name')}-#{$key})');
357+
@return unquote('var(--#{map-get($map, 'name')}-#{$key}, #{$fallback})');
358358
} @else {
359359
@return map-get($map, $key);
360360
}

projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-theme.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
}
122122

123123
%cbx-composite-wrapper {
124+
position: relative;
124125
width: $size;
125126
height: $size;
126127
}

projects/igniteui-angular/src/lib/core/styles/components/grid-summary/_grid-summary-theme.scss

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
/// @param {Map} $schema [$light-schema] - The schema used as basis for styling the component.
1010
///
1111
/// @param {Color} $background-color [null] - The summaries background color is inherited form igx-grid__tfoot
12+
/// @param {Color} $focus-background-color [null] - The background color when a summary item is on focus.
1213
/// @param {Color} $label-color [null] - The summaries label color.
1314
/// @param {Color} $result-color [null] - The summaries value/result color.
1415
/// @param {Color} $border-color [null] - The summaries border color.
@@ -35,6 +36,7 @@
3536
$schema: $light-schema,
3637
3738
$background-color: null,
39+
$focus-background-color: null,
3840
$label-color: null,
3941
$result-color: null,
4042
$border-color: null,
@@ -62,6 +64,7 @@
6264
name: $name,
6365
palette: $palette,
6466
background-color: $background-color,
67+
focus-background-color: $focus-background-color,
6568
label-color: $label-color,
6669
result-color: $result-color,
6770
border-color: $border-color,
@@ -98,12 +101,27 @@
98101
);
99102

100103
%igx-grid-summary {
104+
position: relative;
101105
display: flex;
102106
flex-direction: column;
103107
flex: 1 1 0%;
104108
padding: map-get($summary-padding, 'comfortable');
105-
background: --var($theme, 'background-color');
109+
background: --var($theme, 'background-color', inherit);
106110
overflow: hidden;
111+
outline-style: none;
112+
113+
&::after {
114+
position: absolute;
115+
content: '';
116+
top: 0;
117+
bottom: 0;
118+
left: 0;
119+
right: 0;
120+
}
121+
122+
&:focus::after {
123+
background: --var($theme, 'focus-background-color');
124+
}
107125
}
108126

109127
%igx-grid-summary--cosy {

projects/igniteui-angular/src/lib/core/styles/components/icon/_icon-theme.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
width: inherit;
6262
height: inherit;
6363
fill: currentColor;
64+
65+
use {
66+
pointer-events: none;
67+
}
6468
}
6569
}
6670

0 commit comments

Comments
 (0)