element-plus
Version:
A Component Library for Vue 3
1 lines • 1.72 kB
Source Map (JSON)
{"version":3,"file":"useComputedData.mjs","sources":["../../../../../../packages/components/transfer/src/useComputedData.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { TransferProps } from './transfer'\n\nexport const useComputedData = (props: TransferProps) => {\n const propsKey = computed(() => props.props.key)\n\n const dataObj = computed(() => {\n return props.data.reduce(\n (o, cur) => (o[cur[propsKey.value]] = cur) && o,\n {}\n )\n })\n\n const sourceData = computed(() => {\n return props.data.filter(\n (item) => !props.modelValue.includes(item[propsKey.value])\n )\n })\n\n const targetData = computed(() => {\n if (props.targetOrder === 'original') {\n return props.data.filter((item) =>\n props.modelValue.includes(item[propsKey.value])\n )\n } else {\n return props.modelValue.reduce((arr, cur) => {\n const val = dataObj.value[cur]\n if (val) {\n arr.push(val)\n }\n return arr\n }, [])\n }\n })\n\n return {\n propsKey,\n sourceData,\n targetData,\n }\n}\n"],"names":[],"mappings":";;MAIa,kBAAkB,CAAC,UAAyB;AACvD,QAAM,WAAW,SAAS,MAAM,MAAM,MAAM;AAE5C,QAAM,UAAU,SAAS,MAAM;AAC7B,WAAO,MAAM,KAAK,OAChB,CAAC,GAAG,QAAS,GAAE,IAAI,SAAS,UAAU,QAAQ,GAC9C;AAAA;AAIJ,QAAM,aAAa,SAAS,MAAM;AAChC,WAAO,MAAM,KAAK,OAChB,CAAC,SAAS,CAAC,MAAM,WAAW,SAAS,KAAK,SAAS;AAAA;AAIvD,QAAM,aAAa,SAAS,MAAM;AAChC,QAAI,MAAM,gBAAgB,YAAY;AACpC,aAAO,MAAM,KAAK,OAAO,CAAC,SACxB,MAAM,WAAW,SAAS,KAAK,SAAS;AAAA,WAErC;AACL,aAAO,MAAM,WAAW,OAAO,CAAC,KAAK,QAAQ;AAC3C,cAAM,MAAM,QAAQ,MAAM;AAC1B,YAAI,KAAK;AACP,cAAI,KAAK;AAAA;AAEX,eAAO;AAAA,SACN;AAAA;AAAA;AAIP,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;;;;"}