{"version":3,"file":"transfer.vue2.mjs","sources":["../../../../../../packages/components/transfer/src/transfer.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTransfer',\n\tcomponentName: 'ToTransfer'\n});\n</script>\n<template>\n\t<div :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-transfer\" :class=\"setClass\">\n\t\t<div class=\"to-transfer-panel\">\n\t\t\t<span class=\"to-strong\"\n\t\t\t\t><to-checkbox\n\t\t\t\t\tv-model=\"dataGlobal\"\n\t\t\t\t\t:label=\"leftTitle || t('to.transfer.pending')\"\n\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t@change=\"\n\t\t\t\t\t\tval => {\n\t\t\t\t\t\t\tselectDataMap(val, 'dataGroup')\n\t\t\t\t\t\t}\n\t\t\t\t\t\"\n\t\t\t\t></to-checkbox\n\t\t\t></span>\n\t\t\t<to-padding v-if=\"filterable\" position=\"u\">\n\t\t\t\t<to-input v-model=\"dataFilterKey\" clearable width=\"full\" :placeholder=\"t('to.transfer.placeholder')\"></to-input>\n\t\t\t</to-padding>\n\t\t\t<to-scroll :height=\"height\">\n\t\t\t\t<to-gap :value=\"0.5\"></to-gap>\n\t\t\t\t<div v-if=\"dataMap && dataMap.length > 0\">\n\t\t\t\t\t<to-checkbox v-for=\"(item, index) in dataMap\" v-show=\"showData(item)\" :key=\"index\" v-model=\"item.checked\" :disabled=\"setDataReadonly(item)\" width=\"full\" :label=\"item[labelText]\"> </to-checkbox>\n\t\t\t\t</div>\n\t\t\t\t<to-padding v-else v-align=\"'center'\" v-color=\"'info'\" value=\"1.5\">{{ t('to.transfer.noData') }}</to-padding>\n\t\t\t\t<to-gap :value=\"0.5\"></to-gap>\n\t\t\t</to-scroll>\n\t\t</div>\n\t\t<to-gap inline></to-gap>\n\t\t<div class=\"to-transfer-btns\">\n\t\t\t<to-button v-dis=\"dataChecked < 1\" icon=\"right\" mode=\"none\" color=\"primary\" @click=\"add\"></to-button>\n\t\t\t<to-gap :value=\"0.5\"></to-gap>\n\t\t\t<to-button v-dis=\"valueChecked < 1\" icon=\"left\" mode=\"none\" color=\"primary\" @click=\"remove\"></to-button>\n\t\t</div>\n\t\t<to-gap inline></to-gap>\n\t\t<div class=\"to-transfer-panel\">\n\t\t\t<span class=\"to-strong\"\n\t\t\t\t><to-checkbox\n\t\t\t\t\tv-model=\"valueGlobal\"\n\t\t\t\t\t:label=\"rightTitle || t('to.transfer.selected')\"\n\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t@change=\"\n\t\t\t\t\t\tval => {\n\t\t\t\t\t\t\tselectDataMap(val, 'valueGroup')\n\t\t\t\t\t\t}\n\t\t\t\t\t\"\n\t\t\t\t></to-checkbox\n\t\t\t></span>\n\t\t\t<to-padding v-if=\"filterable\" position=\"u\">\n\t\t\t\t<to-input v-model=\"valueFilterKey\" clearable width=\"full\" :placeholder=\"t('to.transfer.placeholder')\"></to-input>\n\t\t\t</to-padding>\n\t\t\t<to-scroll :height=\"height\">\n\t\t\t\t<to-gap :value=\"0.5\"></to-gap>\n\t\t\t\t<div v-if=\"valueMap && valueMap.length > 0\">\n\t\t\t\t\t<to-checkbox v-for=\"(item, index) in valueMap\" v-show=\"showValue(item)\" :key=\"index\" v-model=\"item.checked\" :disabled=\"setValueReadonly(item)\" width=\"full\" :label=\"item[labelText]\"></to-checkbox>\n\t\t\t\t</div>\n\t\t\t\t<to-padding v-else v-align=\"'center'\" v-color=\"'info'\" value=\"1.5\">{{ t('to.transfer.noData') }}</to-padding>\n\t\t\t\t<to-gap :value=\"0.5\"></to-gap>\n\t\t\t</to-scroll>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, onMounted, computed, nextTick } from 'vue'\nimport type { Ref } from 'vue'\nimport { ToScroll, ToGap, ToPadding, ToCheckbox, ToInput, ToButton } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\n\n// 定义组件名称\n\n\n// Props 定义\ninterface DataItem {\n\t[key: string]: any\n}\n\ninterface Props {\n\tflex?: boolean\n\tmode?: string\n\tdata?: DataItem[] | string\n\tleftTitle?: string\n\trightTitle?: string\n\tmodelValue?: string\n\tlabelText?: string\n\tvalueText?: string\n\theight?: string | number\n\torder?: string\n\tfilterable?: boolean\n\tshowDisabled?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tflex: false,\n\tmode: 'default',\n\tdata: () => '',\n\tleftTitle: '',\n\trightTitle: '',\n\tmodelValue: '',\n\tlabelText: 'label',\n\tvalueText: 'value',\n\theight: 16,\n\torder: 'push',\n\tfilterable: true,\n\tshowDisabled: false\n})\n\n// Emits 定义\nconst emit = defineEmits<{\n\t(e: 'update:modelValue', value: string): void\n\t(e: 'change', value: string): void\n}>()\n\n// 响应式数据\nconst iData: Ref<DataItem[]> = ref([])\nconst dataGlobal = ref(false)\nconst dataMap: Ref<DataItem[]> = ref([])\nconst dataChecked = computed(() => {\n\tlet length = 0\n\tif (props.showDisabled) {\n\t\tlength = dataMap.value.filter(item => item.checked && !item.disabled).length\n\t} else {\n\t\tlength = dataMap.value.filter(item => item.checked).length\n\t}\n\treturn length\n})\nconst dataFilterKey = ref('')\nconst iValue = ref(props.modelValue)\nconst valueGlobal = ref(false)\nconst valueMap: Ref<DataItem[]> = ref([])\nconst valueChecked = computed(() => {\n\treturn valueMap.value.filter(item => item.checked).length\n})\nconst valueFilterKey = ref('')\nconst stopChange = ref(false)\n\n// 监听器\nwatch(\n\t() => props.data,\n\t() => {\n\t\ttransData()\n\t\tsetData()\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tiValue.value = val || ''\n\t\tif (stopChange.value) {\n\t\t\treturn false\n\t\t}\n\t\tsetData()\n\t}\n)\n\nonMounted(() => {\n\ttransData()\n\tsetData()\n})\n\nconst setClass = computed(() => {\n\tconst classes: string[] = []\n\n\tif (props.mode) classes.push(`mode-${props.mode}`)\n\n\treturn classes\n})\n\n// 方法定义\n// 转换 data 格式\nconst transData = () => {\n\tif (typeof props.data === 'string') {\n\t\tif (props.data) {\n\t\t\tconst arr: DataItem[] = []\n\t\t\tprops.data.split(',').map(item => {\n\t\t\t\tarr.push({\n\t\t\t\t\t[props.labelText]: item,\n\t\t\t\t\t[props.valueText]: item,\n\t\t\t\t\tchecked: false\n\t\t\t\t})\n\t\t\t})\n\t\t\tiData.value = arr\n\t\t} else {\n\t\t\tiData.value = []\n\t\t}\n\t} else {\n\t\tlet arr = props.data.map(item => {\n\t\t\treturn { ...item, checked: item.checked || false }\n\t\t})\n\t\tiData.value = JSON.parse(JSON.stringify(arr))\n\t}\n}\n\n// 设置数据以匹配视图需要\nconst setData = () => {\n\tconst dataMapArr: DataItem[] = []\n\tconst valueMapArr: DataItem[] = []\n\tconst valueArr = iValue.value.split(',')\n\n\t// 直接分发数据\n\tiData.value.map(item => {\n\t\tif (!valueArr.includes(item[props.valueText])) {\n\t\t\tdataMapArr.push(item)\n\t\t} else {\n\t\t\tif (props.showDisabled) {\n\t\t\t\tdataMapArr.push({ ...item, checked: true, disabled: true })\n\t\t\t}\n\t\t}\n\t\tif (valueArr.includes(item[props.valueText]) && props.order === 'original') {\n\t\t\tvalueMapArr.push(item)\n\t\t}\n\t})\n\n\t// 按堆/栈方式排序选择结果\n\tif (iValue.value && props.order !== 'original') {\n\t\tiValue.value.split(',').map(item => {\n\t\t\tif (!iData.value.find(item2 => item2[props.valueText] === item)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (props.order === 'unshift') {\n\t\t\t\tvalueMapArr.unshift({\n\t\t\t\t\t[props.labelText]: iData.value.find(item2 => item2[props.valueText] === item)[props.labelText],\n\t\t\t\t\t[props.valueText]: item,\n\t\t\t\t\tdisabled: !!iData.value.find(item2 => item2[props.valueText] === item).disabled,\n\t\t\t\t\tchecked: iData.value.find(item2 => item2[props.valueText] === item).checked\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tvalueMapArr.push({\n\t\t\t\t\t[props.labelText]: iData.value.find(item2 => item2[props.valueText] === item)[props.labelText],\n\t\t\t\t\t[props.valueText]: item,\n\t\t\t\t\tdisabled: !!iData.value.find(item2 => item2[props.valueText] === item).disabled,\n\t\t\t\t\tchecked: iData.value.find(item2 => item2[props.valueText] === item).checked\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\t// 设置数据\n\tdataMap.value = dataMapArr\n\tvalueMap.value = valueMapArr\n}\n\n// 数据过滤\nconst showData = (item: DataItem) => {\n\tif (dataFilterKey.value) {\n\t\tif (item[props.labelText].includes(dataFilterKey.value)) {\n\t\t\treturn true\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\treturn true\n\t}\n}\n\n// 值过滤\nconst showValue = (item: DataItem) => {\n\tif (valueFilterKey.value) {\n\t\tif (item[props.labelText].includes(valueFilterKey.value)) {\n\t\t\treturn true\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\treturn true\n\t}\n}\n\n// 向右\nconst add = () => {\n\tif (props.showDisabled) {\n\t\tlet arr = dataMap.value\n\t\t\t.filter(el => el.checked && !el.disabled)\n\t\t\t.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\t...item,\n\t\t\t\t\tchecked: false\n\t\t\t\t}\n\t\t\t})\n\t\tvalueMap.value = [...valueMap.value, ...arr]\n\t\tdataMap.value.forEach(item => {\n\t\t\tif (item.checked) {\n\t\t\t\titem.disabled = true\n\t\t\t}\n\t\t})\n\t} else {\n\t\tlet arr = dataMap.value\n\t\t\t.filter(el => el.checked)\n\t\t\t.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\t...item,\n\t\t\t\t\tchecked: false\n\t\t\t\t}\n\t\t\t})\n\t\tvalueMap.value = [...valueMap.value, ...arr]\n\t\tarr.forEach(el => {\n\t\t\tlet idx = dataMap.value.findIndex(el2 => el2[props.valueText] === el[props.valueText])\n\t\t\tdataMap.value.splice(idx, 1)\n\t\t})\n\t}\n\tstopChange.value = true\n\tsetTimeout(() => {\n\t\tstopChange.value = false\n\t}, 10)\n\tnextTick(() => {\n\t\tlet val = valueMap.value.map(item => item[props.valueText]).join(',')\n\t\temit('update:modelValue', val)\n\t\temit('change', val)\n\t})\n}\n\n// 向左\nconst remove = () => {\n\tlet arr = valueMap.value\n\t\t.filter(el => el.checked)\n\t\t.map(item => {\n\t\t\treturn {\n\t\t\t\t...item,\n\t\t\t\tchecked: false\n\t\t\t}\n\t\t})\n\tif (props.showDisabled) {\n\t\tarr.forEach(item => {\n\t\t\tdataMap.value.forEach(el => {\n\t\t\t\tif (el[props.valueText] === item[props.valueText]) {\n\t\t\t\t\tel.disabled = false\n\t\t\t\t\tel.checked = false\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t} else {\n\t\tdataMap.value = [...dataMap.value, ...arr]\n\t}\n\tarr.forEach(el => {\n\t\tlet idx = valueMap.value.findIndex(el2 => el2[props.valueText] === el[props.valueText])\n\t\tvalueMap.value.splice(idx, 1)\n\t})\n\tstopChange.value = true\n\tsetTimeout(() => {\n\t\tstopChange.value = false\n\t}, 10)\n\tnextTick(() => {\n\t\tlet val = valueMap.value.map(item => item[props.valueText]).join(',')\n\t\temit('update:modelValue', val)\n\t\temit('change', val)\n\t})\n}\n\n// 全选/反选\nconst selectDataMap = (val: boolean, group: string) => {\n\tconst targetGroup = group === 'dataGroup' ? dataMap.value : valueMap.value\n\tif (val) {\n\t\ttargetGroup.forEach((item: DataItem) => {\n\t\t\tif (!item.disabled) {\n\t\t\t\titem.checked = true\n\t\t\t}\n\t\t})\n\t} else {\n\t\ttargetGroup.forEach((item: DataItem) => {\n\t\t\tif (!item.disabled) {\n\t\t\t\titem.checked = false\n\t\t\t}\n\t\t})\n\t}\n}\n\nconst setDataReadonly = (item: DataItem) => {\n\tif (item.disabled) {\n\t\treturn true\n\t} else {\n\t\tif (showData(item)) {\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n}\n\nconst setValueReadonly = (item: DataItem) => {\n\tif (item.disabled) {\n\t\treturn true\n\t} else {\n\t\tif (showValue(item)) {\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","_createVNode","leftTitle","filterable","_createBlock","height","_openBlock","_Fragment","_renderList","labelText","_vShow","rightTitle"],"mappings":"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"}