1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-25 12:56:41 +07:00

setting nodes on flow\

This commit is contained in:
muerwre 2019-08-25 11:04:28 +07:00
parent 4a7fe884f9
commit 4c49ed000a
4 changed files with 16 additions and 9 deletions

View file

@ -1,15 +1,17 @@
import { createReducer } from '~/utils/reducer';
import { INode, UUID } from '../types';
import { INode, IError } from '../types';
import { FLOW_HANDLERS } from './handlers';
export type IFlowState = Readonly<{
is_loading: boolean;
nodes: Record<UUID, INode>;
nodes: INode[];
error: IError;
}>;
const INITIAL_STATE: IFlowState = {
nodes: {},
nodes: [],
is_loading: false,
error: null,
};
export default createReducer(INITIAL_STATE, FLOW_HANDLERS);

View file

@ -1,23 +1,25 @@
import { takeLatest, call } from 'redux-saga/effects';
import { takeLatest, call, put } from 'redux-saga/effects';
import { REHYDRATE } from 'redux-persist';
import { FLOW_ACTIONS } from './constants';
import { getNodes } from '../node/api';
import { flowSetNodes } from './actions';
import { objFromArray } from '~/utils/fn';
import { IResultWithStatus, INode } from '../types';
function* onGetFlow() {
const {
data: { nodes = null },
error,
} = yield call(getNodes, {});
}: IResultWithStatus<{ nodes: INode[] }> = yield call(getNodes, {});
if (!nodes) {
if (!nodes || !nodes.length) {
// todo: set error empty response
}
// todo: write nodes
// yield put(flowSetNodes());
yield put(flowSetNodes(nodes));
console.log('flow', { nodes, error });
// console.log('flow', { nodes, error });
}
export default function* nodeSaga() {

View file

@ -114,4 +114,5 @@ export interface INode {
}
export type IUploadProgressHandler = (progress: ProgressEvent) => void;
export type IValidationErrors = Record<string, ValueOf<typeof ERRORS>>;
export type IError = ValueOf<typeof ERRORS>;
export type IValidationErrors = Record<string, IError>;