useCheckedKeys.js 1.3 KB

12345678910111213141516171819202122232425262728
  1. import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
  2. import { conductCheck } from '../../vc-tree/utils/conductUtil';
  3. import { shallowRef, watchEffect } from 'vue';
  4. export default (function (rawLabeledValues, rawHalfCheckedValues, treeConduction, keyEntities, maxLevel, levelEntities) {
  5. var newRawCheckedValues = shallowRef([]);
  6. var newRawHalfCheckedValues = shallowRef([]);
  7. watchEffect(function () {
  8. var checkedKeys = rawLabeledValues.value.map(function (_ref) {
  9. var value = _ref.value;
  10. return value;
  11. });
  12. var halfCheckedKeys = rawHalfCheckedValues.value.map(function (_ref2) {
  13. var value = _ref2.value;
  14. return value;
  15. });
  16. var missingValues = checkedKeys.filter(function (key) {
  17. return !keyEntities.value[key];
  18. });
  19. if (treeConduction.value) {
  20. var _conductCheck = conductCheck(checkedKeys, true, keyEntities.value, maxLevel.value, levelEntities.value);
  21. checkedKeys = _conductCheck.checkedKeys;
  22. halfCheckedKeys = _conductCheck.halfCheckedKeys;
  23. }
  24. newRawCheckedValues.value = Array.from(new Set([].concat(_toConsumableArray(missingValues), _toConsumableArray(checkedKeys))));
  25. newRawHalfCheckedValues.value = halfCheckedKeys;
  26. });
  27. return [newRawCheckedValues, newRawHalfCheckedValues];
  28. });