@talend/react-components
Version:
Set of react components.
39 lines (38 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _JSONLike = _interopRequireDefault(require("../JSONLike"));
var _ListModule = _interopRequireDefault(require("./List.module.scss"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function List({
data,
...props
}) {
if (!Array.isArray(data) && !Array.isArray(data.dataset)) {
return null;
}
// The datas can be an array or an array in an object. We assign the value correctly here.
const dataset = Array.isArray(data) ? data : data.dataset;
return /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
className: `${_ListModule.default.container} tc-object-viewer list-unstyled`,
id: props.id,
children: dataset.map((obj, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_JSONLike.default, {
data: obj,
...props,
jsonpath: `$[${index}]`
})
}, index))
});
}
List.displayName = 'List';
List.propTypes = {
data: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.object), _propTypes.default.object]).isRequired,
id: _propTypes.default.string
};
var _default = exports.default = List;
//# sourceMappingURL=List.component.js.map