UNPKG

sunmao-sdk

Version:

榫卯-开箱即用赋能-sdk

57 lines (44 loc) 2.43 kB
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /** * Created by Tw93 on 2019-12-07. * 抽离高阶日期组件 */ import React from "react"; import moment from "moment"; import { getFormat } from "../base/utils"; export default (function (p, onChange, DateComponent) { var style = p.invalid ? { borderColor: "#ff4d4f", boxShadow: "0 0 0 2px rgba(255,77,79,.2)" } : {}; var _p$schema$format = p.schema.format, format = _p$schema$format === void 0 ? "dateTime" : _p$schema$format; if (p.options && p.options.format) { format = p.options.format; } var _value = p.value || ""; var dateFormat = getFormat(format); if (_value) { _value = moment(_value, dateFormat); } var placeholderObj = p.description ? { placeholder: p.description } : {}; var dateParams = _objectSpread(_objectSpread(_objectSpread({}, placeholderObj), p.options), {}, { value: _value, style: _objectSpread({ width: "100%" }, style), disabled: p.disabled || p.readOnly, onChange: onChange }); // TODO: format是在options里自定义的情况,是否要判断一下要不要showTime if (format === "dateTime") { dateParams.showTime = true; } if (["week", "month", "quarter", "year"].indexOf(format) > -1) { dateParams.picker = format; } return /*#__PURE__*/React.createElement(DateComponent, dateParams); });