Skip to content

Commit

Permalink
3464 - do not pass ODP to useIsEditODPEnabled && useShowReviewIndicat…
Browse files Browse the repository at this point in the history
…or (#4006)
  • Loading branch information
minotogna authored Oct 7, 2024
1 parent 0b28d6e commit cf3f74f
Show file tree
Hide file tree
Showing 12 changed files with 44 additions and 50 deletions.
6 changes: 3 additions & 3 deletions src/client/pages/OriginalDataPoint/OriginalDataPoint.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ const OriginalDataPoint: React.FC = () => {
<ButtonBar canEditData={canEditData} />
</div>

<YearSelection canEditData={isEditTableDataEnabled} />
<YearSelection />
<DataSources originalDataPoint={originalDataPoint} />
<NationalClasses originalDataPoint={originalDataPoint} canEditData={canEditData} />
<OriginalData originalDataPoint={originalDataPoint} canEditData={canEditData} />
<NationalClasses canEditData={canEditData} originalDataPoint={originalDataPoint} />
<OriginalData canEditData={canEditData} originalDataPoint={originalDataPoint} />
<Comments canEditData={canEditData} />

<div className="odp__bottom-buttons">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ const AdditionalComments: React.FC<Props> = (props: Props) => {
const { originalDataPoint } = props

const { t } = useTranslation()
const reviewIndicator = useShowReviewIndicator(originalDataPoint)
const disabled = useIsDisabled(originalDataPoint)
const reviewIndicator = useShowReviewIndicator()
const disabled = useIsDisabled()
const updateOriginalDataPoint = useUpdateDataSources()

const onChange = useCallback<ChangeEventHandler<HTMLTextAreaElement>>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { OriginalDataPoint } from 'meta/assessment/originalDataPoint'

import { useIsPrintRoute } from 'client/hooks/useIsRoute'
import { DataCell, DataGrid } from 'client/components/DataGrid'
import { useCanEditData } from 'client/pages/OriginalDataPoint/hooks/useCanEditData'
import { useIsEditODPEnabled } from 'client/pages/OriginalDataPoint/hooks/useIsEditODPEnabled'

import AdditionalComments from './AdditionalComments'
import MethodsUsed from './MethodsUsed'
Expand All @@ -20,7 +20,7 @@ const DataSources: React.FC<Props> = (props) => {

const { t } = useTranslation()
const { print } = useIsPrintRoute()
const canEdit = useCanEditData(originalDataPoint)
const canEdit = useIsEditODPEnabled()

return (
<div className="odp__section">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ const MethodsUsed: React.FC<Props> = (props: Props) => {
const { originalDataPoint } = props

const { t } = useTranslation()
const reviewIndicator = useShowReviewIndicator(originalDataPoint)
const disabled = useIsDisabled(originalDataPoint)
const reviewIndicator = useShowReviewIndicator()
const disabled = useIsDisabled()
const updateOriginalDataPoint = useUpdateDataSources()

const options = useMemo<Array<Option>>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ const References: React.FC<Props> = (props: Props) => {
const { originalDataPoint } = props
const { t } = useTranslation()

const reviewIndicator = useShowReviewIndicator(originalDataPoint)
const disabled = useIsDisabled(originalDataPoint)
const reviewIndicator = useShowReviewIndicator()
const disabled = useIsDisabled()

const updateOriginalDataPoint = useUpdateDataSources()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import { OriginalDataPoint } from 'meta/assessment'

import { useIsPrintRoute } from 'client/hooks/useIsRoute'
import { useCanEditData } from 'client/pages/OriginalDataPoint/hooks/useCanEditData'
import { useIsEditODPEnabled } from 'client/pages/OriginalDataPoint/hooks/useIsEditODPEnabled'

export const useIsDisabled = (originalDataPoint: OriginalDataPoint) => {
export const useIsDisabled = () => {
const { print } = useIsPrintRoute()

const canEditData = useCanEditData(originalDataPoint)
return Boolean(print || !canEditData || !originalDataPoint.year)
const canEditData = useIsEditODPEnabled()
return Boolean(print || !canEditData)
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { DataCell, DataRow } from 'client/components/DataGrid'
import InputText from 'client/components/Inputs/InputText'
import TextArea from 'client/components/Inputs/TextArea'
// import { useNationalClassNameComments } from 'client/pages/OriginalDataPoint/hooks'
import { useCanEditData } from 'client/pages/OriginalDataPoint/hooks/useCanEditData'
import { useIsEditODPEnabled } from 'client/pages/OriginalDataPoint/hooks/useIsEditODPEnabled'

import { useOnChangeNationalClass } from './hooks/onChangeNationalClass'
import { useRowActions } from './hooks/useRowActions'
Expand All @@ -27,7 +27,7 @@ const NationalClass: React.FC<Props> = (props) => {

const { t } = useTranslation()
const { print } = useIsPrintRoute()
const canEditData = useCanEditData(originalDataPoint)
const canEditData = useIsEditODPEnabled()
const actions = useRowActions({ canEdit: canEditData && !placeHolder, index, originalDataPoint })
const { onChangeDefinition, onChangeName, onPasteDefinition, onPasteName } = useOnChangeNationalClass({ index })

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { useIsPrintRoute } from 'client/hooks/useIsRoute'
import { useCycleRouteParams } from 'client/hooks/useRouteParams'
import { DataCell, DataGrid } from 'client/components/DataGrid'
import NationalClass from 'client/pages/OriginalDataPoint/components/NationalClasses/components/NationalClass'
import { useCanEditData } from 'client/pages/OriginalDataPoint/hooks/useCanEditData'
import { useIsEditODPEnabled } from 'client/pages/OriginalDataPoint/hooks/useIsEditODPEnabled'

type Props = {
gridRef: React.MutableRefObject<HTMLDivElement>
Expand All @@ -21,12 +21,12 @@ export const NationalClassesTable = (props: Props) => {
const { cycleName } = useCycleRouteParams()

const { print } = useIsPrintRoute()
const canEdit = useCanEditData(originalDataPoint)
const canEdit = useIsEditODPEnabled()

return (
<DataGrid
gridTemplateColumns={`${print ? `100px ` : ''}minmax(240px, 40%) 1fr`}
ref={gridRef}
gridTemplateColumns={`${print ? `100px ` : ''}minmax(240px, 40%) 1fr`}
withActions={canEdit}
>
{print && (
Expand All @@ -44,7 +44,7 @@ export const NationalClassesTable = (props: Props) => {
{canEdit && <div />}

{nationalClasses.map((nationalClass, idx) => (
<NationalClass index={idx} key={nationalClass.uuid} originalDataPoint={originalDataPoint} />
<NationalClass key={nationalClass.uuid} index={idx} originalDataPoint={originalDataPoint} />
))}
</DataGrid>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,18 @@ import classNames from 'classnames'
import { ODPs } from 'meta/assessment'

import { useODPYears, useOriginalDataPoint } from 'client/store/ui/originalDataPoint'
import { useSectionRouteParams } from 'client/hooks/useRouteParams'
import { useIsEditTableDataEnabled } from 'client/store/user'
import { useOriginalDataPointRouteParams } from 'client/hooks/useRouteParams'

import { useOnChange } from './hooks/useOnChange'

type Props = {
canEditData: boolean
}

const YearSelection: React.FC<Props> = (props) => {
const { canEditData } = props

const YearSelection: React.FC = () => {
const { t } = useTranslation()
const { cycleName } = useSectionRouteParams()
const { cycleName, sectionName } = useOriginalDataPointRouteParams()
const originalDataPoint = useOriginalDataPoint()
const canEditData = useIsEditTableDataEnabled(sectionName)
const onChange = useOnChange()
const { years, reservedYears } = useODPYears(cycleName)

const validYear = ODPs.validateYear(originalDataPoint)
const disabled = Boolean(!canEditData)

Expand All @@ -31,13 +26,13 @@ const YearSelection: React.FC<Props> = (props) => {
<h3 className="subhead">{t('nationalDataPoint.referenceYearData')}</h3>
<div className={classNames('odp__year-selection', { error: !validYear })}>
<select
disabled={disabled}
className="select validation-error-sensitive-field"
value={originalDataPoint.year || ''}
disabled={disabled}
onChange={onChange}
value={originalDataPoint.year || ''}
>
{['', ...years].map((year) => (
<option key={year} value={year} disabled={reservedYears.includes(Number(year))} hidden={!year}>
<option key={year} disabled={reservedYears.includes(Number(year))} hidden={!year} value={year}>
{year || t('nationalDataPoint.selectYear')}
</option>
))}
Expand Down
8 changes: 0 additions & 8 deletions src/client/pages/OriginalDataPoint/hooks/useCanEditData.ts

This file was deleted.

11 changes: 11 additions & 0 deletions src/client/pages/OriginalDataPoint/hooks/useIsEditODPEnabled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { useOriginalDataPoint } from 'client/store/ui/originalDataPoint'
import { useIsEditTableDataEnabled } from 'client/store/user'
import { useOriginalDataPointRouteParams } from 'client/hooks/useRouteParams'

export const useIsEditODPEnabled = () => {
const { sectionName } = useOriginalDataPointRouteParams()
const isEditTableDataEnabled = useIsEditTableDataEnabled(sectionName)
const originalDataPoint = useOriginalDataPoint()

return isEditTableDataEnabled && originalDataPoint?.year > 0
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import { OriginalDataPoint } from 'meta/assessment'

import { useIsPrintRoute } from 'client/hooks/useIsRoute'
import { useCanEditData } from 'client/pages/OriginalDataPoint/hooks/useCanEditData'
import { useIsEditODPEnabled } from 'client/pages/OriginalDataPoint/hooks/useIsEditODPEnabled'

export const useShowReviewIndicator = (originalDataPoint: OriginalDataPoint) => {
export const useShowReviewIndicator = () => {
const { print } = useIsPrintRoute()

const canEditData = useCanEditData(originalDataPoint)
return originalDataPoint.id && !print && canEditData
const canEditData = useIsEditODPEnabled()
return !print && canEditData
}

0 comments on commit cf3f74f

Please sign in to comment.