6.2.0
6.2.0
-
Updated typography following the Material guidelines. Type system is now also optional and can be applied via class to the desired containers. #2112
- Breaking change: Applications using Ignite UI for Angular now require the
igx-typography
class to be applied on wrapping element, like the body element for instance.
- Breaking change: Applications using Ignite UI for Angular now require the
-
Display density can be specified by using the injection token
DisplayDensityToken
and providing a value (comfortable, cosy or compact) on an application or a component level.Setting display density on a component level:
@Component({ ... providers: [{ provide: DisplayDensityToken, useValue: { displayDensity: DisplayDensity.compact} }] })
-
igx-input-group
- The
igx-input-group
control's display density can be explicitly set by using thedisplayDensity
input.
<igx-input-group [displayDensity]="'cosy'"> ... </igx-input-group>
- The
-
igx-drop-down
:- Added a new boolean argument
cancel
to theonSelection
ISelectionEventArgs
. Its default value is false, in case it is set to true, the drop down selection is invalidated.
- Added a new boolean argument
-
igxIcon
:- Breaking change
glyphName
property is removed fromIgxIconComponent
. ForMaterial
icons the icon name should be explicitly defined between the opening and closing tags.Font Awesome
icons should use thename
property now. - Added support for custom SVG icons. Register the SVG icons with the
IgxIconService
and useIgxIconComponent
'sname
andfontSet
properties to visualize the icon.
- Breaking change
-
Transaction Provider -
TransactionService
is an injectable middleware that a component can use to accumulate changes without affecting the underlying data. The provider exposes API to access, manipulate changes (undo and redo) and discard or commit all to the data.
For more detailed information, see the README. -
igxTreeGrid
:- New
IgxTreeGridComponent
added. - The
igxTreeGrid
is used to display and manipulate hierarchical data with consistent schema, formatted as a table and provides a line of advanced features such as sorting, filtering, editing, column pinning, column moving, column hiding, paging and others. - The
igxTreeGrid
provides two ways of defining the relations among our data objects - by using a child collection for every data object or by using primary and foreign keys for every data object. - For more details on using the
igxTreeGrid
, take a look at the official documentation.
- New
-
igxGrid
:-
Breaking change
onGroupingDone
- The array ofISortingExpression
can now be accessed through theexpressions
event property. Two new properties have been added to the event arguments -groupedColumns
andungroupedColumns
. They provide references to arrays ofIgxColumnComponent
that hold the columns which have changed their state because of the last grouping/ungrouping operation. -
Breaking change
onEditDone
event is renamed toonCellEdit
and new cell editing events are introduced:onCellEditEnter
andonCellEditCancel
. When row editing is enabled, the corresponding events are emitted by the grid -onRowEditEnter
,onRowEdit
,onRowEditCancel
. All these events have arguments that are using theIGridEditEventArgs
interface. -
Row editing - allows modification of several cells in the row, before submitting, at once, all those changes to the grid's data source. Leverages the pending changes functionality of the new transaction provider.
<igx-grid [data]="data" [rowEditable]="true"> <igx-column field="ProductName"></igx-column> <igx-column field="ReleaseDate"></igx-column> </igx-grid>
-
Batch editing - an injectable transaction provider accumulates pending changes, which are not directly applied to the grid's data source. Those can later be inspected, manipulated and submitted at once. Changes are collected for individual cells or rows, depending on editing mode, and accumulated per data row/record.
@Component({ providers: [{ provide: IgxGridTransaction, useClass: IgxTransactionService }], selector: "app-grid-with-transactions", template: "<ng-content></ng-content>" }) export class GridWithTransactionsComponent { }
-
A new boolean
hideGroupedColumns
input controls whether the grouped columns should be hidden as well (defaults to false). -
Breaking change
cellClasses
input onIgxColumnComponent
now accepts an object literal to allow conditional cell styling. -
Exposing a mechanism for cells to grow according to their content.
-
sortStrategy
input exposed to provide custom sort strategy for theIgxColumnComponent
. The custom strategy should implement theISortingStrategy
interface, or can extend the baseSortingStrategy
class and override all or some of its public/protected members. -
New quick filtering functionality is implemented. Filtering icon is removed from column header and a filtering row is introduced in the grid's header.
-
-
igxFor
- Added support for variable heights.
-
igx-datePicker
selector is deprecated. Useigx-date-picker
selector instead. -
igxOverlay
:OverlaySettings
now also accepts an optionaloutlet
to specify the container where the overlay should be attached.- when
show
andhide
methods are calledonAnimation
event fires. In the arguments of this event there is a reference to theanimationPlayer
,animationType
(eitheropen
orclose
) and to the overlay id. - if you call
show
/hide
methods of overlay, while opening/closing animation is still ongoing, the animation will stop and respective open/close animation will start.
-
igxToggleAction
newoutlet
input controls the target overlay element should be attached. Provides a shortcut foroverlaySettings.outlet
. -
IgxOverlayOutlet
directive introduced to mark an element as anigxOverlay
outlet container. ReadMe -
igxButtonGroup
- Added the ability to define buttons directly in the template
-
igx-time-picker
:igxTimePickerTemplate
- new directive which should be applied on the child<ng-template>
element whenIgxTimePickerComponent
's input group is retemplated.
-
igx-datePicker
:igxDatePickerTemplate
- new directive which should be applied on the child<ng-template>
element whenIgxDatePickerComponent
's input group is retemplated.- Introduced
disabledDates
. This property is exposed from theigx-calendar
component. - Introduced
specialDates
. This property is exposed from theigx-calendar
component. - Introduced
deselectDate
method added that deselects the calendar date.
-
IgxTextHighlightDirective
: Thehighlight
method now has a new optional parameter calledexactMatch
(defaults to false).- If its value is false, all occurrences of the search text will be highlighted in the group's value.
- If its value is true, the entire group's value should equals the search text in order to be highlighted (caseSensitive argument is respected as well).
-
IgxGrid
: ThefindNext
andfindPrev
methods now have a new optional parameter calledexactMatch
(defaults to false).- If its value is false, all occurrences of the search text will be highlighted in the grid's cells.
- If its value is true, the entire value of each cell should equals the search text in order to be highlighted (caseSensitive argument is respected as well).
-
IgxChip
- Introduced event argument types to all
EventEmitter
@Output
s. - Breaking change
onSelection
's EventEmitter interface propertynextStatus
is renamed toselected
. - Breaking change Move the location of where the chip
suffix
is positioned. Now it is between the content and theremove button
making the button last element if visible by default. - Breaking change Remove the chip
connector
rendered when using theigxConnector
directive that is also removed. - Breaking change The chip theme has been rewritten. Most theme input properties have been renamed for consistency
and better legibility. New properties have been added. Please, refer to the updated igx-chip-theme documentation to see all updates. - Exposed original event that is responsible for triggering any of the events. If triggered by the API it is by default
null
. - Added
data
input for storing any data related to the chip itself. - Added
select icon
with show/hide animation to indicate when a chip is being selected with ability to customize it while retaining the chip Material Design styling. - Added
selectIcon
input to set custom template for theselect icon
. - Update chip styling to match Material Design guidelines.
- Rework of the chip content styling so now by default text inside is styled to match the chip Material Design styling.
- Rework of the
remove button
rendered and now has the ability to customize its icon while retaining the chip Material Design. - Added
removeIcon
input so a custom template cane be set for the remove button icon.
- Introduced event argument types to all
-
IgxChipArea
- Introduced event argument types to all
EventEmitter
@Output
s. - Exposed original event that is responsible for triggering any of the events. If triggered by the API it is by default
null
.
- Introduced event argument types to all
-
IgxCombo
- Added the following directives for
TemplateRef
assignment for combo templates (item, footer, etc.):- Added
IgxComboItemDirective
. Use[igxComboItem]
in markup to assing a TemplateRef tocombo.itemTemplate
. - Added
IgxComboHeaderDirective
. Use[igxComboHeader]
in markup to assing a TemplateRef tocombo.headerTemplate
. - Added
IgxComboFooterDirective
. Use[igxComboFooter]
in markup to assing a TemplateRef tocombo.footerTemplate
. - Added
IgxComboEmptyDirective
. Use[igxComboEmpty]
in markup to assing a TemplateRef tocombo.emptyTemplate
. - Added
IgxComboAddItemirective
. Use[igxComboAddItem]
in markup to assing a TemplateRef tocombo.addItemTemplate
. - Added
IgxComboHeaderItemDirective
. Use[igxComboHeaderItem]
in markup to assing a TemplateRef tocombo.headerItemTemplate
.
- Added
- Breaking change Assigning templates with the following template ref variables is now deprecated in favor of the new directives:
#itemTemplate
,#headerTemplate
,#footerTemplate
,#emptyTemplate
,#addItemTemplate
,#headerItemTemplate
. - Breaking change
height
property is removed. In the futureIgxInputGroup
will expose an option that allows custom sizing and thenIgxCombo
will use the same functionality for proper styling and better consistency.
- Added the following directives for
-
IgxDropDown
- Breaking change
allowItemsFocus
default value is changed tofalse
. - Added
value
input toIgxDropDownItemComponent
definition. The property allows data to be bound to a drop-down item so it can more easily be retrieved (e.g. on selection)
- Breaking change
-
igx-calendar
:- Introduced
disabledDates
property which allows a user to disable dates based on various rules: before or after a date, weekends, workdays, specific dates and ranges. The disabled dates cannot be selected and have a distinguishable style. - Introduced
specialDates
property which allows a user to mark dates as special. They can be set by using various rules. Their style is distinguishable. - Introduced
deselectDate
method added that deselects date(s) (based on the selection type)
- Introduced
-
igxExpansionPanel
:- component added.
igxExpansionPanel
provides a way to display more information after expanding an item, respectively show less after collapsing it. For more detailed information see the official documentation.
- component added.
-
IgxList
:- the control now supports ng-templates which are shown "under" a list item when it is left or right panned. The templates are distinguished using the
igxListItemLeftPanning
andigxListItemRightPanning
directives set on the templates. - the IgxList's
onLeftPan
andonRightPan
events now have an argument of typeIListItemPanningEventArgs
(instead ofIgxListItemComponent
). The event argument has the following fields:- item of type
IgxListItemComponent
- direction of type
IgxListPanState
- keepItem of type
boolean
- item of type
- the control now supports ng-templates which are shown "under" a list item when it is left or right panned. The templates are distinguished using the
-
igxTooltip
andigxTooltipTarget
directives:- Added
IgxTooltipDirective
.- An element that uses the
igxTooltip
directive is used as a tooltip for a specific target (anchor). - Extends
IgxToggleDirective
. - Exported with the name tooltip.
- An element that uses the
- Added
IgxTooltipTargetDirective
.- An element that uses the
igxTooltipTarget
directive is used as a target (anchor) for a specific tooltip. - Extends
IgxToggleActionDirective
. - Exported with the name tooltipTarget.
- An element that uses the
- Both new directives are used in combination to set a tooltip to an element. For more detailed information, see the README.
- Added
-
igxToggle
:- Introduced reposition method which allows a user to force toggle to reposition according its position strategy.
-
IgxDrag
andIgxDrop
directives available.IgxDrag
allows any kind of element to be moved/dragged around the page without changing its position in the DOM. Supports Desktop/Mixed/Touch environments.IgxDrop
allows any element to act as a drop area where anyigxDrag
element can be dragged into and dropped. Includes default logic that moves the dropped element from its original position to a child of theigxDrop
element.- Combined they provide a way to move elements around the page by dragging them. For more detail see the README.
-
IgxGrid
keyboard navigation
When you focus a specific cell and press one of the following key combinations, the described behaviour is now performed:Ctrl + Arrow Key Up
- navigates to the first cell in the current column;Ctrl + Arrow Down
- navigates to the last cell in the current column;Home
- provide the same behavior as Ctrl + Arrow Left - navigates to the first cell from the current row;End
- provide the same behavior as Ctrl + Arrow Right - navigates to the last cell from the current row;Ctrl + Home
- navigates to the first cell in the grid;Ctrl + End
- navigates to the last cell in the grid;Tab
- sequentially move the focus over the next cell on the row and if the last cell is reached move to next row. If next row is group row the whole row is focused, if it is data row, move focus over the first cell;Shift + Tab
- sequentially move focus to the previous cell on the row, if the first cell is reached move the focus to the previous row. If previous row is group row focus the whole row or if it is data row, focus the last cell of the row;Space
over Cell - if the row is selectable, on keydown space triggers row selectionArrow Left
over GroupRow - collapse the group row content if the row is not already collapsed;Arrow Right
over GroupRow - expand the group row content if the row is not already expanded;- on mouse
wheel
the focused element is blurred; - Breaking change
space
handler for the group row has been removed; soSpace
does not toggle the group row; - Breaking change cell selection is preserved when the focus is moved to group row.
- Introduced
onFocusChange
event. The event is cancelable and output argument from typeIFocusChangeEventArgs
; - For more detailed information see the official keyboard navigation specification.