(this is a fork of react-planner by CVDLAB)
react-floorplanner is a React component which can be used to draw model buildings. Drag & drop from a catalog of customizable and ready-to-use objects, you can start from 2D wireframes and land on 3D models. As a developer you can provide your users with new objects by adding them to the catalog.
import React from 'react';
import ReactDOM from 'react-dom';
import {Map} from 'immutable';
import {createStore} from 'redux';
import {Provider} from 'react-redux';
import { ExampleCatalog } from 'react-floorplanner';
import {
Models as PlannerModels,
reducer as PlannerReducer,
ReactPlanner,
Plugins as PlannerPlugins,
} from 'react-floorplanner'; //react-floorplanner
//define state
let AppState = Map({
'react-floorplanner': new PlannerModels.State()
});
//define reducer
let reducer = (state, action) => {
state = state || AppState;
state = state.update('react-floorplanner', plannerState => PlannerReducer(plannerState, action));
return state;
};
//init store
let store = createStore(reducer, null, window.devToolsExtension ? window.devToolsExtension() : f => f);
let plugins = [
PlannerPlugins.Keyboard(),
PlannerPlugins.Autosave('react-floorplanner_v0'),
PlannerPlugins.ConsoleDebugger(),
];
//render
ReactDOM.render(
(
<Provider store={store}>
<ReactPlanner catalog={MyCatalog} width={800} height={600} plugins={plugins}
stateExtractor={state => state.get('react-floorplanner')}
/>
</Provider>
),
document.getElementById('app')
);
Cooming soon!
Your contributions (issues and pull request) are very appreciated!
MIT