0.5.19 • Published 12 months ago

vue3-mindmap-ou v0.5.19

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

vue3-mindmap

npm build coveralls

Mindmap component for Vue3 inspired by MindNode

live demo / demo page
Directory Description / Directory Description

Install

npm install vue3-mindmap

PROPS

NameTypeDefaultDescription
v-modelData[]undefinedset mind map data
x-gapNumber84Set horizontal gap between nodes
y-gapNumber18Set vertical gap between nodes
branchNumber4set the line width
scale-extentNumber, Number0.1, 0.8set zoom extent
timetravelBooleanfalsewhether to display undo redo button
dragBooleanfalseSet whether the node can be dragged
zoomBooleanfalseCan zoom and drag
editBooleanfalsewhether editable
center-btnBooleanfalseWhether to display the center button
fit-btnBooleanfalseWhether to show the zoom button
add-node-btnBooleanfalseWhether to display the add node button
download-btnBooleanfalseWhether to display the download button
sharp-cornerBooleanfalseset the corners to be rounded or straight
ctmBooleanfalseWhether to respond to the right-click menu
local'zh' | 'en' | 'ptBR''zh'i18n

Added contextTxt prop that provides the text for the context menu so you can handle language changes yourself Just provide this with your altered text to the mindmap and it will be passed down to the context menu

contextTxt = {
    "collapse": "Collapse this node",
    "expand": "Expand from here",
    "delete": "Delete Node",
    "delete-one": "Delete a single node",
    "add": "Add Child node",
    "add-parent": "Add Parent node",
    "add-sibling": "Add Sibling node",
    "add-sibling-before": "Add Sibling node before",
    "cut": "Cut",
    "copy": "Copy",
    "paste": "Paste",
    "selectall": "Select all",
    "zoomin": "Zoom in",
    "zoomout": "Zoom out",
    "zoomfit": "Zoom fit"
}

Example

<template>
  <mindmap v-model="data"></mindmap>
</template>

<script>
import mindmap from 'vue3-mindmap'
import 'vue3-mindmap/dist/style.css'

export default defineComponent({
  components: { mindmap },
  setup () => {
    const data = [{
      "name": "How to learn D3",
      "children": [
        {
          "name": "preliminary knowledge",
          "children": [
            { "name":"HTML & CSS" },
            { "name":"JavaScript" },
            ...
          ]
        },
        {
          "name": "installation",
          "collapse": true,
          "children": [ { "name": "folded node" } ]
        },
        { "name":"进阶", "left": true },
        ...
      ]
    }]

    return { data }
  }
})
</script>

Notice

  • When xGap is less than a certain value, the trigger of the parent node may block the trigger of the child node due to the existence of the add button, and cannot respond to the click of the child node

to be solved

  • right angle branch radius

All

  • Multi-select nodes
  • Multi-master nodes
  • More node styles