Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

hooks.ts 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { useSetModalState } from '@/hooks/common-hooks';
  2. import {
  3. useFetchFlowList,
  4. useFetchFlowTemplates,
  5. useSetFlow,
  6. } from '@/hooks/flow-hooks';
  7. import { useCallback, useState } from 'react';
  8. import { useNavigate } from 'umi';
  9. // import { dsl } from '../mock';
  10. // import headhunterZhComponents from '../../../../../graph/test/dsl_examples/headhunter_zh.json';
  11. // import dslJson from '../../../../../dls.json';
  12. // import customerServiceBase from '../../../../../graph/test/dsl_examples/customer_service.json';
  13. // import customerService from '../customer_service.json';
  14. // import interpreterBase from '../../../../../graph/test/dsl_examples/interpreter.json';
  15. // import interpreter from '../interpreter.json';
  16. // import retrievalRelevantRewriteAndGenerateBase from '../../../../../graph/test/dsl_examples/retrieval_relevant_rewrite_and_generate.json';
  17. // import retrievalRelevantRewriteAndGenerate from '../retrieval_relevant_rewrite_and_generate.json';
  18. export const useFetchDataOnMount = () => {
  19. const { data, loading } = useFetchFlowList();
  20. return { list: data, loading };
  21. };
  22. export const useSaveFlow = () => {
  23. const [currentFlow, setCurrentFlow] = useState({});
  24. const {
  25. visible: flowSettingVisible,
  26. hideModal: hideFlowSettingModal,
  27. showModal: showFileRenameModal,
  28. } = useSetModalState();
  29. const { loading, setFlow } = useSetFlow();
  30. const navigate = useNavigate();
  31. const { data: list } = useFetchFlowTemplates();
  32. const onFlowOk = useCallback(
  33. async (title: string, templateId: string) => {
  34. const templateItem = list.find((x) => x.id === templateId);
  35. let dsl = templateItem?.dsl;
  36. // if (dsl) {
  37. // dsl.graph = headhunter_zh;
  38. // }
  39. const ret = await setFlow({
  40. title,
  41. dsl,
  42. avatar: templateItem?.avatar,
  43. // dsl: dslJson,
  44. // dsl: {
  45. // ...retrievalRelevantRewriteAndGenerateBase,
  46. // graph: retrievalRelevantRewriteAndGenerate,
  47. // },
  48. });
  49. if (ret?.code === 0) {
  50. hideFlowSettingModal();
  51. navigate(`/flow/${ret.data.id}`);
  52. }
  53. },
  54. [setFlow, hideFlowSettingModal, navigate, list],
  55. );
  56. const handleShowFlowSettingModal = useCallback(
  57. async (record: any) => {
  58. setCurrentFlow(record);
  59. showFileRenameModal();
  60. },
  61. [showFileRenameModal],
  62. );
  63. return {
  64. flowSettingLoading: loading,
  65. initialFlowName: '',
  66. onFlowOk,
  67. flowSettingVisible,
  68. hideFlowSettingModal,
  69. showFlowSettingModal: handleShowFlowSettingModal,
  70. };
  71. };