Valence6.3 20260622.0版をリリースしました。AppBuilderの機能を中心に新しい機能が様々追加されています。Tipsでは最新版で追加された主な新機能や変更点についてご紹介します。
- Valence App Builder ウィジェットの追加機能
- Valence App Builder アプリ変数リンクの追加機能
- EditGrid 編集可能なセルにフォーカスを設定するリンクプロパティautoEditFocusFieldを追加
- EditGrid レコード追加時に自動編集するフィールドを指定するリンクプロパティaddRowFocusFieldを追加
- EditGrid ストアを再読み込みするリンクプロパティrefreshを追加
- EditGrid デフォルト値を設定できるリンクプロパティAdd Defaultsを追加
- EditGrid 編集可能なレコード/セルに自動フォーカスする機能を追加
- EditGrid 選択行の削除機能を追加
- EditGrid セル編集中にEnterキー入力でローカルイベントを実行できる機能を追加
- EditGrid/Form ドロップダウンのデータを取得するリンクプロパティgetDataを追加
- EditGrid/Form ストアの行数をアプリ変数に設定するリンクプロパティtotalCountを追加
- EditGrid/Form dropdownのデータを設定するリンクプロパティdataを追加
- Form フォームをクリアするリンクプロパティclearResetを追加
- Mapウィジェット マーカー追加機能を実装
- Valence App Builder アプリケーション作成時の追加機能
Valence App Builder ウィジェットの追加機能
EditGrid 条件で行削除、コピーの有効/無効を設定できる機能を追加

EditGridの「コピーを許可」、「削除を許可」の設定で条件を指定することができるようになり、条件により機能の有効/無効を切り替えることができます。
EditGrid 選択した行を追加する機能を追加

選択したレコードを別のEditGridにコピーすることができるようになりました。
EditGridが複数アプリに存在する場合、EditGridのリンクプロパティに別のEditGridとマッピングするための設定が表示されます。Add Selected Rowsリンクプロパティにtrueを設定すると行がコピーされます。
Form 水平線を追加する機能を追加

Formウィジェット水平線を追加する機能が追加されました。
Formウィジェットのフィールドを分割する線を表示できるようになりました。
Form タブインデックスを指定する機能を追加

Formウィジェットの入力欄にTabIndexを指定する機能が追加されました。
タブキーでの入力欄遷移順を変更することができます。
Valence App Builder アプリ変数リンクの追加機能
EditGrid 編集可能なセルにフォーカスを設定するリンクプロパティautoEditFocusFieldを追加

リンクプロパティのautoEditがtrueに設定された際に、フォーカスを設定するフィールドを指定できます。
EditGrid レコード追加時に自動編集するフィールドを指定するリンクプロパティaddRowFocusFieldを追加

リンクプロパティのaddRowFocusFieldへ行追加時に編集状態にするフィールドを指定します。
インラインセル追加時に指定したフィールドへフォーカスが設定されます。
EditGrid ストアを再読み込みするリンクプロパティrefreshを追加

EditGridのプロパティリンクにrefreshが追加されました。
dropdownのストアを再読み込みすることが可能です。
EditGrid デフォルト値を設定できるリンクプロパティAdd Defaultsを追加

アプリ変数や固定値でデフォルト値を設定できるリンクプロパティを追加しました。
対象となるフィールドにデフォルト値を設定できます。
EditGrid 編集可能なレコード/セルに自動フォーカスする機能を追加

全般のリンクプロパティ autoEditにRRNを設定すると最初の編集可能セルにフォーカスが設定されて編集可能状態となります。
EditGrid 選択行の削除機能を追加

EditGridで選択行を削除するリンクプロパティremoveSelectedRowsが追加されました。
行を選択後、removeSelectedRowsにtrueを設定すると選択行が削除されます。
また、removeSelectedRowsConfirmMsgを設定していると削除時に確認ダイアログを表示できます。
EditGrid セル編集中にEnterキー入力でローカルイベントを実行できる機能を追加

EditGridのセル編集でEnterキー入力でローカルイベントを実行できます。
fireEventOnEnterリンクプロパティにアプリ変数を設定すると、Enterキー入力時にアプリ変数名と同じローカルイベントが呼び出されます。
EditGrid/Form ドロップダウンのデータを取得するリンクプロパティgetDataを追加

リンクプロパティgetDataでdropdownに設定されるデータをアプリ変数に格納できます。
データを取得したアプリ変数を他のdropdownのリンクプロパティdataに設定することが可能です。
また、アプリ変数に取得したデータをJavaScriptでフィルタリングすることで異なるデータのdropdown表示を行うこともできるようになりました。
EditGrid/Form ストアの行数をアプリ変数に設定するリンクプロパティtotalCountを追加

EditGridとFormのリンクプロパティtotalCountを使用することで、データソース(ストア)の件数をアプリ変数に設定することができます。
EditGrid/Form dropdownのデータを設定するリンクプロパティdataを追加

dropdownのデータをアプリ変数で指定できるようになりました。
同じデータソースを使用するdropdownが複数存在する場合、それぞれのdropdownでバックエンド側へリクエストを送信してデータソースの読み込みが実行されます。
今回追加されたリンクプロパティdataを使用することで、他のdropdownからリンクプロパティgetDataでアプリ変数に取得したデータをdropdownに適用できるため、バックエンド側へのリクエスト数を削減することができます。
Form フォームをクリアするリンクプロパティclearResetを追加

リンクプロパティclearResetをtrueに設定するとFormフィールドがリセットされます。
clearResetは「値をリセット」のフィールドとリンクプロパティのhasChangedが設定されている場合のみ設定可能です。
Mapウィジェット マーカー追加機能を実装

「UI」>「追加を許可」を有効にすることで、Mapウィジェットにマーカーを追加することができるようになりました。
追加したマーカーはローカルデータのように扱われ、mapWidget.userMarkers に配列として格納されます。データをスクリプトで取得後、EditGridのローカルデータ等にデータを挿入することでRPG側で扱うことが可能です。
例) データ取得
const mapWidget = getWidget('Map');
const editWidget = getWidget('Edit');
const store = editWidget.getStore();
Ext.each(mapWidget.userMarkers, function(marker) {
const rec = new Ext.data.Record();
const data = marker.fields;
data.lat = marker.lat;
data.lng = marker.lng;
rec.set(data);
store.data.add(rec);
});
Valence App Builder アプリケーション作成時の追加機能
選択したフィルターフィールドを2行目に配置する機能を追加

フィルターの設定にSecond Rowが追加されました。
たくさんのフィルター項目が存在する場合でも、横スクロールすることがないように、フィルターのフィールドを2段表示することができます。
エラーのあるフィールドを強調、フォーカスきるアプリ変数nabAutoFocusErrorCurrentSectionを追加

新しいnabアプリ変数「nabAutoFocusErrorCurrentSection」が追加されました。
trueに設定されると、現在のセクション内でエラーのある項目が強調されてフォーカスが設定されます。
RPG呼び出しの「詳細情報の入力」をキャンセル時にローカルイベントを発生させる機能を追加

「RPGプログラム呼び出し」で入力項目を表示してRPGプログラムを呼び出す際に「キャンセル」ボタンがクリックされた場合に「ローカルイベント」を呼び出すことができるようになりました。
ボタン色をdefaultに戻す機能を追加

ボタンの色を初期状態に戻す機能が追加されました。
アプリ変数にdefaultを指定すると色が初期状態にもどります。
※初期設定や、起動時、アプリ変数の初期値で色を設定している場合には、設定した色に戻ります。