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                  837x         837x 1458x     1247x 1247x 1247x   1247x       2x         1351x   1571x     14x 14x 14x   14x 1x     21x   38x     10697x 10697x 10697x   10697x             1x               10837x   11123x       1880x 1880x 1880x   1880x 2421x   3512x    
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 };
}