2017-07-17 9 views
0

すぐにadmin-on-restは、DELETE API呼び出しを発行すると、ローカル状態からリソースを削除します。だから、その状態をリフレッシュする前でさえもUIから消えてGETの状態になります。これはカッコいい。即時削除ではないCRUD_DELETE_SUCCESSレデューサを無効にする

ただし、削除操作が即座に行われることはありません。実際の例はAWSです - EC2インスタンスを削除するには時間がかかります。 RDSインスタンスを削除するには15分かかります。クラウドフロントインスタンスの削除にはさらに時間がかかります。

私のAPIのサブセットについては、DELETEボタンを削除するのではなく、ローカル状態(フィールド '状態'は '削除'になります)を更新します。

this commitを見ると、すべてCRUD_DELETE_SUCCESSがリストから削除されています。

私はカスタムアクションとボタンを実装できると思いますが(おそらく確認ページを追加するためにコピーパスタが増えていますか?)、私はローカル状態をどのように更新するのかはわかりません。 fetch: UPDATEアクション?

誰かがadmin-on-restでこれを行うための「正しい」方法について考えていますか?

+0

'crudDelete'は' 'に設定できるものですが、それを明らかにする方法があります。 – Jc2k

+0

問題を試してみることができます。彼らはあなたのアイデアが好きなら、彼らは聞いています。または、なぜ彼らが聞いていないのかについて明確に正当な理由があります。 –

答えて

0

カスタムサガも必要になるでしょう。その中で、完了したかどうかをチェックするために必要なロジックを使用して、カスタム削除アクションを処理します。そうなったら、CRUD_DELETE_SUCCESSを予定のデータとともに発送してください(コードを調べる必要があります)。

+0

しかし、私が 'CRUD_DELETE_SUCCESS'をディスパッチすれば、私は実際にトリガを避けようとしていた非常に小さなコードをトリガしませんか? – Jc2k

0

いつでもAORでカスタムアクションにストラップすることができます。 DELETINGは、コンポーネントによってディスパッチされたアクションです。あなたはそれがDELETINGは、(削除にレコード状態を設定)見たときの状態変化を実行するために減速を割り当てることができ

https://marmelab.com/admin-on-rest/Actions.html#using-a-custom-reducer

サガはホールディングページにユーザーをリダイレクトすることができます。

削除操作が完了すると、AORはDELETING_SUCCESSを、それ以外の場合はDELETING_FAILUREを発します。これを使用して、通知ステータスに応じて通知を表示することができます。

基本的には、既存のロジックをバイパスするこのサイクル全体を処理します。

+0

これはおおよそ私が入ってきた方向ですが、コピーと貼り付けと複製がたくさんあるようです。 – Jc2k

+0

あなたのデータフローがaorからカスタム(および別々の)ものである限り、多くのコピー貼り付けが行われるかどうかはわかりません。定期的なフローにいつでも参加したい場合は、カスタムアクションからCRUD_DELETE_SUCCESS/FAILURE(@gildasのように)を撃って、通常のフローに参加できます。 –

+0

しかし、もし私が 'CRUD_DELETE_SUCCESS'を発射すれば、私はリスト還元人を誘発しませんか? ([ここ](https://github.com/marmelab/admin-on-rest/commit/cd5a5a9e95f013cd929cfe6398fed7f603ce9d3d) – Jc2k

関連する問題