4.0
Generic Entity Manager (EntityView)

1. EntityView

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

2. 操作説明

2.1. 検索画面

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

searchview structure

ボタンエリア

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

Upload をクリックすると、アップロード画面が表示されます。 アップロード画面ではCSVファイルかExcelファイルを利用して、データの一括登録、更新ができます。

検索条件エリア

検索一覧の上部は検索条件を設定するエリアになっています。 通常検索詳細検索定型検索 の3種類の検索方法が用意されています。

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

通常検索

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

searchview condition normal

A.検索項目

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

B.検索

検索項目に指定された条件を利用して検索を行います。 検索後は検索結果が表示され、検索条件は折り畳まれ、縮小表示になります。 再度検索条件を表示する時は 検索 の部分をクリックします。

C.Download

検索項目に指定された条件を利用して検索を行い、結果をファイルとしてダウンロードします。 クリック時に以下のダイアログが表示されます。

searchview csvdl dialog

アップロード用の形式で出力を選択した場合、アップロード画面でファイルのアップロードに利用できます。 アップロード形式でない場合は、検索結果エリアの設定か検索条件エリアで直接設定した項目を出力します。 検索画面の設定によって、CSVファイルかExcelファイル、またはどちらかを利用者が選択することが可能です。

D.リセット

検索条件をリセットします。 画面表示時に検索条件が指定されていた場合は、リセットを行うと画面表示時の状態に戻ります。

E.ゴミ箱

ゴミ箱を表示します。 検索結果で 削除 を行ったデータはゴミ箱に格納されます。

詳細検索

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

searchview condition detail

A.検索項目

右側の + は検索条件の追加、 - は該当行を削除します。

型ごとにキーワードへ指定できる文字が変わります。

形式

真偽値

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

日付

yyyyMMdd形式の文字列(20180601等)

日時

yyyyMMdd形式の文字列(20180601等)
yyyyMMddHHmmss形式の文字列(20180601093000等)
yyyyMMddHHmmssSSS形式の文字列(20180601093000000等)

時間

HHmmss形式の文字列(093000)

参照型

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

選択型

選択肢の値またはラベル

数値

任意の数値

その他

任意の文字列

B.条件の組合せ

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

すべての条件に一致

AND条件で組み合わせます

いずれかの条件に一致

OR条件で組み合わせます

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

NOT条件で組み合わせます

C.条件式を記述

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

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

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

searchview condition fix

A.固定条件

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

検索結果エリア

検索実行時に検索条件に一致するデータが表示されます。

searchview result

A.詳細/編集

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

B.ページング

データが5件(設定により変わる事あり)以上有る場合に使用します。 前を表示次を表示 は現在表示しているデータの前後のデータを表示します。 虫眼鏡のアイコンは、クリックするとテキストボックスに入力したページを表示します。

C.全削除/全一括更新

現在表示中の全データを削除/一括更新対象として選択します。

D.削除

削除対象として選択中のデータを削除(ゴミ箱に移動)します。 全削除 がチェック中の場合、削除対象を選択するダイアログを表示します。

searchview deleteall

選択された行を削除

現在表示中で削除対象になっているデータを削除します。

検索条件を元に全て削除

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

E.一括更新

一括更新対象として選択中のデータを利用して一括更新画面を表示します。

2.2. ゴミ箱

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

searchview dustbox

A.処理対象選択

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

B.元に戻す

処理対象として選択したデータを元に戻します。 検索一覧で検索すると再度表示されます。

C.ごみ箱から削除

処理対象として選択したデータを完全に削除します。 ゴミ箱から削除したデータは復元できません。

D.一覧に戻る

検索一覧に戻ります。

2.3. 一括更新画面

検索一覧で選択中のデータを一括更新する操作画面です。 選択したレコードに対して、単一の項目と複数の項目を更新する二つのパターンがあります。

単一の項目を一括更新

searchview bulkupdateall
A.一括更新方法を選択

全一括更新 がチェック中の場合、一括更新方法を選択する設定を表示します。 処理対象として選択したデータに対して連続更新する場合、二回目以降は一括更新方法を変更することができません。

選択された行を一括更新

現在表示中で一括更新対象になっているデータを一括更新します。

検索条件を元に全て一括更新

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

B.一括更新する項目

処理対象として選択したデータに対して、どの項目を一括更新対象にするかを選択します。 選択した項目のAdminConsoleでの一括更新プロパティエディタの設定によって、一括更新画面で表示する入力エリアが変わります。 一括更新プロパティエディタが未設定の場合、一括更新画面での項目選択リストに表示しません。 検索結果プロパティの設定を参照してください。

C.一括更新

処理対象として選択したデータに対して、一括更新する項目に設定した値で更新します。

D.キャンセル

一括更新画面を閉じます。

searchview bulkupdated props
A.更新された項目

一括更新処理を実行した後に、処理対象として選択したデータで更新された項目名と更新値を表示します。

複数の項目を一括更新

SearchLayoutの検索結果の設定BulkViewレイアウト定義を利用 という項目にチェックを入れた場合、 BulkViewLayoutを利用して一括更新画面を生成し、複数項目を一括更新することができます。

bulkview bulkupdateall
A.一括更新方法を選択

全一括更新 がチェック中の場合、一括更新方法を選択する設定を表示します。 処理対象として選択したデータに対して連続更新する場合、二回目以降は一括更新方法を変更することができません。

選択された行を一括更新

現在表示中で一括更新対象になっているデータを一括更新します。

検索条件を元に全て一括更新

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

B.一括更新する項目

処理対象として選択したデータに対して、複数の項目を一括更新することができます。

ブランクで項目を一括更新することができない制限があります。ご注意ください。
入力値がブランクの項目を未入力の項目として扱い、一括更新項目にはなりません。
C.一括更新

処理対象として選択したデータに対して、一括更新する項目に設定した値で更新します。

D.キャンセル

一括更新画面を閉じます。

2.4. アップロード画面

ファイルをアップロードして、データの一括登録、更新ができます。

searchview csvul

A.アップロードファイルの種類を選択

検索画面の設定によって、CSVファイルかExcelファイル、またはどちらかを利用者が選択することが可能です。 利用者が選択可能な場合は、ファイルの種類を選択します。

B.アップロードファイル選択

アップロード対象のファイルを選択します。

C.ユニークキーの選択

更新対象のデータを特定するためのユニークキー項目を選択します。 ユニークキーとなっているプロパティがない場合は OID のみ選択できます。

D.Upload

選択したファイルをアップロードします。 アップロードが完了すると、登録や更新の件数などの処理結果が表示されます。

エラーが発生した場合、該当行がエラーで表示されます。 該当行を修正した後、再度アップロードしてください。

E.Sample Download

アップロード可能なフォーマットのサンプルファイルをダウンロードします。

F.キャンセル

検索一覧に戻ります。

G.アップロード時の注意

アップロードするファイルに関する注意事項が記載されています。 アップロード機能を利用する際は一度内容の確認をしてください。

2.5. 詳細画面

エンティティの単一データを表示するための画面です。

detailview structure detail

ボタンエリア

編集 をクリックすると、表示中のデータの編集画面が表示されます。

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

新しいバージョンで更新 をクリックすると、表示中のデータを残したまま、新しいバージョンとして更新するための編集画面が表示されます。

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

戻る をクリックすると、検索一覧が表示されます。

ナビゲーションリンク

セクションエリアの各セクションへジャンプするためのリンクが表示されます。 セクションが縮小表示されている場合にナビゲーションリンクをクリックすると、セクションは展開されます。

全て開く全て閉じる はセクションエリア内の全てのセクションに対して縮小、展開ができます。

セクションエリア

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

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

2.6. 編集画面

エンティティの単一データを編集するための画面です。

detailview structure edit

ボタンエリア

登録 をクリックすると、新規作成のデータを登録できます。 登録後はデータの詳細画面が表示されます。

保存 をクリックすると、編集中のデータを保存します。 保存後はデータの詳細画面が表示されます。

削除 をクリックすると、編集中のデータを削除します。 データはゴミ箱へ移動し、検索一覧が表示されます。

キャンセル をクリックすると、検索一覧が表示されます。

入力フィールド

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

テキストフィールド

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

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

field text

テキストエリア

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

field textarea

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

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

field password

日付フィールド

日付を入力するフィールドです。 入力時にカレンダーが表示され、日付を選択すると自動的にフィールドに反映されます。

field date

日時フィールド

日時を入力するフィールドです。 入力時にカレンダーが表示され、日付を選択すると自動的にフィールドに反映されます。

時間についてはプルダウンから時、分、秒を選択する形式と、カレンダー上で日付と併せて選択する形式があります。

field datetime

時間フィールド

時間を入力するフィールドです。 プルダウンから時、分、秒を選択する形式と、カレンダー上で日付と併せて選択する形式があります。

field time

プルダウン

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

field pulldown

ラジオボタン

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

field radio

チェックボックス

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

field checkbox

リッチテキスト

ワードライクな文章入力エリアです。 上部のアイコンを利用することで、簡単に文章を加工できます。 htmlタグの使用もできます。

field richtext

参照

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

選択 をクリックすると選択画面が表示されます。 検索一覧のように検索を行い、対象データを選択、 確定 をクリックすると参照項目に反映されます。

新規 をクリックすると詳細画面が表示されます。 必要項目を入力し、 登録 をクリックすると参照項目に反映されます。

field reference

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

field reference dialog

複数件選択できる場合、ヘッダ部分にチェックボックスが表示されます。 チェックすると全選択の対象を選択できるようになります。 全てのページ を選択すると現在の検索条件でヒットする全てのデータ、 現在のページ を選択すると現在表示中のページのデータを選択します。

field reference dialog all

チェックを解除した場合、上記とは逆に全選択の解除の対象を選択できます。

参照テーブル

関連する子データをテーブル形式で表示します。 行の追加や削除、子データの詳細画面の表示などができます。 三角のアイコンをクリックすることで、行の順序の入れ替えができます。

field nesttable

3. EntityViewの管理

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

entityview searchlayout
entityview detaillayout

検索一覧に選択したレコードに対して、複数の項目を同時に更新したい場合、BulkLayoutの設定を利用して一括更新画面を生成します。 一括更新画面を参照してください。

entityview bulklayout

また、用途に併せて複数のレイアウトをViewとして作成することができます。 Viewは名前を付与して区別しており、SearchLayoutとDetailLayout及びBulkLayoutは同一の名前のViewをセットとして運用します。

3.1. 表示方法

メニューからの表示

メニューには各エンティティに対応するメニューが表示されており、クリックすることで検索一覧が表示されます。 検索一覧からは、新規作成や検索結果の詳細、編集等をクリックすることで、詳細画面が表示されます。

エンティティを作成するとそのエンティティに対応するメニューが作成され、 DEFAULT メニュー定義に追加されます。 DEFAULT 以外のメニュー定義で検索一覧を表示したい場合には、個別に追加する必要があります。

Top画面での表示

TopViewの設定画面を表示し、 SearchResult List を配置します。 SearchResult List の設定画面を開き、対象のEntityや表示項目を定義した検索一覧の画面定義を指定してください。

設定項目 設定内容

Entity

対象となるエンティティを指定します。

ResultList View

検索結果一覧に適用するSearchLayoutのViewを選択します。

Link Action View

検索画面リンクから検索画面を表示する際に適用するSearchLayoutのViewを選択します。

Detail Action View

検索結果の詳細・編集リンクから詳細画面を表示する際に適用するDetailLayoutのViewを選択します。 未指定の場合、 ResultList View で指定したViewを利用します。

Filter

対象エンティティにFilterが定義されていれば、本項目で選択可能となります。

Title

タイトルをカスタマイズしたい場合に指定します。

Icon Tag

タイトルの前に表示するiタグなどを利用した独自のアイコンを設定できます。

Class

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

Hight

Main Areaに配置した場合の一覧の高さを指定します。

Search asynchronously

チェックを入れた場合、非同期で検索処理を行います。

3.2. 検索画面

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

SearchLayoutの表示

レイアウト設定を行いたいエンティティを右クリックし、 Search_Layoutを開く を選択します。

SearchLayoutの構成

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

entityview searchlayout structure
ツールバー

紫枠の部分はSearchLayoutの各Viewに対する操作を行うためのボタン群です。 EntityViewでは1つのエンティティに対して複数のレイアウトを保持できます。

ボタン名 説明

表示

View名で選択したViewを表示します。

保存

カスタマイズしたViewを保存します。 カスタマイズ後、保存ボタンをクリックしてください。

追加

Viewを新規に追加します。

削除

View名で選択したViewを削除します。

標準ロード

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

コピー

View名で選択したViewをコピーします。

Viewを追加する場合、必ず default のViewを先に作成してください。 default のViewを作成せずにViewを追加した場合、検索一覧でエラーになる可能性があります。

追加セクション

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

検索条件、検索結果

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

検索画面の設定

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

設定項目 設定内容

画面タイトル

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

イメージカラー

ビューのイメージカラー(画面タイトルの左に表示されるアイコンの色)を選択します。 次から選択できます。

blue / green / red / yellow

フラットデザインでは表示されません。

アイコンタグ

タイトルの前に表示するiタグなどを利用した独自のアイコンを設定できます。

ダイアログ表示時に最大化

参照ダイアログ表示時に最大化する場合はチェックします。

新規作成ボタンを非表示

検索一覧(条件部)の上部に表示されている新規登録ボタンを非表示にする場合はチェックします。

ごみ箱を非表示

ごみ箱を表示 リンクを非表示にする場合はチェックします。

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

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

検索WebApi

検索一覧(条件部)の検索ボタンクリックで実行されるWebApiを設定します。

ダウンロードアクション

検索一覧(条件部)のDownloadボタンクリックで実行されるアクションを設定します。

アップロード画面表示アクション

検索一覧のUploadボタンクリックで実行されるアクションを設定します。

新規登録アクション

上部に表示されている新規登録ボタンクリックで実行されるアクションを設定します。

表示アクション

検索一覧(結果部)の詳細リンククリックで実行されるアクションを設定します。

編集アクション

検索一覧(結果部)の編集リンククリックで実行されるアクションを設定します。

一括削除WebApi

検索一覧(結果部)の削除ボタンクリックで実行されるWebApiを設定します。

全削除WebApi

検索一覧(結果部)の全選択ラジオボタンチェック時に表示されるダイアログで、 検索条件を元に全て削除 を選択し、 OK ボタンを押下した際に実行されるWebApiを設定します。

ボタン

検索一覧(条件部)の上部に追加するボタンを設定します。 詳細はボタン設定を参照してください。

Javascriptコード

検索一覧のScriptタグ内に出力するJavascriptコードを入力します。

データの多言語化

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

物理削除

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

特定バージョンを削除

バージョン管理しているEntityの場合に、検索結果の削除処理やアップロード時の _useCtrl による削除時に対象のバージョンデータのみを削除します。
アップロードによる削除では version 値が指定されている場合はそのバージョンのみ、未指定の場合は全バージョンを削除します。

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

バージョン管理Entity以外の場合に参照先の保存時バージョンの検索を許可

バージョン管理していないEntityに、バージョン管理している参照先プロパティ(参照タイプとして 最新バージョンを取得 と定義)を保持しているEntityに対して、 保存時のバージョンの検索を可能にします。 検索画面に 保存時のデータ(無効データ含む)を検索 オプションが表示されます。

バージョン管理しているEntityの場合は、 すべてのバージョン(無効データ含む)を検索 を指定することで、保存時のデータが検索されます。

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

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

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

Entity権限における限定条件を適用せずに検索を実行する参照先のプロパティ名を設定します。特権実行する場合、または EQLカスタム処理クラス名 の設定がある場合はそちらが優先されます。

EQLカスタム処理クラス名

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

ダウンロード時にEQLカスタム処理クラスを利用する

EQLカスタム処理クラスをダウンロード時の検索処理でも利用するかを指定します。

検索画面Handlerクラス名

設定により対応できない動作をカスタマイズするためのフック用Handlerを指定します。 指定できるのは SearchFormViewHandler インターフェースを実装するクラスです。
実際に指定する場合は、GEMに特化した SearchFormViewAdapter クラスを継承して実装してください。 具体的な実装例としては、詳細リンクの表示を制御する CheckPermissionLimitConditionOfEditLinkHandler があります。

検索条件の設定

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

設定項目 設定内容

列数

セクションの列数を設定します。

詳細条件の表示件数

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

詳細検索を非表示

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

定型検索を非表示

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

クラス名

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

id

画面上で一意となるidを設定します。

データのファイル形式

ダウンロードやアップロードで利用するファイル形式を指定します。

CSV

CSVファイルを利用します。

EXCEL

EXCELファイルを利用します。

SPECIFY

CSVファイルかEXCELファイルのどちらを利用するかを画面で選択します。

未指定の場合は、GemConfigServicefileSupportType によって動作します。

ダウンロードボタンを非表示

ダウンロードボタンを非表示にする場合はチェックします。

ダウンロードダイアログを非表示

ダウンロードボタン押下時に、出力内容を選択するダイアログを表示しない場合はチェックします。 チェックした場合、アップロード形式ではなく、検索結果に設定されている項目のみが出力されます。

ダウンロード時oidを出力しない

ダウンロードファイルにエンティティデータのoidを出力しない場合はチェックします。

ダウンロード時BinaryReferenceを出力しない

ダウンロードファイルにエンティティデータのBinaryReference(nameのみ)を出力しない場合はチェックします。

ダウンロード時referenceを出力しない

ダウンロードファイルにエンティティデータのReferenceを出力しない場合はチェックします。 未チェックの場合、oidを出力しない設定がされている場合はname項目または 表示ラベルとして扱うプロパティ として指定された項目のみ、 されていない場合はoidとname項目または 表示ラベルとして扱うプロパティ として指定された項目が出力されます。

ダウンロード時表示名を出力しない

Upload形式のダウンロードファイルのヘッダに、表示名を出力しないようにします。 チェックした場合、ダウンロードダイアログで、「ヘッダ行に表示名を利用しない」選択オプションを表示しません。

多重度プロパティ出力形式

ダウンロードファイルの出力で、多重度が複数のプロパティ(Reference以外)の出力形式を指定します。

EACH_COLUMN

多重度の数分別々の列に出力します。

ONE_COLUMN

1つの列にカンマ区切りでまとめて出力します。

ONE_COLUMN_FILL_NULL_VALUE

1つの列にカンマ区切りでまとめて出力します。 登録データが多重度分保存されていない場合にも多重度分空を補完します。

ダウンロード時文字コードを指定可能にする

ダウンロードファイルの形式がCSVの場合に、ダウンロード時に文字コードを選択可能にするかを設定します。

NONE

TopViewのCsvDownload Settingsが設定されている場合、SpecfyCharacterCodeEntityViewの設定に従う

SPECIFY

文字コード指定を可能にする

NOT_SPECIFY

文字コード指定を不可にする

ダウンロード件数の上限値

ダウンロード件数の上限値を設定します。 データを取得する際に制限をかけます。 設定されていない場合、GemConfigServicecsvDownloadMaxCount が上限となります。

SQLServerにおいて上限値を指定する場合は、 service-configにて EntityFileUploadServicemustOrderByWithLimittrue にしてください。

Upload形式のダウンロード時に一括でロードする

Upload形式のダウンロードで、多重度複数の参照を含む場合に一括でロードをするかを設定します。 一括でロードしない場合は、 ロード単位 設定によって分割してロードを行います。

一括でロードすることにより、内部のSQL処理を減らすことが可能ですが、参照データ分内部にメモリ展開されるため、 大量の多重度複数の参照先プロパティが定義されていたり、参照先のデータ件数が多い場合は注意してください。

Upload形式のCSVダウンロード時のロード単位

Upload形式のCSVダウンロードで、多重度複数の参照を含む場合に一度にロードする件数を設定します。 一括でロードする 設定がONの場合はこの設定は無視されます。 未指定の場合は、GemConfigServiceuploadableCsvDownloadLoadSize 値をロード単位として処理を行います。

ロード単位が1以下の場合は、1件ずつロードを行います。

ダウンロード項目

アップロード形式ではないダウンロードファイルに対して、検索結果に設定されている項目ではなく、直接出力項目を指定したい場合に設定します。 カンマ区切りで出力対象のプロパティ名を指定します。参照項目のプロパティなどは.プロパティ名で指定します。 (参照項目自体が指定された場合は参照項目のnameを出力)

ダウンロード項目 が設定されてる場合は、 ダウンロード時oidを出力しないダウンロード時BinaryReferenceを出力しないダウンロード時referenceを出力しない の各設定は無視します。

ダウンロード項目(アップロード形式)

アップロード形式のダウンロードファイルに対して、直接出力項目を指定したい場合に設定します。 カンマ区切りで出力対象のプロパティ名を指定します。参照プロパティに対する参照先エンティティのプロパティは指定できません。

oid が含まれていない場合は自動で追加されます。 対象Entityがバージョン管理されていて version が含まれていない場合は自動で追加されます。

ファイル名Format

ダウンロードするファイル名のフォーマットを設定します。

${csvName}_${yyyy}${MM}${dd}

アップロードボタンを非表示

アップロードボタンを非表示にする場合にチェックします。

アップロード可能なファイルは、ダウンロード時に アップロード用の形式で出力 をチェックして出力するか、 アップロード画面で Sample Download をクリックすることで取得できます。

ファイルをアップロードする際に、 oid 値が存在する行はupdate、存在しない行はinsertされます。

アップロードで登録を許可しない

アップロードでinsertを許可しない場合にチェックします。

アップロードで更新を許可しない

アップロードでupdateを許可しない場合にチェックします。

アップロードで削除を許可しない

アップロードでdeleteを許可しない場合にチェックします。

アップロード登録項目

アップロードでinsertする項目を制限したい場合に設定します。カンマ区切りで登録対象のプロパティ名を指定します。

アップロード更新項目

アップロードでupdateする項目を制限したい場合に設定します。カンマ区切りで更新対象のプロパティ名を指定します。

アップロードトランザクションタイプ

アップロード時のコミットタイミングを設定します。

ONCE

ファイルの全行の処理が終わった時点でコミットします。

DIVISION

GemConfigServicecsvUploadCommitCount で設定した単位でコミットします。

アップロード更新データTargetVersion(非バージョン管理)

バージョン管理対象ではないEntityのアップロード処理で、更新データに対するTargetVersionを設定します。

未指定、 CURRENT_VALID SPECIFIC から指定します。 未指定の場合は、EntityFileUploadServicedefaultUpdateTargetVersionForNoneVersionedEntity で設定した値を利用します。

バージョン管理Entity以外の場合にアップロード画面でTargetVersionの指定を許可

バージョン管理Entity以外の場合にアップロード画面で更新時のTargetVersionの指定を許可します。

許可した場合、アップロード画面に 保存時のデータを更新対象にする オプションが表示され、TargetVersionが指定可能になります。

カスタムアップロード処理クラス名

アップロード処理をカスタマイズしたい場合は SearchFormCsvUploadInterrupter インターフェースを実装するクラスを指定してください。 詳細は カスタムアップロード処理 を参照してください。

重複行をまとめる

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

デフォルト検索条件

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

フィルタ設定

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

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

フィルタ定義を使う検索(定型検索、検索結果一覧パーツまたはウィジェット)で、フィルタ定義と一緒にデフォルト検索条件を適用する場合にチェックします。

チェックした場合

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

チェックしない場合

フィルタの条件のみ

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

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

ソート設定

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

検索時にソートしない

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

SQLServerにおいて、「重複行をまとめる」をチェックしている場合は、「検索時にソートしない」はチェックしないようにしてください。

全文検索時にソートする

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

デフォルト検索条件

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(初期条件とする値) を設定すると初期条件として値が設定されます。

initCondMap.put("autoNumber", "12345678");//AutoNumber
initCondMap.put("boolean", "false");//Boolean
initCondMap.put("string", "abcdefg");//String
initCondMap.put("string2", "aaaa");//String(select形式の場合も同様)

//SelectPropertyEditor
//(Checkbox形式の場合は配列で複数指定可能)
String[] selectArray = ["val1", "val3"];//値を指定
//def selectArray = ["val1","val3"] as String[];//この形式も可能
initCondMap.put("select", selectArray);
//下の形式は不可。[]はGroovyではjava.util.List形式に変換されるのでエラー。配列のみ可。
//initCondMap.put("select", ["val1","val3"]);

//Date、DateTime、Time
//範囲指定は配列で指定、Fromが[0]、Toが[1]で指定
String[] date1Array = ["20150101", "20150103"];
initCondMap.put("date", date1Array);
//Fromが非表示の場合も、Toは[1]で指定
String[] date2Array = [null, "20150103"];
initCondMap.put("date2", date2Array);
//単一日で指定がONの場合は配列でなくても可能
initCondMap.put("date3", "20150101");

String[] timeArray = ["010203123", "203040456"];//9ケタ
initCondMap.put("time", timeArray);//TimePicker形式
initCondMap.put("time2", timeArray);//Select形式
String[] dateTimeArray = ["20150101010203123", "20150103203040456"];//yyyyMMdd+9ケタ
initCondMap.put("dateTime", dateTimeArray);//DateTimePicker形式
initCondMap.put("dateTime2", dateTimeArray);//DatePicker+Select形式

//Integer、Float、Decimal
//範囲指定がOFFの場合は配列でなくても可能
initCondMap.put("integer1", "1000");
//範囲指定は配列で指定、Fromが[0]、Toが[1]で指定
String[] integer2RangeArray = ["1000", "2000"];
initCondMap.put("integer2", integer2RangeArray);
//Fromが非表示でも、Toの指定は[1]に設定
String[] integer3RangeArray = [null, "2000"];
initCondMap.put("integer3", integer3RangeArray);

//Reference
String[] referenceArray = ["6275503", "6275505"];//OIDを指定
initCondMap.put("ref1", "ref002");//Link,名前指定
initCondMap.put("ref2", referenceArray[0]);//Select,OID指定
initCondMap.put("ref3", referenceArray);//Checkbox,OID指定(複数時は配列)
initCondMap.put("ref4", referenceArray);//Link Dialog,OID指定(複数時は配列)
initCondMap.put("ref5", "ref003");//Link+NestProperty,名前指定
initCondMap.put("ref5.string1", "hijklmn");//Link+NestProperty
initCondMap.put("ref5.integer1", "111111");//Link+NestProperty
initCondMap.put("category3", "6278196");//RefCombo,OID指定

//UserPropertyEditor
initCondMap.put("createBy", "");//名前Like検索
ソート設定

検索時および、検索結果テーブルの列ヘッダのクリックによるソート時に設定されるソート条件を設定します。

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

検索時は、当該エンティティのOIDの降順でソートします。
列ヘッダのクリックによるソート時は、クリックされた項目でソートします。参照プロパティ列のヘッダがクリックされた場合、表示中の項目でソートします(ReferencePropertyEditor の「表示ラベルとして扱うプロパティ」が未設定の場合、 Name でソートし、プロパティが設定された場合は、表示ラベルとして扱うプロパティでソートします)。

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

検索時は、ソート設定に指定された項目でソートします。
列ヘッダのクリックによるソート時は、クリックされた項目を第1キー、ソート設定に指定された項目を第2キー以降としてソートします。

設定項目 設定内容

ソート項目

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

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

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

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

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

ソート種別

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

null項目のソート順

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

NONE

未指定、DB依存

FIRST

null項目を先頭にソート

LAST

null項目を後尾にソート

検索結果の設定

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

設定項目 設定内容

検索結果の表示件数

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

検索結果の高さ

検索結果の高さを設定します。 0を設定した場合、高さを自動とします。

検索結果をまとめる

検索結果をまとめて表示します。 OIDとVersionが同じであるレコードをまとめて表示します。

編集リンクを非表示

編集リンクを非表示にする場合はチェックします。

Entity権限の可能範囲条件で編集リンク表示を制御

通常はEntity権限の更新権限がある場合は一律編集リンクを表示しますが、 レコードごとに更新権限の更新可能範囲条件をチェックして編集リンクの表示を制御します。

削除ボタンを非表示

削除ボタンを非表示にする場合はチェックします。

ページングを非表示

ページング部品全体を非表示にする場合はチェックします。 非表示にした場合は、検索結果の表示件数を最大件数としてデータを取得します。
レコード数が検索結果の表示件数以下となるエンティティなど、ページングせずに全件表示したい場合に有効化してください。

件数を非表示

ページング部品の内、ページ件数、ページジャンプ、ページリンクを非表示にする場合はチェックします。

ページジャンプを非表示

ページジャンプを非表示にする場合はチェックします。

ページリンクを非表示

ページリンクを非表示にする場合はチェックします。

ページング表示位置

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

BOTH

検索結果の上下に表示

TOP

検索結果の上部に表示

BOTTOM

検索結果の下部に表示

一括更新ボタンを表示

一括更新ボタンを表示にする場合はチェックします。

BulkViewレイアウト定義を利用

BulkLayout定義を利用して一括更新画面を生成し、複数項目を一括更新します。

一括更新の排他制御起点

一括更新の排他制御起点。

WHEN_DIALOG_OPEN

更新ダイアログが開く時

WHEN_SEARCH

検索実行時

一括更新ボタン表示ラベル

画面に表示する一括更新ボタンのラベルを入力します。 未入力の場合、デフォルトのラベルを画面に表示します。(日本語の場合、" 一括更新 " を画面に表示します。)

一括更新デフォルト選択項目

一括更新デフォルト選択項目。 BulkViewレイアウト定義を利用しない場合、デフォルト選択項目を指定します。

タイトル

セクションのタイトルを設定します。

クラス名

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

id

画面上で一意となるidを設定します。

親子関係の参照を物理削除

チェックした場合、削除時に親子関係を参照します。 一括更新画面での保存時に削除したデータも物理削除されます。

更新時に強制的に更新処理を行う

変更項目が一つもなくとも、強制的に更新処理(更新日時、更新者が更新される)を行います。

カスタム登録処理クラス名

一括更新時にカスタマイズ処理を行いたい場合は RegistrationInterrupter インターフェースを実装するクラスを指定してください。 詳細はカスタム登録処理を参照してください。

カスタムロード処理クラス名

エンティティのロード時にオプション等のカスタマイズを行いたい場合は LoadEntityInterrupter インターフェースを実装するクラスを指定してください。 詳細はカスタムロード処理を参照してください。

一括削除コミットトランザクション制御

一括削除をするとき、一斉に実行するか(ONCE)、バッチに分けて実行するか(DIVISION)を決めます。

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

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

一括更新コミットトランザクション制御

一括更新をするとき、一斉に実行するか(ONCE)、バッチに分けて実行するか(DIVISION)を決めます。

カスタム一括更新処理クラス名

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

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

プロパティの配置

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

スクリプトセクション、テンプレートセクションについては、ボタン上部、ボタン下部、検索一覧中央、検索一覧下部に配置できます。 スクリプトセクション、テンプレートセクションについては、セクションの設定を参照してください。

エレメントについては、エレメントを参照してください。

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

entityview searchlayout drag

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

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

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

設定項目 設定内容

表示

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

表示判定スクリプト

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

表示ラベル

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

クラス名

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

ツールチップ

ツールチップに表示する説明を設定します。

通常検索で非表示

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

詳細検索で非表示

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

通常検索での必須項目

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

詳細検索での必須項目

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

プロパティエディタ

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

自動補完設定

項目間の自動補完を設定します。 詳細は自動補完設定を参照してください。

入力チェック

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

入力チェック

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

設定項目 設定内容

メッセージ

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

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

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

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

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

対象プロパティ

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

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

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

設定項目 設定内容

表示

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

表示判定スクリプト

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

表示ラベル

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

クラス名

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

列幅

検索一覧(結果部)に表示する際の列幅(単位はピクセル)を設定します。 単位は不要です。

テキストの配置

検索一覧(結果部)に表示する際のテキスト(データ)の配置を設定します。

LEFT

左寄せ

CENTER

中央寄せ

RIGHT

右寄せ

プロパティエディタ

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

ソートを許可

ソートを許可する場合はチェックします。

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

null項目のソート順

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

NONE

未指定、DB依存

FIRST

null項目を先頭にソート

LAST

null項目を後尾にソート

ダウンロードファイルに出力する

ダウンロードファイルに出力するかを設定します。 検索条件設定で ダウンロード項目 を指定している場合は、この設定は無視されます。 アップロード形式ではないダウンロードファイルに対して有効になります。

一括更新プロパティエディタ

一括更新プロパティエディタを設定します。 未設定の場合、当該プロパティを一括更新画面に表示しません。 プロパティエディタの詳細については、プロパティエディタを参照してください。

一括更新で必須マークを表示

一括更新画面で必須マークを表示するかを設定します。

DEFAULT

エンティティのプロパティ定義(Required)に従います。

 必須マークを表示する

Requiredにチェックあり

 必須マークを表示しない

Requiredにチェックなし

DISPLAY

必須マークを表示します。

NONE

必須マークを表示しません。

リセット処理

通条検索、詳細検索には、標準で リセット ボタンが表示されます。

entityview reset

リセットを実行すると、検索条件がリセットされます。 リセットされる値は画面初期表示時と同じです。 SeachConditionSectionの デフォルトプロパティ条件設定スクリプト で設定された条件や、EntityMenuItemのパラメータで指定された条件が設定された状態になります。

  • カスタマイズされたInput要素に対するリセット処理
    TemplateSectionやTemplateElement、ScriptSectionなどを利用して独自にInput要素を追加している場合は、リセット処理に対してHandlerを追加することで対応してください。

    追加例
    <script type="text/javascript">
    $(function() {
        //common.jsの `addNormalConditionItemCustomResetHandler` を利用してfunctionをセット。
        //リセットボタン押下時に標準のEditorに対するリセット処理が全て実行された後に呼び出されます。
    
        addNormalConditionItemCustomResetHandler(function(){
            //(例)独自のテキストInputをクリア
            $(":text[name='xxxx']").val("");
            //(例)独自のSelectInputの初期値をリセット
            $("select[name='xxxx']").val("val1");
        });
    });
    </script>
  • リセットボタンの非表示
    既存の処理などを考慮して、リセットボタンを表示したくない場合、mtp-service-config.xmlにて以下の値をfalseに設定してください。(service-config単位でのみ設定可能です)

    <!-- gem Settings -->
    <service>
        <interface>org.iplass.gem.GemConfigService</interface>
    
        ・・・・
    
        <!-- 検索一覧でリセットボタンを表示するか
            デフォルトで表示するに設定されています。非表示にしたい場合はfalseを設定してください。
        -->
        <!--
        <property name="showSeachCondResetButton" value="false"/>
         -->
    
    </service>
エレメント

入力項目以外の画面要素を標準セクション内にドラッグ&ドロップすることで、画面に配置できます。

スペース

スペースを設定します。検索条件の複数列表示のセクションで空白のセルを作りたい場合等に利用します。

設定可能な項目はありません。

仮想プロパティ

プロパティと同様の表示が出来る仮想プロパティを設定します。多重度は1のみサポートします。 検索結果として値を出力するには、 カスタム検索処理afterSearch などで、明示的に値を設定します。

設定項目

利用箇所

設定内容

プロパティ名

検索条件、検索結果

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

表示ラベル

検索条件、検索結果

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

クラス名

検索条件、検索結果

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

説明

検索条件

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

ツールチップ

検索条件

ツールチップに表示する説明を設定します。

列幅

検索結果

検索一覧(結果部)に表示する際の列幅(単位はピクセル)を設定します。 単位は不要です。

テキストの配置

検索結果

検索一覧(結果部)に表示する際のテキスト(データ)の配置を設定します。

LEFT

左寄せ

CENTER

中央寄せ

RIGHT

右寄せ

ダウンロードファイルに出力する

検索結果

ダウンロードファイルに出力するかを設定します。 検索条件設定で ダウンロード項目 を指定している場合は、この設定は無視されます。 アップロード形式ではないダウンロードファイルに対して有効になります。

プロパティエディタ

検索条件、検索結果

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

BooleanPropertyEditor
DatePropertyEditor
DecimalPropertyEditor
FloatPropertyEditor
IntegerPropertyEditor
SelectPropertyEditor
StringPropertyEditor(デフォルト)
TimePropertyEditor
TimestampPropertyEditor
TemplatePropertyEditor
UserPropertyEditor

自動補完設定

画面内の項目が変更された際に、連動して他の項目の値を補完する仕組みです。 連動元の値を元に、連動先に値を補完する仕組みをJavascriptで記述する方法と、WebApiでサーバへアクセスし、EQLやGroovyScriptで動的に連動先の値を取得し、表示形式にあわせて値を設定する方法があります。

JavascriptAutocompletionSetting

開発者がJavascriptを定義し、自動補完の処理を自由に設定できます。 処理はクライアント側で完結します。

設定項目 設定内容

連動元のプロパティ

自動補完のトリガーとなるプロパティ、複数設定可能。 連動元のプロパティを参照してください。

Javascript

上記項目をトリガーとして発生したイベントで実行するJavascript。 変数sourceValueに上記項目の値を保持しています。

変数の形式
var sourceVales = {
  1:,
  2:[,...], *2
}
WebApiAutocompletionSetting

WebApiでサーバ側から自動補完の値を取得します。 EQLの実行結果、もしくはGroovyScriptの実行結果をクライアントに返却し、型に合わせた形で自動的に値を設定します。

設定項目 設定内容

自動補完タイプ

自動補完の値を取得する方式。

EQL

設定項目のEQLを実行し、その結果をクライアントに返す。

GROOVYSCRIPT

設定項目のGroovyScriptを実行し、その結果をクライアントに返す。

連動元のプロパティ

自動補完のトリガーとなるプロパティ、複数設定可能。 連動元のプロパティを参照してください。

EQL

自動補完タイプでEQLを選択した際に実行する処理です。 GroovyTemplate形式で記述してください。 対象の項目がReference型の場合、エンティティの配列を返却します。 EQLにはoidとnameを必ず指定してください。 Reference型以外の場合、最初のSelect項目を補完の値として利用します。

利用可能な変数
user    : UserBindingユーザー情報
params    : Map連動元のプロパティの値
自動補完が可能な型と返却値の型
Binary型    : String(検索条件のみ)
Boolean型    : boolean, String(true/false)
Date型    : Date, String(yyyyMMdd)
Datetime型    : Timestamp, String(yyyyMMddhhmmssSSS)
Decimal型    : Bigdecimal, String
Float型    : Double, String
Integer型    : Long, String
LongText型    : String
Reference型    : Entity(oid, nameは必須)
Select型    : SelectValue, String(value値)
String型    : String
Time型    : Time, String(hhmmssSSS)

GroovyScript

自動補完タイプでGROOVYSCRIPTを選択した際に実行する処理です。 GroovyScript形式で記述してください。

利用可能な変数自動補完が可能な型と返却値の型 はEQLと同じです。

連動元のプロパティ

自動補完のトリガーとなる連動元のプロパティを指定します。

設定項目 設定内容

プロパティ名

プロパティ名。 詳細はプロパティ名の指定方法を参照してください。

ネストプロパティ同士の自動補完

NestTable、ReferenceSection内で自動補完する場合はチェックします。

参照プロパティのインデックス

NestTable、ReferenceSectionの項目をトリガーに大本のエンティティの項目を更新する際に、 NestTableの特定の行や特定のReferenceSectionのみを対象にする場合にそのインデックス指定します。 未指定の場合、全ての行やセクションの変更イベントがトリガーとなります。

プロパティ名の指定方法

プロパティ名は連動元と連動先の関係によって指定方法が変わります。

以下の構造を例にします。

Entity
 -prop1
 -prop2
 -propRef
  -refProp1
  -refProp2
検索一覧

検索一覧では参照プロパティの項目を直接ドラッグ&ドロップで配置する方法と、ReferencePropertyEditorの表示プロパティ(NestProperty)を設定する方法があります。

連動元 連動先 プロパティ名の設定値 配置の方法 ネスト同士の補完 備考

prop1

prop2

prop1

prop1

refProp1

prop1

直接D&D

prop1

refProp1

prop1

NestProperty

refProp1

prop1

propRef.refProp1

直接D&D

refProp1

prop1

propRef.refProp1

NestProperty

refProp1

refProp2

propRef.refProp1

直接D&D

refProp1

refProp2

refProp1

NestProperty

詳細編集画面

詳細編集画面ではReferencePropertyEditorのNestTableと、参照セクション(ReferenceSection)で参照プロパティの項目を設定できます。

連動元 連動先 プロパティ名の設定値 配置の方法 ネスト同士の補完 参照プロパティのインデックス 備考

prop1

prop2

prop1

prop1

refProp1

prop1

NestTable

全行を補完

prop1

refProp1

prop1

ReferenceSection

refProp1

prop1

propRef.refProp1

NestTable

refProp1

prop1

propRef.refProp1

NestTable

特定行を補完

refProp1

prop1

propRef.refProp1

ReferenceSection

refProp1

prop1

propRef.refProp1

ReferenceSection

特定セクションを補完

refProp1

refProp2

propRef.refProp1

NestTable

単一行を補完

refProp1

refProp2

refProp1

ReferenceSection

3.3. 詳細・編集画面

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

DetailLayoutの表示

レイアウト設定を行いたいエンティティ名を右クリックし、 Detail_Layoutを開く を選択します。

DetailLayoutの構成

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

entityview detaillayout structure
ツールバー

紫枠の部分はDetailLayoutの各viewに対する操作を行うためのボタン群です。 詳細はSearchLayoutを参照してください。

配置エリア

緑枠の部分は各種要素を配置する領域です。 画面右側の PropertySectionElement 内の部品をドラッグ&ドロップで配置できます。 DetailLayoutが作成されてない状態だと、詳細画面表示時にはエンティティのプロパティが自動で配置されます。 配置エリアに直接配置できるのは Section のみとなります。 PropertyElement については、配置エリアに置かれた 標準セクション に対してのみとなります。

詳細画面の設定

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

設定項目 設定内容 適用画面

画面タイトル

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

イメージカラー

ビューのイメージカラー(画面タイトルの左に表示されるアイコンの色)を選択します。次から選択できます。

blue / green / red / yellow

フラットデザインでは表示されません。

詳細画面
編集画面

アイコンタグ

タイトルの前に表示するiタグなどを利用した独自のアイコンを設定できます。

詳細画面
編集画面

ダイアログ表示時に最大化

チェックした場合、参照ダイアログ、編集ダイアログ表示時に最大化します。

参照ダイアログ
編集ダイアログ

編集ボタンを非表示

チェックした場合、 編集 ボタンが非表示になります。

詳細画面
参照ダイアログ

ロックボタンを非表示

チェックした場合、 ロック ボタン、 ロック解除 ボタンが非表示になります。 ロックされたデータは解除されるまで他のユーザーによる編集ができません。

詳細画面
参照ダイアログ

コピーボタンを非表示

チェックした場合、 コピー ボタンが非表示になります。

詳細画面
参照ダイアログ

削除ボタンを非表示

チェックした場合、 削除 ボタンが非表示になります。

編集画面

バージョン削除ボタンを表示

チェックした場合、Entityがバージョン管理されている場合に バージョン削除 ボタンが表示されます。 この場合、削除時に対象のバージョンデータのみを削除します。

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

編集画面

Entity権限の可能範囲条件でボタン表示を制御

通常はEntity権限の更新権限、削除権限がある場合は編集ボタン、削除ボタンを表示しますが、 対象Entityに対して更新権限、削除権限の可能範囲条件をチェックしてボタンの表示を制御します。

編集画面
詳細画面

編集ボタン表示ラベル

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

詳細画面

コピーボタン表示ラベル

コピーボタンに表示されるラベルを設定します。

詳細画面

新しいバージョンとして更新ボタン表示ラベル

新しいバージョンとして更新ボタンに表示されるラベルを設定します。 新しいバージョンとして更新ボタンは、エンティティのVersioning項目でNONE以外を選択すると有効になります。

詳細画面
参照ダイアログ

登録ボタン表示ラベル

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

編集画面
編集ダイアログ

保存ボタン表示ラベル

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

編集画面
編集ダイアログ

削除ボタン表示ラベル

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

編集画面

編集アクション

編集ボタンクリック時に実行されるアクションを設定します。

詳細画面

編集アクション(参照)

編集ボタンクリック時に実行されるアクションを設定します。

編集ダイアログ

登録アクション

登録ボタンクリック時に実行されるアクションを設定します。

編集画面

登録アクション(参照)

登録ボタンクリック時に実行されるアクションを設定します。

編集ダイアログ

保存アクション

保存ボタンクリック時に実行されるアクションを設定します。

編集画面

保存アクション(参照)

保存ボタンクリック時に実行されるアクションを設定します。

編集ダイアログ

削除アクション

削除ボタンクリック時に実行されるアクションを設定します。

編集画面

キャンセルアクション

キャンセルリンククリック時に実行されるアクションを設定します。

CSVアップロード画面
CSVアップロード結果画面
編集画面
詳細画面

ボタン

カスタムで表示したいボタンを追加します。 詳細はボタン設定を参照してください。

詳細画面
参照ダイアログ
編集画面
編集ダイアログ

Javascriptコード

画面に埋め込むカスタムJavascriptコードを設定します。 編集画面でJavascriptを有効化詳細画面でJavascriptを有効化 のうち一つでもチェックがある場合に適用されます。

詳細画面
参照ダイアログ
編集画面
編集ダイアログ

編集画面でJavascriptを有効化

チェックした場合、 Javascriptコード に設定したJavascriptが編集画面で有効になります。

編集画面
編集ダイアログ

詳細画面でJavascriptを有効化

チェックした場合、 Javascriptコード に設定したJavascriptが詳細画面で有効になります。

詳細画面
参照ダイアログ

データの多言語化

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

ロード時にSearchLayoutのデフォルト検索条件を適用する

エンティティのロード時に、SearchLayoutのデフォルト検索条件を適用して参照が可能をチェックします。

詳細画面
参照ダイアログ
編集画面
編集ダイアログ

物理削除

チェックした場合、編集画面の 削除 ボタンクリック時に物理削除します。

編集画面

親子関係の参照を物理削除

チェックした場合、削除時に親子関係の参照します。 編集画面での保存時に削除したデータも物理削除されます。

定義されている参照プロパティのみを取得

チェックした場合、エンティティ定義のうち参照プロパティについて、画面に表示しているプロパティのみを取得対象とします。 未チェックの場合には不要な参照を取得するためのEQLが実行される場合があります。

更新時に強制的に更新処理を行う

チェックした場合、更新項目が1つもない場合にも強制的に更新を行います。 更新日、更新者が更新されます。

編集画面
編集ダイアログ

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

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

詳細画面
編集画面
大量データ用参照セクション

コピー対象

コピー実行時の対象データを以下から選択します。 未設定(デフォルト)の場合はShallowとして動作します。

Shallow

該当エンティティのみコピー

Deep

包含する(親子関係の)エンティティも一括してコピーする

Both

コピーボタン押下時に、ポップアップよりShallowとDeepを選択する

Custom

カスタムコピースクリプトで設定したGroovyScriptが実行される

詳細画面
参照ダイアログ

カスタムコピースクリプト

コピー対象Custom を選択した際に実行されるGroovyScriptを設定します。 詳細はカスタムコピースクリプトを参照してください。

初期化スクリプト

エンティティを新規作成する際に実行されるGroovyScriptを設定します。 詳細は初期化スクリプトを参照してください。

編集画面
編集ダイアログ

カスタム登録処理クラス名

登録・更新時にカスタマイズ処理を行いたい場合は RegistrationInterrupter インターフェースを実装するクラスを指定してください。 詳細はカスタム登録処理を参照してください。

カスタムロード処理クラス名

エンティティのロード時にオプション等のカスタマイズを行いたい場合は LoadEntityInterrupter インターフェースを実装するクラスを指定してください。 詳細はカスタムロード処理を参照してください。

詳細編集画面Handlerクラス名

設定により対応できない動作をカスタマイズするためのフック用Handlerを指定します。 指定できるのは DetailFormViewHandler インターフェースを実装するクラスです。
実際に指定する場合は、GEMに特化した DetailFormViewAdapter クラスを継承して実装してください。 具体的な実装例としては、ボタンの表示を制御する CheckPermissionLimitConditionOfButtonHandler があります。

編集画面
詳細画面

ワークフロー設定

詳細画面からWorkflowを起動できます。
詳細はワークフロー設定を参照してください。

ボタン設定

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

設定項目 設定内容

表示

チェックした場合、オリジナルボタンを表示します。

表示判定スクリプト

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

新規/編集時の表示可否

新規登録または編集時に項目を表示するかを設定します。 表示 および 表示タイプ の設定が 詳細画面で表示する 設定の場合に、新規登録または編集で表示するかを判断します。

INSERT

新規登録時のみ表示する

UPDATE

編集時のみ表示する

BOTH

常に表示する、未設定時もBOTHと同様となる

表示タイプ

編集画面、詳細画面のどちらに表示するかを設定できます。 表示タイプが指定されていない場合は、Detailとなります(デフォルト値)。 検索画面では設定できません。

Detail

編集画面/編集ダイアログに表示する

View

詳細画面/参照ダイアログに表示する

Both

編集画面/編集ダイアログ、詳細画面/参照ダイアログに表示する

Custom

ボタン表示判定用スクリプトの結果を元に表示するかを判定する

タイトル

未使用項目です。

表示ラベル

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

プライマリー

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

クラス名

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

クリックイベント

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

入力カスタムスタイル

表示されるボタンに対して直接style属性を指定できます。 詳細は入力カスタムスタイルを参照してください。

ボタン表示判定用スクリプト

表示タイプがCustomの場合に、表示可否を判定するスクリプトを設定します。 詳細はボタン表示判定用スクリプトを参照してください。 検索画面では設定できません。

入力カスタムスタイル

表示されるボタンに対して直接style属性を指定できます。 GroovyTemplate書式で設定します。

詳細、編集画面については、対象となるエンティティデータがバインドされます。 (検索画面ではバインドされません)

その他のバインド変数についてはScript編集画面のNoteを参照してください。

<%
//エンティティのnameが"test001"の場合にボタンを赤くする
if (entity != null && entity.name == "test001") {
%>
color: #ffffff;
border:1px solid #976161;
background:#831f1f;
background:-webkit-linear-gradient(top, #d6363a 0%, #831f1f 100%);
background:-moz-linear-gradient(top, #d6363a 0%, #831f1f 100%);
<%
}
%>
ボタン表示判定用スクリプト

表示タイプがCustomの場合に、表示可否を判定するGroovyScriptを設定します。 スクリプトの実行結果がtrueの場合、ボタンが表示されます。

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

request

リクエスト

session

セッション

user

ユーザー

outputType

表示タイプ。以下の値によって画面毎の制御が可能です。
SEARCHCONDITION : 検索条件
SEARCHRESULT : 検索結果
EDIT : 編集画面
VIEW : 詳細画面
BULK : 一括更新

entity

表示対象のエンティティ

カスタムコピースクリプト

コピー対象Custom を選択した際に実行されるGroovyScriptを設定できます。 コピー対象Custom を選択した場合は、必ず設定してください。

下記がバインドされています。

request

リクエスト

session

セッション

user

ユーザー

entity

コピー元のエンティティ

entityDefinition

エンティティ定義

entityManager

EntityManager

entity.setValue("item1", "テスト");
return entity;

entityをreturnする必要があるので注意してください。

初期化スクリプト

エンティティを新規作成する際に実行されるGroovyScriptを設定できます。 編集画面表示前(新規作成時)に呼び出され、空のエンティティに対して初期設定等を行います。

下記がバインドされています。

request

リクエスト

session

セッション

user

ユーザー

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;
import org.iplass.mtp.ManagerLocator;
import org.iplass.mtp.entity.EntityManager;

// 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 = ManagerLocator.manager(EntityManager.class).load("1", "RefEntity");
entity.setValue("reference", referenceEntity); //Reference
ワークフロー設定

詳細画面からメタデータとして登録されたWorkflowを起動できます (Workflowについてはワークフローを参照してください)。 設定されると詳細画面にボタン(表示名は設定)が追加されます。

entityview startworkflow
設定項目 設定内容

ワークフロー定義名

メタデータとして登録したWorkflowを選択します。

ワークフロー変数名

Workflowに定義した変数名を設定します。 Workflowを開始する際、対象のエンティティをこの変数に格納します。

ボタン表示名

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

プライマリー

設定するとボタンを強調表示します。

クラス名

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

入力カスタムスタイル

表示されるボタンに対して直接style属性を指定できます。 詳細は入力カスタムスタイルを参照してください。

プロセス実行中にボタンを表示

チェックした場合、Workflowが既に実行中の状態でもボタンを表示します。 表示する場合、実行中に再度クリックすることで、別のWorkflowとして処理が開始されます(startProccessが実行されます)。

プロセス実行中のメッセージ

Workflow実行中のメッセージを設定します。

ワークフロー開始パラメータ設定スクリプト

ワークフロー開始時のパラメータをGroovyScriptで設定します。

ワークフローボタン表示判定用スクリプト

ワークフロー起動用ボタンの表示可否を判定するスクリプトを設定します。 詳細はワークフローボタン表示判定用スクリプトを参照してください。

ワークフローボタン表示判定用スクリプト

ワークフロー起動用ボタンの表示可否を判定するスクリプトを設定します。 スクリプトが未指定か、スクリプトの実行結果がtrueの場合、ボタンが表示されます。

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

request

リクエスト

session

セッション

user

ユーザー

entity

表示対象のエンティティ

詳細画面のレイアウト設定

セクションの設定

画面右側のSectionの項目を画面中央の 詳細画面部分 にドラッグ&ドロップする事でセクションを配置できます。 プロパティは標準セクションにのみ配置可能です。

共通設定項目

各セクションで共通の設定項目です。

設定項目 設定内容

表示

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

表示判定スクリプト

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

新規/編集時の表示可否

新規登録または編集時に項目を表示するかを設定します。 表示 の設定が 詳細画面で表示する 設定の場合に、新規登録または編集で表示するかを判断します。

INSERT

新規登録時のみ表示する

UPDATE

編集時のみ表示する

BOTH

常に表示する、未設定時もBOTHと同様となる

タイトル

セクションのタイトルを設定します。

クラス名

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

id

画面上で一意となるidを設定します。

初期表示時に展開

チェックした場合、セクションを初期展開します。

ジャンプリンクを表示

チェックした場合、編集画面、詳細画面の上部に、各セクションに移動するためのリンクを表示します。

編集画面で非表示

チェックした場合、編集画面で当該セクションを非表示にします。

詳細画面で非表示

チェックした場合、詳細画面で当該セクションを非表示にします。

標準セクション

エンティティの各プロパティに対して、表示名を変えたり、表示・非表示制御など入れたい場合に設定します。

設定項目 設定内容

列数

セクションの列数を指定します。

上部のコンテンツ

当該セクションの上部にテキスト、HTMLタグを設定します。

下部のコンテンツ

当該セクションの下部にテキスト、HTMLタグを設定します。

セクション内に配置した場合に枠線を表示

セクション内に配置した場合に枠線を表示するかを指定します。

スクリプトセクション

詳細画面や編集画面の出力内容を独自に組み込む場合に設定します。 GroovyTemplate形式で定義します。

設定項目 設定内容

スクリプト

HTMLコードを含むスクリプトを設定します。

<script type="text/Javascript">alert("Hello");</script>

セクション内に配置した場合に枠線を表示

セクション内に配置した場合に枠線を表示するかを指定します。

テンプレートセクション

詳細画面や編集画面の出力内容を独自に組み込む場合に設定します。 出力内容は別途テンプレートとして定義されているものを指定します。 スクリプトとの違いは、スクリプトは対象のView定義でのみ利用できますが、 テンプレートとして定義することで、GroovyTemplate形式以外のJSP形式での実装や、 他のEntityやView定義でも利用することが可能になります。

設定項目 設定内容

テンプレート名

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

セクション内に配置した場合に枠線を表示

セクション内に配置した場合に枠線を表示するかを指定します。

バージョンセクション

バージョン管理されたエンティティに対して制御を入れたい場合に設定します。

固有の設定項目はありません。

参照セクション

参照、被参照プロパティの内容を表示する場合に設定します。

作成時

ドラッグ&ドロップ時に対象の参照プロパティを指定するダイアログが表示されます。

設定項目 設定内容

プロパティ名

参照先プロパティ名を設定します。

初期表示時に展開

チェックした場合、セクションを初期展開します。

編集時

配置済みの参照セクションの設定ボタンをクリックした際に表示されるダイアログで設定可能な項目です。

設定項目 設定内容

列数

1行に表示するセクションの列数を指定します。 3列以上指定する場合は、レイアウトが崩れる可能性があるので注意して下さい。

表示順プロパティ

データ参照のインデックスとして利用するプロパティを指定します。 多重度が1の場合には使用しません。

データのインデックス

当該参照セクションに表示する参照データのインデックス値を指定します。 多重度が1の場合には使用しません。
表示順プロパティ で指定したプロパティを検索対象として、この項目で指定したインデックス値と一致するデータを表示します。同一プロパティの参照セクションを複数配置する場合、この項目の値が重複しないようにしてください。

上部のコンテンツ

当該セクションの上部にテキスト、HTMLタグを設定します。

下部のコンテンツ

当該セクションの下部にテキスト、HTMLタグを設定します。

セクション内に配置した場合に枠線を表示

セクション内に配置した場合に枠線を表示するかを指定します。

参照先の表示プロパティ

参照先エンティティの表示対象プロパティを設定します。 詳細は参照先の表示プロパティを参照してください。

参照先の表示プロパティ

参照セクション内に表示する、参照先のエンティティのプロパティに対する設定です。

設定項目 設定内容

プロパティ名

プロパティ名を設定します。 参照先プロパティ名を設定します。

表示名

表示名を設定します。

説明

説明を設定します。

ツールチップ

ツールチップを設定します。 表示名の右のアイコン(?マーク)をマウスオーバーすると、ツールチップが表示されます。

列幅

検索画面(結果部)に表示する際の列幅(単位はピクセル)を設定します。 単位は不要です。 詳細画面、編集画面には適用されません。

詳細編集で非表示

チェックした場合、編集画面でこの項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。

詳細表示で非表示

チェックした場合、詳細画面でこの項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。

必須マークを表示

必須マークを表示するかを設定します。

DEFAULT

エンティティのプロパティ定義(Required)に従います。

 必須マークを表示する

Requiredにチェックあり

 必須マークを表示しない

Requiredにチェックなし

DISPLAY

必須マークを表示します。

NONE

必須マークを表示しません。

プロパティエディタ

参照先プロパティの型に合わせたPropertyEditorを選択して下さい。 編集 ボタンクリック後は、ReferencePropertyEditorと同じ動作になります。

自動補完設定

項目間の自動補完を設定します。 詳細は自動補完設定を参照してください。

大量データ用参照セクション

被参照プロパティの内容を非同期で検索、表示する場合に設定します。

作成時

ドラッグ&ドロップ時に対象の参照プロパティを指定するダイアログが表示されます。

設定項目 設定内容

プロパティ名

被参照プロパティ名を設定します。

初期表示時に展開

チェックした場合、セクションを初期展開します。

編集時

配置済みの大量データ用参照セクションの設定ボタンをクリックした際に表示されるダイアログで設定可能な項目です。

設定項目 設定内容

上限値

一度に表示する件数の上限を設定します。 デフォルト(0を指定した場合)、10件表示。

ダイアログ表示アクション

詳細画面の詳細リンククリック時のアクションを設定します。

ダイアログ編集アクション

編集画面の編集リンク、追加ボタンクリック時のアクションを設定します。

別タブ表示アクション

詳細画面の詳細リンクをCtrl+クリックした時のアクションを設定します。

別タブ編集アクション

編集画面の編集リンクをCtrl+クリックした時のアクションを設定します。

ビュー定義名

編集画面の編集リンク、詳細画面の詳細リンククリック時に表示するView定義名を設定します。

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

Entity権限における限定条件を適用せずに検索を実行する参照先のプロパティ名を設定します。特権実行する場合、または カスタムロード処理クラス名 の設定がある場合はそちらが優先されます。

編集リンクを詳細リンクに変更

チェックした場合、編集画面の編集リンクを詳細リンクに変更します。 リンクをクリックすると詳細画面を表示します。

削除ボタンを非表示

チェックした場合、編集画面の削除ボタンを非表示にします。

追加ボタンを非表示

チェックした場合、編集画面の追加ボタンを非表示にします。

ページングを非表示

チェックした場合、ページング部品全体を非表示にします。 非表示にした際は、上限値を利用せず、全データを取得します。 (データ件数が多い場合、処理に時間がかかる場合があります)

件数を非表示

チェックした場合、ページ件数、ページジャンプ、ページリンクを非表示にします。

ページジャンプを非表示

チェックした場合、ページジャンプを非表示にします。

ページリンクを非表示

チェックした場合、ページリンクを非表示にします。

検索アイコンを常に表示

チェックした場合、検索アイコンを常に表示します。

ページング表示位置

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

BOTH

検索結果の上下に表示

TOP

検索結果の上部に表示

BOTTOM

検索結果の下部に表示

編集タイプ

参照型の編集方法を設定します。

DETAIL

編集画面で編集する(編集画面で編集リンクが表示される)

VIEW

詳細画面で編集する(詳細画面で編集リンクが表示される)

上部のコンテンツ

当該セクションの上部にテキスト、HTMLタグを設定します。

下部のコンテンツ

当該セクションの下部にテキスト、HTMLタグを設定します。

参照型の表示プロパティ

参照セクションの表に表示するプロパティを設定します。 詳細は参照先の表示プロパティを参照してください。

ソート設定

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

デフォルト検索条件

参照データ検索時に自動で絞り込みをする条件をPreparedQuery形式で指定します。 WHERE句に指定する条件を指定してください。 詳細は「検索条件の設定」のデフォルト検索条件を参照してください。

カスタマイズ

参照エンティティの検索時にカスタム処理を行いたい場合は、詳細画面で設定可能な「カスタムロード処理クラス」を利用します。 詳細は詳細画面の設定カスタムロード処理 を参照してください。

操作ログセクション

操作ログを表示したい場合に設定します。

設定項目 設定内容

表示

チェックした場合、画面に表示します。 エンティティ定義の 操作履歴を保存(save audit log) にチェックが入っていなくても表示はされます。 操作ログデータがない場合はエラーがポップアップ表示されます。

参照の名前を表示

表示プロパティ に指定するプロパティが参照プロパティの場合、デフォルトではoidが表示されますが、代わりに名前(name)を表示する場合はチェックを入れます。

表示プロパティ

操作ログの表内の プロパティ名 に表示するプロパティを設定します。 複数指定する場合は、カンマ区切りで設定します。 複数指定した場合は、プロパティ名が縦に並ぶ形で表示されます。

表示プロパティを設定した場合、操作ログからプロパティ名で絞込みを行いますが、プロパティ名が設定されるのは更新時のみのため、更新時のログしか表示されません。

新規作成レコードを併せて表示

チェックした場合、表示プロパティを設定した際に、新規作成レコードも併せて表示します。

参照型の操作ログ表示設定

参照プロパティの操作ログの表示方法を指定します。 参照エンティティの操作ログが出力される場合に有効になります。 詳細は参照プロパティ操作ログ設定を参照してください。

参照プロパティ操作ログ設定

参照先のエンティティが操作ログを保存する設定の場合、操作ログセクションに参照エンティティの操作ログを表示するリンクを表示します。

参照プロパティの操作ログを表示する際は、参照先のエンティティのビュー定義に設定された AuditLogSection の設定を利用します。 参照先のエンティティビューは、本設定のビュー定義名に一致するビュー定義を利用します。ビュー定義名が未設定の場合は、デフォルトのビュー定義を利用します。

設定項目 設定内容

プロパティ名

参照型のプロパティ名を設定します。

ビュー定義名

リンク押下で表示する参照先エンティティのビュー定義名を設定します。

データの参照可能範囲条件をチェックしない

参照先の操作ログを取得する場合に限り、操作ログ取得前のEntity権限の 参照可能範囲条件 や、参照先エンティティの検索ビューに設定された デフォルト検索条件 に設定された参照可能範囲を限定する条件をチェックしません。

ワークフロー履歴セクション

ワークフローの変数として割り当てられた際のワークフローの履歴を表示します。

設定項目 設定内容

タスクを処理したユーザーのみ表示

同時に複数人にアサインされ、その内の誰かがタスクを処理し、その他がキャンセル扱いになった場合等で、タスクを処理したユーザーのみを表示します。

ワークフロー履歴設定

表示対象とするワークフローを設定します。

ソート設定

ワークフロー履歴のソート条件を設定します。 詳細はソート設定を参照してください。

ソート設定

ワークフロー履歴のソート条件を設定します。

設定項目 設定内容

ソート項目

ソート対象とする項目を設定します。 指定可能な項目は mtp.workflow.Workflow のプロパティです。

ソート種別

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

プロパティの設定

Property項目については、 標準セクション にドラッグ&ドロップする事で配置できます。

entityview detaillayout property
設定項目 設定内容

表示

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

表示判定スクリプト

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

新規/編集時の表示可否

新規登録または編集時に項目を表示するかを設定します。 表示 および 編集画面で非表示 の設定が 詳細画面で表示する 設定の場合に、新規登録または編集で表示するかを判断します。

INSERT

新規登録時のみ表示する

UPDATE

編集時のみ表示する

BOTH

常に表示する、未設定時もBOTHと同様となる

編集画面で非表示

チェックした場合、編集画面で項目を非表示にします。

詳細画面で非表示

チェックした場合、詳細画面で項目を非表示にします。

表示ラベル

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

クラス名

プロパティのヘッダとコンテンツに設定するスタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

説明

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

ツールチップ

ツールチップに表示する説明を設定します。

必須マークを表示

編集画面で必須マークを表示するかを設定します。

DEFAULT

エンティティのプロパティ定義(Required)に従います。

 必須マークを表示する

Requiredにチェックあり

 必須マークを表示しない

Requiredにチェックなし

DISPLAY

必須マークを表示します。

NONE

必須マークを表示しません。

プロパティエディタ

対象のプロパティ型に合わせたエディタを選択します。 詳細はプロパティエディタを参照してください。 型は基本的に変更しないで下さい。紐づいてるJSPでエラーになる可能性があります。 ただしTemplatePropertyEditorについてはカスタマイズ用なので変更しても問題ありません。

自動補完設定

項目間の自動補完を設定します。詳細は自動補完設定を参照してください。

エレメント

入力項目以外の画面要素を標準セクション内にドラッグ&ドロップすることで、画面に配置できます。

共通設定項目

各エレメントで共通の設定項目です。

設定項目 設定内容

表示

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

表示判定スクリプト

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

新規/編集時の表示可否

新規登録または編集時に項目を表示するかを設定します。 表示 および 表示タイプ の設定が 詳細画面で表示する 設定の場合に、新規登録または編集で表示するかを判断します。

INSERT

新規登録時のみ表示する

UPDATE

編集時のみ表示する

BOTH

常に表示する、未設定時もBOTHと同様となる

編集画面で非表示

チェックした場合、編集画面で項目を非表示にします。

詳細画面で非表示

チェックした場合、詳細画面で項目を非表示にします。

タイトル

ヘッダに表示するタイトルを設定します。

表示判定スクリプト

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

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

request

リクエスト

session

セッション

user

ユーザー

outputType

表示タイプ。以下の値によって画面毎の制御が可能です。
SEARCHCONDITION : 検索条件
SEARCHRESULT : 検索結果
EDIT : 編集画面
VIEW : 詳細画面
BULK : 一括更新

entity

表示対象のエンティティ。Entityにはoidとversionがバインドされます。新規作成の場合は、nullでバインドされます。

ボタン

標準のボタン以外に独自で画面に表示するボタンを設定します。

設定項目 設定内容

表示タイプ

編集画面、詳細画面のどちらに表示するかを設定します。 設定されていない場合は、Detailとなります。

Detail

編集画面に表示する

View

詳細画面に表示する

Both

編集画面、詳細画面に表示する

Custom

ボタン表示判定用スクリプトの結果を元に表示するかを判定する

表示ラベル

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

プライマリー

設定するとボタンを強調表示します。

クラス名

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

クリックイベント

クリック時に実行されるJavascriptコードを設定します。 ダブルクォートは利用できません。

入力カスタムスタイル

表示されるボタンに対して直接style属性を指定できます。 詳細は入力カスタムスタイルを参照してください。

ボタン表示判定用スクリプト

表示タイプがCustomの場合に、表示可否を判定するスクリプトを設定します。 詳細はボタン表示判定用スクリプトを参照してください。

スクリプト

詳細画面や編集画面の出力内容を独自に組み込む場合に設定します。 GroovyTemplate形式で定義します。

設定項目 設定内容

クラス名

エレメントのヘッダとコンテンツに設定するスタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

ツールチップ

ツールチップに表示する説明を設定します。

必須マークを表示

編集画面で必須マークを表示するかを設定します。 DISPLAY の場合のみ、必須マークを表示します。

スクリプト

スクリプト編集ダイアログを表示してHTMLコードを含むスクリプトを設定します。

設定例
<script type="text/Javascript">alert("Hello");</script>
テンプレート

詳細画面や編集画面の出力内容を独自に組み込む場合に設定します。 出力内容は別途テンプレートとして定義されているものを指定します。 スクリプトとの違いは、スクリプトは対象のView定義でのみ利用できますが、 テンプレートとして定義することで、GroovyTemplate形式以外のJSP形式での実装や、 他のEntityやView定義でも利用することが可能になります。

設定項目 設定内容

クラス名

エレメントのヘッダとコンテンツに設定するスタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

ツールチップ

ツールチップに表示する説明を設定します。

必須マークを表示

編集画面で必須マークを表示するかを設定します。 DISPLAY の場合のみ、必須マークを表示します。

テンプレート名

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

リンクを設定します。

設定項目 設定内容

表示ラベル

リンクに表示するラベルを設定します。

URL

リンクのURLを設定します。 外部サイトへのリンクの場合は http:// も含め設定して下さい。

別ウィンドウで表示

チェックした場合、リンククリックで別ウィンドウ表示します。

入力カスタムスタイル

表示されるリンクに対して直接style属性を指定できます。 GroovyTemplate書式で設定します。バインド変数などはボタンと同様です。

スペース

スペースを設定します。複数列表示のセクションで空白のセルを作りたい場合等に利用します。

設定可能な項目はありません。

仮想プロパティ

プロパティと同様の表示が出来る仮想プロパティを設定します。

設定項目 設定内容

プロパティ名

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

表示ラベル

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

クラス名

プロパティのヘッダとコンテンツに設定するスタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。

説明

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

ツールチップ

ツールチップに表示する説明を設定します。

プロパティエディタ

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

BooleanPropertyEditor
DatePropertyEditor
DecimalPropertyEditor
FloatPropertyEditor
IntegerPropertyEditor
SelectPropertyEditor
StringPropertyEditor(デフォルト)
TimePropertyEditor
TimestampPropertyEditor
TemplatePropertyEditor
UserPropertyEditor

自動補完設定

項目間の自動補完を設定します。 詳細は自動補完設定を参照してください。

3.4. 一括更新画面

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

BulkLayoutの表示

レイアウト設定を行いたいエンティティ名を右クリックし、 Bulk_Layoutを開く を選択します。

BulkLayoutの構成

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

entityview bulklayout structure
ツールバー

紫枠の部分はBulkLayoutの各viewに対する操作を行うためのボタン群です。 詳細はSearchLayoutを参照してください。

配置エリア

緑枠の部分は各種要素を配置する領域です。 画面右側の PropertySection 内の部品をドラッグ&ドロップで配置できます。 BulkLayoutが作成されてない状態だと、一括更新画面表示時にはエンティティのプロパティが自動で配置されます。 配置エリアに直接配置できるのは Section のみとなります。 Property については、配置エリアに置かれた 標準セクション に対してのみとなります。

一括更新画面の設定

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

設定項目 設定内容

画面タイトル

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

ダイアログ表示時に最大化

チェックした場合、一括更新ダイアログ表示時に最大化します。

イメージカラー

ビューのイメージカラー(画面タイトルの左に表示されるアイコンの色)を選択します。次から選択できます。
blue / green / red / yellow

フラットデザインでは表示されません

アイコンタグ

タイトルの前に表示するiタグなどを利用した独自のアイコンを設定できます。

更新ボタン表示ラベル

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

更新アクション

更新ボタンクリック時に実行されるアクションを設定します。

検索条件で更新アクション

(検索条件で更新)更新ボタンクリック時に実行されるアクションを設定します。

Javascriptコード

画面に埋め込むカスタムJavascriptコードを設定します。

一括更新画面でJavascriptを有効化

チェックした場合、 Javascriptコード に設定したJavascriptが一括更新画面で有効になります。

ボタン

カスタムで表示したいボタンを追加します。 詳細はボタン設定を参照してください。

データの多言語化

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

親子関係の参照を物理削除

チェックした場合、削除時に親子関係の参照します。 一括更新画面での保存時に削除したデータも物理削除されます。

更新時に強制的に更新処理を行う

変更項目が一つもなくとも、強制的に更新処理(更新日時、更新者が更新される)を行います。

カスタム登録処理クラス名

登録・更新時にカスタマイズ処理を行いたい場合は RegistrationInterrupter インターフェースを実装するクラスを指定してください。 詳細はカスタム登録処理を参照してください。

カスタムロード処理クラス名

エンティティのロード時にオプション等のカスタマイズを行いたい場合は LoadEntityInterrupter インターフェースを実装するクラスを指定してください。 詳細はカスタムロード処理を参照してください。

一括更新画面のレイアウト設定

プロパティ

プロパティの設定 を参照してください。

スクリプトセクション

スクリプトセクション を参照してください。

テンプレートセクション

テンプレートセクションを参照してください。 テンプレートで Request から利用可能な変数、関数は以下の通りです。

value

一括更新する項目の値が格納されたエンティティ

searchCond

検索画面での検索条件

3.5. プロパティエディタ

プロパティエディタは各プロパティの入力表示設定になります。 検索一覧、詳細・編集画面に配置した各プロパティの設定を変更をすることができます。 基本的にはプロパティの型に対応する型を選択してください。

共通設定項目

各プロパティエディタで共通の設定項目です。

設定項目 利用箇所 表示タイプ 設定内容

Label形式の場合に表示値を登録する

編集画面

Label

Label形式をサポートするエディタで、表示タイプがLabel形式の場合に表示値をそのまま登録するかを指定します。

Label形式の場合に表示値で更新する

編集画面

Label

Label形式をサポートするエディタで、表示タイプがLabel形式の場合に表示値で更新するかを指定します。

表示カスタムスタイル

検索条件(LABEL)、検索結果、詳細画面

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

入力カスタムスタイル

検索条件(LABEL以外)、編集画面

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

表示カスタムスタイル

GroovyTemplate書式で設定します。 対象となるエンティティデータやプロパティ値がバインドされます。 その他のバインド変数についてはScript編集画面のNoteを参照してください。

設定例1
<%
//高、緊急の場合、赤色で表示(01:低、02:中、03:高、04:緊急)
if (value.value == "03" \|\| value.value == "04") {  //SelectValue.valueでチェック
%>
color:red;
<%
}
%>
<%
//緊急の場合、フォントを大きくする
if (value.value == "04") {
%>
font-size:20px;
<%
}
%>
設定例2
<% //期限まで5日以下の場合は赤くする
if (entity.limitDate != null) {
    long limit = entity.limitDate.getTime() + ((1000 * 60 * 60 * 24) - 1);    //limitDateはDate型なのでMAX時を追加
    long current = today.getTime();

    long diffDays = (limit - current) / (1000 * 60 * 60 * 24);
    if (limit - current < 0) {
        diffDays--; //逆転している場合はマイナス1日
    }
    if (diffDays <= 5) {
%>
color:red;
font-size:20px;
<%
    }
}
%>
入力カスタムスタイル

GroovyTemplate書式で設定します。 編集画面では、対象となるエンティティデータやプロパティ値がバインドされます。 その他のバインド変数についてはScript編集画面のNoteを参照してください。

設定例1
<% //入力テキストの幅を100pxに、背景色を赤に変更
%>
background-color:#FFCCCC; width:100px;
設定例2
<% //ラジオボタンを1行に1つずつ表示させる(通常はdisplay:inline)
%>
display:block;

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

Select

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

Radio

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

Checkbox

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

AutoNumberPropertyEditor

AutoNumber型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Text

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

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

完全一致で検索

検索条件

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

入力カスタムスタイル

共通設定項目を参照してください。 編集画面では読取専用のため、spanタグに設定されます。

BinaryPropertyEditor

Binary型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Binary

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

Link

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

Label

検索条件ではラベル(名前検索)を表示、複数値指定は不可、検索結果、詳細、編集画面では、読み取り専用としてBinaryと同じ形式を表示

Preview

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

画像の高さ(px)

検索結果
詳細・編集画面

表示タイプがBinaryまたは、Previewの場合に表示する画像や動画の高さを設定します。

画像の幅(px)

検索結果
詳細・編集画面

表示タイプがBinaryまたは、Previewの場合に表示する画像や動画の幅を設定します。

アップロードアクション

詳細・編集画面

アップロード時に実行されるアクションを設定します。

ダウンロードアクション

検索結果
詳細・編集画面

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

新しいタブで開く

検索結果
詳細・編集画面

チェックした場合、アップロードファイルへのリンククリック時に別タブで表示します。

画像表示時に回転ボタンを表示

詳細・編集画面

画像リンクの横に回転ボタンを表示します。表示している画像を回転させることが可能になります。保存されるデータは変更されません。

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

検索結果
詳細・編集画面

画像リンクまたは画像をクリックした際に、ImageViewerを表示します。ImageViewerでは画像の拡大・縮小、回転、反転が可能です。 変更した設定は、検索画面、詳細画面、編集画面それぞれを表示している間のみ保持します。

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

PDF表示時にPDF.jsを利用

検索結果
詳細・編集画面

PDF.jsを利用してPDFを表示します。 細工されたPDFによる情報詐取(JVNTA#94087669)の対策が必要な場合に利用してください。

ファイル選択ボタン非表示

詳細・編集画面

詳細・編集画面にてファイル選択ボタンを非表示にします。これでアップロード権限制御なとに利用してください。

削除ボタン非表示

詳細・編集画面

編集画面にて当バイナリファイルデータを削除するボタンを非表示にします。これで削除権限制御なとに利用してください。

アップロード受け入れ可能な MIME Type パターン

詳細・編集画面

ファイルをアップロード時に、受け入れ可能な MIME Type パターンを設定します。設定値は正規表現パターンを指定します。
未指定の場合は、GemConfigServicebinaryUploadAcceptMimeTypesPattern の設定が適用されます。

検証対象となる MIME Type の決定方法については、WebFrontendServiceuploadFileTypeDetectorFileTypeDetector を参照してください。

swfファイルをアップロードする場合は、高さ、幅の両方の設定が必須となります。

BooleanPropertyEditor

Boolean型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Radio

ラジオボタンを表示

Checkbox

チェックボックスを表示

Select

選択リストを表示

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

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

検索条件
詳細・編集画面

RADIO、CHECKBOX形式の場合、アイテムを縦に並べるかを指定します。

「値なし」を検索条件の選択肢に追加するか

検索条件

「値なし」を検索条件の選択肢に追加するかを指定します。値なしが選択された場合、IS NULLを検索条件として指定します。

「値なし」を選択する場合、値として「isNull」が使用されるため、他の選択肢にはこのキーワードを値として使用しないでください。

真の表示ラベル

検索条件
検索結果、詳細・編集画面

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

偽の表示ラベル

検索条件
検索結果、詳細・編集画面

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

初期値

詳細・編集画面

新規作成時の初期値を設定します。ture/false または、1/0 を設定して下さい。

入力カスタムスタイル

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

表示タイプがCheckboxの場合、設定は適用されません。

DatePropertyEditor

Date型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

DateTime

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

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

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

検索結果、詳細画面

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

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

検索結果、詳細画面

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

単一日で指定

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件を単一日を指定する形で表示します。 OFFの場合は、FromToの入力フィールドを表示し、範囲検索を行います。

単一日で指定がONの場合

プロパティ = 入力値

単一日で指定がOFFの場合

From、To入力時 → プロパティ between From入力値 and To入力値
Fromのみ入力時 → プロパティ ≧ From入力値
Toのみ入力時 → プロパティ ≦ To入力値

検索条件Fromを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From日付を非表示にします。 単一日で指定がOFFの場合に有効になります。

検索条件Toを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To日付を非表示にします。 単一日で指定がOFFの場合に有効になります。

検索条件範囲記号を非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、範囲記号 を非表示にします。 範囲検索で、かつFromまたはToが非表示の場合に有効になります。

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。 yyyyMMdd形式か、予約語を指定して下さい。(予約語は以下の通り)

NOW

現在日付となります。

最小日付

詳細・編集画面
一括更新画面

DatePickerで選択可能な最小日付を設定します。以下の設定値を指定可能です。

  1. 固定日付

    • yyyyMMdd 形式で日付を指定してください。

  2. jQuery UI Datepicker オプション

    • jQuery UI Datepicker のオプション minDate の設定値を利用可能です。オプションの詳細については jQuery UI 公式サイトをご確認ください。

  3. ファンクション

    • "最小日付の設定値をファンクション実行する"の説明を参照ください。

最小日付の設定値をファンクション実行する

詳細・編集画面
一括更新画面

チェックをすると、最小日付の設定値をファンクションとして実行します。
本設定を利用するために、事前にグローバルなユーザー定義ファンクションを用意し、最小日付の設定値として指定します。

ユーザー定義ファンクション

ユーザー定義ファンクションの仕様は次の通りです。

  • 引数

    1. $input - 日付入力フィールドの jQuery セレクタ

  • 戻り値
    Date | Number | String
    (jQuery UI Datepicker のオプション minDate に設定可能な値)

ユーザー定義ファンクション例
function userDefFunc($input) { (1)
    return new Date();
}

var userDefObject = {
    prop1: {
        func: function($input) { (2)
            return 10;
        },
    },
};
1 グローバルファンクションの定義例
2 オブジェクトに関連づくファンクションの定義例
最小日付の設定

最小日付は以下の通り設定します。
設定例は、ユーザー定義ファンクション例を利用しています。

  1. グローバルファンクションの場合
    ファンクション名をそのまま指定します。
    設定例: userDefFunc

  2. グローバルオブジェクトに関連づくファンクションの場合
    ファンクションまでのパスを . で連結しファンクション名を記載します。
    設定例: userDefObject.prop1.func

最大日付

詳細・編集画面
一括更新画面

DatePickerで選択可能な最大日付を設定します。以下の設定値を指定可能です。

  1. 固定日付

    • yyyyMMdd 形式で日付を指定してください。

  2. jQuery UI Datepicker オプション

    • jQuery UI Datepicker のオプション maxDate の設定値を利用可能です。オプションの詳細については jQuery UI 公式サイトをご確認ください。

  3. ファンクション

    • "最大日付の設定値をファンクション実行する" の説明を参照ください。

最大日付の設定値をファンクション実行する

詳細・編集画面
一括更新画面

チェックをすると、最大日付の設定値をファンクションとして実行します。
本設定を利用するために、事前にグローバルなユーザー定義ファンクションを用意し、最大日付の設定値として指定します。

詳細については、"最小日付の設定値をファンクション実行する" を参照ください。
(参照時に、最大日付、maxDate に読み替えてください。)

テキストフィールドへの直接入力を制限する

詳細・編集画面
一括更新画面

チェックをすると、直接入力ができなくなり DatePicker の入力のみ受け付けるようになります。

現在日付設定ボタンを非表示

検索条件
詳細・編集画面

チェックした場合、DatePickerの現在日付設定ボタンを非表示にします。

曜日を表示

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

入力カスタムスタイル

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

ロケールによる日付入力形式によりinputの長さを制御しているため、width設定は適用されません。

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

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

設定項目 設定内容

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

日付、時刻のフォーマットを文字列で設定します。
フォーマットの設定は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

hiddenとして出力。検索結果の場合、列を非表示

数値のフォーマット

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

カンマ表示

チェックした場合、テキストフィールドからフォーカスアウトした際にカンマ区切りの表示を行います。

範囲で検索

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件でFromToの入力フィールドを表示し、範囲検索を行います。

範囲検索がONの場合

From、To入力時 → プロパティ between From入力値 and To入力値
Fromのみ入力時 → プロパティ ≧ From入力値
Toのみ入力時 → プロパティ ≦ To入力値

範囲検索がOFFの場合

プロパティ = 入力値

検索条件Fromを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From部分を非表示にします。 範囲で検索がONの場合に有効になります。

検索条件Toを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To部分を非表示にします。 範囲で検索がONの場合に有効になります。

検索条件範囲記号を非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、範囲記号 を非表示にします。 範囲検索で、かつFromまたはToが非表示の場合に有効になります。

最大文字数

詳細・編集画面

テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。

ExpressionPropertyEditor

Expression型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Text

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

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

プロパティエディタを指定している場合は、指定されたプロパティエディタの設定が優先されます。

数値のフォーマット

検索結果
詳細・編集画面

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

プロパティエディタを指定した場合は、プロパティエディタの型に合わせて画面表示を行います。

表示カスタムスタイル

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

プロパティエディタが設定されている場合は、そのプロパティエディタの表示カスタムスタイルが適用されます。

入力カスタムスタイル

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

プロパティエディタが設定されている場合は、そのプロパティエディタの表示カスタムスタイルが適用されます。(読取専用のため表示スタイルです)

プロパティエディタが未設定の場合、編集画面では読取専用のため、多重度複数の場合はulタグに、単数の場合はspanタグに設定されます。

プロパティエディタ

検索条件
検索結果、詳細・編集画面

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

FloatPropertyEditor

Float型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Text

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

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

数値のフォーマット

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

カンマ表示

チェックした場合、テキストフィールドからフォーカスアウトした際にカンマ区切りの表示を行います。

範囲で検索

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件でFromToの入力フィールドを表示し、範囲検索を行います。

範囲検索がONの場合

From、To入力時 → プロパティ between From入力値 and To入力値
Fromのみ入力時 → プロパティ ≧ From入力値
Toのみ入力時 → プロパティ ≦ To入力値

範囲検索がOFFの場合

プロパティ = 入力値

検索条件Fromを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From部分を非表示にします。 範囲で検索がONの場合に有効になります。

検索条件Toを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To部分を非表示にします。 範囲で検索がONの場合に有効になります。

検索条件範囲記号を非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、範囲記号 を非表示にします。 範囲検索で、かつFromまたはToが非表示の場合に有効になります。

最大文字数

詳細・編集画面

テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。

IntegerPropertyEditor

Integer型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Text

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

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

数値のフォーマット

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

カンマ表示

チェックした場合、テキストフィールドからフォーカスアウトした際にカンマ区切りの表示を行います。

範囲で検索

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件でFromToの入力フィールドを表示し、範囲検索を行います。

範囲検索がONの場合

From、To入力時 → プロパティ between From入力値 and To入力値
Fromのみ入力時 → プロパティ ≧ From入力値
Toのみ入力時 → プロパティ ≦ To入力値

範囲検索がOFFの場合

プロパティ = 入力値

検索条件Fromを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From部分を非表示にします。 範囲で検索がONの場合に有効になります。

検索条件Toを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To部分を非表示にします。 範囲で検索がONの場合に有効になります。

検索条件範囲記号を非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、範囲記号 を非表示にします。 範囲検索で、かつFromまたはToが非表示の場合に有効になります。

最大文字数

詳細・編集画面

テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。

JoinPropertyEditor

複数のプロパティをまとめて表示するためのプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

フォーマット

検索結果
詳細・編集画面

複数のプロパティを組み合わせて表示するための表示フォーマットを設定します。 プロパティを指定する際は、 ${プロパティ名} のように指定し、プロパティ項目に追加します。

例) ${name}_${item1}

表示カスタムスタイル

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

JoinPropertyEditorに対する設定は、フォーマットされた全体を囲むspanタグに対して設定されます。

入力カスタムスタイル

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

JoinPropertyEditorに対する設定は、フォーマットされた全体を囲むspanタグに対して設定されます。(読取専用)

プロパティエディタ

検索条件
検索結果、詳細・編集画面

このプロパティ(JoinPropertyとして定義したプロパティ)のプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。

プロパティ

検索条件
検索結果、詳細・編集画面

このプロパティ(JoinPropertyとして定義したプロパティ)と組み合わせて表示する他のプロパティを指定します。

ネストプロパティの検証エラーメッセージをまとめて表示

詳細・編集画面
一括更新画面

チェックの時はネストプロパティの検証エラーメッセージをまとめて表示します。 未チェックの時はネストプロパティの検証エラーメッセージをまとめて表示しません。

LongTextPropertyEditor

LongText型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Text

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

TextArea

テキストエリアを表示

RichText

リッチテキストを表示。検索画面では対応していません。

Password

パスワードフィールドを表示

Select

選択リストを表示

Label

ラベルを表示

Hidden

hiddenとして出力。検索結果の場合、列を非表示

最大文字数

詳細・編集画面

Text

テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。

選択値

検索条件
詳細・編集画面

Select

選択値を追加設定できます。 詳細は選択値設定を参照してください。

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。

完全一致で検索

LongTextPropertyEditorでは、適用されません。

RichText表示時にタグを許可

詳細・編集画面

RichText

リッチテキストエディタで許可されていない文字を利用できるようにします。 本文内にJavascriptやcssを埋め込む場合、ソースボタンを押してから直接記述してください。

RichText表示時にリンク動作を許可

詳細画面

RichText

リッチテキストエディタで許可されていないリンク動作を利用できるようにします。

RickText表示時にツールバーなどを表示しない

詳細画面

RichText

リッチテキストエディタで表示する際に、ツールバーなどを表示しないかを設定します。

RickText Editor Option

詳細・編集画面

RichText

リッチテキストエディタを生成する際のオプションをJavascriptのオブジェクトリテラルで指定します。 指定可能なオプションについてはCKEDITOR configを参照してください。

入力カスタムスタイル

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

RichTextタイプの場合、設定は適用されません。

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

表示名

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

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

クラス名

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

ReferencePropertyEditor

Reference型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

画面に表示する方法を下記から選択します。
Link Select Checkbox RefCombo Tree NestTable Label Unique Hidden

Checkbox は多重度1の場合はラジオボタン、それ以外はチェックボックスになります。 また、検索条件では常にチェックボックスで表示されます。

RefComboNestTable は参照先の表示プロパティに追加したプロパティが表示されます。

Label は追加、選択、削除ボタンを表示しません。検索条件の場合 Link 形式で表示します。 複数指定が可能です。詳細、編集画面の場合、登録データをラベルで表示します。

Hidden は、hiddenとして oidversion が出力されます。 また検索結果では、列が非表示になります。

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

検索条件
詳細・編集画面

CHECKBOX形式の場合、アイテムを縦に並べるかを指定します。

「値なし」を検索条件の選択肢に追加するか

検索条件

「値なし」を検索条件の選択肢に追加するかを指定します。値なしが選択された場合、IS NULLを検索条件として指定します。

「値なし」を選択する場合、値として「isNull」が使用されるため、他の選択肢にはこのキーワードを値として使用しないでください。

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

検索条件
詳細・編集画面

Link
Select
Checkbox
RefCombo
Tree
Label

表示ラベルとして扱うプロパティを設定します。 name 以外のプロパティを画面にラベルとして表示できます。

本項目が設定された、かつ GemConfigServiceuseDisplayLabelItemInSearchtrue の場合、テキスト入力による条件指定時に名前項目ではなく、 表示ラベルとして扱うプロパティを条件項目として利用します。

StringProperty にのみ適用されます。それ以外のプロパティを指定すると、画面表示にエラーになります。指定するプロパティは多重度が複数の場合はサポートされません。

参照型の表示プロパティ

検索条件
検索結果
詳細・編集画面

NestTable

参照先エンティティの表示対象プロパティを指定します。詳細画面と検索一覧で使用方法が異なります。

詳細画面

表示タイプで NestTable を選択した場合に設定します。多重度が複数のプロパティはサポートしていません。

検索一覧

表示タイプで Select Hidden 以外を選択した場合に設定すると、標準で表示される名前の代わりに、検索条件、検索結果に各項目を表示できます。プロパティと同時にネスト項目を条件に表示 を参照してください。

プロパティの設定については、参照先の表示プロパティを参照してください。

ネストテーブルの表示順プロパティ

詳細・編集画面

NestTable

ネストテーブルで表示する際の表示順を示すプロパティを設定します。

  • 設定した場合、編集時に並び順を操作することが可能です。

    • ネストテーブルの並び順を保存する数値型のプロパティを作成し、指定してください。

    • 指定したプロパティには、ネストテーブルの並び順を示す数値が基盤側で自動保存されます。

  • 未設定の場合、表示時に oid でソートします。

プロパティと同時にネスト項目を条件に表示

検索条件

チェックした場合、参照先の表示プロパティにネスト項目が設定されていれば、ネスト項目を検索条件とします。

選択ダイアログを利用

検索条件

Link
Unique

チェックした場合、検索一覧での条件指定方法をテキストから、選択ダイアログ(レコード選択)にします。

検索条件で単一選択

検索条件

Link

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

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

検索条件

Link

参照先の選択画面で複数選択が可能な場合、全選択時の範囲を変更します。 ただし多重度以上の選択はできず、先頭から順に選択されます。

チェックあり

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

チェックなし

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

選択画面でバージョン検索を許可

詳細・編集画面

Link
NestTable
Unique

バージョン管理している参照先Entityの選択画面でバージョン検索を許可します。

参照リンクで編集を許可

検索結果
詳細・編集画面

Link
NestTable

チェックした場合、参照リンク押下時のリンク先詳細画面で編集が可能となります。

表示タイプ:Link

リンク先の画面で編集ボタンが表示され、編集可能となります。

表示タイプ:NestTable

テーブル内に編集リンクを表示し、編集可能となります。

参照先エンティティに更新権限がない場合は、編集リンクの代わりに詳細リンクが表示されます。

編集ページ

詳細・編集画面

Link
NestTable

参照画面で編集を行うか、編集画面で編集を行うかを設定します。

Detail

編集画面上で編集(未設定の場合は Detail

View

詳細画面上で編集

新規ボタン非表示

詳細・編集画面

Link
NestTable
Unique

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

選択ボタン非表示

詳細・編集画面

Link
NestTable
Unique

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

削除ボタン非表示

詳細・編集画面

Link
NestTable
Unique

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

行追加方法

詳細・編集画面

NestTable

詳細編集画面での行の追加ボタンの表示位置を下記から選択します。

Top

追加ボタンが表の上に表示されます。

Bottom

追加ボタンが表の下に表示されます。

当該項目が設定されていない場合は、 Bottom となります。

ダイアログ表示アクション

検索条件
検索結果
詳細・編集画面

Link
NestTable

参照リンク押下時のダイアログ表示時のアクションを設定します。

表示タイプ:Link

リンク押下時に実行されるアクションを設定します。

表示タイプ:NestTable

テーブル内の詳細リンク押下時に実行されるアクションを設定します。

ダイアログ編集アクション

詳細・編集画面

NestTable

NestTable 上の編集リンク押下時に実行されるアクションを設定します。

追加アクション

詳細・編集画面

Link
NestTable

追加ボタン押下で実行されるアクションを設定します。

表示タイプ:Link

追加ボタン押下時に実行されるアクションを設定します。

表示タイプ:NestTable

追加ボタン押下時に実行されるアクションを設定します。

選択アクション

検索条件
詳細・編集画面

Link
NestTable

選択ボタン押下で実行されるアクションを設定します。

表示タイプ:Link

選択ボタン押下時に実行されるアクションを設定します。

表示タイプ:NestTable

選択ボタン押下時に実行されるアクションを設定します。

更新時に強制的に更新処理を行う

詳細・編集画面

NestTable

更新項目が1つもない場合でも強制的に更新処理を行います。更新者、更新日時を更新します。

ビュー定義名

検索条件
検索結果
詳細・編集画面

Link
NestTable

各アクション実行時に表示する画面のView定義名を設定します。 未指定の場合は default のView定義を使用します。

URLパラメータ

検索条件
詳細・編集画面

Link
NestTable
Unique

選択ボタン、新規ボタン、詳細/編集リンク押下で表示する画面に渡すパラメータを設定します。 詳細はURLパラメータを参照してください。

URLパラメータAction

検索条件
詳細・編集画面

Link
NestTable
Unique

URLパラメータを適用するActionを指定します。未指定の場合、 SELECT , ADD で有効になります。

動的URLパラメータ

検索条件
詳細・編集画面

Link
NestTable
Unique

選択ボタン、新規ボタン押下で表示する画面に渡すパラメータを作成するためのJavascriptを設定します。NestTableの場合、編集ページがViewの場合に有効になります。URLパラメータに設定した値が変数のurlParamに格納されます。urlParamを含めてURLパラメータの文字列をreturnしてください。 詳細は動的URLパラメータを参照してください。

動的URLパラメータAction

検索条件
詳細・編集画面

Link
NestTable
Unique

動的URLパラメータを適用するActionを指定します。未指定の場合、 SELECT , ADD で有効になります。

新規アクションコールバックスクリプト

詳細・編集画面

Link

新規ボタン押下で表示される追加画面で追加完了時に実行されるコールバック用のJavascriptを設定します。 コールバック関数の引数として以下の変数が渡されます。

entity

追加されたEntity( oidnameversion を持ったJavascriptオブジェクト)

propName

対象の参照プロパティ名

選択アクションコールバックスクリプト

詳細・編集画面

Link

選択ボタン押下で表示される選択画面上で選択完了時に実行されるコールバック用のJavascriptを設定します。 詳細は選択アクションコールバックスクリプトを参照してください。

行追加コールバックスクリプト

詳細・編集画面

NestTable

NestTable で行追加した後に実行されるコールバック用のJavascriptを設定します。 コールバック関数の引数として以下の変数が渡されます。

row

追加された行のDOMオブジェクト

index

行のインデックス

特定バージョンの基準となるプロパティ

詳細・編集画面

Link

参照先のプロパティのバージョン管理に合わせて、画面内のプロパティ名を指定します。 (NUMBER_BASE:Integer型 / TIME_BASE:Datetime型) 指定したプロパティの値を利用して、選択ダイアログでの検索時にバージョンを指定して検索します。 (プロパティ定義の 基準値 とは別物です) ネストテーブル内の参照プロパティの場合、プロパティ名をそのまま指定すると行内のプロパティ、プロパティ名の前に .(ドット) を追加すると、 ルート(ネストテーブルの親)のプロパティを対象とします。

検索条件

検索条件
詳細・編集画面

Select
Checkbox

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

ソートアイテム

検索条件
詳細・編集画面

Select
Checkbox

選択項目をソートする項目を設定します。

ソート種別

検索条件
詳細・編集画面

Select
Checkbox

選択項目をソートする種別を設定します。

参照コンボ設定

検索条件
詳細・編集画面

RefCombo

選択値を階層的に指定することができます。 詳細は参照コンボの設定を参照してください。

参照コンボの検索方法

検索条件

RefCombo

通常検索(検索一覧の検索タブ)の検索条件に参照コンボを利用する場合に、参照コンボの検索方法を設定します。

NONE

最下層に一致するデータを検索(未設定の場合は NONE

UPPER

上位の階層が指定されている場合、検索条件に含めて検索

ALERT

上位の階層のみが指定されている場合、アラートを表示

詳細画面で参照コンボの親階層を表示

詳細画面

RefCombo

チェックした場合、参照コンボの設定により、親階層のデータを表示します。

参照ツリー設定

検索条件
詳細・編集画面

Tree

再帰構造のエンティティ(同一エンティティの参照をプロパティに持つエンティティ)をツリーから選択することが出来ます。 詳細は参照ツリーの設定を参照してください。

連動プロパティ設定

検索条件
検索結果
詳細・編集画面

Select
Checkbox(多重度1のみ)

エンティティの他のプロパティと連動して選択可能項目をフィルターすることができます。 詳細は連動プロパティの設定を参照してください。

ユニークキープロパティ

検索条件
検索結果
詳細・編集画面

Unique

参照エンティティを検索するためのユニークキープロパティを指定します。

操作ログリンクを表示

詳細画面

NestTable

参照エンティティが操作ログを管理している場合に、ネストテーブル列に対象データの操作ログを表示するリンクを出力します。
リンクから表示される操作ログは、別途定義する操作ログセクションの 参照プロパティ操作ログ設定 を参照します。

表示カスタムスタイル

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

入力カスタムスタイル

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

表示タイプ= Link参照ダイアログ利用可否=true の場合、適用されません。

表示タイプ= Link参照ダイアログ利用可否=true 、かつ プロパティと同時にネスト項目を条件に表示 の場合、NestPropertyについてはNestPropertyで指定したEditorの設定が適用されます。

表示タイプ= NestTable でネスト項目が未指定の場合、名前を入力するinputに適用されます。

表示タイプ= NestTable でネスト項目が指定されている場合、NestPropertyで指定したEditorの設定が適用されます。

表示タイプ= RefCombo が指定されている場合、Selectに適用されます。

URLパラメータ

選択ボタン、新規ボタン、詳細/編集リンク押下で表示する画面に渡すパラメータを設定します。 詳細・編集リンクは、編集ページ設定が View の場合にのみ、指定されたパラメータを適用します。

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

request

リクエスト

session

セッション

parent

参照元のエンティティ(編集画面のみ)

actionType

実行されるAction( org.iplass.mtp.view.generic.editor.ReferencePropertyEditor.UrlParameterActionType )

新規ボタン押下時にはこの項目で定義したパラメータと一緒に以下のパラメータが渡されます

parentOid

親エンティティの oid (新規登録時は null )

parentVersion

親エンティティの version (新規登録時は null )

parentDefName

親エンティティのエンティティ定義名

GroovyTemplate書式で設定します。改行やスペースは無視されます。

<%@page import="org.iplass.mtp.view.generic.editor.ReferencePropertyEditor.UrlParameterActionType"%>
<%
    //actionTypeによってパラメータを切り分ける例

    if (actionType == UrlParameterActionType.SELECT) {
        //選択ボタン処理
        //初期表示時に検索(es=t)
%>
es=t
<%
        if (parent != null) {
            //親の値を条件に追加
%>
&sc_parentName=<%=parent.getName()%>
<%
        }
    } else if (actionType == UrlParameterActionType.ADD) {
        //追加ボタン処理
%>
custom_param1=aaa&custom_param2=bbb
<%
    } else if (actionType == UrlParameterActionType.VIEW) {
        //データ参照処理
%>
custom_param1=aaa&custom_param2=bbb&custom_param3=ccc
<%
    }
%>
動的URLパラメータ

選択ボタン、新規ボタン、詳細/編集リンク押下で表示する画面に渡すパラメータを作成するためのJavascriptを設定します。 詳細・編集リンクは、編集ページ設定が View の場合にのみ、指定されたパラメータを適用します。

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

urlParam

URLパラメータで設定した固定パラメータ

Javascript書式で設定します。画面内の項目の値を取得し、URLパラメータ形式の文字列をreturnします。 URLパラメータの項目でパラメータを設定している場合、それを含めた形でreturnしてください。

var name = $("input[name='name']").val()
var str = $("input[name='str']").val()

return "sc_name="+name+"&sc_str="+str+"&"+urlParam;
選択アクションコールバックスクリプト

選択ボタン押下で表示される選択画面上で選択完了時に実行されるコールバック用のJavascriptを設定します。 コールバック関数の引数として以下の変数が渡されます。

entityList

選択されたEntity( oidnameversion を持ったJavascriptオブジェクト)の配列

deleteList

選択解除されたEntityの配列

propName

対象の参照プロパティ名

if (entityList.length > 0) {
    for (var i = 0; i < entityList.length; i++) {
        alert(entityList[i].oid + "-" + entityList[i].version + "-" + entityList[i].name);
    }
}
参照先の表示プロパティ

NestTable等に表示する、参照先のエンティティのプロパティに対する設定です。

設定項目 利用箇所 設定内容

プロパティ名

検索条件
検索結果
詳細・編集画面

参照先のプロパティ名を設定します。

プロパティエディタ

検索条件
検索結果
詳細・編集画面

参照先プロパティの型に合わせたPropertyEditorを選択して下さい。 選択後、 編集ボタン を押して表示タイプなどを選択してください。 なお、 SelectPropertyEditor 選択時はSelectValueの値は動的に表示されません。 編集 ボタンをクリックし、選択値(表示名、値)をセットして下さい。

編集画面で非表示

詳細・編集画面

チェックした場合、編集画面で項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。

詳細画面で非表示

詳細・編集画面

チェックした場合、詳細画面で項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。

表示ラベル

検索条件
検索結果
詳細・編集画面

表示ラベルを設定します。

説明

詳細・編集画面

説明を設定します。

ツールチップ

検索条件
詳細・編集画面

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

列幅

検索結果
詳細・編集画面

画面に表示する際の列幅(単位はピクセル)を設定します。単位は不要です。

テキストの配置

検索結果

画面に表示する際のテキスト(データ)の配置を設定します。

LEFT

左寄せ

CENTER

中央寄せ

RIGHT

右寄せ

必須マークを表示

詳細・編集画面

必須マークを表示するかを設定します。

DEFAULT

エンティティのプロパティ定義(Required)に従います。

 必須マークを表示する

Requiredにチェックあり

 必須マークを表示しない

Requiredにチェックなし

DISPLAY

必須マークを表示します。

NONE

必須マークを表示しません。

通常検索で必須条件にする

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)で必須条件になります。

詳細検索で必須条件にする

検索条件

チェックした場合、詳細検索(検索一覧の詳細検索タブ)で必須条件になります。

ソートを許可

検索結果

ソートを許可する場合はチェックします。

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

ダウンロードファイルに出力する

検索結果

ダウンロードファイルに出力するかを設定します。 検索条件設定で ダウンロード項目 を指定している場合は、この設定は無視されます。 アップロード形式ではないダウンロードファイルに対して有効になります。

自動補完設定

検索条件
詳細・編集画面

項目間の自動補完を設定します。詳細は自動補完設定を参照してください。

参照コンボの設定

表示タイプを RefCombo に設定することで、階層的な構造をもつ参照プロパティを絞り込みながら選択することが可能になります。

検索一覧

上位の選択値(連動元)に合わせて選択可能な項目を絞り込みます。

entityview refcombo searchview
詳細画面

参照コンボの親階層を表示するか がONになっている場合、詳細画面でも上位階層を表示します。

entityview refcombo detailview
編集画面

検索一覧と同様に、上位に合わせて絞込みが行われます。

entityview refcombo detailedit
設定項目
設定項目 設定内容

プロパティ名

上位のコンボとして表示する参照のプロパティ名を設定します。

検索条件

上位コンボの選択肢を取得する際に自動的に付与される検索条件をPreparedQuery形式で指定します。 WHERE句に指定する条件を指定してください。

参照コンボ設定

複数階層化させる場合に、さらに上位のコンボに関する設定をします。

ソートアイテム

選択可能項目をソートする項目を設定します。

ソート種別

選択可能項目をソートする種別を設定します。

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

表示ラベルとして扱うプロパティを設定します。 name 以外のプロパティを画面にラベルとして表示できます。

(例)メインとなるエンティティで3階層の構造をもったカテゴリエンティティ3を定義した場合の設定方法

エンティティ定義
  • メインエンティティ
    3階層のカテゴリ構造となっている最下位層のCategory3エンティティを保持している。

    entityview setting refcombo main
  • 参照している各カテゴリエンティティ
    Category1 > Category2 > Category3

    entityview setting refcombo category
検索条件設定
  1. Category3エンティティを配置

    entityview setting refcombo searchlayout
  2. Category3の設定
    Category3エンティティから上位のCategory2エンティティ、さらに上位のCategory1エンティティの設定を行う

    entityview setting refcombo searchlayout category
詳細、編集画面設定

設定内容は検索条件と同様。 ただし 参照コンボの親階層を表示するか がチェックされている場合は、階層で表示される。

entityview setting refcombo detaillayout category
参照ツリーの設定

表示タイプを Tree に設定することで、再帰構造をもつエンティティをツリー表示し、任意の階層から選択することが出来ます。

検索一覧

同一エンティティを対象にしているため、どの階層からでもデータを選択できます。

entityview tree searchview
詳細画面

参照コンボの親階層を表示するか がONになっている場合、選択したデータから取得可能な全ての親階層を表示します。

entityview tree detailview
編集画面

検索一覧と同様に、どの階層のデータでも選択できます。

entityview tree detailedit
設定項目
設定項目 設定内容

最上位階層の検索条件

ツリーに表示する最上位階層の検索条件を設定します。

子階層のプロパティ名

選択可能項目をソートする項目を設定します。

(例)メインとなるエンティティで再帰構造をもったCategoryエンティティを定義した場合の設定方法

エンティティ定義
  • メインエンティティ
    再帰構造となっているCategoryエンティティを保持している。

    entityview setting reftree main
  • Categoryエンティティ
    親と子(被参照)を持ち、再帰構造となっている。

    entityview setting reftree category
検索条件設定
  1. Categoryエンティティを配置

    entityview setting reftree category searchlayout
  2. Categoryの設定

    entityview setting reftree category searchlayout category
詳細、編集画面設定

設定内容は検索条件と同様。 ただし 参照コンボの親階層を表示するか がチェックされている場合は、階層で表示される。

entityview setting reftree category detaillayout category
連動プロパティの設定

連動プロパティを設定することで、エンティティの他のプロパティ選択値と連動して選択可能な項目をフィルターすることができます。

検索条件

Editorの表示タイプが Select のみ動作します。 上位の選択値(連動元)に合わせて選択可能な項目を絞り込みます。

entityview link searchview
編集画面

Editorの表示タイプが Select または CheckBox (多重度1のためRadioになる)のみ動作します。 検索一覧と同様に、上位に合わせて絞込みが行われます。

entityview link detailview
設定項目
設定項目 設定内容

連動元プロパティ名(From)

連動元になるプロパティを指定します。 参照元のエンティティのプロパティを指定します。 連動元プロパティに指定可能なものは以下のものです。

検索条件の場合

多重度が1のプロパティでかつ、
・SelectItemの 表示タイプSelect または Radio のもの
・Referenceの 表示タイプSelect のもの(RadioはEditorで指定できない)

編集画面の場合

多重度が1のプロパティでかつ、
・SelectItemの 表示タイプSelect または RadioCheckBox (多重度1のためRadioになる)のもの
・Referenceの 表示タイプSelect または CheckBox (多重度1のためRadioになる)、 RefCombo のもの

NestTable内のプロパティ同士で連動させる場合は、直接プロパティ名を入力してください。

ネストプロパティ同士の連動

NestTable内のプロパティ同士で連動させる場合はチェックします。

連動側絞込対象プロパティ名(To)

連動元プロパティに対応する参照エンティティ側(自身)のプロパティ名を指定します。 連動元の選択値を、 連動側絞込対象プロパティ に対して条件設定して、選択可能なアイテムを絞り込みます。 連動側絞込対象プロパティに指定可能なプロパティは、多重度が1のもののみです。

(例)メインとなるエンティティで3階層の構造をもったカテゴリエンティティを定義した場合の連動方法

エンティティ定義
  • メインエンティティ
    各カテゴリエンティティとCategory1エンティティで保持する区分を保持している。全て多重度は1。

    entityview setting linkproperty main
  • 参照している各カテゴリエンティティ
    Category1 > Category2 > Category3

    entityview setting linkproperty category
検索条件設定
  1. 各Categoryを配置

    entityview setting linkproperty searchlayout
  2. Category1の設定
    Category1エンティティをセレクトアイテムの選択値に連動させる

    entityview setting linkproperty searchlayout category1
  3. Category2の設定
    Category2エンティティをCategory1の選択値に連動させる

    entityview setting linkproperty searchlayout category2
  4. Category3の設定
    Category3エンティティをCategory2の選択値に連動させる

    entityview setting linkproperty searchlayout category3
詳細、編集画面設定

設定内容は検索条件と同様。

画面動作

以下のように上位階層を選択することで、下位階層の選択肢が表示されます。

初期表示時点では連動元の一番Topである セレクトアイテム が未選択のため、カテゴリは全て未選択かつ選択可能項目もない状態。

entityview setting linkproperty searchcondition1

セレクトアイテム を選択することで、連動先の カテゴリ1 の選択可能項目が設定される。

entityview setting linkproperty searchcondition2

カテゴリ1 を選択することで、連動先の カテゴリ2 の選択可能項目が設定される。

entityview setting linkproperty searchcondition3

カテゴリ2 を選択することで、連動先の カテゴリ3 の選択可能項目が設定される。

entityview setting linkproperty searchcondition4

より上位の連動元が未選択になると、 連動先は未選択状態になり、選択可能項目もクリアされる。

entityview setting linkproperty searchcondition5

編集画面についても、同様の動作となります。

ただし編集画面については、 ReferencePropertyEditor の表示タイプを Checkbox にすることも可能です。 この場合多重度1限定のためRadio表示されます。

なお、検索条件については、多重度1の場合でもCheckbox表示され、In条件となるため非対象としています。

SelectPropertyEditor

Select 型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Radio

ラジオボタンを表示

Checkbox

チェックボックスを表示

Select

選択リストを表示

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

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

検索条件
詳細・編集画面

RADIO、CHECKBOX形式の場合、アイテムを縦に並べるかを指定します。

「値なし」を検索条件の選択肢に追加するか

検索条件

「値なし」を検索条件の選択肢に追加するかを指定します。値なしが選択された場合、IS NULLを検索条件として指定します。

「値なし」を選択する場合、値として「isNull」が使用されるため、他の選択肢にはこのキーワードを値として使用しないでください。

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。

CSV出力時に選択肢の順番でソート

検索結果

多重度が複数の場合に、検索一覧のCSVダウンロードにて値の出力を選択肢の順番でソートします。

通常時

選択値を前詰で出力

設定時

多重度の番号と選択アイテムの順番をマッチングさせて、選択値に一致する番号に出力

Select 型で多重度複数の場合、選択アイテムの数と多重度の値を合わせる必要があります。 ( CheckBox 形式または Select 形式で選択された場合に保存する際に選択アイテム数より多重度が小さいとエラーになってしまうため)

選択値

検索条件
検索結果
詳細・編集画面

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

StringPropertyEditor

String 型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Text

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

TextArea

テキストエリアを表示

RichText

リッチテキストを表示。検索画面では対応していません。

Password

パスワードフィールドを表示

Select

選択リストを表示

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

入力タイプ

編集画面

Text

inputの type 属性を設定します。未指定の場合は text になります。

入力パターン

編集画面

Text
Password

inputの pattern 属性を設定します。

HTML入力エラーメッセージ

編集画面

Text
Password

inputの type pattern に不一致の場合のメッセージを設定します。 未指定の場合は、ブラウザのメッセージが表示されます。

タイプ不一致

type が不一致の場合のメッセージを設定します。(ValidityState.typeMismatch)

パターン不一致

pattern が不一致の場合のメッセージを設定します。(ValidityState.patternMismatch)

最大文字数

詳細・編集画面

Text

テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。

選択値

検索条件
詳細・編集画面

Select

選択値を追加設定できます。 詳細は選択値設定を参照してください。 PropertyとしてはStringで保持するが、入力値を固定させたい場合に利用します。

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。

完全一致で検索

検索条件

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

「値なし」を検索条件の選択肢に追加するか

検索条件

「値なし」を検索条件の選択肢に追加するかを指定します。値なしが選択された場合、IS NULLを検索条件として指定します。

「値なし」を選択する場合、値として「isNull」が使用されるため、他の選択肢にはこのキーワードを値として使用しないでください。

RichTextライブラリ

詳細・編集画面

RichText

リッチテキストエディタとして利用するライブラリを指定します。 未指定の場合は、 GemConfigServicerichTextLibrary で設定されているライブラリを利用します。

詳細画面でRickTextエディタのツールバーを表示しない

詳細画面

RichText

詳細画面でリッチテキストエディタのツールバーを表示しないかを設定します。

RickText Editor Option

詳細・編集画面

RichText

リッチテキストエディタを生成する際のオプションをJavascriptのオブジェクトリテラルで指定します。 指定可能なオプションについては、利用するリッチテキストライブラリの説明を参照してください。

RichTextで標準以外のタグ入力を許可 (CKEditor)

詳細・編集画面

RichText

CKEditorの標準で許可されていないHTMLタグ利用できるようにします ( allowedContent = true )。 本文内にJavascriptやcssを埋め込む場合、ソースボタンを押してから直接記述してください。

詳細画面でRichTextのリンク動作を許可 (CKEditor)

詳細画面

RichText

CKEditorの標準で許可されていないリンク動作を利用できるようにします。

入力カスタムスタイル

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

RichText タイプの場合、設定は適用されません。

TimePropertyEditor

Time 型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

DateTime

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

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

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

検索結果、詳細画面

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

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

検索結果、詳細画面

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

単一日で指定

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件を単一日を指定する形で表示します。

検索条件Fromを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From日付を非表示にします。 単一日で指定がOFFの場合に有効になります。

検索条件Toを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To日付を非表示にします。 単一日で指定がOFFの場合に有効になります。

検索条件範囲記号を非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、範囲記号 を非表示にします。 範囲検索で、かつFromまたはToが非表示の場合に有効になります。

時間の表示範囲

検索条件
検索結果
詳細・編集画面

時間の各リストをどこまで表示するか下記から選択します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

時間を非表示

分の間隔

検索条件
詳細・編集画面

分のリストの表示間隔を下記から選択します。

_1MIN

1分

_5MIN

5分

_10MIN

10分

_15MIN

15分

_30MIN

30分

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。 yyyyMMdd形式か、予約語を指定して下さい。(予約語は以下の通り)

NOW

現在日付となります。

TimePickerを利用

検索条件
詳細・編集画面

チェックした場合、入力フィールドでTimePickerを利用できます。

TimestampPropertyEditor

Timestamp 型用のプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

DateTime

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

Label

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

Hidden

hiddenとして出力。検索結果の場合、列を非表示

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

検索結果、詳細画面

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

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

検索結果、詳細画面

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

単一日で指定

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件を単一日を指定する形で表示します。

検索条件Fromを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From日付を非表示にします。 単一日で指定がOFFの場合に有効になります。

検索条件Toを非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To日付を非表示にします。 単一日で指定がOFFの場合に有効になります。

検索条件範囲記号を非表示

検索条件

チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、範囲記号 を非表示にします。 範囲検索で、かつFromまたはToが非表示の場合に有効になります。

時間の表示範囲

検索条件
検索結果
詳細・編集画面

時間の各リストをどこまで表示するか下記から選択します。

SEC

秒まで表示

MIN

分まで表示

HOUR

時まで表示

NONE

時間を非表示

分の間隔

検索条件
詳細・編集画面

分のリストの表示間隔を下記から選択します。

_1MIN

1分

_5MIN

5分

_10MIN

10分

_15MIN

15分

_30MIN

30分

初期値

詳細・編集画面

新規作成時(詳細編集画面)の初期値を設定します。 yyyyMMdd形式か、予約語を指定して下さい。(予約語は以下の通り)

NOW

現在日付となります。

最小日付

詳細・編集画面
一括更新画面

DatetimePickerで選択可能な最小日付を設定します。以下の設定値を指定可能です。

  1. 固定日付

    • yyyyMMdd 形式で日付を指定してください。

  2. jQuery UI Datepicker オプション

    • jQuery UI Datepicker のオプション minDate の設定値を利用可能です。オプションの詳細については jQuery UI 公式サイトをご確認ください。

  3. ファンクション

    • "最小日付の設定値をファンクション実行する"の説明を参照ください。

最小日付の設定値をファンクション実行する

詳細・編集画面
一括更新画面

チェックをすると、最小日付の設定値をファンクションとして実行します。
本設定を利用するために、事前にグローバルなユーザー定義ファンクションを用意し、最小日付の設定値として指定します。

ユーザー定義ファンクション

ユーザー定義ファンクションの仕様は次の通りです。

  • 引数

    1. $input - 日付時刻入力フィールドの jQuery セレクタ

  • 戻り値
    Date | Number | String
    (jQuery UI Datepicker のオプション minDate に設定可能な値)

ユーザー定義ファンクション例
function userDefFunc($input) { (1)
    return new Date();
}

var userDefObject = {
    prop1: {
        func: function($input) { (2)
            return 10;
        },
    },
};
1 グローバルファンクションの定義例
2 オブジェクトに関連づくファンクションの定義例
最小日付の設定

最小日付は以下の通り設定します。
設定例は、ユーザー定義ファンクション例を利用しています。

  1. グローバルファンクションの場合
    ファンクション名をそのまま指定します。
    設定例: userDefFunc

  2. グローバルオブジェクトに関連づくファンクションの場合
    ファンクションまでのパスを . で連結しファンクション名を記載します。
    設定例: userDefObject.prop1.func

最大日付

詳細・編集画面
一括更新画面

DatetimePickerで選択可能な最大日付を設定します。以下の設定値を指定可能です。

  1. 固定日付

    • yyyyMMdd 形式で日付を指定してください。

  2. jQuery UI Datepicker オプション

    • jQuery UI Datepicker のオプション maxDate の設定値を利用可能です。オプションの詳細については jQuery UI 公式サイトをご確認ください。

  3. ファンクション

    • "最大日付の設定値をファンクション実行する" の説明を参照ください。

最大日付の設定値をファンクション実行する

詳細・編集画面
一括更新画面

チェックをすると、最大日付の設定値をファンクションとして実行します。
本設定を利用するために、事前にグローバルなユーザー定義ファンクションを用意し、最大日付の設定値として指定します。

詳細については、"最小日付の設定値をファンクション実行する" を参照ください。
(参照時に、最大日付、maxDate に読み替えてください。)

テキストフィールドへの直接入力を制限する

詳細・編集画面
一括更新画面

チェックをすると、直接入力ができなくなり DatetimePicker の入力のみ受け付けるようになります。

現在日付設定ボタンを非表示

検索条件
詳細・編集画面

チェックした場合、DatetimePickerの現在日付設定ボタンを非表示にします。 DatetimePickerを利用するのチェックが無い場合に有効になります。

時間のデフォルト値を設定しない

検索条件
詳細・編集画面

チェックした場合、日付入力時に時間のプルダウンにデフォルト値を設定しないようにします。

DatetimePickerを利用

検索条件
詳細・編集画面

チェックした場合、入力フィールドでDatetimePickerを利用できます。

曜日を表示

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

入力カスタムスタイル

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

ロケールによる日付入力形式によりinputの長さを制御しているため、width設定は適用されません。

DateRangePropertyEditor

日付型のプロパティを二つ組合せ、範囲を入力・表示するプロパティエディタです。
検索条件エリアで利用する場合、条件を入力するフィールドを1つ表示します。条件を入力した場合、FromとToに対して範囲検索を行います。
編集画面で利用する場合、設定した2つのプロパティの入力欄が表示され、登録時に期間の前後関係のチェックを行います。

設定項目 利用箇所 表示タイプ 設定内容

プロパティエディタ

このプロパティ(From)のプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。

Fromの未入力を許容

検索条件、詳細・編集画面

編集画面

チェックした場合、Fromの入力欄の未入力を許容します。

検索条件

Fromプロパティ is null AND Toプロパティの範囲条件 の条件を追加します。

Fromプロパティに対して値を含めて検索する

検索条件

Fromに対しての範囲条件を指定します。
チェックした場合、 Fromプロパティ ≤ 入力値 として、 オフの場合は、 Fromプロパティ < 入力値 として検索を行います。

Toプロパティ名

このプロパティと組み合わせて表示する他のプロパティを指定します。 指定するプロパティはこのプロパティの型と合わせてください。

検索条件、検索結果で参照先の項目を直接配置する場合、Toプロパティ名は「親のプロパティ名.子のプロパティ名」のように直接入力して指定してください。

詳細検索でのToプロパティ表示名

検索条件

詳細検索時に検索項目のセレクトボックス内に表示するToプロパティの表示名を設定します。 Toプロパティの表示名が未設定の場合は、エンティティの Display Name に設定された内容を画面が表示されます。

Toプロパティエディタ

検索結果、詳細・編集画面

Toプロパティのプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。 未指定の場合、Fromのプロパティエディタの設定が有効になります。

Toの未入力を許容

検索条件、詳細・編集画面

編集画面

チェックした場合、Toの入力欄の未入力を許容します。

検索条件

Fromプロパティの範囲条件 AND Toプロパティ is null の条件を追加します。

Toプロパティに対して値を含めて検索する

検索条件

Toに対しての範囲条件を指定します。
チェックした場合、 入力値 ≤ Toプロパティ として、 オフの場合は、 入力値 < Toプロパティ として検索を行います。

同値を許容

検索条件、詳細・編集画面

編集画面

チェックした場合、FromとToを同じ値での登録を許容します。

検索条件

Fromプロパティ = 入力値 AND Toプロパティ = 入力値 の条件を追加します。

エラーメッセージ

詳細・編集画面

FromとToの大小関係が不正な場合に表示するエラーメッセージを設定します。

検索時の条件

Editorの設定により、検索時の条件は以下のようになります。

// From、Toそれぞれの範囲条件の決定
( Fromプロパティ名 <= または < 入力値 AND 入力値 <= または < Toプロパティ名 )

// Fromの未入力を許容がチェックされている場合
OR ( Fromプロパティ is null AND Toプロパティの範囲条件 )

// Toの未入力を許容がチェックされている場合
OR ( Fromプロパティの範囲条件 AND Toプロパティ is null )

// 同値を許容がチェックされている場合
OR ( Fromプロパティ = 入力値 AND Toプロパティ = 入力値 )

NumericRangePropertyEditor

数値型のプロパティを二つ組合せ、範囲を入力・表示するプロパティエディタです。
検索条件エリアで利用する場合、条件を入力するフィールドを1つ表示します。条件を入力した場合、FromとToに対して範囲検索を行います。
編集画面で利用する場合、設定した2つのプロパティの入力欄が表示され、登録時に大小関係のチェックを行います。

設定項目 利用箇所 表示タイプ 設定内容

プロパティエディタ

このプロパティ(From)のプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。

Fromの未入力を許容

検索条件、詳細・編集画面

編集画面

チェックした場合、Fromの入力欄の未入力を許容します。

検索条件

Fromプロパティ is null AND Toプロパティの範囲条件 の条件を追加します。

Fromプロパティに対して値を含めて検索する

検索条件

Fromに対しての範囲条件を指定します。
チェックした場合、 Fromプロパティ ≤ 入力値 として、 オフの場合は、 Fromプロパティ < 入力値 として検索を行います。

Toプロパティ名

このプロパティと組み合わせて表示する他のプロパティを指定します。 指定するプロパティはこのプロパティの型と合わせてください。

検索条件、検索結果で参照先の項目を直接配置する場合、Toプロパティ名は「親のプロパティ名.子のプロパティ名」のように直接入力して指定してください。

詳細検索でのToプロパティ表示名

検索条件

詳細検索時に検索項目のセレクトボックス内に表示するToプロパティの表示名を設定します。 Toプロパティの表示名が未設定の場合は、エンティティの Display Name に設定された内容を画面が表示されます。

Toプロパティエディタ

検索結果、詳細・編集画面

Toプロパティのプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。 未指定の場合、Fromのプロパティエディタの設定が有効になります。

Toの未入力を許容

検索条件、詳細・編集画面

編集画面

チェックした場合、Toの入力欄の未入力を許容します。

検索条件

Fromプロパティの範囲条件 AND Toプロパティ is null の条件を追加します。

Toプロパティに対して値を含めて検索する

検索条件

Toに対しての範囲条件を指定します。
チェックした場合、 入力値 ≤ Toプロパティ として、 オフの場合は、 入力値 < Toプロパティ として検索を行います。

同値を許容

検索条件、詳細・編集画面

編集画面

チェックした場合、FromとToを同じ値での登録を許容します。

検索条件

Fromプロパティ = 入力値 AND Toプロパティ = 入力値 の条件を追加します。

エラーメッセージ

詳細・編集画面

FromとToの大小関係が不正な場合に表示するエラーメッセージを設定します。

検索時の条件

DateRangePropertyEditorの検索時の条件と同等になります。

TemplatePropertyEditor

独自のテンプレートを入力部品として利用するためのプロパティエディタです。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Template

Templateの出力結果を表示

Hidden

hiddenとして出力。検索結果の場合、列を非表示

テンプレート名

表示時に読み込むテンプレートの名前を設定します。

UserPropertyEditor

createByupdateBy 等、Userエンティティの oid (String)を持つプロパティに対して、 oid に一致するユーザー名を表示させるためのプロパティエディタです。

検索条件ではユーザー名の部分検索条件として動作します。 検索結果、詳細画面、編集画面では、ユーザー名を表示します(読み取り専用)。

設定項目 利用箇所 表示タイプ 設定内容

表示タイプ

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

Label

ラベルを表示、検索条件ではテキストフィールドを表示、ユーザー名検索。

Hidden

hiddenとして出力。検索結果の場合、列を非表示

入力カスタムスタイル

共通設定項目を参照してください。 編集画面では読取専用のため、spanタグに設定されます。

3.6. Viewの管理設定

Viewの管理設定は、検索一覧、詳細画面両方に関わる設定を行う画面です。

Viewの管理設定の表示

Viewの管理設定を行いたいエンティティを右クリックし、 Viewの管理設定を開く を選択します。

Viewの管理設定の構成

Viewの管理設定は以下の構成になっています。

viewcontrol structure

A.自動生成管理

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

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

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

自動生成では name description と個別の定義プロパティを対象にします。 自動生成画面の対象プロパティとして oidcreateDate などのシステム項目を対象としたい場合は、 GemConfigServiceautoGenerateXXX で設定を行います。
B.許可ロール

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

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

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

D.Remove

選択中のViewを一覧から削除します。 削除が可能なのは Add で追加した、レイアウトが未定義のViewのみです。

4. フィルタの管理

フィルタを設定する事でエンティティの検索補助を実現できます。 検索画面(条件部)のタブに 定型検索 タブが追加されます。

entityview filter

4.1. フィルタの表示

フィルタ設定を行いたいエンティティを右クリックし、 Filterを開く を選択します。

4.2. フィルタの構成

フィルタは以下の構成になっています。

entityview filter structure
フィルタアイテム一覧

青い枠の部分は検索画面に表示されるアイテムの一覧になります。

フィルタアイテム設定

緑の枠の部分は各フィルタアイテムの設定になります。

実行結果

紫の部分はフィルタアイテム設定を元にEQLを実行した結果を表示します。 設定した内容が正しく動くか等の確認に利用できます。

4.3. フィルタアイテム設定

アイテムの追加

図の赤枠部分をクリックするとフィルタアイテム設定画面が表示されます。

項目 設定値

名前

フィルタアイテムの名前

表示名

フィルタアイテムの表示名、検索画面の定型検索に表示される

入力後、追加ボタンを押すことでフィルタアイテム一覧に追加されます。

アイテムの編集

フィルタアイテムの鉛筆マークをクリックすると、右側のエリアに設定内容が表示されます。

entityview edit filteritem
A.条件

検索時に適用する条件を設定します。

項目 設定値

WHERE

フィルタ条件、WHERE句以降を設定

ORDER BY

ソート条件

B.EQL実行

条件で設定された内容でEQLを実行します。 実行結果は画面下部の実行結果に表示されます。

C.保存

フィルタアイテムの設定の変更内容を保存します。 保存せずに他のフィルタアイテムを編集すると、変更内容は失われますので注意してください。

D.Save

全設定内容を保存します。 保存はフィルタアイテムの変更を確定させているだけなので、フィルタアイテムを保存した後は忘れずにSaveしてください。

5. カスタム処理の組み込み

検索一覧や選択画面で、検索処理、ダウンロード処理の実行前後に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを検索一覧のEQLカスタム処理クラスに指定します。

org.iplass.mtp.view.generic.SearchQueryInterrupter

処理一覧
メソッド 引数 戻り値 処理内容

beforeSearch

RequestContext

SearchQueryContext

検索前処理を行います。

SearchFormView

Query

SearchQueryType

afterSearch

RequestContext

List<ValidateError>

検索後処理を行います。 afterSearchではEntity1レコード毎に処理が呼ばれます。

SearchFormView

Query

Entity

SearchQueryType

SearchQueryInterrupterの例

SearchQueryInterrupter 上、beforeSearch afterSearch はデフォルト実装されています。 必要に応じてオーバーライドします。

例えば beforeSearch では、クエリのカスタマイズ結果や検索時のオプションを設定したSearchQueryContextを返すように実装します。

import org.iplass.gem.command.Constants;
import org.iplass.mtp.command.RequestContext;
import org.iplass.mtp.entity.query.Query;
import org.iplass.mtp.view.generic.SearchFormView;
import org.iplass.mtp.view.generic.SearchQueryContext;
import org.iplass.mtp.view.generic.SearchQueryInterrupter;

public class SampleSearchQueryInterrupter implements SearchQueryInterrupter {

    @Override
    public SearchQueryContext beforeSearch(RequestContext request, SearchFormView view, Query query, SearchQueryType type) {

        //Queryに対するカスタマイズ処理
        query.getWhere().

        if (type == SearchQueryType.SEACH) {
            //検索時のカスタマイズ

        } else if (type == SearchQueryType.CSV) {
            //CSVダウンロード時のカスタマイズ
            if (Boolean.valueOf(request.getParam(Constants.FILE_IS_FOR_UPLOAD)) {
                // Upload形式
            } else {
                // Upload形式以外
            }
        }

        //SearchQueryContextを生成
        SearchQueryContext context = new SearchQueryContext(query);

        //特権実行する場合
        context.setDoPrivileged(true);

        //Entity権限における限定条件を適用せずに検索を実行する参照先名
        //特権実行する場合は無視されます
        context.setWithoutConditionReferenceName("ref1", "ref2");

        return context;
    }

}
クエリのカスタマイズ

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)));
        }
    }
}

5.2. カスタムアップロード処理

検索画面でのアップロード時に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを検索条件設定の カスタムアップロード処理クラス名 に指定します。

org.iplass.mtp.view.generic.SearchFormCsvUploadInterrupter

処理一覧
メソッド 引数 戻り値 処理内容

dataMapping

row(int)

なし

アップロードファイルから登録用のデータをマッピングします。

CsvRegistrationType で登録の種類を判断できます。

INSERT

新規追加。

UPDATE

更新。

DELETE

削除。

Entity

EntityDefinition

CsvRegistrationType

beforeRegister

row(int)

List<ValidateError>

当該メソッド内に設定した処理内容が、Entityの登録・更新・削除前に実施されます。

Entity

EntityDefinition

CsvRegistrationType

afterRegister

row(int)

List<ValidateError>

当該メソッド内に設定した処理内容が、Entityの登録・更新・削除後に実施されます。

Entity

EntityDefinition

CsvRegistrationType

insertOption

InsertOption

InsertOption

新規登録時のInsertOptionを制御します。

標準の登録対象プロパティの判定は、アップロードファイルのヘッダ情報または検索条件設定の アップロード登録項目 により制御されます。登録対象以外のプロパティは null 値が設定されます。

updateOption

UpdateOption

UpdateOption

更新時のUpdateOptionを制御します。 標準の更新対象プロパティの判定は、アップロードファイルのヘッダ情報または検索条件設定の アップロード更新項目 により制御されます。

deleteOption

DeleteOption

DeleteOption

削除時のDeleteOptionを制御します。

columnNameMap

EntityDefinition

Map<String, String>

ヘッダ名をカスタマイズしたい場合に指定します。keyをプロパティ名、valueを出力列名としてマッピングを定義します。 nullを返す場合、またはMapに該当がない場合は、標準の形式で出力します。

sampleCsvData

EntityDefinition

List<Entity>

サンプルファイルとして出力したいEntityデータを返します。引数で出力対象のプロパティが渡されます。nullを返す場合、プロパティ型に応じてランダムな値を出力します。

List<PropertyDefinition>

カスタムアップロード処理の各メソッドは以下のように呼ばれます。

  1. ファイルデータの1行分を読み込みます。

  2. _useCtrl フラグの有無、ユニークキー値と既存データの有無により、新規、更新、削除を判断します。

  3. dataMapping が実行され、処理対象のEntityが作成されます。

  4. beforeRegister が実行されます。

  5. Entityを登録します。

    新規の場合

    insertOption が実行されます。

    更新の場合

    updateOption が実行されます。

    削除の場合

    deleteOption が実行されます。

  6. afterRegister が実行されます。

beforeRegister afterRegister でValidateErrorを返した場合、 またはいずれかでエラーが発生した場合、ロールバックされます。 beforeRegister でValidateErrorを返した場合にも登録処理は実行しませんが、 afterRegister 処理は呼び出します。

ヘッダのカスタマイズ

columnNameMap を実装することで、ヘッダを変更することが可能です。 Upload形式のダウンロード、サンプルダウンロード、アップロード処理時に参照します。

import java.util.Map;
import java.util.stream.Collectors;

import org.iplass.mtp.entity.definition.EntityDefinition;
import org.iplass.mtp.view.generic.SearchFormCsvUploadInterrupter;

public class SampleSearchFormCsvUploadInterrupter implements SearchFormCsvUploadInterrupter {

    @Override
    public Map<String, String> columnNameMap(EntityDefinition definition) {

        // 列名を表示名だけで出力する
        return definition.getPropertyList().stream()
            .collect(Collectors.toMap(
                    property -> property.getName(),
                    property -> property.getDisplayName()));
    }

}
ヘッダをカスタマイズする場合は、検索条件の設定ダウンロード時表示名を出力しない をONにすることを検討してください。

5.3. カスタム登録処理

編集画面での登録・更新時に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを詳細画面のカスタム登録処理クラスに指定します。

org.iplass.mtp.view.generic.RegistrationInterrupter

処理一覧
メソッド 引数 戻り値 処理内容

dataMapping

Entity

なし

新規登録用のデータにリクエストのデータをマッピングします。

RequestContext

EntityDefinition

FormView

isSpecifyAllProperties

-

boolean

更新対象の範囲を制御します。

true

getAdditionalPropertiesで設定した戻り値のみを更新対象とする

false

汎用登録処理が自動で設定した更新対象にgetAdditionalPropertiesの戻り値を追加する

getAdditionalProperties

-

String[]

更新対象のプロパティを指定します。

  • 参照型プロパティで表示タイプに NestTable を指定している場合、または 参照セクション を利用している場合、参照先エンティティの各プロパティに対する更新を制御することも可能です。

    • 例えば、reference という参照型プロパティで、参照先エンティティの name プロパティを更新対象に含める場合、 reference.name のように指定します。

    • NestTable参照セクション の更新制御には、以下の4パターンが存在します。

      • 参照型プロパティとして更新対象外 、且つ 参照先エンティティのプロパティも全て更新対象外 の場合
        ・ 参照先エンティティの登録、削除不可(参照自体の更新不可)
        ・ 既存の参照先エンティティのプロパティも更新不可能

      • 参照型プロパティとして更新対象外 であるが、 参照先エンティティのプロパティが更新対象に含まれている 場合
        ・ 参照先エンティティの登録、削除不可(参照自体の更新不可)
        ・ 既存の参照先エンティティは、更新対象として指定されたプロパティのみ更新可能

      • 参照型プロパティとして更新対象 、且つ 参照先エンティティのプロパティが全て更新対象外 の場合
        ・ 参照先エンティティの登録、削除が可能(参照自体を更新可能)
        ・ 既存の参照先エンティティのプロパティも全て更新可能

      • 参照型プロパティとして更新対象 であり、 参照先エンティティのプロパティも更新対象に含まれている 場合
        ・ 参照先エンティティの登録、削除が可能(参照自体を更新可能)
        ・ 既存の参照先エンティティのプロパティは、更新対象として指定されたプロパティのみ更新可能。参照先エンティティで登録される新規データは、更新対象外のプロパティは null で登録

beforeRegister

Entity

List<ValidateError>

当該メソッド内に設定した処理内容が、Entityの登録・更新前に実施されます。

RequestContext

EntityDefinition

FormView

RegistrationType

afterRegister

Entity

List<ValidateError>

当該メソッド内に設定した処理内容が、Entityの登録・更新後に実施されます。

RequestContext

EntityDefinition

FormView

RegistrationType

カスタム登録処理の各メソッドは以下のように呼ばれます。

新規登録の処理順序
  1. カスタム登録処理のdataMappingが実行され、新規登録用のEntityが作成されます。

  2. 参照型のデータを登録します。

  3. カスタム登録処理のbeforeRegisterが実行されます。

  4. Entity(本データ)を登録します。

  5. 被参照の参照型のデータを登録します。

  6. カスタム登録処理のafterRegisterが実行されます。

いずれかでエラーが発生した場合、ロールバックされます。

更新の処理順序
  1. カスタム登録処理のdataMappingが実行され、更新用のEntityが作成されます。

  2. 参照型のデータを登録します。

  3. カスタム登録処理のbeforeRegisterが実行されます。

  4. Entity(本データ)を更新します。

    isSpecifyAllPropertiesがtrue

    カスタム登録処理のgetAdditionalPropertiesで設定した戻り値のみを更新対象にする

    isSpecifyAllPropertiesがfalse

    汎用登録処理が自動で設定した更新対象に、カスタム登録処理のgetAdditionalPropertiesの戻り値を追加する

  5. 被参照の参照型のデータを登録します。

  6. カスタム登録処理のafterRegisterが実行されます。

いずれかでエラーが発生した場合、ロールバックされます。

5.4. カスタムロード処理

詳細表示、編集画面でEntityのロード時に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを詳細画面のカスタムロード処理クラスに指定します。

org.iplass.mtp.view.generic.LoadEntityInterrupter

処理一覧
メソッド 引数 戻り値 処理内容

beforeLoadEntity

RequestContext

LoadEntityContext

ロード前処理を行います。 Entityの表示時(詳細画面、編集画面)、登録/更新後のデータ取得、登録/更新時の比較用元データ取得時に呼ばれます。

FormView

String

LoadOption

LoadType

afterLoadEntity

RequestContext

なし

ロード後処理を行います。

FormView

Entity

LoadOption

LoadType

beforeLoadReference

RequestContext

LoadEntityContext

参照プロパティに対するロード前処理を行います。 画面表示時(ネストテーブル、参照セクション)、多重度が1ではない被参照データの更新時(ネストテーブルのみ)に呼ばれます。

FormView

String

LoadOption

ReferenceProperty

Element

LoadType

afterLoadReference

RequestContext

なし

参照プロパティに対するロード後処理を行います。

FormView

Entity

LoadOption

ReferenceProperty

Element

LoadType

beforeSearchMassReference

RequestContext

SearchQueryContext

大量データ用参照セクションの検索前処理を行います。 大量データセクションはロードではなくQueryでの検索を行うため、SearchQueryContextを返します。

FormView

Query

ReferenceProperty

MassReferenceSection

OutputType

afterSearchMassReference

RequestContext

なし

大量データ用参照セクションの検索後処理を行います。 検索されたEntity1レコード毎に処理が呼ばれます。

FormView

Query

ReferenceProperty

MassReferenceSection

Entity

OutputType

5.5. カスタム一括処理

一括削除処理、一括更新画面で複数のEntityに対する一括操作時に独自の処理を組み込むことができます。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスをカスタム一括削除処理クラス、またはカスタム一括更新処理クラスに指定します。

org.iplass.mtp.view.generic.BulkOperationInterrupter

処理一覧
メソッド 引数 戻り値 処理内容

beforeOperation

List<Entity>

BulkOperationContext

複数のEntityに対する一括操作前の処理を行います。 戻り値 BulkOperationContext にバリデーションエラーメッセージを設定することが可能です。 それに、エンティティリストを設定することで一括操作対象の絞込みが可能です。

更新時

エンティティに oidバージョン 及び 更新日時 を設定しなければなりません。

削除時

エンティティの oidバージョン が必須な項目です。

RequestContext

EntityDefinition

FormView

BulkOperationType

afterOperation

List<Entity>

なし

複数のEntityに対する一括操作後の処理を行います。

RequestContext

EntityDefinition

FormView

BulkOperationType