useValues.js 1.6 KB

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = useValues;
  8. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  9. var _conductUtil = require("rc-tree/lib/utils/conductUtil");
  10. var React = _interopRequireWildcard(require("react"));
  11. var _commonUtil = require("../utils/commonUtil");
  12. function useValues(multiple, rawValues, getPathKeyEntities, getValueByKeyPath, getMissingValues) {
  13. // Fill `rawValues` with checked conduction values
  14. return React.useMemo(function () {
  15. var _getMissingValues = getMissingValues(rawValues),
  16. _getMissingValues2 = (0, _slicedToArray2.default)(_getMissingValues, 2),
  17. existValues = _getMissingValues2[0],
  18. missingValues = _getMissingValues2[1];
  19. if (!multiple || !rawValues.length) {
  20. return [existValues, [], missingValues];
  21. }
  22. var keyPathValues = (0, _commonUtil.toPathKeys)(existValues);
  23. var keyPathEntities = getPathKeyEntities();
  24. var _conductCheck = (0, _conductUtil.conductCheck)(keyPathValues, true, keyPathEntities),
  25. checkedKeys = _conductCheck.checkedKeys,
  26. halfCheckedKeys = _conductCheck.halfCheckedKeys;
  27. // Convert key back to value cells
  28. return [getValueByKeyPath(checkedKeys), getValueByKeyPath(halfCheckedKeys), missingValues];
  29. }, [multiple, rawValues, getPathKeyEntities, getValueByKeyPath, getMissingValues]);
  30. }