コンテキストピッカーの設定
目的
コンテキストピッカーをカスタム UI に追加し、ピッカーを以下のように設定する必要があります。
特定のタイプのオブジェクトのみをサーチする
特定のコンテナ内のオブジェクトのみをサーチする
特定のサーチ基準入力フィールドを表示する
サーチ結果テーブルで特定のオブジェクトの属性を表示する
バックグラウンド
特定のコンテキストに基づいた操作を実行する必要がある場合、コンテキストピッカーを使用します。
範囲/適用可能性/前提条件
タグを配置する <マイページ>.jsp ファイルには、"/netmarkets/jsp/begin.jspf" または "/netmarkets/jsp/beginPopuf.jspf" ファイルと "/netmarkets/jsp/end.jspf" ファイルが含まれると仮定します。
予測される結果
コンテキストピッカーのタグを使用すると、指定したラベルとともにテキストボックスおよび「検索」アイコンが表示されます。「検索」アイコンをクリックするとコンテキストピッカーが起動します。
「検索」アイコンをクリックすると、次のようなプロジェクトのコンテキストピッカーが表示されます。
ソリューション
JSP ファイルのコンテキストピッカー共通コンポーネントを使用して、アプリケーションにコンテキストピッカーを含めます。
前提となる知識
この目的を達成するには、次のことを理解している必要があります。
JSP、JavaScript、カスタム taglibs に関連した基本的な開発
リソースバンドルファイルカスタマイズの管理
Windchill xconfmanager の概念
ソリューションエレメント
エレメント
タイプ
説明
PickerAttributes.xml
XML
このファイルを使用して、ピッカーのオブジェクトタイプ用の検索基準属性をカスタマイズします。
ランタイム場所: <Windchill>\codebase\pickerAttributes.xml
searchClientResource.java
リソースバンドルファイル
このファイルを使用して、ピッカーのコンテンツをローカライズします。
contextPicker.tag
カスタム JSP タグファイル
このファイルには、このタグでサポートされるパラメータの詳細が含まれています。
ランタイム場所: <Windchill>\codebase\WEB-INF\tags\ContextPicker.tag
SearchableTypes.properties.Xconf
xconf Properties ファイル
このファイルでコンポーネント ID および対応するオブジェクトタイプを指定し、xconfmanager を実行する必要があります。
ランタイムの場所:
<Windchill>\codebase\com\ptc\windchill\enterprise\search\server\SearchableTypes.properties.xconf
custom.js
JavaScript ファイル
このファイルのピッカー用にカスタム pickerCallback 関数を指定する必要があります。
ランタイム場所: <Windchill>\codebase\netmarkets\jsp\search\custom.js
* 
コンテキストピッカーのタイプピッカーを無効化します。
手順 - jsp ページにコンテキストピッカーを含める
コンテキストピッカーは contextPicker タグを呼び出すことで JSP から起動できます。
<tr>
<wctags:contextPicker id="contextPickerId" />
</tr>
カスタマイズポイント
カスタマイズポイントは、次のテーブルにリストされています。
パラメータ
デフォルト値
有効な値
必須
説明
ID
ページで一意の ID
False
ID は、呼び出しアプリケーションのすべてのピッカーに関連付けられています。異なるタイプであるか同じタイプであるかにかかわらず、この ID はすべてのピッカーに対し 1 ページ内で一意である必要があります。ID の名前に "." (ドット) を含めることはできません。
componentId
pickerSearch
pickerAttributes.xml で指定された任意の有効なコンポーネント ID
いいえ
componentId は、特定ピッカーのサーチ基準パネルに表示される属性を決定します。
pickerCallback
ユーザーがこのパラメータを指定しなかった場合、実行時に生成されます。
コールバック関数の名前
いいえ
ユーザーが実装する必要のあるカスタマイズされたコールバック関数の名前。custom.js ファイルで pickerCallback 関数を指定することをお勧めします。
defaultValue
"" (空白)
任意の値
いいえ
ピッカーによってレンダリングされたテキストボックスのデフォルト値。
defaultHiddenValue
"" (空白)
任意の値
いいえ
ピッカーに関連付けられた非表示テキストボックスのデフォルト値。
pickedDataFetcher
<Web アプリケーション>/netmarkets/jsp/search/pickedData.jsp
フェッチャファイルの URL 場所
いいえ
選択した結果を処理するために AJAX 呼び出しによって使用されるデータフェッチャファイルの URL。
Label
コンテキストピッカー
任意の値
いいえ
ピッカーのラベル。
displayAttribute
名前
任意の属性
いいえ
コンテキストピッカーから結果を選択した後、ピッカーテキストボックスに表示される属性の名前。
containerRef
"" (空白)
任意のコンテナ
いいえ
ユーザーがサーチを制限する containerRef の値。
baseWhereClause
"" (空白)
任意の有効な I*E where 句照会
いいえ
ユーザー入力に関係なく特定の基準でサーチ結果をフィルタする場合の追加の where 句。この where 句は、内部 where 句を持つ "ANDed" を取得するだけです。
pickerTitle
コンテキスト
任意の値
いいえ
ピッカーのタイトル。
pickedDataFetcher
<Web アプリケーション>/netmarkets/jsp/search/pickedData.jsp
フェッチャファイルの URL 場所
いいえ
選択した結果を処理するために AJAX 呼び出しによって使用されるデータフェッチャファイルの URL。
Editable
True
true/false
いいえ
この属性は、テキストボックスに「検索」アイコンを含めるかどうかを定義します。
readOnlyPickerTextBox
False
true/false
いいえ
この属性は、ピッカーテキストボックスを編集可能にするかどうかを定義します。
typeComponentId
Foundation.contextPicker
SearchableTypes.properties ファイルで指定された任意の有効な componentId。
いいえ
このパラメータは、タイプピッカーに表示される一連のタイプを定義するために渡されます。
Inline
False
true/false
いいえ
テーブルレベルの操作またはインラインでピッカーを起動する場合、このパラメータの値を true に指定する必要があります。
pickedAttributes
名前
有効な属性の任意のコンマ区切りリスト
いいえ
このパラメータは、ピッカーが取得する属性のコンマ区切りリストを含んでいます。インラインが "true" の場合にのみ適用されます。
showTypePicker
true
true/false
いいえ
このパラメータは、ピッカーでタイプピッカーを有効にするために使用する必要があります。
pickerType
サーチ
search/picker
いいえ
このパラメータは、ピッカータイプを "search" ピッカーまたは "picker" ピッカーに定義します。search ピッカーでは、ピッカーにサーチ基準が表示されたら、「サーチ」ボタンをクリックして結果を確認する必要があります。ただし、"picker" ピッカーの場合は、サーチ基準なしでも結果テーブルが直接表示されます。
pickerTextBoxLength
25
任意の数値
いいえ
このパラメータは、ピッカーテキストボックスの長さを定義します。
searchResultsViewId
"" (空白)
任意の有効なビュー ID
いいえ
このパラメータを使用すると、ピッカーサーチ結果テーブルのカスタムビュー ID を定義できます。
customAccessController
"" (空白)
任意の有効な名前
いいえ
このパラメータは、ユーザー独自のカスタムアクセスコントローラを定義するために使用されます。このパラメータは、完全なクラス名を値として受け入れます。複数の customAccessController を指定するには、コンマ (,) で区切られたクラス名のリストを渡します。
excludeSubTypes
"" (空白)
任意の有効なサブタイプ
いいえ
このパラメータは、サーチからサブタイプを排除するために使用されます。
extraSuggestAttribute
emailId
ユーザーがサーチする任意のフィールド
False
このパラメータは、自動候補表示に使用する追加の属性を指定するのに利用します。
showSuggestion
false
True/false
False
このプロパティは、ピッカーの自動候補表示を可能にするために使用されます。
suggestMinChars
1
整数
False
このパラメータを使用して、最小文字を決定します。自動候補表示が有効になっている場合は、この文字を基準にして、自動候補表示が開始します。
suggestServiceKey
ピッカー特有
userPicker, partPicker など。
False
クエリーサービスを呼び出す候補のクラスを選択するキー (例: ContextServicePickerSuggestable)。search-service.properties.xconf ファイル内にキーが存在する必要があります。
mergeContainerTypes
False
渡されたコンテナタイプは最近アクセスしたコンボボックスにマージされますが、最近アクセスしたリストには表示されません。このプロパティはサーチページにのみ使用し、ピッカーには使用しないでください。
onChangeForRecentlyUsed
False
これは showRecentlyUsed=true に依存します。ユーザーは最近使用したコンボにカスタム onchange 関数を指定できます。
showMemberOfCheckBoxes
false
True/false
False
このプロパティが true に設定されている場合、「自分がメンバーであるもの」および「組織内」チェックボックスが表示されます。
showMultiSelectRecentlyUsed
false
True/false
False
このプロパティが true になっている場合、コンテキストピッカーに使用した最近の複数の選択が表示されます。この場合、callback 関数および onchange 関数の修正が必要です。デフォルト値は false です。サーチページのみに実行されます。
タイプピッカーなしのコンテキストピッカーの設定
<wctags:contextPicker id="contextPickerId"
showTypePicker="false"/>
結果テーブルでの複数選択オプションを持つコンテキストピッカーの設定
<wctags:contextPicker id="contextPickerId" multiSelect="true" />
タイプピッカーでの独自の typeComponentId を持つコンテキストピッカーの設定
<wctags:contextPicker id="contextPickerId" typeComponentId="
Foundation.myContextPickerComponentId" />
コンテキストピッカーの baseWhereClause の設定
<wctags:contextPicker id="contextPickerId"
baseWhereClause="(name=’demo*’)" />
コンテキストピッカーの pickerCallback 関数の設定
<wctags:contextPicker id="contextPickerId"
pickerCallback="myPickerCallback" />
myPickerCallback 関数は次のようになります。
function myPickerCallback(objects, pickerID)
{
var updateHiddenField = document.getElementById(pickerID);
var updateDisplayField = document.getElementById(pickerID +
"$label$");
var myJSONObjects = objects.pickedObject;
for(var i=0; i< myJSONObjects.length;i++) {
var oid = myJSONObjects[i].oid;
// Here “name” is the displayAttribute requested
var displayAttr = eval("myJSONObjects[i].name");
updateHiddenField.value=oid;
updateDisplayField.value=displayAttr;
}
}
これは役に立ちましたか?