You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
2.8 KiB

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
var _utils = require("../utils");
var _functional = require("../utils/functional");
var _tag = _interopRequireDefault(require("../tag"));
var _icon = _interopRequireDefault(require("../icon"));
var _cell = _interopRequireDefault(require("../cell"));
var _radio = _interopRequireDefault(require("../radio"));
// Utils
// Components
var _createNamespace = (0, _utils.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) {
(0, _functional.emit)(ctx, 'select');
}
(0, _functional.emit)(ctx, 'click');
}
var genRightIcon = function genRightIcon() {
return h(_icon.default, {
"attrs": {
"name": "edit"
},
"class": bem('edit'),
"on": {
"click": function click(event) {
event.stopPropagation();
(0, _functional.emit)(ctx, 'edit');
(0, _functional.emit)(ctx, 'click');
}
}
});
};
function genTag() {
if (props.data.isDefault && props.defaultTagText) {
return h(_tag.default, {
"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.default, {
"attrs": {
"name": data.id,
"iconSize": 18
}
}, [Info]);
}
return Info;
}
return h("div", {
"class": bem({
disabled: disabled
}),
"on": {
"click": onClick
}
}, [h(_cell.default, (0, _babelHelperVueJsxMergeProps.default)([{
"attrs": {
"border": false,
"valueClass": bem('value')
},
"scopedSlots": {
default: genContent,
'right-icon': genRightIcon
}
}, (0, _functional.inherit)(ctx)])), slots.bottom == null ? void 0 : slots.bottom((0, _extends2.default)({}, props.data, {
disabled: disabled
}))]);
}
AddressItem.props = {
data: Object,
disabled: Boolean,
switchable: Boolean,
defaultTagText: String
};
var _default = createComponent(AddressItem);
exports.default = _default;