tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 3.86 kB
Source Map (JSON)
{"version":3,"file":"utils.mjs","sources":["../../../../src/_common/js/time-picker/utils.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { EPickerCols, TIME_FORMAT } from './const';\n\ndayjs.extend(advancedFormat);\ndayjs.extend(customParseFormat);\n\n// 判断是否输入的值是合法的timepicker的值\nexport function validateInputValue(value: string, format: string) {\n return dayjs(value, format).format(format) === value;\n}\n\n// 转换输入值为标准格式的timepicker的值\nexport function formatInputValue(value: string, format: string) {\n return dayjs(value, format).format(format);\n}\n\n// 计算最接近的时间点\nexport function closestLookup(\n availableArr: Array<any>,\n calcVal: number,\n step: number\n) {\n if (step <= 1) return calcVal;\n return availableArr.sort(\n (a, b) => Math.abs(calcVal + 1 - a) - Math.abs(calcVal + 1 - b)\n )[0];\n}\n\nexport function getPickerCols(format:string) {\n const renderCol: EPickerCols[] = [];\n const {\n meridiem, hour, minute, second, milliSecond,\n } = EPickerCols;\n const match = format.match(TIME_FORMAT);\n match.forEach((m) => {\n switch (m) {\n case 'H':\n case 'HH':\n case 'h':\n case 'hh':\n renderCol.push(hour);\n break;\n case 'a':\n case 'A':\n renderCol.push(meridiem);\n break;\n case 'm':\n case 'mm':\n renderCol.push(minute);\n break;\n case 's':\n case 'ss':\n renderCol.push(second);\n break;\n case 'SSS':\n renderCol.push(milliSecond);\n break;\n default:\n break;\n }\n });\n return renderCol;\n}\n"],"names":["dayjs","extend","advancedFormat","customParseFormat","validateInputValue","value","format","formatInputValue","closestLookup","availableArr","calcVal","step","sort","a","b","Math","abs","getPickerCols","renderCol","meridiem","EPickerCols","hour","minute","second","milliSecond","match","TIME_FORMAT","forEach","m","push"],"mappings":";;;;;;;;;;;;;AAKAA,KAAA,CAAMC,OAAOC,cAAc,CAAA,CAAA;AAC3BF,KAAA,CAAMC,OAAOE,iBAAiB,CAAA,CAAA;AAGd,SAAAC,kBAAAA,CAAmBC,OAAeC,MAAgB,EAAA;AAChE,EAAA,OAAON,MAAMK,KAAO,EAAAC,MAAM,CAAE,CAAAA,MAAA,CAAOA,MAAM,CAAM,KAAAD,KAAA,CAAA;AACjD,CAAA;AAGgB,SAAAE,gBAAAA,CAAiBF,OAAeC,MAAgB,EAAA;EAC9D,OAAON,KAAM,CAAAK,KAAA,EAAOC,MAAM,CAAA,CAAEA,OAAOA,MAAM,CAAA,CAAA;AAC3C,CAAA;AAGgB,SAAAE,aAAAA,CACdC,YACA,EAAAC,OAAA,EACAC,IACA,EAAA;AACA,EAAA,IAAIA,IAAQ,IAAA,CAAA,EAAU,OAAAD,OAAA,CAAA;AACtB,EAAA,OAAOD,YAAa,CAAAG,IAAA,CAClB,UAACC,CAAA,EAAGC,CAAM,EAAA;IAAA,OAAAC,IAAA,CAAKC,GAAI,CAAAN,OAAA,GAAU,CAAI,GAAAG,CAAC,CAAI,GAAAE,IAAA,CAAKC,GAAI,CAAAN,OAAA,GAAU,IAAII,CAAC,CAAA,CAAA;GAChE,CAAE,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA;AAEO,SAASG,cAAcX,MAAe,EAAA;EAC3C,IAAMY,YAA2B,EAAC,CAAA;AAC5B,EAAA,IACJC,QAAA,GACEC,WAAA,CADFD,QAAA;IAAUE,IAAA,GACRD,WAAA,CADQC,IAAA;IAAMC,MAAA,GACdF,WAAA,CADcE,MAAA;IAAQC,MAAA,GACtBH,WAAA,CADsBG,MAAA;IAAQC,WAAA,GAC9BJ,WAAA,CAD8BI,WAAA,CAAA;AAE5B,EAAA,IAAAC,KAAA,GAAQnB,MAAO,CAAAmB,KAAA,CAAMC,WAAW,CAAA,CAAA;AAChCD,EAAAA,KAAA,CAAAE,OAAA,CAAQ,UAACC,CAAM,EAAA;AACX,IAAA,QAAAA,CAAA;AACD,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA,CAAA;AACA,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA;AACHV,QAAAA,SAAA,CAAUW,KAAKR,IAAI,CAAA,CAAA;AACnB,QAAA,MAAA;AACG,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,GAAA;AACHH,QAAAA,SAAA,CAAUW,KAAKV,QAAQ,CAAA,CAAA;AACvB,QAAA,MAAA;AACG,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA;AACHD,QAAAA,SAAA,CAAUW,KAAKP,MAAM,CAAA,CAAA;AACrB,QAAA,MAAA;AACG,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA;AACHJ,QAAAA,SAAA,CAAUW,KAAKN,MAAM,CAAA,CAAA;AACrB,QAAA,MAAA;AACG,MAAA,KAAA,KAAA;AACHL,QAAAA,SAAA,CAAUW,KAAKL,WAAW,CAAA,CAAA;AAC1B,QAAA,MAAA;AAAA,MAAA;AAEA,QAAA,MAAA;AAAA,KAAA;AAEN,GAAC,CAAA,CAAA;AACM,EAAA,OAAAN,SAAA,CAAA;AACT;;;;"}