UNPKG

@orchestrator-ui/orchestrator-ui-components

Version:

Library of UI Components used to display the workflow orchestrator frontend

37 lines (29 loc) 1.1 kB
import React from 'react'; import { ValueOverrideFunction } from '@/rtk'; import { useAppSelector } from '@/rtk/hooks'; import { FieldValue, RenderableFieldValue } from '@/types'; export const useSubscriptionDetailValueOverride = () => { const valueOverrideConfiguration = useAppSelector( (state) => state.orchestratorComponentOverride?.subscriptionDetail ?.valueOverrides, ); const getOverriddenValue = ( fieldValue: FieldValue | RenderableFieldValue, allFieldValues: FieldValue[] | RenderableFieldValue[], ): React.ReactNode | null => { if (!valueOverrideConfiguration) { return null; } const renderFunctionForField: ValueOverrideFunction | undefined = valueOverrideConfiguration[fieldValue.field]; // This check is needed because TS does not infer the type correctly if (renderFunctionForField) { return renderFunctionForField(fieldValue, allFieldValues); } return null; }; return { getOverriddenValue, }; };