tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 3.14 kB
Source Map (JSON)
{"version":3,"file":"utils.mjs","sources":["../../src/picker/utils.ts"],"sourcesContent":["import { isArray, get as lodashGet } from 'lodash-es';\nimport { PickerColumn } from './type';\nimport { KeysType } from '../common';\n\nexport const isMultipleArray = (arr: PickerColumn | PickerColumn[]) => {\n return isArray(arr[0]);\n};\n\nexport const getPickerColumns = (columns: any): PickerColumn[] => {\n return isMultipleArray(columns) ? columns : [columns];\n};\n\n/**\n * 将num限制在给定的最大值(max)和最小值(min)之间\n */\nexport const limitNumberInRange = (num: number, min: number, max: number): number => Math.min(Math.max(num, min), max);\n\nexport function findIndexOfEnabledOption(options: PickerColumn, startIndex: number, keys?: KeysType): number {\n // 确保起始索引在合法范围内\n const limitStartIndex = limitNumberInRange(startIndex, 0, options.length - 1);\n\n // Forward Search\n const forwardIndex = options.findIndex(\n (opt, idx) => !lodashGet(opt, keys?.disabled ?? 'disabled') && idx >= limitStartIndex,\n );\n if (forwardIndex !== -1) {\n return forwardIndex;\n }\n\n // Backward Search\n const backwardIndex = options\n .slice(0, limitStartIndex)\n .reverse()\n .findIndex((opt) => !lodashGet(opt, keys?.disabled ?? 'disabled'));\n if (backwardIndex !== -1) {\n return limitStartIndex - 1 - backwardIndex;\n }\n\n return 0;\n}\n"],"names":["isMultipleArray","arr","isArray","getPickerColumns","columns","limitNumberInRange","num","min","max","Math","findIndexOfEnabledOption","options","startIndex","keys","limitStartIndex","length","forwardIndex","findIndex","opt","idx","_keys$disabled","lodashGet","disabled","backwardIndex","slice","reverse","_keys$disabled2"],"mappings":";;;;;;;;IAIaA,eAAA,GAAkB,SAAlBA,eAAAA,CAAmBC,GAAuC,EAAA;AAC9D,EAAA,OAAAC,OAAA,CAAQD,IAAI,CAAE,CAAA,CAAA,CAAA;AACvB,EAAA;IAEaE,gBAAA,GAAmB,SAAnBA,gBAAAA,CAAoBC,OAAiC,EAAA;EAChE,OAAOJ,eAAgB,CAAAI,OAAO,CAAI,GAAAA,OAAA,GAAU,CAACA,OAAO,CAAA,CAAA;AACtD,EAAA;AAKO,IAAMC,kBAAqB,GAAA,SAArBA,kBAAqBA,CAACC,GAAa,EAAAC,GAAA,EAAaC,GAAwB,EAAA;AAAA,EAAA,OAAAC,IAAA,CAAKF,GAAI,CAAAE,IAAA,CAAKD,GAAI,CAAAF,GAAA,EAAKC,GAAG,CAAA,EAAGC,GAAG,CAAA,CAAA;AAAA,EAAA;AAErG,SAAAE,wBAAAA,CAAyBC,OAAuB,EAAAC,UAAA,EAAoBC,IAAyB,EAAA;AAE3G,EAAA,IAAMC,kBAAkBT,kBAAmB,CAAAO,UAAA,EAAY,CAAG,EAAAD,OAAA,CAAQI,SAAS,CAAC,CAAA,CAAA;EAG5E,IAAMC,eAAeL,OAAQ,CAAAM,SAAA,CAC3B,UAACC,GAAK,EAAAC,GAAA,EAAA;AAAA,IAAA,IAAAC,cAAA,CAAA;IAAA,OAAQ,CAACC,GAAA,CAAUH,uBAAKL,IAAM,KAANA,IAAAA,IAAAA,IAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAM,CAAAS,QAAA,MAAA,IAAA,IAAAF,cAAA,KAAA,KAAA,CAAA,GAAAA,cAAA,GAAY,UAAU,CAAA,IAAKD,GAAO,IAAAL,eAAA,CAAA;AAAA,GACxE,CAAA,CAAA;AACA,EAAA,IAAIE,iBAAiB,CAAI,CAAA,EAAA;AAChB,IAAA,OAAAA,YAAA,CAAA;AACT,GAAA;AAGA,EAAA,IAAMO,gBAAgBZ,OACnB,CAAAa,KAAA,CAAM,CAAG,EAAAV,eAAe,EACxBW,OAAQ,EAAA,CACRR,SAAU,CAAA,UAACC;;WAAQ,CAACG,GAAA,CAAUH,wBAAKL,IAAM,KAANA,IAAAA,IAAAA,IAAM,uBAANA,IAAM,CAAAS,QAAA,MAAAI,IAAAA,IAAAA,eAAA,cAAAA,eAAA,GAAY,UAAU,CAAC,CAAA;GAAA,CAAA,CAAA;AACnE,EAAA,IAAIH,kBAAkB,CAAI,CAAA,EAAA;AACxB,IAAA,OAAOT,kBAAkB,CAAI,GAAAS,aAAA,CAAA;AAC/B,GAAA;AAEO,EAAA,OAAA,CAAA,CAAA;AACT;;;;"}