Skip to content

License

Notifications You must be signed in to change notification settings

archef2000/react-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5585dd4 · · Oct 8, 2025

History

54 Commits
Aug 31, 2025
Oct 8, 2025
Aug 28, 2025
Oct 8, 2025
Aug 28, 2025
Aug 28, 2025
Sep 3, 2025
Oct 4, 2025
Aug 28, 2025
Aug 28, 2025
Oct 4, 2025
Oct 8, 2025
Aug 28, 2025
Oct 4, 2025
Oct 4, 2025

Repository files navigation

react-planner

This is an updated version of the original project with TypeScript and major libary version updates and changes.

react-planner 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.log.

npm javascript react-version

Information

  • This updated version can be used as a replacement with only minor changes to the Catalog

Demo

Demo

react-planner

Usage

import React from 'react';

import ReactDOM from 'react-dom';

import {createStore} from 'redux';

import {Provider} from 'react-redux';


//download this demo catalog https://github.com/archef2000/react-planner/tree/master/demo/src/catalog

import MyCatalog from './catalog/mycatalog';


import {
   Models as PlannerModels,
   reducer as PlannerReducer,
   ReactPlanner,
   Plugins as PlannerPlugins,

} from 'react-planner';




//define state

let AppState = Map({
   'react-planner': new PlannerModels.State()

});


//define reducer

let reducer = (state, action) =>gt; {
   state = state || AppState;
   state = state.update('react-planner', plannerState =>gt; PlannerReducer(plannerState, action));
   return state;

};


let store = createStore(reducer, null, window.devToolsExtension ? window.devToolsExtension() : f =>gt; f);


let plugins = [
   PlannerPlugins.Keyboard(),
   PlannerPlugins.Autosave('react-planner_v0'),
   PlannerPlugins.ConsoleDebugger(),

];


//render

ReactDOM.render(
   (
     Provider store={store}>gt;
       ReactPlanner
         catalog={MyCatalog}
         width={800}
         height={600}
         plugins={plugins}
         stateExtractor={state =>gt; state['react-planner']}
       />gt;
     Provider>gt;
   ),
   document.getElementById('app')

);

Docs

Authors

Developed @ CVDLAB

Contributing

Your contributions (issues and pull request) are very appreciated!

Contributors

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published