commonUtil.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. export var VALUE_SPLIT = '__RC_CASCADER_SPLIT__';
  2. export var SHOW_PARENT = 'SHOW_PARENT';
  3. export var SHOW_CHILD = 'SHOW_CHILD';
  4. export function toPathKey(value) {
  5. return value.join(VALUE_SPLIT);
  6. }
  7. export function toPathKeys(value) {
  8. return value.map(toPathKey);
  9. }
  10. export function toPathValueStr(pathKey) {
  11. return pathKey.split(VALUE_SPLIT);
  12. }
  13. export function fillFieldNames(fieldNames) {
  14. var _ref = fieldNames || {},
  15. label = _ref.label,
  16. value = _ref.value,
  17. children = _ref.children;
  18. var val = value || 'value';
  19. return {
  20. label: label || 'label',
  21. value: val,
  22. key: val,
  23. children: children || 'children'
  24. };
  25. }
  26. export function isLeaf(option, fieldNames) {
  27. var _option$isLeaf, _option$fieldNames$ch;
  28. return (_option$isLeaf = option.isLeaf) !== null && _option$isLeaf !== void 0 ? _option$isLeaf : !((_option$fieldNames$ch = option[fieldNames.children]) !== null && _option$fieldNames$ch !== void 0 && _option$fieldNames$ch.length);
  29. }
  30. export function scrollIntoParentView(element) {
  31. var parent = element.parentElement;
  32. if (!parent) {
  33. return;
  34. }
  35. var elementToParent = element.offsetTop - parent.offsetTop; // offsetParent may not be parent.
  36. if (elementToParent - parent.scrollTop < 0) {
  37. parent.scrollTo({
  38. top: elementToParent
  39. });
  40. } else if (elementToParent + element.offsetHeight - parent.scrollTop > parent.offsetHeight) {
  41. parent.scrollTo({
  42. top: elementToParent + element.offsetHeight - parent.offsetHeight
  43. });
  44. }
  45. }