GithubHelp home page GithubHelp logo

awehook / blink-mind Goto Github PK

View Code? Open in Web Editor NEW
335.0 12.0 77.0 3.58 MB

Fully customizable mindmap framework for react.js. 支持插件的,可被完全定制的思维导图库,基于react.js和immutable.js。

License: MIT License

JavaScript 1.77% TypeScript 88.46% CSS 7.97% Shell 0.08% SCSS 1.71%
react mindmap framework libray typescript javascript js immutablejs slatejs

blink-mind's Introduction

MIT Slack Widget

A fully customizable mind map framework based on plugin mechanism. Customization of any desired effect can be achieved by writing a plugin based on this framework.

Design Ideas

  1. Use plugin mechanism to minimize coupling between components

  2. The framework pre-defines some plugins to provide default behavior. When you want to change the default behavior, you can write plugins that override the default behavior.

  3. The plugin functions of the same name are combined by the compose mechanism. Each plugin function controls the order of calls through the next parameter, similar to Koa's middleware mechanism.

  4. Runtime data is saved through the immutable.js data structure, optimizing performance based on immutable.js and component's shouldComponentUpdate.

Run Demo Locally

yarn install
yarn storybook

then open http://localhost:6007/

blink-mind's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blink-mind's Issues

hello,冒昧打扰

在掘金看到你的文章,跟我们现在的技术栈挺匹配的,不知道是否考虑杭州阿里的工作机会?

因为没有找到联系方式,所以在此留言,如有困扰,请关闭 issue 即可

[Cannot read property 'parentKey' of undefined] when uploading exported json mindmap

I clone the repo and run and got this error. Steps:

  • create a mindmap
  • export/download
  • import the just downloaded mindmap

The https://awehook.github.io/blink-mind/ works file though.

simple-capture-error.ts:6 TypeError: Cannot read property 'parentKey' of undefined
    at Object.getKeyPath (index.ts:29)
    at expandTo (sheet-model-modifier.ts:138)
    at doc-model-modifier.ts:36
    at operation (operation.ts:173)
    at dispatch (controller.ts:72)
    at controller.ts:64
    at Controller.push../packages/core/src/controller.ts.Controller.run (controller.ts:106)
    at openNewDocModel (operation.ts:217)
    at dispatch (controller.ts:72)
    at controller.ts:64
captureError @ simple-capture-error.ts:6
dispatch @ controller.ts:72
(anonymous) @ controller.ts:64
push../packages/core/src/controller.ts.Controller.run @ controller.ts:106
push../packages/core/src/controller.ts.Controller.run @ controller.ts:108
openNewDocModel @ operation.ts:217
dispatch @ controller.ts:72
(anonymous) @ controller.ts:64
push../packages/core/src/controller.ts.Controller.run @ controller.ts:106
(anonymous) @ toolbar-item-openfile.tsx:16
Promise.then (async)
onClickOpenFile @ toolbar-item-openfile.tsx:10
handleClick @ toolbar-item.tsx:28
callCallback @ react-dom.development.js:336
invokeGuardedCallbackDev @ react-dom.development.js:385
invokeGuardedCallback @ react-dom.development.js:440
invokeGuardedCallbackAndCatchFirstError @ react-dom.development.js:454
executeDispatch @ react-dom.development.js:584
executeDispatchesInOrder @ react-dom.development.js:609
executeDispatchesAndRelease @ react-dom.development.js:713
executeDispatchesAndReleaseTopLevel @ react-dom.development.js:722
forEachAccumulated @ react-dom.development.js:694
runEventsInBatch @ react-dom.development.js:739
runExtractedPluginEventsInBatch @ react-dom.development.js:880
handleTopLevel @ react-dom.development.js:5803
batchedEventUpdates$1 @ react-dom.development.js:24401
batchedEventUpdates @ react-dom.development.js:1415
dispatchEventForPluginEventSystem @ react-dom.development.js:5894
attemptToDispatchEvent @ react-dom.development.js:6010
dispatchEvent @ react-dom.development.js:5914
unstable_runWithPriority @ scheduler.development.js:697
runWithPriority$2 @ react-dom.development.js:12149
discreteUpdates$1 @ react-dom.development.js:24417
discreteUpdates @ react-dom.development.js:1438
dispatchDiscreteEvent @ react-dom.development.js:5881

image

Does the npm registry has the lastest blink-mind?

Hello,I just used the command ‘npm install @blink-mind/plugins’ to install the lastest version(0.0.20-beta.12) of plugins,but some plugins I found on github don't exist,such as ExportTopicPlugins.
Maybe the npm registry doesn't update?
Thank you!

`@blueprintjs/core`'s ES5 "class" breaks `@blink-mind/renderer-react`'s ES6 real class

You used @HotkeysTarget in @blink-mind/renderer-react, then exported it as an ES6 library. But the @blueprintjs/core is in ES5. Therefore, in ES6 context, this code:

_super.apply(this, arguments) // in @blueprintjs/core

will raise an error

Class constructor MindDragScrollWidget cannot be invoked without 'new'

This is definitely a bug of @blueprintjs/core, which should export valid es6 class. But when I searched their issues, I found palantir/blueprint#2972 unresolved 3 years ago. So I came here for help, maybe you can use useHotkeys as suggested in their source code, or try another hotkey bindings library.

I guess you didn't find this issue mainly because of using webpack, which transforms all code to ES5 under the hood.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.