UNPKG

tdesign-mobile-vue

Version:
1 lines 2.97 kB
{"version":3,"file":"utils.mjs","sources":["../../../../src/_common/js/tree-select/utils.ts"],"sourcesContent":["import { TreeOptionData } from '../common';\n\ntype TargetValue = string | number | object;\n\n/**\n * 递归查找指定节点的所有父节点的 value\n * @param options 树形数据\n * @param targetValue 目标节点的 value\n * @param realChildren 子节点的 key (别名)\n * @param realValue 节点的 value 的 key (别名)\n */\nexport function findParentValues(\n options: TreeOptionData[],\n targetValue: TargetValue,\n realValue: string,\n realChildren: string,\n): (TargetValue)[] {\n let currentTargetValue = targetValue;\n if (currentTargetValue != null && typeof currentTargetValue === 'object') {\n currentTargetValue = (currentTargetValue as { [key: string]: string | number })?.[realValue];\n }\n if (currentTargetValue == null) return [];\n\n function findPath(nodes: TreeOptionData[], parentPath: (TargetValue)[]): (TargetValue)[] | null {\n let result: (TargetValue)[] | null = null;\n nodes.some((node) => {\n const newPath = [...parentPath, node[realValue]];\n if (node[realValue] === currentTargetValue) {\n result = parentPath;\n return true;\n }\n if (Array.isArray(node[realChildren]) && node[realChildren].length) {\n result = findPath(node[realChildren], newPath);\n if (result !== null) {\n return true;\n }\n }\n return false;\n });\n return result;\n }\n\n return findPath(options, []) || [];\n}\n"],"names":["findParentValues","options","targetValue","realValue","realChildren","currentTargetValue","_typeof","_currentTargetValue","findPath","nodes","parentPath","result","some","node","newPath","concat","_toConsumableArray","Array","isArray","length"],"mappings":";;;;;;;;;;AAWO,SAASA,gBACdA,CAAAC,OAAA,EACAC,WACA,EAAAC,SAAA,EACAC,YACiB,EAAA;EACjB,IAAIC,kBAAqB,GAAAH,WAAA,CAAA;EACzB,IAAIG,kBAAsB,IAAA,IAAA,IAAQC,OAAA,CAAOD,kBAAA,CAAuB,KAAA,QAAU,EAAA;AAAA,IAAA,IAAAE,mBAAA,CAAA;IACxEF,kBAAA,GAAA,CAAAE,mBAAA,GAAsBF,kBAA4D,MAAA,IAAA,IAAAE,mBAAA,KAA5DA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAA4DJ,SAAA,CAAA,CAAA;AACpF,GAAA;AACA,EAAA,IAAIE,kBAAsB,IAAA,IAAA,EAAM,OAAO,EAAC,CAAA;AAE/B,EAAA,SAAAG,QAAAA,CAASC,OAAyBC,UAAqD,EAAA;IAC9F,IAAIC,MAAiC,GAAA,IAAA,CAAA;AAC/BF,IAAAA,KAAA,CAAAG,IAAA,CAAK,UAACC,IAAS,EAAA;AACnB,MAAA,IAAMC,OAAU,GAAA,EAAA,CAAAC,MAAA,CAAAC,kBAAA,CAAIN,UAAA,CAAA,EAAA,CAAYG,KAAKV,SAAU,CAAA,CAAA,CAAA,CAAA;AAC3C,MAAA,IAAAU,IAAA,CAAKV,eAAeE,kBAAoB,EAAA;AACjCM,QAAAA,MAAA,GAAAD,UAAA,CAAA;AACF,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AACA,MAAA,IAAIO,MAAMC,OAAQ,CAAAL,IAAA,CAAKT,aAAa,CAAK,IAAAS,IAAA,CAAKT,cAAce,MAAQ,EAAA;QACzDR,MAAA,GAAAH,QAAA,CAASK,IAAK,CAAAT,YAAA,CAAA,EAAeU,OAAO,CAAA,CAAA;QAC7C,IAAIH,WAAW,IAAM,EAAA;AACZ,UAAA,OAAA,IAAA,CAAA;AACT,SAAA;AACF,OAAA;AACO,MAAA,OAAA,KAAA,CAAA;AACT,KAAC,CAAA,CAAA;AACM,IAAA,OAAAA,MAAA,CAAA;AACT,GAAA;AAEA,EAAA,OAAOH,QAAS,CAAAP,OAAA,EAAS,EAAE,KAAK,EAAC,CAAA;AACnC;;;;"}