@talend/react-components
Version:
Set of react components.
48 lines (47 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Content = require("../Content.component");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const {
cellRenderer: DefaultCellRenderer
} = _Content.defaultColumnConfiguration;
function CellMappedData(props) {
const {
cellData,
columnData
} = props;
const {
valuesMap,
separator = ', ',
...restColumnData
} = columnData;
let cellContent;
const getMappedValue = value => {
const mappedValue = valuesMap[value] || value;
return mappedValue !== undefined ? mappedValue : null;
};
if (Array.isArray(cellData)) {
cellContent = cellData.map(getMappedValue).filter(value => value !== undefined && value !== null && value !== '').sort((a, b) => a.toString().localeCompare(b.toString())).join(separator);
} else {
cellContent = getMappedValue(cellData);
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultCellRenderer, {
...props,
cellData: cellContent,
columnData: restColumnData
});
}
CellMappedData.propTypes = {
cellData: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]),
columnData: _propTypes.default.shape({
valuesMap: _propTypes.default.object,
separator: _propTypes.default.string
})
};
var _default = exports.default = CellMappedData;
//# sourceMappingURL=CellMappedData.component.js.map