wisemapping-frontend/packages/mindplot
2023-01-30 04:10:57 +00: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 Migration to cypress 10. 2022-10-30 23:22:13 -07:00
src Migrate web2d to storybook 2023-01-30 04:10:57 +00:00
test Improve copy paste support. 2023-01-14 19:54:08 -08: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
babel.config.json Move config files. 2023-01-08 19:41:17 -08:00
cypress.config.js Migration to cypress 10. 2022-10-30 23:22:13 -07:00
jest.config.js Merged in feature/browser_export (pull request #20) 2021-12-29 18:35:58 +00:00
package.json Migrate web2d to storybook 2023-01-30 04:10:57 +00:00
README.md Merged in mindplot-webcomponent (pull request #57) 2022-08-26 01:35:59 +00:00
tsconfig.json Add string validation 2023-01-13 22:59:56 -08:00
webpack.common.js Improve webpack config refector common configuration. 2023-01-15 10:40:16 -08:00
webpack.dev.js Fix webpack.plaground to inherit from webpack.common 2021-12-21 20:53:30 -08:00
webpack.playground.js Update to yarn 3. 2023-01-04 18:23:09 -08:00
webpack.prod.js Omtimize playground load time 2022-01-05 18:02:55 -08:00

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.