FormItemInput.js 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/LoadingOutlined"));
  10. var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CloseCircleFilled"));
  11. var _CheckCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CheckCircleFilled"));
  12. var _ExclamationCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/ExclamationCircleFilled"));
  13. var _Col = _interopRequireDefault(require("../grid/Col"));
  14. var _context = require("./context");
  15. var _ErrorList = _interopRequireDefault(require("./ErrorList"));
  16. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  17. var iconMap = {
  18. success: _CheckCircleFilled.default,
  19. warning: _ExclamationCircleFilled.default,
  20. error: _CloseCircleFilled.default,
  21. validating: _LoadingOutlined.default
  22. };
  23. var FormItemInput = (0, _vue.defineComponent)({
  24. compatConfig: {
  25. MODE: 3
  26. },
  27. slots: ['help', 'extra', 'errors'],
  28. inheritAttrs: false,
  29. props: ['prefixCls', 'errors', 'hasFeedback', 'onDomErrorVisibleChange', 'wrapperCol', 'help', 'extra', 'status'],
  30. setup: function setup(props, _ref) {
  31. var slots = _ref.slots;
  32. var formContext = (0, _context.useInjectForm)();
  33. var contextWrapperCol = formContext.wrapperCol;
  34. // Pass to sub FormItem should not with col info
  35. var subFormContext = (0, _objectSpread2.default)({}, formContext);
  36. delete subFormContext.labelCol;
  37. delete subFormContext.wrapperCol;
  38. (0, _context.useProvideForm)(subFormContext);
  39. (0, _context.useProvideFormItemPrefix)({
  40. prefixCls: (0, _vue.computed)(function () {
  41. return props.prefixCls;
  42. }),
  43. status: (0, _vue.computed)(function () {
  44. return props.status;
  45. })
  46. });
  47. return function () {
  48. var _slots$help, _slots$errors, _slots$extra;
  49. var prefixCls = props.prefixCls,
  50. wrapperCol = props.wrapperCol,
  51. _props$help = props.help,
  52. help = _props$help === void 0 ? (_slots$help = slots.help) === null || _slots$help === void 0 ? void 0 : _slots$help.call(slots) : _props$help,
  53. _props$errors = props.errors,
  54. errors = _props$errors === void 0 ? (_slots$errors = slots.errors) === null || _slots$errors === void 0 ? void 0 : _slots$errors.call(slots) : _props$errors,
  55. hasFeedback = props.hasFeedback,
  56. status = props.status,
  57. _props$extra = props.extra,
  58. extra = _props$extra === void 0 ? (_slots$extra = slots.extra) === null || _slots$extra === void 0 ? void 0 : _slots$extra.call(slots) : _props$extra;
  59. var baseClassName = "".concat(prefixCls, "-item");
  60. var mergedWrapperCol = wrapperCol || (contextWrapperCol === null || contextWrapperCol === void 0 ? void 0 : contextWrapperCol.value) || {};
  61. var className = (0, _classNames.default)("".concat(baseClassName, "-control"), mergedWrapperCol.class);
  62. // Should provides additional icon if `hasFeedback`
  63. var IconNode = status && iconMap[status];
  64. return (0, _vue.createVNode)(_Col.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, mergedWrapperCol), {}, {
  65. "class": className
  66. }), {
  67. default: function _default() {
  68. var _slots$default;
  69. return (0, _vue.createVNode)(_vue.Fragment, null, [(0, _vue.createVNode)("div", {
  70. "class": "".concat(baseClassName, "-control-input")
  71. }, [(0, _vue.createVNode)("div", {
  72. "class": "".concat(baseClassName, "-control-input-content")
  73. }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]), hasFeedback && IconNode ? (0, _vue.createVNode)("span", {
  74. "class": "".concat(baseClassName, "-children-icon")
  75. }, [(0, _vue.createVNode)(IconNode, null, null)]) : null]), (0, _vue.createVNode)(_ErrorList.default, {
  76. "errors": errors,
  77. "help": help,
  78. "class": "".concat(baseClassName, "-explain-connected")
  79. }, null), extra ? (0, _vue.createVNode)("div", {
  80. "class": "".concat(baseClassName, "-extra")
  81. }, [extra]) : null]);
  82. }
  83. });
  84. };
  85. }
  86. });
  87. var _default2 = FormItemInput;
  88. exports.default = _default2;