wisemapping-frontend/packages/mindplot
Clément CREUSAT 20658d3a69 Merged in feature/custom-hook-editor (pull request #74)
feat: add custom hook useEditor to initialize editor

* feat: add custom hook useEditor to initialize editor


Approved-by: Paulo Veiga
2023-11-21 03:00:11 +00:00
..
.storybook Storybook. 2023-01-31 07:55:11 -08:00
__tests__ Merged in web2d-coreJS-solutions (pull request #5) 2021-12-02 00:41:56 +00:00
assets/icons Remove more icons 2022-11-19 13:27:19 -08:00
cypress Add support for new theme 2023-03-01 22:13:31 -03:00
libraries Migrate web2d to typescript 2023-02-10 02:51:52 +00:00
src Improve german translation. 2023-07-30 17:26:19 -07:00
storybook/src/stories Add support for new theme 2023-03-01 22:13:31 -03:00
test/unit Migrate web2d to typescript 2023-02-10 02:51:52 +00:00
.eslintrc.json Refactor to parent dev dependencies. 2023-01-08 19:06:44 -08:00
.gitignore Merged in web2d-coreJS-solutions (pull request #5) 2021-12-02 00:41:56 +00:00
README.md Merged in mindplot-webcomponent (pull request #57) 2022-08-26 01:35:59 +00:00
babel.config.json Migrate web2d to typescript 2023-02-10 02:51:52 +00:00
cypress.config.js Migrate web2d to typescript 2023-02-10 02:51:52 +00:00
jest.config.js Migrate web2d to typescript 2023-02-10 02:51:52 +00:00
package.json Merged in feature/custom-hook-editor (pull request #74) 2023-11-21 03:00:11 +00:00
tsconfig.json Migrate web2d to typescript 2023-02-10 02:51:52 +00:00
webpack.common.js Migrate web2d to typescript 2023-02-10 02:51:52 +00:00
webpack.dev.js Fix webpack.plaground to inherit from webpack.common 2021-12-21 20:53:30 -08:00
webpack.prod.js Fix mindplot inclusion of web2d. 2023-07-31 22:56:25 -07:00

README.md

WiseMapping Mindplot

WiseMapping Mindplot module is the core mind map rerendering of WiseMapping. This lighway library allows eithe edition and visualization of saved mindmaps.

Usage

A WebComponent implementation for mindplot designer is available. This component is registered as mindplot-component in customElements API. (see https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/define) For use it you need to import minplot.js and put in your DOM a tag. In order to create a Designer on it you need to call its buildDesigner method. Maps can be loaded through loadMap method.

Code example

<!DOCTYPE html>
<html>
<head>
  <script src='mindplot.js'></script>
</head>
<body>
  <mindmap-comp id='mindmap-comp' mode="viewonly"></mindmap-comp>
  <script>
    var webComponent = document.getElementById('mindmap-comp');
    webComponent.buildDesigner(persistence, widget);
    webComponent.loadMap("1");
  </script>
</body>
</html>

Optionaly you can use your own presistence manager and widget manager. If you don't have special requirements you can use the defaults.

var persistence = new LocalStorageManager(
  'map.xml',
  false, false
);
var widget = new MyAwesomeWidgetManager();
// then build the designer with these params
webComponent.buildDesigner(persistence, widget);

Usage with React framework

To use the web component in your JSX code, first you need to register it in the IntrinsicElements interface using provided MindplotWebComponentInterface

TypeScript example

import { MindplotWebComponentInterface } from '@wisemapping/mindplot';

declare global {
  namespace JSX {
    interface IntrinsicElements {
      ['mindplot-component']: MindplotWebComponentInterface;
    }
  }
}

const App = ()=>{
  const mindplotComponent: any = useRef();
  
  useEffect(()=>{
    mindplotComponent.current.buildDesigner();
    mindplotComponent.current.loadMap("map_id");
  }, [])

  return (<div>
    <mindplot-component
        ref={mindplotComponent}
        id="mindmap-comp"
        mode={options.mode}
      ></mindplot-component>
  </div>);
}

Check out the examples located in test/playground/map-render/js for some hints on high level usage. You can browse them by running yarn playground.