tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:キャンセルボタンコンポーネントを作ってみました

いくつかのVisualforceページにキャンセルボタン機能を実装する際に、同じような処理を書かなくていいように共通で使用できるキャンセルボタンコンポーネントを作ってみました。

f:id:tyoshikawa1106:20130425080127p:plain



説明

戻り先URLを受け取ってそのURLのページに遷移します。
戻り先URLがNULLの場合はホーム画面に遷移します。

パラメータについて

cancelButtonLabel

ボタンのラベルです。
画面によっては「キャンセル」や「戻る」など使い分けが必要になると思うので、引数で値を変更できるようにしてみました。

returnUrl

ボタンクリック時の遷移先URLです。
PageReference型で渡す必要があります。

reRenderArea

画面遷移する際にreRenderを行うIDを指定するためのものです。
reRenderを指定しないと遷移時に画面のチラツキがでてしまうので指定できるようにしてあります。
基本的にapex:formのIDを指定する想定です。
ページによってIDが異なるケースを想定して引数で変更できるようにしてみました。

使用例

次のように記載することで使用できます。

<apex:page controller="CancelButtonDemoController" title="CancelButtonDemoPage" id="page">
	<apex:form id="form">
		<c:CancelButton cancelButtonLabel="CancelButton" returnUrl="{!returnUrl}" reRenderArea="{!$Component.form}" id="c_cancelButton" />
	</apex:form>
</apex:page>

GitHub Link

Apex_CancelButtonComponent

https://github.com/tyoshikawa1106/Apex_CancelButtonComponent