three.cad/src/index.js

80 lines
1.5 KiB
JavaScript
Raw Normal View History

2021-03-26 13:38:49 +08:00
2021-03-27 04:40:40 +08:00
import ReactDOM from 'react-dom'
import React from 'react'
2021-03-27 03:18:11 +08:00
import { Root } from './app.jsx'
2021-03-26 17:25:28 +08:00
2021-03-29 10:23:24 +08:00
import { createStore, applyMiddleware } from 'redux'
import logger from 'redux-logger'
2021-03-29 18:27:34 +08:00
let _entId = 0
2021-03-29 10:23:24 +08:00
function reducer(state = {}, action) {
2021-03-30 09:46:55 +08:00
let id;
2021-03-29 10:23:24 +08:00
switch (action.type) {
case 'toggle':
return { ...state, toggle: action.payload }
2021-03-29 18:27:34 +08:00
case 'rx-sketch':
2021-03-30 09:46:55 +08:00
id = 's' + action.obj.id
2021-03-29 18:27:34 +08:00
return {
...state, treeEntries: {
2021-03-30 09:46:55 +08:00
byId: { ...state.treeEntries.byId, [id]: action.obj },
allIds: [...state.treeEntries.allIds, id]
},
2021-03-30 13:13:13 +08:00
}
case 'set-active-sketch':
return {
...state, activeSketch:'s'+action.sketch.id
}
case 'exit-sketch':
return {
...state, activeSketch:''
2021-03-29 18:27:34 +08:00
}
case 'rx-extrusion':
2021-03-30 09:46:55 +08:00
id = 'e' + action.mesh.id
2021-03-29 18:27:34 +08:00
return {
...state,
treeEntries: {
2021-03-30 09:46:55 +08:00
byId: { ...state.treeEntries.byId, [id]: action.mesh },
allIds: [...state.treeEntries.allIds, id]
2021-03-29 18:27:34 +08:00
},
mesh2sketch: {
...state.mesh2sketch,
2021-03-30 09:46:55 +08:00
['s' + action.sketch.id]: id
2021-03-29 18:27:34 +08:00
}
}
2021-03-29 10:23:24 +08:00
default:
return state
}
}
2021-03-29 18:27:34 +08:00
const preloadedState = {
treeEntries: {
byId: {
// "s1": obj,
// "s1": obj2,
},
allIds: [
// 's1','m1'
]
},
}
window.store = createStore(reducer, preloadedState, applyMiddleware(logger))
2021-03-29 10:23:24 +08:00
2021-03-27 03:18:11 +08:00
document.addEventListener('DOMContentLoaded', () => {
ReactDOM.render(
React.createElement(Root, { store: store }, null)
2021-03-27 04:40:40 +08:00
, document.getElementById('react')
2021-03-27 03:18:11 +08:00
);
2021-03-27 04:40:40 +08:00
});