mirror of
https://github.com/element-hq/element-web
synced 2024-11-26 11:15:53 +03:00
Add a condition to only activate the resizer which belongs to the clicked handle (#7055)
This commit is contained in:
parent
4cbef216e7
commit
773b147a03
1 changed files with 6 additions and 1 deletions
|
@ -122,9 +122,14 @@ export default class Resizer<C extends IConfig = IConfig> {
|
||||||
// child dom nodes that can be the target
|
// child dom nodes that can be the target
|
||||||
const resizeHandle = event.target && (<HTMLDivElement>event.target).closest(`.${this.classNames.handle}`);
|
const resizeHandle = event.target && (<HTMLDivElement>event.target).closest(`.${this.classNames.handle}`);
|
||||||
const hasHandler = this?.config?.handler;
|
const hasHandler = this?.config?.handler;
|
||||||
if (!resizeHandle || (!hasHandler && resizeHandle.parentElement !== this.container)) {
|
// prevent that stacked resizer's are both activated with one mouse event
|
||||||
|
// (this is possible because the mouse events are connected to the containers not the handles)
|
||||||
|
if (!resizeHandle || // if no resizeHandle exist / mouse event hit the container not the handle
|
||||||
|
(!hasHandler && resizeHandle.parentElement !== this.container) || // no handler from config -> check if the containers match
|
||||||
|
(hasHandler && resizeHandle !== hasHandler)) { // handler from config -> check if the handlers match
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// prevent starting a drag operation
|
// prevent starting a drag operation
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue