Compare commits

..

5 Commits

Author SHA1 Message Date
youxingzhi
7b677a6589 1.5.0 2020-11-28 22:11:56 +08:00
youxingzhi
a21f4b8adf chore: 🤖 rm npx 2020-11-28 22:11:42 +08:00
youxingzhi
5b2fea32ad feat: 🎸 #84, add default title props 2020-11-28 22:11:42 +08:00
ayou
347a927e90 Merge pull request #93 from TheFoot/feature/node-expand-collapse
Feature: Added toggle() method to the node passed to TreeNode.click()…
2020-10-28 09:56:11 +08:00
Barry Jones
0f04f7edba Feature: Added toggle() method to the node passed to TreeNode.click() handler. 2020-09-08 15:35:17 +01:00
7 changed files with 33 additions and 15 deletions

8
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{ {
"name": "vue-tree-list", "name": "vue-tree-list",
"version": "1.4.6", "version": "1.5.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@@ -6783,6 +6783,12 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"git-cz": {
"version": "4.7.4",
"resolved": "https://registry.npmjs.org/git-cz/-/git-cz-4.7.4.tgz",
"integrity": "sha512-s8r6JPuuFJXCiwB6uBlWYjDE6GlvIReSgVqYCfpRB+JbiBVNQLcBb93mH6bIJzz1lQU4R8+qlChhQIK8xp58Tg==",
"dev": true
},
"glob": { "glob": {
"version": "7.1.6", "version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",

View File

@@ -1,6 +1,6 @@
{ {
"name": "vue-tree-list", "name": "vue-tree-list",
"version": "1.4.6", "version": "1.5.0",
"description": "A vue component for tree structure. Support adding treenode/leafnode, editing node's name and dragging.", "description": "A vue component for tree structure. Support adding treenode/leafnode, editing node's name and dragging.",
"author": "ayou", "author": "ayou",
"scripts": { "scripts": {
@@ -10,7 +10,7 @@
"test:coverage": "vue-cli-service test:unit --coverage", "test:coverage": "vue-cli-service test:unit --coverage",
"lint": "vue-cli-service lint", "lint": "vue-cli-service lint",
"lint-staged": "lint-staged", "lint-staged": "lint-staged",
"commit": "npx git-cz", "commit": "git-cz",
"prepublish": "npm run build" "prepublish": "npm run build"
}, },
"main": "dist/vue-tree-list.umd.min.js", "main": "dist/vue-tree-list.umd.min.js",
@@ -27,6 +27,7 @@
"eslint-config-prettier": "^6.10.0", "eslint-config-prettier": "^6.10.0",
"eslint-plugin-prettier": "^3.1.2", "eslint-plugin-prettier": "^3.1.2",
"eslint-plugin-vue": "^5.0.0", "eslint-plugin-vue": "^5.0.0",
"git-cz": "^4.7.4",
"husky": "^4.2.1", "husky": "^4.2.1",
"jest-serializer-vue": "^2.0.2", "jest-serializer-vue": "^2.0.2",
"less": "^3.10.3", "less": "^3.10.3",

View File

@@ -219,7 +219,7 @@ Or just register locally like the example below.
| name | params | description | | name | params | description |
| :---------: | :--------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | | :---------: | :--------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| click | TreeNode | Trigger when clicking a tree node | | click | TreeNode | Trigger when clicking a tree node. You can call `toggle` of `TreeNode` to toggle the folder node. |
| change-name | {'id', 'oldName', 'newName'} | Trigger after changing a node's name | | change-name | {'id', 'oldName', 'newName'} | Trigger after changing a node's name |
| delete-node | TreeNode | Trigger when clicking `delNode` button. You can call `remove` of `TreeNode` to remove the node. | | delete-node | TreeNode | Trigger when clicking `delNode` button. You can call `remove` of `TreeNode` to remove the node. |
| add-node | TreeNode | Trigger after adding a new node | | add-node | TreeNode | Trigger after adding a new node |

View File

@@ -58,7 +58,7 @@
/> />
<div class="vtl-operation" v-show="isHover"> <div class="vtl-operation" v-show="isHover">
<span <span
title="add tree node" :title="defaultAddTreeNodeTitle"
@click.stop.prevent="addChild(false)" @click.stop.prevent="addChild(false)"
v-if="!model.isLeaf && !model.addTreeNodeDisabled" v-if="!model.isLeaf && !model.addTreeNodeDisabled"
> >
@@ -67,7 +67,7 @@
</slot> </slot>
</span> </span>
<span <span
title="add leaf node" :title="defaultAddLeafNodeTitle"
@click.stop.prevent="addChild(true)" @click.stop.prevent="addChild(true)"
v-if="!model.isLeaf && !model.addLeafNodeDisabled" v-if="!model.isLeaf && !model.addLeafNodeDisabled"
> >
@@ -162,11 +162,19 @@ export default {
}, },
defaultLeafNodeName: { defaultLeafNodeName: {
type: String, type: String,
default: 'New leaf node' default: 'Leaf Node'
}, },
defaultTreeNodeName: { defaultTreeNodeName: {
type: String, type: String,
default: 'New tree node' default: 'Tree Node'
},
defaultAddTreeNodeTitle: {
type: String,
default: 'Add Tree Node'
},
defaultAddLeafNodeTitle: {
type: String,
default: 'Add Leaf Node'
}, },
defaultExpanded: { defaultExpanded: {
type: Boolean, type: Boolean,
@@ -272,7 +280,10 @@ export default {
}, },
click() { click() {
this.rootNode.$emit('click', this.model) this.rootNode.$emit('click', {
toggle: this.toggle,
...this.model
})
}, },
addChild(isLeaf) { addChild(isLeaf) {

View File

@@ -47,7 +47,7 @@ exports[`Render render correctly 1`] = `
<div class="vtl-node-content"> <div class="vtl-node-content">
Node 2 Node 2
</div> </div>
<div class="vtl-operation" style="display: none;"><span title="add tree node"><i class="vtl-icon vtl-icon-folder-plus-e"></i></span> <span title="add leaf node"><i class="vtl-icon vtl-icon-plus"></i></span> <span title="edit"><i class="vtl-icon vtl-icon-edit"></i></span> <span title="delete"><i class="vtl-icon vtl-icon-trash"></i></span></div> <div class="vtl-operation" style="display: none;"><span title="Add Tree Node"><i class="vtl-icon vtl-icon-folder-plus-e"></i></span> <span title="Add Leaf Node"><i class="vtl-icon vtl-icon-plus"></i></span> <span title="edit"><i class="vtl-icon vtl-icon-edit"></i></span> <span title="delete"><i class="vtl-icon vtl-icon-trash"></i></span></div>
</div> </div>
<!----> <!---->
</div> </div>
@@ -61,7 +61,7 @@ exports[`Render render correctly 1`] = `
<div class="vtl-node-content"> <div class="vtl-node-content">
Node 3 Node 3
</div> </div>
<div class="vtl-operation" style="display: none;"><span title="add tree node"><i class="vtl-icon vtl-icon-folder-plus-e"></i></span> <span title="add leaf node"><i class="vtl-icon vtl-icon-plus"></i></span> <span title="edit"><i class="vtl-icon vtl-icon-edit"></i></span> <span title="delete"><i class="vtl-icon vtl-icon-trash"></i></span></div> <div class="vtl-operation" style="display: none;"><span title="Add Tree Node"><i class="vtl-icon vtl-icon-folder-plus-e"></i></span> <span title="Add Leaf Node"><i class="vtl-icon vtl-icon-plus"></i></span> <span title="edit"><i class="vtl-icon vtl-icon-edit"></i></span> <span title="delete"><i class="vtl-icon vtl-icon-trash"></i></span></div>
</div> </div>
<!----> <!---->
</div> </div>

View File

@@ -11,7 +11,7 @@ exports[`Slot render slot correctly 1`] = `
<div class="vtl-node-content"> <div class="vtl-node-content">
Node 1 Node 1
</div> </div>
<div class="vtl-operation" style="display: none;"><span title="add tree node"><span class="add-tree-node-icon">📂</span></span> <span title="add leaf node"><span class="icon"></span></span> <span title="edit"><span class="icon">📃</span></span> <span title="delete"><span></span></span></div> <div class="vtl-operation" style="display: none;"><span title="Add Tree Node"><span class="add-tree-node-icon">📂</span></span> <span title="Add Leaf Node"><span class="icon"></span></span> <span title="edit"><span class="icon">📃</span></span> <span title="delete"><span></span></span></div>
</div> </div>
<div class="vtl-border vtl-bottom"></div> <div class="vtl-border vtl-bottom"></div>
</div> </div>
@@ -42,7 +42,7 @@ exports[`Slot render slot correctly 1`] = `
<div class="vtl-node-content"> <div class="vtl-node-content">
Node 2 Node 2
</div> </div>
<div class="vtl-operation" style="display: none;"><span title="add tree node"><span class="add-tree-node-icon">📂</span></span> <span title="add leaf node"><span class="icon"></span></span> <span title="edit"><span class="icon">📃</span></span> <span title="delete"><span class="del-node-icon">✂️</span></span></div> <div class="vtl-operation" style="display: none;"><span title="Add Tree Node"><span class="add-tree-node-icon">📂</span></span> <span title="Add Leaf Node"><span class="icon"></span></span> <span title="edit"><span class="icon">📃</span></span> <span title="delete"><span class="del-node-icon">✂️</span></span></div>
</div> </div>
<!----> <!---->
</div> </div>

View File

@@ -51,7 +51,7 @@ describe('Operation', () => {
}) })
it('add leaf node', done => { it('add leaf node', done => {
const $node1AddLeafNode = wrapper.find('#t1 [title="add leaf node"]') const $node1AddLeafNode = wrapper.find('#t1 [title="Add Leaf Node"]')
$node1AddLeafNode.trigger('click') $node1AddLeafNode.trigger('click')
Vue.nextTick(() => { Vue.nextTick(() => {
expect(wrapper.findAll('.vtl-leaf-node').length).toBe(2) expect(wrapper.findAll('.vtl-leaf-node').length).toBe(2)
@@ -60,7 +60,7 @@ describe('Operation', () => {
}) })
it('add tree node', done => { it('add tree node', done => {
const $node1AddTreeNode = wrapper.find('#t1 [title="add tree node"]') const $node1AddTreeNode = wrapper.find('#t1 [title="Add Tree Node"]')
$node1AddTreeNode.trigger('click') $node1AddTreeNode.trigger('click')
Vue.nextTick(() => { Vue.nextTick(() => {
expect(wrapper.findAll('.vtl-tree-node').length).toBe(3) expect(wrapper.findAll('.vtl-tree-node').length).toBe(3)