Salesforceで呼び出したカスタムコンポーネントのメソッドにアクセス
イシュー
- Salesforceで呼び出したカスタムコンポーネントのメソッドに、親のページ(呼び出し元)からアクセスできないんだけど、、
- どやってやんの?
参考
呼び出し元から、カスタムコンポーネントのメソッドにアクセスはできていた
- アクセスはできていたけど、カスタムコンポーネントのメソッドは非同期で動作するから、メソッドの返り値が取得できない
- apex:actionFunction で呼び出しを行ったcallback関数内で処理させることってできるだろうか?
参考
- apex:actionFunction で呼び出しを行ったcallback関数内で処理させることってできるだろうか?
- JavaScript Remoting for Apex Controllers
ActionStatus
- Salesforce Ajaxの同期処理にActionStatusが使えそう
参考
- たいていのことは、「気合い」と「根性」で乗り越えられるものだ!!:【salesforce】apex:actionStatusを使ってみる
- タイマーの設定は、apex:actionPoller
- ステータスの設定は、apex:actionStatus
- タイマーのstatusに、ステータスのidを指定する
- apex:actionStatus
- apex:actionFunction
- Visualforceだけ(JavaScriptを使用せず) でボタンの有効化・無効化を制御する - tasuku_papaの徒然なるブログ
- Alex Blog: Using a Loading Overlay with Visualforce's ActionStatus tag for Form Refreshes
- jquery at nkjmkzk.net
- モーダルダイアログサンプル
- http://developerforcejp.s3.amazonaws.com/developer/docs/pages/salesforce_pages_developers_guide.pdf
<apex:commandButton action="{!reloadParam}" value="GO" rerender="dialogPanel" status="loadComponent" onClick="jQuery('#dialog-modal').dialog('open');"/> <!-- ロード中ステータス表示 --> <apex:actionFunction name="refreshParent" action="{!refreshParent}" rerender="refreshParent" status="loadParent" /> <apex:actionStatus id="loadParent"> <apex:facet name="start"> <img src="{!$Resource.CommonStyle}/images/loading.gif" width="24" height="24"/> </apex:facet> </apex:actionStatus>
- これの意味は、[Go]をクリックしたら、reloadParam実行
- ステータス:loadComponent へ
- actionFunction のステータスにloadParent設定
- loadParentのスタート時は、loading.gifを設定
- [GO]ボタンのonClickで、ダイアログが呼び出されると同時に、コンポーネント内のactionStatus(loadComponent)を呼び出し、ローディングアイコンを表示するようにしています。