strategyUtil.js 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import { isCheckDisabled } from './valueUtil';
  2. export var SHOW_ALL = 'SHOW_ALL';
  3. export var SHOW_PARENT = 'SHOW_PARENT';
  4. export var SHOW_CHILD = 'SHOW_CHILD';
  5. export function formatStrategyValues(values, strategy, keyEntities, fieldNames) {
  6. var valueSet = new Set(values);
  7. if (strategy === SHOW_CHILD) {
  8. return values.filter(function (key) {
  9. var entity = keyEntities[key];
  10. if (entity && entity.children && entity.children.some(function (_ref) {
  11. var node = _ref.node;
  12. return valueSet.has(node[fieldNames.value]);
  13. }) && entity.children.every(function (_ref2) {
  14. var node = _ref2.node;
  15. return isCheckDisabled(node) || valueSet.has(node[fieldNames.value]);
  16. })) {
  17. return false;
  18. }
  19. return true;
  20. });
  21. }
  22. if (strategy === SHOW_PARENT) {
  23. return values.filter(function (key) {
  24. var entity = keyEntities[key];
  25. var parent = entity ? entity.parent : null;
  26. if (parent && !isCheckDisabled(parent.node) && valueSet.has(parent.key)) {
  27. return false;
  28. }
  29. return true;
  30. });
  31. }
  32. return values;
  33. }