actionOrderPage.js 902 B

123456789101112131415161718192021222324
  1. import { put, take } from "redux-saga/effects";
  2. import { actionPromiseClear } from "../reducers";
  3. import { actionGoodsAll } from "./actionGoodsAll";
  4. import { actionOrderById } from "./actionOrderById";
  5. import { actionPromisesClear } from "./actionPromisesClear";
  6. import { actionUsersAll } from "./actionUsersAll";
  7. export const actionOrderPage = ({ _id, promiseName = "orderById" } = {}) => ({ type: "ORDER_PAGE", payload: { _id, promiseName } });
  8. export function* orderPageWorker(action) {
  9. const { _id, promiseName = "orderById" } = action.payload || {};
  10. yield put(actionUsersAll());
  11. yield put(actionGoodsAll());
  12. if (_id) {
  13. yield put(actionOrderById({ _id, promiseName }));
  14. } else {
  15. yield put(actionPromiseClear(promiseName));
  16. }
  17. yield take("ORDER_PAGE_CLEAR");
  18. yield put(actionPromisesClear(["orderUpsert", "goodsAll", promiseName, "usersAll"]));
  19. }