0.1.1 • Published 4 years ago

vue-tree-diagram v0.1.1

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

vue-tree-diagram

A simple component for render tree diagram for Vue.js

Preview

Preview

view preview code

Install

npm install vue-tree-diagram

Example

<template>
  <tree-diagram :data="data" @node-click="handleNodeClick">
    <template v-slot:type-root="{value}">
      <div class="type-root">
        <h1>{{value.title}}</h1>
      </div>
    </template>
    <template v-slot:type-a="{value}">
      <div class="type-a">
        <h1>{{value.title}}</h1>
      </div>
    </template>
    <template v-slot:default="{value}">
      <div class="type-b">
        <h1>{{value.title}}</h1>
        <h2>{{value.subtitle}}</h2>
      </div>
    </template>
  </tree-diagram>
</template>

<script>
  import TreeDiagram from "vue-tree-diagram"
  export default {
    data() {
      return {
        components: { TreeDiagram },
        data: [
          {
            id: 1,
            type: "type-root",
            value: { title: "ROOT" },
            children: [{
              id: 2,
              type: "type-a",
              value: { title: "NodeA" },
              children: [{
                id: 3,
                type: "type-b",
                value: { title: "NodeB", subtitle: "NodeB subtitle" }
              }]
            }]
          }
        ]
      }
    },
    methods: {
      handleNodeClick(node) { 
        console.log(node)
      }
    }
  }
</script>

API

Attributes

AttributeDescriptionTypeAccepted ValuesDefault
datatree dataArray--
nodePadspace of node to nodeNumber-1
levelPadspace of row to rowNumber-10
directiontree directionString't-b', 'l-r''t-b'
alignnode align in each rowString'start', 'center', 'end''start'

Events

Event NameDescriptionParameters
node-clicktriggers when a node is clicked(node, event)
before-render-treetriggers when start render tree-
after-render-treetriggers when tree render finished-