UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 8.39 kB
{"version":3,"file":"transfer-panel.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 @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=\"SearchIcon\"\n clearable\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && data.length > 0\"\n v-model=\"checked\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[keyProp]\"\n :class=\"ns.be('panel', 'item')\"\n :label=\"item[keyProp]\"\n :disabled=\"item[disabledProp]\"\n >\n <option-content :option=\"optionRender(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <p\n v-show=\"hasNoMatch || data.length === 0\"\n :class=\"ns.be('panel', 'empty')\"\n >\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </p>\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\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\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 { CHECKED_CHANGE_EVENT, useCheck, useCheckProps } from './useCheck'\n\nexport default defineComponent({\n name: 'ElTransferPanel',\n\n components: {\n ElCheckboxGroup,\n ElCheckbox,\n ElInput,\n OptionContent: ({ option }) => option,\n },\n\n props: useCheckProps,\n\n emits: [CHECKED_CHANGE_EVENT],\n\n setup(props, { slots }) {\n const { t } = useLocale()\n const ns = useNamespace('transfer')\n\n const panelState = reactive({\n checked: [],\n allChecked: false,\n query: '',\n inputHover: false,\n checkChangeByUser: true,\n })\n\n const {\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n } = useCheck(props, panelState)\n\n const hasNoMatch = computed(() => {\n return panelState.query.length > 0 && filteredData.value.length === 0\n })\n\n const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n const { checked, allChecked, query, inputHover, checkChangeByUser } =\n toRefs(panelState)\n\n return {\n ns,\n labelProp,\n keyProp,\n disabledProp,\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n\n checked,\n allChecked,\n query,\n inputHover,\n checkChangeByUser,\n\n hasNoMatch,\n SearchIcon: Search,\n hasFooter,\n\n t,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_createTextVNode","_toDisplayString","_openBlock","_createBlock","_createCommentVNode","_Fragment","_renderList","_vShow","_renderSlot"],"mappings":"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"}