1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
| import _mergeJSXProps from "@vue/babel-helper-vue-jsx-merge-props";
| import _extends from "@babel/runtime/helpers/esm/extends";
| // Utils
| import { createNamespace } from '../utils';
| import { emit, inherit } from '../utils/functional'; // Components
|
| import Tag from '../tag';
| import Icon from '../icon';
| import Cell from '../cell';
| import Radio from '../radio'; // Types
|
| var _createNamespace = createNamespace('address-item'),
| createComponent = _createNamespace[0],
| bem = _createNamespace[1];
|
| function AddressItem(h, props, slots, ctx) {
| var disabled = props.disabled,
| switchable = props.switchable;
|
| function onClick() {
| if (switchable) {
| emit(ctx, 'select');
| }
|
| emit(ctx, 'click');
| }
|
| var genRightIcon = function genRightIcon() {
| return h(Icon, {
| "attrs": {
| "name": "edit"
| },
| "class": bem('edit'),
| "on": {
| "click": function click(event) {
| event.stopPropagation();
| emit(ctx, 'edit');
| emit(ctx, 'click');
| }
| }
| });
| };
|
| function genTag() {
| if (slots.tag) {
| return slots.tag(_extends({}, props.data));
| }
|
| if (props.data.isDefault && props.defaultTagText) {
| return h(Tag, {
| "attrs": {
| "type": "danger",
| "round": true
| },
| "class": bem('tag')
| }, [props.defaultTagText]);
| }
| }
|
| function genContent() {
| var data = props.data;
| var Info = [h("div", {
| "class": bem('name')
| }, [data.name + " " + data.tel, genTag()]), h("div", {
| "class": bem('address')
| }, [data.address])];
|
| if (switchable && !disabled) {
| return h(Radio, {
| "attrs": {
| "name": data.id,
| "iconSize": 18
| }
| }, [Info]);
| }
|
| return Info;
| }
|
| return h("div", {
| "class": bem({
| disabled: disabled
| }),
| "on": {
| "click": onClick
| }
| }, [h(Cell, _mergeJSXProps([{
| "attrs": {
| "border": false,
| "valueClass": bem('value')
| },
| "scopedSlots": {
| default: genContent,
| 'right-icon': genRightIcon
| }
| }, inherit(ctx)])), slots.bottom == null ? void 0 : slots.bottom(_extends({}, props.data, {
| disabled: disabled
| }))]);
| }
|
| AddressItem.props = {
| data: Object,
| disabled: Boolean,
| switchable: Boolean,
| defaultTagText: String
| };
| export default createComponent(AddressItem);
|
|