Update SendHttpRequestPlugin

Handle case where there the activity is not SendHttpRequest while activity editor is being closed.
This commit is contained in:
Sipke Schoorstra 2021-09-19 13:41:38 +02:00
parent 29b382eced
commit 5d57bf517f
3 changed files with 24 additions and 7 deletions

View file

@ -27,11 +27,17 @@ export interface ActivityEditorRenderProps {
selectedTabName?: string;
}
export interface ActivityEditorAppearingEventArgs {
export interface ActivityEditorEventArgs {
activityDescriptor: ActivityDescriptor;
activityModel: ActivityModel;
}
export interface ActivityEditorAppearingEventArgs extends ActivityEditorEventArgs {
}
export interface ActivityEditorDisappearingEventArgs extends ActivityEditorEventArgs {
}
@Component({
tag: 'elsa-activity-editor-modal',
shadow: false,
@ -189,7 +195,12 @@ export class ElsaActivityEditorModal {
};
onDialogHidden = async () => {
await eventBus.emit(EventTypes.ActivityEditor.Disappearing);
const args: ActivityEditorDisappearingEventArgs = {
activityModel: this.activityModel,
activityDescriptor: this.activityDescriptor
};
await eventBus.emit(EventTypes.ActivityEditor.Disappearing, this, args);
};
render() {

View file

@ -1,7 +1,10 @@
import {eventBus, ElsaPlugin} from "../../services";
import {EventTypes} from "../../models";
import {eventBus, ElsaPlugin} from "../services";
import {EventTypes} from "../models";
import {h} from "@stencil/core";
import {ActivityEditorAppearingEventArgs} from "../../components/screens/workflow-definition-editor/elsa-activity-editor-modal/elsa-activity-editor-modal";
import {
ActivityEditorAppearingEventArgs,
ActivityEditorDisappearingEventArgs
} from "../components/screens/workflow-definition-editor/elsa-activity-editor-modal/elsa-activity-editor-modal";
export class SendHttpRequestPlugin implements ElsaPlugin {
constructor() {
@ -19,7 +22,10 @@ export class SendHttpRequestPlugin implements ElsaPlugin {
this.updateUI();
};
onActivityEditorDisappearing = () => {
onActivityEditorDisappearing = (args: ActivityEditorDisappearingEventArgs) => {
if (args.activityDescriptor.type != 'SendHttpRequest')
return;
document.querySelector('#ReadContent').removeEventListener('change', this.updateUI);
document.querySelector('#ResponseContentParserName').removeEventListener('change', this.updateUI);
};

View file

@ -16,7 +16,7 @@ import {SignalReceivedPlugin} from "../plugins/signal-received-plugin";
import {SendSignalPlugin} from "../plugins/send-signal-plugin";
import {UserTaskPlugin} from "../plugins/user-task-plugin";
import {StatePlugin} from "../plugins/state-plugin";
import {SendHttpRequestPlugin} from "../plugins/send-http-request/send-http-request-plugin";
import {SendHttpRequestPlugin} from "../plugins/send-http-request-plugin";
import {RunWorkflowPlugin} from "../plugins/run-workflow-plugin";
import {ElsaStudio} from "../models";