UNPKG

@antv/s2-react-components

Version:

React components for S2

26 lines 2.25 kB
"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