update node opening/closing
This commit is contained in:
@@ -12,15 +12,20 @@
|
||||
:class="{ active: i === nodes.length - 1 }"
|
||||
:style="`--nth: ${i}`"
|
||||
>
|
||||
<node-view-child-list :children="parent.children" :parent-id="parent.id" smartphone />
|
||||
<node-view-child-list
|
||||
:children="parent.children"
|
||||
:parent-id="parent.id"
|
||||
smartphone
|
||||
@open-child="$emit('open-node', { parentId: parent.id, ...$event })"
|
||||
/>
|
||||
|
||||
<node-view
|
||||
:node="parent"
|
||||
type="ref"
|
||||
mode="view"
|
||||
@open-node="$emit('open-node', $event)"
|
||||
@open-child="$emit('open-node', parent.id, $event)"
|
||||
@close-node="$emit('close-node', $event)"
|
||||
@open-child="$emit('open-node', { parentId: parent.id, ...$event })"
|
||||
@close-node="$emit('close-node', { parentId: $event })"
|
||||
/>
|
||||
|
||||
<section
|
||||
@@ -39,7 +44,7 @@
|
||||
mode="view"
|
||||
type="prod"
|
||||
@open-node="$emit('open-node', $event)"
|
||||
@close-node="$emit('close-node', parent.id, $event)"
|
||||
@close-node="$emit('close-node', { parentId: parent.id, childId: $event })"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -41,7 +41,7 @@ export default {
|
||||
|
||||
methods: {
|
||||
onOpen (childId) {
|
||||
this.$emit('open-child', childId)
|
||||
this.$emit('open-child', { childId })
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -71,8 +71,8 @@ export default {
|
||||
methods: {
|
||||
toCommaList,
|
||||
|
||||
onOpen (siblingId) {
|
||||
this.$parent.$emit('open-node', siblingId)
|
||||
onOpen (parentId) {
|
||||
this.$parent.$emit('open-node', { parentId })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,12 +74,12 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
openNode (parentId, childId) {
|
||||
this.$store.dispatch('OPEN_NODE', [parentId, childId])
|
||||
openNode (ids) {
|
||||
this.$store.dispatch('OPEN_NODE', ids)
|
||||
},
|
||||
|
||||
closeNode (parentId, childId) {
|
||||
this.$store.dispatch('CLOSE_NODE', [parentId, childId])
|
||||
closeNode (ids) {
|
||||
this.$store.dispatch('CLOSE_NODE', ids)
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -58,8 +58,11 @@ export default {
|
||||
|
||||
methods: {
|
||||
onOpen (node) {
|
||||
// FIXME ALSO CHECK IF PARENT
|
||||
this.$emit('open-node', node.id)
|
||||
if (node.parents) {
|
||||
this.$emit('open-node', { parentId: node.parents[0].id, childId: node.id })
|
||||
} else {
|
||||
this.$emit('open-node', { parentId: node.id })
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -106,7 +106,15 @@ export default {
|
||||
|
||||
methods: {
|
||||
toCommaList,
|
||||
trim
|
||||
trim,
|
||||
|
||||
onNodeClick (node) {
|
||||
if (node.parents) {
|
||||
this.$emit('open-node', { parentId: node.parents[0].id, childId: node.id })
|
||||
} else {
|
||||
this.$emit('open-node', { parentId: node.id })
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
created () {
|
||||
|
||||
@@ -132,14 +132,14 @@ export default {
|
||||
router.push({ query })
|
||||
},
|
||||
|
||||
async 'OPEN_NODE' ({ state, commit, dispatch }, [parentId, childId]) {
|
||||
async 'OPEN_NODE' ({ state, commit, dispatch }, { parentId, childId }) {
|
||||
const stack = state.nodebook.find(stack => stack[0] === parentId)
|
||||
if (stack && (childId === undefined || stack.includes(childId))) return
|
||||
commit('ADD_NODEBOOK_NODE', [stack, parentId, childId])
|
||||
dispatch('UPDATE_QUERY_NODES')
|
||||
},
|
||||
|
||||
'CLOSE_NODE' ({ state, commit, dispatch }, [parentId, childId]) {
|
||||
'CLOSE_NODE' ({ state, commit, dispatch }, { parentId, childId }) {
|
||||
const stack = state.nodebook.find(stack => stack.includes(parentId) && (childId ? stack.includes(childId) : true))
|
||||
commit('REMOVE_NODEBOOK_NODE', [stack, childId || parentId])
|
||||
dispatch('UPDATE_QUERY_NODES')
|
||||
|
||||
Reference in New Issue
Block a user