Upload
akira-kuratani
View
975
Download
2
Embed Size (px)
DESCRIPTION
2013/12/18 Salesforce Developer User Group Meetup #4 LT Salesforce1 パブリッシャーアクションの歩き方
Citation preview
Salesforce Developer User Group [Tokyo] Meetup #4 Lightning Talks
!Salesforce1 パブリッシャーアクションの歩き方
(Visualforce編)
倉谷 彰(@a_kuratani)2013/12/18
自己紹介
倉谷 彰 @a_kuratani
株式会社チームスピリット
R&Dグループ エンジニア
Force.com Advent Calendar 管理人 http://atnd.org/events/45110
Salesforce1対応の機能を 開発していますか?
Salesforce1 の開発方法は…
今回は…
Visualforceページで パブリッシャーアクション
を作る
…ために使える メソッド/イベントを
紹介します
利用できるメソッド
publish publisher.setValidForSubmit
•送信ボタンを活性化する
!
•送信ボタンを非活性化する
!
•ポイント非Salesforce1では送信ボタンが表示されない
Sfdc.canvas.publisher.publish( { name : “publisher.setValidForSubmit", payload:”true" });
Sfdc.canvas.publisher.publish( { name : “publisher.setValidForSubmit", payload:”false" });
publish publisher.close
•アクションを閉じる
!
•ポイント非Salesforce1環境ではアクションを閉じる動作がない
Sfdc.canvas.publisher.publish( { name : “publisher.close", payload : { refresh:"true" } });
publish publisher.refresh
•フィードをリフレッシュする
!
•ポイントSalesforce1環境ではアクションを閉じるときにフィードをリフレッシュするので不要(非Salesforce1環境用?)
Sfdc.canvas.publisher.publish( { name : “publisher.refresh”, payload : { feed:"true" } });
Force.com Canvas SDKの イベントが一部利用できる
subscribe publisher.setupPanel/showPanel/clearPanel
•アクションを含む画面が表示されたときの処理
!
•アクションがアクティブになった時の処理
!
•アクションが非アクティブになった時の処理
Sfdc.canvas.publisher.subscribe( { name : “publisher.setupPanel”, onData:function(e) { alert('setupPanel'); } });
Sfdc.canvas.publisher.subscribe( { name : “publisher.showPanel”, onData:function(e) { alert('showPanel'); } });
Sfdc.canvas.publisher.subscribe( { name : “publisher.clearPanel”, onData:function(e) { alert('clearPanel'); } });
subscribe publisher.post
•送信ボタンが押下された時の処理Sfdc.canvas.publisher.subscribe( { name : “publisher.post”, onData:function(e) { alert('post'); } });
subscribe publisher.getPayload/setPayload/success/failure
• Visualforceページでは利用できなさそう
•参考文献http://www.slideshare.net/developerforce/df13-salesforce1-mt
まとめ
タイプ 名称 S1 非S1 備考
メソッドpublisher.setValidForSubmit
◯ ✕
publisher.close ◯ ✕
publisher.refresh ✕ ◯
Canvasイベント
publisher.setupPanel ◯ ◯ 非S1は初回のみpublisher.showPanel ◯ ◯publisher.clearPanel ◯ ◯publisher.post ◯ ✕
publisher.success ✕ ✕
publisher.failure ✕ ✕
publisher.getPayload ✕ ✕
publisher.setPayload ✕ ✕
demo
パブリッシャーアクションを作って学んだこと
•下記のメソッドが使えればSalesforce1対応はできる setValidForSubmit / post / close ※非Salesforce1では動作しない
•非SalesforceではSubmitしてもアクションが閉じない Submit後に完了画面を表示する、など対応が必要
•送信ボタンは目立たない、かつ、非Salesforce1環境では表示されないSubmitボタンは自作したほうがわかりやすい?
Sample Source Code
• Gisthttps://gist.github.com/kuratani/8007952
!
!
•求む!株式会社チームスピリットでは一緒に開発してくれる 開発者の方を募集中です。ご興味のある方はお声がけください!
Enjoy Salesforce1