ご存知のように、4D v19 R3から計算された属性が利用できるようになりました。この素晴らしい新機能を紹介するブログ記事があります。
私たちは、モバイルアプリの開発者に常に最高で完全なユーザーエクスペリエンスを提案しているので、計算属性は、すべてのiOSとAndroidのプロジェクトと互換性があります。
つまり、ゲッターを定義するとすぐに、モバイルアプリの作成プロセスで他のフィールドと同じように使用できるようになります。つまり、モバイルプロジェクトエディタの構造セクションから、それらを可視化し、公開することができるようになります。これは、例えば住所を複数のフィールドに分割することを避け、モバイルアプリでより関連性の高い情報を表示する場合、かなりの改善となります。
例として、どのように機能するかを見てみましょう。ここでは、名前と姓を含むcomputedfullnameフィールドと、通り番号、都市 、 国フィールドを使用するcomputed fulladdressフィールドを表示します。
4D側
構造を見るとわかるように、FirstName属性とLastName属性が用意されています。モバイルアプリでは、「FirstName LastName」を表示したいと思います。
同様に、StreetNumber属性、Address属性、Location属性も用意されている。そして、“StreetNumber Address – Location “と表示したい。
そのために、ContactEntityクラスを拡張しましょう。
Class extends Entity exposed Function get fullName->$result :Text $result:=This.FirstName+" "+This.LastName exposed Function get fullAddress->$result :Text $result:=This.StreetNumber+" "+This.Street+" - "+This.Location
さて、モバイルプロジェクトエディターに戻りましょう。
プロジェクト・エディター側
プロジェクト・エディターで見ることができるように、計算された属性は構造セクションから利用可能になり、作成プロセスで他のフィールドと同様に公開・使用できるようになりました。
つまり、データセクションで、データをフィルタリングしたり、アイコンを追加したり、短いラベルや長いラベルを追加したりするのに利用できます。また、セッターが用意されていれば、すぐにアクション・パラメーターとして使用することも可能です。それでも、この例では、編集を容易にするために、アクション・フォームで単一属性を使用する方が適切でした。
では、アプリを作りましょう
モバイルアプリ側
最終的なアプリでは、単一属性と計算属性の両方が表示されます。
このように、この新しい機能によって、既存のテンプレートをより高度に利用し、より多くの情報を適切な方法で表示することができます。
4Dフォーラムでフィードバックをお願いします。また、詳細はドキュメントをご覧ください。