11.2.0-alpha.13
Pre-release
Pre-release
·
8501 commits
to master
since this release
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.- 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
-
IgxDateTimeEditor- Feature -
valueaccepts ISO 8601 string format. - Breaking Change -
valuetype could beDateorstring. - Breaking Change -
onValueChangeevent is renamed tovalueChange. - Breaking Change -
isSpinLoopproperty is renamed tospinLoop. - Feature -
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.
- Feature -
-
IgxDatePicker- Feature -
valueaccepts ISO 8601 string format. - Feature - 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>
- Breaking Change -
valuetype could beDateorstring. - 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:formatter,context,labelInternal,template.<igx-date-picker #datePicker [(value)]="date" [displayFormat]="'longDate'" [inputFormat]="dd/MM/yyyy"> <label igxLabel>Date: </label> <igx-picker-toggle igxPrefix (click)="datePicker.toggle()"> calendar_view_day </igx-picker-toggle> <igx-picker-clear igxSuffix (click)="datePicker.clear()"> delete </igx-picker-clear> </igx-date-picker>
- Breaking Change -
modeandformatare 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 by theoverlaySettings. - Breaking Change -
onValidationFailedevent is renamed tovalidationFailed. - Breaking Change -
onDisabledDateevent is removed. - Breaking Change -
onOpening,onOpened,onClosingandonClosedevents are renamed respectively toopening,opened,closingandclosed.
- Feature -
-
IgxTimePicker- Feature -
valueaccepts ISO 8601 string format. - 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 (click)="timePicker.toggle()"> alarm </igx-picker-toggle> <igx-picker-clear igxSuffix (click)="timePicker.clear()"> 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.
- Feature -
-
IgxDateRangePicker- Feature -
valuestart and end accept ISO 8601 string format. - Feature - The actions template now exposes the Calendar component as implicit context:
<igx-date-range-picker> <ng-template igxPickerActions let-calendar> <button igxButton="flat" (click)="calendar.viewDate = today">Today</button> </ng-template> </igx-date-range-picker>
- Breaking Change -
valuestart and end types could beDateorstring. - Breaking Change -
rangeSelectedevent is renamed tovalueChange. - Breaking Change -
onOpening,onOpened,onClosingandonClosedevents are renamed respectively toopening,opened,closingandclosed. - Breaking Change -
monthsViewNumberis renamed todisplayMonthsCount.
- Feature -
-
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:
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>
- 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.
- The
-
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
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);