summaryrefslogtreecommitdiff
path: root/frontend/src/sagas/prefabs.js
blob: 80ba2f80f612785723df8fc0d60d42e6f452dc99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import {call, put, select} from "redux-saga/effects";
import {addToStore} from "../actions/objects";
import {addPrefab} from "../api/routes/prefabs";
import {getTopologyAsObject} from "./objects";

export function* onAddPrefab(action) {
    try {
        const state = yield select((state) => state)
        console.log("DEBUG: " + state.objects.tile[state.interactionLevel.tileId].rack._id)
        const currentRackId = yield select((state) => state.objects.tile[state.interactionLevel.tileId].rack._id)
        const currentRackJson = yield call(getTopologyAsObject, currentRackId)
        //TODO: yield call the function in saga to export the specific part of the topology
        const prefab = yield call(addPrefab, { name: action.name, rack: currentRackJson })
        yield put(addToStore('prefab', prefab))

    } catch (error) {
        console.error(error)
    }
}