/** * Contains the property view datetime renderer * * @module */ import { IPropertyViewDateTimeRendererProps } from "../../../internal/components/PropertyView/PropertyViewDateTime"; import React from "react"; /** * The fast prototyping property view date time renderer, basically uses moment to format * for the given date format * * supported args: * - NullComponent: a react component to render instead of the default when the value is null * - nullComponentArgs: an object to pass as props to the null component * - nullNode: a react node to render instead of the default when the value is null * - dateFormat: a momentjs date string format to use instead of the default (keep localization in mind) * * @param props the property view date time renderer props given by the handler * @returns a react element */ export default function PropertyViewDateTimeRenderer(props: IPropertyViewDateTimeRendererProps) { let value: React.ReactNode; if (props.args.dateFormat) { value = props.momentValue ? props.momentValue.format(props.args.dateFormat) : null; } else { value = props.defaultFormattedValue; } if (value === null && props.args.nullNode) { value = props.args.nullNode; } else if (value === null && props.args.NullComponent) { const NullComponent = props.args.NullComponent; const nullArgs = props.args.nullComponentArgs; value = ; } return ( {value} ) }