Skip to content

Commit 791f305

Browse files
authored
fix: issue with events triggering twice in angular (#4135)
1 parent ff8a694 commit 791f305

File tree

14 files changed

+30
-0
lines changed

14 files changed

+30
-0
lines changed

packages/components/src/components/button/button.lite.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export default function DBButton(props: DBButtonProps) {
2222
// jscpd:ignore-start
2323
const state = useStore<DBButtonState>({
2424
handleClick: (event: ClickEvent<HTMLButtonElement>) => {
25+
event.stopPropagation();
2526
if (props.onClick) {
2627
props.onClick(event);
2728
}

packages/components/src/components/card/card.lite.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export default function DBCard(props: DBCardProps) {
1717
// jscpd:ignore-start
1818
const state = useStore<DBCardState>({
1919
handleClick: (event: ClickEvent<HTMLElement>) => {
20+
event.stopPropagation();
2021
if (props.onClick) {
2122
props.onClick(event);
2223
}

packages/components/src/components/checkbox/checkbox.lite.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export default function DBCheckbox(props: DBCheckboxProps) {
8585
}
8686
},
8787
handleChange: (event: ChangeEvent<HTMLInputElement>) => {
88+
event.stopPropagation();
8889
if (props.onChange) {
8990
props.onChange(event);
9091
}
@@ -97,11 +98,13 @@ export default function DBCheckbox(props: DBCheckboxProps) {
9798
state.handleValidation();
9899
},
99100
handleBlur: (event: InteractionEvent<HTMLInputElement> | any) => {
101+
event.stopPropagation();
100102
if (props.onBlur) {
101103
props.onBlur(event);
102104
}
103105
},
104106
handleFocus: (event: InteractionEvent<HTMLInputElement> | any) => {
107+
event.stopPropagation();
105108
if (props.onFocus) {
106109
props.onFocus(event);
107110
}

packages/components/src/components/input/input.lite.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ export default function DBInput(props: DBInputProps) {
100100
}
101101
},
102102
handleInput: (event: InputEvent<HTMLInputElement>) => {
103+
event.stopPropagation();
103104
useTarget({
104105
vue: () => {
105106
if (props.input) {
@@ -123,6 +124,7 @@ export default function DBInput(props: DBInputProps) {
123124
state.handleValidation();
124125
},
125126
handleChange: (event: ChangeEvent<HTMLInputElement>) => {
127+
event.stopPropagation();
126128
if (props.onChange) {
127129
props.onChange(event);
128130
}
@@ -134,11 +136,13 @@ export default function DBInput(props: DBInputProps) {
134136
state.handleValidation();
135137
},
136138
handleBlur: (event: InteractionEvent<HTMLInputElement> | any) => {
139+
event.stopPropagation();
137140
if (props.onBlur) {
138141
props.onBlur(event);
139142
}
140143
},
141144
handleFocus: (event: InteractionEvent<HTMLInputElement> | any) => {
145+
event.stopPropagation();
142146
if (props.onFocus) {
143147
props.onFocus(event);
144148
}

packages/components/src/components/link/link.lite.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export default function DBLink(props: DBLinkProps) {
1818
// jscpd:ignore-start
1919
const state = useStore<DBLinkState>({
2020
handleClick: (event: ClickEvent<HTMLAnchorElement>) => {
21+
event.stopPropagation();
2122
if (props.onClick) {
2223
props.onClick(event);
2324
}

packages/components/src/components/navigation-item/navigation-item.lite.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export default function DBNavigationItem(props: DBNavigationItemProps) {
5050
}
5151
},
5252
handleClick: (event: ClickEvent<HTMLButtonElement> | any) => {
53+
event.stopPropagation();
5354
if (props.onClick) {
5455
props.onClick(event);
5556
}

packages/components/src/components/notification/notification.lite.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export default function DBNotification(props: DBNotificationProps) {
2121
// jscpd:ignore-start
2222
const state = useStore<DBNotificationState>({
2323
handleClose: (event: ClickEvent<HTMLButtonElement> | any) => {
24+
event.stopPropagation();
2425
if (props.onClose) {
2526
props.onClose(event);
2627
}

packages/components/src/components/radio/radio.lite.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export default function DBRadio(props: DBRadioProps) {
3030
initialized: false,
3131
_id: undefined,
3232
handleChange: (event: ChangeEvent<HTMLInputElement> | any) => {
33+
event.stopPropagation();
3334
if (props.onChange) {
3435
props.onChange(event);
3536
}
@@ -40,11 +41,13 @@ export default function DBRadio(props: DBRadioProps) {
4041
});
4142
},
4243
handleBlur: (event: InteractionEvent<HTMLInputElement> | any) => {
44+
event.stopPropagation();
4345
if (props.onBlur) {
4446
props.onBlur(event);
4547
}
4648
},
4749
handleFocus: (event: InteractionEvent<HTMLInputElement> | any) => {
50+
event.stopPropagation();
4851
if (props.onFocus) {
4952
props.onFocus(event);
5053
}

packages/components/src/components/select/select.lite.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,13 @@ export default function DBSelect(props: DBSelectProps) {
9595
}
9696
},
9797
handleClick: (event: ClickEvent<HTMLSelectElement> | any) => {
98+
event.stopPropagation();
9899
if (props.onClick) {
99100
props.onClick(event);
100101
}
101102
},
102103
handleInput: (event: InputEvent<HTMLSelectElement> | any) => {
104+
event.stopPropagation();
103105
useTarget({
104106
vue: () => {
105107
if (props.input) {
@@ -123,6 +125,7 @@ export default function DBSelect(props: DBSelectProps) {
123125
state.handleValidation();
124126
},
125127
handleChange: (event: ChangeEvent<HTMLSelectElement> | any) => {
128+
event.stopPropagation();
126129
if (props.onChange) {
127130
props.onChange(event);
128131
}
@@ -134,11 +137,13 @@ export default function DBSelect(props: DBSelectProps) {
134137
state.handleValidation();
135138
},
136139
handleBlur: (event: InteractionEvent<HTMLSelectElement> | any) => {
140+
event.stopPropagation();
137141
if (props.onBlur) {
138142
props.onBlur(event);
139143
}
140144
},
141145
handleFocus: (event: InteractionEvent<HTMLSelectElement> | any) => {
146+
event.stopPropagation();
142147
if (props.onFocus) {
143148
props.onFocus(event);
144149
}

packages/components/src/components/switch/switch.lite.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export default function DBSwitch(props: DBSwitchProps) {
4040
default: false
4141
}),
4242
handleChange: (event: ChangeEvent<HTMLInputElement>) => {
43+
event.stopPropagation();
4344
if (props.onChange) {
4445
props.onChange(event);
4546
}
@@ -54,11 +55,13 @@ export default function DBSwitch(props: DBSwitchProps) {
5455
});
5556
},
5657
handleBlur: (event: InteractionEvent<HTMLInputElement>) => {
58+
event.stopPropagation();
5759
if (props.onBlur) {
5860
props.onBlur(event);
5961
}
6062
},
6163
handleFocus: (event: InteractionEvent<HTMLInputElement>) => {
64+
event.stopPropagation();
6265
if (props.onFocus) {
6366
props.onFocus(event);
6467
}

0 commit comments

Comments
 (0)