Skip to content

Commit a81b0fa

Browse files
author
Michael Mrowetz
committed
#184 add Marker click toggle
1 parent e2ff9fc commit a81b0fa

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

Diff for: src/ts/waterfall/sub-components/svg-marks.ts

+17-5
Original file line numberDiff line numberDiff line change
@@ -62,23 +62,35 @@ export function createMarks(context: Context, marks: Mark[]) {
6262
lineConnection.setAttribute("transform", `translate(0, ${offset})`);
6363
});
6464

65-
let isActive = false;
65+
let isHoverActive = false;
66+
/** click indicator - overwrites `isHoverActive` */
67+
let isClickActive = false;
6668
let onLabelMouseEnter = () => {
67-
if (!isActive) {
68-
isActive = true;
69+
if (!isHoverActive) {
70+
isHoverActive = true;
6971
addClass(lineHolder, "active");
7072
// firefox has issues with this
7173
markHolder.parentNode.appendChild(markHolder);
7274
}
7375
};
7476

7577
let onLabelMouseLeave = () => {
76-
isActive = false;
77-
removeClass(lineHolder, "active");
78+
isHoverActive = false;
79+
if (!isClickActive) {
80+
removeClass(lineHolder, "active");
81+
}
82+
};
83+
84+
let onLabelClick = () => {
85+
isClickActive = !isClickActive;
86+
if (!isClickActive) {
87+
removeClass(lineHolder, "active");
88+
}
7889
};
7990

8091
lineLabel.addEventListener("mouseenter", onLabelMouseEnter);
8192
lineLabel.addEventListener("mouseleave", onLabelMouseLeave);
93+
lineLabel.addEventListener("click", onLabelClick);
8294
lineLabelHolder.appendChild(lineLabel);
8395

8496
markHolder.appendChild(svg.newTitle(mark.name));

0 commit comments

Comments
 (0)