All files / src/pages/flowsheet-page/pinch-analysis/TableColumns UtilityInputColumns.tsx

100% Statements 13/13
50% Branches 2/4
100% Functions 10/10
100% Lines 13/13

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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128            33x       5x                       5x                       4x 4x               5x                       4x 4x               5x                           5x                                 5x                         5x                         5x            
"use client";
import { PinchUtilityRead } from "@/api/apiStore.gen";
import { ColumnDef } from "@tanstack/react-table";
import { HeaderWithTooltip } from "./HeaderWithTooltip";
import { HeaderWithTooltipSortable } from "./HeaderWithTooltipSortable";
 
export const PinchUtilityColumns: ColumnDef<PinchUtilityRead>[] = [
  {
    accessorKey: "name",
    header: ({ column }) => (
      <HeaderWithTooltipSortable
        column={column}
        headerName={<>Name</>}
        tooltipContent="Utility name."
      />
    ),
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "text",
  },
  {
    accessorKey: "t_supply",
    header: ({ column }) => (
      <HeaderWithTooltipSortable
        column={column}
        headerName={
          <>
            T<sub>supply </sub>
          </>
        }
        tooltipContent="Utility supply temperature."
        units={"°C"}
      />
    ),
    cell: ({ getValue }) => {
        const value = getValue();
        return value !== null ? <>{Math.round(value*1000)/1000}</> : <></>;
      },
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "number",
  },
  {
    accessorKey: "t_target",
    header: ({ column }) => (
      <HeaderWithTooltipSortable
        column={column}
        headerName={
          <>
            T<sub>target </sub>
          </>
        }
        tooltipContent="Utility target temperature."
        units={"°C"}
      />
    ),
    cell: ({ getValue }) => {
        const value = getValue();
        return value !== null ? <>{Math.round(value*1000)/1000}</> : <></>;
      },
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "number",
  },
  {
    accessorKey: "heat_flow",
    header: ({ column }) => (
      <HeaderWithTooltipSortable
        column={column}
        headerName={<>&Delta;H<sub>Min</sub></>}
        tooltipContent="Heat flow."
        units={"kW"}
      />
    ),
    
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "number",
  },
  {
    accessorKey: "dt_cont",
    header: ({ column }) => (
      <HeaderWithTooltipSortable
        column={column}
        headerName={
          <>
            &Delta;T<sub>cont</sub>
          </>
        }
        tooltipContent="Stream contribution to minimum approach temperature."
        units={"°C"}
      />
    ),
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "number",
  },
  {
    accessorKey: "htc",
    header: ({ column }) => (
      <HeaderWithTooltipSortable
        column={column}
        headerName={<>HTC</>}
        tooltipContent="Heat transfer coefficient."
        units={"kW/m²/°C"}
      />
    ),
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "number",
  },
  {
    accessorKey: "price",
    header: ({ column }) => (
      <HeaderWithTooltipSortable
        column={column}
        headerName={<>Price</>}
        tooltipContent="Utility price."
        units={"$/MWh"}
      />
    ),
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "number",
  },
  {
    accessorKey: "type",
    header: () => (
      <HeaderWithTooltip headerName={<>Type</>} tooltipContent="Utility type" />
    ),
    // @ts-expect-error: Custom inputType property added for column configuration
    inputType: "dropdown",
  },
];