UNPKG

bytesforce-form-render

Version:

通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成

91 lines (68 loc) 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = UrlInput; require("antd/es/input/style"); var _input = _interopRequireDefault(require("antd/es/input")); var _react = _interopRequireDefault(require("react")); var _utils = require("../../utils"); var _excluded = ["value", "prefix", "suffix", "addonText", "onChange"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var UrlNode = function UrlNode(_ref) { var value = _ref.value, _ref$addonText = _ref.addonText, addonText = _ref$addonText === void 0 ? '测试链接' : _ref$addonText; var useUrl = (0, _utils.isUrl)(value); if (useUrl) { return /*#__PURE__*/_react.default.createElement("a", { target: "_blank", href: value }, addonText); } return /*#__PURE__*/_react.default.createElement("div", null, addonText); }; function UrlInput(_ref2) { var value = _ref2.value, prefix = _ref2.prefix, suffix = _ref2.suffix, addonText = _ref2.addonText, onChange = _ref2.onChange, rest = _objectWithoutProperties(_ref2, _excluded); var _value = value || ''; if (prefix) { _value = _value.replace(prefix, ''); } if (suffix) { _value = _value.replace(suffix, ''); } var handleChange = function handleChange(e) { var _value = e.target.value; if (!_value) { onChange(_value); return; } if (prefix) { _value = prefix + _value; } if (suffix) { _value = _value + suffix; } onChange(_value); }; return /*#__PURE__*/_react.default.createElement(_input.default, _extends({ value: _value, prefix: prefix, suffix: suffix, onChange: handleChange, addonAfter: /*#__PURE__*/_react.default.createElement(UrlNode, { value: value, prefix: prefix, suffix: suffix, addonText: addonText }) }, rest)); }