Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 66x 66x 66x 9x 9x 9x 7x 4x 8x 4x 4x 7x 7x 5x 3x 3x 2x 2x 9x | import React, { ReactElement, useEffect, useState } from "react";
import { EnumCellProps, EnumMetaProps } from "@props/RecordProps";
import { Tag } from "antd";
import { getEnumLabelFromCache } from "@utils/EnumUtils";
const DefaultDisplayVal = '';
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const colors = [
"#E6F1FF", //(light blue)
"#F5F5F5", // (light grey)
"#F4F4F4", // (light grey with a hint of beige)
"#FFF3E0", // (light orange)
"#F1F8E9", // (light green)
"#F2F2F2", // (light off-white)
"#FCF3CF", // (light yellow)
"#EEEFF2", // (light grey-blue)
"#F9EBEA", // (light pink)
"#F2F2F2", //(light grey with a hint of blue)
];
const EnumCell = (props: EnumCellProps): ReactElement => {
const { value, field, mappings, type } = props;
const [displayVal, setDisplayVal] = useState<string>(DefaultDisplayVal);
useEffect(() => {
const setLabel = (mapping: Array<EnumMetaProps>): void => {
const enumName = (typeof value === 'string') ? value : value?.name;
const enumMetaProps = mapping?.filter(e => e.value === enumName);
const label = (enumMetaProps != null && enumMetaProps.length === 1) ? enumMetaProps[0].label : "";
setDisplayVal(label);
};
const mapping = mappings[field];
if (mapping == null) {
if (type == null) {
console.warn(`Mapping for ${field}/${value} not found in mappings: `, mappings);
setDisplayVal("");
} else {
getEnumLabelFromCache(type).then(setLabel);
}
} else {
setLabel(mapping);
}
}, [value, type, field, mappings, displayVal]);
//const color = (displayVal != null && displayVal.length > 0) ? colors[displayVal.length % colors.length] : undefined;
return (displayVal === "") ? <></> : (<div className="enum-value">
<Tag className="enum-tag">{displayVal}</Tag>
</div>);
};
export default EnumCell;
|