All notable changes for each version of this project will be documented in this file.
- Added
rowSelectable
property toigxGrid
- Setting
rowSelectable
totrue
enables multiple row selection for theigx-grid
component. Adds a checkbox column that allows (de)selection of one, multiple or all (via header checkbox) rows. - For more information about the
rowSelectable
property and working with grid row, please read theigxGrid
's ReadMe about selection or see the official documentation
- Setting
- Added
onContextMenu
output toigxGrid
to emit the clicked cell. igxTextSelection
directive addedigxTextSelection
directive allows you to select the whole text range for every element with text content it is applied.
igxFocus
directive addedigxFocus
directive allows you to force focus for every element it is applied.
igx-time-picker
component addedigx-time-picker
allows user to select time, from a dialog with spinners, which is presented into input field.- For more information navigate to the ReadMe.
igx-tab-bar
changes- Breaking changes:
IgxTabBarComponent
is renamed toIgxBottomNavComponent
andIgxTabBarModule
is renamed toIgxBottomNavModule
. igx-tab-bar
selector is deprecated. Useigx-bottom-nav
selector instead.
- Breaking changes:
igx-tabs
component addedigx-tabs
allows users to switch between different views. Theigx-tabs
component places the tabs headers at the top and allows scrolling when there are multiple tab items outside the visible area. Tabs are ordered in a single row above their associated content.- For more information navigate to ReadMe.
- Added column pinning in the list of features available for
igxGrid
. Pinning is available though the API. Try the following:For more information, please head over toconst column = this.grid.getColumnByName(name); column.pin();
igxGrid
's ReadMe or the official documentation. - Added
summaries
feature toigxGrid
, enabled on a per-column level. Grid summaries gives you a predefined set of default summaries, depending on the type of data in the column. For more detailed information readigxGrid
's ReadMe or see the official documentation. - Added
columnWidth
option toigxGrid
. The option sets the default width that will be applied to columns that have no explicit width set. For more detailed information readigxGrid
's ReadMe - Added API to
igxGrid
that allows for vertical remote virtualization. For guidance on how to implement such in your application, please refer to the official documentation - Added smooth scrolling for the
igxForOf
directive making the scrolling experience both vertically and horizontally much more natural and similar to a native scroll. - Added
onCellClick
event. igxForOf
now requires that its parent container'soverflow
is set tohidden
andposition
torelative
. It is recommended that its height is set as well so that the display container of the virtualized content can be positioned with an offset inside without visually affecting other elements on the page.<div style='position: relative; height: 500px; overflow: hidden'> <ng-template igxFor let-item [igxForOf]="data" #virtDirVertical [igxForScrollOrientation]="'vertical'" [igxForContainerSize]='"500px"' [igxForItemSize]='"50px"' let-rowIndex="index"> <div style='height:50px;'>{{rowIndex}} : {{item.text}}</div> </ng-template> </div>
- Removed the
dirty
local template variable previously exposed by theigxFor
directive. - The
igxForRemote
input for theigxFor
directive is now deprecated. Setting the requiredtotalItemCount
property after receiving the first data chunk is enough to trigger the required functionality. - the
igx-icon
component can now work with both glyph and ligature-based icon font sets. We've also included a brand new Icon Service, which helps you create aliases for the icon fonts you've included in your project. The service also allows you to define the default icon set used throughout your app. - Added the option to conditionally disable the
igx-ripple
directive through theigxRippleDisabled
property. - Updated styling and interaction animations of the
igx-checkbox
,igx-switch
, andigx-radio
components. - Added
indeterminate
property and styling to theigx-checkbox
component. - Added
required
property to theigx-checkbox
,igx-radio
, andigx-switch
components. - Added
igx-ripple
effect to theigx-checkbox
,igx-switch
, andigx-radio
components. The effect can be disabled through thedisableRipple
property. - Added the ability to specify the label location in the
igx-checkbox
,igx-switch
, andigx-radio
components through thelabelPosition
property. It can either bebefore
orafter
. - You can now use any element as label on the
igx-checkbox
,igx-switch
, andigx-radio
components via the aria-labelledby property. - You can now have invisible label on the
igx-checkbox
,igx-switch
, andigx-radio
components via the aria-label property. - Added the ability to toggle the
igx-checkbox
andigx-switch
checked state programmatically viatoggle
method on the component instance. - Added the ability to select an
igx-radio
programmatically viaselect
method on the component instance. - Fixed a bug on the
igx-checkbox
andigx-radio
components where the click event was being triggered twice on click. - Fixed a bug where the
igx-checkbox
,igx-switch
, andigx-radio
change event was not being triggered on label click. igxМask
directive addedigxМask
provide means for controlling user input and formatting the visible value based on a configurable mask rules. For more detailed information seeigxMask README file
igxInputGroup
component added - used as a container for theigxLabel
,igxInput
,igxPrefix
,igxSuffix
andigxHint
directives.igxPrefix
directive added - used for input prefixes.igxSuffix
directive added - used for input suffixes.igxHint
directive added - used for input hints.igxInput
directive breaking changes:- the directive should be wrapped by
igxInputGroup
component IgxInputGroupModule
should be imported instead ofIgxInputModule
- the directive should be wrapped by
igxExcelExportService
andigxCSVExportService
added. They add export capabilities to theigxGrid
. For more information, please visit the igxExcelExportService specification and the igxCSVExportService specification.- General
- Added event argument types to all
EventEmitter
@Output
s. #798 #740 - Reviewed and added missing argument types to the following
EventEmitter
s- The
igxGrid
onEditDone
now exposes arguments of typeIGridEditEventArgs
. The arguments exposerow
andcell
objects where if the editing is performed on a cell, the editedcell
and therow
the cell belongs to are exposed. If row editing is performed, thecell
object is null. In addition thecurrentValue
andnewValue
arguments are exposed. If you assign a value to thenewValue
in your handler, then the editing will conclude with the value you've supplied. - The
igxGrid
onSelection
now correctly propagates the originalevent
in theIGridCellEventArgs
.
- The
- Added
jsZip
as a Peer Dependency.
- Added event argument types to all
primaryKey
attribute added toigxGrid
primaryKey
allows for a property name from the data source to be specified. If specified,primaryKey
can be used instead ofindex
to indentify grid rows from theigxGrid.rowList
. As such,primaryKey
can be used for selecting rows for the followingigxGrid
methods -deleteRow
,updateRow
,updateCell
,getCellByColumn
,getRowByKey
primaryKey
requires all of the data for the specified property name to have unique values in order to function as expected.- as it provides a unique identifier for each data member (and therefore row),
primaryKey
is best suited for addressing grid row entries. If DOM virtualization is in place for the grid data, the rowindex
property can be reused (for instance, when filtering/sorting the data), whereasprimaryKey
remains unique. Ideally, when a persistent reference to a row has to be established,primaryKey
should be used.
hammerjs
and@types/hammerjs
are removed frompeerDependencies
and were added asdependencies
. So if you are using Igniteui-Angular version 5.2.1 or above it is enough to runnpm install igniteui-angular
in your project for getting started. For more detailed information seeIgnite UI for Angular Getting Started
web-animations-js
is added as Peer Dependency.Theming
bug fixes and improvements.- Use the following command to generate
Ignite UI for Angular Themes
documentation -npm run build:docs
. Navigate todist/docs/sass
and openindex.html
file.
-
igxForOf
directive addedigxForOf
is now available as an alternative tongForOf
for templating large amounts of data. TheigxForOf
uses virtualization technology behind the scenes to optimize DOM rendering and memory consumption. Virtualization technology works similar to Paging by slicing the data into smaller chucks which are swapped from a container viewport while the user scrolls the data horizontally/vertically. The difference with the Paging is that virtualization mimics the natural behavior of the scrollbar.
-
igxToggle
andigxToggleAction
directives addedigxToggle
allows users to implement toggleable components/views (eg. dropdowns), whileigxToggleAction
can control theigxToggle
directive. Refer to the official documenation for more information.igxToggle
requiresBrowserAnimationsModule
to be imported in your application.
-
Ignite UI for Angular Theming
- comprehensive set of Sass functions and mixins will give the ability to easily style your entire application or only certain parts of it.- Previously bundled fonts, are now listed as external dependencies. You should supply both the Material Icons and Titillium Web fonts yourself by either hosting or using CDN.
-
igx-grid
changes- The component now uses the new
igxForOf
directive to virtualize its content both vertically and horizontally dramatically improving performance for applications displaying large amounts of data. - Data-bound Input property
filtering
changed tofilterable
:
<igx-grid [data]="data"> <igx-column [field]="'ReleaseDate'" [header]="'ReleaseDate'" [filterable]="true" dataType="date"> </igx-column> </igx-grid>
- @HostBinding
min-width
added toIgxGridCellComponent
andIgxGridHeaderCell
- The IgxGridCellComponent no longer has a value setter, but instead has an
update
modifier.
<ng-template igxCell let-cell="cell"> {{ cell.update("newValue") }} </ng-template>
- Class
IgxGridFiltering
renamed toIgxGridFilteringComponent
- The grid filtering UI dropdowns are now controlled by the
igxToggle
directive.- Make sure to import
BrowserAnimationsModule
inside your application module asigxToggle
uses animations for state transition.
- Make sure to import
state
input- filtering expressions and sortin expressions provided
- Removed
onCellSelection
andonRowSelection
event emitters,onSelection
added instead. - Removed
onBeforeProcess
event emitter. - Removed
onMovingDone
event emitter. - Removed methods
focusCell
andfocusRow
. - Renamed method
filderData
tofilter
. - New methods
filterGlobal
andclearFilter
. - New method
clearSort
. - Renamed method
sortColumn
tosort
. - New Input
sortingIgnoreCase
- Ignore capitalization of words.
- The component now uses the new
-
igx-navigation-drawer
changesNavigationDrawer
renamed toIgxNavigationDrawerComponent
NavigationDrawerModule
renamed toIgxNavigationDrawerModule
IgxNavigationDirectives
renamed toIgxNavigationModule
NavigationService
renamed toIgxNavigationService
NavigationToggle
renamed toIgxNavigationToggleDirective
NavigationClose
renamed toIgxNavigationCloseDirective
- Content selector
ig-drawer-content
replaced with<ng-template igxDrawer>
- Content selector
ig-drawer-mini-content
replaced with<ng-template igxDrawerMini>
- CSS class
ig-nav-drawer-overlay
renamed toigx-nav-drawer__overlay
- CSS class
ig-nav-drawer
renamed toigx-nav-drawer
-
igxInput
changes- CSS class
ig-form-group
toigx-form-group
- CSS class
-
igxBadge
changes- From now on, the Badge position is set by css class, which specifies an absolute position as well as top/bottom/left/right properties. The Badge position input should not be used.
-
igx-avatar
changes -
igx-calendar
changesformatViews
- Controls whether the date parts in the different calendar views should be formatted according to the providedlocale
andformatOptions
.templating
- The igxCalendar supports now templating of its header and subheader parts.vertical
input - Controls the layout of the calendar component. When vertical is set totrue
the calendar header will be rendered to the side of the calendar body.
-
igx-nav-bar
changes- Currently
isActionButtonVisible
resolves tofalse
if actionButtonIcon is not defined.
- Currently
-
igx-tab-bar
changes- custom content can be added for tabs
<igx-bottom-nav> <igx-tab-panel> <ng-template igxTab> <igx-avatar initials="T1"> </igx-avatar> </ng-template> <h1>Tab 1 Content</h1> </igx-tab-panel> </igx-bottom-nav>
-
igx-scroll
component deletedigx-scroll
component is not available anymore due newly implementedigxForOf
directive.
-
igxEmptyList
directive added The list no longer hasemptyListImage
,emptyListMessage
,emptyListButtonText
,emptyListButtonClick
andhasNoItemsTemplate
members. Instead of them, theigxEmptyListTemplateDirective
can be used for templating the list when it is empty (or use the default empty template).<igx-list> <ng-template igxEmptyList> <p>My custom empty list template</p> </ng-template> </igx-list>
onItemClicked
event emitter added<igx-list (onItemClicked)="itemClicked()"> <igx-list-item>Item 1</igx-list-item> <igx-list-item>Item 2</igx-list-item> <igx-list-item>Item 3</igx-list-item> </igx-list>
- Removed
emptyListImage
property fromIgxListComponent
. - Removed
emptyListMessage
property fromIgxListComponent
. - Removed
emptyListButtonText
property fromIgxListComponent
. - Removed
emptyListButtonClick
event emitter fromIgxListComponent
. - Removed
hasNoItemsTemplate
property fromIgxListComponent
. - Removed
options
property fromIgxListItemComponent
. - Removed
left
property fromIgxListItemComponent
. - Removed
href
property fromIgxListItemComponent
. - New
emptyListTemplate
input forIgxListComponent
. - New
onItemClicked
event emitter forIgxListComponent
. - New
role
property forIgxListComponent
. - New
innerStyle
property forIgxListComponent
. - New
role
property forIgxListItemComponent
. - New
element
property forIgxListItemComponent
. - New
list
property forIgxListItemComponent
. - New
headerStyle
property forIgxListItemComponent
. - New
innerStyle
property forIgxListItemComponent
.
-
Renaming and restructuring directives and components based on the General Angular Naming Guidelines:
IgxAvatar
renamed toIgxAvatarComponent
IgxBadge
renamed toIgxBadgeComponent
IgxButton
renamed toIgxButtonDirective
IgxButtonGroup
renamed toIgxButtonGroupComponent
IgxCardHeader
renamed toIgxCardHeaderDirective
IgxCardContent
renamed toIgxCardContentDirective
IgxCardActions
renamed toIgxCardActionsDirective
IgxCardFooter
renamed toIgxCardFooterDirective
IgxCarousel
renamed toIgxCarouselComponent
IgxInput
renamed toIgxInputModule
IgxInputClass
renamed toIgxInputDirective
IgxCheckbox
renamed toIgxCheckboxComponent
IgxLabel
renamed toIgxLabelDirective
IgxIcon
renamed toIgxIconComponent
IgxList
renamed toIgxListComponent
IgxListItem
renamed toIgxListItemComponent
IgxSlide
renamed toIgxSlideComponent
IgxDialog
renamed toIgxDialogComponent
IgxLayout
renamed toIgxLayoutModule
IgxNavbar
renamed toIgxNavbarComponent
IgxCircularProgressBar
renamed toIgxCircularProgressBarComponent
IgxLinearProgressBar
renamed toIgxLinearProgressBarComponent
IgxRadio
renamed toIgxRadioComponent
IgxSlider
renamed toIgxSliderComponent
IgxSnackbar
renamed toIgxSnackbarComponent
IgxSwitch
renamed toIgxSwitchComponent
IgxTabBar
renamed toIgxBottomNavComponent
IgxTabPanel
renamed toIgxTabPanelComponent
IgxTab
renamed toIgxTabComponent
IgxToast
renamed toIgxToastComponent
IgxLabelDirective
moved inside../directives/label/
folderIgxInputDirective
moved inside../directives/input/
folderIgxButtonDirective
moved inside../directives/button/
folderIgxLayoutDirective
moved inside../directives/layout/
folderIgxFilterDirective
moved inside../directives/filter/
folderIgxDraggableDirective
moved inside../directives/dragdrop/
folderIgxRippleDirective
moved inside../directives/ripple/
folder- Folder
"./navigation/nav-service"
renamed to"./navigation/nav.service"