wisemapping-frontend/packages/mindplot
Paulo Gustavo Veiga 506797b8a7 WIP
2022-11-24 02:13:14 -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 Migration to cypress 10. 2022-10-30 23:22:13 -07:00
src WIP 2022-11-24 02:13:14 -08:00
test WIp 2022-11-24 01:07:28 -08:00
.eslintignore Merged in feature/mindplot-lint (pull request #11) 2021-12-20 20:54:31 +00:00
.eslintrc.json Merged in eslint-prettier-config (pull request #53) 2022-07-14 03:12:12 +00:00
.gitignore Merged in web2d-coreJS-solutions (pull request #5) 2021-12-02 00:41:56 +00:00
babel.config.json Merged in feature/browser_export (pull request #20) 2021-12-29 18:35:58 +00: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
jsconfig.json Fix module resolution 2022-01-30 02:37:14 -08:00
package.json Update dependencies 2022-11-12 15:11:05 -08:00
README.md Merged in mindplot-webcomponent (pull request #57) 2022-08-26 01:35:59 +00:00
tsconfig.json WIp 2022-11-24 01:07:28 -08:00
webpack.common.js Merged in mindplot-webcomponent (pull request #57) 2022-08-26 01:35:59 +00:00
webpack.dev.js Fix webpack.plaground to inherit from webpack.common 2021-12-21 20:53:30 -08:00
webpack.playground.js Merged in mindplot-webcomponent (pull request #57) 2022-08-26 01:35:59 +00: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.