2021J v3の新機能
〈v3.1/React〉Visual Studio Codeでのインテリセンスをサポート
Visual Studio CodeでReact用のコンポーネントをJSX、およびTSX内に配置している時、インテリセンスが利用できるようになりました。
〈v3.1/FlexGrid〉カスタムエディタに貼り付けられた値の最大値・最小値を設定
列のeditorプロパティ(カスタムエディタ)が設定されているセルに値を貼り付けた際に、editorプロパティのmin/maxで指定されている値で入力値を制限できるようになりました。カスタムエディタにInputNumber、InputDate、InputTimeを使用する場合に利用可能です。
〈v3.1/FlexGrid〉HTML特殊文字をエスケープせずに出力
FlexGridXlsxConverterを利用してExcelエクスポートを行う場合に、セルに設定されたHTML特殊文字をデフォルトでエスケープせずに出力するようになりました。出力対象のHTML特殊文字は以下の通りです。
- "
- <
- >
- &
〈v3.1/FlexSheet〉計算結果の小数点以下の丸め込みを指定
新たに追加されたcalculationPrecisionプロパティを使用して、計算結果の小数点以下の丸め込みを行う桁数を指定できるようになりました。calculationPrecisionプロパティにマイナスを指定した場合は丸め込みを行いません。
〈v3.1/Accordion〉ペインの開閉状態をAPIで制御
新たに追加されたisCollapsedプロパティを使用して、ペインの開閉状態をAPIを経由して制御できるようになりました。
〈FlexGrid/PDF〉アクセシビリティ機能の強化
アクセシブルなタグ付きのPDFの作成に対応しました。文書構造を指定するタグをPDFに付与することで、スクリーンリーダー(音声読み上げソフト)で適切な順序での読み上げを行ったり、図表のような画像への代替テキストを設定したりなど、よりアクセシビリティに配慮したPDFを作成することができます。
アクセシビリティ機能の強化のために追加されたAPIは以下の通りです。通常のPDF作成時のほか、FlexGridからPDF出力する際にも使用可能です。
taggedプロパティ | PDFをタグ付きPDFとして定義します |
---|---|
addTagメソッド、 Tagメソッド | PDFドキュメントの構造ツリーにタグを追加します |
artifactプロパティ | 指定した要素をアーティファクト(ヘッダーやフッターなど構造要素として設定する必要がないもの)としてマークします |
displayTitleプロパティ | trueに設定した場合、ウィンドウのタイトルバーにIPdfDocumentInfoクラスのtitleプロパティの値を表示します。 false(デフォルト値)に設定した場合はPDFファイルの名前を表示します |
langプロパティ | PDFドキュメントのデフォルトの自然言語を表す値を設定します |
コントロールのタブ順の制御
Tabキーを押下した際のフォーカスの移動順序を設定するAPIを追加しました。Wijmoの全てのコントロールにおいて、動的にフォーカスの移動順序を制御できます。
saveFileメソッドを強化
saveFileメソッドを強化し、Blobオブジェクトを直接保存できるようになりました。
〈InputNumber〉小数部分入力時の動作を改善
InputNumberに入力した数値の小数部分を編集する際に、値が自動で繰り上がらないように機能改善されました。機能改善前の仕様については、以下のナレッジ文書をご覧ください。
〈FlexGrid〉新規行追加時のイベント発生順を改善
FlexGridで新規行をクリップボードからの貼り付けにより追加する際に発生するイベントの発生順を改善しました。
グリッド下部に新規行を追加する場合(デフォルトの動作)
従来のバージョンでは、新規行に対して複数行をクリップボードから貼り付ける場合、行の編集が完了してから、新規行の新たな項目が追加されるというイベントの発生順でした。また、貼り付けられる2行目のデータではrowAddedイベントが発生しませんでした。
2021J v2以前の動作
- 1行目のデータ
- pasting → rowEditStarting → rowEditStarted → (rowAdded → pastingCelld) x セル数 → rowEditEnding → rowEditEnded
- 2行目のデータ
- rowEditStarting → rowEditEnded → pastingCell x セル数 → rowEditEnding → rowEditEnded
2021J v3では、新規行を通じて先に新しい項目を作成してから、行の編集の開始されるという操作手順に沿った順番にイベントが発生するよう改善されました。
また、rowAddedイベントの発生回数が、セル数から行数に変更されました。これにより、rowAddedイベントをキャンセルした場合、以降の発生する行の編集イベントが発生しなくなります。
2021J v3の動作
- 1行目のデータ
- pasting → rowAdded → rowEditStarting → rowEditStarted → pastingCell x セル数 → rowEditEnding → rowEditEnded
- 2行目のデータ
- rowAdded → rowEditStarting → rowEditStarted → pastingCell x セル数 → rowEditEnding → rowEditEnded
また、単一の行をクリップボードから貼り付ける場合も同様に、行の編集が行われてから新たな項目が追加されるというイベント発生順から、新たな項目が追加されてから行の編集が行われるという順番に変更されました。
2021J v2以前の動作
- pasting → rowEditStarting → rowEditStarted → rowAdded → pastingCell x セル数 → rowEditEnding → rowEditEnded
2021J v3の動作
- pasting → rowAdded → rowEditStarting → rowEditStarted → pastingCell x セル数 → rowEditEnding → rowEditEnded
グリッド上部に新規行を追加する場合(newRowAtTop=true)
複数の行をクリップボードから貼り付ける場合、これまではrowAddedイベントが発生しませんでしたが、グリッド下部の新規行に対して貼り付けを行ったときと同じような順序でrowAddedイベントが発生するようになりました。
2021J v2以前の動作
- 1行目のデータ
- pasting → rowEditStarting → rowEditStarted → pastingCell → rowEditEnding → rowEditEnded
- 2行目のデータ
- rowEditStarting → rowEditEnded → pastingCell → rowEditEnding → rowEditEnded
2021J v3の動作
- 1行目のデータ
- pasting → rowAdded → rowEditStarting → rowEditStarted → pastingCell x セル数 → rowEditEnding → rowEditEnded
- 2行目のデータ
- rowAdded → rowEditStarting → rowEditStarted → pastingCell x セル数 → rowEditEnding → rowEditEnded
また、単一の行をクリップボードから貼り付ける場合、行の編集が完了する前に、新規行の新たな項目が追加されるというイベント発生順から、行編集が完了してから、新たな項目が追加されるという順番に変更されました。
2021J v2以前の動作
- pasting → rowEditStarting → rowEditStarted → pastingCell x セル数 → rowEditEnding → rowAdded → rowEditEnded
2021J v3の動作
- pasting → rowEditStarting → rowEditStarted → pastingCell x セル数 → rowEditEnding → rowEditEnded → rowAdded