すべての「ページ」(場所)に同じテンプレートを再利用するGWTアプリを作成しようとしています。アプリには4つの主要な「ページ」があります。
- ダッシュボードページ(
http://www.mywebapp.com/#dashboard
) - 電卓ページ(
http://www.mywebapp.com/#calc
) - Configuratorページ(
http://www.mywebapp.com/#config
) - ログインページ(
http://www.mywebapp.com/#login
)
各「ページ」には、同じテンプレートのルックアンドフィールがあります。(1)ロゴとナビゲーションメニューを含むヘッダーセクション、(2)「ページ」固有のコンテンツを含むコンテンツセクション(つまり、#dashboard
場所、#login
場所など)、および(3)いくつかのリンクを含むフッターセクション。ご覧のとおり、ページごとに変わるのはコンテンツセクションだけです。通常のテンプレート化されたWebサイトと同じように。
重要なのは、各「ページ」(場所)は実際にはかなり複雑なUIであり、多くのウィジェットで構成される多くの異なるパネルがあります。ユーザーがアプリを操作すると、これらのパネルが存在しなくなり、表示が常に変化します。たとえば、#calc
ページ上で、ユーザーは電卓を表示する「モード」を基本または詳細のいずれかで選択できます。ユーザーが[詳細]を選択すると、(基本パネルに加えて)いくつかの追加パネルが表示されます。
このようなアクションを履歴に保持して、ユーザーが基本モードまたは詳細モードのいずれかでアプリをブックマークできるようにすると、次のようになります。
http://www.mywebapp.com/#calc/basic
; またhttp://www.mywebapp.com/#calc/advanced
ここに問題があります:
ここではすでにいくつかの「レベル」の活動/場所が行われています。「アプリ」レベルでは、ダウンロード時にユーザーに表示する必要のあるテンプレートがありMyWebAppModule implements EntryPoint
ます。これTemplatePlace
は、呼び出す前にHistoryHandlerに登録されるデフォルト/初期の場所です。
public class MyWebAppModule implements EntryPoint {
@Override
public void onModuleLoad() {
// ...
// The first place we go to when this module downloads.
TemplatePlace templatePlace = getSomehow();
historyHandler.register(placeController, eventBus, templatePlace);
historyHandler.handleCurrentHistory();
}
}
次に、すべての異なる「ページ」があります。 DashboardPlace
、、CalculatorPlace
など、すべて独自のビュー/表示があります。たとえば、ユーザーが[電卓]リンクをクリックしてに移動するCalculatorPlace
と、電卓を基本モードまたは詳細モードで使用することを識別した場合とは異なるビューが表示されます。
最後に、およびなど、各ページ/場所内にさまざまな表示領域、パネルなどがBasicCalculatorPlace
ありAdvancedCalculatorPlace
ます。これは、ナビゲーションのさまざまな「レベル」が意味するものです。
- アプリケーションレベル(すべてのページ/場所に適用するテンプレート)
- ページレベルまたは場所レベル
- ディスプレイレベルまたはパネルレベル
質問:
ユーザーが次のすべてを実行するときに、ブックマーク可能なURL(場所)を実現したいと思います。
- ホームページに移動します(
http://www.mywebapp.com
) - いずれかの「ページ」(
http://www.mywebapp.com/#calc
など)に移動します http://www.mywebapp.com\#calc\#advanced
ページ固有のパネルまたは表示構成(など)を引き起こすページ/場所を使用します
いくつのアクティビティと場所を作成しますか?ActivityManagerは何人ですか?ブックマーク可能なUIの「レベル」ごとに、アクティビティ/場所をどの程度細かくする必要があるかを尋ねていると思います。前もって感謝します!