
インフラジスティックス・ジャパン株式会社、ローカライゼーション担当のルミです。Ignite UI for Angular 12.0.0 リリースいたしました。本リリースでは様々な新機能と重要な変更が含まれておりますので是非ご期待ください。詳細は以下をご覧ください。
- Typedoc と Sass の API サイトで表示するバージョンを選択いただけますが、製品リリースから同バージョンの API ご提供までには通常数日いただいております。また前バージョンリリース以降に API の追加/変更がない場合、最新バージョンはドロップダウンに追加されない場合があることにご注意ください。
はじめに
Ignite UI for Angular は、50 種類以上のマテリアルデザインに対応する Angular 対応コンポーネントです。モバイル向けのコンポーネントだけではなく、データグリッドや、コンボ、カレンダーなど、業務アプリで必須の機能を持ったコンポーネントを提供しています。
Ignite UI for Angular のバージョニング
Ignite UI for Angular は、有名なセマンティックバージョニングとは異なる方式でバージョンがつけられています。詳しくは下記の記事をご覧ください。
Ignite UI for Angular 12.0.0 リリースノート
ここからは、GitHub の 12.0.0 リリースノートを訳したものです。読みやすいように意訳をいれていますので、必ず本文を確認してください。
全般
IgxGrid、IgxTreeGrid、IgxHierarchicalGrid
- 重大な変更 -
localeおよびpipeArgsパラメーターは、IgxNumberSummaryOperand、IgxDateSummaryOperand、IgxCurrencySummaryOperand、IgxPercentSummaryOperandによって公開されるOperateメソッドから削除されました。これらはigx-grid-summary-cellテンプレートで設定されます。igx-grid-summary-cellのロケールおよび書式設定を変更するには、IgxColumnComponentの新しいsummaryFormatterプロパティを使用します。 - 重大な変更 -
IgxGrid、IgxTreeGrid、IgxHierarchicalGridイベントの名前が以下のように変更されました。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、IgxHierarchicalRowComponentはパブリック API で公開されません。自動移行は、これらのインポートをRowTypeで変更します。IgxColumnのDataTypeデータ タイプはGridColumnDataTypeに変更されました。
変更された動作
getRowByIndex、getRowByKey、cell.rowは、RowTypeインターフェイスを実装するオブジェクトを返すようになりました。dragDataがIRowDragEndEventArgsで発生します。IRowDragStartEventArgsはRowTypeです。IRowDragEndEventArgs、IRowDragStartEventArgsは、ドラッグされた行の HTML 要素を保持するdragElementを発生するようになりました。IPinRowEventArgsのrowがRowTypeになりました。
IgxTabs、IgxBottomNav
- 重大な変更 -
IgxTabsおよびIgxBottomNavコンポーネントは、タブ ヘッダーおよびコンテンツを定義するためのより柔軟で説明的な方法を提供するために完全にリファクタリングされました。既存のigx-tabsおよびigx-bottom-nav定義を新しい定義に移行するには、ng updateで更新してください。
IgxForOfDirective
- 重大な変更 -
IgxForOfDirectiveイベントの名前は以下のように変更されました。onChunkLoad->chunkLoadonScrollbarVisibilityChanged->scrollbarVisibilityChangedonContentSizeChange->contentSizeChangeonDataChanged->dataChangedonBeforeViewDestroyed->beforeViewDestroyedonChunkPreload->chunkPreloadonDataChanging->dataChanging
IgxColumnComponent
- 重大な変更 -
onColumnChange出力の名前がcolumnChangeに変更されました。
- 重大な変更 -
IgxHierarchicalGridおよびIgxRowIslandイベントの名前は以下のように変更されました。onGridCreated->gridCreatedonGridInitialized->gridInitializedonDataPreLoad->dataPreLoad
IgxInputGroupComponent
- 重大な変更 -
disabledプロパティが削除されました。入力グループの無効状態を制御するには、基になるIgxInputDirective.disabledを使用します。ng updateで更新してテンプレート ファイルのdisabledを使用してください。詳細についてはアップデートガイドをご覧ください。詳細についてはアップデートガイドをご覧ください。
IgxDateTimeEditor
- 重大な変更 -
onValueChangeイベントの名前がvalueChangeに変更されました。 - 重大な変更 -
isSpinLoopプロパティの名前がspinLoopに変更されました。
IgxDatePicker
- 重大な変更 -
onSelectionイベントの名前がvalueChangeに変更されました。 - 重大な変更 -
igx-date-pickerでカスタム要素を定義する新しい方法。以下のプロパティが削除または非推奨になりました: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>
- 重大な変更 -
modeとformatはinputFormatに置き換えられました。 - 重大な変更 -
placeholderのデフォルト値inputFormatです。 - 重大な変更 -
editorTabIndexの名前がtabIndexに変更されました。 - 重大な変更 -
monthsViewNumberの名前がdisplayMonthsCountに変更されました。 - 重大な変更 -
verticalの名前がheaderOrientationに変更されました。 - 重大な変更 -
displayDataの名前がdisplayFormatに変更されました。 - 重大な変更 -
dropDownOverlaySettingsおよびmodalOverlaySettingsはoverlaySettingsに置き換えられました。 - 重大な変更 -
onValidationFailedイベントの名前がvalidationFailedに変更されました。 - 重大な変更 -
onDisabledDateイベントが削除されました。 - 重大な変更 -
onOpening、onOpened、onClosingおよびonClosedイベントの名前がそれぞれ、opening、opened、closingおよびclosedに変更されました。 - 重大な変更 -
igxDatePickerActionsの名前がigxPickerActions - 変更された動作 - 開くと、フォーカスされた日付は常に選択/バインドされた日付になります。選択された/バインドされた日付がない場合、日付ピッカーは今日の日付をフォーカスします。minValue および/または maxValue が適用され、今日の日付 (またはバインドされた日付) が指定された範囲外である場合、フォーカスされた日付はそれぞれ minValue または maxValue になります。
IgxTimePicker
- 重大な変更 -
valueのタイプはDateまたはstringです。 - 重大な変更 -
onValueChangedイベントの名前がvalueChangeに変更されました。 - 重大な変更 -
igx-time-pickerでカスタム要素を定義する新しい方法。以下のプロパティは削除または非推奨: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>
- 重大な変更 -
formatはinputFormatに置き換えられました。 - 重大な変更 -
placeholderのデフォルト値はinputFormatです。 - 重大な変更 -
isSpinLoopプロパティの名前がspinLoopに変更されました。 - 重大な変更 -
verticalの名前がheaderOrientationに変更されました。 - 重大な変更 -
onOpening、onOpened、onClosingおよびonClosedイベントの名前がそれぞれ、opening、opened、closingおよびclosedに変更されました。 - 重大な変更 -
onValidationFailedイベントの名前がvalidationFailedに変更されました。 - 変更された動作 - ドロップダウン/ダイアログは、設定されている場合は
minValueとmaxValueの範囲内の時間部分、または提供されたinputFormatで 00:00 から 24:00 の間の時間を表示します。各時間部分に表示される値は、常にゼロから始まる項目のデルタに基づいて計算されます。minValueとmaxValueが項目のデルタと一致しない場合、表示される値は、しきい値に一致する次の/最後の可能な値から開始/終了します。開くときに、選択した時間がバインドされた値になります。バインドされた値がない場合、最小/最大範囲外にある場合、または項目のデルタと一致しない場合、選択された時間は、項目のデルタに一致する最も近い時間になります。
IgxDateRangePicker
- 重大な変更 -
rangeSelectedイベントの名前がvalueChangeに変更されました。 - 重大な変更 -
onOpening、onOpened、onClosingおよびonClosedイベントの名前がそれぞれ、opening、opened、closingおよびclosed. - 重大な変更 -
monthsViewNumberの名前がdisplayMonthsCountに変更されました。
IgxSliderComponent
- 重大な変更 - 次の出力の名前が変更されました:
onValueChangeの名前がvalueChangeに変更されました。onValueChangedの名前がdragFinishedに変更されました。
IgxCircularProgressBarComponent
- 重大な変更 - 次の出力の名前が変更されました:
onProgressChangedの名前がprogressChangedに変更されました。
IgxLinearProgressBarComponent
- 重大な変更 - 次の出力の名前が変更されました:
onProgressChangedの名前がprogressChangedに変更されました。
IgxToast
- 重大な変更 - 以下の非推奨のメソッドおよび出力は削除されました:
showing、shown、hiding、hiddenの出力の代わりにonOpening、onOpened、onClosing、onClosedを使用してください。show、hideメソッドの出力の代わりにopen、closeを使用してください。
IgxSnackbar
- 重大な変更 - 以下の非推奨のメソッドは削除されました:
show、hideの代わりにopen、closeを使用してください。
新機能
IgxTree コンポーネントの追加
- 階層データをナビゲーションが簡単な方法で描画できます。コントロールはデータ バインドされておらず、宣言的なアプローチを採用しているため、ユーザーは描画されるデータをより詳細に制御できます。
- 選択 (バイステートおよびカスケード)、ノードのアクティブ化、ノードの展開状態を処理するための API を備えています。
- W3 規格に完全に準拠した、豊富で使いやすいキーボード ナビゲーションを備えています。
- 階層データ セットから構築されたツリーのコード例:
<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>
IgxHierarchicalGrid
- 階層データのエクスポートのサポートが追加されました。
IgxForOf、IgxGrid、IgxTreeGrid、IgxHierarchicalGrid
- 変更された動作 - 仮想コンテナーは、マウス ホイールを使用して水平または垂直にスムーズにスクロールできるようになりました。この動作は、最新のブラウザーでの仮想化されていないコンテナーのスクロール動作に似ています。
IgxGrid、IgxTreeGrid、IgxHierarchicalGrid
-
IgxRowAddTextDirectiveを使用すると、行追加オーバーレイのテキストをカスタマイズできます。
<igx-grid [rowEditable]="true">
<ng-template igxRowAddText>
Adding Row
</ng-template>
</igx-grid>
-
新しい
summaryFormatter入力プロパティはIgxColumnComponentによって公開され、列の表示された集計値を書式設定するために使用されます。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>
-
dateTimeとtimeの 2 つの新しい列タイプが導入されました。列プロパティdataTypeを 'dateTime' または 'time' に設定する必要があります。<igx-column field="OrderDate" header="Order Date" [dataType]="'dateTime'" > </igx-column> <igx-column field="ClosingTime" header="Closing time" [dataType]="'time'" > </igx-column>
-
変更された動作 - 列の自動サイズ調整機能は、デフォルトの
divなどのように親に基づいて最初のレベルの子がサイズ変更されるテンプレート ヘッダーを処理しません。そのようなヘッダーの自動サイズ変更は変更されません。 -
変更された動作 -
IgxColumnComponentAPI を介してautosizeを呼び出すと、列のminWidthおよびmaxWidthが考慮されるようになりました。 -
autosizeHeaderと呼ばれる新しいIgxColumnComponent入力プロパティが公開されます。falseの場合、自動サイズ設定はヘッダーセルを無視し、コンテンツ セルのみに基づいて自動サイズ設定します。
IgxTabs
IgxTabsコンポーネントのtabAlignmentプロパティはtypeプロパティを置き換え、タブの配置をstart、center、end、justifyに設定できます。igx-tab-headerは、ng-contentでigx-prefixおよびigx-suffixディレクティブをサポートします。
IgxBottomNav
- The
IgxBottomNavコンポーネントは、選択した項目を切り替えるときにコンテンツをアニメーション化するかどうかを決定するdisableAnimationsプロパティを公開します。このプロパティはデフォルトでtrueに設定されています。つまり、アニメーションは無効になっています。
IgxOverlayService
detachおよびdetachAllメソッドがIgxOverlayServiceに追加されました。detachを呼び出すと、関連するオーバーレイに対して生成されたすべての要素を削除し、関連するすべてのリソースをクリーンアップします。detachAllの呼び出しは、IgxOverlay attach の呼び出しによって生成されたすべての要素を削除し、すべての関連リソースをクリーンアップします。注:hideまたはhideAllを呼び出してもサービス要素によって生成されたデータはクリーンアップされず、関連リソースもクリーンアップされません。
IgxCombo
IComboItemAdditionEvent.addedItemへの変更はデータに追加された項目に反映されます。IgxComboComponent.onAdditionがキャンセル可能になりました。イベント引数のcancelプロパティをtrueに設定すると、項目が追加されないようにできます。
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}`;
}
}
}
IgxDateTimeEditor
valueは文字列形式を受け付けます。- 機能 - スピンに使用されるさまざまなデルタ値をユーザーが提供できる
spinDelta入力プロパティ。すべての部分のデフォルト値は 1 です。 incrementおよびdecrementメソッドは、現在スピンされている日付部分を対象とするオプションのdeltaパラメーターを受け取ります。spinDeltaで設定された値よりも優先されます。
IgxDatePicker
valueは文字列形式を受け付けます。- アクション テンプレートは Calendar コンポーネントを暗黙のコンテキストとして公開します:
<igx-date-picker> <ng-template igxPickerActions let-calendar> <button igxButton="flat" (click)="calendar.viewDate = today">Today</button> </ng-template> </igx-date-picker>
IgxTimePicker
valueは文字列形式を受け付けます。igxPickerActionsディレクティブを使用して、ピッカーのポップアップにカスタム ボタンを提供できるようになりました。<igx-time-picker #timePicker> <ng-template igxPickerActions> <button igxButton="flat" (click)="timePicker.close()">Close</button> </ng-template> </igx-time-picker>
IgxDateRangePicker
valueの開始と終了は ISO 8601 文字列形式を受け付けます。igxPickerActionsディレクティブを使用して、ピッカーの [完了] ボタンをテンプレート化できるようになりました。<igx-date-range-picker #rangePicker> <ng-template igxPickerActions> <button igxButton="flat" (click)="rangePicker.close()">Close</button> </ng-template> </igx-date-range-picker>
テーマ:
-
重大な変更:
IgxButtonテーマが簡素化されました。テーマのパラメーター (igx-button-theme) の数が大幅に削減され、プレフィックス パラメーター (flat-*、raised-*など) は含まれなくなりました。既存のボタン テーマを更新するには、移行ガイドを参照してください。ng updateで実行された更新は既存のボタン テーマを移行しますが、接頭辞付きのparamsの不在を説明するために追加の調整が必要になる場合があります。igx-typographyミックスインはigx-coreに暗黙的に含まれなくなりました。タイポグラフィ スタイルを使用するには、ミックスインを明示的に含める必要があります。
@include igx-core(); /// Example with Indigo Design theme: @include igx-typography($font-family: $indigo-typeface, $type-scale: $indigo-type-scale);
サンプル
Ignite UI for Angular を初めて使う、という方は是非こちらから
- オンラインサンプル
- トライアルの開始
Angular API
Ignite UI for Angular の API はこちらから
ナレッジベース
お客様の問題解決に役立つナレッジベースを公開しています。
ナレッジベースはこちらから