{"version":3,"file":"utils.mjs","sources":["../../../../../packages/components/cascade-panel/src/utils.ts"],"sourcesContent":["import { isLeaf } from '@element-ultra/utils'\nimport type { default as CascadeNode } from './node'\n\nexport const getMenuIndex = (el: HTMLElement) => {\n  if (!el) return 0\n  const pieces = el.id.split('-')\n  return Number(pieces[pieces.length - 2])\n}\n\nexport const checkNode = (el) => {\n  if (!el) return\n\n  const input = el.querySelector('input')\n  if (input) {\n    input.click()\n  } else if (isLeaf(el)) {\n    el.click()\n  }\n}\n\n/** 通过原始顺序排序 */\nexport const sortByOriginalOrder = (\n  oldNodes: CascadeNode[],\n  newNodes: CascadeNode[]\n) => {\n  const newNodesCopy = newNodes.slice(0)\n  // 新节点id\n  const newIds = newNodesCopy.map((node) => node.uid)\n\n  // 循环旧的节点，如果旧的节点和在新的节点中存在（UID相同）则使用旧节点， 并删除新节点里面的节点\n  const res = oldNodes.reduce((acc, item) => {\n    const index = newIds.indexOf(item.uid)\n    if (index > -1) {\n      acc.push(item)\n      newNodesCopy.splice(index, 1)\n      newIds.splice(index, 1)\n    }\n    return acc\n  }, [] as CascadeNode[])\n\n  // 追加剩余的新节点到末尾\n  res.push(...newNodesCopy)\n\n  return res\n}\n"],"names":[],"mappings":";;;AAGa,MAAA,YAAA,GAAe,CAAC,EAAoB,KAAA;AAC/C,EAAA,IAAI,CAAC,EAAA;AAAI,IAAO,OAAA,CAAA,CAAA;AAChB,EAAA,MAAM,MAAS,GAAA,EAAA,CAAG,EAAG,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC9B,EAAA,OAAO,MAAO,CAAA,MAAA,CAAO,MAAO,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA,CAAA;AACzC,EAAA;AAEa,MAAA,SAAA,GAAY,CAAC,EAAO,KAAA;AAC/B,EAAA,IAAI,CAAC,EAAA;AAAI,IAAA,OAAA;AAET,EAAM,MAAA,KAAA,GAAQ,EAAG,CAAA,aAAA,CAAc,OAAO,CAAA,CAAA;AACtC,EAAA,IAAI,KAAO,EAAA;AACT,IAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,GACd,MAAA,IAAW,MAAO,CAAA,EAAE,CAAG,EAAA;AACrB,IAAA,EAAA,CAAG,KAAM,EAAA,CAAA;AAAA,GACX;AACF,EAAA;AAGa,MAAA,mBAAA,GAAsB,CACjC,QAAA,EACA,QACG,KAAA;AACH,EAAM,MAAA,YAAA,GAAe,QAAS,CAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AAErC,EAAA,MAAM,SAAS,YAAa,CAAA,GAAA,CAAI,CAAC,IAAA,KAAS,KAAK,GAAG,CAAA,CAAA;AAGlD,EAAA,MAAM,GAAM,GAAA,QAAA,CAAS,MAAO,CAAA,CAAC,KAAK,IAAS,KAAA;AACzC,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,OAAQ,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AACrC,IAAA,IAAI,QAAQ,CAAI,CAAA,EAAA;AACd,MAAA,GAAA,CAAI,KAAK,IAAI,CAAA,CAAA;AACb,MAAa,YAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAC5B,MAAO,MAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAAA,KACxB;AACA,IAAO,OAAA,GAAA,CAAA;AAAA,GACT,EAAG,EAAmB,CAAA,CAAA;AAGtB,EAAI,GAAA,CAAA,IAAA,CAAK,GAAG,YAAY,CAAA,CAAA;AAExB,EAAO,OAAA,GAAA,CAAA;AACT;;;;"}