Mobile Design Components (EntityView)

1. 概要

MDCはエンティティに対して、検索画面と詳細・編集画面を自動生成する仕組みを提供しています。 EntityViewを利用することで、エンティティの検索画面と詳細・編集画面をカスタマイズし、表示項目の制御や入力方法の変更、ユーザー(ロール)に合わせたレイアウトの設定を可能とします。

2. 操作説明

2.1. 検索画面

登録済みのエンティティのデータを検索し、検索結果一覧を表示するための画面です。

operation searchview

ボタンエリア

新規登録 をクリックすると、エンティティの新規登録画面(=編集画面)が表示されます。 新規登録画面では単一データを登録できます。

ごみ箱へ移動 をクリックすると、ごみ箱を表示します。 検索結果で 削除 を行ったデータはごみ箱に格納されます。

ボタンエリアが見えない位置まで画面をスクロールすると、ボタンの代わりにアイコンを表示します。

operation searchview buttons

検索条件エリア

検索画面の右下にあるフローティングアクションボタンをクリックすることで、検索条件を入力するダイアログを表示します。 通常検索詳細検索定型検索 の3種類の検索方法が用意されています。

検索方法は、画面上部のタブで切り替えることが可能です。

リセット をクリックすると、入力した内容を初期化し、画面表示時の状態に戻します。

検索実行 をクリックすると、検索項目に指定された条件を利用して検索を行います。 検索後は検索条件を入力するダイアログが閉じられ、条件に一致した検索結果の一覧が表示されます。

バージョン管理されているEntityの場合には、検索条件エリアに すべてのバージョンを検索 というチェックボックスが表示されます。チェックを入れた場合、すべてのバージョンのデータを検索対象とします。ただし、チェックボックスにチェックを入れていない場合でも、バージョン管理用項目(有効開始日、有効終了日、ステータス、バージョン)が検索条件に指定されている場合、すべてのバージョンのデータを検索対象とします。

通常検索

通常検索 は検索条件上部タブの 通常検索 をクリックすると、その下にエンティティの各項目と検索条件を入力するフィールドが表示されます。

operation searchview condition normal

A.検索項目

検索時に設定する検索条件を指定します。 項目により入力方法が変わります。 詳細は入力フィールドを参照してください。

詳細検索

詳細検索 は検索条件上部の 詳細検索 をクリックすると、その下に任意のエンティティの項目と条件、キーワードを入力するフィールドが表示されます。

operation searchview condition detail

A.検索項目

条件追加 をクリックすると検索条件を追加し、 × アイコンをクリックすると該当行を削除します。

検索項目として指定するプロパティの型ごとにキーワードへ指定できる文字が変わります。

形式

真偽値

true または false
検索結果で表示される文言での代用も可能

日付

yyyy-MM-dd形式

日時

yyyy-MM-dd HH:mm:ss形式

時間

HH:mm:ss形式

参照型

参照データの名前項目、または参照ラベルとして扱うプロパティ項目

選択型

選択肢の値またはラベル

数値

任意の数値

その他

任意の文字列

B.条件の組合せ

検索項目で指定した条件をどのように組み合わせるかを指定します。

すべての条件に一致

AND条件で組み合わせます

いずれかの条件に一致

OR条件で組み合わせます

すべての条件に一致しない

NOT条件で組み合わせます

C.条件式を記述

条件の組合せを任意に行いたい場合に指定します。 以下のような書式で指定してください。 式内の $n が検索項目の行頭の数字に対応しています。

(($1 and $2) or ($3 and $4)) and (not $5)
定型検索

定型検索 は検索条件上部の 定型検索 をクリックすると、その下に固定条件(あらかじめ登録された検索条件)が表示されます。 固定条件はフィルタ機能を利用して作成できます。

operation searchview condition fix

A.固定条件

フィルタ機能で登録された検索条件です。 条件の内容は変更できません。

検索結果エリア

検索実行時に検索条件に一致する検索結果一覧が表示されます。
検索結果一覧の表示形式には、 カード形式テーブル形式、カード形式とテーブル形式を画面上でスイッチ可能な スイッチ形式 が用意されています。

カード形式
operation searchview result card
A.並び替え

検索結果を指定の項目、順序で並び替えます。

B.詳細

データの詳細画面を表示します。

C.ページング

データが10件(設定により変更可)以上有る場合に使用します。 <> は現在表示しているページの前後のページを表示します。 数字をクリックするとそのページのデータを表示します。

D.全選択/全解除

現在表示中の全データを選択状態 or 非選択状態にします。

E.選択

特定のデータを選択状態/非選択状態に切り替えます。 選択状態にすると画面下部の削除アイコンに、選択したデータの件数が反映されます。

F.削除

検索結果で選択したデータ、または検索条件を基にした全データを対象としてデータの削除を行います。 削除したデータはごみ箱に移動します。
表示されている全データが選択された状態で押下した場合、削除対象を選択するダイアログが表示されます。

選択したデータ(n件)を削除

選択状態になっているデータを削除します。

検索結果の全データ(n件)を削除

検索を行った時の条件を利用して、一致する全データを削除します。

G.リンク

検索結果の検索結果の先頭、末尾へ画面をスクロール可能なページ内リンクが表示されます。

テーブル形式
operation searchview result table
A.並び替え

ヘッダー行を押下すると、検索結果を指定の項目、順序で並び替えます。

B.詳細

列を押下すると、データの詳細画面を表示します。

C.ページング

データが10件(設定により変更可)以上有る場合に使用します。 <> は現在表示しているページの前後のページを表示します。 数字をクリックするとそのページのデータを表示します。

D.全選択/全解除

現在表示中の全データを選択状態 or 非選択状態にします。

E.選択

特定のデータを選択状態/非選択状態に切り替えます。 選択状態にすると画面下部の削除アイコンに、選択したデータの件数が反映されます。

スイッチ形式
operation searchview result switch
A.表示形式の切り替えスイッチ

検索結果一覧の表示形式をカード形式 or テーブル形式に切り替えます。

2.2. ごみ箱

検索画面などで削除されたデータが格納されています。 削除データについてはデータの内容等は参照できません。

operation searchview dustbox

A.対象選択

復元 もしくは 削除 する対象を選択します。 表頭のチェックボックスを選択すると、全データを対象にできます。

B.復元

選択したデータをごみ箱から元に戻します。

C.削除

選択したデータを完全に削除します。 ごみ箱から削除したデータは復元できません。

2.3. 詳細画面

エンティティの単一データを表示するための画面です。 詳細画面はダイアログとして表示されます。

operation detailview view

ボタンエリア

削除 をクリックすると、表示中のデータを削除し、検索画面に戻ります。

リンク をクリックすると、ページ内ジャンプするメニューを表示します。

その他 をクリックすると、表示中のデータを操作するメニューを表示します。

ロック をクリックすると、データを他者が編集できないようにします。 解除するにはロックしたユーザーかシステム管理者が ロック解除 をする必要があります。

コピー をクリックすると、表示中のデータを元にした新規登録用の編集画面を表示します。

新しいバージョンとして更新 をクリックすると、表示中のデータを残したまま、新しいバージョンとして更新するための編集画面を表示します。 バージョン管理していないエンティティでは表示されません。

このバージョンを削除 をクリックすると、表示中のデータを削除します。 削除 の場合は表示中のデータの他のバージョンも削除されますが、このバージョンを削除 では他のバージョンは削除されません。 バージョン管理していないエンティティでは表示されません。

編集 (右下のフローティングアクションボタン)をクリックすると、編集画面を表示します。

セクションエリア

プロパティ等をまとめて表示するセクションが配置されるエリアです。 セクションは複数配置でき、用途にあわせてプロパティを内部に配置できます

セクションのタイトル部分をクリックすることで、セクションの下部を隠したり、再度表示することができます。

2.4. 編集画面

エンティティの単一データを編集するための画面です。 編集画面はダイアログとして表示されます。

operation detailview edit

ボタンエリア

リセット をクリックすると、入力した内容を初期化し、画面表示時の状態に戻します。

リンク をクリックすると、ページ内ジャンプするメニューを表示します。

保存 (右下のフローティングアクションボタン)をクリックすると、新規作成のデータを登録、または編集中のデータを保存します。 保存後はデータの詳細画面を表示します。

入力フィールド

セクション内には各プロパティの入力フィールドが表示されます。 型や表示の設定により、入力方法が変わります。

テキストフィールド

文字列や数字など一般的な入力フィールドです。

他の形式のフィールドも含め、フィールドに複数の値を設定可能な場合、 追加 をクリックするとフィールドが追加されます。 フィールドは左端のチェックボックスを選択し、 削除 をクリックすることで削除できます。

operation detailview inputfield text
テキストエリア

改行を含む文字列、文章を入力するためのフィールドです。

operation detailview inputfield textarea

パスワード入力フィールド

パスワードを入力するためのフィールドです。 入力内容はマスクされます。

operation detailview inputfield password

日付フィールド

日付を入力するフィールドです。 右端のアイコンをクリックするとカレンダーが表示され、日付を選択すると自動的にフィールドに反映されます。 また端末の種類により、入力形式が変わります。

operation detailview inputfield date

日時フィールド

日時を入力するフィールドです。 右端のアイコンをクリックするとカレンダーが表示され、日時を選択すると自動的にフィールドに反映されます。 また端末の種類により、入力形式が変わります。

operation detailview inputfield datetime

時間フィールド

時間を入力するフィールドです。 右端のアイコンをクリックするとカレンダーが表示され、時間を選択すると自動的にフィールドに反映されます。 また端末の種類により、入力形式が変わります。

operation detailview inputfield time

プルダウン

選択リストの中から一つを選択する形式です。

operation detailview inputfield pulldown

ラジオボタン

複数の選択肢から一つを選択する形式です。

operation detailview inputfield radio

チェックボックス

複数の選択肢から任意のものを複数選択する形式です。

operation detailview inputfield checkbox

スイッチ

有効/無効の状態を選択する形式です。

operation detailview inputfield switch

参照

参照項目は既存のデータを 選択 するか、 新規 に登録することで設定します。

選択 をクリックすると選択画面が表示されます。
選択画面では、検索画面同様の操作で検索を行い、対象データを選択します。 選択 をクリックすると参照項目に反映されます。

新規 をクリックすると編集画面が表示されます。 必要項目を入力し、 保存 をクリックすると参照項目に反映されます。

operation detailview inputfield reference

フィールドに複数の値を設定可能な場合、データを複数選択できるようになります。

operation detailview inputfield reference dialog

複数件選択できる場合、ヘッダ部分にチェックボックスが表示されます。 チェックすると全選択の対象を選択できるようになります。

2.5. 選択画面

検索条件、編集画面の参照項目でデータを選択する為の画面です。選択画面はダイアログとして表示されます。

operation selectdialog

A.全選択/全解除

現在表示中の全データを選択状態 or 非選択状態にします。

B.並び替え

検索結果を指定の項目、順序で並び替えます。

C.対象選択

特定のデータを選択状態/非選択状態に切り替えます。 選択状態にすると画面下部の選択アイコンに、選択したデータの件数が反映されます。

D.詳細

データの詳細画面を表示します。

E.ページング

データが10件(設定により変更可)以上有る場合に使用します。 <> を押下すると、現在表示しているページの前後のページを表示します。 数字をクリックするとそのページのデータを表示します。

F.リンク

検索結果の先頭、末尾へ画面をスクロール可能なページ内リンクが表示されます。

G.選択

検索結果で選択したデータが参照項目へ反映されます。
検索条件での全選択を許可 にチェックを入れているかつ表示されている全データが選択された状態で押下した場合、選択対象を選択するダイアログが表示されます。
全てのページ を選択すると現在の検索条件に一致する全データ、 現在のページ を選択すると現在表示中のページのデータを選択します。

3. EntityViewの管理

EntityViewは、Entityの検索画面、詳細・編集画面をカスタマイズする仕組みを提供しています。 検索画面はSearchLayoutとFilter定義を、詳細・編集画面はDetailLayoutの設定を利用して画面を生成しています。

entityviewcontrol searchlayout
entityviewcontrol detaillayout

3.1. 表示方法

サイドメニューには各エンティティに対応するメニューが表示されており、クリックすることで検索画面が表示されます。 検索画面で、新規作成ボタンをクリックしたり、検索結果の詳細画面表示アイコンをクリックしたりすることで、詳細・編集画面が表示されます。

3.2. MDC EntityView

MDC EntityViewは検索画面、詳細・編集画面を管理する画面です。 検索画面、詳細・編集画面を編集する場合はこの画面から行います。

MDC EntityViewの表示

MDC EntityViewを表示したいエンティティを右クリックし、MDC EntityView を選択します。

build.gradleで iplass-ee-mdc を依存関係に追加していないと、右クリック時に MDC EntityView は表示されません。

MDC EntityViewの構成

MDC EntityViewは以下の構成になっています。

entityviewcontrol structure
A.画面定義管理

エンティティの検索画面、詳細・編集画面はレイアウトが未設定の場合、自動で生成して画面を表示します。 しかし、ロール毎に構成を変更したい場合、複数のレイアウトを設定する必要があります。 そうした場合は自動生成が行えず、例えば標準的なレイアウトをそのまま使用するロールがあった場合、エンティティ定義のプロパティ設定に変更が加わると、併せてレイアウトの修正が必要になります。

上記のような場合、この自動生成の管理機能を利用することで、特定のViewに対してのみ自動生成を行うように設定でき、標準的なレイアウトであれば個別に設定する手間を省くことができます。

Viewに対して AutoGenerate をチェックすることで、標準的なレイアウトを自動生成するようになります。 Defined にチェックがついてるViewは既にレイアウトの定義が保存されていますが、 AutoGenerate をチェックした場合は保存済みの定義を利用せず、自動生成を行います。

自動生成では namedescription と個別の定義プロパティを対象にします。 自動生成画面の対象プロパティとして oidcreateDate などのシステム項目を対象としたい場合は、 MdcSearchViewServicesystemProperties や、 MdcDetailViewServicesystemSectionProperties で設定を行います。

View定義が保存されている場合は編集アイコンとコピーアイコン、未保存の場合は新規作成アイコンが表示されます。 編集アイコンまたは新規作成アイコンをクリックすると、それぞれのView定義の編集画面を表示します。 コピーアイコンをクリックすると他のViewにView定義を上書きコピーします。

B.許可ロール

Viewに対して許可ロールを指定すると、許可されたロール以外は画面表示時にエラーが発生します。 これを利用することで、特定のロールに見せたくない項目があるViewを意図せずに見られてしまう、といったことを防止できます。

許可ロールを利用した権限制御を行いたい場合は、Action権限、WebApi権限に対して設定が必要になります。 詳細については MDC権限制御 を参照してください。
C.履歴表示

保存済みの設定の履歴を表示します。

D.Add

一覧にView(の名前)を追加します。 一覧に追加することで、存在しないViewに対しても自動生成の設定が行えるようになります。

E.Remove

選択中のViewを一覧から削除します。 削除が可能なのは画面定義が保存されてないViewのみです。

F.状態

Viewの状態を表します。 Addボタンで追加すると I 、画面定義や AutoGenerate を変更すると U 、保存済みのViewを削除すると D になります。

4. 検索画面

検索画面の検索条件部、検索結果部のレイアウトをカスタマイズできます。 レイアウト設定を行わない場合、画面には基本項目及び、エンティティに登録されたプロパティが エンティティ定義上での定義順で表示されます。

4.1. SearchLayoutの表示

ViewControlタブのViewControlSettingから追加もしくは編集のアイコンを押下すると、該当のView名 のSearchLayoutのタブが表示されます。

searchlayout open searchlayout

4.2. SearchLayoutの構成

SearchLayoutは以下の構成になっています。

searchlayout searchlayout structure

ツールバー

紫枠の部分はSearchLayoutの各Viewに対する操作を行うためのボタン群です。

ボタン名 説明

Save

カスタマイズしたViewをViewControlにセットします。この段階ではまだ定義は保存されません。ViewControlタブの先頭に U が表示されます(Update)。ViewControlタブで対象のViewを保存することでView定義が保存されます。

Cancel

Viewの変更を取り消します。 Saveボタン押下前の内容が消えるため、ボタンを押す際は確認してください。

Delete

表示しているViewをViewControlから削除します。SearchLayoutのタブは削除され、ViewControlタブの「Defined」がOFFの状態になり、先頭に U が表示されます(Update)。ViewControlタブで対象のViewを保存することでView定義から削除されます。

Load Auto Layout

View定義を設定しない場合に表示される自動生成画面と同等の設定をロードします。

追加セクション

青枠の部分は検索画面の該当部分にカスタマイズを入れるための機構です。 画面右側の Section 内の部品をドラッグ&ドロップで配置できます。 定義済みのテンプレートやHTMLベースのスクリプトを組み込むことができます。

検索条件・検索結果

緑枠の部分はエンティティのプロパティを配置する領域です。 画面右側の PropertyElement 内の部品をドラッグ&ドロップで配置できます。 SearchLayoutが作成されてない状態の場合、検索画面表示時にはエンティティのプロパティが自動で配置されます。

4.3. 検索画面の設定

図の①部分をクリックすると検索画面全体に対する設定を行うダイアログが表示されます。

設定項目 設定内容

画面タイトル

画面に表示するタイトルを入力します。 未入力の場合、エンティティの Display Name に設定された内容を画面に表示します。

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

標準ボタン設定

検索条件表示ボタンや新規登録ボタンなど、標準で提供されるボタンの設定をカスタマイズします。 詳細は標準ボタン設定を参照してください。

ごみ箱操作をユーザー削除データに限定

ごみ箱内のデータ操作(取得/復元/削除)を削除したユーザーのみに限定する場合はチェックを入れます。 限定する場合、管理者ユーザーも他者削除データは操作ができなくなります。

検索WebApi

検索ボタンクリックで実行されるWebApiを設定します。

一括削除WebApi

削除ボタンクリックで実行されるWebApiを設定します。

条件削除WebApi

全選択チェック時に削除ボタンクリックで実行されるWebApiを設定します。

画面上部のカスタムボタン

タイトル領域の下に表示する独自のボタンを設定します。 詳細はボタン設定を参照してください。

画面下部のカスタムボタン

フッター領域に表示する独自のボタンを設定します。 詳細はボタン設定を参照してください。

データの多言語化

データ操作時に多言語化する場合はチェックします。 チェックした場合、エンティティ定義の Data Localization 設定を有効にしてデータアクセスします。

物理削除するか

チェックした場合、検索画面(結果部)の 削除 ボタンクリック時にデータを物理削除します。 未チェックの場合、削除データはごみ箱に移動します。

特定バージョンを削除

バージョン管理されているEntityの削除時に指定されたバージョンのみを削除します。親子関係の参照を持つ場合はエラーになります。

バージョン指定削除は、親子関係の参照を持つEntityはサポートしていないためエラーになります。また、バージョン指定して削除されたEntityはごみ箱へは格納されません。

UserPropertyEditor利用時に特権実行でユーザー名を表示する

UserPropertyEditorが設定されているプロパティに対し、ユーザー情報のEntity、またはユーザー名のプロパティに参照権限が無いユーザーでも、特権実行をしてユーザー名を表示することができます。

Entity権限における限定条件の除外設定

Entity権限における限定条件を除外する参照先を指定します。

EQLカスタム処理クラス名

検索実行前にクエリ等のカスタマイズを行いたい場合は SearchQueryInterceptor インターフェースを実装するクラスを指定してください。 詳細はカスタム検索処理を参照してください。

標準ボタン設定

検索条件表示ボタンや新規登録ボタンなど、標準で提供されるボタンの設定をカスタマイズします。

設定項目 設定内容

表示

未チェックの場合、ボタンを表示しません。

表示判定スクリプト

表示可否を実行時に動的に判定するGroovyScriptを設定します。 詳細は表示判定スクリプトを参照してください。

表示ラベル

ボタンに表示するラベルを設定します。

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

ツールチップ

ツールチップを指定します。

カスタムクリックイベント

ボタンクリック時に実行されるカスタムJavaScriptコードを設定します。

検索条件ダイアログ起動ボタン設定には以下の項目が追加されています。

設定項目 設定内容

条件設定前のアイコンタグ

条件設定前の検索条件ダイアログ起動ボタンに表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

条件設定前のCSSクラス名

条件設定前の検索条件ダイアログ起動ボタンに設定するスタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

検索実行ボタン、選択ボタン、検索条件ダイアログ起動ボタンには 表示フラグ 表示判定スクリプト 設定はありません。
カスタムクリックイベントの変数

カスタムクリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

defaultHandler

デフォルトのイベントハンドラー関数

event

DOMネイティブイベント

selectionList

検索結果部で選択されているデータ

searchCondition

現在の検索条件

sortCondition

現在のソート条件

page

現在表示されているページ

searchResult

検索結果一覧

searchViewDefinition

SearchView定義

カスタムボタン設定

画面内に追加するカスタムボタンに対して設定を行います。

設定項目 設定内容

表示

チェックした場合、ボタンを表示します。

表示判定スクリプト

表示可否を判定するスクリプトを設定します。 詳細は表示判定スクリプトを参照してください。

表示ラベル

ボタンに表示するラベルを設定します。

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

プライマリ

設定するとボタンを強調表示します。クラス名が指定されている場合は「クラス名」を優先します。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

表示方法

ボタンの表示方法を設定します。

SOLO

単一ボタンとして表示

MENU

メニューから選択するボタンとして表示

クリックイベント

ボタンクリック時に実行されるJavaScriptコードを設定します。

クリックイベントの変数

クリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

selectionList

検索結果部で選択されているデータ

searchCondition

現在の検索条件

sortCondition

現在のソート条件

page

現在表示されているページ

searchResult

検索結果一覧

searchViewDefinition

SearchView定義

表示判定スクリプト

表示可否を判定するGroovyScriptを設定します。 スクリプトが未指定か、スクリプトの実行結果がtrueの場合、表示されます。

以下のオブジェクトがバインドされています。

request

リクエスト

session

セッション

user

ユーザー

4.4. 検索条件の設定

図の②部分をクリックすると検索条件に対する設定を行うダイアログが表示されます。

設定項目 設定内容

詳細条件の表示件数

詳細条件に初期表示する条件の数を設定します。

詳細検索を非表示

詳細検索タブを非表示にする場合はチェックします。

定型検索を非表示

定型検索タブを非表示にする場合はチェックします。

重複行をまとめる

チェックした場合、重複行をまとめます。 検索時に distinct を付与します。

デフォルト検索条件

検索画面上には表示されず、検索時に自動的に付与される検索条件をPreparedQuery形式で指定します。 WHERE句に指定する条件を指定してください。 詳細はデフォルト検索条件を参照してください。

フィルタ設定

定型検索で使用するフィルタを設定します。 未指定の場合は全てのフィルタが対象になります。

検索時にデフォルト検索条件をフィルタ定義と一緒に利用するか

フィルタ定義を使う検索(定型検索)で、フィルタ定義と一緒にデフォルト検索条件を適用する場合にチェックします。

チェックした場合

フィルタの条件+デフォルト検索条件

チェックしない場合

フィルタの条件のみ

デフォルトプロパティ条件設定スクリプト

検索画面(条件部)の各プロパティの初期検索条件をGroovyScript形式で設定します。 詳細はデフォルトプロパティ条件設定スクリプトを参照してください。

ソート設定

検索時にデフォルトで設定されるソート条件を設定します。 ソート設定を参照してください。

検索時にソートしない

検索時に結果をソートしない場合はチェックします。

全文検索時にソートする

全文検索時にソートする場合はチェックします。

デフォルト検索条件

PreparedQuery形式でWHERE句に指定する条件を指定してください。以下がバインドされています。

独自のバインド変数

独自に以下の変数がバインドされています。

request

リクエスト

session

セッション

PreparedQueryのバインド変数、関数

PreparedQueryとして以下の変数、関数が利用できます。

user

実行するユーザーの情報 *1

date

現在日時のjava.util.Dateのインスタンス。

sysdate

現在日付(時間含まず)の文字列。
例 : 2011-01-20

sysdatetime

現在日時の文字列。
例 : 2011-01-18 02:05:03.348

systime

現在時間の文字列。
例 : 23:19:00

toIn(Collection/Array)

引数をinの文字列表現に変換。
利用例 : ";oid in (${toIn(user.groupOid)})";

toDateString(Date)

引数を日付の文字列表現に変換。
利用例 : ";startDate > '${toDateString(date)}'";

toLocalDateString(Date)

引数をローカル日付の文字列表現に変換。
利用例 : ";startDate > '${toLocalDateString(date)}'";

toDateTimeString(Date)

引数を日時の文字列表現に変換。
利用例 : ";startDateTime > '${toDateTimeString(date)}'";

toTimeString(Date)

引数を時間の文字列表現に変換。
利用例 : ";startTime > '${toTimeString(date)}'";

toLocalTimeString(Date)

引数をローカル時間の文字列表現に変換。
利用例 : ";startTime > '${toLocalTimeString(date)}'";

addYear(Date, int)

引数に指定の年を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startDate > '${toDateString(addYear(date, -1))}'";

addMonth(Date, int)

引数に指定の月を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startDate > '${toDateString(addMonth(date, 3))}'";

addWeek(Date, int)

引数に指定の週を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startDate > '${toDateString(addWeek(date, -2))}'";

addDay(Date, int)

引数に指定の日を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startDate > '${toDateString(addDay(date, 10))}'";

addHour(Date, int)

引数に指定の時間を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startDateTime > '${toDateTimeString(addHour(date, -12))}'";

addMinute(Date, int)

引数に指定の分を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startTime > '${toTimeString(addMinute(date, 30))}'";

addSecond(Date, int)

引数に指定の秒を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startTime > '${toTimeString(addSecond(date, -10))}'";

addMillisecond(Date, int)

引数に指定のミリ秒を加えたjava.util.Dateインスタンスを取得する。
利用例 : ";startDateTime > '${toDateTimeString(addMillisecond(date, -500))}'";

*1 userについて

userが所属するグループに関する以下の変数、関数を呼び出すことが出来ます。

groupCode

所属グループのグループコードのString[]。

groupCodeWithChildren

所属グループ(配下グループ含む)のグループコードのString[]。

groupCodeWithParents

所属グループ(上位グループ(ルートまで)含む)のグループコードのString[]。

groupOid

所属グループのoidのString[]。

groupOidWithChildren

所属グループ(配下グループ含む)のグループのoidのString[]。

groupOidWithParents

所属グループ(上位グループ(ルートまで)含む)のグループのoidのString[]。

memberOf(String)

引数のグループコードのメンバ(サブグループに所属していても)の場合trueを返す。

GroovyTemplateのバインド変数、関数

GroovyTemplateとして以下の変数、関数が利用できます。

out

Writer

em

EntityManager

edm

EntityDefinitionManager

auth

AuthContext

escHtml(Object)

引数をHtmlエスケープ

escJs(Object)

引数をJavaScriptエスケープ

escSql(Object)

引数をSQLエスケープ

escSqlLike(Object)

引数をLike用SQLエスケープ

nte(Object)

引数がnullの場合空文字に

設定例
<%@import java.sql.Timestamp%>
<%@import java.text.SimpleDateFormat %>
<%
def date = new SimpleDateFormat("yyyy/MM/dd").parse("2012/09/06");
def timestamp = new Timestamp(date.getTime());
%>
createDate<='${timestamp}' and createBy='${user.getAttribute("oid")}'

デフォルトプロパティ条件設定スクリプト

検索画面(条件部)の各プロパティの初期検索条件をGroovyScript形式で設定します。変数としてinitCondMap (Map<String, Object>) がバインドされています。 initCondMapに対して、 key: プロパティ名value: 初期検索条件とする値 を設定すると初期検索条件として値が設定されます。

初期検索条件は、検索画面の場合はクエリパラメータ (例: sc_name=hoge&sc_value=fuga)、選択画面の場合は選択画面パラメータ生成スクリプトや選択画面カスタムパラメータJavaScriptによっても指定可能です。これらが指定された場合には、initCondMapにあらかじめ値が追加された状態になっています。

また、各プロパティの初期検索条件だけではなく、画面表示時に検索を即実行すること (es=t、initCondMap.put("es","t")) や初期の検索タイプを詳細検索にすること (searchType=Detail、initCondMap.put("searchType","Detail")) なども可能です。

// String、AutoNumber、Boolean
initCondMap.put("string", "abcdefg"); //String
initCondMap.put("autoNumber", "12345678"); //AutoNumber
initCondMap.put("boolean", false); //Boolean

// Date、Time、DateTime(from、to指定は配列で指定)
String[] dateArray = ["20230101","20230103"]; //yyyyMMdd
initCondMap.put("date", dateArray);
String[] timeArray = ["","203040"]; //HHmmss
initCondMap.put("time", timeArray);
String[] dateTimeArray = ["20230101010203"]; //yyyyMMddHHmmss
initCondMap.put("dateTime", dateTimeArray);

// Integer、Float、Decimal(from、to指定は配列で指定)
String[] intArray = ["100", "1000"]; //文字列指定
initCondMap.put("integer", intArray); //Integer
String[] floatArray = ["100.5"]; //文字列指定
initCondMap.put("float", floatArray); //Float
String[] decimalArray = ["", "1000.5"]; //文字列指定
initCondMap.put("decimal", decimalArray); //Decimal

// Select(単一選択)
initCondMap.put("select", "val1");
// Select(複数選択)
String[] selectArray = ["val1","val3"]; //値を指定
initCondMap.put("select2", selectArray);
// 下の形式は不可。[]はGroovyではjava.util.List形式に変換されるのでエラー。配列のみ可。
// initCondMap.put("select", ["val1","val3"]);

// Reference
String[] referenceArray = ["6275503","6275505"]; //OID
initCondMap.put("ref1", "ref002"); //TEXT,名前 or 表示ラベルとして扱うプロパティ指定
initCondMap.put("ref2", referenceArray); //LABEL,OID指定(配列)
initCondMap.put("ref3", "ref002"); //LABEL,名前 or 表示ラベルとして扱うプロパティ指定
initCondMap.put("ref4", referenceArray); //LINK,OID指定(配列)
initCondMap.put("ref5", "6275503"); //SELECT,OID指定
initCondMap.put("ref6", referenceArray); //CHECKBOX,OID指定(配列)
initCondMap.put("ref7", referenceArray); //HIDDEN,OID指定(複数時は配列)

// User
initCondMap.put("createBy", ""); //名前のLike検索

ソート設定

検索実行時および、検索結果エリアに配置された並び替えボタンによるソート時に設定されるソート条件を設定します。

ソート設定が未指定の場合

検索実行時は、当該エンティティのOIDの降順でソートします。
検索結果エリアに配置された並び替えボタンによるソート時は、指定された項目でソートします。
参照プロパティがソート項目として指定された場合、表示中の項目でソートします(ReferencePropertyEditor の「表示ラベルとして扱うプロパティ」が未設定の場合、 name でソートし、プロパティが設定された場合は、表示ラベルとして扱うプロパティでソートします)。

ソート設定が指定された場合

検索実行時は、ソート設定に指定された項目でソートします。
検索結果エリアに配置された並び替えボタンによるソート時は、指定された項目を第1キー、ソート設定に指定された項目を第2キー以降としてソートします。

設定項目 設定内容

ソート項目

検索時にデフォルトで指定するソート項目を設定します。
参照プロパティが指定された場合の挙動は以下の通りです。

参照プロパティ自体が設定された場合(例:reference)

ReferencePropertyEditor の「表示ラベルとして扱うプロパティ」が未設定の場合、 name でソート。設定された場合は、表示ラベルとして扱うプロパティでソートします。

参照先エンティティの特定のプロパティまで指定された場合(例:reference.oid)

ソート項目で明示指定された参照先エンティティのプロパティ(例の場合、 oid)でソートします。

ソート種別

検索時にデフォルトで指定するソート種別を設定します。

null項目のソート順

null項目のソート順を設定します。

NONE

未指定、DB依存

FIRST

null項目を先頭にソート

LAST

null項目を後尾にソート

4.5. 検索結果の設定

図の③部分をクリックすると検索結果に対する設定を行うダイアログが表示されます。

設定項目 設定内容

検索結果の表示タイプ

検索結果の表示タイプを設定します。デフォルトは、 CARD です。

CARD

カード形式で表示

TABLE

テーブル形式で表示

SWITCH

カード形式で表示するか、テーブル形式で表示するかを画面上のスイッチで切り替えられる表示タイプ

検索結果の表示件数

検索結果の表示件数を設定します。 未指定の場合、または0以下の場合は、MdcConfigService で定義される searchResultDispRowCount が適用されます。

カスタム一括削除処理クラス名

エンティティの一括削除時に絞込み等のカスタマイズを行いたい場合は DeleteListInterceptor インターフェースを実装するクラスを指定してください。 詳細はカスタム一括削除処理を参照してください。

条件削除コミットトランザクション制御

条件削除をするとき、一斉に実行するか(ONE)、バッチで実行するか(DIVISION)を決めます。

ONE

一括で削除を実行

DIVISION

バッチを用いて設定した件数で分けて削除を実行(デフォルトで100件)

ページングを非表示

ページング部品を非表示にする場合はチェックします。 ページングを非表示にした場合でも、 検索結果の表示件数 の表示件数が適用されます。

件数を非表示

ページングの下に表示されている検索件数を非表示にする場合はチェックします。

ページング表示位置

ページング部品の表示位置を設定します。

BOTH

検索結果の上下に表示

TOP

検索結果の上部に表示

BOTTOM

検索結果の下部に表示

テーブル形式の場合のテーブルの高さ

テーブル形式の場合のテーブルの高さ(px)を指定します。高さを指定した場合、ヘッダーが固定化されます。

4.6. 検索画面のレイアウト設定

セクションの設定

画面右側のSectionの項目を画面内の ボタン上部ボタン下部検索条件上部検索条件下部検索結果上部検索結果下部 にドラッグ&ドロップする事でセクションを配置できます。

スクリプトセクション

GroovyTemplateで記述されたテンプレートを画面に組み込みます。 HTMLやスクリプト、Vue.jsのSFC形式(単一ファイルコンポーネント形式)などでテンプレートを記述できます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 設定内容

表示

チェックした場合、画面に表示します。

表示判定スクリプト

表示可否を判定するスクリプトを設定します。 詳細は表示判定スクリプトを参照してください。

テンプレート文字列の解釈タイプ

以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

スクリプト

スクリプト編集画面を表示してGroovyTemplateの文法に従って記述します。 詳細はGroovyTemplateを参照してください。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.entityDefinition

エンティティ定義

request.element

スクリプトセクション定義

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • searchCondition : 現在の検索条件

  • sortCondition : 現在のソート条件

  • searchResult : 検索結果一覧

  • selectionList : 検索結果部で選択されているデータ(全文検索を除く)

  • page : 現在表示されているページ(全文検索を除く)

  • searchViewDefinition : SearchView定義(全文検索を除く)

テンプレートセクション

別途定義したテンプレートを画面に組み込みます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 設定内容

表示

チェックした場合、画面に表示します。

表示判定スクリプト

表示可否を判定するスクリプトを設定します。 詳細は表示判定スクリプトを参照してください。

テンプレート文字列の解釈タイプ

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

テンプレート名

登録済テンプレート名を設定します。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.entityDefinition

エンティティ定義

request.element

テンプレートセクション定義

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • searchCondition : 現在の検索条件

  • sortCondition : 現在のソート条件

  • searchResult : 検索結果一覧

  • selectionList : 検索結果部で選択されているデータ(全文検索を除く)

  • page : 現在表示されているページ(全文検索を除く)

  • searchViewDefinition : SearchView定義(全文検索を除く)

プロパティの配置

Propertyから検索画面へドラッグ&ドロップし、任意のPropertyを配置していきます。 Propertyは、検索条件Sectionと検索結果Sectionにのみ配置できます。

エレメントについては、検索条件仮想プロパティ 検索結果仮想プロパティ を参照してください。

(例)下図はデフォルトと同じ検索項目を維持し、オブジェクト情報の順序のみ変更しています。 Propertyのreference(参照)はフォルダのアイコンになっています。 ダブルクリックで展開することにより、参照プロパティが持つプロパティを検索条件と検索結果に配置することもできます。

searchlayout searchlayout dropproperty

配置した各プロパティの設定ボタンをクリックすることでカスタマイズが可能です。

検索条件プロパティの設定

検索条件に配置されたプロパティに対する設定を行います。

設定項目 設定内容

表示

プロパティを画面に表示する場合はチェックします。

表示判定スクリプト

表示可否を判定するスクリプトを設定します。 詳細は表示判定スクリプトを参照してください。

表示ラベル

画面に表示するラベルを設定します。

ヒント

入力欄下部に表示する説明を設定します。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

通常検索で非表示

通常検索条件の項目として表示しない場合はチェックします。

詳細検索で非表示

詳細検索条件の項目として表示しない場合はチェックします。

通常検索での必須項目

通常検索条件の必須項目にする場合はチェックします。

詳細検索での必須項目

詳細検索条件の必須項目にする場合はチェックします。

プロパティエディタ

検索条件プロパティエディタを設定します。 検索条件プロパティエディタの詳細については、検索条件プロパティエディタを参照してください。

列情報

検索条件のプロパティの幅を設定します。
列情報の詳細については列情報を参照してください。

入力チェック

入力チェック方法を設定します。 詳細は入力チェックを参照してください。

列情報

MDCはコンテンツのレイアウト設定として全体を12ポイントとするグリッドシステムを利用します。 画面サイズに対するブレークポイントに対して、コンテンツを表示するサイズを設定します。

設定項目 設定内容

Extra Smallサイズの列数

画面サイズが600px以下の場合の列数の設定します。(設定範囲は1~12)

Smallサイズの列数

画面サイズが600px以上 960px以下の場合の列数の設定します。(設定範囲は1~12)

Mediumサイズの列数

画面サイズが960px以上 1264px以下の場合の列数の設定します。(設定範囲は1~12)

Largeサイズの列数

画面サイズが1264px以上 1904px以下の場合の列数の設定します。(設定範囲は1~12)

Extra Largeサイズの列数

画面サイズが1904px以上の場合の列数の設定します。(設定範囲は1~12)

入力チェック

検索実行時に検索条件に対する入力チェックを行います。 未指定の場合は入力チェックは行われません。 なお、現時点では複数項目のいずれかが必須かチェックする機能のみが実装されています。

設定項目 設定内容

メッセージ

入力チェックエラー時に表示するメッセージを設定します。

通常検索で入力チェックを行う

通常検索実行時に入力チェックを行う場合はチェックします。

詳細検索で入力チェックを行う

詳細検索実行時に入力チェックを行う場合はチェックします。

対象プロパティ

このプロパティと組み合わせて必須チェックを行うプロパティの名前を設定します。 参照プロパティのネストされた項目を指定する場合は .(ドット) でプロパティ名を連結します。

検索条件仮想プロパティ

プロパティと同様の表示が出来る仮想プロパティを設定します。多重度は1のみサポートします。

設定項目 設定内容

表示

プロパティを画面に表示する場合はチェックします。

表示判定スクリプト

表示可否を判定するスクリプトを設定します。 詳細は表示判定スクリプトを参照してください。

プロパティ名

仮想プロパティの名前を設定します。 既に設定されている仮想プロパティの名前や、エンティティに定義されているプロパティと同じ名前は設定できません。

表示ラベル

画面に表示するラベルを設定します。

ヒント

入力欄下部に表示する説明を設定します。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

通常検索で非表示

通常検索条件の項目として表示しない場合はチェックします。

詳細検索で非表示

詳細検索条件の項目として表示しない場合はチェックします。

通常検索での必須項目

通常検索条件の必須項目にする場合はチェックします。

詳細検索での必須項目

詳細検索条件の必須項目にする場合はチェックします。

プロパティエディタ

以下の型を選択します。表示したい内容に合わせて変更してください。 詳細は検索条件プロパティエディタを参照してください。

SearchConditionBooleanPropertyEditor
SearchConditionDatePropertyEditor
SearchConditionDecimalPropertyEditor
SearchConditionFloatPropertyEditor
SearchConditionIntegerPropertyEditor
SearchConditionScriptPropertyEditor
SearchConditionSelectPropertyEditor
SearchConditionStringPropertyEditor(デフォルト)
SearchConditionTimePropertyEditor
SearchConditionTimestampPropertyEditor
SearchConditionTemplatePropertyEditor
SearchConditionUserPropertyEditor

列情報

検索条件のプロパティの幅を設定します。
列情報の詳細については列情報を参照してください。

入力チェック

入力チェック方法を設定します。 詳細は入力チェックを参照してください。

検索結果プロパティの設定

検索結果に配置されたプロパティに対する設定を行います。

設定項目 設定内容

表示

プロパティを画面に表示する場合はチェックします。

ソートを許可

検索結果画面でのソート条件の選択肢に追加する場合はチェックします。

対象のプロパティが暗号化されている場合、またはReference型以外で多重度が複数の場合は、ソートはできません。許可設定は無効になります。

表示判定スクリプト

表示可否を判定するスクリプトを設定します。 詳細は表示判定スクリプトを参照してください。

表示ラベル

画面に表示するラベルを設定します。

検索結果プロパティエディタ

検索結果プロパティエディタを設定します。 検索結果プロパティエディタの詳細については、検索結果プロパティエディタを参照してください。

テーブル形式の場合のテキスト配置位置

テーブル形式の場合のテキスト配置位置を設定します。未指定の場合のデフォルトは、 END です。

START

左寄せ

CENTER

中央揃え

END

右寄せ

テーブル形式の場合の列幅

テーブル形式の場合の列幅(px)を設定します。

null項目のソート順

null項目のソート順を設定します。

NONE

未指定、DB依存

FIRST

null項目を先頭にソート

LAST

null項目を後尾にソート

検索結果仮想プロパティ

プロパティと同様の表示が出来る仮想プロパティを設定します。多重度は1のみサポートします。

設定項目 設定内容

表示

プロパティを画面に表示する場合はチェックします。

表示判定スクリプト

表示可否を判定するスクリプトを設定します。 詳細は表示判定スクリプトを参照してください。

プロパティ名

仮想プロパティの名前を設定します。 既に設定されている仮想プロパティの名前や、エンティティに定義されているプロパティと同じ名前は設定できません。

表示ラベル

画面に表示するラベルを設定します。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

プロパティエディタ

以下の型を選択します。表示したい内容に合わせて変更してください。 詳細は検索結果プロパティエディタを参照してください。

SearchResultBooleanPropertyEditor
SearchResultDatePropertyEditor
SearchResultDecimalPropertyEditor
SearchResultFloatPropertyEditor
SearchResultIntegerPropertyEditor
SearchResultScriptPropertyEditor
SearchResultSelectPropertyEditor
SearchResultStringPropertyEditor(デフォルト)
SearchResultTimePropertyEditor
SearchResultTimestampPropertyEditor
SearchResultTemplatePropertyEditor
SearchResultUserPropertyEditor

4.7. プロパティエディタ

検索条件、検索結果で使用する各プロパティの入力表示設定になります。 検索条件、検索結果に配置した各プロパティの設定を変更をすることができます。 基本的にはプロパティの型に対応する型を選択してください。

共通設定項目

検索条件プロパティエディタで共通の設定項目です。

設定項目 設定内容

表示カスタムスタイル

検索画面の検索条件で Label タイプに指定した条件の表示、検索結果一覧の各項目表示に対して直接style属性を指定することが可能です。 値によって強調させたい場合などに利用します。 詳細は表示カスタムスタイルを参照してください。

入力カスタムスタイル

検索画面の検索条件のinput要素に対して、直接style属性を指定することが可能です。 例えば入力用のinputの幅を調整したい場合などに利用します。 詳細は入力カスタムスタイルを参照してください。

表示カスタムスタイル

GroovyTemplate書式で設定します。 以下の値がバインドされます。

基本変数
request

リクエスト

session

セッション

個別変数
today

現在日時(java.sql.Timestamp)

設定例
<% //表示しているテキストの大きさを25pxに、色を青に変更
%>
color:#0000FF; font-size:25px;
入力カスタムスタイル

GroovyTemplate書式で設定します。 以下の値がバインドされます。

基本変数
request

リクエスト

session

セッション

個別変数
today

現在日時(java.sql.Timestamp)

設定例
<% //入力テキストの幅を100pxに、背景色を赤に変更
%>
background-color:#FFCCCC; width:100px;

Editorの表示タイプが選択可能な場合、タイプによって適用されるinputが異なります。

TEXT、USER

.mdc-input-field に対して指定したスタイルを適用します。

SELECT

.mdc-select-field に対して指定したスタイルを適用します。

RADIO

radioを囲む .mdc-radio-group に対して指定したスタイルを適用します。

CHECKBOX

checkboxを囲む .mdc-checkbox-group に対して指定したスタイルを適用します。

検索条件プロパティエディタ

検索条件で使用できるプロパティエディタです。

AutoNumberPropertyEditor

検索条件のAutoNumber型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

TEXT

画面に表示する方法を下記から選択します。

TEXT

テキストフィールドを表示

LABEL

ラベルを表示、検索条件ではテキストフィールドを表示(TEXTを推奨)

HIDDEN

検索条件の対象とするが画面には表示しない

完全一致で検索

TEXT

検索画面での検索処理時に完全一致検索とする場合はチェックを入れます。

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

BinaryPropertyEditor

検索条件のBinary型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を設定します。

TEXT

テキストフィールドを表示(名前検索)

LABEL

検索条件ではラベル(名前検索)を表示、複数値指定は不可

HIDDEN

検索条件の対象とするが画面には表示しない

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

BooleanPropertyEditor

検索条件のBoolean型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

RADIO

ラジオボタンを表示

CHECKBOX

チェックボックスを表示

SELECT

選択リストを表示

LABEL

ラベルを表示、検索条件では複数値指定不可

HIDDEN

検索条件の対象とするが画面には表示しない

真の表示ラベル

RADIO
CHECKBOX
SELECT
LABEL

真の選択肢に表示するラベルを設定します。

偽の表示ラベル

RADIO
CHECKBOX
SELECT
LABEL

偽の選択肢に表示するラベルを設定します。

RADIO、CHECKBOX形式の場合にアイテムを横に並べる

RADIO
CHECKBOX

チェックした場合、RADIO、CHECKBOX形式のアイテムを横に並べるかを指定します。

検索条件入力カスタムスタイル

RADIO
CHECKBOX
SELECT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

DatePropertyEditor

検索条件のDate型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

日付入力フィールドを表示

LABEL

ラベルを表示、複数値指定不可、範囲指定可能

HIDDEN

検索条件の対象とするが画面には表示しない

日付/時刻のフォーマット

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマットの多言語設定

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

曜日を表示

TEXT
LABEL

チェックした場合、日付にあわせて曜日を表示します。 曜日の入力はできません

範囲検索

TEXT
LABEL

チェックした場合、日付の検索を範囲指定で行います。

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

日付/時刻のフォーマット設定

フォーマットが反映される優先度は、 プロパティエディタの多言語設定に指定されたフォーマットとロケール > プロパティエディタで設定されたフォーマットとロケール > デフォルトの表示 となります。

設定項目 設定内容

日付/時刻のフォーマット設定

日付、時刻のフォーマットを文字列で設定します。
フォーマットの設定はSimpleDateFormatのパターン文字を使用してください。

入力例と表示例

yyyy年MM月dd日HH時mm分ss秒 → 2021年01月01日 12時10分05秒
MMM dd yyyy → Jan 01 2021

日付/時刻のロケール設定

日付、時刻のフォーマットの表示を決定するロケールを文字列で設定します。

入力例

ja_JP_JP、en_US、zh-CN_CN

日付/時刻のフォーマットの多言語設定

フォーマットが反映される優先度は、 プロパティエディタの多言語設定に指定されたフォーマットとロケール > プロパティエディタで設定されたフォーマットとロケール > デフォルトの表示 となります。

設定項目 設定内容

日付/時刻の言語設定

日付、時刻のフォーマットを設定する言語を設定をします。

入力例

日本語:ja 、英語:en 、中国語(简体中文):zh-CN

日付/時刻のフォーマット設定

日付、時刻のフォーマットを文字列で設定します。
フォーマットの設定はSimpleDateFormatのパターン文字を使用してください。

入力例と表示例

yyyy年MM月dd日HH時mm分ss秒 → 2021年01月01日 12時10分05秒
MMM dd yyyy → Jan 01 2021

日付/時刻のロケール設定

日付、時刻のフォーマットの表示を決定するロケールを文字列で設定します。

入力例

ja_JP_JP、en_US、zh-CN_CN

DecimalPropertyEditor

検索条件のDecimal型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

数値入力フィールドを表示

LABEL

ラベルを表示、複数値指定不可、範囲指定可能

HIDDEN

検索条件の対象とするが画面には表示しない

数値のフォーマット

TEXT
LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat のパターンを設定してください。

カンマ表示

TEXT

テキストフィールドからフォーカスアウトした際に入力値をカンマ区切りで表示します。

範囲検索

TEXT
LABEL

チェックした場合、数値の検索を範囲指定で行います。

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

ExpressionPropertyEditor

検索条件のExpression型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

プロパティエディタの項目で設定された表示タイプの表示内容を表示

HIDDEN

検索条件の対象とするが画面には表示しない

プロパティエディタ

プロパティエディタを設定します。 ExpressionプロパティのResultTypeに設定されている内容に合わせて設定してください。 設定した場合、そのEditor設定にあわせて画面表示を行います。 未設定の場合は、値を文字列として表示します。

検索条件入力カスタムスタイル

プロパティエディタの項目が未設定の場合、こちらで入力されたスタイルが適用されます。
詳細は共通設定項目を参照してください。

検索条件表示カスタムスタイル

プロパティエディタの項目が未設定の場合、こちらで入力されたスタイルが適用されます。
詳細は共通設定項目を参照してください。

FloatPropertyEditor

検索条件のFloat型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

数値入力フィールドを表示

LABEL

ラベルを表示、複数値指定不可、範囲指定可能

HIDDEN

検索条件の対象とするが画面には表示しない

数値のフォーマット

TEXT
LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat のパターンを設定してください。

カンマ表示

TEXT

テキストフィールドからフォーカスアウトした際に入力値をカンマ区切りで表示します。

範囲検索

TEXT
LABEL

チェックした場合、数値の検索を範囲指定で行います。

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

IntegerPropertyEditor

検索条件のInteger型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

数値入力フィールドを表示

LABEL

ラベルを表示、複数値指定不可、範囲指定可能

HIDDEN

検索条件の対象とするが画面には表示しない

数値のフォーマット

TEXT
LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat のパターンを設定してください。

カンマ表示

TEXT

テキストフィールドからフォーカスアウトした際に入力値をカンマ区切りで表示します。

範囲検索

TEXT
LABEL

チェックした場合、数値の検索を範囲指定で行います。

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

LongTextPropertyEditor

検索条件のLongText型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

テキストフィールドを表示

SELECT

選択リストを表示

LABEL

ラベルを表示

HIDDEN

検索条件の対象とするが画面には表示しない

SELECT は非推奨となります。将来のバージョンで削除される予定のため、使用しないでください。

選択値

SELECT

選択値を指定できます。詳細は選択値設定を参照してください。
選択された選択肢の値を条件として完全一致で検索します。

本設定項目は非推奨となります。将来のバージョンで削除される予定のため、使用しないでください。

検索条件入力カスタムスタイル

TEXT
SELECT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

選択値設定
設定項目 設定内容

表示名

選択肢のラベルを設定します。

選択肢の値を設定します。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

ReferencePropertyEditor

検索条件のReference型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

テキストフィールドを表示

LINK

選択ボタンを表示

SELECT

選択リストを表示

CHECKBOX

チェックボックスを表示

LABEL

ラベルを表示

HIDDEN

検索条件の対象とするが画面には表示しない

表示ラベルとして扱うプロパティ

LINK
SELECT
CHECKBOX
LABEL

表示ラベルとして扱うプロパティを設定します。 name 以外のプロパティを画面にラベルとして表示できます。 StringProperty にのみ適用されます。それ以外のプロパティを指定すると、正常に表示されません。

検索条件で単一選択にするか

LINK

チェックした場合、検索画面での条件指定時に、選択画面でのレコード選択方法を複数選択から単一選択に変更します。

検索条件での全選択を許可するか

LINK

チェックした場合、参照先の選択画面で複数選択が可能な場合、全選択時の範囲を選択します。

チェックあり

検索条件に一致する全てのデータ(前後のページを含む) が対象

チェックなし

現在のページの全てのデータが対象

CHECKBOX形式の場合にアイテムを横に並べる

CHECKBOX

チェックした場合、CHECKBOX形式のアイテムを横に並べるかを指定します。

参照先のViewName

参照先エンティティのView定義名を設定します。 未指定の場合はデフォルトのView定義を使用します。

選択画面パラメータ生成スクリプト

選択画面に渡すカスタムパラメータをGroovyScript形式で記述します。 バインドされている paramMap に対して、

key

sc_プロパティ名

value

検索条件とする値

として値を設定すると、選択画面の初期検索条件として設定されます。

独自のバインド変数

独自に以下の変数がバインドされています。

paramMap

Map<String, String>

選択画面カスタムパラメータJavaScript

選択画面に渡すパラメータをカスタマイズするJavascriptを記述します。 JavaScriptのパラメータとして渡される parameter オブジェクトに対して、

key

sc_プロパティ名

value

検索条件とする値

として値を設定すると、選択画面の初期検索条件として設定されます。 パラメータには、 選択画面パラメータ生成スクリプト で設定された値が予め指定されています。

JavaScriptの変数

JavaScriptには、以下の変数がバインドされます。

parameter

送信するパラメータオブジェクト

propertyName

プロパティ名

検索条件

SELECT
CHECKBOX

選択可能項目を検索する際の条件に依存しない検索条件を設定します。

ソートアイテム

SELECT
CHECKBOX

プルダウンの参照データをソートする項目を指定します。

ソート種別

SELECT
CHECKBOX

プルダウンの参照データをソートする順序を指定します。

検索条件入力カスタムスタイル

TEXT
SELECT
CHECKBOX

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

ScriptPropertyEditor

検索条件の入力フィールドをGroovyTemplateで記述されたテンプレートを利用して表示するプロパティエディタです。 HTMLやスクリプト、Vue.jsのSFC形式(単一ファイルコンポーネント形式)などでテンプレートを記述できます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。
SearchConditionScriptPropertyEditorで独自の入力フィールドを作成した場合、検索画面で入力した条件は検索時のEQLには反映されません。カスタム検索処理 を利用して入力した検索条件をEQLに組み込んでください。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

SCRIPT

Scriptの出力結果を表示

HIDDEN

検索条件の対象とするが画面には表示しない

テンプレート文字列の解釈タイプ

-

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

-

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

スクリプト

-

スクリプト編集画面を表示してGroovyTemplateの文法に従って記述します。 詳細はGroovyTemplateを参照してください。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.entityDefinition

エンティティ定義

request.propertyDefinition

プロパティ定義

request.element

エレメント定義

request.editor

エディタ定義

検索条件入力カスタムスタイル

SCRIPT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

SCRIPT

共通設定項目を参照してください。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • searchCondition : 現在の検索条件

  • sortCondition : 現在のソート条件

  • searchResult : 検索結果一覧

  • selectionList : 検索結果部で選択されているデータ(全文検索を除く)

  • page : 現在表示されているページ(全文検索を除く)

  • searchViewDefinition : SearchView定義(全文検索を除く)

element

対象プロパティのプロパティ項目

modelValue

対象プロパティの検索条件値

以下のイベント通知をリスニングします。

イベント名 通知値

update:modelValue

対象プロパティの検索条件値

update:modelValue:to

対象プロパティの検索条件値(範囲検索の場合のTo側)

SelectPropertyEditor

検索条件のSelect型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

RADIO

ラジオボタンを表示

CHECKBOX

チェックボックスを表示

SELECT

選択リストを表示

LABEL

ラベルを表示、検索条件では複数値指定不可

HIDDEN

検索条件の対象とするが画面には表示しない

選択値

選択値を指定できます。詳細は選択値設定を参照してください。未指定の場合、エンティティ定義から選択値を取得します。
選択された選択肢の値を条件として完全一致で検索します。
画面個別に選択値をカスタマイズしたい場合に設定してください。

RADIO、CHECKBOX形式の場合にアイテムを横に並べる

RADIO
CHECKBOX

チェックした場合、RADIO、CHECKBOX形式のアイテムを横に並べるかを指定します。

検索条件入力カスタムスタイル

RADIO
CHECKBOX
SELECT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

StringPropertyEditor

検索条件のString型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

テキストフィールドを表示

SELECT

選択リストを表示

LABEL

ラベルを表示、検索条件では複数値指定不可

HIDDEN

検索条件の対象とするが画面には表示しない

検索条件完全一致設定

TEXT

チェックした場合、検索画面で条件を設定した時に完全一致で検索します。 表示タイプが SELECT の場合は、当該項目に関係なく、完全一致検索を行います。

選択値

SELECT

選択値を指定できます。詳細は選択値設定を参照してください。
選択された選択肢の値を条件として完全一致で検索します。
String型のプロパティとして値を保持するが、入力値を固定させたいような場合に利用します。

検索条件入力カスタムスタイル

TEXT
SELECT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

TemplatePropertyEditor

検索条件の入力フィールドを別途定義したテンプレートを利用して表示するプロパティエディタです。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。
SearchConditionTemplatePropertyEditorで独自の入力フィールドを作成した場合、検索画面で入力した条件は検索時のEQLには反映されません。カスタム検索処理 を利用して入力した検索条件をEQLに組み込んでください。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEMPLATE

Templateの出力結果を表示

HIDDEN

検索条件の対象とするが画面には表示しない

テンプレート文字列の解釈タイプ

-

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

-

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

テンプレート名

-

登録済テンプレート名を設定します。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.entityDefinition

エンティティ定義

request.propertyDefinition

プロパティ定義

request.element

エレメント定義

request.editor

エディタ定義

検索条件入力カスタムスタイル

TEMPLATE

共通設定項目を参照してください。

検索条件表示カスタムスタイル

TEMPLATE

共通設定項目を参照してください。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • searchCondition : 現在の検索条件

  • sortCondition : 現在のソート条件

  • searchResult : 検索結果一覧

  • selectionList : 検索結果部で選択されているデータ(全文検索を除く)

  • page : 現在表示されているページ(全文検索を除く)

  • searchViewDefinition : SearchView定義(全文検索を除く)

element

対象プロパティのプロパティ項目

modelValue

対象プロパティの検索条件値

以下のイベント通知をリスニングします。

イベント名 通知値

update:modelValue

対象プロパティの検索条件値

update:modelValue:to

対象プロパティの検索条件値(範囲検索の場合のTo側)

TimePropertyEditor

検索条件のTime型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

時刻入力フィールドを表示

LABEL

ラベルを表示、複数値指定不可、範囲指定可能

HIDDEN

検索条件の対象とするが画面には表示しない

日付/時刻のフォーマット

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。

時間の表示範囲

TEXT
LABEL

時間の各リストをどこまで表示するか設定します。
フォーマットが指定されている場合はフォーマットを優先します。 未指定の場合秒まで表示します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

非表示

分の入力間隔

TEXT

秒まで表示する場合は無効になります。

MIN1

1分毎に表示

MIN5

5分毎に表示

MIN10

10分毎に表示

MIN15

15分毎に表示

MIN30

30分毎に表示

分の端数処理モード

TEXT

分の端数処理方法を設定します。pickerなどで入力された値を分の間隔で端数制御します。

UP

0から離れるようにする

DOWN

0に近づける

NONE

制御しない

範囲検索

TEXT
LABEL

チェックした場合、時刻の検索を範囲指定で行います。

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

TimestampPropertyEditor

検索条件のTimestamp型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

日付時刻入力フィールドを表示

LABEL

ラベルを表示、複数値指定不可、範囲指定可能

HIDDEN

検索条件の対象とするが画面には表示しない

日付/時刻のフォーマット

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマットの多言語設定

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

時間の表示範囲

TEXT
LABEL

時間の各リストをどこまで表示するか設定します。
フォーマットが指定されている場合はフォーマットを優先します。 未指定の場合秒まで表示します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

非表示

分の入力間隔

TEXT

秒まで表示する場合は無効になります。

MIN1

1分毎に表示

MIN5

5分毎に表示

MIN10

10分毎に表示

MIN15

15分毎に表示

MIN30

30分毎に表示

分の端数処理モード

TEXT

分の端数処理方法を設定します。pickerなどで入力された値を分の間隔で端数制御します。

UP

0から離れるようにする

DOWN

0に近づける

NONE

制御しない

曜日を表示

TEXT
LABEL

チェックした場合、日付にあわせて曜日を表示します。 曜日の入力はできません

範囲検索

TEXT
LABEL

チェックした場合、日付時刻の検索を範囲指定で行います。

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

UserPropertyEditor

検索条件で createByupdateBy 等、Userエンティティの oid (String)を持つプロパティに対して、oidの代わりにユーザー名(name)で検索するためのプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEXT

テキストフィールドを表示

HIDDEN

検索条件の対象とするが画面には表示しない

検索条件入力カスタムスタイル

TEXT

共通設定項目を参照してください。

検索条件表示カスタムスタイル

LABEL

共通設定項目を参照してください。

検索結果プロパティエディタ

検索結果で使用できるプロパティエディタです。

AutoNumberPropertyEditor

検索結果のAutoNumber型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

BinaryPropertyEditor

検索結果のBinary型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

BINARY

アップロードファイルへのリンクとプレビューを表示

LINK

アップロードファイルへのリンクを表示

PREVIEW

アップロードファイルのプレビュー(画像や動画の再生)を表示

CARD_EMPHASIZE

カード形式の場合にカード上部に画像をメインで表示
アップロードファイルのMIMEタイプが、「image/*」の場合のみ表示します

LABEL

読み取り専用としてBinaryと同じ形式を表示

HIDDEN

検索結果には含まれるが画面には表示しない

画像の高さ(px)

BINARY
PREVIEW
CARD_EMPHASIZE

プレビューする場合に表示する画像や動画の高さを設定します。

画像の幅(px)

BINARY
PREVIEW
CARD_EMPHASIZE

プレビューする場合に表示する画像や動画の幅を設定します。

CARD_EMPHASIZE形式の場合にダウンロードリンクを表示

CARD_EMPHASIZE

表示タイプが「CARD_EMPHASIZE」の場合に、ダウンロードリンクを表示するかを指定します。

画像またはリンククリック時にイメージViewerを利用

BINARY
PREVIEW
LABEL

画像リンクまたは画像をクリックした際に、ImageViewerを表示します。ImageViewerでは画像の拡大・縮小、回転、反転が可能です。

画像リンクについては、 新しいタブで開く が有効な場合のみ動作し、有効でない場合は通常通りダウンロード処理が実行されます。 画像をクリックした際は、新しいタブで開く 設定により新しいタブで画像を表示します。

リンククリック時にPDF.jsを利用

BINARY
PREVIEW
LABEL

リンクをクリックした際に、PDF.jsを用いてPDFを表示します。

新しいタブで開く が有効な場合のみ動作し、有効でない場合は通常通りダウンロード処理が実行されます。

新しいタブで開く

BINARY
LINK
PREVIEW
LABEL

画像や画像のダウンロードリンクをクリックした場合に画像を新しいタブで表示します。画像またはリンククリック時にイメージViewerを利用 が有効な場合のみ動作します。

ダウンロードアクション名

BINARY
LINK
PREVIEW
CARD_EMPHASIZE

ダウンロード時に実行するアクションを設定します。

参照アクション名

BINARY
LINK
PREVIEW
CARD_EMPHASIZE

プレビュー時に実行されるアクションを設定します。

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

BooleanPropertyEditor

検索結果のBoolean型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

真偽値の表示ラベル

LABEL

真偽の選択肢に表示するラベルを設定します。

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

DatePropertyEditor

検索結果のDate型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

日付/時刻のフォーマット

LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマットの多言語設定

LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

曜日を表示

LABEL

チェックした場合、日付にあわせて曜日を表示します。

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

DecimalPropertyEditor

検索結果のDecimal型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

数値のフォーマット

LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat のパターンを設定してください

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

ExpressionPropertyEditor

検索結果のExpression型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

プロパティエディタ

プロパティエディタを設定します。 ExpressionプロパティのResultTypeに設定されている内容に合わせて設定してください。 設定した場合、そのEditor設定にあわせて画面表示を行います。 未設定の場合は、値を文字列として表示します。

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください

FloatPropertyEditor

検索結果のFloat型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

数値のフォーマット

LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat のパターンを設定してください

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

IntegerPropertyEditor

検索結果のInteger型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

数値のフォーマット

LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat のパターンを設定してください

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

LongTextPropertyEditor

検索結果のLongText型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

ReferencePropertyEditor

検索結果のReference型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LINK

詳細画面を表示

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

表示ラベルとして扱うプロパティ

表示ラベルとして扱うプロパティを指定します。

参照先のViewName

参照先エンティティのView定義名を設定します。 未指定の場合はデフォルトのView定義を使用します。

参照リンクで編集を許可

LINK

リンク押下後、表示された詳細画面に編集ボタンを表示します。

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

ScriptPropertyEditor

検索結果の値をGroovyTemplateで記述されたテンプレートを利用して表示するプロパティエディタです。 HTMLやスクリプト、Vue.jsのSFC形式(単一ファイルコンポーネント形式)などでテンプレートを記述できます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を下記から選択します。

SCRIPT

Scriptの出力結果を表示

テンプレート文字列の解釈タイプ

-

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

-

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

スクリプト

-

スクリプト編集画面を表示してGroovyTemplateの文法に従って記述します。 詳細はGroovyTemplateを参照してください。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.entityDefinition

エンティティ定義

request.propertyDefinition

プロパティ定義

request.element

エレメント定義

request.editor

エディタ定義

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • searchCondition : 現在の検索条件

  • sortCondition : 現在のソート条件

  • searchResult : 検索結果一覧

  • selectionList : 検索結果部で選択されているデータ(全文検索を除く)

  • page : 現在表示されているページ(全文検索を除く)

  • searchViewDefinition : SearchView定義(全文検索を除く)

element

対象プロパティのプロパティ項目

modelValue

対象プロパティの検索結果値

SelectPropertyEditor

検索結果のSelect型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

選択値

選択値を設定できます。詳細は選択値設定を参照してください。
選択値の値に一致する表示ラベルを検索結果項目として表示します。

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

StringPropertyEditor

検索結果のString型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

選択値

選択値を設定できます。詳細は選択値設定を参照してください。
選択値の値に一致する表示ラベルを検索結果項目として表示します。

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

TemplatePropertyEditor

検索結果の値を別途定義したテンプレートを利用して表示するプロパティエディタです。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

TEMPLATE

Templateの出力結果を表示

HIDDEN

検索結果には含まれるが画面には表示しない

テンプレート文字列の解釈タイプ

-

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

-

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

テンプレート名

-

登録済テンプレート名を設定します。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.entityDefinition

エンティティ定義

request.propertyDefinition

プロパティ定義

request.element

エレメント定義

request.editor

エディタ定義

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • searchCondition : 現在の検索条件

  • sortCondition : 現在のソート条件

  • searchResult : 検索結果一覧

  • selectionList : 検索結果部で選択されているデータ(全文検索を除く)

  • page : 現在表示されているページ(全文検索を除く)

  • searchViewDefinition : SearchView定義(全文検索を除く)

element

対象プロパティのプロパティ項目

modelValue

対象プロパティの検索結果値

TimePropertyEditor

検索結果のTime型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

日付/時刻のフォーマット

LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマットの多言語設定

LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

時間の表示範囲

時間の各リストをどこまで表示するか設定します。
フォーマットが指定されている場合はフォーマットを優先します。 未指定の場合秒まで表示します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

非表示

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

TimestampPropertyEditor

検索結果のTimestamp型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

日付/時刻のフォーマット

LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマットの多言語設定

LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

時間の表示範囲

時間の各リストをどこまで表示するか設定します。
フォーマットが指定されている場合はフォーマットを優先します。 未指定の場合秒まで表示します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

非表示

曜日を表示

チェックした場合、日付にあわせて曜日を表示します。 曜日の入力はできません

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

UserPropertyEditor

検索結果で createByupdateBy 等、Userエンティティの oid (String)を持つプロパティに対して、 oid に一致するユーザー名を表示させるためのプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。

LABEL

ラベルを表示

HIDDEN

検索結果には含まれるが画面には表示しない

検索結果表示カスタムスタイル

LABEL

共通設定項目を参照してください。

5. 詳細・編集画面

詳細・編集画面のレイアウトをカスタマイズできます。 レイアウト設定を行わない場合、画面には基本項目及び、エンティティに登録されたプロパティが エンティティ定義上での定義順で表示されます。

5.1. DetailLayoutの表示

ViewControlタブのViewControlSetting一覧の「DetailView Layout」から、追加もしくは編集のアイコンを押下すると、該当のView名 のDetailLayoutのタブが表示されます。

5.2. DetailLayoutの構成

DetailLayoutは以下の構成になっています。

detaillayout detaillayout structure

ツールバー

紫枠の部分はDetailLayoutの各Viewに対する操作を行うためのボタン群です。

ボタン名 説明

Save

カスタマイズしたViewをViewControlにセットします。この段階ではまだ定義は保存されません。ViewControlタブの先頭に U が表示されます(Update)。ViewControlタブで対象のViewを保存することでView定義が保存されます。

Cancel

Viewの変更を取り消します。 Saveボタン押下前の内容が消えるため、ボタンを押す際は確認してください。

Delete

表示しているViewをViewControlから削除します。DetailLayoutのタブは削除され、ViewControlタブの「Defined」がOFFの状態になり、先頭に U が表示されます(Update)。ViewControlタブで対象のViewを保存することでView定義から削除されます。

Load Auto Layout

View定義を設定しない場合に表示される自動生成画面と同等の設定をロードします。

配置エリア

緑枠の部分は各種要素を配置する領域です。 画面右側の PropertySectionElement 内の部品をドラッグ&ドロップで配置できます。 DetailLayoutが作成されてない状態だと、詳細、編集画面表示時にはエンティティのプロパティが自動で配置されます。 配置エリアに直接配置できるのは Section のみとなります。 PropertyElement については、配置エリアに置かれた 標準セクション に対してのみとなります。

5.3. 詳細・編集画面の設定

図の①部分をクリックすると詳細、編集画面全体に対する設定を行うダイアログが表示されます。

設定項目 設定内容

画面タイトル

画面に表示するタイトルを入力します。 未入力の場合、エンティティの Display Name に設定された内容を画面に表示します。

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

標準ボタン設定

編集ボタンや保存ボタンなど、標準で提供されるボタンの設定をカスタマイズします。 詳細は標準ボタン設定を参照してください。

画面上部のカスタムボタン

タイトル領域の下に表示する独自のボタンを設定します。 詳細はカスタムボタン設定を参照してください。

画面下部のカスタムボタン

フッター領域に表示する独自のボタンを設定します。 詳細はカスタムボタン設定を参照してください。

定義されている参照プロパティのみを取得

チェックした場合、エンティティのロード時に画面定義に指定されている参照プロパティのみを取得対象とします。 未チェックの場合には不要な参照を取得するためのEQLが実行される場合があります。

UserPropertyEditor利用時に特権実行でユーザー名を表示する

UserPropertyEditorが設定されているプロパティに対し、ユーザー情報のエンティティ、またはユーザー名のプロパティに参照権限が無いユーザーでも、特権実行をしてユーザー名を表示することができます。

データの多言語化

データ操作時に多言語化するかを設定します。 有効にした場合、エンティティ定義の Data Localization 設定を有効にしてデータアクセスします。

更新時に強制的に更新処理を行う

チェックした場合、更新項目が1つもない場合にも強制的に更新を行います。 更新日、更新者が更新されます。

物理削除

チェックした場合、削除時にエンティティデータを物理削除します。 未チェックの場合、削除データはごみ箱に移動します。

バージョン指定削除の場合は、設定に関係なく物理削除されます。

親子関係の参照を物理削除

チェックした場合、保存時に参照を解除された親子関係のエンティティデータを物理削除します。

Entity初期化スクリプト

エンティティを新規作成する際に初期値を設定するGroovyScriptを設定します。 詳細はEntity初期化スクリプトを参照してください。

コピー対象

コピー実行時の対象データを以下から選択します。 未設定(デフォルト)の場合は Shallow として動作します。

Shallow

該当エンティティのみコピー

Deep

包含する(親子関係の)エンティティも一括してコピーする

Both

コピーボタン押下時に、ポップアップより ShallowDeep を選択する

Custom

カスタムコピースクリプト で設定したGroovyScriptが実行される

Deep の場合、コピー時にデータ登録を実行後、編集画面を表示します。

カスタムコピースクリプト

コピー対象Custom を選択した際に実行されるGroovyScriptを設定します。 詳細はカスタムコピースクリプトを参照してください。

カスタムロード処理クラス名

エンティティのロード時にオプション等のカスタマイズを行いたい場合は LoadEntityInterceptor インターフェースを実装するクラスを指定してください。 詳細はカスタムロード処理を参照してください。

カスタム保存処理クラス名

登録・更新時にカスタマイズ処理を行いたい場合は SaveEntityInterceptor インターフェースを実装するクラスを指定してください。 詳細はカスタム保存処理を参照してください。

保存処理WebApi

保存ボタンクリックで実行されるWebApiを設定します。

削除処理WebApi

削除ボタンクリックで実行されるWebApiを設定します。

ワークフロー設定

詳細画面からワークフローを起動する設定です。 詳細はワークフロー設定を参照してください。

標準ボタン設定

編集ボタンや保存ボタンなど、標準で提供されるボタンの設定をカスタマイズします。

設定項目 設定内容

表示

未チェックの場合、ボタンを表示しません。

表示判定スクリプト

表示可否を実行時に動的に判定するGroovyScriptを設定します。 詳細は表示判定スクリプトを参照してください。

表示ラベル

ボタンに表示するラベルを設定します。

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

ツールチップ

ツールチップを指定します。

カスタムクリックイベント

ボタンクリック時に実行されるカスタムJavaScriptコードを設定します。

保存ボタン、ロック解除ボタンには 表示フラグ 表示判定スクリプト 設定はありません。 ロック解除ボタンはロックボタン設定で表示が制御されます。
カスタムクリックイベントの変数

カスタムクリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

defaultHandler

デフォルトのイベントハンドラー関数

event

DOMネイティブイベント

executeMode

実行モード

entity

処理対象のエンティティデータ

detailViewDefinition

DetailView定義

カスタムボタン設定

画面内に表示するカスタムボタンの設定を行います。

設定項目 設定内容

表示

チェックした場合、ボタンを表示します。

詳細画面で表示

チェックした場合、詳細画面でボタンを表示します。

編集画面でCreateモード時に表示

チェックした場合、新規登録画面でボタンを表示します。

編集画面でEditモード時に表示

チェックした場合、編集画面でボタンを表示します。

表示判定スクリプト

表示可否を実行時に動的に判定するGroovyScriptを設定します。 詳細は表示判定スクリプトを参照してください。

表示ラベル

ボタンに表示するラベルを設定します。

表示方法

ボタンの表示方法を設定します。

SOLO

単一ボタンとして表示

MENU

メニューから選択するボタンとして表示

列情報

ボタンの表示領域を設定します。 詳細は列情報を参照してください。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

プライマリ

設定するとボタンを強調表示します。クラス名が指定されている場合は「クラス名」を優先します。

クリックイベント

ボタンクリック時に実行されるJavascriptコードを設定します。

クリックイベントの変数

クリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

executeMode

実行モード

entity

処理対象のエンティティデータ

detailViewDefinition

DetailView定義

Entity初期化スクリプト

エンティティを新規作成する際に実行されるGroovyScriptです。 新規作成画面表示前に呼び出され、空のエンティティに対して初期値の設定を行います。

独自のバインド変数

独自に以下の変数がバインドされています。

entity

空のエンティティ

(例)
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import org.iplass.mtp.entity.SelectValue;
import org.iplass.mtp.entity.Entity;

// String、Boolean、Integer、Float、Decimal
entity.setValue("string", "abcdefg"); // String
entity.setValue("boolean", false); // Boolean
entity.setValue("integer", 100); //Integer
entity.setValue("float", 100.5); //Float
entity.setValue("decimal", 100.123); //Decimal

// Date、Time、DateTime
entity.setValue("date", Date.valueOf("2024-02-16")); //Date
entity.setValue("time", Time.valueOf("09:10:23")); //Time
entity.setValue("datetime", Timestamp.valueOf("2024-02-16 09:10:23")); //DateTime

// 多重度あり (String)
String[] mstringValue = ["string001", "string002"];
entity.setValue("mstring", mstringValue); //多重度ありString

// Select
SelectValue select = new SelectValue("value02");
entity.setValue("select", select); //Select

// Reference
Entity referenceEntity = em.load("1", "RefEntity");
entity.setValue("reference", referenceEntity); //Reference

カスタムコピースクリプト

コピー対象Custom を選択した際に実行されるGroovyScriptです。 コピー値を設定したEntityを返すよう実装してください。

独自のバインド変数

独自に以下の変数がバインドされています。

entity

コピー元のエンティティ

entityDefinition

エンティティ定義

entity.setValue("item1", "テスト");
return entity;

entityをreturnする必要があるので注意してください。

表示判定スクリプト

表示可否を判定するGroovyScriptを設定します。 スクリプトが未指定か、スクリプトの実行結果がtrueの場合、表示されます。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

entity

処理対象のエンティティデータ

entityは、詳細画面表示時、編集画面表示時には保存されているエンティティデータが設定されます。 新規画面表示時には、空のエンティティか Entity初期化スクリプト で設定されたエンティティデータが設定されます。 コピー時には、コピー設定によりコピーされたエンティティデータが設定されます。

実行モード

実行モードは実行されている画面のモードを表します。

org.iplass.mtp.mdc.view.entityview.detail.MdcExecuteMode

VIEW

詳細画面

CREATE

新規作成画面

EDIT

編集画面

列情報

MDCはコンテンツのレイアウト設定として全体を12ポイントとするグリッドシステムを利用します。 画面サイズに対するブレークポイントに対して、コンテンツを表示するサイズを設定します。

設定項目 設定内容

Extra Smallサイズの列数

画面サイズが600px以下の場合の列数の設定します。(設定範囲は1~12)

Smallサイズの列数

画面サイズが600px以上 960px以下の場合の列数の設定します。(設定範囲は1~12)

Mediumサイズの列数

画面サイズが960px以上 1264px以下の場合の列数の設定します。(設定範囲は1~12)

Largeサイズの列数

画面サイズが1264px以上 1904px以下の場合の列数の設定します。(設定範囲は1~12)

Extra Largeサイズの列数

画面サイズが1904px以上の場合の列数の設定します。(設定範囲は1~12)

ワークフロー設定

詳細画面から定義済みのWorkflowを起動できます(Workflowの詳細についてはワークフローを参照してください)。 設定されると詳細画面にワークフローを起動するためのボタンが追加されます。

設定項目 設定内容

ワークフロー定義名

Workflow定義名を選択します。

ワークフロー変数名

Workflowに定義した変数名を設定します。 Workflowを開始する際、対象のエンティティをこの変数に格納します。

ボタン表示ラベル

Workflowを起動するボタンに表示するラベルを設定します。

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

プロセス実行中にボタンを表示

チェックした場合、Workflowが既に実行中の状態でもボタンを表示します。 表示する場合、実行中に再度クリックすることで、別のWorkflowとして処理が開始されます(startProcessが実行されます)。

プロセス実行中のメッセージ

Workflow実行中のメッセージを設定します。

ツールチップ

ツールチップを指定します。

ワークフロー開始パラメータ設定スクリプト

ワークフロー開始時のパラメータをGroovyScriptで設定します。 詳細はワークフロー開始パラメータ設定スクリプトを参照してください。

ワークフローボタン表示判定用スクリプト

ワークフロー起動用ボタンの表示可否を判定するスクリプトを設定します。 詳細はワークフローボタン表示判定用スクリプトを参照してください。

ワークフロー開始パラメータ設定スクリプト

ワークフロー開始時のパラメータを設定するGroovyScriptを設定します。 変数としてstartParamMap(Map<String, Object>)がバインドされています。 startParamMapに対して、ワークフロー開始時のパラメータを設定してください。
デフォルトで、ワークフロー変数名の設定値をキーとして対象のエンティティデータがstartPramMapに設定されています。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

ワークフローボタン表示判定用スクリプト

ワークフローボタンの表示可否を判定するGroovyScriptを設定します。 スクリプトが未指定か、スクリプトの実行結果がtrueの場合、表示されます。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

entity

処理対象のエンティティデータ

5.4. 詳細・編集画面のレイアウト設定

セクションの設定

画面右側のSectionの項目を画面中央の 詳細画面部分 にドラッグ&ドロップする事でセクションを配置できます。 PropertyやElementは 標準セクション にのみ配置可能です。

共通設定項目

各セクションで共通の設定項目です。 セクションもエレメントの一種のため、 エレメントの共通設定項目を持ちます。

セクション特有の設定項目は以下です。

設定項目 設定内容

初期表示時に展開

チェックした場合、セクションを初期展開します。

ジャンプリンクを表示

チェックした場合、フッタのリンクボタン上にセクションに移動するためのリンクを表示します。

標準セクション

エンティティのプロパティをグループ化したり、並び順を指定するなど、レイアウトを設定します。

設定項目は、共通設定項目のみです。

スクリプトセクション

GroovyTemplateで記述されたテンプレートを画面に組み込みます。 HTMLやスクリプト、Vue.jsのSFC形式(単一ファイルコンポーネント形式)などでテンプレートを記述できます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 設定内容

開閉可能な枠を表示

チェックした場合、標準セクション同様に枠を表示します。未チェックの場合はコンテンツのみ出力します。

テンプレート文字列の解釈タイプ

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

スクリプト

スクリプト編集画面を表示してGroovyTemplateの文法に従って記述します。 詳細はGroovyTemplateを参照してください。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.executeMode

実行モード

request.entityDefinition

エンティティ定義

request.element

スクリプトセクション定義

詳細画面 テンプレート文字列の解釈タイプ

詳細画面と編集画面で出力タイプを分けたい場合に指定します。

詳細画面 コンポーネント名

詳細画面と編集画面でコンポーネント名を分けたい場合に指定します。

詳細画面 スクリプト

詳細画面と編集画面でスクリプトを分けたい場合に指定します。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • executeMode : 実行モード

  • entity : 処理対象のエンティティデータ

  • detailViewDefinition : DetailView定義

テンプレートセクション

別途定義したテンプレートを画面に組み込みます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 設定内容

開閉可能な枠を表示

チェックした場合、標準セクション同様に枠を表示します。未チェックの場合はコンテンツのみ出力します。

テンプレート文字列の解釈タイプ

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

テンプレート名

登録済テンプレート名を設定します。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.executeMode

実行モード

request.entityDefinition

エンティティ定義

request.element

スクリプトセクション定義

詳細画面 テンプレート文字列の解釈タイプ

詳細画面と編集画面で出力タイプを分けたい場合に指定します。

詳細画面 コンポーネント名

詳細画面と編集画面でコンポーネント名を分けたい場合に指定します。

詳細画面 テンプレート名

詳細画面と編集画面でテンプレートを分けたい場合に指定します。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • executeMode : 実行モード

  • entity : 処理対象のエンティティデータ

  • detailViewDefinition : DetailView定義

バージョンセクション

バージョン管理されたエンティティのバージョン履歴情報を表示します。

設定項目は、共通設定項目のみです。

操作ログセクション

エンティティの操作ログを表示します。

設定項目 設定内容

表示件数

一度に表示する操作ログの件数を指定します。未指定または0が指定された場合のデフォルトは20です。

表示プロパティ

表示するプロパティを設定します。複数指定する場合はカンマで区切ってください。
表示するプロパティを設定した場合、更新レコードのみが表示されます。

新規作成レコードを併せて表示

表示プロパティを設定した際に、新規作成レコードも併せて表示するかを指定します。

参照プロパティの名前を表示する

表示プロパティに参照プロパティが指定された場合、参照プロパティの名前(name)を表示するかを設定します。

参照プロパティの操作ログ表示設定

参照プロパティの操作ログの表示方法を指定します。参照先Entityの操作ログ記録が有効な場合にのみ有効になります。
詳細は参照プロパティの操作ログ表示設定を参照してください。

参照プロパティの操作ログ表示設定

参照先エンティティの操作ログ記録が有効な場合、操作ログセクションに参照先エンティティの操作ログをダイアログで表示するためのリンクを表示します。

参照先エンティティの操作ログは、この設定でView名が指定されているプロパティであれば、そのView定義に設定された操作ログセクションの設定を使用します。
未指定の場合は、デフォルトのView定義を利用します。

設定項目 設定内容

参照プロパティ名

参照型プロパティ名を指定します。

View名

対応する参照先エンティティのView名を指定します。

データの参照可能範囲条件をチェックしない

参照先の操作ログを取得する場合に限り、操作ログ取得前のEntity権限の 参照可能範囲条件 や、参照先エンティティの検索ビューに設定された デフォルト検索条件 に設定されている参照可能範囲を限定する条件をチェックしません。

エレメントの設定

入力項目以外の画面要素を 標準セクション 内にドラッグ&ドロップすることで、画面に配置できます。

共通設定項目

各エレメントで共通の設定項目です。

設定項目 設定内容

表示

チェックした場合、ボタンを表示します。

詳細画面で表示

チェックした場合、詳細画面でボタンを表示します。

編集画面でCreateモード時に表示

チェックした場合、新規登録画面でボタンを表示します。

編集画面でEditモード時に表示

チェックした場合、編集画面でボタンを表示します。

表示判定スクリプト

表示可否を実行時に動的に判定するGroovyScriptを設定します。 詳細は表示判定スクリプトを参照してください。

表示ラベル

画面に表示するラベルを設定します。

列情報

ボタンの表示領域を設定します。 詳細は列情報を参照してください。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。

ボタン

標準のボタン以外に独自で画面に表示するボタンを設定します。

設定項目 設定内容

アイコンタグ

タイトルの前に表示するアイコンを設定できます。
Material Design Iconsのアイコンタグを設定できます。(例:mdi-note)

プライマリ

設定するとボタンを強調表示します。クラス名が指定されている場合は「クラス名」を優先します。

クリックイベント

ボタンクリック時に実行されるJavascriptコードを設定します。

クリックイベントの変数

クリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

executeMode

実行モード

entity

処理対象のエンティティデータ

detailViewDefinition

DetailView定義

リンクを設定します。

設定項目 設定内容

URL

リンクURLを設定します。

リンクテキスト

リンクテキストを設定します。未指定の場合は、 URL がテキストとして表示されます。

URLカスタマイズスクリプト

リンクURLを動的にカスタマイズしたい場合に設定します。GroovyScript形式で指定します。
詳細はURLカスタマイズスクリプトを参照してください。

新しいウィンドウで表示するか

リンク先のページを新しいウィンドウで開くかを設定します。

詳細画面カスタムスタイル

詳細画面のリンクに対して、直接style属性を指定することが可能です。 詳細は詳細画面カスタムスタイルを参照してください。

編集画面カスタムスタイル

編集画面のリンクに対して、直接style属性を指定することが可能です。 詳細は編集画面カスタムスタイルを参照してください。

リンクURLを動的にカスタマイズするGroovyScriptを設定します。 スクリプトの実行結果をリンクURLとして設定します。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

entity

処理対象のエンティティデータ

GroovyTemplate書式で設定します。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

entity

処理対象のエンティティデータ

GroovyTemplate書式で設定します。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

entity

処理対象のエンティティデータ

スクリプト

GroovyTemplateで記述されたテンプレートを画面に組み込みます。 HTMLやスクリプト、Vue.jsのSFC形式(単一ファイルコンポーネント形式)などでテンプレートを記述できます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 設定内容

テンプレート文字列の解釈タイプ

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

スクリプト

スクリプト編集画面を表示してGroovyTemplateの文法に従って記述します。 詳細はGroovyTemplateを参照してください。

詳細画面 テンプレート文字列の解釈タイプ

詳細画面と編集画面で出力タイプを分けたい場合に指定します。

詳細画面 コンポーネント名

詳細画面と編集画面でコンポーネント名を分けたい場合に指定します。

詳細画面 スクリプト

詳細画面と編集画面でスクリプトを分けたい場合に指定します。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • executeMode : 実行モード

  • entity : 処理対象のエンティティデータ

  • detailViewDefinition : DetailView定義

テンプレート

別途定義したテンプレートを画面に組み込みます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 設定内容

テンプレート文字列の解釈タイプ

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

テンプレート名

登録済テンプレート名を設定します。

詳細画面 テンプレート文字列の解釈タイプ

詳細画面と編集画面で出力タイプを分けたい場合に指定します。

詳細画面 コンポーネント名

詳細画面と編集画面でコンポーネント名を分けたい場合に指定します。

詳細画面 テンプレート名

詳細画面と編集画面でテンプレートを分けたい場合に指定します。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • executeMode : 実行モード

  • entity : 処理対象のエンティティデータ

  • detailViewDefinition : DetailView定義

プロパティの設定

Property項目については、 標準セクション にドラッグ&ドロップする事で配置できます。

プロパティもエレメントの一種のため、 エレメントの共通設定項目を持ちます。

設定項目 設定内容

ヒント

入力欄下部に表示する説明を設定します。

必須マークを表示

編集画面で必須マークを表示するかを設定します。

DEFAULT

エンティティのプロパティ定義 Required に従い自動的に表示します。

DISPLAY

必須マークを表示します。

NONE

必須マークを表示しません。

プロパティエディタ

対象のプロパティの型に合わせたエディタを選択します。 詳細はプロパティエディタを参照してください。 型は基本的に変更しないで下さい。 ただし ScriptPropertyEditor TemplatePropertyEditor についてはカスタマイズ用なので変更しても問題ありません。

仮想プロパティ

Element項目にある 仮想プロパティ は、エンティティ定義には存在しない項目をプロパティと同様に出力することが可能です。 多重度は1のみサポートします。 プロパティの値は、Entity初期化スクリプトカスタムコピースクリプトカスタムロード処理などで設定する必要があります。

設定項目 設定内容

プロパティ名

仮想プロパティの名前を設定します。 既に設定されている仮想プロパティの名前や、エンティティに定義されているプロパティと同じ名前は設定できません。

他は、プロパティ設定と同様です。 ただし、プロパティエディタについては一部利用することができません。

5.5. プロパティエディタ

プロパティエディタは各プロパティの入力表示設定になります。 詳細・編集画面に配置した各プロパティの表示設定を変更をすることができます。 基本的にはプロパティの型に対応する型を選択してください。

共通設定項目

プロパティエディタで共通の設定項目です。

設定項目 設定内容

詳細画面カスタムスタイル

詳細画面の各プロパティ値の表示に対して、直接style属性を指定することが可能です。 値によって強調させたい場合などに利用します。 詳細は詳細画面カスタムスタイルを参照してください。

編集画面カスタムスタイル

編集画面の各プロパティのinput要素に対して、直接style属性を指定することが可能です。 例えば入力用のinputの幅を調整したい場合などに利用します。 詳細は編集画面カスタムスタイルを参照してください。

LABEL形式の場合に表示値を登録する

LABEL形式をサポートするエディタで、表示タイプがLABEL形式の場合に表示値をそのまま登録するかを指定します。

LABEL形式の場合に表示値で更新する

LABEL形式をサポートするエディタで、表示タイプがLABEL形式の場合に表示値で更新するかを指定します。

詳細画面カスタムスタイル

GroovyTemplate書式で設定します。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

entity

処理対象のエンティティデータ

value

処理対象のプロパティデータ

設定例
<%
//高、緊急の場合、赤色で表示(01:低、02:中、03:高、04:緊急)
if (value.value == "A" || value.value == "B") {  //SelectValue.valueでチェック
%>
color:red;
<%
}
//緊急の場合、背景を赤色で表示
if (value.value == "C") {
%>
background-color: red;
<%
}
%>
編集画面カスタムスタイル

GroovyTemplate書式で設定します。

独自のバインド変数

独自に以下の変数がバインドされています。

executeMode

実行モード

entity

処理対象のエンティティデータ

value

処理対象のプロパティデータ

設定例
<% //入力テキストの幅を100pxに、背景色を赤に変更
%>
background-color:#FFCCCC; width:100px;

Editorの表示タイプが選択可能な場合、タイプによって適用されるinputが異なります。

TEXT

.mdc-input-field に対して指定したスタイルを適用します。

TEXTAREA、RICHTEXT

.mdc-textarea-field に対して指定したスタイルを適用します。

SELECT

.mdc-select-field に対して指定したスタイルを適用します。

RADIO

radioを囲む .mdc-radio-group に対して指定したスタイルを適用します。

CHECKBOX

checkboxを囲む .mdc-checkbox-group に対して指定したスタイルを適用します。

SWITCH

switchを囲む .mdc-switch-group に対して指定したスタイルを適用します。

AutoNumberPropertyEditor

AutoNumber型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

BinaryPropertyEditor

Binary型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

BINARY

ファイルのダウンロードボタンとプレビューを表示

LINK

ファイルのダウンロードリンクを表示

PREVIEW

ファイルのプレビューを表示

LABEL

ファイルのプレビューを表示、アップロードや削除は不可

HIDDEN

ロードや更新対象とするが画面には表示しない

画像の高さ(px)

BINARY
PREVIEW
LABEL

プレビューする場合に表示する画像や動画の高さを設定します。

画像の幅(px)

BINARY
PREVIEW
LABEL

プレビューする場合に表示する画像や動画の幅を設定します。

許可するファイル型

BINARY
LINK
PREVIEW

アップロードで許可するファイル型を設定します。inputの accept 属性に設定されます。さらに、アップロードファイルのファイル型をサーバーでもチェックします。
設定が無い場合のサーバーのチェックについては、Service-Config の MdcConfigService binaryUploadAcceptMimeTypesPattern の設定が利用されます。Service-Config の詳細は こちら を参照ください。
本設定と Service-Config の両方が設定されていた場合は、本設定が優先されます。

検証対象となる MIME Type の決定方法については、WebFrontendService uploadFileTypeDetector, FileTypeDetector を参照してください。

画像表示時に回転ボタンを表示

BINARY
LABEL
PREVIEW

左右の回転ボタンを表示します。表示している画像を回転させることが可能になります。保存されるデータは変更されません。

画像表示時にイメージViewerを利用

BINARY
LABEL
PREVIEW

拡大表示アイコンを表示します。拡大表示アイコンをクリックするとImageViewerを表示します。
ImageViewerでは画像の拡大・縮小、回転、反転が可能です。

PDF表示時にPDF.jsを利用

BINARY
LABEL
PREVIEW

拡大表示アイコンを表示します。拡大表示アイコンをクリックするとPDF.jsを用いてPDFを表示します。

新しいタブで開く

BINARY
LINK
PREVIEW
LABEL

拡大表示アイコンや画像リンクをクリックした場合に画像を新しいタブで表示します。画像表示時にイメージViewerを利用 が有効な場合のみ動作します。

ファイル選択ボタン非表示

BINARY
LINK
PREVIEW

ファイル選択ボタンを非表示にします。これでアップロード権限制御なとに利用してください。

削除ボタン非表示

BINARY
LINK
PREVIEW

バイナリファイルデータを削除するボタンを非表示にします。これで削除権限制御なとに利用してください。

アップロードWebApi

BINARY
LINK
PREVIEW

アップロード時に実行されるWebApiを設定します。

ダウンロードアクション

BINARY
LINK

ダウンロード時に実行されるアクションを設定します。

参照アクション

BINARY
PREVIEW
LABEL

プレビュー時に実行されるアクションを設定します。

BooleanPropertyEditor

Boolean型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

RADIO

ラジオボタンを表示

CHECKBOX

チェックボックスを表示

SELECT

選択リストを表示

SWITCH

スイッチを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

SELECT

入力領域にプレースホルダーを設定します。

真偽値の表示ラベル

RADIO
CHECKBOX
SELECT
LABEL

真偽の選択肢に表示するラベルを設定します。

RADIO、CHECKBOX、SWITCH形式の場合にアイテムを横に並べる

RADIO
CHECKBOX
SWITCH

チェックした場合、RADIO、CHECKBOX、SWITCH形式のアイテムを横に並べるかを指定します。

初期値

RADIO
CHECKBOX
SELECT
HIDDEN

新規作成時の初期値を設定します。true/false または、1/0 を設定して下さい。

DatePropertyEditor

Date型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT

入力領域にプレースホルダーを設定します。

日付/時刻のフォーマット設定

TEXT
LABEL

日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマッの多言語設定

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

曜日を表示

TEXT
LABEL

チェックした場合、日付にあわせて曜日を表示します。 曜日の入力はできません。

初期値

TEXT
HIDDEN

新規作成時の初期値を設定します。 yyyyMMdd形式か、予約語を指定して下さい。(予約語は以下の通り)

NOW

現在日付となります。

日付/時刻のフォーマット設定

フォーマットが反映される優先度は プロパティエディタの多言語設定に指定されたフォーマットとロケール > プロパティエディタで設定されたフォーマットとロケール > デフォルトの表示 となります。

設定項目 設定内容

日付/時刻のフォーマット設定

日付、時刻のフォーマットを文字列で設定します。 フォーマットの設定はSimpleDateFormatのパターン文字を使用してください。

入力例と表示例

yyyy年MM月dd日HH時mm分ss秒 → 2021年01月01日 12時10分05秒
MMM dd yyyy → Jan 01 2021

日付/時刻のロケール設定

日付、時刻のフォーマットの表示を決定するロケールを文字列で設定します。

入力例

ja_JP_JP、en_US、zh-CN_CN

日付/時刻のフォーマットの多言語設定

フォーマットが反映される優先度は プロパティエディタの多言語設定に指定されたフォーマットとロケール > プロパティエディタで設定されたフォーマットとロケール > デフォルトの表示 となります。

設定項目 設定内容

日付/時刻の言語設定

日付、時刻のフォーマットを設定する言語を設定をします。

入力例

日本語:ja 、英語:en 、中国語(简体中文):zh-CN

日付/時刻のフォーマット設定

日付、時刻のフォーマットを文字列で設定します。 フォーマットの設定はSimpleDateFormatのパターン文字を使用してください。

入力例と表示例

yyyy年MM月dd日HH時mm分ss秒 → 2021年01月01日 12時10分05秒
MMM dd yyyy → Jan 01 2021

日付/時刻のロケール設定

日付、時刻のフォーマットの表示を決定するロケールを文字列で設定します。

入力例

ja_JP_JP、en_US、zh-CN_CN

DecimalPropertyEditor

Decimal型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT

入力領域にプレースホルダーを設定します。

最大文字数

TEXT

テキストフィールドに入力可能な最大文字数を設定します。 1以上の場合に適用されます。

数値のフォーマット

TEXT
LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat パターンを設定してください。

カンマ表示

TEXT

テキストフィールドからフォーカスアウトした際に入力値をカンマ区切りで表示します

初期値

TEXT
HIDDEN

新規作成時の初期値を設定します。

ExpressionPropertyEditor

Expression型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プロパティエディタ

-

プロパティエディタを設定します。 Expressionプロパティの ResultType に設定されている内容に合わせて設定してください。 設定した場合、そのEditor設定にあわせて画面表示を行います。 未設定の場合は、値を文字列として表示します。

FloatPropertyEditor

Float型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT

入力領域にプレースホルダーを設定します。

最大文字数

TEXT

テキストフィールドに入力可能な最大文字数を設定します。 1以上の場合に適用されます。

数値のフォーマット

TEXT
LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat パターンを設定してください。

カンマ表示

TEXT

テキストフィールドからフォーカスアウトした際に入力値をカンマ区切りで表示します

初期値

TEXT
HIDDEN

新規作成時の初期値を設定します。

IntegerPropertyEditor

Integer型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT

入力領域にプレースホルダーを設定します。

最大文字数

TEXT

テキストフィールドに入力可能な最大文字数を設定します。 1以上の場合に適用されます。

数値のフォーマット

TEXT
LABEL

表示時のフォーマットを指定します。 java.text.DecimalFormat パターンを設定してください。

カンマ表示

TEXT

テキストフィールドからフォーカスアウトした際に入力値をカンマ区切りで表示します

初期値

TEXT
HIDDEN

新規作成時の初期値を設定します。

LongTextPropertyEditor

LongText型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

TEXTAREA

テキストエリア入力フィールドを表示

RICHTEXT

リッチテキスト内容を表示(詳細表示のみ対応。編集時は TEXTAREA と同様)

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT
TEXTAREA
RICHTEXT

入力領域にプレースホルダーを設定します。

最大文字数

TEXT
TEXTAREA
RICHTEXT

テキストフィールドに入力可能な最大文字数を設定します。 1以上の場合に適用されます。

初期値

TEXT
TEXTAREA
RICHTEXT
HIDDEN

新規作成時の初期値を設定します。

ReferencePropertyEditor

Reference型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

編集画面表示タイプ

-

編集画面に表示する方法を設定します。

LINK

名称のリンク表示とリンクから詳細画面を表示

SELECT

選択リストを表示

CHECKBOX

多重度が複数の場合はチェックボックス、1の場合はラジオボタンを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

詳細画面表示タイプ

-

詳細画面に表示する方法を設定します。

LINK

名称のリンク表示とリンクから詳細画面を表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

表示ラベルとして扱うプロパティ

LINK
SELECT
CHECKBOX
LABEL

表示ラベルとして扱うプロパティを設定します。 name 以外のプロパティを画面にラベルとして表示できます。 StringProperty にのみ適用されます。それ以外のプロパティを指定すると、画面表示にエラーになります。

Link設定

LINK

LINKタイプの設定を行います。 詳細はLink設定を参照してください。

選択値設定

SELECT
CHECKBOX

選択値の設定を行います。 詳細は選択値設定を参照してください。

ラベル設定

LABEL

ラベルの設定を行います。 ラベル設定は共通設定項目の ラベル設定と同じ項目です。

LINKタイプに対する設定を行います。

設定項目 設定内容

View定義名

参照先エンティティのView定義名を設定します。 未指定の場合はデフォルトのView定義を使用します。

詳細画面の参照リンクで編集を許可

チェックした場合、参照リンク押下時のリンク先詳細画面で編集が可能となります。

編集画面の参照リンクで編集を許可

チェックした場合、参照リンク押下時のリンク先詳細画面で編集が可能となります。

新規ボタンを非表示

チェックした場合、新規ボタンを非表示にします。

選択ボタンを非表示

チェックした場合、選択ボタンを非表示にします。

削除ボタンを非表示

チェックした場合、削除ボタンを非表示にします。

選択画面での全選択を許可

参照先の選択画面で複数選択が可能な場合、全選択時の範囲を変更します。 ただし多重度以上の選択はできず、先頭から順に選択されます。

チェックあり

検索条件に一致する全てのデータ(前後のページを含む) が対象

チェックなし

現在のページの全てのデータが対象

選択画面でバージョン検索を許可

バージョン管理している参照先Entityの選択画面でバージョン検索を許可します。

特定バージョンの基準となるプロパティ

参照先のプロパティのバージョン管理に合わせて、画面内のプロパティ名を指定します。 指定したプロパティの値を利用して、選択画面での検索時にバージョンを指定して検索します。

参照画面表示JavaScript

参照先の詳細画面を表示する前のタイミングで実行されるJavaScriptを指定します。 戻り値として false を返すと画面を表示しません。

クリックイベントの変数

クリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

entity

参照元のエンティティデータ

reference

参照先のエンティティデータ

propertyName

プロパティ名

新規参照画面表示JavaScript

新規での参照先の編集画面を表示する前のタイミングで実行されるJavaScriptを指定します。 戻り値として false を返すと画面を表示しません。

クリックイベントの変数

クリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

entity

参照元のエンティティデータ

propertyName

プロパティ名

参照画面保存後JavaScript

参照先の編集画面で保存されたタイミングで実行されるJavaScriptを指定します。

JavaScriptの変数

JavaScriptには、以下の変数がバインドされます。

entity

参照元のエンティティデータ

reference

参照先のエンティティデータ

propertyName

プロパティ名

参照画面削除後JavaScript

参照先の詳細画面で削除されたタイミングで実行されるJavaScriptを指定します。

JavaScriptの変数

JavaScriptには、以下の変数がバインドされます。

entity

参照元のエンティティデータ

reference

参照先のエンティティデータ

propertyName

プロパティ名

選択画面表示JavaScript

参照先の選択画面を表示する前のタイミングで実行されるJavaScriptを指定します。 戻り値として false を返すと画面を表示しません。

クリックイベントの変数

クリックイベントとして実行するJavaScriptには、以下の変数がバインドされます。

entity

参照元のエンティティデータ

propertyName

プロパティ名

選択画面パラメータ生成スクリプト

選択画面に渡すカスタムパラメータをGroovyScript形式で記述します。 バインドされている paramMap に対して、

key

sc_プロパティ名

value

検索条件とする値

として値を設定すると、選択画面の初期検索条件として設定されます。

独自のバインド変数

独自に以下の変数がバインドされています。

paramMap

Map<String, String>

executeMode

実行モード

entity

参照元のエンティティデータ

選択画面カスタムパラメータJavaScript

選択画面に渡すパラメータをカスタマイズするJavascriptを記述します。 JavaScriptのパラメータとして渡される parameter オブジェクトに対して、

key

sc_プロパティ名

value

検索条件とする値

として値を設定すると、選択画面の初期検索条件として設定されます。 パラメータには、 選択画面パラメータ生成スクリプト で設定された値が予め指定されています。

JavaScriptの変数

JavaScriptには、以下の変数がバインドされます。

parameter

送信するパラメータオブジェクト

entity

参照元のエンティティデータ

propertyName

プロパティ名

選択画面選択後JavaScript

参照先の選択画面で選択されたタイミングで実行されるJavaScriptを指定します。

JavaScriptの変数

JavaScriptには、以下の変数がバインドされます。

entity

参照元のエンティティデータ

referenceList

選択したエンティティデータのリスト

deleteList

選択解除されたエンティティデータのリスト

propertyName

プロパティ名

新規で追加した参照先データはまだ保存されていないため、選択画面には表示されません。 選択画面で選択値を変更した場合も、新規データは追加されている状態で残ります。 もし削除したい場合は、明示的に削除ボタンから削除する必要があります。

選択値設定

SELECTタイプ、CHECKBOXタイプに対する設定を行います。

設定項目 設定内容

検索条件

選択可能項目を検索する際の条件に依存しない検索条件を設定します。

ソートアイテム

選択項目をソートする項目を設定します。

ソート種別

選択項目をソートする種別を設定します。

プレースホルダー

SELECTタイプの場合に、入力領域にプレースホルダーを設定します。

CHECKBOX形式の場合にアイテムを横に並べる

チェックした場合、CHECKBOX形式のアイテムを横に並べるかを指定します。

ScriptPropertyEditor

GroovyTemplateで記述されたテンプレートを利用して表示するプロパティエディタです。 HTMLやスクリプト、Vue.jsのSFC形式(単一ファイルコンポーネント形式)などでテンプレートを記述できます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を下記から選択します。

SCRIPT

Scriptの出力結果を表示

HIDDEN

ロードや更新対象とするが画面には表示しない

テンプレート文字列の解釈タイプ

-

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

-

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

スクリプト

-

スクリプト編集画面を表示してGroovyTemplateの文法に従って記述します。 詳細はGroovyTemplateを参照してください。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.executeMode

実行モード

request.entityDefinition

エンティティ定義

request.propertyDefinition

プロパティ定義

request.element

エレメント定義

request.editor

エディタ定義

request.value

プロパティ値

詳細画面 テンプレート文字列の解釈タイプ

-

詳細画面と編集画面で出力タイプを分けたい場合に指定します。

詳細画面 コンポーネント名

-

詳細画面と編集画面でコンポーネント名を分けたい場合に指定します。

詳細画面 スクリプト

-

詳細画面と編集画面でスクリプトを分けたい場合に指定します。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • executeMode : 実行モード

  • entity : 処理対象のエンティティデータ

  • detailViewDefinition : DetailView定義

element

対象プロパティのプロパティ項目

modelValue

対象プロパティの値

以下のイベント通知をリスニングします。

イベント名 通知値

update:modelValue

対象プロパティの更新値

SelectPropertyEditor

Select型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

CHECKBOX

多重度が複数の場合はチェックボックス、1の場合はラジオボタンを表示

SELECT

選択リストを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

SELECT

入力領域にプレースホルダーを設定します。

選択値

CHECKBOX
SELECT
LABEL

選択値を指定できます。詳細は選択値設定を参照してください。未指定の場合、エンティティ定義から選択値を取得します。
画面個別に選択値をカスタマイズしたい場合に設定してください。

CHECKBOX形式の場合にアイテムを横に並べる

CHECKBOX

チェックした場合、CHECKBOX形式のアイテムを横に並べるかを指定します。

初期値

CHECKBOX
SELECT
HIDDEN

新規作成時の初期値を設定します。

選択値設定

選択値を設定します。

設定項目 設定内容

表示名

選択肢のラベルを設定します。

選択肢の値を設定します。

CSSクラス名

スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

StringPropertyEditor

String型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

TEXTAREA

テキストエリア入力フィールドを表示

RICHTEXT

リッチテキスト内容を表示(詳細表示のみ対応。編集時は TEXTAREA と同様)

PASSWORD

パスワードフィールドを表示

SELECT

選択リストを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT
TEXTAREA
RICHTEXT
PASSWORD
SELECT

入力領域にプレースホルダーを設定します。

最大文字数

TEXT
TEXTAREA
RICHTEXT

テキストフィールドに入力可能な最大文字数を設定します。 1以上の場合に適用されます。

選択値

SELECT

選択値を指定できます。詳細は選択値設定を参照してください。
String型のプロパティとして値を保持するが、入力値を固定させたいような場合に利用します。

初期値

TEXT
TEXTAREA
RICHTEXT
PASSWORD
SELECT
HIDDEN

新規作成時の初期値を設定します。

TemplatePropertyEditor

別途定義したテンプレートを利用して表示するプロパティエディタです。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEMPLATE

Templateの出力結果を表示

HIDDEN

ロードや更新対象とするが画面には表示しない

テンプレート文字列の解釈タイプ

-

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

コンポーネント名

-

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 テンプレート文字列の解釈タイプが VUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 テンプレート文字列の解釈タイプが VUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

テンプレート名

-

登録済テンプレート名を設定します。

独自のバインド変数

request変数には以下の変数がバインドされています。

request.componentName

指定したコンポーネント名(VUE_SFC_LIKEの場合)

request.executeMode

実行モード

request.entityDefinition

エンティティ定義

request.propertyDefinition

プロパティ定義

request.element

エレメント定義

request.editor

エディタ定義

request.value

プロパティ値

詳細画面 テンプレート文字列の解釈タイプ

-

詳細画面と編集画面で出力タイプを分けたい場合に指定します。

詳細画面 コンポーネント名

-

詳細画面と編集画面でコンポーネント名を分けたい場合に指定します。

詳細画面 テンプレート名

-

詳細画面と編集画面でテンプレートを分けたい場合に指定します。

VUE_SFC形式、VUE_SFC_LIKE形式の場合のコンポーネントとのデータ受け渡し(props/emit)

以下のデータがpropsとしてコンポーネントに引き渡されます。

contextMap

コンテキストマップ。リアクティブなMapオブジェクト。次のデータが格納されています。

  • executeMode : 実行モード

  • entity : 処理対象のエンティティデータ

  • detailViewDefinition : DetailView定義

element

対象プロパティのプロパティ項目

modelValue

対象プロパティの値

以下のイベント通知をリスニングします。

イベント名 通知値

update:modelValue

対象プロパティの更新値

TimePropertyEditor

Time型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT

入力領域にプレースホルダーを設定します。

日付/時刻のフォーマット設定

TEXT
LABEL

日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマッの多言語設定

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

時間の表示範囲

TEXT
LABEL

時間の各リストをどこまで表示するか下記から選択します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

時間を非表示(無効です)

分の間隔

TEXT

分のリストの表示間隔を下記から選択します。

1MIN

1分

5MIN

5分

10MIN

10分

15MIN

15分

30MIN

30分

分の端数処理モード

TEXT

分の端数処理方法を設定します。pickerなどで入力された値を分の間隔で端数制御します。

UP

0から離れるようにする

DOWN

0に近づける

NONE

制御しない

初期値

TEXT
HIDDEN

新規作成時の初期値を設定します。 HHmmss形式か、予約語を指定して下さい。(予約語は以下の通り)

NOW

現在時刻となります。

TimestampPropertyEditor

Timestamp型用のプロパティエディタです。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

TEXT

入力フィールドを表示

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

プレースホルダー

TEXT

入力領域にプレースホルダーを設定します。

日付/時刻のフォーマット設定

TEXT
LABEL

日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマット設定 を参照してください。

日付/時刻のフォーマッの多言語設定

TEXT
LABEL

言語別の日付/時刻型を表示する際のフォーマットとロケールを設定します。
詳細は 日付/時刻のフォーマットの多言語設定 を参照してください。

曜日を表示

TEXT
LABEL

チェックした場合、日付にあわせて曜日を表示します。 曜日の入力はできません。

時間の表示範囲

TEXT
LABEL

時間の各リストをどこまで表示するか下記から選択します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

時間を非表示

分の間隔

TEXT

分のリストの表示間隔を下記から選択します。

1MIN

1分

5MIN

5分

10MIN

10分

15MIN

15分

30MIN

30分

分の端数処理モード

TEXT

分の端数処理方法を設定します。pickerなどで入力された値を分の間隔で端数制御します。

UP

0から離れるようにする

DOWN

0に近づける

NONE

制御しない

初期値

TEXT
HIDDEN

新規作成時の初期値を設定します。 yyyyMMddHHmmss形式か、予約語を指定して下さい。(予約語は以下の通り)

NOW

現在時刻となります。

UserPropertyEditor

createByupdateBy 等、Userエンティティの oid (String)を持つプロパティに対して、 oid に一致するユーザー名を表示させるためのプロパティエディタです。 ユーザー名を表示します(読み取り専用)。

設定項目 表示タイプ 設定内容

表示タイプ

-

画面に表示する方法を設定します。

LABEL

ラベルを表示

HIDDEN

ロードや更新対象とするが画面には表示しない

6. フィルタの管理

フィルタを設定することでエンティティの検索補助を実現できます。 検索画面(条件部)のタブに 定型検索 タブが追加されます。

filter view

設定方法などの詳細については フィルタの管理 を参照してください。

7. カスタム処理の組み込み

検索画面や選択画面で、検索処理の実行前後に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを検索画面のEQLカスタム処理クラス名に指定します。

org.iplass.mtp.mdc.view.entityview.search.SearchQueryInterceptor

処理一覧
メソッド 引数 戻り値 処理内容

beforeSearch

SearchQueryContext

なし

検索前処理を行います。

afterSearch

SearchQueryContext

なし

検索後処理を行います。afterSearchではEntity1レコード毎に処理が呼ばれます。

Entity

afterSearchComplete

SearchQueryContext

なし

検索完了処理を行います。

List<Entity>

3.2.18から新しいシグネチャのメソッドを追加し、3.2.17以前のシグネチャのメソッドを非推奨としました。将来のバージョンでは3.2.17以前のシグネチャのメソッドは削除されます。
SearchQueryInterceptorの例

SearchQueryInterceptor では、beforeSearch afterSearch afterSearchComplete をデフォルト実装しています。 必要に応じてオーバーライドします。

例えば beforeSearch では、クエリのカスタマイズ結果や検索時のオプションを設定したSearchQueryContextを返すように実装します。

import java.util.List;
import java.util.Map;

import org.iplass.mtp.entity.query.condition.expr.And;
import org.iplass.mtp.entity.query.condition.predicate.Like;
import org.iplass.mtp.entity.query.condition.predicate.Like.MatchPattern;
import org.iplass.mtp.mdc.command.view.entityview.search.DetailSearchCondition;
import org.iplass.mtp.mdc.command.view.entityview.search.search.SearchParameter;
import org.iplass.mtp.mdc.view.entityview.search.definition.editor.condition.MdcSearchConditionPropertyEditor;
import org.iplass.mtp.mdc.view.entityview.search.definition.editor.condition.MdcSearchConditionScriptPropertyEditor;
import org.iplass.mtp.mdc.view.entityview.search.definition.editor.condition.MdcSearchConditionTemplatePropertyEditor;
import org.iplass.mtp.mdc.view.entityview.search.definition.element.property.MdcSearchConditionProperty;

public class TestSearchQueryInterceptor implements SearchQueryInterceptor {
    @Override
    public void beforeSearch(SearchQueryContext context) {
        // 入力された検索条件を取得
        SearchParameter param = (SearchParameter) context.getRequest().getAttribute(SearchViewConstants.PARAMS);

        List<MdcSearchConditionProperty> elements = context.getSearchViewDefinition().getSearchConditionSection()
                .getElements();

        SearchType searchType = SearchType.resolveSearchType(param.getSearchCondition().getSearchType());

        if (searchType.equals(SearchType.NORMAL)) {
            // 通常検索の場合

            // 通常検索で入力した検索条件を取得
            Map<String, Object> inputCondNormal = param.getSearchCondition().getNormal();
            // 検索条件を取得する場合は以下のように対象のプロパティを取得して処理を実行する
            for (MdcSearchConditionProperty element : elements) {
                MdcSearchConditionPropertyEditor editor = element.getEditor();
                // 例)
                // MdcSearchConditionTemplatePropertyEditorかMdcSearchConditionScriptPropertyEditorの場合の条件を作成してクエリーのWhere句に追加
                if (editor instanceof MdcSearchConditionTemplatePropertyEditor
                        || editor instanceof MdcSearchConditionScriptPropertyEditor) {
                    if (context.getQuery().getWhere().getCondition() == null) {
                        And and = new And();
                        context.getQuery().getWhere().setCondition(and);
                    }
                    ((And) context.getQuery().getWhere().getCondition()).and(new Like(editor.getPropertyName(),
                            (String) inputCondNormal.get(editor.getPropertyName()), MatchPattern.PARTIAL));
                } else {
                    continue;
                }
            }
        } else if (searchType.equals(SearchType.DETAIL)) {
            // 詳細検索の場合

            // 詳細検索で入力した検索条件を取得
            DetailSearchCondition inputCondDetail = param.getSearchCondition().getDetail();

            
        } else if (searchType.equals(SearchType.FIXED)) {
            // 定型検索の場合

            // 定型検索で入力した検索条件を取得
            String inputCondFixed = param.getSearchCondition().getFixed();

            
        }

        // 特権実行する場合
        context.setDoPrivileged(true);

        // Entity権限における限定条件を適用せずに検索を実行する参照先名
        // 特権実行する場合は無視されます
        context.setWithoutConditionReferenceName("ref1", "ref2");
    }
}
クエリのカスタマイズ

beforeSearch内ではクエリをカスタマイズし、SELECT句の対象を追加したり、WHERE句に条件を追加したりすることが可能です。

また、 org.iplass.mtp.entity.query.ASTTransformer インターフェースを利用することで、クエリに設定されている式自体をカスタマイズすることも可能になります。 ASTTransformerはデザインパターンのVisitorパターンを利用してクエリを解析します。

以下は検索条件を取り出し、特定の項目に対する条件が指定されていた場合に値を書き換えるサンプルになります。 下記サンプルでは、ASTTransformerの実装クラスのASTTransformerSupportを継承した独自の無名クラスを作成し、特定のEQLの条件クラスが来た場合にクエリをカスタマイズしています。

Condition condition = query.getWhere().getCondition();
if (condition != null) {
    condition.accept(new ASTTransformerSupport() {

        @Override
        public ASTNode visit(Equals equals) {
            encriptName(equals);
            return super.visit(equals);
        }

        @Override
        public ASTNode visit(NotEquals notEquals) {
            encriptName(notEquals);
            return super.visit(notEquals);
        }

        @Override
        public ASTNode visit(Greater greater) {
            encriptName(greater);
            return super.visit(greater);
        }

        @Override
        public ASTNode visit(GreaterEqual greaterEqual) {
            encriptName(greaterEqual);
            return super.visit(greaterEqual);
        }

        @Override
        public ASTNode visit(Lesser lesser) {
            encriptName(lesser);
            return super.visit(lesser);
        }

        @Override
        public ASTNode visit(LesserEqual lesserEqual) {
            encriptName(lesserEqual);
            return super.visit(lesserEqual);
        }
    });
}


private void encriptName(ComparisonPredicate predicate) {
    if (predicate.getPropertyName().equals("name")
        && predicate.getValue() != null
        && predicate.getValue() instanceof Literal) {
        Literal literal = (Literal) predicate.getValue();
        if (literal.getValue() instanceof String) {
            String value = (String) literal.getValue();
            predicate.setValue(new Literal(CipherUtil.encrypt(value)));
        }
    }
}

7.2. カスタム一括削除処理

一括削除処理で複数のEntityに対する一括操作時に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを検索結果のカスタム一括削除処理クラス名に指定します。

org.iplass.mtp.mdc.view.entityview.search.delete.DeleteListInterceptor

処理一覧
メソッド 引数 戻り値 処理内容

beforeDelete

DeleteListContext

なし

削除前処理を行います。

afterDelete

DeleteListContext

なし

削除後処理を行います。

7.3. カスタムロード処理

詳細表示、編集画面でEntityのロード時に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを詳細・編集画面のカスタムロード処理クラス名に指定します。

org.iplass.mtp.mdc.view.entityview.detail.load.LoadEntityInterceptor

処理一覧
メソッド 引数 戻り値 処理内容

beforeLoadEntity

LoadEntityContext

なし

ロード前処理を行います。 詳細・編集画面の表示時や、登録、更新時の登録済データ取得時に呼ばれます。 LoadOption のカスタマイズや特権実行の指定が可能です。

afterLoadEntity

LoadEntityContext

Entity

ロード後処理を行います。 ロードされたエンティティデータをカスタマイズすることが可能です。

Entity

beforeLoadMappedByReference

LoadEntityContext

なし

データ登録時の被参照プロパティのロード前処理を行います。 LoadOption のカスタマイズや特権実行の指定が可能です。

ReferenceProperty

afterLoadMappedByReference

LoadEntityContext

Entity

被参照プロパティのロード後処理を行います。 ロードされたエンティティデータをカスタマイズすることが可能です。

ReferenceProperty

Entity

LoadMode

LoadEntityContext#getLoadMode() からロードのタイミングを取得できます。

VIEW

詳細画面表示時

EDIT

編集画面表示時

BEFORE_UPDATE

更新処理、初期ロード時(表示判定用)

UPDATE_MAPPEDBY

更新処理、被参照対象ロード時

COPY

コピー処理、コピー元データロード時(DEEP以外)

BEFORE_DELETE

削除処理、対象ロード時

BEFORE_LOCK

ロック、ロック解除処理、初期ロード時(ボタン表示判定用)

7.4. カスタム保存処理

編集画面での登録・更新時に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを詳細・編集画面のカスタム登録処理クラス名に指定します。

org.iplass.mtp.mdc.view.entityview.detail.save.SaveEntityInterceptor

処理一覧
メソッド 引数 戻り値 処理内容

dataMapping

SaveEntityContext

なし

登録用のデータにリクエストのデータをマッピングします。 リクエストデータから生成された登録用エンティティデータをカスタマイズすることが可能です。

isSpecifyAllProperties

SaveEntityContext

boolean

更新対象の範囲を制御します。 UpdateOption のカスタマイズを行います。

true

getAdditionalPropertiesで設定した戻り値のみを更新対象とする

false

汎用登録処理が自動で設定した更新対象に getAdditionalProperties の戻り値を追加する

デフォルトは false です。

getAdditionalProperties

SaveEntityContext

Set<String>

更新対象のプロパティを指定します。 更新対象のプロパティは isSpecifyAllProperties により対象範囲が変わります。

beforeRegist

SaveEntityContext

List<ValidateError>

当該メソッド内に設定した処理内容が、エンティティの登録・更新前に実施されます。 戻り値としてValidateErrorを返すと、登録処理を行いません。

afterRegist

SaveEntityContext

List<ValidateError>

当該メソッド内に設定した処理内容が、エンティティの登録・更新後に実施されます。 戻り値としてValidateErrorを返すと、保存データはロールバックされます。

登録処理の順序

カスタム登録処理の各メソッドは以下のように呼ばれます。

  1. リクエストデータから登録用のエンティティデータが作成されます。

  2. カスタム登録処理の dataMapping が実行されます。

  3. 参照型のデータを登録します。

  4. カスタム登録処理の beforeRegist が実行されます。

  5. エンティティ(本データ)を登録(insert)または更新(update)します。
    更新時は、 isSpecifyAllProperties getAdditionalProperties の設定により UpdateOption を制御します。

  6. 被参照の参照型のデータを登録します。

  7. カスタム登録処理の afterRegist が実行されます。

いずれかでエラーが発生した場合、ロールバックされます。

参照データの登録

参照データの追加や編集時に表示される編集画面での保存処理では、実際の登録処理は実行せず、 validate 処理のみを行います。 本データの保存時に、参照データ1件ごとに登録処理が実行されます。参照データは、 ReferencePropertyEditor で指定されているView定義の設定によって上記の登録処理が同様に行われます。