onScreenSubmitted システム イベントの説明は次のとおりです。
「画面が送信される前に発生するイベントで、ウィジェットが保存されていない変更などを確認できるようにします。」
しかし、実際にその中から送信を停止する方法に関する情報は見つかりません。変更の破棄を防ぐことができない場合、変更が保存されていないことをユーザーに通知できるのはあまり役に立ちません。
onScreenSubmitted システム イベントの説明は次のとおりです。
「画面が送信される前に発生するイベントで、ウィジェットが保存されていない変更などを確認できるようにします。」
しかし、実際にその中から送信を停止する方法に関する情報は見つかりません。変更の破棄を防ぐことができない場合、変更が保存されていないことをユーザーに通知できるのはあまり役に立ちません。
画面の送信をキャンセルするには、実行状態に「false」を返すだけのカスタム アクション ウィジェットが必要です。
run: function(state) {
state.getExecutionState().setReturnValue(false);
}
次に、画面でアクションウィジェットをそのように使用できるはずです(私はアクションウィジェットを「キャンセルイベント」と呼びました):
<when system-event="onBeforeScreenSubmit">
<if>
<confirm message="Are you sure you want to leave?" />
<else>
<cancel-event />
</else>
</if>
</when>