Skip to content

Commit 720d4e2

Browse files
authored
fix: allow multiple chars in click event node id (#60)
1 parent 5404e62 commit 720d4e2

File tree

3 files changed

+40
-4
lines changed

3 files changed

+40
-4
lines changed

src/add-click-event.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export default (diagram, options = {}) =>
2+
diagram.replace(/^(\s*click\s+[^\s]+\s*)$/gm, `$1 mermaidClick_${options.id}`)

src/click-event-regex.spec.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { endent } from '@dword-design/functions'
2+
import tester from '@dword-design/tester'
3+
4+
import self from './add-click-event'
5+
6+
export default tester(
7+
{
8+
'multiple chars': {
9+
result: endent`
10+
graph TD
11+
click AA mermaidClick_<id>
12+
`,
13+
subject: endent`
14+
graph TD
15+
click AA
16+
`,
17+
},
18+
works: {
19+
result: endent`
20+
graph TD
21+
click A mermaidClick_<id>
22+
`,
23+
subject: endent`
24+
graph TD
25+
click A
26+
`,
27+
},
28+
},
29+
[
30+
{
31+
transform: test => () =>
32+
expect(self(test.subject, { id: '<id>' })).toEqual(test.result),
33+
},
34+
]
35+
)

src/index.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
<script>
22
import { nanoid } from 'nanoid'
33
4+
import addClickEvent from './add-click-event'
5+
46
export default {
57
beforeDestroy() {
68
delete window[`mermaidClick_${this.id}`]
79
},
810
computed: {
911
finalValue() {
10-
return this.value.replace(
11-
/^(\s*click\s+[^\s]\s*)$/gm,
12-
`$1 mermaidClick_${this.id}`
13-
)
12+
return addClickEvent(this.value, { id: this.id })
1413
},
1514
id: () => nanoid(),
1615
},

0 commit comments

Comments
 (0)