UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 7.58 kB
{"version":3,"file":"transfer-panel.vue2.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n {{ title }}\n <span>{{ checkedSummary }}</span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_createVNode","_createTextVNode","_toDisplayString","_createBlock","_Fragment","_renderList","_renderSlot"],"mappings":"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"}