1.3.2 • Published 12 days ago

vue-minder-editor-extended v1.3.2

Weekly downloads
-
License
BSD 3-Clause
Repository
github
Last release
12 days ago

Vue Minder Editor

基于 kityminder-core 实现的 Vue2 脑图编辑器组件。

Install

npm install vue-minder-editor-extended --save

Usage

注册组件:

import vueMinderEditor from 'vue-minder-editor-extended'
import Vue from 'vue'
Vue.use(vueMinderEditor)

使用组件:

<template>
  <div>
    <minder-editor :progress-enable="false" :import-json="importJson"/>
  </div>
</template>

<script>
import minderEditor from '../../dist/static/vue-minder-editor-extended'
import vue from 'vue'
vue.use(minderEditor);
export default {
  name: 'test-plugin',
  data() {
    return {
      importJson: {
        // 节点数据
        root: {
          data: {
            // 文本内容
            text: 'vue-minder-editor-extended',
            // 标签
            resource: ['模块1'],
            // 是否禁止修改
            disable: true,
            // 默认展开或折叠,默认是展开的,collapse 可设为折叠
            // expandState: 'collapse',
            // 在 disable 为 true 的情况下,允许添加标签
            tagEnable: true,
            // 在 disable 为 true 的情况下,允许删除节点
            allowDelete: true,
            // 在 disable 为 true 的情况下,允许添加标签,优先级比 tagEnable 高
            allowDisabledTag: true,
          },
          // 子节点
          children: [
            {
              data: {
                text: 'child1',
                disable: true,
                expandState: 'collapse',
                resource: ['模块2']
              },
              children: [
                {
                  data: {
                    text: 'child11',
                    disable: true,
                    resource: ['模块2']
                  },
                },
                {
                  data: {
                    text: 'child12',
                  }
                }
              ]
            },
            {
              data: {
                text: 'child2',
              }
            }
          ]
        },
      },
      tags:  ['模块1','模块2']
    }
  }
}
</script>

国际化

// 方式一
import locale from '/src/locale/lang/en-US'
Vue.use(vueMinderEditorExtended, {
  locale
});

// 方式二
import lang from '/src/locale/lang/en-US'
import locale from '/src/locale'
locale.use(lang)
Vue.use(vueMinderEditorExtended);

// 方式三
import Vue from 'vue';
import VueI18n from 'vue-i18n';
import enLocale from 'vue-minder-editor-extended/src/locale/lang/en-US';
import zhLocale from 'vue-minder-editor-extended/src/locale/lang/zh-CN';
import vueMinderEditor from 'vue-minder-editor-extended';

const messages = {
  en: {
    message: 'hello',
    ...enLocale
  },
  zh: {
    message: '你好',
    ...zhLocale
  }
}

Vue.use(VueI18n);

const i18n = new VueI18n({
  locale: 'en', // set locale
  messages, // set locale messages
})

Vue.use(vueMinderEditor, {
  i18n: (key, value) => i18n.t(key, value)
});

主题

Vue Minder Editor 组件已支持初始化时设置主题及注册主题,默认主题为 fresh-blue。

如需手动注册设置主题,允许使用的主题及其配置项可以使用 window.kityminder.Minder.getThemeList() 查询。

// 注册主题
window.kityminder.Theme.register('my-minder-theme', minderThemeItems)
// 设置主题
window.minder.useTheme('my-minder-theme')
// 或者
window.minder.execCommand('theme', 'my-minder-theme')

Props

以下配置部分为 kityminder-core 扩展的功能,kityminder-core 本身的 minder 对象提供了丰富的功能,使用该组件时可通过 window.minder 对象获取 minder 对象具体的使用方法,可以参考它的文档扩展 kityminder-core wiki 以及 #API 章节补充。

基础配置

NameDescriptionTypeDefault
importJson需要脑图解析的 js 对象,参数详情可参考上文 demo,或者调用 minder.exportJson() 查看具体参数Objectnull
height显示高度,默认 500pxNumber500
theme设置初始化主题,可选值使用 window.kityminder.Minder.getThemeList() 查询Stringfresh-blue
registerTheme注册主题,参数为主题配置项,如 registerTheme: { ...minderThemeItems }Objectnull
disabled是否禁止编辑Booleannull
defaultMold外观设置中样式的默认值Number3

启用配置

NameDescriptionTypeDefault
sequenceEnable是否启用优先级功能Booleantrue
tagEnable是否启用标签功能Booleantrue
progressEnable是否启用完成进度功能Booleantrue
moveEnable是否启用上移下移功能Booleantrue

优先级配置

NameDescriptionTypeDefault
priorities优先级选项,当该参数不为空时 priorityCount, priorityStartWithZero, priorityPrefix 不生效Array[]
priorityCount优先级最大显示数量,最多支持显示 9 个级别Number4
priorityStartWithZero优先级是否从 0 开始Booleantrue
priorityPrefix优先级显示的前缀String'P'
priorityDisableCheck优先级设置的回调函数,如果返回 true 则无法设置优先级Functionnull

标签配置

NameDescriptionTypeDefault
tags标签选项Array[]
distinctTags定义排他标签,比如 'tag1','tag2', 则 tag1 不能和 tag2 共存Array[]
tagDisableCheck菜单栏是否允许打标签的回调函数,返回 true 则不允许打标签Functionnull
tagEditCheck打标签时的回调函数,返回 false 则打标签不成功,参数为当前节点的标签数组Functionnull

Slots

NameDescription
-在脑图区域自定义额外内容
edit-menu在思维导图 tab 最后自定义额外内容
view-menu在外观样式 tab 最后自定义额外内容

API

补充 kityminder-core wiki 中未说明的 API 文档。

minder

更多请查看 window.minder 对象或者 window.km 对象

  • window.minder.setTheme() 设置主题
  • window.minder.useTheme() 设置主题 (同 setTheme)
  • window.minder.getTheme() 获取当前主题
  • window.minder.getThemeItems() 获取当前主题的所有样式
  • window.minder.execCommand(command, params) 执行命令

kityminder

更多请查看 window.kityminder 对象

  • window.kityminder.Minder.getThemeList() 获取所有主题及主题配置项

minderEditor

更多请查看 window.minderEditor 对象

kity

更多请查看 window.kity 对象

HotBox

更多请查看 window.HotBox 对象

Build Setup

# npm install -g node-gyp
# install npm dependencies
npm install

# serve with hot reload at localhost:8088
npm run dev

# build for plugin with minification
npm run build

# License
BSD-3-Clause License

参考

1.3.2

12 days ago

1.3.1

12 days ago

1.3.0

4 months ago

1.2.8

4 months ago

1.2.7

4 months ago

1.2.6

4 months ago

1.2.5

7 months ago

1.2.4

7 months ago

1.2.3

7 months ago

1.2.2

7 months ago

1.2.1

7 months ago

1.2.0

2 years ago

1.2.0-RC.9

2 years ago

1.2.0-RC.8

2 years ago

1.2.0-RC.7

2 years ago

1.2.0-RC.6

2 years ago

1.2.0-RC.5

2 years ago

1.2.0-RC.4

2 years ago

1.2.0-RC.3

2 years ago

1.2.0-RC.2

2 years ago

1.2.0-RC.1

2 years ago

1.2.0-RC.0

2 years ago

1.2.0-RC

2 years ago

1.1.4

2 years ago