1 | import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
2 | import { createVNode as _createVNode } from "vue";
|
3 | import PropTypes from '../_util/vue-types';
|
4 | import classNames from '../_util/classNames';
|
5 | import DeleteOutlined from "@ant-design/icons-vue/es/icons/DeleteOutlined";
|
6 | import defaultLocale from '../locale/default';
|
7 | import Checkbox from '../checkbox';
|
8 | import TransButton from '../_util/transButton';
|
9 | import LocaleReceiver from '../locale-provider/LocaleReceiver';
|
10 | import { defineComponent } from 'vue';
|
11 |
|
12 | function noop() {}
|
13 |
|
14 | export var transferListItemProps = {
|
15 | renderedText: PropTypes.any,
|
16 | renderedEl: PropTypes.any,
|
17 | item: PropTypes.any,
|
18 | checked: PropTypes.looseBool,
|
19 | prefixCls: PropTypes.string,
|
20 | disabled: PropTypes.looseBool,
|
21 | showRemove: PropTypes.looseBool,
|
22 | onClick: PropTypes.func,
|
23 | onRemove: PropTypes.func
|
24 | };
|
25 | export default defineComponent({
|
26 | name: 'ListItem',
|
27 | inheritAttrs: false,
|
28 | props: transferListItemProps,
|
29 | emits: ['click', 'remove'],
|
30 | setup: function setup(props, _ref) {
|
31 | var emit = _ref.emit;
|
32 | return function () {
|
33 | var _classNames;
|
34 |
|
35 | var renderedText = props.renderedText,
|
36 | renderedEl = props.renderedEl,
|
37 | item = props.item,
|
38 | checked = props.checked,
|
39 | disabled = props.disabled,
|
40 | prefixCls = props.prefixCls,
|
41 | showRemove = props.showRemove;
|
42 | var className = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-content-item"), true), _defineProperty(_classNames, "".concat(prefixCls, "-content-item-disabled"), disabled || item.disabled), _classNames));
|
43 | var title;
|
44 |
|
45 | if (typeof renderedText === 'string' || typeof renderedText === 'number') {
|
46 | title = String(renderedText);
|
47 | }
|
48 |
|
49 | return _createVNode(LocaleReceiver, {
|
50 | "componentName": "Transfer",
|
51 | "defaultLocale": defaultLocale.Transfer
|
52 | }, {
|
53 | default: function _default(transferLocale) {
|
54 | var labelNode = _createVNode("span", {
|
55 | "class": "".concat(prefixCls, "-content-item-text")
|
56 | }, [renderedEl]);
|
57 |
|
58 | if (showRemove) {
|
59 | return _createVNode("li", {
|
60 | "class": className,
|
61 | "title": title
|
62 | }, [labelNode, _createVNode(TransButton, {
|
63 | "disabled": disabled || item.disabled,
|
64 | "class": "".concat(prefixCls, "-content-item-remove"),
|
65 | "aria-label": transferLocale.remove,
|
66 | "onClick": function onClick() {
|
67 | emit('remove', item);
|
68 | }
|
69 | }, {
|
70 | default: function _default() {
|
71 | return [_createVNode(DeleteOutlined, null, null)];
|
72 | }
|
73 | })]);
|
74 | }
|
75 |
|
76 | return _createVNode("li", {
|
77 | "class": className,
|
78 | "title": title,
|
79 | "onClick": disabled || item.disabled ? noop : function () {
|
80 | emit('click', item);
|
81 | }
|
82 | }, [_createVNode(Checkbox, {
|
83 | "class": "".concat(prefixCls, "-checkbox"),
|
84 | "checked": checked,
|
85 | "disabled": disabled || item.disabled
|
86 | }, null), labelNode]);
|
87 | }
|
88 | });
|
89 | };
|
90 | }
|
91 | }); |
\ | No newline at end of file |