useEntities.js 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  8. var _treeUtil = require("../../vc-tree/utils/treeUtil");
  9. var _commonUtil = require("../utils/commonUtil");
  10. var _vue = require("vue");
  11. /** Lazy parse options data into conduct-able info to avoid perf issue in single mode */
  12. var _default = (options, fieldNames) => {
  13. const entities = (0, _vue.computed)(() => {
  14. return (0, _treeUtil.convertDataToEntities)(options.value, {
  15. fieldNames: fieldNames.value,
  16. initWrapper: wrapper => (0, _extends2.default)((0, _extends2.default)({}, wrapper), {
  17. pathKeyEntities: {}
  18. }),
  19. processEntity: (entity, wrapper) => {
  20. const pathKey = entity.nodes.map(node => node[fieldNames.value.value]).join(_commonUtil.VALUE_SPLIT);
  21. wrapper.pathKeyEntities[pathKey] = entity;
  22. // Overwrite origin key.
  23. // this is very hack but we need let conduct logic work with connect path
  24. entity.key = pathKey;
  25. }
  26. }).pathKeyEntities;
  27. });
  28. return entities;
  29. };
  30. exports.default = _default;