2017-05-19 6 views
0

私は、コンポーネントとコンポーネント間通信のためのオブザーバーパターンとmithriljs(0.2.5)を使用してアプリを設計しました。しかし、私は別のコンポーネントに基づいてコンポーネントのアクションをブロックするという要件を持っています。Mithriljs inter component communication - blocking

私は2つのコンポーネントを持っています。ItemList & ItemDetail。アイテムがリストコンポーネントで選択されると、詳細がロードされるITEM_SELECTEDイベントが発生します。詳細コンポーネントを使用すると、ユーザーの詳細を編集して保存できます。

詳細がダーティ(編集されずに保存されている)で、ユーザーが選択しようとすると、はい/いいえ/取り消しオプションを使用してアイテム保存画面が表示されます。選択されたオプションに基づいて、新しい詳細をロードするか、キャンセルして前の選択に戻ります。

選択コンポーネントは詳細の汚れを認識しません。詳細コンポーネントは保存確認を表示します。

キャンセルが選択されている場合、詳細コンポーネントがREVERT_SELECTIONメッセージを表示するオプションの1つは、詳細コンポーネントがgo/no go応答を返すまでアイテム選択完了をブロックすることです。ブロックしています。

おかげ

+0

、あなたはまだミスリル1.1への移行を検討していますか?この時点で約5ヶ月間外出していたので、すぐに検討したいことがあります。 –

+0

@Isiah Meadows、要するに、ミスリル0.1xでプロジェクトを開始しました.2014年半ばには、それはかなり複雑で大規模です。 Mitriljsは素晴らしい(ありがとう!)、特にdom管理/レンダリングのパフォーマンスです。私たちは多くのMithriljs 0.xパターンを使い、m.prop、m.syncのように扱っています。 m.start/endComputation(プロジェクトはWebソケットに基づいています)。私たちは3つのパーティライブラリ(jQuery、jQueryUI、Gridstack、C3js ..)を持っていますので、vdom.configの使用量が多すぎます。 1.0 apiを見ると、v1.xの完全なメリットを得るために重要なリファクタリングが行われることはありません。これは私たちを元気にしている – chifer

答えて

0

私は最善の解決策は、はい/いいえ/キャンセルの選択が行われuntiすべてのGUIを妨げることになりモーダルダイアログを使用することであろうと仮定します。

Imミスリル0.2.5あなたはモーダルに対して利用可能な近似があります。ただ、好奇心のうち

Please take a look to this samples