UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 1.68 kB
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/cascader-panel/src/utils.ts"],"sourcesContent":["import { isLeaf } from '@element-plus/utils/aria'\nimport type { default as CascaderNode } 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\nexport const sortByOriginalOrder = (\n oldNodes: CascaderNode[],\n newNodes: CascaderNode[]\n) => {\n const newNodesCopy = newNodes.slice(0)\n const newIds = newNodesCopy.map((node) => node.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 CascaderNode[])\n\n res.push(...newNodesCopy)\n\n return res\n}\n"],"names":[],"mappings":";;MAGa,eAAe,CAAC,OAAoB;AAC/C,MAAI,CAAC;AAAI,WAAO;AAChB,QAAM,SAAS,GAAG,GAAG,MAAM;AAC3B,SAAO,OAAO,OAAO,OAAO,SAAS;AAAA;MAG1B,YAAY,CAAC,OAAO;AAC/B,MAAI,CAAC;AAAI;AAET,QAAM,QAAQ,GAAG,cAAc;AAC/B,MAAI,OAAO;AACT,UAAM;AAAA,aACG,OAAO,KAAK;AACrB,OAAG;AAAA;AAAA;MAIM,sBAAsB,CACjC,UACA,aACG;AACH,QAAM,eAAe,SAAS,MAAM;AACpC,QAAM,SAAS,aAAa,IAAI,CAAC,SAAS,KAAK;AAC/C,QAAM,MAAM,SAAS,OAAO,CAAC,KAAK,SAAS;AACzC,UAAM,QAAQ,OAAO,QAAQ,KAAK;AAClC,QAAI,QAAQ,IAAI;AACd,UAAI,KAAK;AACT,mBAAa,OAAO,OAAO;AAC3B,aAAO,OAAO,OAAO;AAAA;AAEvB,WAAO;AAAA,KACN;AAEH,MAAI,KAAK,GAAG;AAEZ,SAAO;AAAA;;;;"}