Browse Source

Merge pull request #5024 from vvlladd28/bug/action/element-click/propagation

[3.3.0] UI: Fixed widget action element click - not correct processing propagation event
pull/5039/head
Igor Kulikov 5 years ago
committed by GitHub
parent
commit
8174568dfa
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 27
      ui-ngx/src/app/modules/home/components/widget/widget.component.ts

27
ui-ngx/src/app/modules/home/components/widget/widget.component.ts

@ -1326,20 +1326,19 @@ export class WidgetComponent extends PageComponent implements OnInit, AfterViewI
}
private elementClick($event: Event) {
const e = ($event.target || $event.srcElement) as Element;
if (e.id) {
const descriptors = this.getActionDescriptors('elementClick');
if (descriptors.length) {
descriptors.forEach((descriptor) => {
if (descriptor.name === e.id) {
$event.stopPropagation();
const entityInfo = this.getActiveEntityInfo();
const entityId = entityInfo ? entityInfo.entityId : null;
const entityName = entityInfo ? entityInfo.entityName : null;
const entityLabel = entityInfo && entityInfo.entityLabel ? entityInfo.entityLabel : null;
this.handleWidgetAction($event, descriptor, entityId, entityName, null, entityLabel);
}
});
const elementClicked = ($event.target || $event.srcElement) as Element;
const descriptors = this.getActionDescriptors('elementClick');
if (descriptors.length) {
const idsList = descriptors.map(descriptor => `#${descriptor.name}`).join(',');
const targetElement = $(elementClicked).closest(idsList, this.widgetContext.$container[0]);
if (targetElement.length && targetElement[0].id) {
$event.stopPropagation();
const descriptor = descriptors.find(descriptorInfo => descriptorInfo.name === targetElement[0].id);
const entityInfo = this.getActiveEntityInfo();
const entityId = entityInfo ? entityInfo.entityId : null;
const entityName = entityInfo ? entityInfo.entityName : null;
const entityLabel = entityInfo && entityInfo.entityLabel ? entityInfo.entityLabel : null;
this.handleWidgetAction($event, descriptor, entityId, entityName, null, entityLabel);
}
}
}

Loading…
Cancel
Save