element-plus
Version:
A Component Library for Vue 3
1 lines • 2.37 kB
Source Map (JSON)
{"version":3,"file":"use-computed-data.mjs","sources":["../../../../../../../packages/components/transfer/src/composables/use-computed-data.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { TransferDataItem, TransferKey, TransferProps } from '../transfer'\n\nexport const useComputedData = (\n props: Required<\n Omit<TransferProps, 'filterPlaceholder' | 'filterMethod' | 'renderContent'>\n >\n) => {\n const propsAlias = usePropsAlias(props)\n\n const dataObj = computed(() =>\n props.data.reduce((o, cur) => (o[cur[propsAlias.value.key]] = cur) && o, {})\n )\n\n const sourceData = computed(() =>\n props.data.filter(\n (item) => !props.modelValue.includes(item[propsAlias.value.key])\n )\n )\n\n const targetData = computed(() => {\n if (props.targetOrder === 'original') {\n return props.data.filter((item) =>\n props.modelValue.includes(item[propsAlias.value.key])\n )\n } else {\n return props.modelValue.reduce(\n (arr: TransferDataItem[], cur: TransferKey) => {\n const val = dataObj.value[cur]\n if (val) {\n arr.push(val)\n }\n return arr\n },\n []\n )\n }\n })\n\n return {\n sourceData,\n targetData,\n }\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,eAAA,GAAkB,CAC7B,KAAA,KAGG;AACH,EAAA,MAAM,UAAA,GAAa,cAAc,KAAK,CAAA;AAEtC,EAAA,MAAM,OAAA,GAAU,QAAA;AAAA,IAAS,MACvB,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,CAAC,GAAG,GAAA,KAAA,CAAS,CAAA,CAAE,GAAA,CAAI,UAAA,CAAW,MAAM,GAAG,CAAC,IAAI,GAAA,KAAQ,CAAA,EAAG,EAAE;AAAA,GAC7E;AAEA,EAAA,MAAM,UAAA,GAAa,QAAA;AAAA,IAAS,MAC1B,MAAM,IAAA,CAAK,MAAA;AAAA,MACT,CAAC,IAAA,KAAS,CAAC,KAAA,CAAM,UAAA,CAAW,SAAS,IAAA,CAAK,UAAA,CAAW,KAAA,CAAM,GAAG,CAAC;AAAA;AACjE,GACF;AAEA,EAAA,MAAM,UAAA,GAAa,SAAS,MAAM;AAChC,IAAA,IAAI,KAAA,CAAM,gBAAgB,UAAA,EAAY;AACpC,MAAA,OAAO,MAAM,IAAA,CAAK,MAAA;AAAA,QAAO,CAAC,SACxB,KAAA,CAAM,UAAA,CAAW,SAAS,IAAA,CAAK,UAAA,CAAW,KAAA,CAAM,GAAG,CAAC;AAAA,OACtD;AAAA,IACF,CAAA,MAAO;AACL,MAAA,OAAO,MAAM,UAAA,CAAW,MAAA;AAAA,QACtB,CAAC,KAAyB,GAAA,KAAqB;AAC7C,UAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,KAAA,CAAM,GAAG,CAAA;AAC7B,UAAA,IAAI,GAAA,EAAK;AACP,YAAA,GAAA,CAAI,KAAK,GAAG,CAAA;AAAA,UACd;AACA,UAAA,OAAO,GAAA;AAAA,QACT,CAAA;AAAA,QACA;AAAC,OACH;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}