strategyUtil.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.SHOW_PARENT = exports.SHOW_CHILD = exports.SHOW_ALL = void 0;
  6. exports.formatStrategyValues = formatStrategyValues;
  7. var _valueUtil = require("./valueUtil");
  8. var SHOW_ALL = 'SHOW_ALL';
  9. exports.SHOW_ALL = SHOW_ALL;
  10. var SHOW_PARENT = 'SHOW_PARENT';
  11. exports.SHOW_PARENT = SHOW_PARENT;
  12. var SHOW_CHILD = 'SHOW_CHILD';
  13. exports.SHOW_CHILD = SHOW_CHILD;
  14. function formatStrategyValues(values, strategy, keyEntities, fieldNames) {
  15. var valueSet = new Set(values);
  16. if (strategy === SHOW_CHILD) {
  17. return values.filter(function (key) {
  18. var entity = keyEntities[key];
  19. if (entity && entity.children && entity.children.some(function (_ref) {
  20. var node = _ref.node;
  21. return valueSet.has(node[fieldNames.value]);
  22. }) && entity.children.every(function (_ref2) {
  23. var node = _ref2.node;
  24. return (0, _valueUtil.isCheckDisabled)(node) || valueSet.has(node[fieldNames.value]);
  25. })) {
  26. return false;
  27. }
  28. return true;
  29. });
  30. }
  31. if (strategy === SHOW_PARENT) {
  32. return values.filter(function (key) {
  33. var entity = keyEntities[key];
  34. var parent = entity ? entity.parent : null;
  35. if (parent && !(0, _valueUtil.isCheckDisabled)(parent.node) && valueSet.has(parent.key)) {
  36. return false;
  37. }
  38. return true;
  39. });
  40. }
  41. return values;
  42. }