tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 8.26 kB
Source Map (JSON)
{"version":3,"file":"transfer-operations.mjs","sources":["../../../../components/transfer/components/transfer-operations.tsx"],"sourcesContent":["import { defineComponent, createElementVNode, PropType, h } from 'vue';\nimport { ChevronRightIcon as TdChevronRightIcon, ChevronLeftIcon as TdChevronLeftIcon } from 'tdesign-icons-vue-next';\n\nimport Button from '../../button';\nimport { TNode } from '../../common';\nimport { usePrefixClass } from '../../hooks/useConfig';\nimport { useGlobalIcon } from '../../hooks/useGlobalIcon';\nimport props from '../props';\nimport { isFunction } from 'lodash-es';\nimport { isString } from 'lodash-es';\nimport { isArray } from 'lodash-es';\n\nexport default defineComponent({\n name: 'TTransferOperations',\n props: {\n // 控制左按钮的禁用与否\n leftDisabled: {\n type: Boolean as PropType<boolean>,\n required: true,\n },\n // 控制右按钮的禁用与否\n rightDisabled: {\n type: Boolean as PropType<boolean>,\n required: true,\n },\n operation: props.operation,\n },\n emits: ['moveToRight', 'moveToLeft'],\n setup(props, { slots, emit }) {\n const classPrefix = usePrefixClass();\n const { ChevronRightIcon, ChevronLeftIcon } = useGlobalIcon({\n ChevronRightIcon: TdChevronRightIcon,\n ChevronLeftIcon: TdChevronLeftIcon,\n });\n const moveToRight = () => {\n emit('moveToRight');\n };\n const moveToLeft = () => {\n emit('moveToLeft');\n };\n const getIconRight = () => {\n return <ChevronRightIcon />;\n };\n const getIconLeft = () => {\n return <ChevronLeftIcon />;\n };\n const getIcon = (direction: 'left' | 'right') => {\n if (isFunction(props.operation)) {\n return null;\n }\n if (direction === 'right' && props.operation && isFunction(props.operation[0])) {\n return null;\n }\n if (direction === 'left' && props.operation && isFunction(props.operation[1])) {\n return null;\n }\n\n if (slots.operation) {\n return null;\n }\n\n return direction === 'left' ? getIconLeft : getIconRight;\n };\n // right:去右边,left:去左边\n const renderButton = (h: typeof createElementVNode, direction: 'left' | 'right') => {\n if (isFunction(slots.operation)) {\n return slots.operation({\n direction,\n });\n }\n if (isFunction(props.operation)) {\n const renderContent = props.operation;\n return renderContent(h as any, { direction });\n }\n let renderContent: string | TNode;\n if (isArray(props.operation)) {\n const [left, right] = props.operation;\n renderContent = direction === 'right' ? right : left;\n } else {\n renderContent = '';\n }\n return renderContent;\n };\n\n return () => (\n <div class={`${classPrefix.value}-transfer__operations`}>\n <Button\n variant=\"outline\"\n size=\"small\"\n shape={isArray(props.operation) && isString(props.operation[1]) ? 'rectangle' : 'square'}\n key={props.rightDisabled ? 'right-outline' : 'right-base'}\n disabled={props.rightDisabled}\n onClick={moveToRight}\n icon={getIcon('right')}\n >\n {slots.operation || (isArray(props.operation) && props.operation[1]) ? renderButton(h, 'right') : null}\n </Button>\n <Button\n variant=\"outline\"\n size=\"small\"\n shape={isArray(props.operation) && isString(props.operation[0]) ? 'rectangle' : 'square'}\n key={props.rightDisabled ? 'left-outline' : 'left-base'}\n disabled={props.leftDisabled}\n onClick={moveToLeft}\n icon={getIcon('left')}\n >\n {slots.operation || (isArray(props.operation) && props.operation[0]) ? renderButton(h, 'left') : null}\n </Button>\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","props","leftDisabled","type","Boolean","required","rightDisabled","operation","emits","setup","slots","_ref","emit","classPrefix","usePrefixClass","_useGlobalIcon","useGlobalIcon","ChevronRightIcon","TdChevronRightIcon","ChevronLeftIcon","TdChevronLeftIcon","moveToRight","moveToLeft","getIconRight","_createVNode","getIconLeft","getIcon","direction","isFunction","renderButton","h","renderContent","isArray","_props2$operation","_slicedToArray","left","right","concat","value","Button","isString","_default"],"mappings":"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"}