私たちのアプリでは、ダイアログ階層の問題を解決しています。次の例を考えてみましょう: ユーザーがダイアログ (オブジェクトのリスト) を開き、最初のダイアログ (詳細など) から別のダイアログを開き、次のダイアログ (ダイアログの日付ピッカーなど) を開きます。
ユーザーがダイアログの境界の外をクリックするとどうなりますか?
- 最上位のダイアログを閉じてキャンセルする必要がありますか?
- ダイアログのスタック全体をキャンセルする必要がありますか?
- または、クリック ターゲットがまったく異なるダイアログのスタック (アプリ内のプロジェクトのリスト) を開く場合、両方のスタックを同時に開く必要がありますか?
これらはすべて非常に現実的な使用例であり、(jQuery UI のように) 絶対配置オーバーレイを実行する小規模なライブラリが多数見られる一方で、より複雑なダイアログ ワークフローの管理に役立つものは見当たりません。現時点では、これらの問題を解決する体系的な方法はありません。ほとんどの場合、ケースバイケースで判断しているため、エラーが発生しやすくなっています。インスピレーションを得るための解決策、ライブラリ、または少なくともいくつかのコード/プロジェクトを提案してください。