@antv/s2-react-components
Version:
React components for S2
26 lines • 2.25 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DimensionItem = void 0;
const tslib_1 = require("tslib");
const classnames_1 = tslib_1.__importDefault(require("classnames"));
const lodash_1 = require("lodash");
const react_1 = tslib_1.__importDefault(require("react"));
const react_beautiful_dnd_1 = require("react-beautiful-dnd");
const util_1 = require("../util");
require("./index.less");
const single_item_1 = require("./single-item");
exports.DimensionItem = react_1.default.memo(({ fieldType, item: { id, displayName, checked = true, children = [] }, expandable, expandChildren, isDragDisabled, selectable, index, draggingItemId, onVisibleItemChange, }) => (react_1.default.createElement(react_beautiful_dnd_1.Draggable, { draggableId: id, index: index, isDragDisabled: isDragDisabled }, (provided, snapshot) => (react_1.default.createElement("div", Object.assign({}, provided.draggableProps, { ref: provided.innerRef, className: (0, classnames_1.default)((0, util_1.getSwitcherClassName)(selectable ? 'checkable-list' : 'normal-list'), {
dragging: snapshot.isDragging,
'disable-dragging': isDragDisabled,
}) }),
react_1.default.createElement(single_item_1.SingleItem, { dragHandleProps: provided.dragHandleProps, fieldType: fieldType, id: id, displayName: displayName, checked: checked, onVisibleItemChange: onVisibleItemChange, selectable: selectable, className: (0, classnames_1.default)(selectable ? 'checkable-item' : 'normal-item', {
'item-collapse': !expandChildren,
}) }),
expandable &&
expandChildren &&
!(0, lodash_1.isEmpty)(children) &&
draggingItemId !== id && (react_1.default.createElement("div", { className: (0, classnames_1.default)('child-items', {
'item-hidden': !expandChildren,
}) }, children.map((item) => (react_1.default.createElement(single_item_1.SingleItem, { key: item.id, id: item.id, fieldType: fieldType, displayName: item.displayName, disabled: !checked, checked: item.checked, parentId: id, selectable: selectable, onVisibleItemChange: onVisibleItemChange, className: "checkable-item" }))))))))));
exports.DimensionItem.displayName = 'DimensionItem';
//# sourceMappingURL=index.js.map