Skip to content
Snippets Groups Projects
Select Git revision
  • 149616c92b6405eb8e49755d4a71b29713f1a821
  • dev default protected
  • renovate/cozy-realtime-5.x
  • renovate/devdependencies-(non-major)
  • renovate/copy-webpack-plugin-13.x
  • renovate/major-react-monorepo
  • renovate/couchdb-3.x
  • renovate/cozy-device-helper-3.x
  • renovate/cozy-flags-4.x
  • renovate/eslint-config-prettier-10.x
  • renovate/major-react-router-monorepo
  • renovate/major-typescript-eslint-monorepo
  • renovate/sass-loader-16.x
  • renovate/eslint-plugin-testing-library-7.x
  • renovate/cozy-scripts-8.x
  • renovate/cozy-harvest-lib-9.x
  • renovate/cozy-client-49.x
  • build-test protected
  • build-dev protected
  • lint/testing-libraby-plugin
  • build protected
  • v3.1.1
  • v3.1.0
  • v3.0.0
  • v2.8.0
  • v2.7.2
  • v2.7.1
  • v2.7.0
  • v2.6.0
  • v2.5.1
  • v2.5.0
  • v2.4.0
  • v2.3.1
  • v2.3.0
  • v2.2.2
  • v2.2.1
  • v2.2.0
  • v2.1.1
  • v2.1.0
  • v2.0.2
  • v2.0.1
41 results

ConsumptionVisualizer.tsx

Blame
  • hnouts's avatar
    Hugo NOUTS authored
    3560db66
    History
    ConsumptionVisualizer.tsx 3.54 KiB
    import React from 'react'
    import { translate } from 'cozy-ui/react/I18n'
    import { FluidType } from 'enum/fluid.enum'
    import { DateTime } from 'luxon'
    import { TimeStep, IDataload } from 'services/dataConsumptionContracts'
    
    import { isDataToCome } from 'services/dateChartService'
    import DateConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/DateConsumptionVisualizer'
    import DataloadConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/DataloadConsumptionVisualizer'
    import DetailedConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/DetailedConsumptionVisualizer'
    import LastDataConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/LastDataConsumptionVisualizer'
    import ErrorDataConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/ErrorDataConsumptionVisualizer'
    
    interface ConsumptionVisualizerProps {
      fluidTypes: FluidType[]
      timeStep: TimeStep
      date: DateTime
      dataload: IDataload
      compareDataload: IDataload
      showCompare: boolean
      multiFluid: boolean
      lastDataDate: DateTime
      lastDateWithAllData: DateTime
      isLoaded: boolean
      indexDisplayed: number
      setSelectedDate: Function
      setIndexDisplayed: Function
      handleClickMove: (increment: number) => void
      handleClickDetails: () => void
      handleChangeIndex: (index: number) => void
    }
    const ConsumptionVisualizer = ({
      fluidTypes,
      timeStep,
      date,
      dataload,
      compareDataload,
      showCompare,
      multiFluid,
      lastDataDate,
      lastDateWithAllData,
      isLoaded,
      indexDisplayed,
      setSelectedDate,
      setIndexDisplayed,
      handleClickMove,
      handleClickDetails,
      handleChangeIndex,
    }: ConsumptionVisualizerProps) => {
      return (
        <div className="cv">
          <DateConsumptionVisualizer
            timeStep={timeStep}
            date={date}
            handleClickMove={handleClickMove}
            indexDisplayed={indexDisplayed}
            handleChangeIndex={handleChangeIndex}
          />
          <DataloadConsumptionVisualizer
            fluidTypes={fluidTypes}
            dataload={dataload}
            compareDataload={compareDataload}
            showCompare={showCompare}
            multiFluid={multiFluid}
            lastDataDate={lastDataDate}
            isLoaded={isLoaded}
          />
          <div className="cv-info">
            {!multiFluid && dataload && dataload.value > -1 && (
              <DetailedConsumptionVisualizer
                fluidTypes={fluidTypes}
                timeStep={timeStep}
                multiFluid={multiFluid}
                handleClickDetails={handleClickDetails}
              />
            )}
            {dataload &&
              dataload.valueDetail &&
              ((dataload.valueDetail[0] === -1 &&
                !isDataToCome(dataload, fluidTypes[0])) ||
                (dataload.valueDetail[1] === -1 &&
                  !isDataToCome(dataload, fluidTypes[1])) ||
                (dataload.valueDetail[2] === -1 &&
                  !isDataToCome(dataload, fluidTypes[2]))) && (
                <ErrorDataConsumptionVisualizer
                  date={date}
                  indexDisplayed={indexDisplayed}
                  setIndexDisplayed={setIndexDisplayed}
                  lastDateWithAllData={lastDateWithAllData}
                  setSelectedDate={setSelectedDate}
                />
              )}
            {!dataload ||
              (dataload && dataload.value === -1 && (
                <LastDataConsumptionVisualizer
                  fluidTypes={fluidTypes}
                  timeStep={timeStep}
                  multiFluid={multiFluid}
                  handleChangeIndex={handleChangeIndex}
                />
              ))}
          </div>
        </div>
      )
    }
    
    export default translate()(ConsumptionVisualizer)