9.4.1 定義規則
- <この項の構成>
- (1) データ転送元画面(補助ウィンドウ)
- (2) データ転送先画面(補助ウィンドウを開く画面)
(1) データ転送元画面(補助ウィンドウ)
- <csdc:src>のdatatype属性を指定します。データ転送先の<csdc:dest>のdatatypeと一致するよう定義してください。
複数datatypeを指定する場合は,コンマ区切りで指定してください。
- <csdc:oncopy>タグ内にコピーイベントハンドラの処理を定義します。
(I) JavaScript関数「getElementById(“html部品名称”)」を使用して,データ転送元HTMLオブジェクトを取得します。
(II) JavaScript公開関数「hptl_deserializeH2JS」を使用して,(I)で取得した値をJavaScript配列オブジェクトに格納します。
(III) JavaScript公開関数「hptl_setPortalClipboardData」を使用して,(II)で作成したJavaScript配列オブジェクトを,userData領域またはポータルクリップボードウィンドウに格納します。複数datatypeを指定する場合は,「hptl_setPortalClipboardData」を複数回呼んでください。
- <csdc:body>タグ内にデータ転送元のHTML構成を定義します。
(I) このタグに<csdc:serializeJ2H>タグを定義し,Javaオブジェクトをシリアライズして文字列として保存します。
- [OK]ボタンをクリックしたときに実行される関数を作成します。
(I) コピーイベントハンドラを実行する関数(hptl_oncopy)を定義します。
複数datatypeを指定する場合は,第一引数にコンマ区切りの文字列を指定してください。
(II) ペーストイベントハンドラを実行する関数(hptl_onpaste)定義します。
複数datatypeを指定する場合は,第一引数にコンマ区切りの文字列を指定してください。ペーストイベントハンドラを実行する関数(hptl_onpaste)の詳細は,「14.12 クライアントサイドデータ通信JavaScript」を参照してください。
(III) 補助ウィンドウを閉じます。
(2) データ転送先画面(補助ウィンドウを開く画面)
- 補助ウィンドウを開きます。
(I) 補助ウィンドウのURLを作成します。
(II) 補助ウィンドウを開くJavaScriptを定義します。
- <csdc:dest>タグのdatatype属性を指定します。補助ウィンドウ画面の<csdc:src>タグのdatatypeと一致するよう定義してください。ただし,このバージョンでは,<csdc:dest>のdatatype属性に指定した先頭datatypeだけを有効とします。
- <csdc:onpaste>タグ内にペーストイベントハンドラの処理を定義します。
(I) JavaScript公開関数「hptl_getPortalClipboardData」を使用して,userData領域またはポータルクリップボードウィンドウからJavaScript連想配列オブジェクトを取得します。
(II) JavaScript関数「getElementById(“html部品名称”)」を使用して,データ転送先のHTMLオブジェクトを取得します。
(III) (I)で取得したJavaScript連想配列オブジェクトを展開して,値を取得します。
(IV) (II)で取得したHTMLオブジェクトのvalueに(III)の値を格納します。
- <csdc:body>タグにデータ転送先のHTML構成を定義します。
- 注意事項
- データ転送先画面の定義<csdc:dest>のdatatypeが,データ転送元画面の定義<csdc:src>のdatatypeに含まれていない場合は何の処理も行われません。
- 複数階層にわたって補助ウィンドウを開いた場合に,途中のウィンドウが閉じられた場合は,親ウィンドウを見つけることができなくなります。その場合は,各ポートレット開発者が,適切なエラーメッセージを表示するなどの対応をする必要があります。