strategyUtil.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  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 = exports.SHOW_ALL = 'SHOW_ALL';
  9. var SHOW_PARENT = exports.SHOW_PARENT = 'SHOW_PARENT';
  10. var SHOW_CHILD = exports.SHOW_CHILD = 'SHOW_CHILD';
  11. function formatStrategyValues(values, strategy, keyEntities, fieldNames) {
  12. var valueSet = new Set(values);
  13. if (strategy === SHOW_CHILD) {
  14. return values.filter(function (key) {
  15. var entity = keyEntities[key];
  16. return !entity || !entity.children || !entity.children.some(function (_ref) {
  17. var node = _ref.node;
  18. return valueSet.has(node[fieldNames.value]);
  19. }) || !entity.children.every(function (_ref2) {
  20. var node = _ref2.node;
  21. return (0, _valueUtil.isCheckDisabled)(node) || valueSet.has(node[fieldNames.value]);
  22. });
  23. });
  24. }
  25. if (strategy === SHOW_PARENT) {
  26. return values.filter(function (key) {
  27. var entity = keyEntities[key];
  28. var parent = entity ? entity.parent : null;
  29. return !parent || (0, _valueUtil.isCheckDisabled)(parent.node) || !valueSet.has(parent.key);
  30. });
  31. }
  32. return values;
  33. }