choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
56 lines (51 loc) • 1.99 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React, { useContext } from 'react';
import { observer } from 'mobx-react-lite';
import { Draggable, Droppable } from 'react-beautiful-dnd';
import sortBy from 'lodash/sortBy';
import TabsContext from '../../TabsContext';
import Item from './Item';
var Group = function Group(props) {
var header = props.header,
records = props.records,
value = props.value,
nodeSuffix = props.nodeSuffix,
defaultKey = props.defaultKey;
var _useContext = useContext(TabsContext),
prefixCls = _useContext.prefixCls,
tabDraggable = _useContext.tabDraggable;
return /*#__PURE__*/React.createElement(React.Fragment, null, header && /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-customization-group-header")
}, header), /*#__PURE__*/React.createElement(Droppable, {
isDropDisabled: !tabDraggable,
droppableId: value,
key: "group"
}, function (droppableProvided) {
return /*#__PURE__*/React.createElement("div", _extends({
ref: droppableProvided.innerRef,
className: "".concat(prefixCls, "-customization-group")
}, droppableProvided && droppableProvided.droppableProps), sortBy(records, [function (r) {
return r.get('sort');
}]).map(function (record, index, list) {
return /*#__PURE__*/React.createElement(Draggable, {
key: record.key,
draggableId: String(record.key),
index: index
}, function (provided, snapshot) {
return /*#__PURE__*/React.createElement(Item, {
key: record.key,
record: record,
suffix: nodeSuffix,
index: index,
records: list,
provided: provided,
snapshot: snapshot,
defaultKey: defaultKey
});
});
}), droppableProvided && droppableProvided.placeholder);
}));
};
Group.displayName = 'Group';
export default observer(Group);
//# sourceMappingURL=Group.js.map