UNPKG

antd-multi-cascader

Version:
22 lines (21 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_1 = (0, tslib_1.__importStar)(require("react")); const antd_1 = require("antd"); const utils_1 = require("../libs/utils"); const container_1 = (0, tslib_1.__importDefault)(require("../container")); exports.default = react_1.default.memo((props) => { const { node } = props; const { value: containerValue, handleSelectChange, } = container_1.default.useContainer(); const handleClick = (0, react_1.useCallback)((event) => { event.stopPropagation(); }, []); const handleChange = (0, react_1.useCallback)((event) => { const { checked } = event.target; handleSelectChange(node, checked); }, [node]); const checked = (0, utils_1.hasParentChecked)(node, containerValue); const indeterminate = !checked && (0, utils_1.hasChildChecked)(node, containerValue); return (react_1.default.createElement(antd_1.Checkbox, { onClick: handleClick, onChange: handleChange, checked: checked, indeterminate: indeterminate })); });