add dash-array to siblings

This commit is contained in:
axolotle
2021-04-20 15:39:41 +02:00
parent ad0266dbf8
commit eece18184e
2 changed files with 19 additions and 4 deletions
+11 -2
View File
@@ -8,7 +8,7 @@
v-for="(item, index) in links" v-for="(item, index) in links"
:key="`link_${index}`" :key="`link_${index}`"
:d="lineGenerator([item.source, item.target])" :d="lineGenerator([item.source, item.target])"
stroke="black" :class="['link', item.linkType || item.target.data.linkType]"
/> />
<template v-for="(node, index) in nodes"> <template v-for="(node, index) in nodes">
@@ -152,8 +152,17 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
path { .link {
stroke: grey; stroke: grey;
&.siblings {
stroke-dasharray: 4;
}
&.parents {
stroke: red;
opacity: .3;
}
} }
text { text {
+8 -2
View File
@@ -11,7 +11,13 @@ function getLinked (text) {
const types = ['siblings', 'children', 'parents'] const types = ['siblings', 'children', 'parents']
return types.reduce((acc, type) => { return types.reduce((acc, type) => {
// Handle `null` and `undefined` // Handle `null` and `undefined`
return text[type] ? [...acc, ...text[type]] : acc if (text[type]) {
text[type].forEach((item, i) => {
item.linkType = type
})
return [...acc, ...text[type]]
}
return acc
}, []) }, [])
} }
@@ -66,7 +72,7 @@ export function toManyManyData (rawData) {
}, []).map(({ data, children, depth }) => { }, []).map(({ data, children, depth }) => {
if (children) { if (children) {
children.forEach(child => { children.forEach(child => {
links.push({ source: data.id, target: child.data.id }) links.push({ source: data.id, target: child.data.id, linkType: child.data.linkType })
}) })
} }
return { return {