useEntities.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  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 = function _default(options, fieldNames) {
  13. var entities = (0, _vue.computed)(function () {
  14. return (0, _treeUtil.convertDataToEntities)(options.value, {
  15. fieldNames: fieldNames.value,
  16. initWrapper: function initWrapper(wrapper) {
  17. return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, wrapper), {}, {
  18. pathKeyEntities: {}
  19. });
  20. },
  21. processEntity: function processEntity(entity, wrapper) {
  22. var pathKey = entity.nodes.map(function (node) {
  23. return node[fieldNames.value.value];
  24. }).join(_commonUtil.VALUE_SPLIT);
  25. wrapper.pathKeyEntities[pathKey] = entity;
  26. // Overwrite origin key.
  27. // this is very hack but we need let conduct logic work with connect path
  28. entity.key = pathKey;
  29. }
  30. }).pathKeyEntities;
  31. });
  32. return entities;
  33. };
  34. exports.default = _default;