index.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports["default"] = void 0;
  5. var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
  6. var _utils = require("../utils");
  7. var _functional = require("../utils/functional");
  8. var _icon = _interopRequireDefault(require("../icon"));
  9. var _cell = _interopRequireDefault(require("../cell"));
  10. var _button = _interopRequireDefault(require("../button"));
  11. var _radio = _interopRequireDefault(require("../radio"));
  12. var _radioGroup = _interopRequireDefault(require("../radio-group"));
  13. var _use = (0, _utils.use)('contact-list'),
  14. sfc = _use[0],
  15. bem = _use[1],
  16. t = _use[2];
  17. function ContactList(h, props, slots, ctx) {
  18. var List = props.list.map(function (item, index) {
  19. var onClick = function onClick() {
  20. (0, _functional.emit)(ctx, 'input', item.id);
  21. (0, _functional.emit)(ctx, 'select', item, index);
  22. };
  23. return h(_cell["default"], {
  24. "key": item.id,
  25. "attrs": {
  26. "isLink": true,
  27. "valueClass": bem('item-value')
  28. },
  29. "class": bem('item'),
  30. "scopedSlots": {
  31. "default": function _default() {
  32. return h(_radio["default"], {
  33. "attrs": {
  34. "name": item.id
  35. },
  36. "on": {
  37. "click": onClick
  38. }
  39. }, [h("div", {
  40. "class": bem('name')
  41. }, [item.name + "\uFF0C" + item.tel])]);
  42. },
  43. 'right-icon': function rightIcon() {
  44. return h(_icon["default"], {
  45. "attrs": {
  46. "name": "edit"
  47. },
  48. "class": bem('edit'),
  49. "on": {
  50. "click": function click(event) {
  51. event.stopPropagation();
  52. (0, _functional.emit)(ctx, 'edit', item, index);
  53. }
  54. }
  55. });
  56. }
  57. },
  58. "on": {
  59. "click": onClick
  60. }
  61. });
  62. });
  63. return h("div", (0, _babelHelperVueJsxMergeProps["default"])([{
  64. "class": bem()
  65. }, (0, _functional.inherit)(ctx)]), [h(_radioGroup["default"], {
  66. "attrs": {
  67. "value": props.value
  68. },
  69. "class": bem('group')
  70. }, [List]), h(_button["default"], {
  71. "attrs": {
  72. "square": true,
  73. "size": "large",
  74. "type": "danger",
  75. "text": props.addText || t('addText')
  76. },
  77. "class": bem('add'),
  78. "on": {
  79. "click": function click() {
  80. (0, _functional.emit)(ctx, 'add');
  81. }
  82. }
  83. })]);
  84. }
  85. ContactList.props = {
  86. value: null,
  87. list: Array,
  88. addText: String
  89. };
  90. var _default2 = sfc(ContactList);
  91. exports["default"] = _default2;