mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-02-12 19:25:17 +00:00
67 lines
1.9 KiB
TypeScript
67 lines
1.9 KiB
TypeScript
import { DatePicker, TextField } from "@fluentui/react";
|
|
import React, { FunctionComponent } from "react";
|
|
|
|
export interface TableEntityProps {
|
|
entityValueLabel?: string;
|
|
entityValuePlaceholder: string;
|
|
entityValue: string | Date;
|
|
isEntityTypeDate: boolean;
|
|
isEntityValueDisable?: boolean;
|
|
entityTimeValue: string;
|
|
entityValueType: string;
|
|
onEntityValueChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
|
onSelectDate: (date: Date | null | undefined) => void;
|
|
onEntityTimeValueChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
|
}
|
|
|
|
export const EntityValue: FunctionComponent<TableEntityProps> = ({
|
|
entityValueLabel,
|
|
entityValuePlaceholder,
|
|
entityValue,
|
|
isEntityTypeDate,
|
|
entityTimeValue,
|
|
entityValueType,
|
|
onEntityValueChange,
|
|
onSelectDate,
|
|
isEntityValueDisable,
|
|
onEntityTimeValueChange,
|
|
}: TableEntityProps): JSX.Element => {
|
|
if (isEntityTypeDate) {
|
|
return (
|
|
<>
|
|
<DatePicker
|
|
className="addEntityDatePicker"
|
|
placeholder={entityValuePlaceholder}
|
|
value={entityValue ? new Date(entityValue) : new Date()}
|
|
ariaLabel={entityValuePlaceholder}
|
|
onSelectDate={onSelectDate}
|
|
disabled={isEntityValueDisable}
|
|
/>
|
|
<TextField
|
|
label={entityValueLabel && entityValueLabel}
|
|
id="entityTimeId"
|
|
autoFocus
|
|
type="time"
|
|
value={entityTimeValue}
|
|
onChange={onEntityTimeValueChange}
|
|
disabled={isEntityValueDisable}
|
|
/>
|
|
</>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<TextField
|
|
label={entityValueLabel && entityValueLabel}
|
|
className="addEntityTextField"
|
|
id="entityValueId"
|
|
autoFocus
|
|
disabled={isEntityValueDisable}
|
|
type={entityValueType}
|
|
placeholder={entityValuePlaceholder}
|
|
value={typeof entityValue === "string" ? entityValue : ""}
|
|
onChange={onEntityValueChange}
|
|
/>
|
|
);
|
|
};
|