Refresh activity picker on composite activity publish
This commit is contained in:
parent
56a7df1d40
commit
b424143015
|
|
@ -5,7 +5,7 @@ import uniqBy from 'lodash/uniqBy';
|
|||
import {Container} from 'typedi';
|
||||
import {ActivityDescriptor} from "../../../models";
|
||||
import descriptorsStore from "../../../data/descriptors-store";
|
||||
import {ActivityDriverRegistry} from "../../../services";
|
||||
import {ActivityDescriptorManager, ActivityDriverRegistry} from "../../../services";
|
||||
|
||||
interface ActivityCategoryModel {
|
||||
category: string;
|
||||
|
|
@ -38,6 +38,9 @@ export class ToolboxActivities {
|
|||
}
|
||||
|
||||
componentWillLoad() {
|
||||
const activityDescriptorManager = Container.get(ActivityDescriptorManager);
|
||||
activityDescriptorManager.onActivityDescriptorsUpdated(this.buildModel);
|
||||
|
||||
this.buildModel();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,17 +2,27 @@ import 'reflect-metadata';
|
|||
import {Container, Service} from "typedi";
|
||||
import descriptorsStore from "../data/descriptors-store";
|
||||
import {ElsaClientProvider} from "./api-client/elsa-client";
|
||||
import { EventEmitter } from '@stencil/core';
|
||||
|
||||
@Service()
|
||||
export class ActivityDescriptorManager {
|
||||
private readonly elsaClientProvider: ElsaClientProvider;
|
||||
private activityDescriptorsUpdatedCallback: (() => void) | null = null;
|
||||
|
||||
constructor() {
|
||||
this.elsaClientProvider = Container.get(ElsaClientProvider);
|
||||
}
|
||||
|
||||
onActivityDescriptorsUpdated(callback: () => void) {
|
||||
this.activityDescriptorsUpdatedCallback = callback;
|
||||
}
|
||||
|
||||
async refresh(): Promise<void> {
|
||||
const elsaClient = await this.elsaClientProvider.getElsaClient();
|
||||
descriptorsStore.activityDescriptors = await elsaClient.descriptors.activities.list();
|
||||
|
||||
if (this.activityDescriptorsUpdatedCallback) {
|
||||
this.activityDescriptorsUpdatedCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue