Ignite UI for Angular Change Log
June 18, 2026 · View on GitHub
All notable changes for each version of this project will be documented in this file.
22.0.0
New Features
-
Theming
-
Added derived themes for the Grid and related internal components. When a parent component theme is included, its internal controls now derive their tokens from the parent theme colors, keeping nested buttons, icons, inputs, dropdowns, checkboxes, scrollbars, chips, and other helper components visually aligned.
-
The derived themes are introduces for the following components:
- Grid
- Excel Filtering
- Grid Toolbar
- Paginator
- Column Actions
- Query Builder and Advanced Filtering Dialog
-
The derived themes are applied through the existing component theme mixins, so no additional mixin call is required. To style the whole
IgxGrid, provide the$background,$foreground, and$accent-colorproperties togrid-theme()and include the generated theme withtokens(). The$foregroundproperty is optional; when omitted, it is derived automatically as a contrast color for the background. Internal components inherit derived tokens from the parent component theme.
You can also style each compound component inside the grid with its own theme by providing the same color properties. The generated tokens are scoped to that component and affect the nested controls inside it.
$grid-theme: grid-theme( $schema: $schema, $background: #ffffff, $foreground: #1f2937, $accent-color: #0061a8 ); $excel-filtering-theme: excel-filtering-theme( $schema: $schema, $background: #ff2323, $accent-color: #21fc9a ); $query-builder-theme: query-builder-theme( $schema: $schema, $background: #f235ff, $accent-color: #89a800 ); $grid-toolbar-theme: grid-toolbar-theme( ... ); $paginator-theme: paginator-theme( ... ); $column-actions-theme: column-actions-theme( ... ); igx-grid { @include tokens($grid-theme); } igx-grid-excel-style-filtering, .igx-excel-filter__secondary { @include tokens($excel-filtering-theme); } igx-advanced-filtering-dialog { @include tokens($query-builder-theme); } ...- Added a dedicated
excel-filtering-theme()for styling theExcel Style Filtering. Use it instead of the excel-filtering color properties fromgrid-theme().
-
21.2.0
New Features
-
IgxOverlayServiceIgxOverlayService.createAbsoluteOverlaySettings- Added a new overload acceptinguseContainerStrategy?: booleanas the second parameter. Whentrue, usesContainerPositionStrategy; otherwise defaults toGlobalPositionStrategy. The previous overload acceptingoutlet?: IgxOverlayOutletDirective | ElementRefis still supported but deprecated.
-
IgxSnackbarComponent,IgxToastComponent- Added a new
positioninginput property. When set tocontainer, the components is displayed inside its nearest positioned ancestor in place of the now deprecatedoutletproperty .
- Added a new
-
IgxCombo,IgxSimpleCombo- Introduced the
selectionChangedevent for both components. The event is not cancelable and is emitted after the selection is committed and the component state is updated. - Added
disableClearinput that allows hiding the clear button even when items are selected. Defaults tofalse.
- Introduced the
General
-
IgxOverlayService- Deprecation - The
outletproperty inOverlaySettings,IgxOverlayOutletDirective, andigxToggleOutletinput onIgxToggleActionDirectiveare deprecated and will be removed in a future version. As overlay service now integrates the HTML Popover API and prefers rendering content in place / in the top layer, significantly reducing the need for outlet containers, new code should rely on the default in-place / top-layer rendering behavior instead of custom outlet containers.
- Deprecation - The
-
AI-Assisted Development - Copilot Skill: Generate from Image Design
- Added a new
igniteui-angular-generate-from-image-designCopilot Skill that teaches AI coding assistants/agents (e.g., GitHub Copilot, Cursor, Windsurf, Claude, JetBrains AI, etc.) how to implement Angular application views directly from design images (screenshots, mockups, wireframes). - The skill provides a structured workflow covering image analysis, component discovery via MCP tools (
list_components,get_doc), theme generation (create_palette,create_theme,create_component_theme), layout implementation, and visual refinement (set_size,set_spacing,set_roundness). - Includes reference files:
- Component Mapping - Maps common UI patterns (dashboards, charts, forms, navigation, data display, gauges) to the most appropriate Ignite UI for Angular component with key properties and decision rules.
- Gotchas - Documents known pitfalls, component-specific constraints, and corrective patterns to help AI agents avoid common implementation mistakes.
- Added a new
-
AI-Assisted Development - Copilot Skills improvements
igniteui-angular-gridsskill - Added a newsizing.mdreference covering grid and column width/height inputs, percentage and auto sizing modes, column sizing (minWidth,maxWidth,*star-sizing, auto-fit), and cell spacing/density control.igniteui-angular-componentsskill - Corrected Financial Chart (IgxFinancialChartComponent) documentation: updatedchartTypeenum values toAuto,Candle,Line,Bar,Columnto match the actualFinancialChartTypeAPI.igniteui-angular-themingskill - Minor cleanup to remove stale internal contributing reference.
21.1.3
Security Fixes
- Bumped
jspdfdependency to4.2.1to address a security vulnerability present in earlier versions.
21.1.0
New Features
-
IgxPdfExporterService-
Added
customFontproperty toIgxPdfExporterOptionsfor Unicode character support in PDF exports. By default, the PDF exporter uses Helvetica, which only supports basic Latin characters. When exporting data containing non-Latin characters (Cyrillic, Chinese, Japanese, Arabic, Hebrew, special symbols, etc.), you can now provide a custom TrueType font (TTF) with the required character glyphs.import { IgxPdfExporterService, IgxPdfExporterOptions } from 'igniteui-angular/grids/core'; import { NOTO_SANS_REGULAR, NOTO_SANS_BOLD } from './fonts/noto-sans'; constructor(private pdfExporter: IgxPdfExporterService) {} exportWithUnicodeSupport() { const options = new IgxPdfExporterOptions('GridExport'); options.customFont = { name: 'NotoSans', data: NOTO_SANS_REGULAR, // Base64-encoded TTF font data bold: { name: 'NotoSans-Bold', data: NOTO_SANS_BOLD // Optional: Base64-encoded bold TTF font data } }; this.pdfExporter.export(this.grid, options); }Key features:
- Supports any TrueType font (TTF) provided as Base64-encoded data
- Optional bold font variant for header styling
- Automatic fallback to Helvetica if custom font loading fails
- Works with all grid types (IgxGrid, IgxTreeGrid, IgxHierarchicalGrid, IgxPivotGrid)
-
-
IgxTooltipTarget-
Added new properties:
showTriggers- Which event triggers will show the tooltip. Expects a comma-separated string of different event triggers. Defaults topointerenter.hideTriggers- Which event triggers will hide the tooltip. Expects a comma-separated string of different event triggers. Defaults topointerleaveandclick.
<igx-icon [igxTooltipTarget]="tooltipRef" [showTriggers]="'click,focus'" [hideTriggers]="'keypress,blur'">info</igx-icon> <span #tooltipRef="tooltip" igxTooltip>Hello there, I am a tooltip!</span>
-
-
IgxNavigationDrawer- Integrated HTML Popover API to place overlay elements when not pinned in the top layer, eliminating z-index stacking issues. -
IgxOverlayService- Integrated HTML Popover API into the overlay service for improved z-index management and layering control.
- The overlay service now uses the Popover API to place overlay elements in the top layer, eliminating z-index stacking issues.
- Improved positioning accuracy for container-based overlays with fixed container bounds.
-
AI-Assisted Development - Copilot Skills
- Three consolidated Copilot Skills are now included in the repository to teach AI coding assistants/agents (e.g., GitHub Copilot, Cursor, Windsurf, Claude, JetBrains AI, etc.) how to work with Ignite UI for Angular:
- Components - UI Components (form controls, layout, data display, feedback/overlays, directives — Input Group, Combo, Select, Date/Time Pickers, Calendar, Tabs, Stepper, Accordion, List, Card, Dialog, Snackbar, Button, Ripple, Tooltip, Drag and Drop, Layout Manager, Dock Manager and Charts (Area Chart, Bar Chart, Column Chart, Stock/Financial Chart, Pie Chart))
- Data Grids - Data Grids (grid type selection, column config, sorting, filtering, selection, editing, grouping, paging, remote data, state persistence, Tree Grid, Hierarchical Grid, Grid Lite, Pivot Grid)
- Theming & Styling - Theming & Styling (includes MCP server setup for live theming tools)
- These skills are automatically discovered when placed in the agent's skills path ( e.g.
.claude/skills) and this release ships with an optional migration to add those to your project. For more information, see the README.
- Three consolidated Copilot Skills are now included in the repository to teach AI coding assistants/agents (e.g., GitHub Copilot, Cursor, Windsurf, Claude, JetBrains AI, etc.) how to work with Ignite UI for Angular:
-
Added
IgxGridLiteComponentwrapper around theigc-grid-liteWeb Component (in Developer Preview)Available from the
igniteui-angular/grids/liteentry point. The wrapper component adds Angular-friendly API with similar inputs, including two-way bindablesortingExpressionsandfilteringExpressions, Angular template-based cell and header rendering with declarative templates via theigxGridLiteCellandigxGridLiteHeaderdirectives.npm i igniteui-grid-liteimport { IgxGridLiteComponent, IgxGridLiteColumnComponent, IgxGridLiteHeaderTemplateDirective, IgxGridLiteCellTemplateDirective } from "igniteui-angular/grids/lite"; @Component({ selector: 'app-grid-lite-sample', templateUrl: 'grid-lite.sample.html', imports: [IgxGridLiteComponent, IgxGridLiteColumnComponent, IgxGridLiteHeaderTemplateDirective, IgxGridLiteCellTemplateDirective] }) export class GridLiteSampleComponent { }<igx-grid-lite [data]="data"> <igx-grid-lite-column field="name" header="Name" [sortable]="true"> <ng-template igxGridLiteCell let-value> <strong>{{ value }}</strong> </ng-template> </igx-grid-lite-column> </igx-grid-lite>
General
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid,IgxPivotGrid- Improved performance by dynamically adjusting the scroll throttle based on the data displayed in grid.
-
IgxCombo,IgxSimpleCombo- Combo and Simple Combo now close the dropdown list and move the focus to the next focusable element on "Tab" press and clear the selection if the combo is collapsed on "Escape".
Breaking Changes
igxForOf,igxGrid,igxTreeGrid,igxHierarchicalGrid,igxPivotGrid- original
dataarray mutations (like adding/removing/moving records in the original array) are no longer detected automatically. Components need an array ref change for the change to be detected.
- original
IgxGridGroupByAreaComponenthas moved from thegrids/coreto thegrids/gridentry point. Theng updatemigration will prompt you to optionally migrate your imports to the new entry point.
Localization(i18n)
IgxActionStrip,IgxBanner,IgxCalendar,IgxCarousel,IgxChip,IgxCombo,IgxDatePicker,IgxDateRangePicker,IgxGrid,IgxTreeGrid,IgxHierarchicalGrid,IgxPivotGrid,IgxInputs,IgxList,IgxPaginator,IgxQueryBuilder,IgxTimePicker,IgxTree- New
Intlimplementation for all currently supported components that format and render data like dates and numbers. - New localization implementation for the currently supported languages for all components that have resource strings in the currently supported languages.
- New public localization API and package named
igniteui-i18n-resourcescontaining the new resources that are used in conjunction. - Added API to toggle off Angular's default formatting completely in favor of the new
Intlimplementation. OtherwiseIntlwill be used when a locale is not defined for Angular to use. - Old resources and API should still remain working and not experience any change in behavior, despite internally using the new localization as well.
- New
21.0.0
New Features
-
New component
IgxChat:- A component that provides complete solution for building conversational interfaces in your applications. Read up more information in the ReadMe
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid-
Added PDF export functionality to grid components. Grids can now be exported to PDF format alongside the existing Excel and CSV export options.
The new
IgxPdfExporterServicefollows the same pattern as Excel and CSV exporters:import { IgxPdfExporterService, IgxPdfExporterOptions } from 'igniteui-angular'; constructor(private pdfExporter: IgxPdfExporterService) {} exportToPdf() { const options = new IgxPdfExporterOptions('MyGridExport'); options.pageOrientation = 'landscape'; // 'portrait' or 'landscape' (default: 'landscape') options.pageSize = 'a4'; // 'a3', 'a4', 'a5', 'letter', 'legal', etc. options.fontSize = 10; options.showTableBorders = true; this.pdfExporter.export(this.grid, options); }The grid toolbar exporter component now includes a PDF export button:
<igx-grid-toolbar> <igx-grid-toolbar-exporter [exportPDF]="true" [exportExcel]="true" [exportCSV]="true"> </igx-grid-toolbar-exporter> </igx-grid-toolbar>Key features:
- Multi-page support with automatic page breaks
- Hierarchical visualization for TreeGrid (with indentation) and HierarchicalGrid (with child tables)
- Multi-level column headers (column groups) support
- Summary rows with proper value formatting
- Text truncation with ellipsis for long content
- Landscape orientation by default (suitable for wide grids)
- Internationalization support for all 19 supported languages
- Respects all grid export options (ignoreFiltering, ignoreSorting, ignoreColumnsVisibility, etc.)
-
Breaking Changes
IgxButton- The following shadow-related parameters were removed from the
outlined-button-themeandflat-button-theme:resting-shadowhover-shadowfocus-shadowactive-shadow
- The following shadow-related parameters were removed from the
Dependency Injection Refactor
- All internal DI now uses the
inject()API acrossigniteui-angular(no more constructor DI in library code). - If you extend our components/services or call their constructors directly, remove DI params and switch to
inject()(e.g.,protected foo = inject(FooService);). - App usage via templates remains the same; no action needed unless you subclass/override our types.
Multiple Entry Points Support
The library now supports multiple entry points for better tree-shaking and code splitting. While the main entry point (igniteui-angular) remains fully backwards compatible by re-exporting all granular entry points, we recommend migrating to the new entry points for optimal bundle sizes.
Entry Points:
igniteui-angular/core- Core utilities, services, and base typesigniteui-angular/directives- Common directives- Component-specific entry points:
igniteui-angular/grids,igniteui-angular/input-group,igniteui-angular/drop-down, etc. - Grid-specific entry points for tree-shakable imports:
igniteui-angular/grids/core- Shared grid infrastructure (columns, toolbar, filtering, sorting, etc.)igniteui-angular/grids/grid- Standard grid component (IgxGridComponent)igniteui-angular/grids/tree-grid- Tree grid component (IgxTreeGridComponent)igniteui-angular/grids/hierarchical-grid- Hierarchical grid component (IgxHierarchicalGridComponent,IgxRowIslandComponent)igniteui-angular/grids/pivot-grid- Pivot grid component (IgxPivotGridComponent,IgxPivotDataSelectorComponent)
Migration:
The ng update migration will prompt you to optionally migrate your imports to the new entry points. If you choose not to migrate, you can continue using the main entry point with full backwards compatibility.
To migrate manually later:
ng update igniteui-angular --migrate-only --from=20.1.0 --to=21.0.0
Component Relocations:
- Input directives (
IgxHintDirective,IgxInputDirective,IgxLabelDirective,IgxPrefixDirective,IgxSuffixDirective) →igniteui-angular/input-group IgxAutocompleteDirective→igniteui-angular/drop-downIgxRadioGroupDirective→igniteui-angular/radio
Type Renames (to avoid conflicts):
Direction→CarouselAnimationDirection(in carousel)
Benefits:
- Better tree-shaking - unused components won't be bundled
- Code splitting - each component can be lazy-loaded separately
- Smaller bundle sizes - import only what you need
- Improved build performance
See the Angular Package Format documentation for more details on entry points.
20.1.0
New Features
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid-
Introduced a new cell merging feature that allows you to configure and merge cells in a column based on same data or other custom condition, into a single cell.
It can be enabled on the individual columns:
<igx-column field="field" [merge]="true"></igx-column>The merging can be configured on the grid level to apply either:
onSort- only when the column is sorted.always- always, regardless of data operations.
<igx-grid [cellMergeMode]="'always'"> </igx-grid>The default
cellMergeModeisonSort.The functionality can be modified by setting a custom
mergeStrategyon the grid, in case some other merge conditions or logic is needed for a custom scenario.It's possible also to set a
mergeCompareron the individual columns, in case some custom handling is needed for a particular data field. -
Added ability to pin individual columns to a specific side (start or end of the grid), so that you can now have pinning from both sides. This can be done either declaratively by setting the
pinningPositionproperty on the column:<igx-column [field]="'Col1'" [pinned]='true' [pinningPosition]='pinningPosition'> </igx-column>public pinningPosition = ColumnPinningPosition.End;Or with the API, via optional parameter:
grid.pinColumn('Col1', 0, ColumnPinningPosition.End); grid.pinColumn('Col2', 0, ColumnPinningPosition.Start);If property
pinningPositionis not set on a column, the column will default to the position specified on the grid'spinningoptions forcolumns.
-
-
IgxCarousel- Added
selectmethod overload accepting index.
this.carousel.select(2, Direction.NEXT); - Added
-
IgxDateRangePicker-
Now has a complete set of properties to customize the calendar:
headerOrientationorientationhideHeaderactiveDatedisabledDatesspecialDates
-
As well as the following templates, available to customize the contents of the calendar header in
dialogmode:igxCalendarHeaderigxCalendarHeaderTitleigxCalendarSubheader
-
Added new properties:
usePredefinedRanges- Whether to render built-in predefined rangescustomRanges- Allows the user to provide custom ranges rendered as chipsresourceStrings- Allows the user to provide set of resource strings
-
Behavioral Changes
- Added cancel button to the dialog, allowing the user to cancel the selection.
- The calendar is displayed with header in
dialogmode by default. - The picker remains open when typing (in two-inputs and
dropdownmode). - The calendar selection is updated with the typed value.
- The calendar view is updated as per the typed value.
- The picker displays a clear icon by default in single input mode.
-
IgxPredefinedRangesAreaComponent- Added new component for rendering the predefined or custom ranges inside the calendar of the
IgxDateRangePicker
- Added new component for rendering the predefined or custom ranges inside the calendar of the
-
-
IgxDatePicker- Similar to the
IgxDateRangePicker, also completes the ability to customize the calendar by introducing the following properties in addition to the existing ones:hideHeaderorientationactiveDate
- Behavioral Changes
- The calendar selection is updated with the typed value.
- The calendar view is updated as per the typed date value.
- Similar to the
-
IgxOverlay- Position Settings now accept a new optional
offsetinput property of typenumber. Used to set the offset of the element from the target in pixels.
- Position Settings now accept a new optional
-
IgxTooltip- The tooltip now remains open while interacting with it.
-
IgxTooltipTarget- Introduced several new properties to enhance customization of tooltip content and behavior. Those include
positionSettings,hasArrow,sticky,closeButtonTemplate. For detailed usage and examples, please refer to the Tooltip README.
- Introduced several new properties to enhance customization of tooltip content and behavior. Those include
General
-
IgxDropDownnow exposes aroleinput property, allowing users to customize the role attribute based on the use case. The default islistbox. -
IgxTooltipTarget- Behavioral Changes
- The
showDelayinput property now defaults to200. - The
hideDelayinput property now defaults to300. - The
showTooltipandhideTooltipmethods do not takeshowDelay/hideDelayinto account.
- The
- Behavioral Changes
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid,IgxPivotGrid- Sorting improvements
- Improved sorting algorithm efficiency using Schwartzian transformation. This is a technique, also known as decorate-sort-undecorate, which avoids recomputing the sort keys by temporarily associating them with the original data records.
- Refactored sorting algorithms from recursive to iterative.
- Groupby improvements
- Refactored grouping algorithm from recursive to iterative.
- Optimized grouping operations.
- Sorting improvements
20.0.6
General
IgxSimpleCombo- Added
disableFilteringto theIgxSimpleCombo, which enables/disables the filtering in the list. The default isfalse.
- Added
IgxCombo,IgxSimpleCombo- Removed deprecated
filteringOptions.filterableoption.
- Removed deprecated
20.0.2
New Features
- Separating Button and Icon Button Themes - The
button-themeandicon-button-themefunctions are still available, but for more targeted customization, you can now use the specific theme function for each button type. - Component Themes Enchancements - Component themes have been improved to automatically calculate all necessary states (e.g., hover, focus, active) based on just a few key values. For example, customizing a contained button requires only a background color:
$custom-contained-button: contained-button-theme(
$background: #09f;
);
20.0.0
General
- Angular 20 Compatibility - Ignite UI for Angular now plays nice with Angular 20! Upgrade your apps and enjoy the latest features.
IgxActionStrip- Behavioral Changes - When using the Action Strip standalone, outside of Grid, scenarios the component is no longer initially visible and the
hiddenproperty now defaults totrue.
- Behavioral Changes - When using the Action Strip standalone, outside of Grid, scenarios the component is no longer initially visible and the
IgxChip- Behavioral Change The
variantis now strictly typed with the union of supported options and no longer accepts invalid values for the default state, provide no value (nullish) instead is needed.
- Behavioral Change The
New Features
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid,IgxPivotGrid- Added a new
igxGridEmptytemplate directive that allows assigning theemptyGridTemplatedeclaratively, without the need to get and assign reference, like other grid templates like:<igx-grid> <ng-template igxGridEmpty> <!-- content to show when the grid is empty --> </ng-template> </igx-grid> - Added a new
igxGridLoadingtemplate directive that allows assigning theloadingGridTemplatedeclaratively, without the need to get and assign reference, like other grid templates like:<igx-grid> <ng-template igxGridLoading> <!-- content to show when the grid is loading --> </ng-template> </igx-grid>
- Added a new
19.2.0
General
IgxCarousel- Removed deprecated property
keyboardSupport.
- Removed deprecated property
IgxSlide- Deprecation -
tabIndexhas been deprecated and will be removed in a future version.
- Deprecation -
IgxGrid,IgxHierarchicalGrid,IgxTreeGrid- A column's
minWidthandmaxWidthconstrain the user-specifiedwidthso that it cannot go outside their bounds. - In SSR mode grid with height 100% or with no height will render on the server with % size and with no data. The grid will show either the empty grid template or the loading indicator (if isLoading is true).
- In SSR mode grid with width 100% or with no width will render on the server with % size and with all columns.
- The
pagingModeproperty can now be set as simple strings'local'and'remote'and does not require importing theGridPagingModeenum.
- A column's
IgxHierarchicalGrid- Introduced a new advanced filtering capability that enables top-level records to be dynamically refined based on the attributes or data of their associated child records.
- Added a new
schemainput property that can be used to pass collection ofEntityTypeobjects. This property is required for remote data scenarios.
IgxQueryBuilderComponent,IgxAdvancedFilteringDialogComponent- Added support for entities with hierarchical structure.
EntityType- A new optional property called
childEntitieshas been introduced that can be used to create nested entities.
- A new optional property called
19.1.1
New Features
- IgxListItem
- Added a new
selectedinput property, making it easier to indicate when a list item is selected by applying styling responsible for that state.
- Added a new
19.1.0
General
IgxCarousel- Behavioral Changes - the
maximumIndicatorsCountinput property now defaults to10. - Deprecation -
CarouselIndicatorsOrientationenum memberstopandbottomhave been deprecated and will be removed in a future version. Usestartandendinstead.
- Behavioral Changes - the
New Features
IgxBanner- Introduced a new
expandedinput property, enabling dynamic control over the banner's state. The banner can now be programmatically set to expanded (visible) or collapsed (hidden) both initially and at runtime. Animations will trigger during runtime updates — the open animation plays whenexpandedis set totrue, and the close animation plays when set tofalse. However, no animations will trigger when the property is set initially. - The banner's event lifecycle (
opening,opened,closing,closed) only triggers through user interactions (e.g., clicking to open/close). Programmatic updates using theexpandedproperty will not fire any events. - If the
expandedproperty changes during an ongoing animation, the current animation will stop and the opposite animation will begin from the point where the previous animation left off. For instance, if the open animation (10 seconds) is interrupted at 6 seconds andexpandedis set tofalse, the close animation (5 seconds) will start from its 3rd second.
- Introduced a new
IgxQueryBuilderhas a new design that comes with an updated appearance and new functionalityIgxQueryBuilderComponent- Introduced the ability to create nested queries by specifying IN/NOT IN operators.
- Introduced the ability to reposition condition chips by dragging or using
Arrow Up/Down. - Added the
entitiesproperty that accepts an array ofEntityTypeobjects describing an entity with its name and an array of fields. Thefieldsinput property has been deprecated and will be removed in a future version. Automatic migrations are available and will be applied onng update. - Added
disableEntityChangeproperty that can be used to disable the entity select on root level after the initial selection. Defaults tofalse. - Added
disableReturnFieldsChangeproperty that can be used to disable the fields combo on root level. Defaults tofalse. - Added the
canCommit,commitanddiscardpublic methods that allows the user to save/discard the current state of the expression tree. - Added option to template the search value input:
<ng-template igxQueryBuilderSearchValue let-searchValue let-selectedField = "selectedField" let-selectedCondition = "selectedCondition" let-defaultSearchValueTemplate = "defaultSearchValueTemplate"> @if (selectedField?.field === 'Id' && selectedCondition === 'equals'){ <input type="text" required [(ngModel)]="searchValue.value"/> } @else { <ng-container #defaultTemplate *ngTemplateOutlet="defaultSearchValueTemplate"></ ng-container> } </ng-template> - Behavioral Changes
- Expression enters edit mode on single click,
EnterorSpace. - Selecting conditions inside the
IgxQueryBuilderComponentis no longer supported. Grouping/ungrouping expressions is now achieved via the newly exposed Drag & Drop functionality. - Deleting multiple expressions through the context menu is no longer supported.
IgxQueryBuilderHeaderComponent- Behavioral Change
- Legend is no longer shown.
- If the
titleinput property is not set, by default it would be empty string. - Deprecation
- The
showLegendandresourceStringsinput properties have been deprecated and will be removed in a future version. Automatic migrations are available and will be applied onng update.
IFilteringExpression- A new optional property called
conditionNamehas been introduced. This would generally be equal to the existingcondition.name.
- A new optional property called
IFilteringOperation- A new optional property called
isNestedQueryhas been introduced. It's used to indicate whether the condition leads to a nested query creation.
- A new optional property called
19.0.0
General
IgxFilteringService,IgxGridBaseDirective- Deprecation The
filterGlobalmethod has been deprecated and will be removed in a future version.
- Deprecation The
New Features
IgxColumn- Introduced the
disabledSummariesproperty, allowing users to specify which summaries should be disabled for a given column. This property accepts an array of strings corresponding to the summary keys, enabling selective control over both default summaries (e.g., 'Count', 'Min') and any custom summaries created by the user.
- Introduced the
Themes- Deprecation The utility mixins
light-theme,dark-theme,bootstrap-light-theme,bootstrap-dark-theme,fluent-light-theme,fluent-dark-theme,indigo-light-theme, andindigo-dark-themehave been deprecated and will be removed in version 20 of Ignite UI for Angular. Switch to the more genericthememixin instead. Example:
$my-light-palette: palette( $primary: navy, $secondary: rebeccapurple, $surface: white, ); // Before: @include light-theme( $palette: $my-light-palette ); // After: @include theme( $palette: $my-light-palette, $schema: $light-material-schema, );- Deprecation The utility mixins
18.2.0
General
IFilteringExpressionsTree,FilteringExpressionsTree- Deprecation The
findandfindIndexmethods have been deprecated and will be removed in a future version. AExpressionsTreeUtilclass has been added which provides the same functionality.
- Deprecation The
New Features
IgxSimpleCombo- Introduced ability for Simple Combo to automatically select and retain valid input on "Tab" press enhancing user experience by streamlining data entry and reducing the need for manual selection improving form navigation.
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- To streamline the sorting of columns with custom formats, a new
FormattedValuesSortingStrategyhas been introduced. This strategy simplifies the sorting process by allowing direct sorting based on formatted values, eliminating the need to extend theDefaultSortingStrategyor implement a customISortingStrategy. This enhancement improves the ease of handling sorting with custom column formatters.
- To streamline the sorting of columns with custom formats, a new
IgxCarousel- Added support for vertical alignment. Can be configured via the
verticalproperty. Defaults tofalse. - Added support for showing/hiding the indicator controls (dots). Can be configured via the
indicatorsproperty. Defaults totrue.
- Added support for vertical alignment. Can be configured via the
ColumnType,IgxColumn- The built-in editors for columns of type
date,dateTimeandtimenow use a default input format as per theIgxGrid'slocale. This is valid both for cell editors and the ones in the filtering UI for all modes -quickFilter,excelStyleand the Advanced filtering. - In case the
pipeArgs.displayFormatproperty of a date-time column is set and contains only numeric date-time parts or such that can be handled by the editors, the built-in editors input format is inferred from it. - To configure the built-in editors, a new
editorOptionsproperty is added that allows to pass optional parameters. Accepts anIColumnEditorOptionsobject with thedateTimeFormatproperty, that is used as input format for the editors ofdate,dateTimeandtimecolumn data types:const editorOptions: IColumnEditorOptions = { Field? dateTimeFormat: 'MM/dd/YYYY', }<igx-column field="sampleDate" dataType="date" [editorOptions]="editorOptions"></igx-column>
- The built-in editors for columns of type
FieldType(IgxQueryBuilder)- Similar to the above, the fields now accept an
editorOptionsobject of typeIFieldEditorOptions. ItsdateTimeFormatproperty is used as input format for the query editors of date-time fields.
- Similar to the above, the fields now accept an
IgxDateTimeEditor,IgxDatePicker,IgxTimePicker,IgxDateRangePicker- In case the
inputFormatproperty is not set, the input format is inferred fromdisplayFormatif set and if it contains only numeric date-time parts.
- In case the
IgxTimePicker- The input and display formats are now adjusted based on the locale. For instance, day period time part (AM/PM or a/p) would not be displayed for locales that do not require it.
IgxDateTimeEditor- Added a new
defaultFormatTypeproperty (date|time|dateTime) which configures the date-time parts according to the target type that the editor mask includes. Defaults todate.
- Added a new
IgxTabs- Added
activationproperty to control tab selection. Inautomode (default), tabs are selected instantly with Arrow or Home/End keys. Inmanualmode, tabs are focused with keys but only selected with Enter or Space.
- Added
IgxGridState- When possible the state directive nows reuses the column that already exists on the grid when restoring the state, instead of creating new column instances every time. This removes the need to set any complex objects manually back on the column on
columnInit. The only instance where this is still necessary is when the column (or its children in case of column groups) have nofieldproperty so there's no way to uniquely identify the matching column. - Added support for persisting Multi-Row Layout.
- When possible the state directive nows reuses the column that already exists on the grid when restoring the state, instead of creating new column instances every time. This removes the need to set any complex objects manually back on the column on
Themes
-
Breaking Change
Palettes- All palette colors have been migrated to the CSS relative colors syntax. This means that color consumed as CSS variables no longer need to be wrapped in an
hslfunction.
Example:
/* 18.1.x and before: */ background: hsl(var(--ig-primary-600)); /* 18.2.0+: */ background: var(--ig-primary-600);This change also opens up the door for declaring the base (500) variants of each color in CSS from any color, including other CSS variables, whereas before the Sass
palettefunction was needed to generate color shades from a base color.Example:
/* 18.1.x and before: */ $my-palette: palette($primary: #09f, ...); /* 18.2.0+: */ --ig-primary-500: #09f;This change adds to our continuous effort to make theming configurable in CSS as much as it is in Sass.
- All palette colors have been migrated to the CSS relative colors syntax. This means that color consumed as CSS variables no longer need to be wrapped in an
Scrollbar: New CSS variables
We have introduced new CSS variables to allow for more customizable scrollbars. This enhancement utilizes the available WebKit pseudo-selectors such as ::-webkit-scrollbar-track. However, please note that these pseudo-selectors are prefixed with -webkit- and are only supported in WebKit-based browsers (e.g., Chrome, Safari).
List of Available CSS Variables for -webkit- browsers:
--sb-size: Adjusts the scrollbar size (width and height).--sb-track-bg-color: Sets the background color of the scrollbar track.--sb-track-bg-color-hover: Sets the background color of the scrollbar track on hover.--sb-thumb-min-height: Sets the minimum height of the scrollbar thumb.--sb-thumb-border-radius: Sets the border radius of the scrollbar thumb.--sb-thumb-border-size: Sets the border size of the scrollbar thumb.--sb-thumb-border-color: Sets the border color of the scrollbar thumb.--sb-thumb-bg-color: Sets the background color of the scrollbar thumb.--sb-thumb-bg-color-hover: Sets the background color of the scrollbar thumb on hover.
For Firefox users, we provide limited scrollbar styling options through the following CSS variables:
--sb-size: Adjusts the scrollbar size.--sb-thumb-bg-color: Sets the background color of the scrollbar thumb.--sb-track-bg-color: Sets the background color of the scrollbar track.
General
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid,IgxPivotGrid- Deprecation The
shouldGenerateproperty has been deprecated and will be removed in a future version. Column re-creation now relies onautoGenerateinstead. Automatic migration to this is available and will be applied onng update. Note that ifautoGenerateis already set initially, there is no need to explicitly set it elsewhere in your code.
- Deprecation The
-
IgxCarousel-
animationTypeinput property is now of typeCarouselAnimationType.HorizontalAnimationTypecan also be used, however, to accommodate the new vertical mode, which supports vertical slide animations, it is recommended to useCarouselAnimationType. -
Behavioral Changes - the
keyboardSupportinput property now defaults tofalse. -
Deprecation - the
keyboardSupportinput property has been deprecated and will be removed in a future version. Keyboard navigation withArrowLeft,ArrowRight,Home, andEndkeys will be supported when focusing the indicators' container viaTab/Shift+Tab.
-
-
IgxCombo:- Breaking Change The deprecated
filterableproperty is replaced withdisableFiltering. - The dropdown search field placeholder is now part of the Combo's localization resources. It now also uses two resource values depending on whether filtering is active, e.g. in the default
enlocale it remains'Enter a Search Term', but changes to'Add Item'whendisableFilteringandallowCustomValuesare set to true. For that reason, the existingsearchPlaceholderinput is also deprecated in favor of the resources. - Deprecation -
filterablefrom thefilteringOptionshas been deprecated in favor ofdisableFiltering.
- Breaking Change The deprecated
-
IgxBadge- Breaking Change The
$border-widthproperty has been removed from the badge theme. - New outlined variant of the badge component has been added. Users can switch to
outlinedby adding the newly createdoutlinedproperty to a badge.
- Breaking Change The
18.1.0
New Features
IgxPivotGrid- Added horizontal layout for row dimensions. Can be configured through the
pivotUIrowLayoutproperty. - Added
horizontalSummaryproperty for each IPivotDimension, enabling summary row when using horizontal layout. - Added
horizontalSummariesPositionproperty to thepivotUI, configuring horizontal summaries position. - Keyboard navigation now can move in to row headers back and forth from any row dimension headers or column headers.
- Added keyboard interactions for row dimension collapse using
Alt + Arrowsand row headers sorting usingCtrl + Arrow Up/Down.
- Added horizontal layout for row dimensions. Can be configured through the
IgxIcon,IgxIconService- You can now register icons by reference via the
IgxIconService. To learn more check out the documentation. - All components now use icons by reference internally so that it's easy to replace them without explicitly providing custom templates.
registerFamilyAliashas been deprecated in favor ofsetFamilyto allow adding metadata fortypeandprefixwhen registering custom icon families. To migrate fromregisterFamilyAlias, do the following:this.iconService.registerFamilyAlias('my-family', 'my-family-class'); this.iconService.setFamily('my-family', { className: 'my-family-class' });
- You can now register icons by reference via the
General
ColumnType,IgxColumn,IgxColumnGroup,IgxColumnLayout- The
childrenquery property has been deprecated and replaced bychildColumnsgetter directly returning columns array. - Several properties have been hidden from the public API, considered internal and not recommended for use. Those include:
filterCell,headerCell,headerGroup,defaultMinWidth,gridRowSpan,gridColumnSpanandcells.
- The
IgxPaginator- The
isFirstPageDisabledandisLastPageDisabledhave been deprecated in favor of the identicalisFirstPageandisLastPagegetter.
- The
IgxOverlayService- The
attachmethod overload acceptingTypeandOverlaySettingsnow acceptsOverlayCreateSettingsas second parameter. This interface extendsOverlaySettingswith an additionalinjectorproperty used asElementInjectorwhen creating the dynamic component.
- The
18.0.0
New Features
IgxCombo,IgxSimpleCombo:- Introduced ability for hiding the clear icon button when the custom clear icon template is empty.
IgxDateTimeEditor,IgxTimePicker:- Now accept the following custom
inputFormatoptions, as Angular's DatePipe:- Fractional seconds: S, SS, SSS.
- Period (Am/Pm): a, aa, aaa, aaaa, aaaaa
- Now accept the following custom
IgxPivotGrid- Added templatable row dimension headers displayed on the top, above all row headers.
- Replace the
showPivotConfigurationUIproperty withpivotUIproperty, adding ability now to enable/disable the configuration UI and/or the new row dimension headers. - Added
sortableproperty for each IPivotDimension.
IgxOverlayService,IgxToggleDirective:- Added an optional
offsetModeparameter to thesetOffsetmethod that determines whether to add (by default) or set the offset values usingOffsetMode.AddandOffsetMode.Set.
- Added an optional
Changes
- With the removal of the Display Density token, components now get their default sizes from the theme. Default sizes have changed for most components, with it now being medium (previously large). Here's an exhaustive list of all sizable components and their default sizes by theme:
Avatar- Small (All Themes)Button- Large (Material), Medium (Bootstrap, Fluent, Indigo)Button Group- Large (Material), Medium (Bootstrap, Fluent, Indigo)Card- Medium (All Themes)Combo- Medium (All Themes)Chip- Medium (All Themes)Date/Time Picker- Medium (All Themes)Dropdown- Medium (All Themes)Dialog- Medium (All Themes)Icon- Large (All Themes)Icon Button- Large (Material), Medium (Bootstrap, Fluent, Indigo)Input Group- Medium (All Themes)List- Medium (All Themes)Tree- Medium (All Themes)Rating- Medium (All Themes)Select- Medium (All Themes)
General
- Removed deprecated property
displayDensity. Size is now controlled only through the custom CSS property--ig-size. Refer to the Update Guide and components documentation for usage details. IgxBanner- Removed the deprecated
bannerproperty ofBannerEventArgsandBannerCancelEventArgs. Automatic migration toowneris applied.
- Removed the deprecated
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Removed the deprecated
movableproperty ofIgxColumnComponent.
- Removed the deprecated
IgxOverlayService- Removed the deprecated
PositionSettings.target(in favor of generalOverlaySettings.target). - Replaced deprecated
attachmethod overload acceptingComponentFactoryResolver(troughNgModuleRef-like object) with shortcut overload that uses just the root scope andcreateComponent. The overload acceptingViewComponentRefis still recommended for local injection context.
- Removed the deprecated
IgxPivotGrid- The
IgxPivotDateDimensiondeprecated gettersinBaseDimensionandinOptionhave been removed.
- The
IgxSimpleCombo- Behavioral Change When bound to
ngModelandformControlNamedirectives, the model would not be updated when the user types into the input and will only be updated on selection.
- Behavioral Change When bound to
17.2.0
New Features
IgxAvatar- Removed deprecated property
roundShape; DeprecatedcolorandbgColorproperties.
- Removed deprecated property
IgxButton- Removed deprecated properties
colorandbackground;
- Removed deprecated properties
IgxCalendar- Completely revamped calendar themes.
- New years view.
- Updated months view.
- Updated keyboard navigation and accessibility.
- Added selection preview in range selection mode.
- Added the ability to change the orientation of the calendar when multiple day views are present.
- Replaced the
verticalproperty withorientationthat can be set to eitherhorizontal(default) orvertical. - Standalone views support full-blown keyboard navigation, accessibility improvements and the ability to change pages automatically on keyboard navigation.
- Standalone views now emit
pageChangedevent whenever the active view page changes.
IgxCard- Removed deprecated properties
typeandreverse;
- Removed deprecated properties
IgxDialog- Removed
leftButtonColor,leftButtonBackgroundColorrightButtonColor, andrightButtonBackgroundColorproperties.
- Removed
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Enhanced the advanced filtering to emit the
filteringevent when filters are applied.
- Enhanced the advanced filtering to emit the
General
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- The
contextMenuevent now fires when the end-user clicks to the right of the right-most cell in the grid in case the grid's columns don't span its full width. For this reason the event argument of the event is now of typeIGridContextMenuEventArgswhich contains the row object as well as the cell one. The latter will benullif the event didn't originate from a cell. This is not a breaking change as the new type extends the old.
- The
IgxSimpleCombo- Behavioral Change The
selectionChangingevent will now trigger when typing the first character in the input if there is a previously selected value in theIgxSimpleCombo. - Behavioral Change Updated behavior to maintain the entered text in the input field upon pressing Enter while the combo input is focused, ensuring uninterrupted focus for continuous filtering. Additionally, the dropdown menu now remains open to display filtered results.
- Behavioral Change The
17.1.0
New Features
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Added a new output -
rowClickthat fires when the user clicks on a row element of the grid, including group rows
- Added a new output -
IgxTree- Added new property
toggleNodeOnClickthat determines whether clicking over a node will change its expanded state or not. Set tofalseby default.
- Added new property
IgxPivotGridIPivotDimensioninterface now exposes a property calleddisplayNamesimilar to the one in theIPivotValueinterface. This property is optional and will be displayed inside the chips for rows and columns in theIgxPivotGrid. If thedisplayNameproperty is not set,memberNamewill be used as a fallback.
IgxHierarchicalGrid,IgxGridToolbar- The declaration of child layout toolbar templates no longer require explicit grid reference so the following:
can be simplified like:<igx-row-island> <igx-grid-toolbar [grid]="childGrid" *igxGridToolbar="let childGrid"><igx-row-island> <igx-grid-toolbar *igxGridToolbar> - With this change the
gridproperty of theIgxGridToolbarhas been deprecated as it's no longer needed and will be removed in a future version.
- The declaration of child layout toolbar templates no longer require explicit grid reference so the following:
- New directive -
igxIconButtondirective that provides a way to use an icon as a fully functional button has been added. The newigxIconButtoncomes in three types - flat, outlined and contained (default). AlligxButton's with typeiconwill be automatically migrated to the newigxIconButton's withng update. IgxButton- Behavioral Change
buttonSelectedevent is now emitted not only when a button gets selected, but also when it gets deselected. However, the event is no longer being emitted on initialization. If this event was used in a scenario where it is assumed that the button gets selected, it's a good idea the logic to be branched now based oneventArgs.selectedcondition.
- Behavioral Change
IgxRowIsland- Added
toolbarTemplateandpaginatorTemplateinputs for definingIgxGridToolbarandIgxPaginatortemplates.
- Added
General
igxButton:- Breaking Change The
raisedtype of theigxButtondirective has been renamed tocontained. Automatic migrations are available and will be applied onng update. - The
igxButtonColorandigxButtonBackgroundinput properties have been deprecated and will be removed in a future version.
- Breaking Change The
IgxForOf- Unified logic for vertical and horizontal virtualization such as - caching, updating, max browser size exceeding.
- Added new method -
addScrollthat can shift the scroll thumb by the specified amount in pixels (negative number to scroll to previous, positive to scroll next). Similar toaddScrollTopbut works for both vertical and horizontal virtualization.
IgxTextHighlightDirectiveis now correctly tree-shaken out of the bundle when not used.- Breaking Change A new
IgxTextHighlightServiceis now exposed and methodssetActiveHighlightandclearActiveHighlighthave been moved to it.
- Breaking Change A new
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Tree-shaking of the grids has been improved:
- The
igx-paginator,igx-grid-toolbarandigx-action-stripcomponents should now correctly tree-shake when not used in a grid.
- The
- Breaking Changes
rowAddandrowDeleteevents now emit event argument of typeIRowDataCancelableEventArgsinstead ofIGridEditEventArgs. The two interfaces are still compatible, however redundant for these events propertiescellID,newValue,oldValue,isAddRoware deprecated inIRowDataCancelableEventArgsand will be removed in a future version. Switching to the correct new interfaces should reveal any deprecated use that can be safely removed.
- Deprecations
rowIDproperty has been deprecated in the following interfaces:IGridEditDoneEventArgs,IPathSegment,IRowToggleEventArgs,IPinRowEventArgs,IgxAddRowParentand will be removed in a future version. UserowKeyinstead.primaryKeyproperty has been deprecated in the following interfaces:IRowDataEventArgs,IGridEditDoneEventArgs. UserowKeyinstead.dataproperty has been deprecated in the following interfaces:IRowDataEventArgs. UserowDatainstead.
- Tree-shaking of the grids has been improved:
- HammerJS is now an optional dependency, which means apps no longer need to install and include it for related components to work. Touch-specific handling on some components is still dependent on HammerJS setup, but will be disabled without. The setup is now also an option when adding Ignite UI for Angular to existing projects via the
ng addcommand.
17.0.0
General
IgxCard- Breaking Change The
typeattribute has been deprecated and will be removed in a future version. The default view of the card component is nowoutlined. Users can switch toelevatedview by adding the newly createdelevatedproperty to a card.
- Breaking Change The
standalone componentssupport is now official- added
IGX_RADIO_GROUP_DIRECTIVESforIgxRadioGroupDirectiveandIgxRadioComponent
- added
animationsare now imported fromigniteui-angular/animations/@infragistics/igniteui-angular/animations- Tree-shaking of the product has been improved
igniteui-angular-i18nis now tree-shakeableigniteui-angular/animationsis now tree-shakeableigniteui-angularcomponents have improved tree-shaking- Breaking Change
getCurrentResourceStringshas been removed. Use the specific component string imports instead.- E.g. EN strings come from
igniteui-angular:import { GridResourceStringsEN } from 'igniteui-angular'; - E.g. DE or other language strings come from
igniteui-angular-i18n:import { GridResourceStringsDE } from 'igniteui-angular-i18n';
- E.g. EN strings come from
- DisplayDensity token and inputs are deprecated in favor of
--ig-sizetheming - We're working on reducing the library size
IgxRadioComponentsize has been reduced in halfIgxSwitchComponentsize has been reduced in half
IgxRadioComponent- Breaking Change
IChangeRadioEventArgsis nowIChangeCheckboxEventArgs.ng updateto17.0.0will automatically migrate this for you. - Breaking Change
RadioLabelPositionis nowLabelPosition.ng updateto17.0.0will automatically migrate this for you.
- Breaking Change
IgxSwitchComponent- Breaking Change
IChangeSwitchEventArgsis nowIChangeCheckboxEventArgs.ng updateto17.0.0will automatically migrate this for you. - Breaking Change
SwitchLabelPositionis nowLabelPosition.ng updateto17.0.0will automatically migrate this for you.
- Breaking Change
IgxCombo-
Breaking Change
IComboSelectionChangingEventArgspropertiesnewSelectionandoldSelectionhave been renamed tonewValueandoldValuerespectively to better reflect their function. Just like Combo'svalue, those will emit either the specified property values or full data items depending on whethervalueKeyis set or not. Automatic migrations are available and will be applied onng update. -
IComboSelectionChangingEventArgsexposes two new propertiesnewSelectionandoldSelectionin place of the old ones that are no longer affected byvalueKeyand consistently emit items from Combo'sdata.Note: In remote data scenarios with
valueKeyset, selected items that are not currently part of the loaded data chunk will be emitted a partial item data object with thevalueKeyproperty. -
Breaking Change -
IComboSelectionChangingEventArgspropertiesaddedandremovednow always contain data items, regardless ofvalueKeybeing set. This aligns them with the updatednewSelectionandoldSelectionproperties, including the same limitation for remote data as described above.
-
IgxSimpleCombo-
Breaking Change -
ISimpleComboSelectionChangingEventArgspropertiesnewSelectionandoldSelectionhave been renamed tonewValueandoldValuerespectively to better reflect their function. Just like Combo'svalue, those will emit either the specified property value or full data item depending on whethervalueKeyis set or not. Automatic migrations are available and will be applied onng update. -
ISimpleComboSelectionChangingEventArgsexposes two new propertiesnewSelectionandoldSelectionin place of the old ones that are no longer affected byvalueKeyand consistently emit items from Combo'sdata.Note: In remote data scenarios with
valueKeyset, selected items that are not currently part of the loaded data chunk will be emitted a partial item data object with thevalueKeyproperty. -
Breaking Change The
valueandselectionproperties now correctly return a single value or data item instead of the same wrapped in array andundefinedinstead of empty array, matching the values emitted from selection event and when working withformControlName/ngModeldirectives.
-
IgxCombo,IgxSimpleCombo- Breaking Change The
displayValueproperty now returns the display text as expected (instead of display values in array).
- Breaking Change The
16.1.5
General
IgxButtonGroup:- Reverted cancellable on
selectedanddeselectedevents (added in 15.1.24) as it was breaking firing order and related handling.
- Reverted cancellable on
16.1.4
New Features
-
Themes:-
Experimental - Added the ability to configure the base font-size used to calculate the rem values in all component themes. This allows for proper scaling of components when a different document font-size is used.
-
Code example:
// Configure the base font-size @use 'igniteui-theming/sass/config' as * with ( $base-font-size: 10px // <-- 10px == 1rem ); // Standard imports and theme declarations @use 'igniteui-angular/src/lib/core/styles/themes' as *; // This change also adds a new CSS variable `--ig-base-font-size` // that you can use to configure your own stylesheets: html { font-size: var(--ig-base-font-size); // 10px } @include core(); @include typography(); @include theme(); -
16.1.0
New Features
-
IgxSelect:- The select component now has the ability to handle
igxPrefixandigxSuffixdirectives insideigx-select-item.
<igx-select-item> <igx-icon igxPrefix>alarm</igx-icon> Select item text content <igx-icon igxSuffix>alarm</igx-icon> </igx-select-item> - The select component now has the ability to handle
-
IgxBadge:- Material icons extended along with any other custom icon set can now be used inside the badge component.
- Code example:
import { IgxBadgeComponent, IgxIconService } from 'igniteui-angular'; import { heartMonitor } from '@igniteui/material-icons-extended'; export class BadgeSampleComponent implements OnInit { constructor (protected _iconService: IgxIconService) {} public ngOnInit() { this._iconService.addSvgIconFromText(heartMonitor.name, heartMonitor.value, 'imx-icons'); } }<igx-badge icon="heart-monitor" iconSet="imx-icons"></igx-badge> -
IgxCombo:- Exposed
comboIgnoreDiacriticsFilterfilter function which normalizes diacritics to their base representation. When the combo components are configured with it, filtering for "resume" will match both "resume" and "résumé".
- Exposed
-
IgxCombo,IgxSimpleCombo- Added new property
displayValuethat returns array of display keys.
- Added new property
-
IgxButtonGroup:- Added
ownerto theIButtonGroupEventArgsto identify the emitting button group instance. - Breaking Change Added the
selectionModeproperty that sets the selection mode of the buttons in theIgxButtonGroup. Selection modes aresingle,singleRequiredandmultias default issingle. - Breaking Change Deprecated the
multiSelectionproperty and all references have been migrated toselectionMode="multi".
- Added
-
Themes:- Include a standalone theme for the
igxLabeldirective to allow usage with components outside the Input Group.
- Include a standalone theme for the
-
Changing the size of Ignite UI components can now be done via a new custom CSS property -
--ig-size. TheDisplayDensityTokeninjection token and consequently, thedisplayDensityinputs for all components will be deprecated in the next major version and it is recommended that they no longer be used for sizing components.- Code example:
// *.component.ts // remove the provider declaration for `DisplayDensityToken` providers: [{ provide: DisplayDensityToken, useValue: { displayDensity: DisplayDensity.compact } }],<!-- Remove `[displayDensity]="'compact'"` --> <igx-grid [displayDensity]="'compact'">...</igx-grid>/* Add --ig-size to a component or global file. Available values are: compact: --ig-size-small cosy: --ig-size-medium comfortable: --ig-size-large */ igx-grid { --ig-size: var(--ig-size-small); }
General
IgxStepper:- Breaking Change The
IgxStepSubTitleDirectivehas been renamed toIgxStepSubtitleDirective. Automatic migrations are available and will be applied onng update.
- Breaking Change The
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- The
draggableattribute is no longer required to be set on interactable elements, if a column header is templated and the Column Moving is enabled in order for handlers for any event to be triggered. Nowdraggable='false'can be used as an addition if the user shouldn't be able to drag a column by that element, but even if omittedclickevents for example will trigger now. - Behavioral Change When there are already grouped columns, the group drop area now shows after dragging of a column starts and not when only click actions are performed.
- The
IgxCombo,IgxSimpleCombo:- Breaking Change The
selectionproperty returns an array of the selected items even when a value key is provided and thevalueproperty returns an array of value keys instead of display keys. Automatic migrations are available and will be applied onng update.
- Breaking Change The
- Improved tree-shaking support for the
@igniteui/material-icons-extendedpackage. - Improved tree-shaking support for the
igniteui-angular-i18npackage. - Improved tree-shaking support for all grids.
16.0.0
General
-
All Ignite UI for Angular components are now exported as
standalonecomponents. The library still exportsNgModules, which have been preserved for backward compatibility, but they no longer declare any of the Ignite UI for Angular components, instead they just import and export thestandalonecomponents. Thestandalonecomponents are still in a preview stage. Some utility directive exports may change in the future and may be missing from the documentation in the initial release, hence thepreviewstate of the feature.Now you can do:
// IGX_GRID_DIRECTIVES exports all grid related components and directives import { IGX_GRID_DIRECTIVES } from 'igniteui-angular'; @Component({ selector: 'app-grid-sample', styleUrls: ['grid.sample.scss'], templateUrl: 'grid.sample.html', standalone: true, imports: [IGX_GRID_DIRECTIVES, AsyncPipe] })or
// Single import of only the <igx-grid> component. import { IgxGridComponent } from 'igniteui-angular'; @Component({ selector: 'app-grid-sample', styleUrls: ['grid.sample.scss'], templateUrl: 'grid.sample.html', standalone: true, imports: [IgxGridComponent, AsyncPipe] })or still
// `NgModule` import of the `IgxGridModule` module, which is equivalent to IGX_GRID_DIRECTIVES in terms of exported components and directives. import { IgxGridModule } from 'igniteui-angular'; @Component({ selector: 'app-grid-sample', styleUrls: ['grid.sample.scss'], templateUrl: 'grid.sample.html', standalone: true, imports: [IgxGridModule, AsyncPipe] }) -
IgxChip- Behavioral Change The
igxChipstyles have been revisited and the select container animation has been removed when selecting/deselecting a chip. - Behavioral Change The remove button behavior have been revisited, now when the chip is in
disabledstate the remove button is hidden.
- Behavioral Change The
-
IgxGrid,IgxHierarchicalGrid:- Breaking Change The
IgxHeaderExpandIndicatorDirectiveandIgxHeaderCollapseIndicatorDirectivedirectives, as well as theheaderExpandIndicatorTemplateandheaderCollapseIndicatorTemplateproperties have been renamed toIgxHeaderExpandedIndicatorDirective,IgxHeaderCollapsedIndicatorDirective,headerExpandedIndicatorTemplateandheaderCollapsedIndicatorTemplaterespectively to properly reflect their purpose. Automatic migrations are available and will be applied onng update.
- Breaking Change The
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGridBreaking Changes: The following grid properties, deprecated since version 12.1.0 are now removed:
- evenRowCSS;
- oddRowCSS;
- page;
- paging;
- perPage;
- totalPages;
- isFirstPage;
- isLastPage;
Also the following deprecated grid events are removed.
- pageChange;
- perPageChange;
- pagingDone;
Deprecated methods removed from the grid API are:
- nextPage;
- previousPage;
- paginate;
- getCellByColumnVisibleIndex;
New Features
IgxChip- New input
variantwhich can take any of the following values:'primary','info','success','warning','danger'
- New input
IgxExpansionPanel:IgxExpansionPanelTitleDirectiveandIgxExpansionPanelDescriptionDirectiveshow tooltip of the provided text content.
IgxDateRangePicker- Added
showWeekNumbersinput that toggles whether or not the number of a week will be visible next to it
- Added
IgxGrid,IgxHierarchicalGrid:totalItemCountcan now also be bound asInputin remote virtualization scenarios.rowExpandedIndicatorTemplate,rowCollapsedIndicatorTemplate,headerExpandedIndicatorTemplate,headerCollapsedIndicatorTemplatecan now also be bound asInputto provide templates for the row and header expand/collapse indicators respectively. This is in addition to the existing equivalent template directives to allow reuse.
IgxPivotGrid- Added
pivotConfigurationChangedevent triggered any time any ofpivotConfigurationproperties is changed via the UI.
- Added
ISortingExpressionnow accepts an optional generic type parameter for type narrowing of thefieldNameproperty to keys of the data item, e.g.ISortingExpression<MyDataItem>Util- Added new
CachedDataCloneStrategythat allows for cloning object with circular references.
- Added new
IgxForOf- Add support for
assyntax in template to get bound data
- Add support for
15.1.0
New Features
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid:GroupMemberCountSortingStrategyis added, which can be used to sort the grid by number of items in each group in ASC or DESC order, if grouping is applied.- A new argument
primaryKeyhas been introduced toIRowDataEventArgsInterface and part of the event arguments that are emitted by therowAddedandrowDeletedevents. When the grid has a primary key attribute added, then the emittedprimaryKeyevent argument represents the row ID, otherwise it defaults to undefined. - Added the
autoGenerateExcludeproperty that accepts an array of strings for property names that are to be excluded from the generated column collection
-
IgxColumnComponent- Added
currRecandgroupRecparameters to thegroupingComparerfunction that give access to the all properties of the compared records.
- Added
-
IgxOverlayService- A new event
contentAppendingis introduced - the event is emitted before the content is appended to the overlay. The event is emitted withOverlayEventArgsarguments and is not cancellable.
- A new event
-
IgxCard-
Buttons and icons slotted in the
igx-card-actionscan now be explicitly arranged to the start/end of the layout. To position components on either side users can take advantage of the newly added directives:igxStart- aligns items to the start andigxEnd- aligns items on the end of the card actions area. -
The
reverseproperty has been deprecated and will be removed in a future version. -
Code example:
<igx-card> <igx-card-header> <h3>Title</h3> </igx-card-header> <igx-card-content> Card Content </igx-card-content> <!-- Rearrange items using igxStart and igxEnd directives --> <igx-card-actions> <igx-icon igxStart>drag_indicator</igx-icon> <button igxButton="icon" igxStart> <igx-icon>favorite</igx-icon> </button> <button igxButton igxEnd>Button</button> </igx-card-actions> </igx-card> -
-
IgxButtonGroup:- The
selectedanddeselectedevents are now cancellable.
- The
General
IgxPivotGrid- The
IgxPivotDateDimensionpropertiesinBaseDimensionandinOptionhave been deprecated and renamed tobaseDimensionandoptionsrespectively.
- The
IgxGrid- Breaking Change The
onGroupingDoneoutput has been renamed togroupingDoneto not violate the no on-prefixed outputs convention. Automatic migrations are available and will be applied onng update. - Column formatters are now applied to values shown group rows when using the default template. For custom formatters, the formatter function is called with the data from the first row in the group.
- Breaking Change The
DisplayDensity- Breaking Change The
onDensityChangedoutput has been renamed todensityChangedto not violate the no on-prefixed outputs convention. All components exposing this event are affected. Automatic migrations are available and will be applied onng update.
- Breaking Change The
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Breaking Change -
rowSelectionChangingevent arguments are changed. Now theoldSelection,newSelection,addedandremovedcollections no longer consist of the row keys of the selected elements when the grid has set a primaryKey, but now in any case the row data is emitted. When the grid is working with remote data and a primary key has been set- for the selected rows that are not currently part of the grid view, will be emitted a partial row data object. - Behavioral Change - When selected row is deleted from the grid component
rowSelectionChangingevent will no longer be emitted.
- Breaking Change -
IgxCarousel- Breaking Change The
onSlideChanged,onSlideAdded,onSlideRemoved,onCarouselPausedandonCarouselPlayingoutputs have been renamed toslideChanged,slideAdded,slideRemoved,carouselPausedandcarouselPlayingto not violate the no on-prefixed outputs convention. Automatic migrations are available and will be applied onng update.
- Breaking Change The
IgxRadio,IgxRadioGroup,IgxCheckbox,IgxSwitch- Added component validation along with styles for invalid state
igxMaskdirective- Added the capability to escape mask pattern literals.
IgxBadge- Added
shapeproperty that controls the shape of the badge and can be eithersquareorrounded. The default shape of the badge is rounded.
- Added
IgxAvatar- Breaking Change The
roundShapeproperty has been deprecated and will be removed in a future version. Users can control the shape of the avatar by the newly addedshapeattribute that can besquare,roundedorcircle. The default shape of the avatar issquare.
- Breaking Change The
IgxOverlayServiceattachmethod overload acceptingComponentFactoryResolver(troughNgModuleRef-like object) is now deprecated in line with API deprecated in Angular 13. New overload is added acceptingViewComponentRefthat should be used instead.
- Breaking Changes -
$label-floated-backgroundand$label-floated-disabled-backgroundproperties ofIgxInputGroupComponenttheme has been removed. IgxInputGroupComponentThe input group has been refactored so that the floating label for the input oftype="border"does not require a background to match the surface background under the input field. Also, suffixes and prefixes are refactored to take the full height of the input which makes it easy to add background to them.- Breaking Changes -
$sizeproperty ofscrollbar-themetheme has been renamed to$scrollbar-size. IgxSimpleCombo- The
IgxSimpleCombowill not open its drop-down on clear.
- The
15.0.1
IgxGrid- Added new auto-sizing API
recalculateAutoSizesthat recalculates widths of columns that have size set toauto. Can be used in scenarios where you want to auto-size the columns again post initialization. - Clicking with the Left Mouse key while holding
Ctrlon selected cell will deselect the cell.
- Added new auto-sizing API
igxPivotGrid- Adding
aggregatorNamefor pivot value configuration as an alternative to settingaggregatorfunction. If both are setaggregatorNametakes precedent. If none are set an error is thrown.
- Adding
IgxSimpleCombo- Behavioral Change
- When the user clicks on the combo's input, the dropdown opens up.
- Keyboard navigation
ArrowUp- when the combo is openedArrowUpwill close the dropdown if the search input is focused. If the active item is the first one in the list, the focus will be moved back to the search input while also selecting all of the text in the input. OtherwiseArrowUpwill move to the previous list item.
15.0.0
New Features
-
igxGrid- exposing new Input properties:-
Parameters in grid templates now have types for their context. This can also cause issues if the app is in strict template mode and uses the wrong type. References to the template that may require conversion:
-
IgxColumnComponent-ColumnType(for example the column parameter inigxFilterCellTemplate)
-
IgxGridCell-CellType(for example the cell parameter inigxCelltemplate)
-
-
A new
groupRecordparameter has been exposed inoperatemethod, that is anIGroupByRecordobject describing the grouped row in case grouping is applied. -
excelStyleHeaderIconTemplate- Gets/Sets the excel style header icon. -
groupRowTemplate- Gets/Sets the template reference for the group row. -
headSelectorTemplate- Gets/Sets the header row selector template. -
rowSelectorTemplate- Gets/Sets the custom template used for row selectors. -
groupByRowSelectorTemplate- Gets/Sets the custom template used for the group row selectors. -
sortHeaderIconTemplate- Gets/Sets a custom template that should be used when rendering a header sorting indicator when columns are not sorted. -
sortAscendingHeaderIconTemplate- Gets/Sets a custom template that should be used when rendering a header sorting indicator when columns are sorted in asc order. -
sortDescendingHeaderIconTemplate- Gets/Sets a custom template that should be used when rendering a header sorting indicator when columns are sorted in desc order. -
rowEditActionsTemplate- Gets/Sets the row edit actions template. -
rowAddTextTemplate- Gets/Sets the row add text template. -
rowEditTextTemplate- Gets/Sets the row edit text template. -
dragGhostCustomTemplate- Gets/Sets the custom template used for row drag. -
dragIndicatorIconTemplate- Gets/Sets the custom template used for row drag indicator. -
detailTemplate- Gets/Sets the master-detail template.
-
-
IgxGridToolbar-
Breaking Change - The
IgxGridToolbarTitleDirectiveandIgxGridToolbarActionsDirectivehave been converted to components, keeping only the element selector. For apps using the preferred element markup of<igx-grid-toolbar-title>and<igx-grid-toolbar-actions>there should be no functional change. Apps using theigxGridToolbarTitleandigxGridToolbarActionsdirectives on other elements will need to convert those to the mentioned elements instead. -
Behavioral Change - When adding new row in grid with enabled batch editing,
rowChangesCountdisplays the number of the defined columns.
-
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Behavioral Change - When editing a row,
rowChangesCountandhiddenColumnsCountwould be displayed. - Behavioral Change - The Grid Paginator component is no longer hidden when there's no data and/or all columns are hidden.
- Behavioral Change - When editing a row,
-
IgxExcelExporterService- Added support for exporting grid summaries.
- Columns of type
currencywill be formatted as currency in Excel based on grid's locale. Locale currency different thanUSD,EUR,GBP,CNYorJPYwill result in exporting the column as number instead.
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid,IgxPivotGrid- Adding
Imagecolumn data type
- Adding
-
IgxCalendarAdded support for shift key + mouse click interactions.
multimode - select/deselect all dates between the last selected/deselected and the one clicked while holdingShift.rangemode - extend/shorten the range from the last selected date to the one clicked while holdingShift.
-
IgxFilterOptions- Added support for multiple keys.
Theme Changes
-
Breaking Changes - The
palettefunction no longer providesinfo,success,warnanderrorcolors. Therefore you have to pass custom values for them if you need to use these colors. You can also use the values forinfo,success,warnanderrorcolors from our predefined color palettes.- Code example:
// Mandatory colors $primary-color: #2a38b7; $secondary-color: #f96a88; $surface-color: #e1ebe4; // Additional colors $error-color: color($light-fluent-palette, 'error'); $warn-color: color($light-fluent-palette, 'warn'); $info-color: color($light-fluent-palette, 'info'); $success-color: color($light-fluent-palette, 'success'); // Creating custom palette $my-color-palette: palette( $primary: $primary-color, $secondary: $secondary-color, $surface: $surface-color, $error: $error-color, $warn: $warn-color, $info: $info-color, $success: $success-color );
14.2.0
New Features
-
The filtering logic inside the grid's Advanced Filtering is now extracted as a separate
IgxQueryBuildercomponent. The Query Builder allows you to build complex queries by specifying AND/OR operators, conditions and values using the UI. It outputs an object describing the structure of the query. Use thelocaleproperty to modify the locale settings. The default value is resolved to the global Angular application locale. TheresourceStringsallows changing the displayed strings.- Code example below:
<igx-query-builder [fields]="fields"> <!-- Custom header --> <igx-query-builder-header [title]="'Custom title'" [showLegend]="false"> </igx-query-builder-header> </igx-query-builder>- For more information, check out the README, specification and official documentation.
-
IgxExcelExporterService- Added support for exporting
igxPivotGrid.
- Added support for exporting
General
- Breaking Changes - The Excel exporter service
exportEndedevent has itsxlsxargument type changed asigniteui-angularno longer depends onJSZip. Instead of providing aJSZipinstance it is now an object describing the structure of the Excel file with property names corresponding to folders or files, folders being objects themselves that can be traversed down, while files have their contents asUint8Array. The same structure is used to package as a zip file byfflate's API. IgxDropDown- The
aria-labelattribute of theIgxDropDownItemBasecan now be se to a custom value for its descendants (of whichIgxDropDownItem) by theariaLabelproperty.
- The
14.1.0
New Features
-
IgxComboandIgxSimpleComboComponentfilterFunctioninput is added. The new property allows changing of the way filtering is done in the combos. By default filtering is made over the values in combo's data when it is a collection of primitive values, or over the values as defined indisplayKeyof the combo. If custom filtering function is provided filtering will be done as specified in the provided function.filteringOptionsare extended and now containsfilterableandfilteringKeyproperties. Settingfilterabledetermines whether combo will be filterable. By default filtering is done over the data value when they are primitive, or over the field of the values equal todisplayKey.filteringKeyallows to filter data by any data related key.
-
igxPivotGrid- Add option to template the pivot value chip content:
<ng-template igxPivotValueChip let-value> {{ value.member }} </ng-template>- Add support for usage with igxGridState to persist state of the pivotConfiguration with an additional
pivotConfigurationoption:
<igx-pivot-grid #grid1 [igxGridState]="options" ...public options : IGridStateOptions = { pivotConfiguration: true };One known issue of the igxGridState directive is that it cannot store functions as the state is stored as string. As a result any custom functions set to
memberFunction,aggregator,formatter,stylesetc. will not be stored. Restoring any of these can be achieved with code on application level. Hence we have also exposed 2 new events: -dimensionInit- emits when a dimension from the configuration is being initialized. -valueInit- emits when a value from the configuration is being initialized. Which can be used to set back any custom functions you have in the configuration. The default aggregator function, like the ones fromIgxPivotNumericAggregate,IgxPivotDateAggregateetc., will be restored out of the box. However if you have any custom aggregators (or other custom functions) they need to be set back in thevalueInitevent, for example:public onValueInit(value: IPivotValue) { if (value.member === 'AmountOfSale') { value.aggregate.aggregator = IgxTotalSaleAggregate.totalSale; } }Same applies to any custom functions on the dimension, like
memberFunction. If it is a custom function you can set it back on thedimensionInitevent:public onDimensionInit(dim: IPivotDimension) { if (dim.memberName === 'AllCities') { dim.memberFunction = () => 'All'; } }igxGridState: Exposed astateParsedevent to the state directive that can be used to additionally modify the grid state before it gets applied.
this.state.stateParsed.subscribe(parsedState => { parsedState.sorting.forEach(x => x.strategy = NoopSortingStrategy.instance()); }); -
igxGrid-
Added built-in validation mechanism for Grid Editing. Extends the Angular Form validation functionality You can configure it in 2 ways:
-
Via template-driven configuration on the
igx-columnof the grid:<igx-column required minlength="4" ...> -
Via reactive forms using the FormGroup exposed via the
formGroupCreatedevent of the grid:<igx-grid (formGroupCreated)='formCreateHandler($event)' ...>public formCreateHandler(formGr: FormGroup) { // add a validator const prodName = formGr.get('UserName'); prodName.addValidators(forbiddenNameValidator(/bob/i)) }
Edited cells will enter an invalid state when validation fails and will show an error icon and message. Cell will remain invalid until the value is edited to a valid value or the related state in the validation service is cleared.
You can refer to the documentation for more details: https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/validation
-
-
Added ability to auto-size columns to the size of their cells and header content on initialization by setting width
auto:
<column width='auto' ...>- Added support for restoring filtering expressions with custom filtering operands for the
IgxGridStateDirective.
-
-
Added the
IgcFormControldirective that, when imported with itsIgcFormsModule, is designed to seamlessly attach to form components from the Ignite UI for WebComponents package and allows using them in Angular templates and reactive forms with support forngModelandformControlNamedirectives. Currently the only Web Component with support through the directive isigc-rating.
General
- Breaking Changes -
filterableproperty ofIgxComboComponentis now deprecated and will be removed in future version. UsefilteringOptions.filterableinstead.
Theme Changes
- Breaking Changes -
$disable-shadowproperty ofIgxTabsComponenttheme has been removed.
14.0.0
- Added additional theme properties for the
IgxCalendarso that it's easier to style the:hoverand:focusstates inside the selected date or range of dates. IgxDatePickerandIgxDateRangePickernow expose aweekStartinput property like theIgxCalendarIgxComboandIgxSimpleComboComponent- The combobox
role,aria-haspopup,aria-expanded,aria-controlsandaria-labelledbyattributes have been moved from combo wrapper to the combo input. Additionally theIgxSimpleComboComponentinput is marked witharia-readonly="false"andaria-autocomplete="list"attributes. Thearia-labelledattribute is applied to the combo dropdown as well and can be set by theariaLabelledByproperty, the combo label or placeholder. The serach input within the combo dropdown is now marked asrole="searchbox",aria-label="search"andaria-autocomplete="list". The dropdown item container hasaria-activedescendantattribute to identify the currently active element of the item list. TheIgxCombocontainer is also marked asaria-multiselectable="true". The dropdown header items role has been changed togroup.
- The combobox
IgxDropDown- The
labelattribute has been changed toaria-labelledbyand can be set by a latterly added input propertylabelledBy.
- The
New Features
IgxComboandIgxSimpleComboComponentfilterFunctioninput is added. The new property allows changing of the way filtering is done in the combos. By default filtering is made over the values in combo's data when it is a collection of primitive values, or over the values as defined indisplayKeyof the combo. If custom filtering function is provided filtering will be done as specified in the provided function.
General
-
Updating dependency to Angular 14
-
Migrations- Migrations now support Yarn berry (version 2+)
-
IgxGridEditingActions- Added new inputs to show/hide the edit and delete buttons -
editRow,deleteRow.
- Added new inputs to show/hide the edit and delete buttons -
-
IgxTabs- Behavioral Change - Both scroll buttons are displayed when the tabs are not fully visible. When there is no tabs to be scrolled in one of the directions the corresponding scroll button is disabled.
-
Locale settings
IgxDatePickerandIgxDateRangePickernow expose aweekStartinput property like theIgxCalendarIColumnPipeArgsinterface now expose aweekStartproperty to control the first week of day in calendar used in the grid for editing and filteringlocaleproperty ofIgxCalendar,IgxDatePicker,IgxDateRangePickerandIgxGridwill now default to globall Angular application locale, if not set.weekStartproperty ofIgxCalendar,IgxDatePicker,IgxDateRangePickerandIgxGridwill default to the default first day for the current componentlocale, if not set.
13.2.0
General
-
IgxPivotGrid- Breaking Change - Changing the
IPivotValue'sformatterandstylesfunctions optional parameters, example:
formatter?: (value: any, rowData?: IPivotGridRecord, columnData?: IPivotGridColumn) => any;First optional parameter
rowDatais now of typeIPivotGridRecordand contains more contextual information on the dimension and aggregation values. Previously it contained just the aggregation data object. Old usage can be updated as follows, from:formatter: (value: any, rowData: any) => rowData['someField'];to:
formatter: (value: any, rowData: IPivotGridRecord) => rowData.aggregationValues.get('someField');Also an additional optional
columnDataparameter can be added, which contains information on the column dimensions. - Breaking Change - Changing the
-
IgxExpansionPanel- Changed the expansion panel layout, adding padding to the header and content elements.
New palette
A new fluent light and dark palettes that use the default fluent colors - $light-fluent-palette and $dark-fluent-palette.
New Features
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid-
new sortingOption property has been introduced on grid level; This property allows you to set either
singleormultiplesorting mode; When single mode is enabled you can sort one column at a time; The default value of the property ismultiple; -
Behavioral Change - sorting and grouping expressions are now working separately; If grouping/sorting expressions are in a conflict, grouping expressions take precedence. You can read more about that in our official documentation.
-
-
IgxSlider- support for double value binding in slider of type RANGE through newly exposed
lowerValueandupperValue
- support for double value binding in slider of type RANGE through newly exposed
-
IgxDrag- Behavioral Change - support for window scroll when dragging element to its edges
- new scrollContainer property that can specify specific element that should be scrolled instead of window for custom solutions.
13.1.0
New Features
- Added new CSS property
--igx-icon-sizeto allow changing the icon when its original size is modified by other components.
// will have effect only on icons that are children of .igx-button
.igx-button {
--igx-icon-size: 10px;
}
-
Added
IgxPivotGridcomponent(Preview)- The igxPivotGrid is a data presentation control for displaying data in a pivot table. It enables users to perform complex analysis on the supplied data. Main purpose is to transform and display a flat array of data into a complex grouped structure with aggregated values based on the main 3 dimensions: rows, columns and values, which the user may specify depending on his/her business needs. The whole pivot grid configuration is set through
IPivotConfigurationinterface.
<igx-pivot-grid [data]="origData" [pivotConfiguration]="pivotConfigHierarchy"> </igx-pivot-grid>- For more information, check out the README, specification and official documentation.
- The igxPivotGrid is a data presentation control for displaying data in a pivot table. It enables users to perform complex analysis on the supplied data. Main purpose is to transform and display a flat array of data into a complex grouped structure with aggregated values based on the main 3 dimensions: rows, columns and values, which the user may specify depending on his/her business needs. The whole pivot grid configuration is set through
-
IgxTreeGrid- Added support for tree filter items in the Excel Style filtering UI. Use the
TreeGridFilteringStrategyconstructor to specify which columns should display tree filter items.
- Added support for tree filter items in the Excel Style filtering UI. Use the
-
igxTooltipTargetdirective now allows specifying a plain text tooltip without adding an additional DOM element decorated with theigxTooltipdirective. This is achieved via the newly introducedtooltipstring input.<button igxTooltipTarget [tooltip]="'Infragistics Inc. HQ'"> info </button> -
IgxTabshave full right-to-left (RTL) support. -
IgxExcelExporterService- Added support for exporting the grids' headers by default when the data is empty. This behavior can be controlled by the
alwaysExportHeadersoption of the IgxExcelExporterOptions object.
- Added support for exporting the grids' headers by default when the data is empty. This behavior can be controlled by the
-
Theming
- Added
--igx-radius-factorproperty to allow for easier update of all components' roundness. Its value can be any decimal fraction between 0 and 1. By default the value is set to 1. - Added
--igx-elevation-factorproperty to allow for easier update of all components' shadows at runtime.
- Added
General
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Breaking Change -
movableproperty ofIgxColumnComponentis now deprecated and will be removed in future version. Instead, use the newly exposedmovingproperty on grid-level:
<igx-grid [data]="data" [moving]="true"> <igx-column field="Name"></igx-column> <igx-column field="Age"></igx-column> </igx-grid>- Breaking Change -
getFilterItemsmethod is added to theIFilteringStrategyinterface. Using the new method you could retrieve either list or tree filter items to be displayed for a column in the Excel Style filtering UI. If you have your own implementation of theIFilteringStrategyinterface, you will need to implement the new method. Otherwise, you could derive from theBaseFilteringStrategyclass or any of its sub-classes, which already implement the new method. - Exposed
dataChanginganddataChangedevents for the three grids that are re-emits of the correspondingIgxForOfevents. These indicate the beginning and end of the input change triggering the actual data re-rendering which happens each time the data view changes. This happens after changes in either the data the grid is bound or the state affecting the operations which alter this data (e.g. sorting, filtering, group-by). - Scrolling with the mouse wheel over cells with templates that include scrollable containers now correctly scroll these inner containers before the grid body scrolls.
- Breaking Change -
-
IgxToast- Breaking Changes - The toast deprecated
positionproperty have been removed. We suggest usingpositionSettingsproperty instead.
- Breaking Changes - The toast deprecated
13.0.5
New Features
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Added
dataCloneStrategyinput, which allows users provide their own implementation of how data objects are cloned when row and/or batch editing is enabled. The custom strategy should implement theIDataCloneStrategyinterface.
- Added
13.0.1
New Features
-
Add
igxSummarydirective in order to re-template the default summary cell layout.- Expose
summaryTemplateinput in order to bind the column summary template through API. - Expose
summaryRowHeightproperty which overrides the default hight of the summary row. - Code example below:
<igx-column ... [hasSummary]="true"> <ng-template igxSummary let-summaryResult> <span> My custom summary template</span> <span>{{ summaryResult[0].label }} - {{ summaryResult[0].summaryResult }}</span> </ng-template> </igx-column>- Please, refer to the Summaries topic for more information.
- Expose
13.0.0
New Features
-
Added
IgxSteppercomponent- Highly customizable component that visualizes content as a process and shows its progress by dividing the content into chronological
igx-steps. - Exposed API to control features like step validation, styling, orientation, and easy-to-use keyboard navigation.
- Code example below:
<igx-stepper> <igx-step *ngFor="let step of stepsData" > ... </igx-step> </igx-stepper>- For more information, check out the README, specification and official documentation.
- Highly customizable component that visualizes content as a process and shows its progress by dividing the content into chronological
-
Added
IgxFocusTrapdirective, which traps the Tab key focus within an element.<div #wrapper [igxFocusTrap]="true" tabindex="0"> <input type="text" placeholder="Enter Username" name="uname"> <input type="password" placeholder="Enter Password" name="psw"> <button>SIGN IN</button> </div> -
Added
IgxSimpleComboComponent- The
igx-simple-combowhich is a modification of theigx-combocomponent that allows single selection and has the appropriate UI and behavior for that. It inherits most of theigx-combo's API. - Allows the selection of single items in a filterable list.
- Supports custom values, keyboard navigation, validation, customized positioning of the item list via overlay settings.
- Example:
<igx-simple-combo [(ngModel)]="item" [allowCustomValues]="true" [placeholder]="'Search'" [data]="items"> <label igxLabel>Items</label> <igx-hint>Please select an item from the dropdown list.</igx-hint> </igx-simple-combo> - The
-
IgxCsvExporterService,IgxExcelExporterService- Exporter services are no longer required to be provided in the application since they are now injected on a root level.
-
IgxGridToolbarPinningComponent,IgxGridToolbarHidingComponent- Exposed new input
buttonTextwhich sets the text that is displayed inside the dropdown button in the toolbar.
- Exposed new input
-
IgxCombo- Added
groupSortingDirectioninput, which allows you to set groups sorting order.
- Added
-
igxChip- Exposed drop directive related events for the chip when it's used as a drop target:
dragLeavedragDropdragOver
- Exposed drop directive related events for the chip when it's used as a drop target:
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Added new directives for re-templating header sorting indicators -
IgxSortHeaderIconDirective,IgxSortAscendingHeaderIconDirectiveandIgxSortDescendingHeaderIconDirective.
- Added new directives for re-templating header sorting indicators -
-
IgxGrid- Exposed a
groupStrategyinput that functions similarly tosortStrategy, allowing customization of the grouping behavior of the grid. Please, refer to the Group By topic for more information.
- Exposed a
-
IgxDialog- Added
focusTrapinput to set whether the Tab key focus is trapped within the dialog when opened. Defaults totrue.
- Added
-
IgxProgressBar- Exposed new animationDuration input - sets the duration of the progress animation.
General
-
IE discontinued supportBreaking Change detailsweb-animations-jsis removed as Peer Dependency.- Removed IE from
.browserslistrc - Removed IE related
polyfills, like Importing ES7 polyfill for Object ('core-js/es7/object') for IE is no longer used.
-
IgxDialog- Breaking Change - The default positionSettings open/close animation has been changed to
fadeIn/fadeOut. The open/close animation can be set through the position settings, e.g. change the animation to the previously default open/close animation:
import { slideInBottom, slideOutTop } from 'igniteui-angular'; @ViewChild('alert', { static: true }) public alert: IgxDialogComponent; public newPositionSettings: PositionSettings = { openAnimation: useAnimation(slideInBottom, { params: { fromPosition: 'translateY(100%)' } }), closeAnimation: useAnimation(slideOutTop, { params: { toPosition: 'translateY(-100%)'} }) }; this.alert.positionSettings = this.newPositionSettings; - Breaking Change - The default positionSettings open/close animation has been changed to
-
igxGrid,igxHierarchicalGrid,igxTreeGrid- Breaking Change - The following deprecated inputs have been removed
- Inputs
showToolbar,toolbarTitle,columnHiding,columnHidingTitle,hiddenColumnsText,columnPinning,columnPinningTitle,pinnedColumnsText. UseIgxGridToolbarComponent,IgxGridToolbarHidingComponent,IgxGridToolbarPinningComponentinstead.
- Inputs
- Breaking Change - The
rowSelectedevent is renamed torowSelectionChangingto better reflect its function. - Breaking Change - The
columnSelectedevent is renamed tocolumnSelectionChangingto better reflect its function. - Breaking Change -
columnsCollectionis removed. Usecolumnsinstead. If at certain ocasionscolumnsreturn empty array, query the columns usingViewChildrenand access those inngAfterViewInit:
@ViewChildren(IgxColumnComponent, { read: IgxColumnComponent }) public columns: QueryList<IgxColumnComponent>;RowType,IgxRowDirective- Breaking Change -
rowDataandrowIDdeprecated properties are now removed. Usedataandkeyinstead. Useng updatefor automatic migration.
- Breaking Change -
igxRowSelectorrowIDin the context object of theigxRowSelectoris now deprecated and will be removed in future version. Usekeyproperty instead:
<igx-grid [data]="data", [rowSelection]="'multiple'" primaryKey="ID"> <igx-column field="Name"></igx-column> <igx-column field="Age"></igx-column> <ng-template igxRowSelector let-rowContext> <span>{{ rowContext.key }}</span> </ng-template> </igx-grid>IgxColumnActionsComponent- Breaking Change - Input
columnshas been removed. UseigxGridcolumnsinput instead.
- Breaking Change - Input
- Breaking Change - The following deprecated inputs have been removed
-
IgxCarousel- Breaking Changes - The carousel animation type
CarouselAnimationTypeis renamed toHorizontalAnimationType.
- Breaking Changes - The carousel animation type
-
Theming- Breaking Change - Changed CSS palette variables from HEX values to a list of H, S, L comma-separated values, which requires the use of the CSS
hslfunction when accessing these values directly..bozo { background: hsl(var(--igx-surface-500)); }
- Breaking Change - Changed CSS palette variables from HEX values to a list of H, S, L comma-separated values, which requires the use of the CSS
12.2.3
General
- Breaking Change -
IgxPercentSummaryOperandandIgxCurrencySummaryOperandhave been removed andIgxNumberSummaryOperandshould be used instead. If you have used the percent or currency summary operands to extend a custom summary operand from them, then change the custom operand to extend from the number summary operand. IgxToastComponent- Deprecated - The
positioninput property has been deprecated. UsepositionSettingsinput instead.
- Deprecated - The
12.2.1
New Features
igxGrid,igxHierarchicalGrid,igxTreeGrid- new
rowPinnedevent is emitted after a row is pinned/unpinned and grid has already refreshed its state to represent the pinned/unpinned rows in the DOM.
- new
12.2.0
New Features
igxGrid,igxHierarchicalGrid,igxTreeGrid-
Added capability to restore the state of multi column headers with
IgxGridStateDirective. -
Introduced new 'rowStyles' and 'rowClasses' grid properties which allows to define a custom styling on each grid row
-
Introduced two new cancellable outputs related to CRUD -
rowDeleteandrowAdd. Both use anIGridEditEventArgsobject as an event argument.<igx-grid #grid [data]="localData" (rowAdd)="rowAdd($event)" (rowDelete)="rowDelete($event)" [autoGenerate]="true"></igx-grid> -
Added two public methods that spawn the add row UI for an arbitrary record in the current data view. One that accepts a rowID to use as the row the UI spawns under and the other accepting an index that has a distinct implementation for
IgxTreeGrid. Please, refer to the official documentation for more information: Grid Row Adding and Tree Grid Row Adding.Note: That the new record is still added at the end of the data view, after the end-user submits it.
this.grid.beginAddRowById('ALFKI'); // spawns the add row UI under the row with PK 'ALFKI' this.grid.beginAddRowById(null); // spawns the add row UI as the first record this.grid.beginAddRowByIndex(10); // spawns the add row UI at index 10 this.grid.beginAddRowByIndex(0); // spawns the add row UI as the first record this.treeGrid.beginAddRowById('ALFKI', true); // spawns the add row UI to add a child for the row with PK 'ALFKI' this.treeGrid.beginAddRowByIndex(10, true); // spawns the add row UI to add a child for the row at index 10 this.treeGrid.beginAddRowByIndex(null); // spawns the add row UI as the first record -
Added
headerStylesandheaderGroupStylesinputs to the column component. Similar tocellStylesis exposes a way to bind CSS properties and style the grid headers.
-
igxTreeGrid- Added
TreeGridMatchingRecordsOnlyFilteringStrategy, which allows you to display only the records matching particular filtering condition without any trace for their parents.
- Added
IgxSnackbarComponent- Introduced new 'positionSettings' input which allows to define a custom animation and position.
IgxToastComponent- Introduced new 'positionSettings' input which allows to define a custom animation and position.
General
-
igxGrid,igxHierarchicalGrid,igxTreeGrid- 'oddRowCSS' and 'evenRowCSS' properties has been deprecated
- The column formatter callback signature now accepts the row data as an additional argument:
Theformatter(value: any, rowData?: any)rowDataargument may beundefinedin remote scenarios/applying the callback on filtering labels so make sure to check its availability.
-
IgxForOf- now takes margins into account when calculating the space that each element takes.Note: If your virtualized items contain margins, please calculate them into the
itemSizevalue for the best possible initial virtualized state. -
IgxExcelExporterService- Added support for freezing column headers in Excel. By default, the column headers would not be frozen but this behavior can be controlled by the
freezeHeadersoption of the IgxExcelExporterOptions object.
- Added support for freezing column headers in Excel. By default, the column headers would not be frozen but this behavior can be controlled by the
12.1.0
New Features
-
Added
IgxAccordioncomponent- A collection of vertically collapsible igx-expansion-panels that provide users with data and the ability to navigate through it in a compact manner. The control is not data bound and takes a declarative approach, giving users more control over what is being rendered.
- Exposed API to control the expansion state, easy-to-use keyboard navigation, option for nested accordions.
- Code example below:
<igx-accordion> <igx-expansion-panel *ngFor="let panel of panels"> ... </igx-expansion-panel> </igx-accordion>- For more information, check out the README, specification and official documentation
-
igxGrid- New
additionalTemplateContextcolumn input:
<igx-column [additionalTemplateContext]="contextObject"> <ng-template igxCell let-cell="cell" let-props="additionalTemplateContext"> {{ props }} </ng-template> </igx-column> - New
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Added
batchEditing- anInputproperty for controlling what type of transaction service is provided for the grid. Setting<igx-grid [batchEditing]="true">is the same as providing[{ provide: IgxGridTransaction, useClass: IgxTransactionService }]. - Deprecation - Providing a transaction service for the grid via
providers: [IgxTransactionService]is now deprecated and will be removed in a future patch. Instead, use the newbatchEditingproperty to control the grid's Transactions.
<igx-grid #grid [data]="data" [batchEditing]="true"> ... </igx-grid> <button igxButton (click)="grid.transactions.undo">Undo</button>- Breaking changes
IgxGridCellComponent,IgxTreeGridCellComponent,IgxHierarchicalGridCellComponentare no longer exposed in the public API. Instead, a new classIgxGridCellreplaces all of these. It is a facade class which exposes only the public API of the above mentioned. Automatic migration will change these imports withCellType, which is the interface implemented byIgxGridCell
- Behavioral changes
getCellByKey,getCellByColumn,getCellByColumnVisibleIndex,row.cells,column.cells,grid.selectedCellsnow return anIgxGridCelltheCellTypeinterface.cellinIGridCellEventArgsis nowCellType.IGridCellEventArgsare emitted incellClick,selected,contextMenuanddoubleClickevents.let-cellproperty in cell template is nowCellType.getCellByColumnVisibleIndexis now deprecated and will be removed in next major version. UsegetCellByKey,getCellByColumninstead.
- Added
-
Transactions- Added
IgxFlatTransactionFactory- the singleton service instantiates a newTransactionService<Transaction, State>given atransaction type. - Added
IgxHierarchicalTransactionFactory- the singleton service instantiates a newHierarchicalTransactionService<HierarchicalTransaction, HierarchicalState>given atransaction type.
- Added
-
Toolbar Actions- Exposed a new input property
overlaySettingsfor all column actions (hiding|pinning|advanced filtering|exporter). Example below:
<igx-grid-toolbar-actions> <igx-grid-toolbar-pinning [overlaySettings]="overlaySettingsGlobal"></igx-grid-toolbar-pinning> <igx-grid-toolbar-hiding [overlaySettings]="overlaySettingsAuto"></igx-grid-toolbar-hiding> </igx-grid-toolbar-actions> - Exposed a new input property
-
IgxPaginatorComponent- Added
pagingandpagingDoneevents;pagingevent is cancellable and is emitted before pagination is performed,pagingDoneevent gives you information about the previous and the current page number and is not cancellable; AlsoIgxPageSizeSelectorComponentandIgxPageNavigationComponentare introduced and now the paginator components allows you to define a custom content, as it is shown in the example below:
<igx-paginator #paginator> <igx-paginator-content> <igx-page-size></igx-page-size> <button [disabled]="paginator.isFirstPage" (click)="paginator.previousPage()">PREV</button> <span>Page {{paginator.page}} of {{paginator.totalPages}}</span> <button [disabled]="paginator.isLastPage" (click)="paginator.nextPage()">NEXT</button> </igx-paginator-content> </igx-paginator> - Added
-
Exporters'scolumnExportingevent now supports changing the index of the column in the exported file.this.excelExporterService.columnExporting.subscribe((col) => { if (col.field === 'Index') { col.columnIndex = 0; } }); -
IgxExcelExporterService- Added support for exporting the grids' multi-column headers to Excel. By default, the multi-column headers would be exported but this behavior can be controlled by the
ignoreMultiColumnHeadersoption off the IgxExcelExporterOptions object.
- Added support for exporting the grids' multi-column headers to Excel. By default, the multi-column headers would be exported but this behavior can be controlled by the
-
IgxDateTimeEditor,IgxMask,IgxDatePicker,IgxTimePicker,IgxDateRangePicker- Added IME input support. When typing in an Asian language input, the control will display input method compositions and candidate lists directly in the control’s editing area, and immediately re-flow surrounding text as the composition ends.
General
-
IgxGridComponent- The following properties are deprecated:
pagingperPagepagetotalPagesisFirstPageisLastPagepageChangeperPageChangepagingDone
- The following methods, also are deprecated:
nextPage()previousPage()
- Breaking Change the following property has been removed
paginationTemplate
- The following properties are deprecated:
-
IgxPaginatorComponent- Deprecated properties
selectLabelandprepositionPageare now removed; - Breaking Change - the following properties are removed
pagerEnabledpagerHiddendropdownEnableddropdownHidden
- Deprecated properties
-
IgxSnackbarComponent- Deprecated property
messageis now removed; - Breaking Change - the
snackbarAnimationStartedandsnackbarAnimationDonemethods are now removed. TheanimationStartedandanimationDoneevents now provide reference to theToggleViewEventArgsinterface as an argument and are emitted by theonOpenedandonClosedevents of theIgxToggleDirective.
- Deprecated property
-
IgxToastComponent- Deprecated property
messageis now removed; - Breaking Change - The
isVisibleChangeevent now provides reference to theToggleViewEventArgsinterface as an argument.
- Deprecated property
-
Breaking Change -
IgxOverlayServiceevents are renamed as follows:onOpening->openingonOpened->openedonClosing->closingonClosed->closedonAppended->contentAppendedonAnimation->animationStarting
-
IgxMaskDirective- Breaking Change - Deprecated property
placeholderis now removed; - Breaking Change -
IgxMaskDirectiveevents are renamed as follows:onValueChange->valueChanged
- Breaking Change - Deprecated property
-
Breaking Change -
IgxBannerComponentevents are renamed as follows:onOpening->openingonOpened->openedonClosing->closingonClosed->closed
-
IgxExpansionPanelComponent-
Breaking Change -
IExpansionPanelEventArgs.panel- Deprecated event propertypanelis removed. Usеownerproperty to get a reference to the panel. -
Breaking Change -
IgxExpansionPanelComponentevents are renamed as follows:onCollapsed->contentCollapsedonExpanded->contentExpanded
-
Breaking Change -
IgxExpansionPanelHeaderComponentevents are renamed as follows:onInteraction->interaction
-
Behavioral Change - Settings
disabledproperty ofIgxExpansionPanelHeaderComponentnow makes the underlying header element not accessible viaTabnavigation (viatabindex="-1") -
Feature - Added
contentExpandingandcontentCollapsingevents, fired when the panel's content starts expanding or collapsing, resp. Both events can be canceled, preventing the toggle animation from firing and thecollapsedproperty from changing:
<igx-expansion-panel (contentExpanding)="handleExpandStart($event)" (contentCollapsing)="handleCollapseStart($event)"> ... </igx-expansion-panel> -
-
IgxBannerBannerEventArgs.banner- Deprecated. Usеownerproperty to get a reference to the banner.
-
IgxDropDown- Breaking Change - The dropdown items no longer takes focus unless
allowItemsFocusis set totrue. - Breaking Change - The following events have been renamed as follows:
onOpening->openingonOpened->openedonClosing->closingonClosed->closedonSelection->selectionChanging
- Breaking Change - The dropdown items no longer takes focus unless
-
IgxToggleDirective- Breaking Change - The following events have been renamed as follows:
onOpened->openedonOpening->openingonClosed->closedonClosing->closingonAppended->appended
- Breaking Change - The following events have been renamed as follows:
-
IgxCombo- Breaking Change - The following events have been renamed as follows:
onSelectionChange->selectionChangingonSearchInput->searchInputUpdateonAddition->additiononDataPreLoad->dataPreLoadonOpening->openingonOpened->openedonClosing->closingonClosed->closed
openedandclosedevent will emit withIBaseEventArgs.openingevent will emit withCancelableBrowserEventArgs.- Breaking Change -
IComboSelectionChangeEventArgsis renamed toIComboSelectionChangingEventArgs
- Breaking Change - The following events have been renamed as follows:
-
IgxSelectopenedandclosedevent will emit withIBaseEventArgs.openingevent will emit withCancelableBrowserEventArgs.- Breaking Change - The following events have been renamed as follows:
onOpening->openingonOpened->openedonClosing->closingonClosed->closedonSelection->selectionChanging
-
IgxAutocomplete- Breaking Change - The following events have been renamed as follows:
onItemSelected->selectionChanging
- Breaking Change -
AutocompleteItemSelectionEventArgsis renamed toAutocompleteSelectionChangingEventArgs
- Breaking Change - The following events have been renamed as follows:
-
IgxDialog- Breaking Change - The following events have been renamed as follows:
onOpen->openingonOpened->openedonClose->closingonClosed->closedonLeftButtonSelect->leftButtonSelectonRightButtonSelect->rightButtonSelect
- Breaking Change - The following events have been renamed as follows:
-
IgxDropDownopenedandclosedevent will emit withIBaseEventArgs.
Themes
- Breaking Change - The
$colorproperty of theigx-action-strip-themehas been renamed as follows:$color->$icon-color
12.0.3
General
IgxExpansionPanelHeaderComponent- Behavioral Change - Settings
disabledproperty ofIgxExpansionPanelHeaderComponentnow makes the underlying header element not accessible viaTabnavigation (viatabindex="-1")
- Behavioral Change - Settings
12.0.0
General
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Breaking Change - The
localeandpipeArgsparameters are removed from theoperatemethod exposed by theIgxNumberSummaryOperand,IgxDateSummaryOperand,IgxCurrencySummaryOperandandIgxPercentSummaryOperand. They are now set in theigx-grid-summary-celltemplate. To change the locale and format setting of theigx-grid-summary-cellthe user can use the newsummaryFormatterproperty of theIgxColumnComponent. - Breaking Change -
IgxGrid,IgxTreeGrid,IgxHierarchicalGridevents are renamed as follows:onCellClick->cellClickonScroll->gridScrollonSelection->selectedonRowSelectionChange->rowSelectedonColumnSelectionChange->columnSelectedonColumnPinning->columnPinonColumnInit->columnInitonSortingDone->sortingDoneonFilteringDone->filteringDoneonPagingDone->pagingDoneonRowAdded->rowAddedonRowDeleted->rowDeletedonColumnResized->columnResizedonContextMenu->contextMenuonDoubleClick->doubleClickonColumnVisibilityChanged->columnVisibilityChangedonColumnMovingStart->columnMovingStartonColumnMoving->columnMovingonColumnMovingEnd->columnMovingEndonGridKeydown->gridKeydownonRowDragStart->rowDragStartonRowDragEnd->rowDragEndonGridCopy->gridCopyonRowToggle->rowToggleonRowPinning->rowPinningonToolbarExporting->toolbarExportingonRangeSelection->rangeSelected
IgxGridRowComponent,IgxGridGroupByRowComponent,IgxTreeGridRowComponent,IgxHierarchicalRowComponentare no longer exposed in the public API. Automatic migration will change these imports withRowType.- The IgxColumn data type
DataTypeis renamed toGridColumnDataType. - Behavioral changes
getRowByIndex,getRowByKey,cell.rownow return an object implemening theRowTypeinterface.dragDataemitted withIRowDragEndEventArgs,IRowDragStartEventArgsis nowRowTypeIRowDragEndEventArgs,IRowDragStartEventArgsnow emitdragElement, which holds the dragged row html element.rowinIPinRowEventArgsis nowRowType
- Breaking Change - The
IgxTabs,IgxBottomNav- Breaking Change -
IgxTabsandIgxBottomNavcomponents were completely refactored in order to provide more flexible and descriptive way to define tab headers and contents. Please make sure to update viang updatein order to migrate the existingigx-tabsandigx-bottom-navdefinitions to the new ones.
- Breaking Change -
IgxForOfDirective- Breaking Change -
IgxForOfDirectiveevents are renamed as follows:onChunkLoad->chunkLoadonScrollbarVisibilityChanged->scrollbarVisibilityChangedonContentSizeChange->contentSizeChangeonDataChanged->dataChangedonBeforeViewDestroyed->beforeViewDestroyedonChunkPreload->chunkPreloadonDataChanging->dataChanging
- Breaking Change -
IgxColumnComponent- Breaking Change - The
onColumnChangeoutput is renamed tocolumnChange.
- Breaking Change - The
- Breaking Change -
IgxHierarchicalGridandigxRowIslandevents are renamed as follows:onGridCreated->gridCreatedonGridInitialized->gridInitializedonDataPreLoad->dataPreLoad
IgxInputGroupComponent- Breaking Change -
disabledproperty removed. Use the underlyingIgxInputDirective.disabledto control the disabled state of the input group. Please make sure to update viang updateto migrate an usage ofdisabledin your template files. Please make sure to check out the update guide.
- Breaking Change -
IgxDateTimeEditor- Breaking Change -
onValueChangeevent is renamed tovalueChange. - Breaking Change -
isSpinLoopproperty is renamed tospinLoop.
- Breaking Change -
IgxDatePicker- Breaking Change -
onSelectionevent is renamed tovalueChange. - Breaking Change - new way to define custom elements in the
igx-date-pickerwhile the following properties are deleted or deprecated:context,labelInternal,template.<igx-date-picker #datePicker [(value)]="date" [displayFormat]="'longDate'" [inputFormat]="'dd/MM/yyyy'"> <label igxLabel>Date: </label> <igx-picker-toggle igxPrefix> calendar_view_day </igx-picker-toggle> <igx-picker-clear igxSuffix> delete </igx-picker-clear> </igx-date-picker> - Breaking Change -
maskandformatare replaced byinputFormat. - Breaking Change -
placeholderdefaults to theinputFormat - Breaking Change -
editorTabIndexis renamed totabIndex. - Breaking Change -
monthsViewNumberis renamed todisplayMonthsCount. - Breaking Change -
verticalis renamed toheaderOrientation. - Breaking Change -
displayDatais renamed todisplayFormat. - Breaking Change -
dropDownOverlaySettingsandmodalOverlaySettingsare replaced byoverlaySettings. - Breaking Change -
onValidationFailedevent is renamed tovalidationFailed. - Breaking Change -
onDisabledDateevent is removed. - Breaking Change -
onOpening,onOpened,onClosingandonClosedevents are renamed respectively toopening,opened,closingandclosed. - Breaking Change -
igxDatePickerActionsis renamed toigxPickerActions - Behavioral Change - Upon opening, the focused date will always be the selected/bound date. If there is no selected/bound date, the date picker will focus today's date. If
minValueand/ormaxValueare applied and today's date (or the bound date) is outside of the specified range, the focused date will be respectivelyminValueormaxValue.
- Breaking Change -
IgxTimePicker- Breaking Change -
valuetype could beDateorstring. - Breaking Change -
onValueChangedevent is renamed tovalueChange. - Breaking Change - new way to define custom elements in the
igx-time-pickerwhile the following properties are deleted or deprecated:context,promptChar,displayTime,template.<igx-time-picker #timePicker [(value)]="time" [displayFormat]="'mediumTime'" [inputFormat]="hh:mm:ss"> <label igxLabel>Time: </label> <igx-picker-toggle igxPrefix> alarm </igx-picker-toggle> <igx-picker-clear igxSuffix> delete </igx-picker-clear> </igx-time-picker> - Breaking Change -
formatis replaced byinputFormat. - Breaking Change -
placeholderdefaults to theinputFormat - Breaking Change -
isSpinLoopproperty is renamed tospinLoop. - Breaking Change -
verticalis renamed toheaderOrientation. - Breaking Change -
onOpening,onOpened,onClosingandonClosedevents are renamed respectively toopening,opened,closingandclosed. - Breaking Change -
onValidationFailedevent is renamed tovalidationFailed. - Behavioral Change - The dropdown/dialog displays time portions within
minValueandmaxValuerange if set or time between 00:00 and 24:00 in the providedinputFormat. The displayed values for each time portion are calculated based on the items delta always starting from zero. If theminValueormaxValuedoes not match the items delta, the displayed values will start/end from the next/last possible value that matches the delta. Upon opening, the selected time will be the bound value. In cases when there is not a bound value, it is outside the min/max range or does not match the items delta, the selected time will be the closest possible time that matches the items delta.
- Breaking Change -
IgxDateRangePicker- Breaking Change -
rangeSelectedevent is renamed tovalueChange. - Breaking Change -
onOpening,onOpened,onClosingandonClosedevents are renamed respectively toopening,opened,closingandclosed. - Breaking Change -
monthsViewNumberis renamed todisplayMonthsCount.
- Breaking Change -
IgxSliderComponent- Breaking Change - The following outputs are renamed:
onValueChangetovalueChangeonValueChangedtodragFinished
- Breaking Change - The following outputs are renamed:
IgxCircularProgressBarComponent- Breaking Change - The following outputs are renamed:
onProgressChangedtoprogressChanged
- Breaking Change - The following outputs are renamed:
IgxLinearProgressBarComponent- Breaking Change - The following outputs are renamed:
onProgressChangedtoprogressChanged
- Breaking Change - The following outputs are renamed:
IgxToast- Breaking Change - The following deprecated methods and outputs have been removed
- Outputs
showing,shown,hiding,hidden. UseonOpening,onOpened,onClosing,onClosedinstead. - Methods
show,hide. Useopen,closeinstead.
- Outputs
- Breaking Change - The following deprecated methods and outputs have been removed
IgxSnackbar- Breaking Change - The following deprecated methods have been removed
show,hide. Useopen,closeinstead.
- Breaking Change - The following deprecated methods have been removed
New Features
-
Added
IgxTreecomponent- Allows users to render hierarchical data in an easy-to-navigate way. The control is not data bound and takes a declarative approach, giving users more control over what is being rendered.
- Features API for handling selection (bi-state and cascading), node activation, node expansion state.
- Features extensive and easy-to-use keyboard navigation, fully compliant with W3 standards.
- Code example for a tree contructured from a hierarchical data set:
<igx-tree> <igx-tree-node *ngFor="let node of data" [data]="node" [expanded]="isNodeExpanded(node)" [selected]="isNodeSelected(node)"> {{ node.text }} <img [src]="node.image" alt="node.imageAlt" /> <igx-tree-node *ngFor="let child of node.children" [data]="child" [expanded]="isNodeExpanded(child)" [selected]="isNodeSelected(child)"> {{ child.text }} <igx-tree-node *ngFor="let leafChild of child.children" [data]="leafChild" [expanded]="isNodeExpanded(leafChild)" [selected]="isNodeSelected(leafChild)"> <a igxTreeNodeLink href="{{leafChild.location}}" target="_blank">{{ leafChild.text }}</a> </igx-tree-node> </igx-tree-node> </igx-tree-node> </igx-tree>- For more information, check out the README, specification and official documentation
-
IgxHierarchicalGrid- Added support for exporting hierarchical data.
-
IgxForOf,IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Behavioral Change - Virtual containers now scroll smoothly when using the mouse wheel(s) to scroll them horizontally or vertically. This behavior more closely resembles the scrolling behavior of non-virtualized containers in most modern browsers.
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid-
The
IgxRowAddTextDirectiveallows to customize the text of the row adding overlay.<igx-grid [rowEditable]="true"> <ng-template igxRowAddText> Adding Row </ng-template> </igx-grid> -
A new
summaryFormatterinput property is exposed by theIgxColumnComponent, which is used to format the displayed summary values for the columns.public dateSummaryFormat(summary: IgxSummaryResult, summaryOperand: IgxSummaryOperand): string { const result = summary.summaryResult; if(summaryOperand instanceof IgxDateSummaryOperand && summary.key !== 'count' && result !== null && result !== undefined) { const pipe = new DatePipe('en-US'); return pipe.transform(result,'MMM YYYY'); } return result; }<igx-column field="OrderDate" header="Order Date" [sortable]="true" [disableHiding]="true" [dataType]="'date'" [hasSummary]="true" [summaryFormatter]="dateSummaryFormat"> </igx-column> -
Two new column types are introduced
dateTimeandtime. In order to operate with them is necessary to set the column property dataType to'dateTime'or'time'.<igx-column field="OrderDate" header="Order Date" [dataType]="'dateTime'" > </igx-column> <igx-column field="ClosingTime" header="Closing time" [dataType]="'time'" > </igx-column> -
Behavioral Change -
Column Autosizefeature now does not handle templated headers where the first level children are sized based on parent like defaultdivand etc. Autosizing for such headers will not result in change. -
Behavioral Change - Calling
autosizethrough theIgxColumnComponentAPI now takes into consideration theminWidthandmaxWidthof the column. -
A new
IgxColumnComponentinput property is exposed calledautosizeHeader, which if false, allows the autosizing to ignore the header cell and autosize only based on content cells.
-
-
IgxTabs- The
tabAlignmentproperty of theIgxTabscomponent replaces thetypeproperty and enables you to set the tab alignment tostart,center,endandjustify. - The
igx-tab-headersupportsigx-prefixandigx-suffixdirectives in itsng-content.
- The
-
IgxBottomNav- The
IgxBottomNavcomponent exposesdisableAnimationsproperty which determines whether the contents should animate when switching the selected item. The property is set totrueby default which means that the animations are disabled.
- The
-
IgxOverlayServicedetachanddetachAllmethods are added toIgxOverlayService. Callingdetachwill remove all the elements generated for the related overlay, as well as clean up all related resources. CallingdetachAllwill remove all elements generated by any call toIgxOverlayattach, and will clean up all related resources. Note: callinghideorhideAllwill not clean generated by the service elements and will not clean up related resources.
-
IgxCombo- Any changes to
IComboItemAdditionEvent.addedItemwill be reflected in the item added to the data. IgxComboComponent.onAdditionis now cancelable. You can prevent the item from being added by setting the event argscancelproperty totrue.
public handleComboItemAddition(event: IComboItemAdditionEvent): void { if (event.addedItem[this.combo.valueKey] === 'ForbiddenValue') { event.cancel = true; } else if (event.addedItem[this.combo.valueKey] === 'Change Me') { const index = this.iter++; event.addedItem = { [this.combo.valueKey]: `customId${index}`, [this.combo.displayKey]: `New item ${index}`; } } } - Any changes to
-
IgxDateTimeEditorvalueaccepts ISO 8601 string format.spinDeltainput property which allows a user to provide different delta values that will be used for spinning. All parts default to1.incrementanddecrementmethods now accept an optionaldeltaparameter which targets the currently spun date portion. It takes precedence over the values set inspinDelta.
-
IgxDatePickervalueaccepts ISO 8601 string format.- The actions template now exposes the Calendar component as implicit context:
<igx-date-picker> <ng-template igxPickerActions let-calendar> <button igxButton="flat" (click)="calendar.viewDate = today">Today</button> </ng-template> </igx-date-picker>
-
IgxTimePickervalueaccepts ISO 8601 string format.- The
igxPickerActionsdirective can now be used to provide custom buttons to the picker's pop-up:<igx-time-picker #timePicker> <ng-template igxPickerActions> <button igxButton="flat" (click)="timePicker.close()">Close</button> </ng-template> </igx-time-picker>
-
IgxDateRangePickervaluestart and end accept ISO 8601 string format.- The
igxPickerActionsdirective can now be used to template the pickersDonebutton:<igx-date-range-picker #rangePicker> <ng-template igxPickerActions> <button igxButton="flat" (click)="rangePicker.close()">Close</button> </ng-template> </igx-date-range-picker>
Themes:
-
Breaking Changes:
IgxButtontheme has been simplified. The number of theme params (igx-button-theme) has been reduced significantly and no longer includes prefixed parameters (flat-*,raised-*, etc.). See the migration guide to update existing button themes. Updates performed withng updatewill migrate existing button themes but some additional tweaking may be required to account for the abscense of prefixed params.- The
igx-typographymixin is no longer implicitly included withigx-core. To use our typography styles users have to include the mixin explicitly:
@include igx-core(); /// Example with Indigo Design theme: @include igx-typography($font-family: $indigo-typeface, $type-scale: $indigo-type-scale);
11.1.13
General
IgxExpansionPanelHeaderComponent- Behavioral Change - Settings
disabledproperty ofIgxExpansionPanelHeaderComponentnow makes the underlying header element not accessible viaTabnavigation (viatabindex="-1")
- Behavioral Change - Settings
11.1.1
New Features
-
IgxAutocomplete- Exported the component instance in the template with the name
igxAutocomplete.
<input type="text" [igxAutocomplete]="townsPanel" #autocompleteRef="igxAutocomplete"/> - Exported the component instance in the template with the name
11.1.0
New Features
-
IgxDropDown- The
igx-drop-down-itemnow allows forigxPrefix,igxSuffixandigx-dividerdirectives to be passed asng-contentand they will be renderer accordingly in the item's content.
- The
-
IgxGrid- Added support for exporting grouped data.
-
IgxTreeGrid-
Added
multipleCascaderow selection mode. In this mode, selecting a record results in the selection of all its children recursively. When only some children are selected, their parent's checkbox is in an indeterminate state.<igx-tree-grid [rowSelection]="'multipleCascade'"> </igx-tree-grid>
-
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Support for
currencytype columns is added in the grid. - Support for
percenttype columns is added in the grid. - Added support for filtering based on the formatted cell values using the
FormattedValuesFilteringStrategyforIgxGrid/IgxHierarchicalGridandTreeGridFormattedValuesFilteringStrategyforIgxTreeGrid. - The following new events are introduced:
sorting,filtering,columnPinned,columnVisibilityChanging. - Behavioral Change -
onColumnPinningto emitIPinColumnCancellableEventArgsinstead ofIPinColumnEventArgs.Column pinning,Column moving,paginginteractions now discard the editing value, instead of committing it.Column Resizingnow does not exit edit mode.
- Support for
-
IgxInputnow supportstype="file"and its styling upon all themes. Note: validation of file type input is not yet supported. -
igxSplitternow has the following additional outputs:resizeStart- Emits when pane resizing starts.resizing- Emits while panes are being resized.resizeEnd- Emits when pane resizing ends.
All emit with the two panes affected by the resize operation as arguments.
General
- Breaking Change - Many outputs are renamed with the introduction of new rules in Ignite UI for Angular's naming convention. Please, ensure that when you update to 11.1 you do so through
or execute the update migrations manually afterwardsng update igniteui-angular
This will ensure your application is updated to use the new output names.ng update igniteui-angular --migrate-only IgxCheckbox, IgxRadio, IgxSwitchnow follow the Google Material spec for focus behavior. See checkbox, radio, and switch.IgxDialog- The dialog content has been moved inside the dialog window container in the template. This means that if you have added something in-between the opening and closing tags of the dialog, you may have to adjust its styling a bit since that content is now rendered inside a container that has padding on it.
IgxCalendar- Breaking Change
- A new string enumeration
IgxCalendarViewis exported. Either the new one or the currentCalendarViewcan be used.CalendarViewwill be deprecated in a future release. onSelectionis nowselectedonViewChangingis nowviewChangingonDateSelectionis nowdateSelectiononYearSelectionis nowyearSelectiononMonthSelectionis nowmonthSelection
IgxYearsViewComponent- Breaking Change
onSelectionis nowselectedonYearSelectionis nowyearSelection
IgxDaysViewComponent- Breaking Change
onDateSelectionis nowdateSelectiononViewChangingis nowviewChanging
IgxMonthsViewComponent- Breaking Change
onSelectionis nowselectedonMonthSelectionis nowmonthSelection
IgxMonthPickerComponent- Breaking Change
onSelectionis nowselected
IgxRadioGroup- Added new property
alignmentthat determines the radio group alignment. Available options arehorizontal(default) andvertical.
- Added new property
IgxDialog- Added new
onOpenedandonClosedevents.
- Added new
IgxIcon- Deprecated - The
colorinput property has been deprecated. - Renamed inputs
isActivetoactivefontSettofamily
- Deprecated - The
IgxToast- Breaking Change -
showandhidemethods have been deprecated.openandcloseshould be used instead.onShowing,onShown,onHidingandonHidenevents have been deprecated.onOpening,onOpened,onClosingandonClosedshould be used instead.
- Breaking Change -
IgxInputGroup- Added new property
themethat allows you to set the theme explicitly and at runtime.
- Added new property
IgxSnackbarshowandhidemethods have been deprecated.openandcloseshould be used instead.
IgxSplitter- Breaking Change - the
onToggleoutput is deprecated. A new output is introduced to replace it -collapsedChange. This allows for thecollapsedstate to be two-way bindable using the syntax[(collapsed)]="paneCollapse"
- Breaking Change - the
IgxChip- Breaking Change - The following outputs are renamed:
onMoveStarttomoveStartonMoveEndtomoveEndonRemovetoremoveonClicktochipClickonSelectiontoselectedChangingonSelectionDonetoselectedChangedonKeyDowntokeyDownonDragEntertodragEnter
- Breaking Change - The following outputs are renamed:
IgxChipArea- Breaking Change - The following outputs are renamed:
onReordertoreorderonSelectiontoselectionChangeonMoveStarttomoveStartonMoveEndtomoveEnd
- Breaking Change - The following outputs are renamed:
IgxGrid,IgxHierarchicalGrid,IgxTreeGrid- Added new property
selectRowOnClickthat determines whether clicking over a row will change its selection state or not. Set totrueby default. GridPagingModeenum members rename -localtoLocalandremotetoRemote. Example:GridPagingMode.Local.
- Added new property
- IgxButton
- IgxIcon(s) placed in a button now include margin if there are one or more sibling elements to give them some breathing room. The amount of margin applied depends on the display density of the button.
IgxListComponent- Breaking Change - The following outputs are renamed:
onLeftPantoleftPanonRightPantorightPanonPanStateChangetopanStateChangeonItemClickedtoitemClicked
- Breaking Change - The following outputs are renamed:
IgxNavbarComponent- Breaking Change - The
onActionoutput is renamed toaction.
- Breaking Change - The
IgxTabsComponent- Breaking Change - The following outputs are renamed:
onTabItemSelectedtotabItemSelectedonTabItemDeselectedtotabItemDeselected
- Breaking Change - The following outputs are renamed:
IgxTooltipTargetDirective- Breaking Change - The following outputs are renamed:
onTooltipShowtotooltipShowonTooltipHidetotooltipHide
- Breaking Change - The following outputs are renamed:
IgxBaseExporter,IgxExcelExporterService,IgxCsvExporterService- Breaking Change - The following outputs are renamed:
onColumnExporttocolumnExportingonRowExporttorowExportingonExportEndedtoexportEnded
- Breaking Change - The following outputs are renamed:
11.0.15
New Features
-
IgxAutocomplete- Exported the component instance in the template with the name
igxAutocomplete.
<input type="text" [igxAutocomplete]="townsPanel" #autocompleteRef="igxAutocomplete"/> - Exported the component instance in the template with the name
11.0.4
General
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- a new property
eventhas been introduced toIGridEditEventArgsandIGridEditDoneEventArgs; the property represents the original DOM event that triggers any of Grid editing events likerowEditEnter,cellEditEnter,cellEdit,cellEditDone,cellEditExit,rowEdit,rowEditDone,rowEditExit - Behavioral Change - When there isn't a previous active node and the user enters the grid using tab or shift + tab key: the first fully visible element is activated: /no scroll bar positioning is reset/changed; If there is a previous active node in the grid - the previously active node is reactivated without resetting the scroll positions; If we follow the default tab navigation and we are currently on a data cell with / rowIndex: -1, columnIndex: 6/ for example when we tab down to the root summaries the summary cell with visible column index 6 should be activated and scroll into the view; The same applies if you shift+tab to the headers header cell with visible index 6 is activated and scrolled into the view; If you have an active node and go to another tab and then return back the active node and the current scroll position should not be changed;
- a new property
11.0.0
General
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid-
Added a new directive for re-templating the Excel style filtering header icon -
IgxExcelStyleHeaderIconDirective. -
Breaking Change
Changed the how the grid toolbar is instantiated in the grids. The toolbar is now templated rather than being activated through a property on the parent grid. The toolbar features are also exposed as templatable components and the old properties are deprecated. The implementation of the Column Hiding UI has been changed in order to select which columns should be displayed, instead of hidden.
Refer to the official documentation for more information.
-
FilteringStrategy- Breaking Change -
filtermethod exposed by theFilteringStrategyclass now requires 3rdadvancedExpressionsTreeand 4thgridparameters. If not needed, just passnull.
- Breaking Change -
New Features
IgxCalendar- Is now fully accessible to screen readers.
Improvements
IgxOverlay- New functionality to automatically determine the correct animation that is needed when showing an overlay content. This is used with Auto Position strategy, where the
IgxOverlaycontent is flipped, depending on the available space.
- New functionality to automatically determine the correct animation that is needed when showing an overlay content. This is used with Auto Position strategy, where the
10.2.25
IgxExpansionPanelHeaderComponent- Behavioral Change - Settings
disabledproperty ofIgxExpansionPanelHeaderComponentnow makes the underlying header element not accessible viaTabnavigation (viatabindex="-1")
- Behavioral Change - Settings
10.2.15
New Features
-
IgxAutocomplete- Exported the component instance in the template with the name
igxAutocomplete.
<input type="text" [igxAutocomplete]="townsPanel" #autocompleteRef="igxAutocomplete"/> - Exported the component instance in the template with the name
10.2.0
General
IgxGridActions- Added
asMenuItemsInput for grid actions -igx-grid-editing-actions,igx-grid-pinning-actions. When set to true will render the related action buttons as separate menu items with button and label.
- Added
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Behavioral Change - The Excel Style Filtering has been reworked to provide filtering experience such as in Excel. This includes the following changes:
- You can close the Excel Style Filtering menu by pressing
Ctrl + Shift + L. - You can apply the filter by pressing
Enter. - When searching items in the Excel Style Filtering menu, only the rows that match your search term will be filtered in.
- By checking the
Add current selection to filteroption, the new search results will be added to the previously filtered items.
- You can close the Excel Style Filtering menu by pressing
- Behavioral Change - The Excel Style Filtering has been reworked to provide filtering experience such as in Excel. This includes the following changes:
IgxInputGroup- Breaking Change - Removed
fluent,fluent_search,bootstrap, andindigoas possible values for thetypeinput property. - Behavioral Change - The styling of the input group is now dictated by the theme being used. The remaining
types-line,border, andboxwill only have effect on the styling when used with thematerialtheme. Thesearchtype will affect styling when used with all themes. Changing the theme at runtime will not change the styling of the input group, a page refresh is required.
- Breaking Change - Removed
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Rename outputs
onRowEditEntertorowEditEnteronCellEditEntertocellEditEnteronCellEdittocellEditonRowEdittorowEdit - Breaking Change - The
onCellEditCancelevent is replaced by the newcellEditExitevent that emits every time the editable cell exits edit mode. - Breaking Change - The
onRowEditCancelevent is replaced by the newrowEditExitevent that emits every time the editable row exits edit mode.
- Rename outputs
IgxOverlay- Breaking Change -
targetproperty inPositionSettingshas been deprecated. You can set the attaching target for the component to show inOverlaySettingsinstead.
- Breaking Change -
IgxToggleDirectiveonAppended,onOpenedandonClosedevents are emitting now arguments ofToggleViewEventArgstype.onOpeningandonClosingevents are emitting now arguments ofToggleViewCancelableEventArgstype.
IgxSelect- Added
aria-labelledbyproperty for the items list container(marked asrole="listbox"). This will ensure the users of assistive technologies will also know what the list items container is used for, upon opening.
- Added
IgxDatePicker- Breaking Change - Deprecated the
labelproperty. - Added
aria-labelledbyproperty for the input field. This will ensure the users of assistive technologies will also know what component is used for, upon input focus.
- Breaking Change - Deprecated the
igxNavigationDrawer- Added
disableAnimationproperty which enables/disables the animation, when toggling the drawer. Set tofalseby default.
- Added
igxTabs- Added
disableAnimationproperty which enables/disables the transition animation of the tabs' content. Set tofalseby default.
- Added
IgxExpansionPanelIExpansionPanelEventArgs.panel- Deprecated. Usеownerproperty to get a reference to the panel.
IgxCalendarComponent,IgxMonthsViewComponentandIgxYearsViewComponenttabIndexproperty was removed in order to improve on page navigation and to be compliant with W3 accessability recommendations; Also the date grid in the calendar is now only one tab stop, the same approach is applied and in theIgxMonthsViewComponentandIgxYearsViewComponent;
New Features
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- When triggering an export of the grid via the toolbar and the export takes more than 500 milliseconds, the export button becomes disabled and an indeterminate progress bar is shown at the bottom of the toolbar until the export is finished.
cellEditExitis a new event that fires when cell exits edit moderowEditExitis a new event that fires when row exits edit mode- Added getRowData(rowSelector) method that returns an object that represents the data that is contained in the specified row component.
- Added ability to spawn row adding UI through exposed methods. Note that rowEditing should be enabled.
beginAddRowmethod which starts the adding row UI.beginAddChildmethod which starts the adding child UI.
this.grid.beginAddRow(rowID);- Added an input properties to
IgxGridEditingActionscomponent to show/hide add row and add child buttons which trigger the UI based on context expression.
<igx-tree-grid [rowEditing]="true"> <igx-action-strip #actionStrip> <igx-grid-editing-actions [addRow]="true" [addChild]="actionStrip.context.level < 3"> </igx-grid-editing-actions> </igx-action-strip> </igx-tree-grid> - A new
localeandpipeArgsparameters are introduced in theoperatemethod exposed by theIgxNumberSummaryOperandandIgxDateSummaryOperand, which exposes the grid locale. Use thelocaleparameter to get localized summary data (as per the grid locale. If not passed,localedefaults to'en-US'). Use thepipeArgsparameter only if you want to customize the format of the date and numeric values that will be returned.
class MySummary extends IgxDateSummaryOperand { operate(columnData: any[], allData = [], fieldName, locale: string, pipeArgs: IColumnPipeArgs): IgxSummaryResult[] { const pipeArgs: IColumnPipeArgs = { format: 'longDate', timezone: 'UTC', digitsInfo: '1.1-2' } const result = super.operate(columnData, allData, fieldName, locale, pipeArgs); return result; } }- A new
pipeArgsinput property is exposed by theIgxColumnComponent, which is used to pass arguments to the AngularDatePipeandDecimalPipe, to format the display for date and numeric columns.
IGX_INPUT_GROUP_TYPEinjection token- Allows for setting an input group
typeon a global level, so all input-group instances, including components using such an instance as a template will have their input group type set to the one specified by the token. It can be overridden on a component level by explicitly setting atype.
- Allows for setting an input group
IgxExcelExporterService- Added
worksheetNameproperty to theIgxExcelExporterOptions, that allows setting the name of the worksheet.
- Added
IgxDatePicker- The the
labelproperty have been deprecated and a custom label can also be set by nesting a inside thetags.
- The the
IgxTimePicker- Added a custom label functionality.
IgxCalendarandIgxDatePicker- newshowWeekNumbersinput, that allows showing of the week number at left side of content area.IgxOverlay- The
PositionSettingstargetproperty has been deprecated and moved toOverlaySettings. - An optional Point/HTML Element parameter
targethas been added to theposition()method - Added
createAbsoluteOverlaySettingsandcreateRelativeOverlaySettingsmethods which create non-modalOverlaySettingsbased on predefinedPositionSettings. The methods are exposed off theIgxOverlayService.createAbsoluteOverlaySettingscreates non-modalOverlaySettingswithGlobalPositionStrategyorContainerPositionStrategyif an outlet is provided. AcceptsAbsolutePositionenumeration, which could beCenter,TopandBottom. Default isCenter.
const globalOverlaySettings = IgxOverlayService.createAbsoluteOverlaySettings(AbsolutePosition.Top);createRelativeOverlaySettingscreatesOverlaySettingswithAutoPositionStrategy,ConnectedPositioningStrategyorElasticPositionStrategy. Accepts target, strategy and position. Thetargetis the attaching point or element for the component to show. The position strategy is aRelativePositionStrategyenumeration, which defaults toAuto. The position is aRelativePositionenumeration. Possible values areAbove,Below,Before,AfterandDefault. The default option isDefault, which positions the element below the target, left aligned.
const targetElement = this.button.nativeElement; const connectedOverlaySettings = IgxOverlayService.createRelativeOverlaySettings( targetElement, RelativePositionStrategy.Connected, RelativePosition.Above);
- The
IgxToast- The component now utilizes the
IgxOverlayServiceto position itself in the DOM. - An additional input property
outlethas been added to allow users to specify custom Overlay Outlets using theIgxOverlayOutletDirective; - The
positionproperty now accepts values of typeIgxToastPositionthat work with strict templates.
- The component now utilizes the
IgxExpansionPanelHeaderonInteractionis now cancelable- Added
iconRefproperty. This can be used to get a reference to the displayed expand/collapsed indicator. ReturnsnullificonPositionis set toNONE.
10.1.0
General
igxCombo- Behavioral Change - Change default positioning strategy from
ConnectedPositioningStrategytoAutoPositionStrategy. TheAutostrategy will initially try to show the element like the Connected strategy does. If the element goes out of the viewport Auto will flip the starting point and the direction, i.e. if the direction is 'bottom', it will switch it to 'top' and so on. If after flipping direction the content goes out of the view, auto strategy will revert to initial start point and direction and will push the content into the view. Note after pushing the content it may hide the combo's input. - Make
onSearchInputevent cancellable. The event args type has been changed toIComboSearchInputEventArgs, which have the following properties:searchText- holds the text typed into the search input,owner- holds a reference to the combo component andcancel- indicates whether the event should be canceled.
- Behavioral Change - Change default positioning strategy from
IgxOverlay- Added new property
closeOnEscapeinOverlaySettingsthat controls whether the overlay should close on escape keypress. By defaultcloseOnEscis set tofalse. - Behavioral Change -
modaloverlays shown directly through the Overlay Service no longer close on Escape by default. That behavior can now be specified using thecloseOnEscapeproperty.
- Added new property
igxDialog- Added
closeOnEscape- with it, the dialog can be allowed or prevented from closing whenEscis pressed.
- Added
IgxNavbar:- Breaking Changes - The
igx-action-iconhas been renamed toigx-navbar-action. It should get renamed in your components viang update;
- Breaking Changes - The
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Breaking Change - The
selectedRowsmethod is now an@Inputproperty. Setting it to an array of Row IDs will update the grid's selection state, any previous selection will be cleared. Setting it to an empty array will clear the selection entirely. - Breaking Change - Removed
IgxExcelStyleSortingTemplateDirective,IgxExcelStyleHidingTemplateDirective,IgxExcelStyleMovingTemplateDirective,IgxExcelStylePinningTemplateDirectiveandIgxExcelStyleSelectingTemplateDirectivedirectives for re-templating the Excel style filter menu. Added two new directives for re-templating the column operations and filter operations areas -IgxExcelStyleColumnOperationsTemplateDirectiveandIgxExcelStyleFilterOperationsTemplateDirective. Exposed all internal components of the Excel style filter menu in order to be used inside the templates. - Breaking Change -
IgxColumnHidingandIgxColumnPinningcomponents have been deprecated in favor of a component combining the their functionality -IgxColumnActionswhich is used with either of the newIgxColumnPinningandIgxColumnHidingdirectives that specify the action to be triggered through the UI. - Added
movemethod which allows to move a column to a specified visible index. The method is exposed off theIgxColumnComponent.
- Breaking Change - The
igxGrid- Behavioral Change - For numeric columns, the onCellEdit arguments' newValue will now contain the numeric value that will be committed instead of the string input.
- Added
onScrollevent, which is emitted when the grid is scrolled vertically or horizontally. - Each grid now expose a default handling for boolean column types. The column will display
checkorcloseicon, instead of true/false by default.
igxTreeGrid- Removed
onDataPreLoadevent as it is specific for remote virtualization implementation, which is not supported for theigxTreeGrid. A more genericonScrollevent is exposed and can be used instead.
- Removed
IgxTimePicker- Added a disabled style for time parts outside of the minimum and maximum range.
igxDatePicker- Added new property -
editorTabIndex, that allows setting tabindex for the default editor.
- Added new property -
New Theme
Ignite UI for Angular now has a new theme based on our own design system.
You can use one of the following mixins to include a dark or light indigo theme:
igx-indigo-light-theme and igx-indigo-dark-theme
We also added two new palettes that go with the new theme, $light-indigo-palette and $dark-indigo-palette.
The following example shows how you can use the Indigo theme:
// Light version
.indigo-theme {
@include igx-indigo-light-theme($light-indigo-palette);
}
// Dark version
.indigo-dark-theme {
@include igx-indigo-dark-theme($dark-indigo-palette);
}
New Features
igxButtondirective- Added styles to support extended fab buttons.
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Exposed new
cellEditDoneandrowEditDonenon cancelable events. The arguments containrowDatathat is the committednewValue.cellEditDone- Emitted after a cell has been edited and editing has been committed.rowEditDone- Emitted after exiting edit mode for a row and editing has been committed.
- Introduced
showSummaryOnCollapsegrid property which allows you to control whether the summary row stays visible when the groupBy / parent row is collapsed. - Added support for tooltips on data cells default template and summary cells.
- Added support for binding columns to properties in nested data objects. Data operations (filtering/sorting/updating/etc) are supported for the nested properties.
<igx-column field="foo.bar.baz"></igx-column>- Exposed new
IgxGridStatedirective- Added support for expansion states, column selection and row pinning.
- Added support for
IgxTreeGridandIgxHierarchicalGrid(including child grids)
IgxColumn- Added
byHeaderparameter to theautosizemethod which specifies if the autosizing should be based only on the header content width.
- Added
IgxToastmessageproperty has been deprecated. You can place the message text in the toast content or pass it as parameter toshowmethod instead.- An optional string parameter
messagehas been added toshow()method.
IgxSnackbarmessageproperty has been deprecated. You can place the message text in the snackbar content or pass it as parameter toshowmethod instead.- An optional string parameter
messagehas been added toshow()method.
IgxNavbar- Added new
igx-navbar-title, igxNavbarTitledirective that can be used to provide custom content for navbar title. It would override the value oftitleinput property.
- Added new
IgxCalendarandIgxMonthPickerviewDateChangedemitted after the month/year presented in the view is changed after user interaction.activeViewChangedevent emitted after the active view (DEFAULT, YEAR, DECADE) is changed after user interaction.viewDateday value is always 1.activeViewsetter is now available as an input property.
IgxCombo- Added
showSearchCaseIconto display a case sensitive search icon in the search input. Icon click allows the user to easily toggle the search case sensitivity.
- Added
10.0.0
General
igxGrid- Behavioral Change - Group rows now display the group column's header name instead of field when one is available.
igx-select,igx-combo,igx-drop-down- Behavioral Change - The select, combo, and dropdown items now have display block and text-overflow ellipsis enabled by default. This requires styling to be handled on the application-level if there is something more than a simple text in the item.
IgxTransaction- TheonStateUpdatenow emits with information of its origin. The emitted value is of typeStateUpdateEvent, which has two properties:origin- it can vary within the values of theTransactionEventOrigininterface;actions- contains information about the transactions, that caused the emission of the event.
IgxPaginator- The inputoverlaySettingswas introduced, which allows applying custom overlay settings for the component.
New Features
-
IgxGridshowGroupAreainput is added, which can be used to enable/disable the group area row.- The event arguments of
onCellEdit,onCellEditEnterandonCellEditCancelevents will contain a reference to the row data, as well as a reference to the column. - The event arguments of
onRowEdit,onRowEditEnterandonRowEditCancelevents will contain a reference to the row data.
-
IgxSelectsupport forigxHintdirective added.- Allows the user to add
igxHintto be displayed bellow the input element.
- Allows the user to add
9.1.9
New Features
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Expose a setter for grid's
outletproperty, which can be used to set the outlet used to attach the grid's overlays to.
- Expose a setter for grid's
9.1.4
New Features
IgxList- Added localization support.
9.1.1
General
IgxHierarchicalGridonGridInitialized- New output has been exposed. Emitted after a grid is being initialized for the corresponding row island.
- Behavioral Change - When moving a column
DropPosition.Noneis now acting likeDropPosition.AfterDropTarget.
9.1.0
General
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Behavioral Change - When a column is sortable sort indicator is always visible. The column is sorted when click on it.
-
igx-paginator- The following inputs have been deprecated for thepaginatorcomponent and will be removed in future versionsselectLabelandprepositionPageUse 'resourceStrings' to set/get values.
-
IgxInputGroup- Renamed
supressInputAutofocusinput tosuppressInputAutofocus - Clicking on prefix, suffix or label elements in the Input Group will no longer blur and re-focus the input.
- Renamed
Themes
- Breaking Change Change the default
$legacy-supportvalue to false in theigx-themefunction.
New Features
-
IgxDateTimeEditordirective added.-
Allows the user to set and edit
dateandtimein a chosen input element. -
Can edit
dateortimeportion, using an editable masked input. -
Additionally, can specify a desired
displayandinputformat, as well asminandmaxvalues. -
A basic configuration scenario setting a Date object as a
value:
<igx-input-group> <input type="text" igxInput igxDateTimeEditor [value]="date"/> </igx-input-group>- Two-way data-binding via an ngModel:
<igx-input-group> <input type="text" igxInput igxDateTimeEditor [(ngModel)]="date"/> </igx-input-group> -
-
IgxDateRangePickercomponent added.- Allows the selection of a range of dates from a calendar UI or input fields. Supports
dialoganddropdownmodes. - Added
IgxDateRangeStartComponentandIgxDateRangeEndComponent. - The default template consists of a single readonly field:
<igx-date-range-picker [(ngModel)]="range"></igx-date-range-picker>- Projection of input fields using
igxDateTimeEditor<igx-date-range-picker> <igx-date-range-start> <input igxInput igxDateTimeEditor [(ngModel)]="range.start"> </igx-date-range-start> <igx-date-range-end> <input igxInput igxDateTimeEditor [(ngModel)]="range.end"> </igx-date-range-end> </igx-date-range-picker> - Added
IgxPickerToggleComponentwhich allows templating of the default icon in the input throughigxPrefixandigxSuffix.- default template:
<igx-date-range-picker> <igx-picker-toggle igxSuffix> <igx-icon>calendar_view_day</igx-icon> </igx-picker-toggle> </igx-date-range-picker>- with projections:
<igx-date-range-picker> <igx-date-range-start> ... <igx-picker-toggle igxPrefix> <igx-icon>calendar_view_day</igx-icon> </igx-picker-toggle> ... </igx-date-range-start> <igx-date-range-end> ... </igx-date-range-end> </igx-date-range-picker>
- Allows the selection of a range of dates from a calendar UI or input fields. Supports
-
IgxActionStripcomponent added.- Provides a template area for one or more actions. In its simplest form the Action Strip is an overlay of any container and shows additional content over that container.
<igx-action-strip #actionstrip> <igx-icon (click)="doSomeAction()"></igx-icon> </igx-action-strip> -
igxSplittercomponent added.- Allows rendering a vertical or horizontal splitter with multiple splitter panes with templatable content.
Panes can be resized or collapsed/expanded via the UI. Splitter orientation is defined via the
typeinput.
<igx-splitter [type]="type"> <igx-splitter-pane> ... </igx-splitter-pane> <igx-splitter-pane> ... </igx-splitter-pane> </igx-splitter> - Allows rendering a vertical or horizontal splitter with multiple splitter panes with templatable content.
Panes can be resized or collapsed/expanded via the UI. Splitter orientation is defined via the
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Added ability to pin rows to top or bottom depending on the new
pinninginput. And new API methodspinRowandunpinRow.
<igx-grid [data]="data" [pinning]="pinningConfiguration"></igx-grid>public pinningConfiguration: IPinningConfig = { rows: RowPinningPosition.Bottom };this.grid.pinRow(rowID);- Added support for pinning columns on the right. Change the position of pinning using the new
pinninginput.
<igx-grid [data]="data" [pinning]="pinningConfiguration"></igx-grid>public pinningConfiguration: IPinningConfig = { columns: ColumnPinningPosition.End };- Added new properties for paging:
totalRecordsset to alter the pages count based on total remote records. Keep in mind that If you are using paging and all the data is passed to the grid, the value of totalRecords property will be set by default to the length of the provided data source. If totalRecords is set, it will take precedent over the default length based on the data source.pagingMode- acceptsGridPagingModeenumeration. If the paging mode is set to remote the grid will not paginate the passed data source, if the paging mode is set to local (which is the default value) the grid will paginate the data source based on the page, perPage and totalRecords values.- Added functionality for column selection.
columnSelectionproperty has been added. It accepts GridSelection mode enumeration. Grid selection mode could be none, single or multiple.selectedproperty has been added to the IgxColumnComponent; Allows you to set whether the column is selected.selectableproperty has been added to the IgxColumnComponent; Allows you to set whether the column is selectable.onColumnSelectionChangeevent is added for theIgxGrid. It is emitted when the column selection is changed.excelStyleSelectingTemplateproperty is introduced to IgxGrid, which allows you to set a custom template for the selecting a column in the Excel Style Filter.selectedColumnsAPI method is added for theIgxGrid. It allows to get all selected columns.selectColumnsAPI method is added for theIgxGrid. It allows to select columns by passing array of IgxColumnComponent or column fields.deselectColumnsAPI method is added for theIgxGrid. It allows to deselect columns by passing array of IgxColumnComponent or column fields.deselectAllColumnsAPI method is added for theIgxGrid. It allows to deselect all columns.getSelectedColumnsDataAPI method is added for theIgxGrid. It allows to get the selected columns data. Added keyBoard navigation support in the IgxGrid headers. Now is possible to navigate with the arrows keys through grid headers. Also we provide a number of key combinations that trigger a different column functionality like filtering, sorting, grouping and etc. You can read more information in the Grid Specification.- Behavioral Change
- you can not use
tabkey to navigate between the cell in the Igx Grid. The navigation is performed only with arrow keys. - when you are in edit mode with
tabkey you can navigate to the next editable cell. page upandpage downkeys will perform action only if the focused element is the tbody of the grid.- The grid introduces the following basic
tab stops:- Toolbar / Group by Area if existing;
- The first cell in the header row;
- The first cell in the first body row;
- The first cell in column summary if exists;
- Pager UI;
- you can not use
- Added ability to pin rows to top or bottom depending on the new
-
IgxCombo:- Added
autoFocusSearchinput that allows to manipulate the combo's opening behavior. When the property istrue(by default), the combo's search input is focused on open. When set tofalse, the focus goes to the combo items container, which can be used to prevent the software keyboard from activating on mobile devices when opening the combo.
- Added
-
IgxToast:- Added functionality for displaying various content into the toast component. It also allows users to access toast styles through its host element.
-
IgxDrag- Added
igxDragIgnoredirective that allows children of theigxDragelement to be interactable and receive mouse events. Dragging cannot be performed from those elements that are ignored. - Added
dragDirectioninput that can specify only one direction of dragging or both.
- Added
-
IgxChip- Added support for tabIndex attribute applied to the main chip element.
- Added
tabIndexinput so it can support change detection as well.
-
IgxHighlightDirective- New
metadataproperty was introduced, which allows adding additional, custom logic to the activation condition of a highlighted element.
- New
RTL Support
igxSliderhave full right-to-left (RTL) support.
9.0.1
- Breaking Changes
- Remove
$base-colorfrom igx-typography. The igx-typography class now inherits the parent color.
- Remove
9.0.0
General
-
Added support for the Ivy renderer.
-
Breaking Changes The following classes and enumerators have been renamed. Using
ng updatewill apply automatically migrate your project to use the new names.IgxDropDownBase->IgxDropDownBaseDirectiveIgxDropDownItemBase->IgxDropDownItemBaseDirectiveIgxGridBaseComponent->IgxGridBaseDirectiveIgxRowComponent->IgxRowDirectiveIgxHierarchicalGridBaseComponent->IgxHierarchicalGridBaseDirectiveIgxMonthPickerBase->IgxMonthPickerBaseDirectiveAvatarType->IgxAvatarTypeSize->IgxAvatarSizeType->IgxBadgeTypeSliderType->IgxSliderTypeTabsType->IgxTabsType
-
Breaking Changes Due to a breaking change in Angular 9 with Ivy, Hammer providers are no longer included by default. You can find more information at: https://github.com/angular/angular/blob/master/CHANGELOG.md#breaking-changes-9 . Because of this change the following components require
HammerModuleto be imported in the root module of the application in order for user interactions to work as expected:IgxSlider
The following components require
HammerModuleto be imported in the root module of the application so that their touch interactions work as expected:igxGridigxHierarchicalGridigxTreeGridigxListigxNavigationDrawerigxTimePickerigxMonthPickerigxSliderigxCalendarigxDatePickerigxCarousel
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid-
Breaking Change - Hierarchical grid children no longer use the same
IgxTransactionServiceinstance and transaction handling should be modified to address each grid's transactions separately. -
Behavioral Change - Pinning columns is no longer automatically prevented when the pinning area would exceed the size of the grid.
-
Breaking Change - The following input and output have been deprecated for the
igxHierarchicalGridand will be removed in future versions:hierarchicalState->expansionStatesshould be used instead.hierarchicalStateChange->expansionStatesChangeshould be used instead.
-
igxGridStatedirective added to make it easy for developers to save and restore the grid state. The directive exposes thegetStateandsetStatemethods to save/restore the state and anoptionsinput property to exclude features.
-
-
IgxCarousel:- Breaking Changes -The carousel slides are no longer array, they are changed to QueryList.
- Behavioral change - When slides are more than 5, a label is shown instead of the indicators. The count limit of visible indicators can be changed with the input
maximumIndicatorsCount
-
IgxAvatar:- Breaking Changes - renamed the
defaultenumeration member tocustominIgxAvatarType;
- Breaking Changes - renamed the
-
IgxBadge:- Breaking Changes - renamed the
defaultenumeration member toprimaryinIgxBadgeType;
- Breaking Changes - renamed the
-
IgxCard:- Breaking Changes - renamed the
defaultenumeration member toelevatedinIgxCardType; - Breaking Changes - renamed the
defaultenumeration member tostartinIgxCardActionsLayout;
- Breaking Changes - renamed the
-
IgxDivider:- Breaking Changes - renamed the
defaultenumeration member tosolidinIgxDividerType; - Breaking Changes - renamed the
isDefaultgetter toisSolid;
- Breaking Changes - renamed the
-
IgxProgress:- Breaking Changes - renamed the
dangerenumeration member toerrorinIgxProgressType; - Breaking Changes - renamed the
dangergetter toerror;
- Breaking Changes - renamed the
-
IgxTabs:- Breaking Changes - The
tabsTypeinput property has been renamed totype. It should get renamed in your components viang update;
- Breaking Changes - The
-
igxOverlay:- Behavioral Change -
igxOverlay- no longer persists element scrollingout of the box. In order to persist an element scroll position after attaching the element to an overlay, handle the exposedonAppendedoverlay event and manage/restore the scroll position.
- Behavioral Change -
New Features
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid:- Master-Detail visualization added for
igxGrid. Users may now define templates that show additional context for rows when expanded. For more information, please take a look at the official documentation. sortStrategyinput is added, which can be used to set a global sorting strategy for the entire grid. (NOTE: The grid'ssortStrategyis of different type compared to the column'ssortStrategy.)NoopSortingStrategyis added, which can be used to disable the default sorting of the grid by assigning its instance to the grid'ssortStrategyinput. (Useful for remote sorting.)NoopFilteringStrategyis added, which can be used to disable the default filtering of the grid by assigning its instance to the grid'sfilterStrategyinput. (Useful for remote filtering.)sortingExpressionsChangeevent emitter is added, which is fired whenever a change to the sorting expressions has occurred (prior to performing the actual sorting).filteringExpressionsTreeChangeevent emitter is added, which is fired whenever a change to the filtering expressions has occurred (prior to performing the actual filtering).advancedFilteringExpressionsTreeChangeevent emitter is added, which is fired whenever a change to the advanced filtering expressions has occurred (prior to performing the actual filtering).collapsibleandexpandedproperties are added to the IgxColumnGroupComponent;collapsibleproperty identifies that certain column group is collapsible;expandedidentifies whether the group is expanded or collapsed initially;collapsibleChangeandexpandedChangeevents are added to the IgxColumnGroupComponent which are emitted whenevercollapsibleandexpandedproperties are changed accordingly;visibleWhenCollapsedproperty has been added to the IgxColumnComponent; Allows you to set whether the column stay visible when its parent is collapsed.visibleWhenCollapsedChangeevents is added to the IgxColumnComponent which are emitted whenevervisibleWhenCollapsedproperty is changed;collapsibleIndicatorTemplateproperty is introduced to IgxColumnGroupComponent, which allows you to set a custom template for the expand collapse indicator;igxCollapsibleIndicatordirective has been introduced, which allows you to set a custom template for the expand collapse indicator;IgxGridExcelStyleFilteringComponentandIgxAdvancedFilteringDialogComponentcan now be hosted outside of the grid in order to provide the same experience as the built-in filtering UI.expandRow(rowID)/collapseRow(rowID)/toggleRow(rowID)API methods are added for theigxHierarchicalGrid. They allow expanding/collapsing a row by its id.onRowToggleevent is added for theigxHierarchicalGrid. It is emitted when the expanded state of a row is changed.IgxRowDragGhostdirective is added. It allows providing a custom template for the drag ghost when dragging a row.
<igx-grid #grid1 [data]="remote | async" primaryKey="ProductID" [rowDraggable]="true"> <igx-column field="ProductName"></igx-column> <igx-column field="ProductID"></igx-column> <igx-column field="UnitsInStock"></igx-column> <ng-template let-data igxRowDragGhost> <div> Moving {{data.ProductName}}! </div> </ng-template> </igx-grid> - Master-Detail visualization added for
-
IgxSlider:- Breaking Change -
isContinuous- input has been deleted. The option is not supported anymore. primaryTicksinput was added. Which sets the number of primary tickssecondaryTicksinput was added. Which sets the number of secondary ticks.showTicksinput was added. Which show/hide all slider ticks and tick labels.primaryTickLabelsinput was added. Which shows/hides all primary tick labels.secondaryTickLabelsinput was added. Shows/hides all secondary tick labels.ticksOrientationinput was added. Allows to change ticks orientation to top|bottom|mirror.tickLabelsOrientationinput was added. Allows you to change the rotation of all tick labels from horizontal to vertical(toptobottom, bottomtotop).igxSliderTickLabeldirective has been introduced. Allows you to set a custom template for all tick labels.onValueChanged- new output has been exposed. This event is emitted at the end of every slide interaction.
- Breaking Change -
-
IgxCarousel:keyboardSupportinput is added, which can be used to enable and disable keyboard navigationgesturesSupportinput is added, which can be used to enable and disable gesturesmaximumIndicatorsCountinput is added, which can be used to set the number of visible indicatorsindicatorsOrientationinput is added, which can be used to set the position of indicators it can be top or bottomanimationTypeinput is added, which can be used to set animation when changing slidesindicatorTemplatedirective is added, which can be used to provide a custom indicator for carousel. If this property is not provided, a default indicator template will be used instead.nextButtonTemplatedirective is added, which is used to provide a custom next button template. If not provided, a default next button is used.prevButtonTemplatedirective is added, which is used to provide a custom previous button template. If not provided, a default previous button is used.
-
IgxSelect:- adding
IgxSelectHeaderDirectiveandIgxSelectFooterDirective. These can be used to provide a custom header, respectively footer templates for theigxSelectdrop-down list. If there are no templates marked with these directives - no default templates will be used so the drop-down list will not have header nor footer.
- adding
-
IgxCombo:- Added
displayTextproperty to the combo'sonSelectionChangeevent args. The property contains the text that will be populated in the combo's text box after selection completes. This text can be overwritten in order to display a custom message, e.g. "3 items selected":
<igx-combo [data]="people" valueKey="id" displayKey="name" placeholder="Invite friends..." (onSelectionChange)="handleSelection($event)">export class MyInvitationComponent { public people: { name: string; id: string }[] = [...]; ... handleSelection(event: IComboSelectionChangingEventArgs) { const count = event.newSelection.length; event.displayText = count > 0 ? `${count} friend(s) invited!` : `No friends invited :(`; } ... } - Added
-
IgxDropDown:clearSelectionmethod is added, which can be used to deselect the selected dropdown item
-
IgxToggleDirective:setOffsetmethod added. It offsets the content along the corresponding axis by the provided amount.
-
IgxOverlayService:setOffsetmethod added. It offsets the content along the corresponding axis by the provided amount.
-
IgxCircularProgressBar:- added
IgxProgressBarGradientDirectiveto allow providing custom circular progress SVG gradients. Providing a custom gradient via a template is as easy as writing:
<igx-circular-bar [value]="77"> <ng-template igxProgressBarGradient let-id> <svg:linearGradient [id]="id" gradientTransform="rotate(90)"> <stop offset="0%" stop-color="#05a"/> <stop offset="100%" stop-color="#0a5"/> </svg:linearGradient> </ng-template> </igx-circular-bar>- changed the
igx-progress-circular-themeto accept a list of 2 colors for the$progress-circle-colorargument, making it easier to modify the default gradient:
$theme: igx-progress-circular-theme( $progress-circle-color: red blue ); @include igx-progress-circular($theme);- RTL support
- added
-
IgxForOfIgxForTotalItemCountinput is added for the cases when the data is from remote services. This will allow setting the count of the items through the template. And gives the opportunity for the developers to use AsyncPipe for this option:
<ng-template igxFor let-item [igxForOf]="data | async" [igxForTotalItemCount]="count | async" [igxForContainerSize]="'500px'" [igxForItemSize]="'50px'"></ng-template>
8.2.6
New Features
IgxSelectItemtextinput is added. By default, the Select component will display the selected item's element inner text. In cases with a more complex item template, where more than just text interpolation is used, set the text property to specify what to display in the select field when the item is selected.
8.2.4
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- The header text of the columns and the column groups now has the
titleattribute set to it in order to expose a native browser tooltip.
- The header text of the columns and the column groups now has the
RTL Support
Most of the components in the framework now have full right-to-left (RTL) support via the newly included RTL themes.
For CSS-based projects add node_modules/igniteui-angular/styles/igniteui-angular-rtl.css to your angular.json styles collection.
For Sass-based projects pass $direction to the igx-core mixin in your root stylesheet.
Example:
// $direction defaults to ltr if it's omitted.
@include igx-core($direction: rtl);
Currently the following components have only partial RTL support:
- Grid (igx-grid)
- Slider (igx-slider)
- Tabs (igx-tabs)
- Circular Progress Indicator (igx-circular-bar)
We plan on adding support for the aforementioned components in the upcoming releases.
New Features
- Columns now expose the
cellStylesproperty which allows conditional styling of the column cells. Similar tocellClassesit accepts an object literal where the keys are style properties and the values are expressions for evaluation.
styles = {
color: '#123456',
'font-family': 'monospace'
'font-weight': (_, __, value) => value.startsWith('!') : 'red' : 'inherit'
};
The callback signature for both cellStyles and cellClasses is now changed to
(rowData: any, columnKey: string, cellValue: any, rowIndex: number) => boolean
8.2.3
-
IgxTextHighlightDirective- The default highlight directive styles have been moved to a Sass theme -igx-highlight-theme; You can modify the resting and active background and text color styles of the directive by passing the respective properties to the Sass theme. You can still pass your own CSS classes to the highlight directive via the cssClass and activeCssClass inputs. -
IgxChip- Breaking Change The
originalEventproperty for the eventsonMoveStart,onMoveEnd,onClickandonSelectionnow provides the events, passed from theigxDragdirective. The passed original events are in other words the previous events that triggered theigxChipones. They also have original events until a browser event is reached.
- Breaking Change The
-
IgxGrid- Now you can access all grid data inside the custom column summary. Two additional optional parameters are introduced in the IgxSummaryOperandoperatemethod.
class MySummary extends IgxNumberSummaryOperand {
constructor() {
super();
}
operate(columnData: any[], allGridData = [], fieldName?): IgxSummaryResult[] {
const result = super.operate(allData.map(r => r[fieldName]));
result.push({ key: 'test', label: 'Total Discounted', summaryResult: allData.filter((rec) => rec.Discontinued).length });
return result;
}
}
8.2.0
New theme
Ignite UI for angular now have a new theme that mimics Microsoft "Fluent" design system.
Depending on your use case you can use one of the following mixins:
igx-fluent-theme and igx-fluent-dark-theme
We also added two new palettes that go with the new theme, $fluent-word-palette and $fluent-excel-palette.
Next example shows how you can use the Fluent theme.
// Light version
.fluent-word-theme {
@include igx-fluent-theme($fluent-word-palette);
}
// Dark version
.fluent-excel-dark-theme {
@include igx-fluent-dark-theme($fluent-excel-palette);
}
Theme Changes
igx-badge-theme - Removed the $disable-shadow property to mitigate confusion when specifying $shadow explicitly.
For more information about the theming please read our documentation
New Features
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Advanced Filtering functionality is added. In the advanced filtering dialog, you could create groups of conditions across all grid columns. The advanced filtering button is shown in the grid's toolbar when
allowAdvancedFilteringandshowToolbarproperties are set totrue. You could also open/close the advanced filtering dialog using theopenAdvancedFilteringDialogandcloseAdvancedFilteringDialogmethods. uniqueColumnValuesStrategyinput is added. This property provides a callback for loading unique column values on demand. If this property is provided, the unique values it generates will be used by the Excel Style Filtering (instead of using the unique values from the data that is bound to the grid).[filterStrategy] - input that allows you to override the default filtering strategyigxExcelStyleLoadingdirective is added, which can be used to provide a custom loading template for the Excel Style Filtering. If this property is not provided, a default loading template will be used instead.- introduced new properties
cellSelectionandrowSelectionwhich accept GridSelection mode enumeration. Grid selection mode could be none, single or multiple. AlsohideRowSelectorsproperty is added, which allows you to show and hide row selectors when row selection is enabled. - introduced functionality for templating row and header selectors - spec
<igx-grid [data]="data", [rowSelection]="'multiple'" primaryKey="ID"> <igx-column field="Name"></igx-column> <igx-column field="Age"></igx-column> <ng-template igxHeadSelector let-headSelector> <igx-icon>done_all</igx-icon> </ng-template> <ng-template igxRowSelector let-rowContext> <igx-switch [checked]="rowContext.selected"></igx-switch> </ng-template> </igx-grid>- Advanced Filtering functionality is added. In the advanced filtering dialog, you could create groups of conditions across all grid columns. The advanced filtering button is shown in the grid's toolbar when
IgxHierarchicalGrid- Row Islands now emit child grid events with an additional argument -
owner, which holds reference to the related child grid component instance.
- Row Islands now emit child grid events with an additional argument -
IgxDrag- Dragging without ghost. Now it is possible to drag the base element
igxDragis instanced on by setting the new inputghostto false. - Ghost template. A custom ghost template reference can be provided on the new
ghostTemplateinput. - Dragging using a single or multiple handles. New
igxDragHandledirective is exposed to specify a handle by which an element can be interacted with instead of the whole elementigxDragis instanced on. - Linking of drag and drop elements. This can be achieved by using the new provided
dragChannelinput, specifying each element to which channel it corresponds. - Drag animation improvements. Three new methods have been exposed in place of the old
animateToOrigininput in order to provide more flexibility when wanting to have transition animation to specific position when dropping.setLocation,transitionToOriginandtransitionToare all methods that provide a various way to animate a transition to a specific location for the dragged element. - New getters -
locationandoriginLocationto aid in applying transition animations. - New outputs -
dragMove,ghostCreateandghostDestroy
- Dragging without ghost. Now it is possible to drag the base element
IgxDrop- Linking of drag and drop elements. This can be achieved by using the new provided
dropChannelinput, specifying each drop area to which channel it corresponds. - Drop strategies. Three new drop strategies have been provided - Append, Prepend and Insert. Also an input
dropStrategyto theigxDropwhich specify which strategy should be used when dropping an element inside the drop area. Custom one can be specified as well.
- Linking of drag and drop elements. This can be achieved by using the new provided
IgxCheckbox- introduced a new
readonlyproperty that doesn't allow user interaction to change the state, but keeps the default active style. Intended for integration in complex controls that handle the interaction and control the checkbox instead through binding.
- introduced a new
IgxOverlay- introduced a new
ContainerPositionStrategy. The new strategy positions the element inside the containing outlet based on the directions passed in trough PositionSettings.
- introduced a new
IgxChip- add
onSelectionDoneevent that is triggered after all animations and transitions related to selection have ended.
- add
General
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGridisCellSelectedmethod has been deprecated. Now you can useselectedproperty.rowSelectableproperty has been deprecated. Now you can userowSelectionproperty to enable row selection and also you can show and hide the row selectors by settinghideRowSelectorsproperty to true or false (which is the default value).- Removed deprecated event
OnFocusChange IgxGridBaseComponentexposes a new property,dataViewthat returns the currently transformed paged/filtered/sorted/grouped data, displayed in the grid- Breaking Change
igxExcelStyleSortingTemplatedirective is renamed toigxExcelStyleSorting. - Breaking Change
igxExcelStyleMovingTemplatedirective is renamed toigxExcelStyleMoving. - Breaking Change
igxExcelStyleHidingTemplatedirective is renamed toigxExcelStyleHiding. - Breaking Change
onRowSelectionChangeevent arguments are changed. Therowproperty has been removed and the propertiesadded,removedandcancelare newly added. - Breaking Change
igxExcelStylePinningTemplatedirective is renamed toigxExcelStylePinning. - Breaking Change
onRowDragEndandonRowDragStartevent arguments are changed -ownernow holds reference to the grid component instance, whiledragDirectivehold reference to the drag directive. - Behavioral Change The behavior of the
isLoadinginput no longer depends on the state of the data the grid binds to. Setting it totruenow shows a loading indicator until it is disabled by the user.
-
IgxCombo- Combo selection is now consistent when
valueKeyis defined. WhenvalueKeyis specified, selection is based on the value keys of the items. For example:
<igx-combo [data]="myCustomData" valueKey="id" displayKey="text"></igx-combo>export class MyCombo { ... public combo: IgxComboComponent; public myCustomData: { id: number, text: string } = [{ id: 0, name: "One" }, ...]; ... ngOnInit() { // Selection is done only by valueKey property value this.combo.selectItems([0, 1]); } }- Breaking Change When using
[valueKey], combo methods, events and outputs cannot be handled with data item references. - For more information, visit the component's readme
- Combo selection is now consistent when
-
IgxDrag- Deprecated inputs -
hideBaseOnDrag,animateOnRelease,visible. - Deprecated methods -
dropFinished. - Breaking Change
ghostImageClassinput is renamed toghostClass. - Breaking Change
dragGhostHostinput is renamed toghostHost. - Breaking Change
returnMoveEndinput is renamed totransitioned. - Breaking Change
onDragStartoutput is renamed todragStart. - Breaking Change
onDragEndoutput is renamed todragEnd.
- Deprecated inputs -
-
IgxDrop- Breaking Change Default drop strategy is now changed to not perform any actions.
- Breaking Change
onEnteroutput is renamed toenter. - Breaking Change
onOveroutput is renamed toover. - Breaking Change
onLeaveoutput is renamed toleave. - Breaking Change
onDropoutput is renamed todropped. - Breaking Change Interfaces
IgxDropEnterEventArgs,IgxDropLeaveEventArgsare both now calledIDropBaseEventArgs. - Breaking Change Interfaces
IgxDropEventArgsis renamed toIDropDroppedEventArgs. - Breaking Change Outputs
enter,over,leave(formeronEnter,onOver,onLeave) now have arguments of typeIDropBaseEventArgs - Breaking Change Output
dropped(formeronDrop) now have arguments of typeIDropDroppedEventArgs
8.1.4
IgxDialognew @InputpositionSettingsis now available. It provides the ability to get/set both position and animation settings of the Dialog component.
8.1.3
IgxCombo- Combo
onSelectionChangeevents now emits the item(s) that were added to or removed from the collection:
<igx-combo (onSelectionChange)="handleChange($event)">export class Example { ... handleChange(event: IComboSelectionChangingEventArgs) { console.log("Items added: ", [...event.added]); // the items added to the selection in this change console.log("Items removed: ", [...event.removed]); // the items removed from the selection in this change } }- Combo
8.1.2
New Features
IgxDatePickervalueChangeevent is added.
8.1.0
New Features
IgxBottomNavnow supports anigx-tabdeclaration mode. When in this mode, panels declarations are not accepted and tab items' content is not rendered.- You can use this mode to apply directives on the tab items - for example to achieve routing navigation.
- You are allowed to customize tab items with labels, icons and even templates.
IgxTabsnow supports anigx-tab-itemdeclaration mode. When in this mode, groups declarations are not accepted and tab items' content is not rendered.- You can use this mode to apply directives on the tab items - for example to achieve routing navigation.
- You are allowed to customize tab items with labels, icons and even templates.
IgxGrid- Behavioral Change - paging now includes the group rows in the page size. You may find more information about the change in the GroupBy Specification
IgxColumnGroup- Re-templating the column group header is now possible using the
headerTemplateinput property or theigxHeaderdirective.
- Re-templating the column group header is now possible using the
igx-grid-footer- You can use this to insert a custom footer in the grids.
<igx-grid> <igx-grid-footer> Custom content </igx-grid-footer> </igx-grid>
igx-paginator- Replaces the current paginator in all grids. Can be used as a standalone component.
Have in mind that if you have set thepaginationTemplate, you may have to modify your css to display the pagination correctly. The style should be something similar to:.pagination-container { display: flex; justify-content: center; align-items: center; }
- Replaces the current paginator in all grids. Can be used as a standalone component.
IgxCombo- Input
[overlaySettings]- allows an object of typeOverlaySettingsto be passed. These custom overlay settings control how the drop-down list displays.
- Input
IgxForOfnow offers usage of local variableseven,odd,firstandlastto help with the distinction of the currently iterated element.
8.0.2
-
igx-list-themenow have some new parameters for styling.-
$item-background-hover - Change The list item hover background
-
$item-text-color-hover - Change The list item hover text color.
-
$item-subtitle-color - Change The list item subtitle color.
-
$item-subtitle-color-hover - Change The list item hover subtitle color.
-
$item-subtitle-color-active - Change The active list item subtitle color.
-
$item-action-color - Change The list item actions color.
-
$item-action-color-hover - Change The list item hover actions color.
-
$item-action-color-active - Change The active list item actions color.
-
$item-thumbnail-color - Change The list item thumbnail color.
-
$item-thumbnail-color-hover - Change The list item hover thumbnail color.
-
$item-thumbnail-color-active - Change The active list item thumbnail color.
-
-
Behavioral Change default min column width is changed according the grid display density property:
- for
DisplayDensity.comfortabledefaultMinWidth is80px; - for
DisplayDensity.cosydefaultMinWidth is64px; - for
DisplayDensity.compactdefaultMinWidth is56px; Now you can setminWindthfor a column to a value smaller thandefaultMinWidthvalue.
- for
8.0.1
- General
- Importing ES7 polyfill for Object (
'core-js/es7/object') for IE is no longer required.
- Importing ES7 polyfill for Object (
New Features
IgxDropDownnow supportsDisplayDensity.[displayDensity]-@Input()added to theigx-drop-down. Takes prevelance over any otherDisplayDensityprovider (e.g. parent component orDisplayDensityTokenprovided in module)- The component can also get it's display density from Angular's DI engine (if the
DisplayDensityTokenis provided on a lower level) - Setting
[displayDensity]affects the control's items' and inputs' css properties, most notably heights, padding, font-size - Available display densities are
compact,cosyandcomfortable(default) - Behavioral Change - default
igx-drop-down-itemheight is now40px(down from48px)
IgxCombo- Setting[displayDensity]now also affects the combo's items- Behavioral Changes
[itemHeight]defaults to40([displayDensity]default iscomfortable)[itemsMaxHeight]defaults to10 * itemHeight.- Changing
[displayDensity]or[itemHeight]affect the drop-down container height if[itemsMaxHeight]is not provided - Setting
[itemHeight]overrides the height provided by the[displayDensity]input
IgxSelect- Setting[displayDensity]now also affects the select's items- Behavioral Change - default
igx-select-itemheight is now40px(down from48px)
- Behavioral Change - default
IgxChiphideBaseOnDraginput is added that allow the chip base that stays at place to be visible while dragging it.animateOnReleaseinput is added that allows to disable the animation that returns the chip when the chip is released somewhere.
IgxTransaction-getStateaccepts one optional parameterpendingofbooleantype. Whentrueis providedgetStatewill returnstatefrom pending states. By defaultgetStateis set tofalse.
8.0.0
Theming: Add component schemas for completely round and completely square variations. Can be mixed with the existing light and dark component schemas. For instance:$light-round-input: extend($_light-input-group, $_round-shape-input-group);
There are also prebuilt schema presets for all components (light-round/dark-round and light-square/dark-square), namely $light-round-schema, $light-dark-schema, $light-square-schema, $dark-square-schema;
-
IgxCombo: Removed the following deprecated (since 6.2.0) template selectors:#emptyTemplate#headerTemplate#footerTemplate#itemTemplate#addItemTemplate#headerItemTemplate
-
igxTimePickerandigxDatePickeropenDialog()now has an optional[target: HTMLElement]parameter. It's used inmode="dropdown"and the drop down container is positioned according to the provided target.- The custom drop down template target is no longer marked with
#dropDownTarget, instead it's provided as anHTMLElementto theopenDialog()method. - By default, the
igxDatePickerdrop down target is changed from theigxInputelement to theigxInputGroupelement. onClosingevent is added.- Breaking Change
onOpenevent is renamed toonOpened. - Breaking Change
onCloseevent is renamed toonClosed. - Behavioral Change - action buttons are now available in the dropdown mode.
- Feature
igxDatePickerandigxTimePickernow provide the ability for adding custom action buttons. Read up more information in igxDatePicker ReadMe or igxTimePicker ReadMe
-
IgxToggleAction/IgxTooltip: Removed the deprecatedcloseOnOutsideClickInput that has been superseded byoverlaySettingsin 6.2.0. -
IgxList- The list component has been refactored. It now includes several new supporting directives:igxListThumbnail- Use it to mark the target as list thumbnail which will be automatically positioned as a first item in the list item;igxListAction- Use it to mark the target as list action which will be automatically positioned as a last item in the list item;igxListLine- Use it to mark the target as list content which will be automatically positioned between the thumbnail and action;igxListLineTitle- Use it to mark the target as list title which will be automatically formatted as a list-item title;igxListLineSubTitle- Use it to mark the target as list subtitle which will be automatically formatted as a list-item subtitle;
<igx-list> <igx-list-item [isHeader]="true">List items</igx-list-item> <igx-list-item> <igx-avatar igxListThumbnail></igx-avatar> <h1 igxListLineTitle>List item title</h1> <h3 igxListLineSubTitle>List item subtitle</h3> <igx-icon igxListAction>info</igx-icon> </igx-list-item> </igx-list> <igx-list> <igx-list-item [isHeader]="true">List items</igx-list-item> <igx-list-item> <igx-avatar igxListThumbnail></igx-avatar> <span igxListLine>Some content</span> <igx-icon igxListAction>info</igx-icon> </igx-list-item> </igx-list> -
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Breaking Change The condition parameter of the
filterGlobalmethod is no longer optional. When the filterGlobal method is called with an invalid condition, it will not clear the existing filters for all columns.
- Breaking Change The condition parameter of the
7.3.4
IgxGrid- summariesclearSummaryCache()andrecalculateSummaries()methods are now removed from the IgxGrid API, beacause they are no longer needed; summaries are updated when some change is perform and the summary cache is cleared automatically when needed;
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Breaking Change The condition parameter of the
filterGlobalmethod is no longer optional. When the filterGlobal method is called with an invalid condition, it will not clear the existing filters for all columns.
- Breaking Change The condition parameter of the
New feature
-
igxSlider- exposing newlabelsproperty accepting a collection of literal values that become equally spread over the slider, by placing each element as a thumb label. -
igxSlider- deprecate isContiunous property. -
IgxChiphideBaseOnDraginput is added that allow the chip base that stays at place to be visible while dragging it.animateOnReleaseinput is added that allows to disable the animation that returns the chip when the chip is released somewhere.
-
igxTimePickerchangesonClosingevent is added.- Breaking Change
onOpenevent is renamed toonOpened. - Breaking Change
onCloseevent is renamed toonClosed. - Behavioral Change - action buttons are now available in the dropdown mode.
- Feature
IgxTimePickerComponentnow provides the ability for adding custom action buttons. Read up more information in the ReadMe
-
igxDatePickerchangesonClosingevent is added.- Breaking Change
onOpenevent is renamed toonOpened. - Breaking Change
onCloseevent is renamed toonClosed. - Behavioral Change - action buttons are now available in the dropdown mode.
- Feature
IgxDatePickerComponentnow provides the ability for adding custom action buttons. Read up more information in the ReadMe
-
Excel-Style Filtering and Quick Filtering user interfaces now display the date picker's calendar in a dropdown.
-
IgxCard- The card component has been refactored. It now includes several new supporting components/directives:igxCardHeaderTitle- tag your headings placed in theigx-card-headercontainer to be displayed as a card title;igxCardHeaderSubtitle- tag your headings placed in theigx-card-headercontainer to be displayed as a card subtitle;igxCardThumbnail- tag anything placed in theigx-card-headeras a thumb to be placed to the left of your titles;igx-card-header- the card header can now detect and automatically positionigx-avatars placed in it;igx-card-media- wrap images or videos that will be automatically sized for you;igx-card-actions- the card actions can now detect and automatically position alligxButtons placed in it;- The card has a new
typeproperty. It can be set tooutlinedto get the new outlined card look; - The card has a new
horizontalproperty. When set to true, the layout will become horizontally aligned;
-
New Directive
igx-divider- The igx-divider is a thin, configurable line that groups content in lists and layouts. -
IgxDropDownnow supportsDisplayDensity.[displayDensity]-@Input()added to theigx-drop-down. Takes prevalance over any otherDisplayDensityprovider (e.g. parent component orDisplayDensityTokenprovided in module)- The component can also get it's display density from Angular's DI engine (if the
DisplayDensityTokenis provided on a lower level) - Setting
[displayDensity]affects the control's items' and inputs' css properties, most notably heights, padding, font-size - Available display densities are
compact,cosyandcomfortable(default) - Behavioral Change - default item
igx-drop-down-itemheight is now40px(down from48px)
-
IgxCombo- Setting[displayDensity]now also affects the combo's items- Setting
[itemHeight]overrides the height provided by the[displayDensity]input
- Setting
-
IgxSelect- Setting[displayDensity]now also affects the select's items
Bug Fixing
- igx-input: Top of Japanese characters get cut off in Density Compact mode #4752
- When no condition is provided, filter() method of grid throws undescriptive error #4897
- [IE11][igx-grid][MRL] header cell is not row-spanned. #4825
- Select's label is positioned incorrectly #4236
- [igx-grid] Filtering row's chips area is not resized when resizing window. #4906
hideGroupedColumnshides the whole MRL group #4714- An error is returned when changing rowEditable input and a cell is opened in edit mode #4950
- Row editing border style is not applied correctly for the first record when there is grouping #4968
- Cell navigation does not work along with Multi Row Layout group #4708
- When no condition is provided, filter() method of grid throws undescriptive error #4897
- In slider with type Range when change the lower value to be equal or greater than the upper the range is not correct #4562
- When change the slider type at run time the slider is not updated correctly #4559
- Range Slider Thumps collapsing #2622
- Angular httpinterceptor(jwt token header) not working after importing IgxTreeGridModule in lazy loaded module #4285
- [igx-grid] "quick clicking twice resizer " can sometimes lead to unable to sort. #4858
- TimePicker "hour mode" #4679
7.3.3
-
igx-core()now includes some styles for printing layout. In order to turn them off, you need to pass an argument and set it tofalse@include igx-core($print-layout: false); -
Pager- Behavioral Change - The pager is now hidden when there are no records in the grid.
Bug fixes
- Row editing styles are not applied correctly within multi row layout grid #4859
- Provide a way to animate row drag, when it is released #4775
- There is lag on checking/unchecking an item in an Excel Style Filter with a lot of items #4862
- Make dragIndicatorIconTemplate @ContentChild in the igxHierarchicalGrid #4769
- Add PostDeploy.ps1 script into the repo #4887
- Provide a way to animate row drag, when it is released #4775
- Feature-request: IgxGrid improve Printing Experience #1995
- When column is scrolled and open excel filter, its position is not correct #4898
- IgxCombo is not properly clearing subscription #4928
- "(Blanks)" appears unchecked on reopening the ESF UI if the underlying value is an empty string. #4875
- [igx-tree-grid] loading indicator not shown in IE11 #4754
- Filtering conditions drop down does not behave consistently when the button that opens it is clicked multiple times #4470
7.3.2
Bug Fixes
- Time picker component fails on dropdown mode in combination with igxTimePickerTemplate modifications #4656
- In IE11 when chips length is bigger then filter row scrolls position is not correct #4699
- Not able to change filter option in excel style filter. #4347
- [igx-grid] rendering performance becomes extremely poor when binding data after initialization. #4839
- Group comparer is not taken into consideration when column is dragged to grouped area #4663
7.3.1
igx-core() now includes some styles for printing layout. In order to turn them off, you need to pass an argument and set it to false
@include igx-core($print-layout: false);
IgxGridCustom keyboard navigationonFocusChangeevent is deprecated.onGridKeydownevent is exposed which is emitted whenkeydownis triggered over element inside grid's bodynavigateTomethod allows you to navigate to a position in the grid based on providedrowindexandvisibleColumnIndex, also to execute a custom logic over the target element through a callback function that accepts{ targetType: GridKeydownTargetType, target: Object }getNextCellreturnsICellPositionwhich defines the next cell, according to the current position, that match specific criteria. You can pass callback function as a third parameter ofgetPreviousCellmethodgetPreviousCellreturnsICellPositionwhich defines the previous cell, according to the current position, that match specific criteria. You can pass callback function as a third parameter ofgetPreviousCellmethod.IgxTransactionServicenow cancommitandcleartransaction(s) by record id with an optional parameter. Thecommitmethod will apply to the data all transactions for the providedid. Theclearmethod will remove all transactions for theidfrom the transactions log. Additionally both will remove all actions from the undo stack matching the providedid.
Bug fixes
- The ESF animations for opening and closing do not work #4834
- IgxButtonGroup does not respect compact styles #4840
- Not able to change filter option in excel style filter. #4347
- Broken links enhancements #4830
- rowDraggable is applied to grids from all hierarchical levels in hierarchical grid #4789
- [igx-grid][IE11] filtering problems with IME mode. #4636
- Filtering operation crashes when applying filter on a column with many unique values. #4723
- Emit onColumnVisibilityChanged when hiding a column through ESF UI. #4765 #4792
- onColumnVisibilityChanged event is not fired when hiding a column through ESF. #4765
- "Select All" should not be treated as a match when searching. #4020
- Opening the ESF dialog throws an error #4737
- Recalculate igxfor sizes for excel style search list on after view init #4804
- igx-grid: Incorrect height calculation when setting height in percent and binding empty data. #3950
- When grid width is less than 400px and open filter row the arrows for chips are previewed #4700
- Canceling onRowDragStart leaves the drag ghost in the DOM #4802
7.3.0
Features
igxGrid- Feature
igxGridComponentnow supports Multi Row Layouts. It is configured with the newly addedIgxColumnLayoutComponentand the columns in it.IgxColumnComponentnow expose four new fields to determine the size and the location of the field into the layout:colStart- column index from which the field is starting. This property is mandatory.rowStart- row index from which the field is starting. This property is mandatory.colEnd- column index where the current field should end. The amount of columns between colStart and colEnd will determine the amount of spanning columns to that field. This property is optional. If not set defaults tocolStart + 1.rowEnd- row index where the current field should end. The amount of rows between rowStart and rowEnd will determine the amount of spanning rows to that field. This property is optional. If not set defaults torowStart + 1.
<igx-column-layout> <igx-column [rowStart]="1" [colStart]="1" field="Country"></igx-column> <igx-column [rowStart]="1" [colStart]="2" field="City"></igx-column> <igx-column [rowStart]="2" [colStart]="1" [colEnd]="3" field="Address"></igx-column> </igx-column-layout>
- Feature
igxGrid,igxTreeGrid,igxHierarchicalGrid-
Feature Grid components now supports Grid Row Dragging . It lets users pass the data of a grid record on to another surface, which has been configured to process/render this data. It can be enabled by using the
rowDraggableinput of the grid. -
Feature The Excel Style Filter dialog and its sub-dialogs now have a display density based on the
displayDensityinput of their respective grid.
-
igxTreeGrid- Feature The
IgxTreeGridComponentnow supports loading child rows on demand using the newly addedloadChildrenOnDemandandhasChildrenKeyinput properties.
- Feature The
IgxListComponent- Feature The
IgxListComponentnow provides the ability to choose a display density from a predefined set of options: compact, cosy and comfortable (default one). It can be set by using thedisplayDensityinput of the list.
- Feature The
igxButton- Feature The
igxButtonnow provides the ability to choose a display density from a predefined set of options: compact, cosy and comfortable (default one). It can be set by using thedisplayDensityinput of the button directive.
- Feature The
igxButtonGroup- Feature The
igxButtonGroupnow provides the ability to choose a display density from a predefined set of options: compact, cosy and comfortable (default one). It can be set by using thedisplayDensityinput of the button group. The buttons within the group will have the same density as the button group. If a button has thedisplayDensityset in the template, it is not changed by the density of the group where the button is placed.
- Feature The
igxGrid,igxTreeGrid,igxHierarchicalGrid- Feature The Excel Style Filter dialog and its sub-dialogs now have a display density based on the
displayDensityinput of their respective grid.
- Feature The Excel Style Filter dialog and its sub-dialogs now have a display density based on the
IgxDropDown- now supports virtualized items. Use in conjunction with
IgxForOfdirective, with the following syntax, to display very large list of data:
<igx-drop-down> <div class="wrapping-div"> <igx-drop-down *igxFor="let item of localItems; index as index; scrollOrientation: 'vertical'; containerSize: itemsMaxHeight; itemSize: itemHeight;" [value]="item" [index]="index"> {{ item.data }} </igx-drop-down> </div> </igx-drop-down>- now supports virtualized items. Use in conjunction with
Bug Fixes
- Grid remains in pending state after commiting row edit w/o changes #4680
- Filter condition dropdown is not closed on tab navigation #4612
- When filter row is opened navigating with shift and tab on first cell does not selects the cancel button #4537
- Focus is not moved from the filter row to the summary row when the grid has no records #4613
- igx-carousel problem with lost focus #4292
- List items are shifted down on search if the list was scrolled down beforehand. #4645
- [igx-grid] some cells are not rendered when resizing window. #4568
- [igx-grid] after being grouped then resized, horizontal scrolling causes column header misalignment with data cell #4648
- Cells content is misaligned when group by a column and scroll horizontal #4720
- When hide/show columns the grid has empty space #4505
7.2.12
-
IgxGrid,IgxTreeGrid,IgxHierarchicalGrid- Breaking Change The condition parameter of the
filterGlobalmethod is no longer optional. When the filterGlobal method is called with an invalid condition, it will not clear the existing filters for all columns.
- Breaking Change The condition parameter of the
-
IgxGrid- summariesclearSummaryCache()andrecalculateSummaries()methods are now removed from the IgxGrid API, beacause they are no longer needed; summaries are updated when some change is perform and the summary cache is cleared automatically when needed;
New features
- igxSlider - exposing new
labelsproperty accepting a collection of literal values that become equally spread over the slider, by placing each element as a thumb label. - igxSlider - deprecate isContiunous property.
IgxDropDownnow supportsDisplayDensity.[displayDensity]-@Input()added to theigx-drop-down. Takes prevelance over any otherDisplayDensityprovider (e.g. parent component orDisplayDensityTokenprovided in module)- The component can also get it's display density from Angular's DI engine (if the
DisplayDensityTokenis provided on a lower level) - Setting
[displayDensity]affects the control's items' and inputs' css properties, most notably heights, padding, font-size - Available display densities are
compact,cosyandcomfortable(default) - Behavioral Change - default item
igx-drop-down-itemheight is now40px(down from48px)
IgxCombo- Setting[displayDensity]now also affects the combo's items- Setting
[itemHeight]overrides the height provided by the[displayDensity]input
- Setting
IgxSelect- Setting[displayDensity]now also affects the select's items
Bug Fixes
- In slider with type Range when change the lower value to be equal or greater than the upper the range is not correct #4562
- When change the slider type at run time the slider is not updated correctly #4559
- Range Slider Thumps collapsing #2622
- When no condition is provided, filter() method of grid throws undescriptive error #4897
- [igx-grid] Filtering row's chips area is not resized when resizing window. #4906
- Add PostDeploy.ps1 script into the repo #4887
- An error is returned when a row is opened in edit mode and click to search the next item #4902
- [igx-grid] "quick clicking twice resizer " can sometimes lead to unable to sort. #4858
- Child summaries disappears when edit a cell and press tab on click on cell in same row when rowEditable is true #4949
- When no condition is provided, filter() method of grid throws undescriptive error #4897
7.2.11
Bug fixes
- When column is scrolled and open excel filter, its position is not correct #4898
- "(Blanks)" appears unchecked on reopening the ESF UI if the underlying value is an empty string. #4875
- There is lag on checking/unchecking an item in an Excel Style Filter with a lot of items #4862
- Group comparer is not taken into consideration when column is dragged to grouped area #4663
- Filtering conditions drop down does not behave consistently when the button that opens it is clicked multiple times #4470
7.2.10
Features
- Condense grid summaries #4694
Bug Fixes
- When grid width is less than 400px and open filter row the arrows for chips are previewed #4700
- Time picker component fails on dropdown mode in combination with igxTimePickerTemplate modifications #4656
- In IE11 when chips length is bigger then filter row scrolls position is not correct #4699
- The ESF animations for opening and closing do not work #4834
- Not able to change filter option in excel style filter. #4347
- [igx-grid] rendering performance becomes extremely poor when binding data after initialization. #4839
7.2.9
igx-core() now includes some styles for printing layout.
In order to turn them off, you need to pass an argument and set it to false
@include igx-core($print-layout: false);
Pager- Behavioral Change - The pager is now hidden when there are no records in the grid.
Bug fixes
- ElasticPositionStrategy should resize shown element with Center/Middle directions #4564
- onColumnVisibilityChanged event is not fired when hiding a column through ESF. #4765
- Filtering operation crashes when applying filter on a column with many unique values. #4723
- "Select All" should not be treated as a match when searching. #4020
- igx-grid: Incorrect height calculation when setting height in percent and binding empty data. #3950
- Error is thrown when press escape in the filter row #4712
- Opening the ESF dialog throws an error #4737
- [igx-grid][IE11] "Error: ViewDestroyedError: Attempt to use a destroyed view: detectChanges" is thrown when closing filtering row. #4764
- [igx-grid] some cells don't go into edit state or selected state when resizing window. #4746
- igx-tree-grid when no data in grid pagination shows wrong #4666
- ElasticPositionStrategy should resize shown element with Center/Middle directions #4564
- ESF custom dialog new filter not fully visible #4639
- igx-grid: row virtualization doesn't work when setting height in percent if you fetch and bind data after initial rendering. #3949
- Grid height is calculated wrongly as grid width narrows #4745
- [igx-grid][IE11] filtering problems with IME mode. #4636
7.2.8
IgxGridCustom keyboard navigationonFocusChangeevent is deprecated.onGridKeydownis exposed. The event will emitIGridKeydownEventArgs { targetType: GridKeydownTargetType; target: Object; event: Event; cancel: boolean; }navigateTo(rowIndex: number, visibleColumnIndex: number, callback({targetType, target: Object }))- this method allows you to navigate to a position in the grid based on providedrowindexandvisibleColumnIndex;getNextCell(currentRowIndex, currentvisibleColumnIndex, callback(IgxColumnComponent))- returns{ rowIndex, visibleColumnIndex }which defines the next cell, that match specific criteria according to the current positiongetPreviousCell(currentRowIndex, currentvisibleColumnIndex, callback(IgxColumnComponent))- returns{ rowIndex, visibleColumnIndex }which defines the previous cell, that match specific criteria according to the current position
Bug Fixes
- Grid remains in pending state after commiting row edit w/o changes #4680
- Filter condition dropdown is not closed on tab navigation #4612
- When filter row is opened navigating with shift and tab on first cell does not selects the cancel button #4537
- Focus is not moved from the filter row to the summary row when the grid has no records #4613
- igx-carousel problem with lost focus #4292
- List items are shifted down on search if the list was scrolled down beforehand. #4645
- [igx-grid] some cells are not rendered when resizing window. #4568
- [igx-grid] after being grouped then resized, horizontal scrolling causes column header misalignment with data cell #4648
- Cells content is misaligned when group by a column and scroll horizontal #4720
- When hide/show columns the grid has empty space #4505
7.2.7
Bug fixes
- Custom filter dialog Excel-Style Filtering does not save the selected operand #4548
- Wrong endEdit call on data operation pipes subscribe #4313
- TreeGrid does not have default loading template #4624
- [igx-grid] Question about resizing behavioral change after v7.2.1. #4610
- [igx-grid] onSelection event comes to emit after ending edit mode. #4625
- Error is thrown when trying to open datepicker with Space key in IE #4495
- DatePicker dropdown overlaps the input when it appears top #4526
- Custom filter dialog of the Excel-style Filtering does not display the selected condition in the correct format #4525
- [igx-grid] group row is duplicated when collapsing all and then expanding a group row. #4650
- Fix scroll wheel tests due to creating wheel event with deltaY sets also wheelDeltaY (PR #4659)
- Update Canonical and HrefLang links for EN and JP environments #4674
- In the Drag and Drop dev sample the background color is not changed in IE and Edge #4597
7.2.6
igxGrid- Feature The
groupsRecordsproperty now returns the full grouping tree as in 7.1 and also includes the grouping information for all pages.
- Feature The
Bug Fixes
- Unreadable icon color when icon is used as a tooltip target with dark-theme #4477
- [igx-tabs] Selection indicator is not resized correctly #4420
- Faulty urls in Typescript #4546
- igx-list theme docs #4390
- Filtering conditions drop down does not behave consistently when the button that opens it is clicked multiple times #4470
- Message 'No records found.' is still previewed when reset filter #4484
- The text in the filter column textbox truncates in the igx-grid component #4496
- Excel style filter does not apply the filter when the value is 0 #4483
- When hold arrow up or down key on a month the focus changes to the year #4585
- Putting two circular progress bars results in duplicate IDs #4410
- igxGrid does not clear groupsRecords when all columns get ungrouped #4515
7.2.5
igxDroponEnter,onLeaveandonDropevents now have new arguments fororiginalEvent,offsetXandoffsetYrelative to the container the igxDrop is instanced.
IgxList- Feature the
indexproperty is now an@Inputand can be assigned by structural directives such as*igxFor.
<igx-list> <div [style.height]="'480px'" [style.overflow]="'hidden'" [style.position]="'relative'"> <igx-list-item [index]="i" *igxFor="let item of data; index as i; scrollOrientation: 'vertical'; containerSize: '480px'; itemSize: '48px'"> <div>{{ item.key }}</div> <div class="contact__info"> <span class="name">{{item.name}}</span> </div> </igx-list-item> </div> </igx-list>- The
itemsproperty now returns the collection of child items sorted by their index if one is assigned. This is useful when thechildrenorder cannot be guaranteed.
- Feature the
- Excel-Style Filtering and Quick Filtering user interfaces now display the date picker's calendar in a dropdown.
IgxCard- The card component has been refactored. It now includes several new supporting components/directives:igxCardHeaderTitle- tag your headings placed in theigx-card-headercontainer to be displayed as a card title;igxCardHeaderSubtitle- tag your headings placed in theigx-card-headercontainer to be displayed as a card subtitle;igxCardThumbnail- tag anything placed in theigx-card-headeras a thumb to be placed to the left of your titles;igx-card-header- the card header can now detect and automatically positionigx-avatars placed in it;igx-card-media- wrap images or videos that will be automatically sized for you;igx-card-actions- the card actions can now detect and automatically position alligxButtons placed in it;- The card has a new
typeproperty. It can be set tooutlinedto get the new outlined card look; - The card has a new
horizontalproperty. When set to true, the layout will become horizontally aligned;
- New Directive
igx-divider- The igx-divider is a thin, configurable line that groups content in lists and layouts.
Bug Fixes
- Row editing overlay is not visible when grid has either 1 or 2 rows and height is not set. #4240
- Ctrl + Right Arrow is not working in an expanded child grid in 7.2.x #4414
- In EI11 and error is returned when filter by date #4434
- Calendar should be closed when scrolling is initiated #4099
- The sync service for the horizontal virtualization returns invalid cache values in certain scenarios #4460
- Unreadable icon color when icon is used as a tooltip target with dark-theme #4477
- When first tree grid column is with type date the calendar mode is not correct #4457
- When grid is grouped the search does not scroll to the find result #4327
- Calendar should be closed when scrolling is initiated #4099
- [igx-list] IgxListItem.index returns wrong index when igx-list is virtualized by igxForOf #4465
- [igx-grid] groupsRepcords is not updated correctly when grouping/ungrouping. #4479
- Exceptions are thrown by igxHGrid when columns don't have initial width, or it has been set as a percentage #4491
- Change date pickers' mode to 'dropdown' in all filtering UIs. #4493
- The radio-group display cannot be overridden #4402
- Filtered column header goes over the RowSelectors and groups when scroll horizontal #4366
- [igx-grid] description about onColumnMovingEnd is not correct. #4452
- IgxTabs removes custom added class #4508
7.2.4
New feature
- Multi-cell selection - Enables range selection of cells in the grid.
Grids Performance improvements
- Grid rendering speed
- Grid grouping rendering speed
- Grid vertical scrolling using the scroll arrows
- Grid horizontal scrolling using the scroll arrows
- Grid cell focusing time
- Typing a character in an inline editor
Bug fixes
- IgxForOf - Virtual item index with remote data #4455
- If grid has height in %(or no height) and filtering is enabled, then height is not calculated correctly. #4458
- 3rd level child does not scroll with keyboard nav #4447
- When in column group a column is hidden in the excel style filter LEFT and RIGHT buttons are enabled #4412
- Column Moving keydown.escape HostListener needs refactoring #4296
- Hierarchical Grid: scrolled child views remain after the root grid has been destroyed #4440
- When child grids have width in % (or no width) and there is horizontal scrollbar the vertical scrollbar is not visible. #4449
- Opening the Filtering dropdown twice in an igxHierarchicalGrid results in warning messages in the browser console #4436
- for-of init optimizations for grids #4374
- Changing columns dynamically in the Hierarchical Grid resets root column list to contain child columns. #4337
- Cell is not selected on click [IE] #1780
- igx-grid: Uncommitted IME text gets lost when Enter key is pressed in an edit cell template. #4314
7.2.3
Improvements
IPinColumnEventArgsnew property - added a new propertyisPinnedto theIPinColumnEventArgsinterface. Now theonColumnPinningevent emits information whether the column is pinned or unpinned.igxGridigxFilterCellTemplatedirective added that allows retemplating of the filter cell.IgxColumnComponentnow hasfilterCellTemplateproperty that can be used to retemplate the filter cell.
Bug fixes
- Fix auto-generate columns for TreeGrid #4399
- Emiting event when unpinning column #3833
- In Firefox when collapse all groups grid becomes empty #4304
- When transactions are enabled and update a filtered cell there is an error in console #4214
- In IE11 datePicker delete button is not in correct position when open a cell in edit mode #4116
- Refactoring filter cell navigation so that it is handled in the navigation service. Handling special scenarios for hierarchical grid in the hierarchical navigation service. #4267
- Grid: fix sorting in chrome #4397
- An error is returned when add a child for not committed row and summaries are enabled #4317
- Update child summaries correctly when CRUD operations are performed #4408
- Add igxQuickFilterTemplate directive #4377
- Resizing: move resize handle logic in a directive #4378
- No event emitted when column is unpinned #3799
- When update a cell in the grouped column the child summaries are not updated #4324
- Column Group border is misaligned with its children's in some cases #4387
- Expanding last row of HierarchicalGrid via keyboard(Alt + downArrow) leads to cell losing its focus. #4080
- fix(HierarchicalGrid): Moving onGridCreated to be emitted onInit #4370
- Virtualization of grid not working in tab #4329
- When you pin child column the whole group is not pinned #4278
7.2.2
Features
- Components' Display Type - All components now have their CSS display property explicitly set on the host element to ensure width, padding, and margins are applied when set directly on the host selectors.
- Themes
- Add support for gradients and images as values for component themes via the component theme functions.
Palettes- added surface color to the palette. The surface color is used by cards, pickers, dialog windows, etc. as the default background.
Bug fixes
- fix(tabs): Fix for applying styles to tabs group #4371
- igxInput - add ability to toggle required dynamically #4361
- Select sort button only if default template is used #4372
- Public enumerations should not be constants #4364
- fix(hierarchicalGrid): Fix scrollbar not updated when data for children is loaded after initial load. #4334
- fix(date-picker): Fix for re-templating dropdown date-picker #4325
- Remove ngModel from datepicker #4333
- Scrollbar is not updated when load remote data #4209
- IgxGrid cell edit does not update values (onCellEdit) #4055
- Initial GroupBy performance is poor with many columns grouped #4309
- Components' display type #4316
- Including summary row cells in tab sequence for HierarchicalGrid navigation. #4293
- Surface color #4109
headerGroupClassesis marked as hidden #4276- Update AutoScrollStrategy to reposition elements outside NgZone #4250
- Optimizing post group pipe for 4309 - 7.2.x #4310
- IgxSelect does not close on Shift+Tab #4164
- clone method should have inheritdoc in all position strategies #4265
- Dialog does not emits close event the second time that is opened and closed #4222
- IgxLabelComponent is hidden #4237
- refactor(button-group): Fix the double borders between the buttons #4092
- Allow gradient/image values as backgrounds in component themes #4218
- Time Picker enhancements #4348
7.2.1
igxGrid- Breaking Change The
groupsRecordsproperty now only returns the visible tree and does not include groups that are children of collapsed parents. - Feature Column Hiding and Column Pinning components now expose a
disableFilterproperty which allows hiding the filter columns input from the UI.
- Breaking Change The
Improvements
- igxSelect - select-positioning-strategy code cleanup #4019
Bug fixes
- Tooltip remains opened after clicking its target #4127
- Can not move a column to left if the previous column is column group #4114
- TextHighlight Directive makes the matching spans bold #4129
- IgxDropDownItem still uses deprecated accessors #4167
- Double click in editMode reverts the cell's value #3985
- Navigation with Ctrl+arrow keys does not work in child grids #4120
- In IE11 and Edge when scroll page the excel filter dialog is not moved #4112
- IgxCalendar overlay, rendered from cell in edit mode, goes outside the grid when scrolling #4205
- When using keyboard navigation the child grid does not scroll to next row when next child is empty. #4153
- selectedIndex doesn't switch tab. #4245
- When the last column is hidden button RIGHT for the last visible column should be disabled #4230
- When excel-style-filtering is enabled and press Shift+tab on first cell the scroll should not be moved #4219
- Can not navigate with tab in filtering row if grid has no horizontal scroll #4111
- ExcelFilterStyle , what is the name of the onClick methods for the apply and cancel button ? onFilteringDone doesnt work here #4248
- When you focus an element from the Excel-Style Filtering List in Chrome a blue boarder appears #4269
- Need ability to remove a column filter that was previously set in the grid #4305
- Keyboard navigation inside summaries for hierarchical grid is not working with Ctrl + arrow keys #4176
- ReadMe links are broken on 7.2.0. release note #4251
- Error when scrolling grid with mouse wheel after closing a dialog window in the page #4232
- Circular progress bar throws error on IE11 #3787
- Issue with export excel/csv from grid #3763
- Setting grid data property manually after initial rendering without binding it to the input is not detected. #4242
- When child grids does not have set height and expand a row in child grid scrollbars are not updated and there is empty space on the grid #4239
- [ng add]: Enabling polyfills step doesn't update properly polyfill.ts generated by Angular CLI v7.3.x. #3967
- When change sorting from the excel filter it is not applied for the grouped column #4119
- When grid is filtered and update a cell summaries are not updated #4211
- [igx-date-picker] igxCalendarHeader and igxCalendarSubheader don't work #4223
- [igx-date-picker] unnecessary suffix "日" to the date part of the calendar. #4224
- igxMonthPicker - arrowdown and arrow up not working correctly inside months view #4190
- In Edge resizing indicators are offset incorrectly #3908
- igx-column-group does not fire onColumnVisibilityChanged #4194
7.2.0
-
igxCalendarigxCalendarhas been refactored to provide the ability to instantiate each view as a separate component.- Feature advanced keyboard navigation support has been added. Read up more information in the ReadMe
-
New component
IgxMonthPicker:- Provides the ability to pick a specific month. Read up more information in the ReadMe
-
New component
IgxHierarchicalGrid:- Provides the ability to represent and manipulate hierarchical data in which each level has a different schema. Each level is represented by a component derived from igx-grid and supports most of its functionality. Read up more information about the IgxHierarchicalGrid in the official documentation or the ReadMe
-
New component The
igxSelectprovides an input with dropdown list allowing selection of a single item.<igx-select #select1 [placeholder]="'Pick One'"> <label igxLabel>Sample Label</label> <igx-select-item *ngFor="let item of items" [value]="item.field"> {{ item.field }} </igx-select-item> </igx-select>
documentation or the ReadMe
-
New directive
igxAutocomplete- new directive that provides a way to enhance a text input by showing a panel of suggested options, provided by the developer. More information about the IgxAutocomplete is available in the official documentation or the ReadMe.<input igxInput type="text" [igxAutocomplete]="townsPanel" /> <igx-drop-down #townsPanel> <igx-drop-down-item *ngFor="let town of towns" [value]="town"> {{town}} </igx-drop-down-item> </igx-drop-down> -
igxGridnow hasisLoadinginput property. When enabled will show loading indicator, until the data is available. It can be best utilized for remote scenarios. Another input propertyloadingGridTemplateallows customizing the loading indicator.<!-- Example --> <igx-grid [isLoading]="true" ...> </igx-grid>Group By- The collapse/expand icons have new orientantion to display the action that will be performed when clicked. When an icon points up clicking on it would result in collapsing the related group row and when it points down clicking on it would expand the group row.
- The collapse/expand all icons have also been updated to reflect the new group row icons better.
- Group rows now can be expanded/collapsed using Alt + Arrow Up/Down to reflect the new icons.
filterModeinput added, which determines the filtering ui of the grid. The default value isquickFilter. Other possible value isexcelStyle, which mimics the filtering in Excel with added functionality for column moving, sorting, hiding and pinning.IgxColumnComponentnow hasdisablePinningproperty, which determines wether the column can be pinned from the toolbar and whether the column pin will be available in the excel style filter menu. ThedisableHidinginput will be used to show/hide the column hiding functionality in the menu.
-
igxTreeGrid- The collapse/expand icons have new orientantion to display the action that will be performed when clicked. When an icon points up clicking on it would result in collapsing the related tree grid level and when it points down clicking on it would expand the tree grid level.
- Expanding/collapsing tree levels can now be performed also by using Alt + Arrow Up/Down to reflect the new icons.
-
IgxColumnComponent- Breaking Change the
gridIDproperty is now deprecated. Please, usecolumn.grid.idinstead.
- Breaking Change the
-
igxCombo- Breaking Change
combo.valueis now only a getter. - Feature added support for templating the default input group of the component. The
igx-combonow allows forigx-prefix,igx-suffix,igx-hintand[igxLabel]components to be passed asng-contentand they will be renderer accordingly on the combo's input. Example:
<!-- customize combo input ---> <igx-combo #myCombo [data]="myGenres"> ... <label igxLabel>Genres</label> <igx-prefix><igx-icon>music_note</igx-icon></igx-prefix> </igx-combo>- Feature the default combo 'clear' and 'toggle' icons can now be templated. Two new directives are added (with selector
[igxComboClearIcon]and[igxComboToggleIcon]). Passing anng-templatewith one of the directives will overwrite the default conent of the respective icon. Functionality will remain unaffected. Expample:
<!-- customize combo input ---> <igx-combo #myCombo [data]="myGenres"> ... <ng-template igxComboToggleIcon let-collapsed> <igx-icon>{{ collapsed ? 'remove_circle' : 'remove_circle_outline'}}</igx-icon> </ng-template> </igx-combo> - Breaking Change
-
igxDropDownIgxDropDownItemBaseand it's descendants (of whichIgxDropDownItem) have had theirisSelectedandisFocusedproperties deprecated. Instead, useselectedandfocusedproperties.- Added an
@Inputfor theindexproperty (such as the one coming from ngFor) of theIgxDropDownItemcomponent. This deprecates the automatic index calculation.
<igx-drop-down> <igx-drop-down-item *ngFor="let item of items; let i = index" [index]="i"> {{ item.field }} </igx-drop-down-item> </igx-drop-down>- Feature
IgxDropDownGroupComponenthas been added. It allows for easier grouping of multi-level data, without the need of flattening it. Theigx-drop-down-item-grouptag acceptsigx-drop-down-items and displays them in the appropriate grouped fashion.<igx-drop-down> <igx-drop-down-item-group *ngFor="let country of contries" [label]="country.name"> <igx-drop-down-item *ngFor="let city of country.cities" [value]='city.refNo'> {{ city.name }} </igx-drop-down-item> </igx-drop-down-item-group> </igx-drop-down>
-
Theme Elevations & Shadows- Components with shadows, set by an elevation level or otherwise, are now fully configurable by the user via schema and/or theme properties. User can also provide a custom elevations set to component themes that support them.- Breaking Change - The
$search-shadow-colorand$search-disabled-shadow-colorproperties on theigx-input-group-themehave been replaced with$search-resting-shadowand$search-disabled-shadowrespectively. Useng updateto migrate automatically.
- Breaking Change - The
-
IgxTreeGridComponent- We can now search in the treegrid's data by using the
findNextand thefindPrevmethods and we can clear the search results with theclearSearchmethod.
- We can now search in the treegrid's data by using the
-
IgxTextHighlightDirectiveIgxTextHighlightDirective.pageinput property is deprecated.rowIndex,columnIndexandpageproperties of theIActiveHighlightInfointerface are also deprecated. Instead,rowandcolumnoptional properties are added.
-
igxDragDropdragGhostHostinput property added. Sets the element to which the dragged element will be appended. If not provided, the dragged element is appended to the body.
-
Column Hiding UI- Behavioral Change - The UI now hides the columns whose
disableHidingproperty is set to true instead of simply disabling them.
- Behavioral Change - The UI now hides the columns whose
-
igxButton- New Button Style - Include outlined button style to support the latest material spec. -
igxOverlay:igxOverlay.attach()method added. Use this method to obtain an unique Id of the created overlay where the provided component will be shown. Then calligxOverlay.show(id, settings?)method to show the component in overlay. The newattachmethod has two overloads:attach(element: ElementRef, settings?: OverlaySettings): string- This overload will create overlay where providedelementwill be shown.attach(component: Type<any>, settings?: OverlaySettings, moduleRef?: NgModuleRef<any>): string- Creates aComponentReffrom the providedcomponentclass to show in an overlay. IfmoduleRefis provided the service will use the module'sComponentFactoryResolverandInjectorwhen creating theComponentRefinstead of the root ones.
igxOverlay.show(component, settings)is deprecated. UseigxOverlay.attach()method to obtain an Id, and then calligxOverlay.show(id, settings)method to show a component in the overlay.IPositionStrategyexposes new methodclonethat clones the strategy instance with its settings.
-
igx-date-picker- Feature Added
dropdownmodeto enable the input field value editing and spinning of the date parts as well as displaying a drop down calendar to select a date. Example:
<igx-date-picker #editableDatePicker1 mode="dropdown" [value]="date" format="dd.MM.y" mask="M/d/y"> </igx-date-picker> - Feature Added
Components roundness
-
Ignite UI for Angular now allows you to change the shape of components by changing their border-radius.
-
Here is the list of all components that have roundness functionality:
- igx-badge
- igx-buttongroup
- igx-calendar
- igx-card
- igx-carousel
- igx-chip
- igx-dialog
- igx-drop-down
- igx-expansion-panel
- igx-input-group
- igx-list
- igx-list-item
- igx-navdrawer
- igx-snackbar
- igx-toast
- igxTooltip
- Breaking Change
- The
$button-roundnessproperty on theigx-button-themehave been replaced for each button type with:$flat-border-radius,$raised-border-radius,$outline-border-radius,$fab-border-radius,$icon-border-radius. - The
$roundnessproperty on theigx-chip-themehave been replaced with$border-radius. - The
$roundnessproperty on theiigx-tooltip-themehave been replaced with$border-radius.
Bug Fixes
- All initially pinned columns get unpinned if the grid's width is set as a percentage of its parent #3774
- Expanding a group row while at the bottom of the grid throws error #4179
- Grouping expand/collapse all button is not aligned with the row selector checkbox. #4178
- IgxToggleAction logs deprecated message in the console #4126
- IgxCombo - Calling selectItems([]) incorrectly clears the combo selection #4106
- IgxCombo - Clearing item filter sometimes empties drop down list #4000
- IgxCombo - Keyboard navigation ArrowDown stutters on chunk load #3999
- Row editing overlay banner not shown when enter row editing #4117
- IgxToggle open method always tries to get id even when it has one #3971
- Last (right-aligned) column is cut off when no widths are set for the columns #3396
- The selection in the last grid column does not span in the whole cell. #1115
- Last column header is a bit wider than the cells #1230
7.1.11
Improvements
- Row and Cell editing Docs improvements #4055
7.1.10
Features
- Column Hiding and Column Pinning components now expose a
disableFilterproperty which allows hiding the filter columns input from the UI.
Bug Fixes
- Tooltip remains opened after clicking its target #4127
- TextHighlight Directive makes the matching spans bold #4129
- igx-grid:
pinnedproperty doesn't work whenwidthproperty is set together. #4125 - Double click in editMode reverts the cell's value #3985
- Issue with export excel/csv from grid #3763
- Error when scrolling grid with mouse wheel after closing a dialog window in the page #4232
- Circular progress bar throws error on IE11 #3787
- Setting grid data property manually after initial rendering without binding it to the input is not detected. #4242
headerGroupClassesis marked as hidden #4276- When you pin child column the whole group is not pinned #4278
- igx-column-group does not fire onColumnVisibilityChanged #4194
- When grid is filtered and update a cell summaries are not updated #4211
7.1.9
Bug Fixes
- igx-grid: Incorrect height calculation when setting height in percent and binding empty data. #3950
- Grid doesn't reflect the applied formatter immediately #3819
- Cannot set chip as selected through API if selectable is false #2383
- IgxCombo - Keyboard navigation in combo with remote data is incorrect #4049
- Setting groupingExpressions run-time has different result than using the UI/methods #3952
- Error on app-shell build in the icon module #4065
- Grid/TreeGrid toolbar dropdowns reopen when trying to close it every other time #4045
- When grid and columns have width in IE the columns are visible outside the grid #3716
- IgxGridToolbarComponent is hidden from the API docs #3974
- igx-grid: row virtualization doesn't work when setting height in percent if you fetch and bind data after initial rendering. #3949
- IgxToggleAction logs deprecated message in the console #4126
7.1.8
Bug Fixes
- Required date picker bound to displayData is shown invalid initially. #3641
- If the columns don't fit the treeGrid viewport, horizontal scrollbar in TreeGrid is gone/disappears #3808
- igxGrid setting autogenerate and groupingExpressions inputs results in errors #3951
7.1.7
Bug fixes
- refactor(card): apply the content color to any text element #3878
- style(linear-bar): Fix text alignment #3862
7.1.6
Bug Fixes
- Calling open() on an already opened IgxDropDown replays the opening animation #3810
7.1.5
Features
-
igxGridGroup By- The collapse/expand icons have new orientantion to display the action that will be performed when clicked. When an icon points up clicking on it would result in collapsing the related group row and when it points down clicking on it would expand the group row.
- The collapse/expand all icons have also been updated to reflect the new group row icons better.
- Group rows now can be expanded/collapsed using Alt + Arrow Up/Down to reflect the new icons.
-
igxTreeGrid- The collapse/expand icons have new orientantion to display the action that will be performed when clicked. When an icon points up clicking on it would result in collapsing the related tree grid level and when it points down clicking on it would expand the tree grid level.
- Expanding/collapsing tree levels can now be performed also by using Alt + Arrow Up/Down to reflect the new icons.
-
Remove CSS Normalization- Some users were complaining we reset too many browser styles - lists and heading styles in particular. We no longer do CSS normalization on an application level. Users who depended on our CSS browser normalization will have to handle that on their own going forward. -
igxOverlayService- the height of the shown element/component is not cached anymore. The height will be calculated each time position method of position strategy is called. -
igxOverlayServiceonClosingevent arguments are of typeOverlayClosingEventArgsthat adds an optionaleventproperty with the original DOM event. The browser event is available when closing of the overlay is caused by an outside click. This also affects all components and directives that useigxOverlayservice -igxToggle,igxDropDown,igxCombo,igxSelectandigxAutocomplete. When they emit their respectiveonClosingevent, the arguments are of typeCancelableBrowserEventArgs, including the optional browser event.
7.1.4
Features
Column Hiding UI- Behavioral Change - The UI now hides the columns whose
disableHidingproperty is set to true instead of simply disabling them.
- Behavioral Change - The UI now hides the columns whose
7.1.3
Bug Fixes
- When search and hide and then show a column the cell values are not correct (3631)
- When press Ctrl+Arrow down key on a summary cell it should stay active (3651)
- When summary row is not fully visible and press Tab the last summary cell is not activated (3652)
- Choosing from a drop down inside a form in a drop down closes the outer drop down (3673)
- Banner - Calling close method on collapsed panel throws error (3669)
- Typedoc API task generates non-public exports (2858)
- column.pin and column.unpin API descriptions need improvement (3660)
- disabledDates for the calendar and date picker should be an @Input() (3625)
- There is no way to determinate if a list item was panned in the click event (3629)
- When search and hide and then show a column the cell values are not correct (3631)
7.1.2
Features
igx-circular-barandigx-linear-barnow feature an indeterminate input property. When this property is set to true the indicator will be continually growing and shrinking along the track.IgxTimePickerComponent: in addition to the current dialog interaction mode, now the user can select or edit a time value, using an editable masked input with a dropdown.IgxColumnComponentnow accepts its templates as input properties through the markup. This can reduce the amount of code one needs to write when applying a single template to multiple columns declaratively. The new exposed inputs are:cellTemplate- the template for the column cellsheaderTemplate- the template for the column headercellEditorTemplate- the template for the column cells when a cell is in edit mode<!-- Example --> <igx-grid ...> <igx-column *ngFor="let each of defs" [cellTemplate]="newTemplate" ...></igx-column> </igx-grid> <ng-template #newTemplate let-value> {{ value }} </ng-template>
Bug Fixes
- When transactions are enabled and delete a row page is changed to first page (3425)
- Row selectors header is not updated when commit transactions (3424)
- When a column is sorted and change value in a cell after commit and press enter on selected cell the focus is not in the input (2801)
- Closing the filter UI cuts the grid on the left (3451)
- GroupedRecords class should be hidden for doc generation. (3483)
- Badly formatted table in the JP documentation (3484)
- Not setting width in percentage on one or more columns results in columns going out of view (1245)
- Feature Request : locale property on a grid level (3455)
- Excel cannot open the exported data (3332)
- API DOC header links on header nav in JP leads to EN product page (3516)
- IgxGridHeaderGroupComponent should have preset min width (3071)
- Adding a custom svg to snackbar (3328)
- Feature request: Using text field input for date and time picker (2337)
- Summaries Keyboard navigation issues (3407)
- IgxRipple - animate() function not supported in Safari (3506)
- Faulty link in Typedoc (3531)
- [IE11] igx-grid - Filtering is cleared when clicking filtering chip if resourceString.igx_grid_filter_row_placeholder is set to Japanese character. (3504)
- Setting required IgxInput's value not via typing does not clear the invalid style. (3550)
- Add bodyTemplate as @Input() for igx-column (3562)
- Horizontal scrollbar is not shown when column's width is set to a percentage value. (3513)
- When select a date filter the date is not previewed in the input (3362)
- Missing locale errors on a browser with non-en language (3569)
- igx-action-icon is not vertically aligned in IgxNavbar (3584)
- [IE11] igx-grid filtering condition is reverted when typing Japanese character in the filtering textbox. (3577)
- TreeGrid has empty space when Summaries are enabled and expand/collapse (3409)
- Filtering row: no chip is created while typing Japanese characters on Edge (3599)
- PowerShell script should be added in order to apply some rules for deployment of the API DOCS (sassdoc, typedoc) (3618)
- igx-grid isn't displayed properly in IE11 when it is inside an igx-tabs-group. (3047)
- Cells' content is shown twice when entering edit mode after searching. (3637)
- ng add improvements (3528)
7.1.1
Bug Fixes
- onSortingDone is not fired when sorting indicator of a header in the group by area is clicked (#3257)
- igx-grid isn't displayed properly in IE11 when it is inside an igx-tabs-group (#3047)
- Preventing wrap-around for scrollNext and scrollPrev(#3365)
- IgxTreeGrid does not respect its parent container height (#3467)
- Include grid's unpinnedWidth and totalWidth in cell width calculation (#3465)
Other
- update typedoc-plugin-localization version to 1.4.1 (#3440)
7.1.0
Features
- New component
IgxBannerComponent:- Allows the developer to easily display a highly templateable message that requires minimal user interaction (1-2 actions) to be dismissed. Read up more information about the IgxBannerComponent in the official documentation or the ReadMe
igxGrid- Added a new
igxToolbarCustomContentdirective which can be used to mark anng-templatewhich provides a custom content for the IgxGrid's toolbar (#2983) - Summary results are now calculated and displayed by default for each row group when 'Group By' feature is enabled.
clearSummaryCache()andrecalculateSummaries()methods are deprecated. The grid will clear the cache and recalculate the summaries automatically when needed.localeproperty added. Default value isen. All child components will use it as locale.- Breaking change
IgxSummaryOperand.operate()method is called with empty data in order to calculate the necessary height for the summary row. For custom summary operands, the method should always return an array ofIgxSummaryResultwith proper length.
- Added a new
IgxIconModule:- Breaking change
igxIconServiceis now provided in root (providedIn: 'root') andIgxIconModule.forRoot()method is deprecated. - Breaking change
glyphNameproperty of theigxIconComponentis deprecated.
- Breaking change
IgxColumnComponent:- Breaking change the
filtersinput now expectsIgxFilteringOperandinstance, instead of class ref. This way customIgxFilteringOperandsno longer need to be singleton, with definedinstancemethod.
- Breaking change the
IgxMask:placeholderinput property is added to allow developers to specify the placeholder attribute of the host input element that theigxMaskis applied on;displayValuePipeinput property is provided that allows developers to additionally transform the value on blur;focusedValuePipeinput property is provided that allows developers to additionally transform the value on focus;
IgxTreeGrid:- 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.
- You can now export the tree grid both to CSV and Excel.
- The hierarchy and the records' expanded states would be reflected in the exported Excel worksheet.
- Summaries feature is now supported in the tree grid. Summary results are calculated and displayed for the root level and each child level by default.
IgxOverlayService:ElasticPositioningStrategyadded. This strategy positions the element as in Connected positioning strategy and resize the element to fit in the view port in case the element is partially getting out of view.
7.0.5
Bug Fixes
- igx-grid isn't displayed properly in IE11 when it is inside an igx-tabs-group. (#3047)
- igx-slider max-value defaults to min-value (#3418)
- Inconsistency in scrollNext and scrollPrev (#3365)
- The header link in the api docs page should be to the product page (#3423)
- Error thrown when edit primaryKey cell in Tree Grid (#3329)
- IgxGridHeaderGroupComponent should have preset min width (#3071)
- Pressing ESC on a cell in an editable column throws an error (#3429)
- Cell foreground is white on hover with the default theme (#3384)
- [IE] Grid toolbar's buttons and title are misaligned (#3371)
- Dialog window does not hold the focus when opened (#3199)
- refactor(themes): don't include contrast colors in the palettes (#3166)
Other
- update typedoc-plugin-localization version to 1.4.1 (#3440)
- Move all keyboard navigation tests in a separate file (#2975)
7.0.4
Bug fixes
- Fix(igx-grid): revert row editing styles (#2672)
- Revert "fix(grid): set min width to header groups programmatically" status: verified version: 7.0.x (#3357)
7.0.3
Bug fixes
- ng add igniteui-angular adds igniteui-cli package to both dependencies and devDependencies (#3254)
- Group column header is not styled correctly when moving that column (#3072)
- igx-grid: Filter row remains after disabling filtering feature (#3255)
- [igxGrid] Keyboard navigation between cells and filtering row with MCH (#3179)
- Argument color) must be a color (#3190)
- Shell strings localization (#3237)
- Tabbing out of the combo search input not possible (#3200)
- Localization (i18n) not available for inputs/buttons on the grid filtering dialog (#2517)
- When in the tree grid are pinned columns and scroll horizontal the cells text is over the pinned text #3163
- Request for update of shell strings in Japanese (#3163)
- Refactor(themes): remove get-function calls (#3327)
- Fix(grid): recalculate grid body size when changing allowFiltering dynamically (#3321)
- Fix - Combo - Hide Search input when !filterable && !allowCustomValues - 7.0.x (#3314)
- Fixing column chooser column updating - 7.0.x (#3235)
- Disable combo checkbox animations on scroll (#3303)
- Added validation if last column collides with grid's scroll. (#3028) (#3100)
- Use value instead of ngModel to update editValue for checkbox and calendar in igxCell (#3225)
- Add @inheritdoc, create ScrollStrategy abstract class and fix method signatures 7.0.x (#3222)
- When scroll with the mouse wheel the value in datePicker editor for edited cell is empty (#2958)
- igxToolbar should have the option to add custom template (#2983)
- fix(grid): mark grid for check inside NgZone when resizing (#2792) (#3277)
- IgxGridHeaderGroupComponent should have preset min width (#3071)
- Tree grid selection (#3334)
7.0.2
Features
ng add igniteui-angularsupport :tada:- You can now add Ignite UI for Angular to existing Angular CLI projects - simply run
ng add igniteui-angularin your project. This will install the package and all needed dependencies, add Ignite UI CLI so you can even quickly add components.
- You can now add Ignite UI for Angular to existing Angular CLI projects - simply run
- New component
IgxBannerComponent:- Allows the developer to easily display a highly templateable message that requires minimal user interaction (1-2 actions) to be dismissed. Read up more information about the IgxBannerComponent in the official documentation or the ReadMe
igxNavbar:- Added a new
igx-action-icondirective that can be used to provide a custom template to be used instead of the default action icon on the left-most part of the navbar. (Ifigx-action-iconis provided, the default action icon will not be used.)
- Added a new
Bug fixes
igxGrid- Filter row does not close when click button cancel, if the entered text is deleted (#3198)
- Prevent a potential memory leak (#3033)
- Filtering: Open dropdown on Alt+down, fixes input being populated on keyboard action (#3202)
- Row Selection: selected checkboxes are flickering on vertical scrolling (#2523)
- Row editing overlay animation should be bottom - top, when overlay is placed over the row (#3184)
7.0.1
Bug fixes
- Removed the
GridHammerConfigprovider which broke touch events for other components. (Fixed #3185, Reopens #2538)
7.0.0
6.2.12
Bug fixes
- igx-grid:
pinnedproperty doesn't work whenwidthproperty is set together. #4125 - When you pin child column the whole group is not pinned #4278
6.2.11
Bug Fixes
- igx-grid: Incorrect height calculation when setting height in percent and binding empty data. #3950
- Cannot set chip as selected through API if selectable is false #2383
- Setting groupingExpressions run-time has different result than using the UI/methods #3952
- igx-grid: row virtualization doesn't work when setting height in percent if you fetch and bind data after initial rendering. #3949
6.2.10
Bug Fixes
- Cells position is changed when scroll vertical #3094
- igxGrid setting autogenerate and groupingExpressions inputs results in errors #3951
6.2.9
Features
igxGridGroup By- The collapse/expand icons have new orientantion to display the action that will be performed when clicked. When an icon points up clicking on it would result in collapsing the related group row and when it points down clicking on it would expand the group row.
- The collapse/expand all icons have also been updated to reflect the new group row icons better.
- Group rows now can be expanded/collapsed using Alt + Arrow Up/Down to reflect the new icons.
igxTreeGrid- The collapse/expand icons have new orientantion to display the action that will be performed when clicked. When an icon points up clicking on it would result in collapsing the related tree grid level and when it points down clicking on it would expand the tree grid level.
- Expanding/collapsing tree levels can now be performed also by using Alt + Arrow Up/Down to reflect the new icons.
Bug Fixes
- Add additional ways of expanding/collapsing in Tree Grid/Group By to reflect new icons #3841
6.2.8
Bug Fixes
- Tree Grid collapse icon is updated to material standards #3780
- Change collapse/expand all icon on GroupBy #3298
6.2.7
Bug Fixes
- igx-grid editing: Japanese inputs are not committed on enter or press key in edit mode #2525
6.2.6
Bug Fixes/Other
6.2.5
Bug Fixes
- Setting required IgxInput's value not via typing does not clear the invalid style (3550)
- igx-grid isn't displayed properly in IE11 when it is inside an igx-tabs-group (3047)
- igxGrid minimal body height when no total height is set or inferred (1693)
- Horizontal scrollbar is not shown when column's width is set to a percentage value (3513)
- Visible @hidden tag due to comment structure (3523)
- Faulty link in Typedoc (3531)
- Several warnings on app launch 6.2.0 RC1 and now 7.0.2 (2915)
- For_of directive doesn't scroll to next elements in some cases (3482)
- Not setting width in percentage on one or more columns results in columns going out of view (1245)
- Calendar test is failing because of wrong selector (3508)
- When transactions are enabled and delete a row page is changed to first page (3425)
- When a column is sorted and change value in a cell after commit and press enter on selected cell the focus is not in the input (2801)
- igxFor with scrollOrientation: horizontal - Almost all the items are not rendered when they don't have width property (3087)
- Pressing ESC on a cell in an editable column throws an error (3429)
6.2.4
Bug Fixes
- onSortingDone is not fired when sorting indicator of a header in the group by area is clicked (#3257)
- igx-grid isn't displayed properly in IE11 when it is inside an igx-tabs-group (#3047)
- Preventing wrap-around for scrollNext and scrollPrev(#3365)
- IgxTreeGrid does not respect its parent container height (#3467)
- The header link in the api docs page should be to the product page (#3423)
- fix(dialog): dialog gets focus when is opened (#3276)
- IgxTreeGrid - Add row editing + transactions to tree grid (#2908)
- Regular highlight makes the highlighted text unreadable when the row is selected. (#1852)
- Use value instead of ngModel to update editValue for checkbox and calendar in igxCell (#3224)
- Disable combo checkbox animations on scroll (#3300)
- "Select/Unselect All" checkbox is checked after deleting all rows (#3068)
- Fixing column chooser column updating (#3234)
- Fix - Combo - Hide Search input when !filterable && !allowCustomValues (#3315)
- Add @inheritdoc (#2943)
- refactor(displayDensity): Code cleanup in display density base class #3280
- Calculating updated grid height when rebinding columns (#3285)
- Fix - Combo, Drop Down - Fix TAB key navigation (#3206)
- Added validation if last column collides with grid's scroll (#3142)
- When in the tree grid are pinned columns and scroll horizontal the cells text is over the pinned text (#3163)
- refactor(themes): don't include contrast colors in the palettes (#3166)
Code enhancements
- Fix the logic calculating test results (#3461)
- Update typedoc version and localize some shell strings (#3237)
- fix(toolbar): including custom content in the show toolbar check (#2983)
- docs(toolbar): adding more API docs (#2983)
Other
- update typedoc-plugin-localization version to 1.4.1 (#3440)
- Update contributing document with localization (#3313)
- docs(*): add 6.2.3 missing changes and bug fixes to changelog (#3251)
- Docs - Expansion Panel - Add comments and README(#3245)
- Move all keyboard navigation tests in a separate file (#2975)
6.2.3
igxGridresourceStringsproperty added, which allows changing/localizing strings for component. If a new instance is set, the changes will be applied to the particular instance of the component:
If only a value is updated, all component instances will be updated:this.grid.resourceStrings = { igx_grid_filter: 'My filter', igx_grid_filter_row_close: 'My close' };this.grid.resourceStrings.igx_grid_filter = 'My filter';igxTimePicker:resourceStringsproperty added, which allows changing/localizing strings for component.
- Localization
- Added an util function
changei18nthat takesIResourceStringsobject as parameter. Its values will be used as resource strings for all components in the application. - Added an util function
getCurrentResourceStringsthat returns current resource strings for all components.
- Added an util function
ISortingEpression:- The
ignoreCaseandstrategyproperties are moved back to optional, and theDefaultSortingStrategyis now injected by theIgxSorting, instead of being mandatory to pass to expressions.
- The
Bug fixes
igxGrid- Filter row does not close when click button cancel, if the entered text is deleted (#3198)
- Prevent a potential memory leak (#3033)
- Filtering: Open dropdown on Alt+down, fixes input being populated on keyboard action (#3202)
- Row Selection: selected checkboxes are flickering on vertical scrolling (#2523)
- Row editing overlay animation should be bottom - top, when overlay is placed over the row (#3184)
6.2.2
igx-checkbox:- Added a new input property -
disableTransitions. It allows disabling all CSS transitions on theigx-checkboxcomponent for performance optimization.
- Added a new input property -
Bug fixes
- Removed the
GridHammerConfigprovider which broke touch events for other components. (Fixed #3185, Reopens #2538)
6.2.1
Features
igxGrid,igxChip: Add display density DI token to igxGrid and igxChip (#2804)igxGridigxCombo:- Added a new input property -
displayDensity. It allows configuring thedisplayDensityof the combo'svalueandsearchinputs. (PR #3007)
- Added a new input property -
igxDropDown- Added a new property
maxHeight, defining the max height of the drop down. (#3001)
- Added a new property
- Added migrations for Sass theme properties changes in 6.2.0 (#2994)
- Themes
- Introducing schemas for easier bootstrapping of component themes.
- Breaking change removed schema` prop, now available on all component themes to change the look for a specific theme. See the Theming documentation to learn more.
Bug fixes
igxGrid- Filtering condition icon is not updated for boolean columns (#2936)
- Batch editing: Updating a cell with a value that evaluates to false does not mark it as dirty (#2940)
- Filtering input accepts value from calendar for unary conditions (#2937)
- When a number filter's value is deleted the grid is not refreshed (#2945)
- Improve keyboard navigation in filtering (#2951, #2941)
- Group By: Alt+ Arrow left/Right keys should not toggle the group row (#2950)
- Multi Column Header can be grouped (#2944)
- Group By: groupsRecords is not updated yet at the time of onGroupingDone event. (#2967)
- Paging: Blank space in rows area after vertical scrolling and navigating to next page (#2957)
- When date or boolean cell is in edit mode and press arrowUp or arrowDown key the page is scrolled (#2507)
- When deleting a row the Row Editing dialog should be closed (#2977)
- Group header with columns which width is defined as number throws an exception (#3020)
- Refactor header and filter cell components, Closes #2972, #2926, #2923, #2917, #2783, #3027, #2938
- Filter's UI dropdown is hidden under the bottom level of the grid (#2928)
- Cell is not editable on iOS (#2538)
IgxTreeGrid- Cell selection wrong behavior when collapsing rows (#2935)
igxCombo- Keyboard doesn't scroll virtualized items (#2999)
igxDatePicker- Error emitting when value property is initialized with empty string. (#3021)
igxOverlay- Drop-down flickers in IE and EDGE (#2867)
igxTabs- Tabs don't not handle width change (#3030)
igxCalendar- make all css class names unique (#2287)
- Fixed runtime errors when using the package in applications targeting es2015(es6) and newer (#3011)
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-typographyclass 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
DisplayDensityTokenand 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-groupcontrol's display density can be explicitly set by using thedisplayDensityinput.
<igx-input-group [displayDensity]="'cosy'"> ... </igx-input-group> - The
-
igx-drop-down:- Added a new boolean argument
cancelto theonSelectionISelectionEventArgs. 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
glyphNameproperty is removed fromIgxIconComponent. ForMaterialicons the icon name should be explicitly defined between the opening and closing tags.Font Awesomeicons should use thenameproperty now. - Added support for custom SVG icons. Register the SVG icons with the
IgxIconServiceand useIgxIconComponent'snameandfontSetproperties to visualize the icon.
- Breaking change
-
Transaction Provider -
TransactionServiceis 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
IgxTreeGridComponentadded. - The
igxTreeGridis 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
igxTreeGridprovides 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 ofISortingExpressioncan now be accessed through theexpressionsevent property. Two new properties have been added to the event arguments -groupedColumnsandungroupedColumns. They provide references to arrays ofIgxColumnComponentthat hold the columns which have changed their state because of the last grouping/ungrouping operation. -
Breaking change
onEditDoneevent is renamed toonCellEditand new cell editing events are introduced:onCellEditEnterandonCellEditCancel. When row editing is enabled, the corresponding events are emitted by the grid -onRowEditEnter,onRowEdit,onRowEditCancel. All these events have arguments that are using theIGridEditEventArgsinterface. -
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
hideGroupedColumnsinput controls whether the grouped columns should be hidden as well (defaults to false). -
Breaking change
cellClassesinput onIgxColumnComponentnow accepts an object literal to allow conditional cell styling. -
Exposing a mechanism for cells to grow according to their content.
-
sortStrategyinput exposed to provide custom sort strategy for theIgxColumnComponent. The custom strategy should implement theISortingStrategyinterface, or can extend the baseSortingStrategyclass 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-datePickerselector is deprecated. Useigx-date-pickerselector instead. -
igxOverlay:OverlaySettingsnow also accepts an optionaloutletto specify the container where the overlay should be attached.- when
showandhidemethods are calledonAnimationevent fires. In the arguments of this event there is a reference to theanimationPlayer,animationType(eitheropenorclose) and to the overlay id. - if you call
show/hidemethods of overlay, while opening/closing animation is still ongoing, the animation will stop and respective open/close animation will start.
-
igxToggleActionnewoutletinput controls the target overlay element should be attached. Provides a shortcut foroverlaySettings.outlet. -
IgxOverlayOutletdirective introduced to mark an element as anigxOverlayoutlet 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-calendarcomponent. - Introduced
specialDates. This property is exposed from theigx-calendarcomponent. - Introduced
deselectDatemethod added that deselects the calendar date.
-
IgxTextHighlightDirective: Thehighlightmethod 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: ThefindNextandfindPrevmethods 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@Outputs. - Breaking change
onSelection's EventEmitter interface propertynextStatusis renamed toselected. - Breaking change Move the location of where the chip
suffixis positioned. Now it is between the content and theremove buttonmaking the button last element if visible by default. - Breaking change Remove the chip
connectorrendered when using theigxConnectordirective 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
datainput for storing any data related to the chip itself. - Added
select iconwith show/hide animation to indicate when a chip is being selected with ability to customize it while retaining the chip Material Design styling. - Added
selectIconinput 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 buttonrendered and now has the ability to customize its icon while retaining the chip Material Design. - Added
removeIconinput 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@Outputs. - 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
TemplateRefassignment 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
heightproperty is removed. In the futureIgxInputGroupwill expose an option that allows custom sizing and thenIgxCombowill use the same functionality for proper styling and better consistency.
- Added the following directives for
-
IgxDropDown- Breaking change
allowItemsFocusdefault value is changed tofalse. - Added
valueinput toIgxDropDownItemComponentdefinition. 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
disabledDatesproperty 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
specialDatesproperty which allows a user to mark dates as special. They can be set by using various rules. Their style is distinguishable. - Introduced
deselectDatemethod added that deselects date(s) (based on the selection type)
- Introduced
-
igxExpansionPanel:- component added.
igxExpansionPanelprovides 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
igxListItemLeftPanningandigxListItemRightPanningdirectives set on the templates. - the IgxList's
onLeftPanandonRightPanevents 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
-
igxTooltipandigxTooltipTargetdirectives:- Added
IgxTooltipDirective.- An element that uses the
igxTooltipdirective 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
igxTooltipTargetdirective 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.
-
IgxDragandIgxDropdirectives available.IgxDragallows any kind of element to be moved/dragged around the page without changing its position in the DOM. Supports Desktop/Mixed/Touch environments.IgxDropallows any element to act as a drop area where anyigxDragelement can be dragged into and dropped. Includes default logic that moves the dropped element from its original position to a child of theigxDropelement.- Combined they provide a way to move elements around the page by dragging them. For more detail see the README.
-
IgxGridkeyboard 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;Spaceover Cell - if the row is selectable, on keydown space triggers row selectionArrow Leftover GroupRow - collapse the group row content if the row is not already collapsed;Arrow Rightover GroupRow - expand the group row content if the row is not already expanded;- on mouse
wheelthe focused element is blurred; - Breaking change
spacehandler for the group row has been removed; soSpacedoes not toggle the group row; - Breaking change cell selection is preserved when the focus is moved to group row.
- Introduced
onFocusChangeevent. The event is cancelable and output argument from typeIFocusChangeEventArgs; - For more detailed information see the official keyboard navigation specification.
6.1.9
General
sortStrategyinput exposed to provide custom sort strategy for theIgxColumnComponent. The custom strategy should implement theISortingStrategyinterface, or can extend the baseDefaultSortingStrategyclass and override all or some of its public/protected members.- The previously optional
ignoreCaseandstrategyof theISortingExpressioninterface are no longer optional. In order to use our default sorting strategy in expressions built programmatically, you need to passDefaultSortingStrategy.instance()or any implementation of theISortingStrategyinterface. groupingComparerinput exposed to provide custom grouping compare function for theIgxColumnComponent. The function receives two values and should return0if they are to considered members of the same group.
6.1.8
Bug fixes
- Fix sorting and groupby expression not syncing when there are already sorted columns. #2786
- GroupBy Chip sorting direction indicator is not changed if sorting direction is changed #2765
- Failing tests caused by inconsistent behavior when sorting a column with equal values #2767
- IgxGridComponent.groupingExpressions is of type any #2758
6.1.7
Bug Fixes
- IgxSelectionAPIService allows to add items with id which is undefined #2581
- FilteredSortedData collection holds the original data after first filtering operation is done #2611
- Calendar improvement of "selected" getter #2687
- Improve igxCalendar performance #2675
- Add Azure Pipelines CI and PR builds #2605
- The igxDatePicker changes the time portion of a provided date #2561
- IgxChip remove icon has wrong color #2573
- Chip has intrinsic margin #2662
- IgxChip remove icon has wrong color #2573
- ChipsArea's OnSelection output is not emitted on initialization #2640
6.1.6
Bug Fixes
- IgxChip raises onSelection before onRemove #2612
- Summaries are shown on horizontal scrolling when Row Selectors are enabled #2522
- Bug - IgxCombo - Combo does not bind properly with [(ngModel)] and simple data (e.g. string[]) #2620
- Missing backtick in comment #2537
- IgxSelectionAPIService allows to add items with id which is undefined #2581
- Circular bar text is clipped #2370
- Update all angular async Calendar tests to await async #2582
- InvalidPipeArgument: 'inable to convert "" into a date for pipe 'DatePipe' #2520
- All cells in the row enter in edit mode if igx-columns are recreated. #2516
6.1.5
- General
IgxChip- Introduced event argument types to all
EventEmitter@Outputs. - A chip can now be selected with the API with the new
selectedinput. Theselectedinput overrides theselectableinput value. - Breaking change
onSelection's EventEmitter interface propertynextStatusis renamed toselected.
- Introduced event argument types to all
IgxChipArea- Introduced event argument types to all
EventEmitter@Outputs.
- Introduced event argument types to all
igxFor- Adding inertia scrolling for touch devices. This also affects the following components that virtualize their content via the igxFor -
igxGrid,igxCombo.
- Adding inertia scrolling for touch devices. This also affects the following components that virtualize their content via the igxFor -
igxGrid- Adding inertia scrolling for touch devices.
igxCombo- Adding inertia scrolling for touch devices.
IgxCalendar-deselectDatemethod added that deselects date(s) (based on the selection type)IgxDatePicker-deselectDatemethod added that deselects the calendar date.
Bug Fixes
- igx-tabs : When you move the tab key, the contents of other tabs are displayed. #2550
- Prevent default scroll behavior when using keyboard navigation. #2496
- Error is thrown on ng serve --prod #2540
- onSelection event is not fired when a cell in last visible row is row is selected and press arrow Down #2509
- Add deselect method to igxCalendar #2424
- Time starts from 03 minutes instead of 00 #2541
- Replace EventEmitter
with the respective interface for the event #2481 - Cannot scroll last item in view #2504
- Japanese character is redundantly inserted into textbox on filter dialog on Safari #2316
- Improve row selection performance #1258
- igxRipple - Mousedown event doesn't bubble up when igxRipple is attached to elements. #2473
- Add default formatting for numbers in igx-grid #1197
- An error is returned when update a filtered cell #2465
- Grid Keyboard navigation performance issue #1923
- Vertical scrolling performance is slower when grouping is applied. #2421
6.1.4
Bug Fixes
- Bottom of letters fall of in the label of igx-tabs-group #1978
- The search highlight and info are not updated correctly after editing a cell value of the grid #2388
- Cannot set chip as selected through API if selectable is false #2383
- Pressing 'Home/End' keys is not moving the focus to the first/last item #2332
- Cannot set igxChip as selected #2378
- Scrolling using touch is not working on Edge and Internet Explorer 11 #1639
- IgxCombo - Selection - Cannot override combo selection through the onSelectionChange event #2440
- igx-grid -
updateCellmethod doesn't update cells that are not rendered. #2350
6.1.3
-
General
- Added ES7 polyfill for Object for IE. This should be added to the polyfills in order for the igxGrid to render under IE.
import 'core-js/es7/object';
- Added ES7 polyfill for Object for IE. This should be added to the polyfills in order for the igxGrid to render under IE.
-
igxTabsselectedIndexproperty has an@Inputsetter and can be set both in markup and in code behind.
-
igxDropDownItemisSelectedhas a public setter and is now an@Inputproperty that can be used for template binding.
-
igxGrid- Breaking change
applyNumberCSSClassandcolumnTypegetters are removed. isUnaryproperty added to IFilteringOperationigxColumn- The footerTemplate property is removed.
igxColumnGroup- The footerTemplate property is removed.
- exposed
autosize()method onIgxColumnComponent. It allows the user to programatically change the size of a column according to it's largest visible cell. - Initializing an
igxGridcomponent without setting height, inside a container without height defined, now causes the grid to render 10 records from the data view or all of the records if there are fewer than 10 available.
- Breaking change
-
igxCombo- Breaking change igxCombo default
widthis set to 100% - Breaking change
itemsMaxWidthis renamed toitemsWidth
- Breaking change igxCombo default
-
igxLinearBarandigxCircularBar- exposed
stepinput which determines the update step of the progress indicator. By default it is one percent of the maximum value. IgxCircularBartextinput property exposed to set the text to be displayed inside the circular bar.
- exposed
Bug fixes
- igx-grid - cannot auto-size columns by double-clicking in IE11 #2025
- Animation for removing item from list is very quick, must be more smoothly. #2306
- circular and linear bars - prevent progress exceeding, smooth update when operate with big nums, allow floating point nums, expose step input #2163
- Blank space on the right of igxGrid when there is a hidden column and grid width is 100% #2249
- Igx Combo throws errors when data is set to null or undefined #2300
- Top cell is not positioned aligned to the header, after keyboard navigation #1185
- In carousel when call method remove for selected slide it is still previewed #2182
- In grid paging paginate and page should check if the page is greater than the totalPages #2288
- Typos and inaccuracies in IgxSnackbar's readme. #2250
- The grid enables all the columns to be declared as pinned in the template #1612
- Combo - Keyboard Navigation - Add Item button fires on Keydown.Space #2266
- Reduce the use of MutationObservers in the IgxTextHighlightDirective #2251
- Improve row selection performance #1258
- Filter UI dialog redraws #2038
- Can't navigate from first row cell to selection checkbox with key combination #1937
- Incorrect position pinning of Navigation Drawer #2013
- Keyboard navigation not working correctly whith column moving and cell selection #2086
- Grid Layout is broken when you hide column #2121
- IgxDateFilteringOperand's operation "doesNotEqual" doesn't work if the "equals" operation is localized(modified). #2202
- aside in igx-nav-drawer surpasses height of igx-nav-drawer #1981
- The button for collapse/expand all in groupby is not working correctly #2200
- IgxDropDown Item cannot be set as selected. #2061
- IgxBooleanFilteringOperand doesn't work if the operation 'all' is localized(modified). #2067
- columnMove doesn't work if no data is loaded. #2158
- Combo's clear button should be just an icon #2099
- Default combo width should be 100% #2097
- The combo list disappears after disabling Filtering at runtime #2108
- igx-slider - slider comes to not work well after changing maxValue. #920
- Search match highlight not always scrolled into view #1886
- When groupby row is focused and spacebar is pressed the browser scrolls down, everywhere except Chrome, although it should only collapse the group #1947
- Grid data bind fails initially until window resize #1614
- Localization (i18n) for grid grouping area string #2046
- When delete all records in the last page pager should be changed #2014
- Filter icon in the header changes its position #2036
6.1.2
-
igxComboimprovements- Remote Data Binding fixes - selection preserving and keyboard navigation.
For more detailed information see the official igxCombo documentation.
General
- Added
jsZipas a Dependency.
Bug Fixes
- Grid Layout is broken when you change displayDensity runtime #2005
- Add empty grid template #2035
- Page Up/Page Down buttons don't scroll the grid #606
- Icon component is not properly exported #2072
- Adding density to chip doesn't make the density style to apply when it is dragged #1846
- Update jszip as dependency #2043
- No message is displayed when there is empty grid data without filtering enabled. #2001
- The only possible range of setting minValue to igxSlider is between [0..99] #2033
- Bootstrap & IgniteUI issues #1548
- Remove tabs from collection -> TabCollectionChange Output #1972
- 6.1.1 error on npm install #2023
- Remote binding combo doesn't store the selected fields when scrolled or collapsed #1944
- Exception is thrown when hovering a chip with a column header #1813
- IgxCombo - Remote Virtualization Keyboard Navigation #1987
6.1.1
igxTimePickerchangesonCloseevent added.
Bug Fixes
- Exit edit mode when move column through grid API #1932
- IgxListItemComponent and the two template directives are missing from public_api.ts. #1939
- Add Item button disappears after adding same item twice successively. #1938
- onTabItemDeselected is called for every not selected tab item #1952
- Exit edit mode when pin/unpin column through grid API #1933
- Selected combo item doesn't have the proper focused styles #1948
- Time-picker does not open on button-press. #1949
- Custom cell not rendering with grid searching functionality #1931
- Regular highlight makes the highlighted text unreadable when the row is selected. #1852
- DatePicker focus is wrong on select date value #1965
- add sass docs, grid document updates and input-group theme-related fixes #1993
- DatePicker focus handler and AoT build #1994
- Change displayDensity runtime #1974
- Change IgxGrid display density runtime #1998
- Error is thrown when using igx-grid theme without $content-background #1996
- Update npm deploy token #2002
6.1.0
igxOverlayservice added. igxOverlayService allows you to show any component above all elements in page. For more detailed information see the official documentation- Added igxRadioGroup directive. It allows better control over its child
igxRadiocomponents and support template-driven and reactive forms. - Added
column movingfeature toigxGrid, enabled on a per-column level. Column moving allows you to reorder theigxGridcolumns via standard drag/drop mouse or touch gestures. For more detailed information see the official documentation. igx-tab-barselector removed fromIgxBottomNavComponent.igxGridfiltering operandsigxGrid- Breaking change
filter_multiplemethod is removed.filtermethod andfilteringExpressionsTreeproperty could be used instead. - Breaking change
filtermethod has new signature. It now accepts the following parameters:name- the name of the column to be filtered.value- the value to be used for filtering.conditionOrExpressionTree- (optional) this parameter accepts object of typeIFilteringOperationorIFilteringExpressionsTree. If only a simple filtering is required a filtering operation could be passes (see bellow for more info). In case of advanced filtering an expressions tree containing complex filtering logic could be passed.ignoreCase- (optional) - whether the filtering would be case sensitive or not.
- Breaking change
onFilteringDoneevent now have only one parameter -IFilteringExpressionsTreewhich contains the filtering state of the filtered column. filter_globalmethod clears all existing filters and applies the new filtering condition to all grid's columns.- filtering operands:
- Breaking change
IFilteringExpressioncondition property is no longer a direct reference to a filtering condition method, instead it's a reference to anIFilteringOperation - 5 filtering operand classes are now exposed
IgxFilteringOperandis a base filtering operand, which can be inherited when defining custom filtering conditionsIgxBooleanFilteringOperanddefines all default filtering conditions forbooleantypesIgxNumberFilteringOperanddefines all default filtering conditions fornumerictypesIgxStringFilteringOperanddefines all default filtering conditions forstringtypesIgxDateFilteringOperanddefines all default filtering conditions forDatetypes
IgxColumnComponentnow exposes afiltersproperty, which takes anIgxFilteringOperandclass reference- Custom filters can now be provided to grid columns by populating the
operationsproperty of theIgxFilteringOperandwith operations ofIFilteringOperationtype
- Custom filters can now be provided to grid columns by populating the
- Breaking change
- Breaking change
export class IgxCustomFilteringOperand extends IgxFilteringOperand {
// Making the implementation singleton
private static _instance: IgxCustomFilteringOperand = null;
protected constructor() {
super();
this.operations = [{
name: 'custom',
logic: (target: string) => {
return target === 'My custom filter';
}
}].concat(this.operations); // Keep the empty and notEmpty conditions from base
}
// singleton
// Must implement this method, because the IgxColumnComponent expects it
public static instance(): IgxCustomFilteringOperand {
return this._instance || (this._instance = new this());
}
}
-
igxGridnow supports grouping of columns enabling users to create criteria for organizing data records. To explore the functionality start off by setting some columns asgroupable:<igx-grid [data]="data"> <igx-column [field]="'ProductName'"></igx-column> <igx-column [field]="'ReleaseDate'" [groupable]="true"></igx-column> </igx-grid>For more information, please head over to
igxGrid's ReadMe or the official documentation. -
igxGridnow supports multi-column headers allowing you to have multiple levels of columns in the header area of the grid. For more information, head over to official documentation -
igxGridtheme now has support for alternating grid row background and text colors. -
igxGridnow has a toolbar (shown using theshowToolbarproperty) which contains the following features:- title (specified using the
toolbarTitleproperty) - column hiding feature (enabled using the
columnHidingproperty) - column pinning feature (enabled using the
columnPinningproperty) - export to excel (enabled using the
exportExcelproperty) - export to CSV (enabled using the
exportCsvproperty)
- title (specified using the
-
igxColumnchanges:- Breaking change filteringExpressions property is removed.
-
igxGridAPI is updated- Breaking change deleteRow(rowSelector: any) method will delete the specified row only if the primary key is defined. The method accept rowSelector as a parameter, which is the rowID.
- Breaking change updateRow(value: any, rowSelector: any) method will update the specified row only if the primary key is defined. The method accept value and rowSelector as a parameter, which is the rowID.
- Breaking change updateCell(value: any, rowSelector: any, column: string) method will update the specified cell only if the primary key is defined. The method accept value, rowSelector,which is the rowID and column name.
- getCellByKey(rowSelector: any, columnField: string) method is added to grid's API. This method retuns a cell or undefined only if primary key is defined and search for the specified cell by the rowID and column name.
- getCellByColumn(rowIndex: number, columnField: string) method is updated. This method returns a cell or undefined by using rowIndex and column name.
-
IgxGridRowAPI is updated:- update(value: any) method is added. The method takes as a parameter the new value, which is to be set to the specidied row.
- delete() method is added. The method removes the specified row from the grid's data source.
-
igxCelldefault editing template is changed according column data type. For more information you can read the specification or the official documentation -
igxCombocomponent added<igx-combo #combo [data]="towns" [displayKey]="'townName'" [valueKey]="'postCode'" [groupKey]="'province'" [allowCustomValues]="true" placeholder="Town(s)" searchPlaceholder="Search town..."></igx-combo>igxCombo features:
- Data Binding - Value Binding - Virtualized list - Multiple Selection - Filtering - Grouping - Custom values - Templates - Integration with Template Driven and Reactive Forms - Keyboard Navigation - Accessibility complianceFor more detailed information see the official igxCombo documentation.
-
igxDropdowncomponent added<igx-drop-down (onSelection)="onSelection($event)" (onOpening)="onOpening($event)"> <igx-drop-down-item *ngFor="let item of items" disabled={{item.disabled}} isHeader={{item.header}}> {{ item.field }} </igx-drop-down-item> </igx-drop-down>igxDropDown displays a scrollable list of items which may be visually grouped and supports selection of a single item. Clicking or tapping an item selects it and closes the Drop Down.
A walkthrough of how to get started can be found here
igxDropdown features:
- Single Selection - Grouping - Keyboard Navigation - Accessibility compliance -
igxChipandigxChipsAreacomponents added<igx-chips-area> <igx-chip *ngFor="let chip of chipList" [id]="chip.id"> <label igxLabel>{{chip.text}}</label> </igx-chip> </igx-chips-area>For more detailed information see the official igxChip documentation.
-
igxTogglechangesonOpeningevent added.onClosingevent added.
-
igxToggleActionnewoverlaySettingsinput controls how applicable targets display content. Provides defaults with positioning based on the host element. ThecloseOnOutsideClickinput is deprecated in favor of the new settings and will be removed in the future. -
igxListnow supports a 'loading' template which is shown when the list is empty and its newisLoadingproperty is set totrue. You can redefine the default loading template by adding anng-templatewith theigxDataLoadingdirective:<igx-list [isLoading]="true"> <ng-template igxDataLoading> <p>Please wait, data is loading...</p> </ng-template> </igx-list> -
Breaking changes:
- Removed submodule imports. All imports are now resolved from the top level
igniteui-angularpackage. igxGridchanges:- sort API now accepts params of type
ISortingExpressionorArray<ISortingExpression>.
- sort API now accepts params of type
igxTogglechangescollapsednow read-only, markup input is removed.onOpenevent renamed toonOpened.onCloseevent renamed toonClosed.openmethod does not accept fireEvents optional boolean parameter. Now it accepts only overlaySettings optional parameter of typeOverlaySettings.closemethod does not accept fireEvents optional boolean parameter.togglemethod does not accept fireEvents optional boolean parameter. Now it accepts only overlaySettings optional parameter of typeOverlaySettings.
igxDialogchangesopenmethod does not accept fireEvents boolean parameter. Now it accepts only overlaySettings optional parameter of typeOverlaySettings.
- Removed submodule imports. All imports are now resolved from the top level
-
Breaking change All properties that were named
isDisabledhave been renamed todisabledin order to acheive consistency across our component suite. This affects: date-picker, input directive, input-group, dropdown-item, tabbar and time-picker. -
The deprecated
igxForRemoteinput for theigxFordirective is now removed. Setting the requiredtotalItemCountproperty after receiving the first data chunk is enough to trigger the required functionality.
6.0.4
- igxRadioGroup directive introduced. It allows better control over its child
igxRadiocomponents and support template-driven and reactive forms. - Fixed ReactiveForms validations support for IgxInputGroup. Related issue.
6.0.3
- igxGrid exposing the
filteredSortedDatamethod publicly - returns the grid data with current filtering and sorting applied.
6.0.2
- igxGrid Improve scrolling on mac #1563
- The
ng update igniteui-angularmigration schematics now also update the theme import path in SASS files. #1582
6.0.1
-
Introduced migration schematics to integrate with the Angular CLI update command. You can now run
ng update igniteui-angularin existing projects to both update the package and apply any migrations needed to your project. Make sure to commit project state before proceeding. Currently these cover converting submodule imports as well as the deprecation of
igxForRemoteand rename ofigx-tab-bartoigx-bottom-navfrom 6.0.0. -
Breaking changes:
- Removed submodule imports. All imports are now resolved from the top level
igniteui-angularpackage. You can useng update igniteui-angularwhen updating to automatically convert existing submodule imports in the project. - Summary functions for each IgxSummaryOperand class has been made
static. So now you can use them in the following way:
import { IgxNumberSummaryOperand, IgxSummaryOperand } from "igniteui-angular"; class CustomSummary extends IgxSummaryOperand { constructor() { super(); } public operate(data?: any[]) { const result = super.operate(data); result.push({ key: "Min", label: "Min", summaryResult: IgxNumberSummaryOperand.min(data) }); return result; } } - Removed submodule imports. All imports are now resolved from the top level
6.0.0
- Theming - You can now use css variables to style the component instances you include in your project.
- Added
onDoubleClickoutput toigxGridto emit the double clicked cell. - Added
findNext,findPrevandclearSearchmethods to the IgxGridComponent which allow easy search of the grid data, even when the grid is virtualized. - Added
IgxTextHighlightDirectivewhich highlights parts of a DOM element and keeps and updates "active" highlight. - Added
Alloption to the filter UI select for boolean columns - Update to Angular 6
5.3.1
- igx-dialog changes
- Dialog title as well as dialog actions (buttons) can be customized. For more information navigate to the ReadMe.
- Filtering a boolean column by
falsecondition will return only the realfalsevalues, excludingnullandundefined. Filtering byNullwill return thenullvalues and filtering byEmptywill return theundefined. - The
Filterbutton in the filtering UI is replaced with aClosebutton that is always active and closes the UI. - Filtering UI input displays a
Xicon that clears the input.
5.3.0
- Added
rowSelectableproperty toigxGrid- Setting
rowSelectabletotrueenables multiple row selection for theigx-gridcomponent. Adds a checkbox column that allows (de)selection of one, multiple or all (via header checkbox) rows. - For more information about the
rowSelectableproperty and working with grid row, please read theigxGrid's ReadMe about selection or see the official documentation
- Setting
- Added
onContextMenuoutput toigxGridto emit the clicked cell. igx-datePicker: AddedonCloseevent.igxTextSelectiondirective addedigxTextSelectiondirective allows you to select the whole text range for every element with text content it is applied.
igxFocusdirective addedigxFocusdirective allows you to force focus for every element it is applied.
igx-time-pickercomponent addedigx-time-pickerallows user to select time, from a dialog with spinners, which is presented into input field.- For more information navigate to the ReadMe.
igx-tab-barchanges- Breaking changes:
IgxTabBarComponentis renamed toIgxBottomNavComponentandIgxTabBarModuleis renamed toIgxBottomNavModule. igx-tab-barselector is deprecated. Useigx-bottom-navselector instead.
- Breaking changes:
igx-tabscomponent addedigx-tabsallows users to switch between different views. Theigx-tabscomponent 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
summariesfeature 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
columnWidthoption 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
igxGridthat 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
igxForOfdirective making the scrolling experience both vertically and horizontally much more natural and similar to a native scroll. - Added
onCellClickevent. igxForOfnow requires that its parent container'soverflowis set tohiddenandpositiontorelative. 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
dirtylocal template variable previously exposed by theigxFordirective. - The
igxForRemoteinput for theigxFordirective is now deprecated. Setting the requiredtotalItemCountproperty after receiving the first data chunk is enough to trigger the required functionality. - the
igx-iconcomponent 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-rippledirective through theigxRippleDisabledproperty. - Updated styling and interaction animations of the
igx-checkbox,igx-switch, andigx-radiocomponents. - Added
indeterminateproperty and styling to theigx-checkboxcomponent. - Added
requiredproperty to theigx-checkbox,igx-radio, andigx-switchcomponents. - Added
igx-rippleeffect to theigx-checkbox,igx-switch, andigx-radiocomponents. The effect can be disabled through thedisableRippleproperty. - Added the ability to specify the label location in the
igx-checkbox,igx-switch, andigx-radiocomponents through thelabelPositionproperty. It can either bebeforeorafter. - You can now use any element as label on the
igx-checkbox,igx-switch, andigx-radiocomponents via the aria-labelledby property. - You can now have invisible label on the
igx-checkbox,igx-switch, andigx-radiocomponents via the aria-label property. - Added the ability to toggle the
igx-checkboxandigx-switchchecked state programmatically viatogglemethod on the component instance. - Added the ability to select an
igx-radioprogrammatically viaselectmethod on the component instance. - Fixed a bug on the
igx-checkboxandigx-radiocomponents where the click event was being triggered twice on click. - Fixed a bug where the
igx-checkbox,igx-switch, andigx-radiochange event was not being triggered on label click. igxМaskdirective addedigxМaskprovide means for controlling user input and formatting the visible value based on a configurable mask rules. For more detailed information seeigxMask README file
igxInputGroupcomponent added - used as a container for theigxLabel,igxInput,igxPrefix,igxSuffixandigxHintdirectives.igxPrefixdirective added - used for input prefixes.igxSuffixdirective added - used for input suffixes.igxHintdirective added - used for input hints.igxInputdirective breaking changes:- the directive should be wrapped by
igxInputGroupcomponent IgxInputGroupModuleshould be imported instead ofIgxInputModule
- the directive should be wrapped by
igxExcelExportServiceandigxCSVExportServiceadded. 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@Outputs. #798 #740 - Reviewed and added missing argument types to the following
EventEmitters- The
igxGridonEditDonenow exposes arguments of typeIGridEditEventArgs. The arguments exposerowandcellobjects where if the editing is performed on a cell, the editedcelland therowthe cell belongs to are exposed. If row editing is performed, thecellobject is null. In addition thecurrentValueandnewValuearguments are exposed. If you assign a value to thenewValuein your handler, then the editing will conclude with the value you've supplied. - The
igxGridonSelectionnow correctly propagates the originaleventin theIGridCellEventArgs.
- The
- Added
jsZipas a Peer Dependency.
- Added event argument types to all
primaryKeyattribute added toigxGridprimaryKeyallows for a property name from the data source to be specified. If specified,primaryKeycan be used instead ofindexto indentify grid rows from theigxGrid.rowList. As such,primaryKeycan be used for selecting rows for the followingigxGridmethods -deleteRow,updateRow,updateCell,getCellByColumn,getRowByKeyprimaryKeyrequires 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),
primaryKeyis best suited for addressing grid row entries. If DOM virtualization is in place for the grid data, the rowindexproperty can be reused (for instance, when filtering/sorting the data), whereasprimaryKeyremains unique. Ideally, when a persistent reference to a row has to be established,primaryKeyshould be used.
- Theming
- Added a
utilitiesmodule to the theming engine to allow for easier import of theming functions and mixins, such as igx-color, igx-palette, igx-elevation, etc. To import the utilities do@import '~igniteui-angular/core/styles/themes/utilities';
- Added a
5.2.1
hammerjsand@types/hammerjsare removed frompeerDependenciesand were added asdependencies. So if you are using Igniteui-Angular version 5.2.1 or above it is enough to runnpm install igniteui-angularin your project for getting started. For more detailed information seeIgnite UI for Angular Getting Startedweb-animations-jsis added as Peer Dependency.Themingbug fixes and improvements.- Use the following command to generate
Ignite UI for Angular Themesdocumentation -npm run build:docs. Navigate todist/docs/sassand openindex.htmlfile.
5.2.0
-
igxForOfdirective addedigxForOfis now available as an alternative tongForOffor templating large amounts of data. TheigxForOfuses 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.
-
igxToggleandigxToggleActiondirectives addedigxToggleallows users to implement toggleable components/views (eg. dropdowns), whileigxToggleActioncan control theigxToggledirective. Refer to the official documentation for more information.igxTogglerequiresBrowserAnimationsModuleto 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-gridchanges- The component now uses the new
igxForOfdirective to virtualize its content both vertically and horizontally dramatically improving performance for applications displaying large amounts of data. - Data-bound Input property
filteringchanged tofilterable:
<igx-grid [data]="data"> <igx-column [field]="'ReleaseDate'" [header]="'ReleaseDate'" [filterable]="true" dataType="date"> </igx-column> </igx-grid>- @HostBinding
min-widthadded toIgxGridCellComponentandIgxGridHeaderCell - The IgxGridCellComponent no longer has a value setter, but instead has an
updatemodifier.
<ng-template igxCell let-cell="cell"> {{ cell.update("newValue") }} </ng-template>- Class
IgxGridFilteringrenamed toIgxGridFilteringComponent - The grid filtering UI dropdowns are now controlled by the
igxToggledirective.- Make sure to import
BrowserAnimationsModuleinside your application module asigxToggleuses animations for state transition.
- Make sure to import
stateinput- filtering expressions and sorting expressions provided
- Removed
onCellSelectionandonRowSelectionevent emitters,onSelectionadded instead. - Removed
onBeforeProcessevent emitter. - Removed
onMovingDoneevent emitter. - Removed methods
focusCellandfocusRow. - Renamed method
filterDatatofilter. - New methods
filterGlobalandclearFilter. - New method
clearSort. - Renamed method
sortColumntosort. - New Input
sortingIgnoreCase- Ignore capitalization of words.
- The component now uses the new
-
igx-navigation-drawerchangesNavigationDrawerrenamed toIgxNavigationDrawerComponentNavigationDrawerModulerenamed toIgxNavigationDrawerModuleIgxNavigationDirectivesrenamed toIgxNavigationModuleNavigationServicerenamed toIgxNavigationServiceNavigationTogglerenamed toIgxNavigationToggleDirectiveNavigationCloserenamed toIgxNavigationCloseDirective- Content selector
ig-drawer-contentreplaced with<ng-template igxDrawer> - Content selector
ig-drawer-mini-contentreplaced with<ng-template igxDrawerMini> - CSS class
ig-nav-drawer-overlayrenamed toigx-nav-drawer__overlay - CSS class
ig-nav-drawerrenamed toigx-nav-drawer
-
igxInputchanges- CSS class
ig-form-grouptoigx-form-group
- CSS class
-
igxBadgechanges- 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-avatarchanges -
igx-calendarchangesformatViews- Controls whether the date parts in the different calendar views should be formatted according to the providedlocaleandformatOptions.templating- The igxCalendar supports now templating of its header and subheader parts.verticalinput - Controls the layout of the calendar component. When vertical is set totruethe calendar header will be rendered to the side of the calendar body.
-
igx-nav-barchanges- Currently
isActionButtonVisibleresolves tofalseif actionButtonIcon is not defined.
- Currently
-
igx-tab-barchanges- 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-scrollcomponent deletedigx-scrollcomponent is not available anymore due newly implementedigxForOfdirective.
-
igxEmptyListdirective added The list no longer hasemptyListImage,emptyListMessage,emptyListButtonText,emptyListButtonClickandhasNoItemsTemplatemembers. Instead of them, theigxEmptyListTemplateDirectivecan 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>onItemClickedevent 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
emptyListImageproperty fromIgxListComponent. - Removed
emptyListMessageproperty fromIgxListComponent. - Removed
emptyListButtonTextproperty fromIgxListComponent. - Removed
emptyListButtonClickevent emitter fromIgxListComponent. - Removed
hasNoItemsTemplateproperty fromIgxListComponent. - Removed
optionsproperty fromIgxListItemComponent. - Removed
leftproperty fromIgxListItemComponent. - Removed
hrefproperty fromIgxListItemComponent. - New
emptyListTemplateinput forIgxListComponent. - New
onItemClickedevent emitter forIgxListComponent. - New
roleproperty forIgxListComponent. - New
innerStyleproperty forIgxListComponent. - New
roleproperty forIgxListItemComponent. - New
elementproperty forIgxListItemComponent. - New
listproperty forIgxListItemComponent. - New
headerStyleproperty forIgxListItemComponent. - New
innerStyleproperty forIgxListItemComponent.
-
Renaming and restructuring directives and components based on the General Angular Naming Guidelines:
IgxAvatarrenamed toIgxAvatarComponentIgxBadgerenamed toIgxBadgeComponentIgxButtonrenamed toIgxButtonDirectiveIgxButtonGrouprenamed toIgxButtonGroupComponentIgxCardHeaderrenamed toIgxCardHeaderDirectiveIgxCardContentrenamed toIgxCardContentDirectiveIgxCardActionsrenamed toIgxCardActionsDirectiveIgxCardFooterrenamed toIgxCardFooterDirectiveIgxCarouselrenamed toIgxCarouselComponentIgxInputrenamed toIgxInputModuleIgxInputClassrenamed toIgxInputDirectiveIgxCheckboxrenamed toIgxCheckboxComponentIgxLabelrenamed toIgxLabelDirectiveIgxIconrenamed toIgxIconComponentIgxListrenamed toIgxListComponentIgxListItemrenamed toIgxListItemComponentIgxSliderenamed toIgxSlideComponentIgxDialogrenamed toIgxDialogComponentIgxLayoutrenamed toIgxLayoutModuleIgxNavbarrenamed toIgxNavbarComponentIgxCircularProgressBarrenamed toIgxCircularProgressBarComponentIgxLinearProgressBarrenamed toIgxLinearProgressBarComponentIgxRadiorenamed toIgxRadioComponentIgxSliderrenamed toIgxSliderComponentIgxSnackbarrenamed toIgxSnackbarComponentIgxSwitchrenamed toIgxSwitchComponentIgxTabBarrenamed toIgxBottomNavComponentIgxTabPanelrenamed toIgxTabPanelComponentIgxTabrenamed toIgxTabComponentIgxToastrenamed toIgxToastComponentIgxLabelDirectivemoved inside../directives/label/folderIgxInputDirectivemoved inside../directives/input/folderIgxButtonDirectivemoved inside../directives/button/folderIgxLayoutDirectivemoved inside../directives/layout/folderIgxFilterDirectivemoved inside../directives/filter/folderIgxDraggableDirectivemoved inside../directives/dragdrop/folderIgxRippleDirectivemoved inside../directives/ripple/folder- Folder
"./navigation/nav-service"renamed to"./navigation/nav.service"