1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SAP UI5】WizardStep ステップインジケーターでの遷移を無効化する

Posted at

はじめに

 本記事は、WizardStepのステップインジケータークリック時のイベントを無効化する方法についてまとめました。

経緯

 WizardのStepの遷移の制御を独自のメソッド内で nextStep() previousStep()を用いて遷移の処理を記述していましたが、ステップインジケーターをクリックしてページ遷移が行われると、期待するイベントが発火されることなく遷移してしまうという問題がありました。
 各ページの遷移ごとに処理内容も異なるため、ステップインジケーターのイベントを取得するのではなく、イベント事態を無効化してしまう方向性で解決することにしました。

解決方法

・Wizardのクリック時のイベント関数を上書きする。
this.oWizard = this.getView().byId("wizard")
this.oWizard._getProgressNavigator().ontap = function(){};

ただし、この方法だとイベントを無効化しただけであり、以下の画像のように各ステップのクリックすること自体は可能なためユーザを困惑させてしまう可能性があります。

image.png

・カスタムCSSでイベントとカーソルを無効にする。
.sapMWizardProgressNav {
  pointer-events: none;
  cursor: not-allowed;
}

この方法であれば、クリックで遷移することもなくカーソルも変わらないため、ユーザにボタンとして認識されることがなくなり、遷移できないと困惑されることはなくなると思われます。

image.png

まとめ

クリックイベントのみを無効化するだけでは、クリックできるのに遷移できないとユーザを困惑させてしまう可能性があるため、カスタムCSSでクリックイベントを無効化することで、期待通りの遷移処理を実現することができました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?