index.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 _button = _interopRequireDefault(require("../button"));
  9. var _radioGroup = _interopRequireDefault(require("../radio-group"));
  10. var _Item = _interopRequireDefault(require("./Item"));
  11. var _use = (0, _utils.use)('address-list'),
  12. sfc = _use[0],
  13. bem = _use[1],
  14. t = _use[2];
  15. function AddressList(h, props, slots, ctx) {
  16. var getList = function getList(list, disabled) {
  17. return list.map(function (item, index) {
  18. return h(_Item["default"], {
  19. "attrs": {
  20. "data": item,
  21. "disabled": disabled,
  22. "switchable": props.switchable && !disabled
  23. },
  24. "key": item.id,
  25. "on": {
  26. "select": function select() {
  27. (0, _functional.emit)(ctx, disabled ? 'select-disabled' : 'select', item, index);
  28. },
  29. "edit": function edit() {
  30. (0, _functional.emit)(ctx, disabled ? 'edit-disabled' : 'edit', item, index);
  31. }
  32. }
  33. });
  34. });
  35. };
  36. var List = getList(props.list);
  37. var DisabledList = getList(props.disabledList, true);
  38. return h("div", (0, _babelHelperVueJsxMergeProps["default"])([{
  39. "class": bem()
  40. }, (0, _functional.inherit)(ctx)]), [slots.top && slots.top(), h(_radioGroup["default"], {
  41. "attrs": {
  42. "value": props.value
  43. },
  44. "on": {
  45. "input": function input(event) {
  46. (0, _functional.emit)(ctx, 'input', event);
  47. }
  48. }
  49. }, [List]), props.disabledText && h("div", {
  50. "class": bem('disabled-text')
  51. }, [props.disabledText]), DisabledList, slots["default"] && slots["default"](), h(_button["default"], {
  52. "attrs": {
  53. "square": true,
  54. "size": "large",
  55. "type": "danger",
  56. "text": props.addButtonText || t('add')
  57. },
  58. "class": bem('add'),
  59. "on": {
  60. "click": function click() {
  61. (0, _functional.emit)(ctx, 'add');
  62. }
  63. }
  64. })]);
  65. }
  66. AddressList.props = {
  67. list: Array,
  68. disabledList: Array,
  69. disabledText: String,
  70. addButtonText: String,
  71. value: [String, Number],
  72. switchable: {
  73. type: Boolean,
  74. "default": true
  75. }
  76. };
  77. var _default = sfc(AddressList);
  78. exports["default"] = _default;