import { Button, Modal, ModalBody, ModalFooter, ModalTitle, SelectList, useToast } from "@vertesia/ui/core";
import { useUserSession } from "@vertesia/ui/session";
import { useCallback, useState } from "react";
import { useUITranslation } from '../../../../../i18n/index.js';
import { i18nInstance, NAMESPACE } from '../../../../../i18n/instance.js';
import { useObjectsActionContext, useObjectsActionCallback } from '../ObjectsActionHooks';
import { ActionComponentTypeProps, ObjectsActionSpec } from "../ObjectsActionSpec";
export function StartWorkflowComponent({ action, objectIds, collectionId }: ActionComponentTypeProps) {
const { t } = useUITranslation();
const toast = useToast();
const { client } = useUserSession();
const [isOpen, setOpen] = useState(false);
const callback = useCallback(() => {
setOpen(true);
return Promise.resolve(true);
}, []);
const onStartWorkflow = (workflowId?: string | undefined) => {
setOpen(false);
if (!workflowId) {
return;
}
// const objectIds = params.selection.getObjectIds();
// const workflowId = params.action.id;
return client.store.workflows.rules
.execute(workflowId, objectIds, { collection_id: collectionId })
.then(() => {
toast({
title: t('store.actions.workflowStarted'),
status: "success",
duration: 3000,
});
})
.catch((err) => {
toast({
title: t('store.actions.errorStartingWorkflow'),
status: "error",
description: err.message,
duration: 9000,
});
});
};
useObjectsActionCallback(action.id, callback);
return