All files / src/hooks useTemplate.ts

79.66% Statements 47/59
91.66% Branches 22/24
69.23% Functions 9/13
100% Lines 30/30

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84                  960x         960x 1695x     1038x 1038x 1038x   1038x       2x         1117x   1287x     367x 367x 367x   367x 1x     444x   601x     8019x 8019x 8019x   8019x             1x               8102x   8274x       1455x 1455x 1455x   1455x 1839x   2619x    
import {
  FlowsheetTemplateTypeEnum,
  useCoreFlowsheetTemplatesCreateFlowsheetTemplateCreateMutation,
  useCoreFlowsheetTemplatesCreateFromFlowsheetTemplateCreateMutation,
  useCoreFlowsheetTemplatesCreateModuleFromTemplateCreateMutation,
  useCoreFlowsheetTemplatesListQuery,
  useCoreFlowsheetTemplatesRevertFlowsheetTemplateCreateMutation,
} from "@/api/apiStore.gen";
 
export function useTemplates() {
  const {
    data: allTemplates,
    isLoading,
    error,
  } = useCoreFlowsheetTemplatesListQuery();
  return { templates: allTemplates ?? [], isLoading, error };
}
 
export function useCreateTemplate() {
  const [createMutation, { isLoading, error }] =
    useCoreFlowsheetTemplatesCreateFlowsheetTemplateCreateMutation();
 
  const createTemplate = (
    flowsheetId: number,
    templateType: FlowsheetTemplateTypeEnum,
  ) =>
    createMutation({
      createFlowsheetTemplate: {
        flowsheet_id: flowsheetId,
        flowsheet_template_type: templateType,
      },
    }).unwrap();
 
  return { createTemplate, isLoading, error };
}
 
export function useCreateFromTemplate() {
  const [createMutation, { isLoading, error }] =
    useCoreFlowsheetTemplatesCreateFromFlowsheetTemplateCreateMutation();
 
  const createFromTemplate = (templateId: number) =>
    createMutation({
      id: templateId.toString(),
      flowsheet: {},
    });
 
  return { createFromTemplate, isLoading, error };
}
 
export function useCreateModuleFromTemplate() {
  const [createMutation, { isLoading, error }] =
    useCoreFlowsheetTemplatesCreateModuleFromTemplateCreateMutation();
 
  const createModuleFromTemplate = (
    templateId: number,
    flowsheetId: number,
    currentGroupId?: number,
    x?: number,
    y?: number,
  ) =>
    createMutation({
      id: templateId.toString(),
      createModuleFromTemplate: {
        flowsheet: flowsheetId,
        current_group: currentGroupId,
        x,
        y,
      },
    }).unwrap();
 
  return { createModuleFromTemplate, isLoading, error };
}
 
// Add revert template hook
export function useRevertTemplate() {
  const [revertMutation, { isLoading, error }] =
    useCoreFlowsheetTemplatesRevertFlowsheetTemplateCreateMutation();
 
  const revertTemplate = (templateId: number) =>
    revertMutation({ id: templateId.toString() }).unwrap();
 
  return { revertTemplate, isLoading, error };
}