UNPKG

tav-ui

Version:
1 lines 4.74 kB
{"version":3,"file":"use-select-record2.mjs","sources":["../../../../../../../../packages/components/cascade-pro/src/hooks/use-select-record.ts"],"sourcesContent":["import { computed, ref, unref } from 'vue'\nimport type { CascadeProOption, IUseSelectRecord, IUseSelectRecordReturn } from '../types'\n\n/**\n * 设置当前选中的数据(一条)\n *\n * @returns\n */\nexport function useSelectRecord(param: IUseSelectRecord): IUseSelectRecordReturn {\n const selectRecordRef = ref<CascadeProOption>(unref(param.defaultValue).selectRecord)\n const selectRecord = computed(() => unref(selectRecordRef))\n\n const selectRecordFibersRef = ref<{\n id: string\n pid: string\n fieldIndex: number\n idPathSplitResult: string[]\n }>({\n id: '',\n pid: '',\n fieldIndex: 0,\n idPathSplitResult: [],\n })\n\n const selectRecordFibers = computed(() => unref(selectRecordFibersRef))\n\n function setSelectRecord(selectRecord: CascadeProOption) {\n setSelectRecordFibers(selectRecord.idPath)\n selectRecordRef.value = {\n ...selectRecord,\n fieldIndex: unref(selectRecordFibers).fieldIndex,\n }\n }\n\n function setSelectRecordFibers(selectRecordIdPath: string | undefined) {\n const idPath = unref(selectRecordIdPath)\n const fields = unref(param.fields)\n if (!idPath) {\n selectRecordFibersRef.value = {\n id: '',\n pid: '',\n fieldIndex: 0,\n idPathSplitResult: [],\n }\n } else {\n const result = idPath.split('-')\n\n if (result.length > fields.length) {\n console.warn('CascadePro handleOptions has error.')\n selectRecordFibersRef.value = {\n id: '',\n pid: '',\n fieldIndex: 0,\n idPathSplitResult: [],\n }\n }\n\n if (result.length === 1) {\n if (result[0] === '') {\n selectRecordFibersRef.value = {\n id: '',\n pid: '',\n fieldIndex: 0,\n idPathSplitResult: [],\n }\n } else {\n selectRecordFibersRef.value = {\n id: result[0],\n pid: '',\n fieldIndex: 0,\n idPathSplitResult: result,\n }\n }\n } else {\n selectRecordFibersRef.value = {\n id: result[result.length - 1],\n pid: result[result.length - 1 - 1],\n fieldIndex: result.length - 1,\n idPathSplitResult: result,\n }\n }\n }\n }\n\n return { selectRecord, setSelectRecord, selectRecordFibers /*, setSelectRecordFibers*/ }\n}\n"],"names":[],"mappings":";;AACO,SAAS,eAAe,CAAC,KAAK,EAAE;AACvC,EAAE,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC;AACtE,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AAC9D,EAAE,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACpC,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,UAAU,EAAE,CAAC;AACjB,IAAI,iBAAiB,EAAE,EAAE;AACzB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC1E,EAAE,SAAS,eAAe,CAAC,aAAa,EAAE;AAC1C,IAAI,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAChD,IAAI,eAAe,CAAC,KAAK,GAAG;AAC5B,MAAM,GAAG,aAAa;AACtB,MAAM,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,UAAU;AACtD,KAAK,CAAC;AACN,GAAG;AACH,EAAE,SAAS,qBAAqB,CAAC,kBAAkB,EAAE;AACrD,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC7C,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACvC,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,qBAAqB,CAAC,KAAK,GAAG;AACpC,QAAQ,EAAE,EAAE,EAAE;AACd,QAAQ,GAAG,EAAE,EAAE;AACf,QAAQ,UAAU,EAAE,CAAC;AACrB,QAAQ,iBAAiB,EAAE,EAAE;AAC7B,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;AACzC,QAAQ,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;AAC5D,QAAQ,qBAAqB,CAAC,KAAK,GAAG;AACtC,UAAU,EAAE,EAAE,EAAE;AAChB,UAAU,GAAG,EAAE,EAAE;AACjB,UAAU,UAAU,EAAE,CAAC;AACvB,UAAU,iBAAiB,EAAE,EAAE;AAC/B,SAAS,CAAC;AACV,OAAO;AACP,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/B,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;AAC9B,UAAU,qBAAqB,CAAC,KAAK,GAAG;AACxC,YAAY,EAAE,EAAE,EAAE;AAClB,YAAY,GAAG,EAAE,EAAE;AACnB,YAAY,UAAU,EAAE,CAAC;AACzB,YAAY,iBAAiB,EAAE,EAAE;AACjC,WAAW,CAAC;AACZ,SAAS,MAAM;AACf,UAAU,qBAAqB,CAAC,KAAK,GAAG;AACxC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACzB,YAAY,GAAG,EAAE,EAAE;AACnB,YAAY,UAAU,EAAE,CAAC;AACzB,YAAY,iBAAiB,EAAE,MAAM;AACrC,WAAW,CAAC;AACZ,SAAS;AACT,OAAO,MAAM;AACb,QAAQ,qBAAqB,CAAC,KAAK,GAAG;AACtC,UAAU,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACvC,UAAU,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,UAAU,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;AACvC,UAAU,iBAAiB,EAAE,MAAM;AACnC,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AAC/D;;;;"}