12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = useSelect;
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
- var _conductUtil = require("rc-tree/lib/utils/conductUtil");
- var _commonUtil = require("../utils/commonUtil");
- var _treeUtil = require("../utils/treeUtil");
- function useSelect(multiple, triggerChange, checkedValues, halfCheckedValues, missingCheckedValues, getPathKeyEntities, getValueByKeyPath, showCheckedStrategy) {
- return function (valuePath) {
- if (!multiple) {
- triggerChange(valuePath);
- } else {
- // Prepare conduct required info
- var pathKey = (0, _commonUtil.toPathKey)(valuePath);
- var checkedPathKeys = (0, _commonUtil.toPathKeys)(checkedValues);
- var halfCheckedPathKeys = (0, _commonUtil.toPathKeys)(halfCheckedValues);
- var existInChecked = checkedPathKeys.includes(pathKey);
- var existInMissing = missingCheckedValues.some(function (valueCells) {
- return (0, _commonUtil.toPathKey)(valueCells) === pathKey;
- });
- // Do update
- var nextCheckedValues = checkedValues;
- var nextMissingValues = missingCheckedValues;
- if (existInMissing && !existInChecked) {
- // Missing value only do filter
- nextMissingValues = missingCheckedValues.filter(function (valueCells) {
- return (0, _commonUtil.toPathKey)(valueCells) !== pathKey;
- });
- } else {
- // Update checked key first
- var nextRawCheckedKeys = existInChecked ? checkedPathKeys.filter(function (key) {
- return key !== pathKey;
- }) : [].concat((0, _toConsumableArray2.default)(checkedPathKeys), [pathKey]);
- var pathKeyEntities = getPathKeyEntities();
- // Conduction by selected or not
- var checkedKeys;
- if (existInChecked) {
- var _conductCheck = (0, _conductUtil.conductCheck)(nextRawCheckedKeys, {
- checked: false,
- halfCheckedKeys: halfCheckedPathKeys
- }, pathKeyEntities);
- checkedKeys = _conductCheck.checkedKeys;
- } else {
- var _conductCheck2 = (0, _conductUtil.conductCheck)(nextRawCheckedKeys, true, pathKeyEntities);
- checkedKeys = _conductCheck2.checkedKeys;
- }
- // Roll up to parent level keys
- var deDuplicatedKeys = (0, _treeUtil.formatStrategyValues)(checkedKeys, getPathKeyEntities, showCheckedStrategy);
- nextCheckedValues = getValueByKeyPath(deDuplicatedKeys);
- }
- triggerChange([].concat((0, _toConsumableArray2.default)(nextMissingValues), (0, _toConsumableArray2.default)(nextCheckedValues)));
- }
- };
- }
|