antd-form-document 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/applets/index.d.ts +35 -0
  2. package/dist/applets/index.d.ts.map +1 -0
  3. package/dist/components/Checkbox/index.d.ts +10 -0
  4. package/dist/components/Checkbox/index.d.ts.map +1 -0
  5. package/dist/components/DatePicker/index.d.ts +7 -0
  6. package/dist/components/DatePicker/index.d.ts.map +1 -0
  7. package/dist/components/Duration/index.d.ts +8 -0
  8. package/dist/components/Duration/index.d.ts.map +1 -0
  9. package/dist/components/Editor/index.d.ts +7 -0
  10. package/dist/components/Editor/index.d.ts.map +1 -0
  11. package/dist/components/InputNumber/index.d.ts +7 -0
  12. package/dist/components/InputNumber/index.d.ts.map +1 -0
  13. package/dist/components/Label/index.d.ts +6 -0
  14. package/dist/components/Label/index.d.ts.map +1 -0
  15. package/dist/components/Radio/index.d.ts +10 -0
  16. package/dist/components/Radio/index.d.ts.map +1 -0
  17. package/dist/components/Select/index.d.ts +11 -0
  18. package/dist/components/Select/index.d.ts.map +1 -0
  19. package/dist/components/SuperUpload/ChunkUpload.d.ts +110 -0
  20. package/dist/components/SuperUpload/ChunkUpload.d.ts.map +1 -0
  21. package/dist/components/SuperUpload/index.d.ts +6 -0
  22. package/dist/components/SuperUpload/index.d.ts.map +1 -0
  23. package/dist/components/Switch/index.d.ts +7 -0
  24. package/dist/components/Switch/index.d.ts.map +1 -0
  25. package/dist/components/Table/index.d.ts +7 -0
  26. package/dist/components/Table/index.d.ts.map +1 -0
  27. package/dist/components/Text/index.d.ts +7 -0
  28. package/dist/components/Text/index.d.ts.map +1 -0
  29. package/dist/components/TextArea/index.d.ts +7 -0
  30. package/dist/components/TextArea/index.d.ts.map +1 -0
  31. package/dist/components/TimePicker/index.d.ts +7 -0
  32. package/dist/components/TimePicker/index.d.ts.map +1 -0
  33. package/dist/components/Tooltip/index.d.ts +6 -0
  34. package/dist/components/Tooltip/index.d.ts.map +1 -0
  35. package/dist/components/Upload/index.d.ts +6 -0
  36. package/dist/components/Upload/index.d.ts.map +1 -0
  37. package/dist/components/index.d.ts +17 -0
  38. package/dist/components/index.d.ts.map +1 -0
  39. package/dist/config.d.ts +29 -0
  40. package/dist/config.d.ts.map +1 -0
  41. package/dist/containers/Col/index.d.ts +4 -0
  42. package/dist/containers/Col/index.d.ts.map +1 -0
  43. package/dist/containers/Collapse/index.d.ts +4 -0
  44. package/dist/containers/Collapse/index.d.ts.map +1 -0
  45. package/dist/containers/Content/index.d.ts +4 -0
  46. package/dist/containers/Content/index.d.ts.map +1 -0
  47. package/dist/containers/Divider/index.d.ts +4 -0
  48. package/dist/containers/Divider/index.d.ts.map +1 -0
  49. package/dist/containers/Row/index.d.ts +4 -0
  50. package/dist/containers/Row/index.d.ts.map +1 -0
  51. package/dist/containers/Steps/index.d.ts +4 -0
  52. package/dist/containers/Steps/index.d.ts.map +1 -0
  53. package/dist/containers/index.d.ts +7 -0
  54. package/dist/containers/index.d.ts.map +1 -0
  55. package/dist/context.d.ts +3 -0
  56. package/dist/context.d.ts.map +1 -0
  57. package/dist/entity/Meta.d.ts +40 -0
  58. package/dist/entity/Meta.d.ts.map +1 -0
  59. package/dist/form/index.d.ts +95 -0
  60. package/dist/form/index.d.ts.map +1 -0
  61. package/dist/index.d.ts +5 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.tsx +2 -0
  64. package/dist/index.tsx.map +1 -0
  65. package/dist/preview/index.d.ts +7 -0
  66. package/dist/preview/index.d.ts.map +1 -0
  67. package/dist/service/ProComponent.d.ts +13 -0
  68. package/dist/service/ProComponent.d.ts.map +1 -0
  69. package/dist/service/UIComponent.d.ts +102 -0
  70. package/dist/service/UIComponent.d.ts.map +1 -0
  71. package/dist/service/UIListComponent.d.ts +36 -0
  72. package/dist/service/UIListComponent.d.ts.map +1 -0
  73. package/dist/service/WidgetComponent.d.ts +4 -0
  74. package/dist/service/WidgetComponent.d.ts.map +1 -0
  75. package/dist/service/index.d.ts +5 -0
  76. package/dist/service/index.d.ts.map +1 -0
  77. package/dist/utils/request.d.ts +4 -0
  78. package/dist/utils/request.d.ts.map +1 -0
  79. package/dist/utils/xml.d.ts +7 -0
  80. package/dist/utils/xml.d.ts.map +1 -0
  81. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.tsx","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/toPrimitive.js","../node_modules/@babel/runtime/helpers/toPropertyKey.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/entity/Meta.ts","../src/utils/xml.ts","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../src/applets/index.ts","../src/context.ts","../src/service/UIComponent.tsx","../src/service/ProComponent.tsx","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../src/config.ts","../src/utils/request.ts","../src/service/UIListComponent.tsx","../src/service/WidgetComponent.ts","../src/components/Label/index.tsx","../src/components/Tooltip/index.tsx","../src/preview/index.tsx","../src/components/Text/index.tsx","../src/components/TextArea/index.tsx","../src/components/InputNumber/index.tsx","../src/components/Editor/index.tsx","../src/components/Select/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Radio/index.tsx","../src/components/Switch/index.tsx","../src/components/Duration/index.tsx","../src/components/DatePicker/index.tsx","../src/components/TimePicker/index.tsx","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../src/components/Upload/index.tsx","../node_modules/spark-md5/spark-md5.js","../src/components/SuperUpload/ChunkUpload.ts","../src/components/SuperUpload/index.tsx","../src/components/Table/index.tsx","../src/containers/Row/index.tsx","../src/containers/Col/index.tsx","../src/containers/Steps/index.tsx","../src/containers/Content/index.tsx","../src/containers/Divider/index.tsx","../src/containers/Collapse/index.tsx","../src/form/index.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { parseInt, uniqueId } from \"lodash\";\r\n\r\nexport default class Meta {\r\n readonly id: string;\r\n readonly tag: string;\r\n readonly text?: string;\r\n readonly attributes: { [name: string]: string | boolean } = {};\r\n readonly cdata?: string;\r\n readonly children?: Meta[];\r\n\r\n constructor(element: Element) {\r\n // this.id = Math.floor(Math.random() * 1000000000).toString();\r\n this.id = uniqueId();\r\n /** 获得属性 */\r\n for (const item of element.attributes) {\r\n let value: string | boolean = item.value.trim();\r\n if (this.isBoolean(value)) {\r\n value = this.toBoolean(value);\r\n }\r\n this.attributes[item.name] = value;\r\n }\r\n\r\n /** 获得子元素 */\r\n this.children = new Array();\r\n for (const node of element.childNodes) {\r\n if (node instanceof Element) {\r\n this.children?.push(new Meta(node));\r\n }\r\n /** 获得文本 */\r\n if (node.nodeType === 3 && node.textContent) {\r\n this.text = node.textContent;\r\n }\r\n /** 获得CDATA */\r\n if (node.nodeType === 4) {\r\n this.cdata = node.nodeValue?.replace(/\\ +/g, \" \").replace(/[\\t\\r\\n]/g, \"\");\r\n }\r\n }\r\n this.tag = element.nodeName;\r\n }\r\n\r\n /**\r\n * 判断是否为boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isBoolean(value: string) {\r\n return value === \"true\" || value === \"false\";\r\n }\r\n\r\n /**\r\n * 转换boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toBoolean(value: string) {\r\n return value === \"true\";\r\n }\r\n\r\n /**\r\n * 判断是否为number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isNumber(value: string) {\r\n return /^\\d+$/.test(value);\r\n }\r\n\r\n /**\r\n * 转换number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toNumber(value: string) {\r\n return parseInt(value, 10);\r\n }\r\n}","import Meta from \"@/entity/Meta\";\r\n\r\nexport default class XMLDocument {\r\n static parser(document: Document) {\r\n const element: Element = <Element>document.childNodes[0];\r\n return new Meta(element);\r\n }\r\n\r\n static toDocument(documentString: string): Document {\r\n return new DOMParser().parseFromString(documentString, \"text/xml\");\r\n }\r\n\r\n static getRoot(documentString: string): Meta {\r\n const doc: Document = XMLDocument.toDocument(documentString);\r\n return XMLDocument.parser(doc);\r\n }\r\n}","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import moment from 'moment';\r\n\r\n/**\r\n * validate 验证\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const validate = ({ type = 'string', required, minlength, maxlength, min, max, pattern, message }: any): Design.Rule => {\r\n if (required) {\r\n return { type, required, message };\r\n }\r\n if (minlength && maxlength) {\r\n return { type, min: Number(minlength), max: Number(maxlength), message };\r\n }\r\n if (min && max) {\r\n return { type, min: Number(min), max: Number(max), message };\r\n }\r\n if (type === \"phone\") {\r\n return { type: 'regexp', pattern: new RegExp('^[1][3,5,7,8][0-9]\\\\d{8}$'), message };\r\n }\r\n if (type === 'regexp' && typeof pattern === 'string') {\r\n return { type, pattern: new RegExp(pattern), message };\r\n }\r\n return { type, message };\r\n}\r\n\r\n/**\r\n * condition 条件\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const condition = (fields: object | undefined, preview: boolean) => ({ test }: { test: string }): boolean => {\r\n try {\r\n if (fields) {\r\n fields = { ...fields, preview }\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `return ${test}`);\r\n return actuator(fields);\r\n }\r\n return false;\r\n } catch (e: any) {\r\n console.warn(e.message);\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * collection 集合\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const collection = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `${cdata}`);\r\n return actuator(fields);\r\n }\r\n const actuator: Function = new Function(`${cdata}`);\r\n return actuator();\r\n } catch (e: any) {\r\n console.warn(e.message);\r\n return [];\r\n }\r\n}\r\n\r\n/**\r\n * compute 计算\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const compute = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> | string | undefined => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, 'moment', `${cdata}`);\r\n return actuator(fields, moment);\r\n }\r\n const actuator: Function = new Function('moment', `${cdata}`);\r\n return actuator(moment);\r\n } catch (e: any) {\r\n console.warn(e.message);\r\n return undefined;\r\n }\r\n}\r\n","import React from \"react\";\r\n\r\nexport const DesignContext = React.createContext<Design.Context>({});","import React from \"react\";\r\nimport { camelCase, every, some, find } from 'lodash';\r\nimport { collection, compute, condition, validate } from \"@/applets\";\r\nimport { DesignContext } from \"@/context\";\r\n\r\nexport default class UIComponent<P extends Design.ComponentProps, S = {}> extends React.PureComponent<P, S> {\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n styleLabel = { style: { color: '#055ab5' } };\r\n styleWrapper = { style: { borderBottom: '1px solid #d9d9d9' } };\r\n\r\n /**\r\n * 设置字段默认值\r\n * \r\n * @param defaultValue \r\n */\r\n setDefaultValue<T>(defaultValue: T): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n const value = form.current?.getFieldValue(code);\r\n if (!value) {\r\n form.current?.setFieldValue(code, defaultValue);\r\n }\r\n }\r\n }\r\n /**\r\n * 设置当前字段值\r\n * \r\n * @param value \r\n */\r\n setFieldValue<T>(value: T | undefined): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n form.current?.setFieldValue(code, value);\r\n }\r\n }\r\n\r\n /**\r\n * 清楚当前值\r\n * \r\n */\r\n cleanFieldValue(): void {\r\n setTimeout(() => {\r\n this.setFieldValue(undefined);\r\n }, 1);\r\n }\r\n\r\n /**\r\n * 获得当前值\r\n * \r\n * @returns \r\n */\r\n getFieldValue<T>(): T | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n return form.current?.getFieldValue(code);\r\n }\r\n }\r\n\r\n /**\r\n * 获得所以form对象值\r\n * \r\n * @returns \r\n */\r\n getFieldsValue(): object | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n return form.current?.getFieldsValue();\r\n }\r\n }\r\n\r\n /**\r\n * 获得标签\r\n * \r\n * @returns \r\n */\r\n getLabel() {\r\n const isShowTitle = this.context.showTitle\r\n if (isShowTitle) {\r\n return <span {...this.styleLabel}>{this.props.title}</span>;\r\n }\r\n }\r\n\r\n /**\r\n * 获得item信息\r\n * \r\n * @returns \r\n */\r\n getItem(): { itemProps: {}, itemLayouts: {} } {\r\n const { preview, labelCol, wrapperCol, tips } = this.props;\r\n const itemLayouts = labelCol && wrapperCol ? { labelCol: { span: labelCol }, wrapperCol: { span: wrapperCol } } : {};\r\n let itemProps: {};\r\n if (preview) {\r\n itemProps = { required: false };\r\n Object.assign(itemLayouts.wrapperCol ?? {}, this.styleWrapper);\r\n } else {\r\n itemProps = { tooltip: tips };\r\n }\r\n return { itemProps, itemLayouts };\r\n }\r\n\r\n /**\r\n * 样式\r\n * \r\n * @returns \r\n */\r\n getStyles(): {} {\r\n const { style } = this.props;\r\n const styleList: string[] | undefined = style?.replace(/\\ +/g, \"\").split(\";\");\r\n const styles: {} = {};\r\n styleList?.forEach(items => {\r\n if (items) {\r\n const [key, value] = items.split(\":\");\r\n Object.assign(styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n return styles;\r\n }\r\n\r\n /**\r\n * 条件\r\n * \r\n * @param defaultHide \r\n * @param children \r\n * @returns \r\n */\r\n display(): boolean {\r\n const preview = this.context.preview ?? false;\r\n const fileds = this.getFieldsValue();\r\n const { defaultHide = false, children } = this.props;\r\n const show: boolean = !defaultHide;\r\n const conditions: Design.Modal.ConditionMeta | undefined = find(children, { tag: \"Conditions\" });\r\n if (conditions) {\r\n const { type, action } = conditions;\r\n const list = conditions.children?.map(condition(fileds, preview));\r\n if (list?.length > 0) {\r\n let result: boolean = false;\r\n if (type === 'and') {\r\n result = every(list);\r\n } else {\r\n result = some(list);\r\n } \r\n if ((result && action === 'hide') || (!result && action === 'show')) {\r\n return false;\r\n } else if ((!result && action === 'hide') || (result && action === 'show')) {\r\n return true;\r\n }\r\n }\r\n }\r\n return show;\r\n }\r\n\r\n /**\r\n * 规则\r\n * \r\n * @param preview \r\n * @param children \r\n * @returns \r\n */\r\n rules(): Design.Rule[] {\r\n const { preview, children } = this.props;\r\n if (!preview) {\r\n const validates = find(children, { tag: \"Validates\" });\r\n return validates?.children?.map(validate) ?? [];\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * 可选内容列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n collectionList(): string[] {\r\n const content = find(this.props.children, { tag: \"Collection\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n return collection(fileds, content) ?? [];\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * 计算值\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n onComputeValue(): void {\r\n const content = find(this.props.children, { tag: \"Compute\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n const computeValue = compute(fileds, content);\r\n if (computeValue) {\r\n setTimeout(() => {\r\n this.setFieldValue(computeValue);\r\n }, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 初始化值\r\n * \r\n * @param value \r\n */\r\n initValue(value?: string): void {\r\n const { defaultValue = value } = this.props;\r\n if (defaultValue) {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n\r\n}\r\n\r\nUIComponent.contextType = DesignContext;","import React from \"react\";\r\nimport { Form } from \"antd\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\ninterface ProComponentProps extends Design.ComponentProps {\r\n Component: any;\r\n}\r\n\r\nexport default class ProComponent extends UIComponent<ProComponentProps> {\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n initValue = () => {\r\n const { defaultValue } = this.props;\r\n if (defaultValue) {\r\n this.forceUpdate(() => {\r\n this.setDefaultValue(defaultValue);\r\n });\r\n }\r\n };\r\n\r\n onChange = (value: string) => {\r\n this.setFieldValue(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, hidden } = this.props;\r\n const { Component, defaultValue, ...props } = this.props;\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {<Component {...props} onChange={this.onChange}/>}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","class DesignConfig {\r\n readonly request: {\r\n prefix: string;\r\n headers: {};\r\n params: {};\r\n } = {\r\n prefix: \"api\",\r\n headers: {},\r\n params: {},\r\n }\r\n readonly file: {\r\n listUrl: string,\r\n downloadUrl: string,\r\n uploadUrl: string,\r\n extraData?: {}\r\n } = {\r\n listUrl: \"/file/list\",\r\n downloadUrl: \"/file/download\",\r\n uploadUrl: \"/file/upload\",\r\n extraData: (file: Design.File.FileInfo, fileType: string) => {},\r\n }\r\n\r\n readonly chunk : {\r\n checkFile: string,\r\n checkChunk: string,\r\n chunkUpload: string,\r\n doMerge: string,\r\n mergeProgress: string,\r\n onComplete: string,\r\n completeProgress: string,\r\n } = {\r\n checkFile: \"/chunk/checkFile\",\r\n checkChunk: \"/chunk/checkChunk\",\r\n chunkUpload: \"/chunk/chunkUpload\",\r\n doMerge: \"/chunk/doMerge\",\r\n mergeProgress: \"/chunk/mergeProgress\",\r\n onComplete: \"/chunk/onComplete\",\r\n completeProgress: \"/chunk/completeProgress\"\r\n }\r\n\r\n readonly components?: any\r\n \r\n private constructor(conf?: Design.Config) {\r\n if (conf) {\r\n const { request, file, components } = conf;\r\n this.request = { ...this.request, ...request };\r\n this.file = { ...this.file, ...file };\r\n this.components = components;\r\n }\r\n }\r\n\r\n static init(conf?: Design.Config) {\r\n return new DesignConfig(conf);\r\n }\r\n}\r\n\r\nlet config: DesignConfig = DesignConfig.init();\r\nconst defineConfig = (conf: Design.Config) => {\r\n config = DesignConfig.init(conf)\r\n}\r\n\r\nexport { defineConfig, config }","import { cloneDeep } from 'lodash';\r\nimport { message } from 'antd';\r\nimport { extend } from 'umi-request';\r\nimport { parse, compile } from 'path-to-regexp';\r\nimport { config } from '@/config';\r\n\r\nconst umiRequest = extend({\r\n prefix: config.request.prefix,\r\n timeout: 10000,\r\n});\r\n\r\n/** 请求访问 **/\r\nconst request = (targetUrl: string, options: any) => {\r\n const cloneData = cloneDeep(options.data);\r\n let url = targetUrl;\r\n try {\r\n // 过滤protocol、domain、host\r\n let domain = '';\r\n const urlMatch = url.match(/[a-zA-z]+:\\/\\/[^/]*/);\r\n if (urlMatch) {\r\n [domain] = urlMatch;\r\n url = url.slice(domain.length);\r\n }\r\n // 编译url参数\r\n const match = parse(url);\r\n url = compile(url)(options.data);\r\n match.forEach((item: any) => {\r\n if (item instanceof Object && item.name in cloneData) {\r\n delete cloneData[item.name];\r\n }\r\n });\r\n url = domain + url;\r\n } catch (e: any) {\r\n message.error(e.message);\r\n }\r\n if (options.method.toLocaleUpperCase() === 'GET') {\r\n options.params = cloneData;\r\n } else if (options.type){\r\n options.requestType = options.type\r\n }\r\n options.prefix = config.request.prefix; \r\n // 调用umi-request\r\n return umiRequest(url, options)\r\n .then(({ status, ...rest }: any) => {\r\n const success = status === 200;\r\n return Promise.resolve({\r\n success,\r\n ...rest,\r\n });\r\n })\r\n .catch(({ response, data }: any) => {\r\n const msg = '访问超时';\r\n if (data || response?.status !== 403) {\r\n message.error(data?.message ?? msg);\r\n }\r\n return Promise.resolve({\r\n success: false,\r\n message: msg,\r\n });\r\n });\r\n};\r\n\r\n/** request **/\r\nexport default (uri: string) => {\r\n let [method, type, url] = ['GET', 'json', uri];\r\n const uriArray = uri.split(' ')\r\n if (uriArray.length === 2) {\r\n [method, url] = uriArray;\r\n } else if (uriArray.length === 3) {\r\n [method, type, url] = uriArray;\r\n }\r\n return (data?: any) => request(url, { method, type, data });\r\n}\r\n","import { find } from \"lodash\";\r\nimport UIComponent from \"./UIComponent\";\r\nimport request from \"@/utils/request\";\r\n\r\nexport default class UIListComponent<P extends Design.ComponentProps, S = {}> extends UIComponent<P, S> {\r\n\r\n /**\r\n * 请求网络\r\n * \r\n * @param remote \r\n * @returns \r\n */\r\n request = async(remote: string) => {\r\n const params = this.context.params;\r\n return request(remote)({ params }).then(response => {\r\n const { status, data }: Design.Result = response;\r\n if (status === 200 && Array.isArray(data)) {\r\n const list = data.map(item => {\r\n const [key, label] = Object.entries<string>(item)?.[0];\r\n return { key, label };\r\n });\r\n return Promise.resolve(list);\r\n }\r\n return Promise.reject(undefined);\r\n }).catch(error => {\r\n console.log(\"remote\", remote, error);\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n /**\r\n * 选项列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n optionList(): Design.ItemOption[] | undefined {\r\n const options = find(this.props.children, { tag: \"Options\" })\r\n return options?.children as [];\r\n }\r\n\r\n /**\r\n * 添加校验规则\r\n * \r\n * @returns \r\n */\r\n plusRules(): Design.Rule[] {\r\n const rules = this.rules();\r\n return rules?.map(rule => {\r\n if (rule.required) {\r\n const validator = (_: unknown, value: string) => value.length > 0 ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n if (rule.min && rule.max) {\r\n const validator = (_: unknown, list: any[]) => list.length >= rule.min! && list.length <= rule.max! ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n return { ...rule };\r\n });\r\n }\r\n\r\n /**\r\n * 获得资源列表\r\n * \r\n * @param list \r\n * @param itemList \r\n * @param reset \r\n * @returns \r\n */\r\n getList = (list: Design.ItemOption[], itemList: string[], reset: (plist: Design.ItemOption[]) => void) => {\r\n if (itemList.length > 0) {\r\n const plist = list.filter(({ key }) => itemList.includes(key));\r\n reset(plist);\r\n return plist;\r\n }\r\n return list;\r\n }\r\n}","import React, { PureComponent } from \"react\";\r\n\r\nexport default class WidgetComponent<P = {}, S = {}> extends PureComponent<P, S> {\r\n\r\n\r\n\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Label extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const styles = this.getStyles();\r\n const rules = this.rules();\r\n const { title, hidden } = this.props;\r\n return (\r\n <Form.Item\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n wrapperCol={{ span: 24 }}\r\n >\r\n <div>{title}</div>\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Tooltip extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n const { preview, } = this.props;\r\n if (show && !preview) {\r\n const { title, hidden, children } = this.props; \r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item style={styles} hidden={hidden} wrapperCol={{ span: 24 }}>\r\n <div>{title ?? children}</div>\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { Space, Image } from 'antd';\r\nimport { config } from '@/config';\r\n\r\nconst downloadUrl = config.file.downloadUrl;\r\n\r\nexport const PreviewText = ({ value, type, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n if (value && type === \"url\") {\r\n return <div><a href={value} target=\"_blank\" rel=\"noreferrer\">{value}</a></div>\r\n }\r\n return <div>{value}</div>\r\n}\r\n\r\nexport const PreviewDuration = ({ value, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n if (value) {\r\n const [hour, minute, second] = value?.split(\":\");\r\n return <div>{`${hour}小时${minute}分${second}秒`}</div>\r\n } else {\r\n return <div>000时00分00秒</div>\r\n }\r\n}\r\n\r\nexport const PreviewSwitch = ({ checked, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(checked);\r\n }, []);\r\n return <div>{checked ? \"开启\" : \"关闭\"}</div>\r\n}\r\n\r\nexport const PreviewList = ({ value, list, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n\r\n if (Array.isArray(value)) {\r\n const items = list.filter(({ key }: any) => value.includes(key)).map(({ label }: any) => label);\r\n return <div>{items?.join()}</div>\r\n } else {\r\n const item = list?.find(({ key }: any) => key === value);\r\n return <div>{item?.label}</div>\r\n }\r\n}\r\n\r\nexport const PreviewFile = ({ fileList }: any) => {\r\n return <>\r\n {fileList?.map(({ worksAnnexId, contentType, url, fileName, fileTitle }: any) => {\r\n if (contentType?.endsWith(\"pdf\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"image\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={200} src={url} alt={fileTitle} />\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"video\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <video src={url} controls style={{ width: 260 }}>当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n if (contentType?.startsWith(\"audio\")) {\r\n return <div key={worksAnnexId}>\r\n <div style={{ paddingBottom: 10, display: 'flex', alignItems: 'center' }}>\r\n <audio src={url} controls style={{ width: 'calc(100% - 40px)', height: 30 }}>当前浏览器不支持音频播放,请使用最新版谷歌浏览器!</audio>\r\n <a style={{ paddingLeft: 10 }} href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </div>\r\n </div>\r\n }\r\n if (fileName?.endsWith(\".doc\") || fileName?.endsWith(\".docx\") || fileName?.endsWith(\".xls\") || fileName?.endsWith(\".xlsx\") || fileName?.endsWith(\".ppt\") || fileName?.endsWith(\".pptx\")) {\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={'http://view.officeapps.live.com/op/view.aspx?src=' + url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n return <div key={worksAnnexId}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{fileTitle}</a>\r\n <a href={`${downloadUrl}/${worksAnnexId}`} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class Text extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText type={type} /> : <Input maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} />}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class TextArea extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue(); \r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText /> : <Input.TextArea maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} />}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, InputNumber as Numerial } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class InputNumber extends UIComponent<Design.NumberProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const { type = \"number\", precision } = this.props;\r\n let numberProps: {} = {};\r\n if (type === \"digits\") {\r\n if (precision) {\r\n numberProps = {\r\n precision: Number(precision),\r\n };\r\n } else {\r\n numberProps = {\r\n precision: 2,\r\n };\r\n }\r\n } else if (type === \"money\") {\r\n numberProps = {\r\n formatter: (value: string) =>\r\n `¥ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\"),\r\n parser: (value: string) => value!.replace(/\\$\\s?|(,*)/g, \"\"),\r\n };\r\n } else if (type === \"percentage\") {\r\n numberProps = {\r\n formatter: (value: string) => `${value}%`,\r\n parser: (value: string) => value!.replace(\"%\", \"\"),\r\n };\r\n }\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, min, max, readonly, hidden } = this.props;\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? (<PreviewText />) : (<Numerial min={min} max={max} disabled={readonly} {...numberProps} />)}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport ReactWEditor from 'wangeditor-for-react';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Editor extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, placeholder, hidden } = this.props;\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n colon={!!title}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText /> : <EditorWidget placeholder={placeholder} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass EditorWidget extends React.Component<Design.WidgetProps> {\r\n isReactWEditor = false\r\n editorRef: React.RefObject<any> = React.createRef();\r\n \r\n shouldComponentUpdate() {\r\n return !this.isReactWEditor\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, placeholder, onChange } = this.props;\r\n return (\r\n <ReactWEditor\r\n placeholder={placeholder} \r\n value={value}\r\n onBlur={() => {\r\n this.isReactWEditor = false\r\n }}\r\n onFocus={() => {\r\n this.isReactWEditor = true\r\n }}\r\n onChange={(value: string) => {\r\n onChange?.(value);\r\n }}\r\n />\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Select } from 'antd';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewList } from '@/preview';\r\n\r\nexport default class SelectList extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void { \r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n initValue() {\r\n const { defaultValue, multiple } = this.props;\r\n if (defaultValue) {\r\n if (multiple) {\r\n this.setDefaultValue([defaultValue]);\r\n } else {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const { code, preview, multiple, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const rules = multiple ? this.plusRules() : this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string | string[]>();\r\n if (currentValue && (\r\n (!multiple && !plist.some(item => item.key === currentValue)) ||\r\n (multiple && !plist.some(item => currentValue.includes(item.key)))\r\n )) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={this.state.list} /> :\r\n <SelectWidget list={list} multiple={multiple} placeholder={placeholder} allowClear={allowClear} readonly={readonly} />\r\n }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nconst { Option } = Select;\r\nclass SelectWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n handleItemValue = (value: string) => {\r\n this.props.onChange?.(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { list, value, multiple, placeholder, allowClear, readonly } = this.props;\r\n return (<Select\r\n showSearch\r\n placeholder={placeholder}\r\n mode={multiple ? \"multiple\" : undefined}\r\n disabled={readonly}\r\n value={value as string}\r\n allowClear={allowClear}\r\n onChange={this.handleItemValue}\r\n filterOption={(inputValue: string, option: any) =>\r\n (option!.children as unknown as string).toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n >\r\n {list && (list.map(({ key, label }) => <Option key={key} value={key}>{label}</Option>))}\r\n </Select>);\r\n }\r\n}","import React from 'react';\r\nimport { Form, Checkbox } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class CheckBox extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void { \r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string[]>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewList list={this.state.list} /> : <CheckboxWidget list={list} readonly={readonly} /> }\r\n </Form.Item>\r\n )\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nclass CheckboxWidget extends WidgetComponent<Design.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, readonly, onChange } = this.props;\r\n return (\r\n <Checkbox.Group\r\n value={value as string[]}\r\n onChange={(value: any) => {\r\n onChange?.(value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Checkbox key={key} value={key} disabled={readonly}>{label}</Checkbox>))}\r\n </Checkbox.Group>\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Radio } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class RadioButton extends UIListComponent<Design.Radio.Props, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, optionType, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={list} /> : <RadioWidget list={this.state.list} optionType={optionType} readonly={readonly} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n } \r\n}\r\n\r\nclass RadioWidget extends WidgetComponent<Design.Radio.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, optionType, readonly, onChange } = this.props;\r\n return (\r\n <Radio.Group\r\n value={value}\r\n optionType={optionType}\r\n onChange={(e: any) => {\r\n onChange?.(e.target.value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Radio key={key} value={key} disabled={readonly}>{label}</Radio>))}\r\n </Radio.Group>\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Switch } from 'antd';\r\nimport { PreviewSwitch } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class SwitchButton extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"checked\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewSwitch /> : <Switch disabled={readonly} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","import React from 'react';\r\nimport { Form, InputNumber } from 'antd';\r\nimport format from 'number-format.js';\r\nimport { PreviewDuration } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport './index.css';\r\n\r\nexport default class Duration extends UIComponent<Design.ComponentProps> {\r\n\r\n componentDidMount(): void {\r\n this.initValue(\"000:00:00\");\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewDuration /> : <DurationWidget readonly={readonly} /> }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DurationWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n duration: number[] = [0, 0, 0];\r\n \r\n changeValue = (index: number) => (changeValue: number | null) => {\r\n if (changeValue) {\r\n this.duration[index] = changeValue;\r\n const durations = this.duration.map((value: number, index: number) => (index === 0 ? format(\"000\", value) : format(\"00\", value)));\r\n this.props.onChange?.(durations.join(\":\"));\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, readonly } = this.props;\r\n if (typeof value === \"string\") {\r\n this.duration = value.split(\":\").map(Number);\r\n }\r\n return (\r\n <div className=\"duration\">\r\n <Form.Item>\r\n <InputNumber style={{width: '100%'}} min={0} max={999} precision={0} value={this.duration[0]}\r\n formatter={(value: any) => value! < 100 ? (value! < 10 ? '00'+ value : '0'+ value) : value!.toString()}\r\n onChange={this.changeValue(0)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>小时</span>\r\n <Form.Item>\r\n <InputNumber style={{width: '100%'}} min={0} max={59} precision={0} value={this.duration[1]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(1)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>分</span>\r\n <Form.Item>\r\n <InputNumber style={{width: '100%'}} min={0} max={59} precision={0} value={this.duration[2]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(2)} controls={false} disabled={readonly}\r\n />\r\n </Form.Item><span>秒</span>\r\n </div>\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, DatePicker } from 'antd';\r\nimport moment from 'moment';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class Datepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type = \"date\", format = \"YYYY-MM-DD\", showTime = false, preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewText /> : <DateWidget type={type} format={format} showTime={showTime} placeholder={placeholder} allowClear={allowClear} readonly={readonly} /> }\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DateWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, type, format, showTime, placeholder, allowClear, readonly, onChange } = this.props;\r\n return (\r\n <DatePicker \r\n value={value ? moment(value) : undefined}\r\n picker={type}\r\n format={format}\r\n showTime={showTime}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly} \r\n onChange={(value: any) => {\r\n onChange?.(value?.format(\"YYYY-MM-DD\"));\r\n }}\r\n />\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, TimePicker } from 'antd';\r\nimport moment from 'moment';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport { PreviewText } from '@/preview';\r\n\r\nexport default class Timepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, format = \"HH:mm:ss\", preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText /> : <TimeWidget format={format} placeholder={placeholder} allowClear={allowClear} readonly={readonly} />}\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TimeWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, format, placeholder, allowClear, readonly, onChange } = this.props;\r\n return (\r\n <TimePicker \r\n value={value ? moment(value, \"HH:mm:ss\") : undefined}\r\n format={format}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly} \r\n onChange={(value: any) => {\r\n onChange?.(value?.format(\"HH:mm:ss\"))\r\n }} />\r\n )\r\n }\r\n}\r\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport request from '@/utils/request';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst { uploadUrl, listUrl } = config.file;\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n if (list && list.length > 0) {\r\n request(listUrl)({params: { ids: list }}).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.log(\"url\", listUrl, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ status }) => status === 'done').map(({ id }) => id));\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n if (fileTypeArray && fileTypeArray.length > 0) {\r\n const isFileType = fileTypeArray.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onStart = (): void => {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: 0\r\n }\r\n })\r\n this.uploading = true;\r\n }\r\n\r\n onProgress = (step: { percent: number}) => {\r\n if (!this.uploading) {\r\n return\r\n }\r\n let percent = Math.round(step.percent / 2);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: percent\r\n }\r\n });\r\n if (percent === 50) {\r\n this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++percent\r\n }\r\n });\r\n } else {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n });\r\n }\r\n if (percent === 99) {\r\n clearInterval(this.timer);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onSuccess = (response: any, file: any) => {\r\n const { id, url } = response.data;\r\n file.status = \"done\";\r\n file.response = response;\r\n file.id = id;\r\n file.url = url;\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: true,\r\n progress: 100\r\n }\r\n }, () => {\r\n clearInterval(this.timer);\r\n this.onChange(fileList);\r\n setTimeout(()=> {\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n }, 500);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onError = (error: any, response: any, file: any) => {\r\n const fileList = [...this.state.fileList, file];\r\n file.status = \"error\";\r\n file.response = response?.message ?? \"上传失败\";\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: false,\r\n progress: 100\r\n }\r\n }, () => {\r\n clearInterval(this.timer);\r\n this.onChange(fileList);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n action={uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n <Button disabled={maxCount <= fileList.length} icon={<UploadOutlined />}>上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","import SparkMD5 from 'spark-md5';\r\nimport request from '@/utils/request';\r\nimport { config } from '@/config';\r\n\r\nconst filePrototype = File.prototype as any;\r\nconst fileBlobSlice = filePrototype.slice || filePrototype.mozSlice || filePrototype.webkitSlice;\r\nconst defaultBlockSize = 10 * 1024 ** 2;\r\n\r\n/**\r\n * 等待\r\n * \r\n * @param millisecond \r\n * @returns \r\n */\r\nconst wait = (millisecond: number) => {\r\n return new Promise(resolve => {\r\n setTimeout(() => {\r\n resolve(millisecond)\r\n }, millisecond)\r\n })\r\n}\r\n\r\n/**\r\n * 上传 Upload.js\r\n */\r\nclass ChunkUpload {\r\n spark = new SparkMD5.ArrayBuffer();\r\n percents: number[] = [0, 0, 0, 0, 0];\r\n progress?: (percent: number) => void;\r\n file?: Design.File.FileInfo;\r\n\r\n listeners: { [name: string]: (payload: any) => void } = {};\r\n \r\n threads;\r\n chunkSize;\r\n chunkRetry;\r\n\r\n uploading: boolean = false;\r\n uploadList: Design.File.FileChunk [] = [];\r\n uploadPosition: number = 0;\r\n\r\n constructor({ chunkSize = defaultBlockSize, threads = 5, chunkRetry = 3 }: Design.File.FileOption) {\r\n this.chunkSize = chunkSize;\r\n this.threads = threads;\r\n this.chunkRetry = chunkRetry;\r\n }\r\n\r\n /**\r\n * 事件绑定\r\n * \r\n * @param method \r\n * @param callback \r\n */\r\n on(method: string, callback: (payload: any) => void) {\r\n this.listeners[method] = callback;\r\n }\r\n\r\n /**\r\n * 事件解除\r\n * \r\n * @param method \r\n */\r\n off(method: string) {\r\n delete this.listeners[method];\r\n }\r\n\r\n /**\r\n * 事件触发\r\n * \r\n * @param method \r\n */\r\n trigger(method: string, payload: any = null) {\r\n const callback = this.listeners[method];\r\n if(typeof callback === 'function'){\r\n callback(payload);\r\n }\r\n }\r\n\r\n /**\r\n * Buffer md5 加密\r\n * \r\n * @param content \r\n * @returns \r\n */\r\n md5hex(content: ArrayBuffer): string {\r\n return new SparkMD5.ArrayBuffer().append(content).end()\r\n }\r\n\r\n /**\r\n * 获得文件md5 hex\r\n * \r\n * @param file \r\n * @returns \r\n */\r\n fileMd5(file: File) {\r\n const num = Math.floor(file.size / defaultBlockSize); \r\n const blob: Blob = fileBlobSlice.call(file, num * defaultBlockSize);\r\n return new Promise<string>((resolve, reject) => { \r\n const fileReader = new FileReader();\r\n fileReader.onerror = reject\r\n fileReader.onload = (e: ProgressEvent<FileReader>) => {\r\n const buffer = e.target?.result ?? new ArrayBuffer(0);\r\n resolve(this.md5hex(buffer as ArrayBuffer)); \r\n }\r\n fileReader.readAsArrayBuffer(blob);\r\n })\r\n\r\n }\r\n\r\n /**\r\n * 计算上传进度\r\n * \r\n * @param percent \r\n * @param index \r\n * @param ratio \r\n */\r\n onProgress(percent: number, index: number, ratio: number) {\r\n this.percents[index] = percent * ratio;\r\n const progress = this.percents.reduce((v1: number, v2: number) => v1 + v2);\r\n this.trigger(\"progress\", progress);\r\n }\r\n\r\n /**\r\n * 文件上传\r\n * \r\n * @param file\r\n */\r\n async start(file: Design.File.FileInfo) {\r\n this.file = file;\r\n const fileName = file.name;\r\n const fileSize = file.size;\r\n const fileMd5 = await this.fileMd5(file);\r\n file.md5 = fileMd5;\r\n const result = await request(\"post form \" + config.chunk.checkFile)({ fileName, fileMd5, fileSize }); \r\n if (result?.data?.exist) {\r\n this.percents = [2, 30, 50, 8, 0];\r\n this.onProgress(0, 4, 0.10);\r\n this.onComplete();\r\n } else {\r\n this.onProgress(100, 0, 0.02);\r\n this.beforeUpload();\r\n }\r\n }\r\n\r\n /**\r\n * 文件上传前\r\n * \r\n * @param file \r\n * @param fileName \r\n * @param fileMd5 \r\n */\r\n beforeUpload() {\r\n this.uploading = true;\r\n this.uploadPosition = 0;\r\n let chunkIndex = 0;\r\n const fileSize = this.file?.size ?? 0;\r\n const chunkCount = Math.ceil(fileSize / this.chunkSize);\r\n const fileReader = new FileReader()\r\n const readFile = () => {\r\n const start = chunkIndex * this.chunkSize,\r\n end = ((start + this.chunkSize) >= fileSize) ? fileSize : start + this.chunkSize; \r\n fileReader.readAsArrayBuffer(fileBlobSlice.call(this.file, start, end));\r\n }\r\n fileReader.onload = (e: ProgressEvent<FileReader>) => {\r\n chunkIndex ++;\r\n const buffer = e.target?.result ?? new ArrayBuffer(0);\r\n const chunkMd5 = this.md5hex(buffer as ArrayBuffer);\r\n const blob = new Blob([buffer]); \r\n this.uploadList.unshift({ chunkMd5, chunkIndex, blob });\r\n if (chunkIndex < chunkCount) {\r\n readFile();\r\n } else {\r\n this.uploading = false;\r\n }\r\n this.onProgress(Math.round((chunkIndex / chunkCount) * 100), 1, 0.3);\r\n }\r\n readFile();\r\n this.startUpload(chunkCount);\r\n }\r\n\r\n /**\r\n * 分片上传\r\n * \r\n * @param fileName\r\n * @param fileMd5\r\n * @param chunkCount\r\n */\r\n async startUpload(chunkCount: number) { \r\n let index = 0;\r\n const timer = setInterval(() => {\r\n const size = this.uploadList.length;\r\n if (size === 0 && !this.uploading) {\r\n clearInterval(timer);\r\n } else {\r\n for (let i = 0; size - i > 0 && this.uploadPosition + i < this.threads; i ++, this.uploadPosition ++) {\r\n const chunk = this.uploadList.pop();\r\n if (chunk) {\r\n this.onUpload(chunk).then(()=> {\r\n index ++;\r\n this.onProgress(Math.round((index / chunkCount) * 100), 2, 0.5);\r\n if (chunkCount === index) {\r\n this.doMerge();\r\n }\r\n });\r\n }\r\n } \r\n } \r\n }, 500);\r\n }\r\n\r\n /**\r\n * 开始上传\r\n * \r\n * @param fileName\r\n * @param fileMd5\r\n * @param chunk\r\n */\r\n async onUpload(chunk: Design.File.FileChunk) {\r\n const { chunkMd5, chunkIndex, blob } = chunk;\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n const result = await request(\"post form \" + config.chunk.checkChunk)({ fileName, fileMd5, chunkMd5, chunkIndex });\r\n if (result?.data?.exist === false) {\r\n for (let i = 0; i < this.chunkRetry; i ++) {\r\n const formData = new FormData();\r\n formData.append(\"chunkIndex\", String(chunkIndex));\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileMd5\", fileMd5);\r\n formData.append(\"file\", blob);\r\n await request(\"post form \" + config.chunk.chunkUpload)(formData);\r\n break;\r\n }\r\n }\r\n this.uploadPosition --;\r\n }\r\n\r\n /**\r\n * 合并\r\n * \r\n */\r\n async doMerge() {\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n await request(\"post form \" + config.chunk.doMerge)({fileName, fileMd5});\r\n this.mergeProgress();\r\n }\r\n\r\n /**\r\n * 合并进程\r\n */\r\n async mergeProgress() {\r\n const result = await request(config.chunk.mergeProgress)();\r\n const percent = result?.data?.percent;\r\n if (Number.isFinite(percent)) {\r\n this.onProgress(percent, 3, 0.08);\r\n if (percent < 100) {\r\n await wait(1000);\r\n this.mergeProgress();\r\n } else {\r\n this.onComplete();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 上传完成\r\n * \r\n */\r\n async onComplete() {\r\n const fileName = this.file?.name ?? \"\";\r\n const fileMd5 = this.file?.md5 ?? \"\"; \r\n const result = await request(\"post form \" + config.chunk.onComplete)({fileName, fileMd5});\r\n if (this.file && result) {\r\n this.file.response = result;\r\n }\r\n this.completeProgress();\r\n }\r\n\r\n /**\r\n * 其他进程\r\n */\r\n async completeProgress() {\r\n const result = await request(config.chunk.completeProgress)();\r\n const percent = result?.data?.percent;\r\n if (Number.isFinite(percent)) {\r\n this.onProgress(percent, 4, 0.10);\r\n if (percent < 100) {\r\n await wait(1000);\r\n this.completeProgress();\r\n } else {\r\n this.trigger(\"complete\", this.file);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default ChunkUpload;","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport bytes from 'bytes';\r\nimport request from '@/utils/request';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\nimport ChunkUpload from './ChunkUpload';\r\n\r\nconst { uploadUrl, listUrl } = config.file;\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n if (list && list.length > 0) {\r\n request(listUrl)({params: { ids: list }}).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.log(\"url\", listUrl, error);\r\n });\r\n }\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n if (fileTypeArray && fileTypeArray.length > 0) {\r\n const isFileType = fileTypeArray.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n customRequest = (info: any) => {\r\n const file = info.file;\r\n const upload = new ChunkUpload({ chunkSize: 1024 * 1024 * 10, threads: 5 });\r\n upload.start(file);\r\n upload.on(\"progress\", (percent: number) => {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: Math.round(percent)\r\n }\r\n });\r\n file.status = \"uploading\";\r\n });\r\n upload.on(\"complete\", (file: Design.File.FileInfo) => { \r\n const { id, url } = file.response.data;\r\n file.id = id;\r\n file.url = url;\r\n file.status = \"done\";\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n }, () => {\r\n this.onChange(fileList);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n });\r\n });\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) { \r\n this.props.onChange?.(fileList.filter(({ status }) => status === 'done').map(({ id }) => id));\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n return (\r\n <>\r\n <Upload\r\n action={uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n customRequest={this.customRequest}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n >\r\n <Button disabled={maxCount <= fileList.length} icon={<UploadOutlined />}>上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Card, Table, Modal, Input, Space, Row, Col } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { validate } from \"@/applets\";\r\n\r\nexport default class TableList extends UIListComponent<Design.ComponentProps> {\r\n \r\n getColumns() {\r\n const columnList = find(this.props.children, { tag: \"Columns\" })\r\n if (columnList) {\r\n return columnList.children?.map((column: Design.Table.ColumnData) => ({\r\n ...column,\r\n rules: column.rules?.map(validate)\r\n }));\r\n }\r\n return [];\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, hidden } = this.props;\r\n const styles = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={styles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <TableWidget preview={preview} title={title} columns={this.getColumns()} />\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TableWidget extends WidgetComponent<Design.Table.WidgetProps, Design.Table.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const { list, onChange } = this.props;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ worksId, worksExtraId, ...items }, index) => {\r\n return { id: worksExtraId, index: index + 1, ...items }\r\n });\r\n this.setState({ dataSource }, () => {\r\n onChange?.(dataSource);\r\n })\r\n }\r\n }\r\n\r\n getColumns() {\r\n const { title, preview, columns, onChange } = this.props;\r\n const { dataSource } = this.state;\r\n if (preview) {\r\n return columns;\r\n }\r\n return concat(columns, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >\r\n 修改\r\n </a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Table.Item[] = dataSource.filter(({ id, uid }) => !((id && record.id === id) || (uid && record.uid === uid)));\r\n this.setState({ dataSource: list }, () => {\r\n onChange?.(list);\r\n })\r\n },\r\n });\r\n }}\r\n >\r\n 删除\r\n </a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Table.Item) => {\r\n const { dataSource } = this.state;\r\n let list: Design.Table.Item[] = [];\r\n if (entity.id || entity.uid) {\r\n list = dataSource.map((item: Design.Table.Item) => {\r\n if (entity.id && item.id === entity.id) {\r\n return { ...item, ...entity }\r\n } else if (entity.uid && item.uid === entity.uid) {\r\n return { ...item, ...entity }\r\n }\r\n return item;\r\n });\r\n } else {\r\n entity.index = dataSource.length + 1;\r\n entity.uid = uniqueId();\r\n list = [...dataSource, entity];\r\n }\r\n\r\n this.setState({\r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list);\r\n })\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { title, preview } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n bodyStyle={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"index\" size=\"small\" columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} entity={modal.entity} columns={columns} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, entity, columns, onFinish, onCancel }: Design.Table.ModalProps) => {\r\n const [form] = Form.useForm();\r\n return (\r\n <Modal \r\n title={title}\r\n width={740}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n const valid = form.validateFields()\r\n valid.then((data: Design.Table.Item)=> {\r\n onFinish({...entity, ...data});\r\n }).catch((e: any)=> {\r\n console.warn(e);\r\n });\r\n }} \r\n >\r\n <Form\r\n form={form} \r\n name=\"modalTable\"\r\n labelCol={{ span: 4 }}\r\n wrapperCol={{ span: 16 }}\r\n initialValues={entity}\r\n autoComplete=\"off\"\r\n >\r\n <Row>\r\n {columns.length > 0 && columns.map(({ title, dataIndex, placeholder, rules }) => {\r\n if (dataIndex !== 'index' && dataIndex !== 'option') {\r\n return (\r\n <Col span={12} key={dataIndex}>\r\n <Form.Item label={title} name={dataIndex} rules={rules as []}>\r\n <Input placeholder={placeholder} />\r\n </Form.Item>\r\n </Col>\r\n )\r\n }\r\n })}\r\n </Row>\r\n </Form>\r\n </Modal>\r\n )\r\n}\r\n","import { Row } from 'antd';\r\nimport React from 'react';\r\n\r\nexport default ({ children, gutter }: any) => {\r\n return (\r\n <Row gutter={Number(gutter)} style={{ margin: 0 }}>\r\n {children}\r\n </Row>\r\n )\r\n}","import React from 'react';\r\nimport { Col } from 'antd';\r\n\r\nexport default ({ span, children }: any) => {\r\n return (\r\n <Col span={span}>\r\n {children}\r\n </Col>\r\n )\r\n}","import React, { useMemo } from 'react';\r\nimport { Steps } from 'antd';\r\n\r\nconst { Step } = Steps;\r\n\r\nexport default ({ direction, stepIndex, onChangeSetp, children }: any) => {\r\n const items = useMemo(() => {\r\n const list: any[] = [];\r\n children?.map(({ id, attributes }: any) => {\r\n const { title, description } = attributes;\r\n list.push({ key: id, title, description });\r\n });\r\n return list;\r\n }, [children]);\r\n return (\r\n <Steps\r\n current={stepIndex}\r\n direction={direction}\r\n onChange={onChangeSetp}\r\n items={items}\r\n style={{ padding: 16, backgroundColor: \"white\" }}\r\n />\r\n )\r\n}","import React, { useMemo, memo } from 'react';\r\nimport { Layout } from 'antd';\r\nimport { camelCase } from 'lodash';\r\n\r\nconst { Content } = Layout;\r\n\r\nexport default memo(({ currentStepIndex, stepIndex, style, children }: any) => {\r\n const itemStyle = useMemo(() => {\r\n const styleList = style?.replace(/\\ +/g, '').split(';');\r\n const styles = style ?? { padding: 16, backgroundColor: \"white\" };\r\n styleList?.forEach((items: any) => {\r\n if (items) {\r\n const [key, value] = items.split(':');\r\n Object.assign(styles, {[camelCase(key)]: value});\r\n }\r\n });\r\n if (currentStepIndex !== Number(stepIndex)) {\r\n Object.assign(styles, { \"display\": \"none\" });\r\n }\r\n return styles;\r\n }, [currentStepIndex]);\r\n\r\n return (\r\n <Content style={itemStyle} >\r\n {children}\r\n </Content>\r\n )\r\n});","import React from 'react';\r\nimport { Divider } from 'antd';\r\n\r\nexport default ({ dashed = false, orientation = \"center\", children }: any) => {\r\n return (\r\n <Divider dashed={dashed} orientation={orientation} style={{ color: \"#055ab5\", fontWeight: \"bold\" }}>{children}</Divider>\r\n )\r\n}","import React, { useState, useMemo, memo } from 'react';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { Button } from 'antd';\r\nimport { camelCase } from 'lodash';\r\n\r\nconst hide = {\r\n display: 'none'\r\n}\r\nconst show = {\r\n display: 'block'\r\n}\r\n\r\nexport default memo(({ defaultExpanded = true, on, off, style, collapse, children }: any) => {\r\n const [isExpanded, onExpanded] = useState(defaultExpanded);\r\n\r\n const itemStyle = useMemo(() => {\r\n const styles = {};\r\n const styleList = style?.replace(/\\ +/g, '').split(';');\r\n styleList?.forEach((items: any) => {\r\n if (items) {\r\n const [key, value] = items.split(':');\r\n Object.assign(styles, {[camelCase(key)]: value});\r\n }\r\n });\r\n return styles;\r\n }, [style]);\r\n\r\n if (collapse) {\r\n return (\r\n <>\r\n <div style={itemStyle}>\r\n <Button\r\n type='link'\r\n onClick={() => {\r\n onExpanded(!isExpanded);\r\n }}\r\n >{isExpanded ? off : on}{isExpanded ? <UpOutlined /> : <DownOutlined />} </Button>\r\n </div>\r\n <div style={isExpanded ? show : hide}>\r\n {children}\r\n </div>\r\n </>\r\n )\r\n }\r\n return <>{children}</>;\r\n});","import React, { PureComponent, ReactNode } from \"react\";\r\nimport { Form as BaseForm, FormInstance, Skeleton } from \"antd\";\r\nimport { find, mapValues, camelCase, isBoolean, isObject, isArray } from \"lodash\";\r\nimport XMLDocument from \"@/utils/xml\";\r\nimport Meta from \"@/entity/Meta\";\r\nimport { ProComponent } from \"@/service\";\r\nimport * as BaseComponents from \"@/components\"\r\nimport { Col, Collapse, Content, Divider, Row, Steps } from \"@/containers\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from \"@/config\";\r\n\r\nconst Components: {[name: string]: {}} = BaseComponents;\r\nconst Containers: {[name: string]: {}} = { Col, Collapse, Content, Divider, Row, Steps };\r\n\r\nexport default class FormDesign extends PureComponent<Design.HomeProps, Design.HomeState> {\r\n\r\n state = {\r\n stepIndex: 0\r\n };\r\n\r\n form: React.RefObject<FormInstance>;\r\n root: Meta;\r\n preview: boolean;\r\n layouts?: {};\r\n styles: {};\r\n showTitle: boolean;\r\n customComponents?: {[name:string]: {}};\r\n\r\n constructor(props: Design.HomeProps) {\r\n super(props);\r\n const { document, form, preview } = this.props;\r\n this.root = XMLDocument.getRoot(document);\r\n\r\n const { style: styleValue, labelCol, wrapperCol, showTitle } = this.root.attributes;\r\n this.showTitle = !!showTitle;\r\n this.styles = this.props.style ?? {};\r\n if (typeof styleValue === \"string\") {\r\n const styleList: string[] = styleValue?.replace(/\\ +/g, \"\").split(\";\");\r\n styleList?.forEach(style => {\r\n if (style) {\r\n const [key, value] = style.split(\":\");\r\n Object.assign(this.styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n if (labelCol && wrapperCol) {\r\n this.layouts = {\r\n labelCol: { span: labelCol },\r\n wrapperCol: { span: wrapperCol },\r\n };\r\n }\r\n this.form = form ?? React.createRef()\r\n this.preview = preview ?? false; \r\n \r\n if (config.components) {\r\n this.customComponents = mapValues(config.components, (component: any) => (props: any) => <ProComponent Component={component} { ...props} />)\r\n }\r\n }\r\n\r\n onValuesChange = (changedValues: any) => {\r\n this.setState({\r\n values: changedValues\r\n })\r\n };\r\n\r\n onStepIndex = (stepIndex: number) => {\r\n this.setState({\r\n stepIndex\r\n })\r\n }\r\n\r\n setComponentStatus(attributes: { [name: string]: string | boolean }) {\r\n const { hidden, readonly } = this.props;\r\n // 控件是否隐藏\r\n if (isBoolean(hidden)) {\r\n attributes.hidden = hidden;\r\n } else if (isArray(hidden)) {\r\n attributes.hidden = hidden.includes(attributes.code as string);\r\n } else if (isObject(hidden)) {\r\n attributes.hidden = !!hidden[attributes.code as string];\r\n } else {\r\n attributes.hidden = attributes.hidden ?? false;\r\n }\r\n // 控件是否只读\r\n if (isBoolean(readonly)) {\r\n attributes.readonly = readonly;\r\n } else if (isArray(readonly)) {\r\n attributes.readonly = readonly.includes(attributes.code as string);\r\n } else if (isObject(readonly)) {\r\n attributes.readonly = !!readonly[attributes.code as string];\r\n } else {\r\n attributes.readonly = attributes.readonly ?? false;\r\n }\r\n }\r\n\r\n component(meta: Meta, Component: any) {\r\n const { id, attributes, children } = meta;\r\n this.setComponentStatus(attributes);\r\n return <Component key={id} preview={this.preview} {...attributes}>{children?.map(this.children)}</Component>\r\n }\r\n\r\n container({ id, tag, attributes, text, children }: Meta) {\r\n if (tag === \"Row\") {\r\n return <Row key={id} {...attributes}>{children?.map(this.children)}</Row>\r\n }\r\n if (tag === \"Col\") {\r\n return <Col key={id} span={Number(attributes.span)}>{children?.map(this.children)}</Col>\r\n }\r\n if (tag === \"Collapse\") {\r\n return <Collapse key={id} collapse={this.props.collapse} {...attributes}>{children?.map(this.children)}</Collapse>\r\n }\r\n if (tag === \"Content\") {\r\n return <Content key={id} currentStepIndex={this.state.stepIndex} {...attributes}>{children?.map(this.children)}</Content>\r\n }\r\n if (tag === \"Steps\") {\r\n return <Steps key={id} stepIndex={this.state.stepIndex} onChangeSetp={this.onStepIndex} {...attributes}>{children}</Steps>\r\n }\r\n if (tag === \"Divider\") {\r\n return <Divider key={id} {...attributes}>{text}</Divider>\r\n }\r\n }\r\n\r\n applet({ tag, attributes, cdata, children }: Meta) {\r\n if (tag === \"Columns\") {\r\n const child = children?.map(({ attributes, children }) => {\r\n if (children) {\r\n const rules: any = find(children.map(this.children), { tag: \"Validates\" });\r\n return { ...attributes, rules: rules?.children ?? [] };\r\n }\r\n return attributes;\r\n });\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Options\") {\r\n const child = children?.map(({ attributes: { value }, text }) => ({ key: value, label: text }));\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Validates\") {\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Conditions\") {\r\n const { type, action } = attributes;\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, type, action, children: child };\r\n }\r\n if (tag === \"Collection\" || tag === \"Compute\") {\r\n return { tag, cdata };\r\n }\r\n }\r\n\r\n children = (meta: Meta) => {\r\n const Component = this.customComponents?.[meta.tag] ?? Components[meta.tag];\r\n if (Component) {\r\n return this.component(meta, Component);\r\n }\r\n const Container = Containers[meta.tag];\r\n if (Container) {\r\n return this.container(meta);\r\n }\r\n return this.applet(meta);\r\n }\r\n\r\n render(): ReactNode {\r\n if (this.root.children) {\r\n const { initialValues } = this.props;\r\n return (\r\n <DesignContext.Provider value={{ ...this.props, form: this.form, showTitle: this.showTitle}}>\r\n <Form\r\n form={this.form}\r\n style={this.styles}\r\n initialValues={initialValues}\r\n onValuesChange={this.onValuesChange}\r\n {...this.layouts}\r\n >\r\n {this.root.children.map(this.children)}\r\n </Form>\r\n </DesignContext.Provider>\r\n );\r\n }\r\n return <Skeleton active />;\r\n }\r\n}\r\n\r\nclass Form extends React.PureComponent<Design.FormProps> {\r\n\r\n onFinish = (values: object) => {\r\n console.log(\"Success:\", values);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const { form, style, labelCol, wrapperCol, initialValues, children, onValuesChange } = this.props;\r\n return (\r\n <BaseForm\r\n ref={form}\r\n style={style}\r\n labelCol={labelCol}\r\n wrapperCol={wrapperCol}\r\n initialValues={initialValues}\r\n onFinish={this.onFinish}\r\n autoComplete=\"off\"\r\n onValuesChange={changedValues => {\r\n onValuesChange(changedValues);\r\n }}\r\n >\r\n {children}\r\n </BaseForm>\r\n );\r\n }\r\n}\r\n"],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","exports","arr","Array","isArray","module","__esModule","i","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","call","next","Object","done","push","value","length","err","len","arr2","arrayLikeToArray","require$$0","o","minLen","n","prototype","toString","slice","constructor","name","from","test","TypeError","arrayWithHoles","iterableToArrayLimit","require$$1","unsupportedIterableToArray","require$$2","nonIterableRest","require$$3","instance","Constructor","_typeof","obj","input","hint","prim","toPrimitive","undefined","res","String","Number","arg","key","toPropertyKey","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","self","ReferenceError","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","subClass","superClass","create","assertThisInitialized","_getPrototypeOf","getPrototypeOf","Meta","element","_classCallCheck","this","_defineProperty","id","uniqueId","_step","attributes","_iterator","s","item","trim","isBoolean","toBoolean","e","f","children","_step2","childNodes","_iterator2","_this$children","_node$nodeValue","node","Element","nodeType","textContent","text","cdata","nodeValue","replace","tag","nodeName","_createClass","parseInt","XMLDocument","documentString","DOMParser","parseFromString","doc","toDocument","parser","source","excluded","sourceKeys","keys","indexOf","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","validate","_ref","_ref$type","required","minlength","maxlength","min","max","pattern","message","RegExp","DesignContext","React","createContext","UIComponent","_React$PureComponent","_inherits","_super","_createSuper","_this","_len","arguments","args","_key","apply","concat","_assertThisInitialized","color","borderBottom","defaultValue","form","context","_form$current","_form$current2","code","current","getFieldValue","setFieldValue","_form$current3","_this2","setTimeout","_form$current4","_form$current5","getFieldsValue","showTitle","_jsx","_objectSpread","styleLabel","title","itemProps","_itemLayouts$wrapperC","_this$props","preview","labelCol","wrapperCol","tips","itemLayouts","span","assign","styleWrapper","tooltip","styleList","split","styles","forEach","items","_items$split","_items$split2","_slicedToArray","camelCase","_this$context$preview","fileds","_this$props2","_this$props2$defaultH","defaultHide","show","conditions","find","_conditions$children","action","list","map","fields","_ref2","join","Function","actuator","console","warn","condition","result","every","some","_this$props3","_validates$children$m","_validates$children","validates","_collection","content","_ref3","collection","_this3","computeValue","_ref4","moment","compute","_this$props$defaultVa","setDefaultValue","PureComponent","contextType","ProComponent","_UIComponent","forceUpdate","initValue","display","onComputeValue","rules","_this$getItem","getItem","hidden","Component","_objectWithoutProperties","_excluded","_Form","Item","label","getLabel","onChange","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","Promise","then","fn","_regeneratorRuntime","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","val","object","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","DesignConfig","conf","prefix","headers","params","listUrl","downloadUrl","uploadUrl","extraData","file","fileType","checkFile","checkChunk","chunkUpload","doMerge","mergeProgress","onComplete","completeProgress","request","components","config","init","defineConfig","umiRequest","extend","timeout","targetUrl","options","cloneData","cloneDeep","data","url","domain","urlMatch","match","parse","compile","_message","toLocaleUpperCase","requestType","status","rest","success","_data$message","response","msg","request$1","uri","uriArray","_uriArray","_uriArray2","UIListComponent","_asyncToGenerator","remote","_context","_Object$entries","entries","_Object$entries$2","_Object$entries$","log","_callee","itemList","plist","filter","includes","rule","validator","_","WidgetComponent","_PureComponent","Label","getStyles","Tooltip","PreviewText","useEffect","href","rel","PreviewDuration","_value$split2","_value$split","hour","minute","second","PreviewSwitch","checked","PreviewList","_ref5","_ref6","_ref7","PreviewFile","_ref8","fileList","_ref9","worksAnnexId","contentType","fileName","fileTitle","endsWith","_jsxs","_Space","paddingBottom","startsWith","width","src","alt","controls","alignItems","height","paddingLeft","Text","placeholder","maxLength","allowClear","showCount","readonly","_Input","disabled","TextArea","InputNumber","_this$props$type","precision","numberProps","formatter","_InputNumber","Editor","colon","EditorWidget","_React$Component","_super2","createRef","isReactWEditor","ReactWEditor","onBlur","onFocus","SelectList","_UIListComponent","optionList","setState","multiple","_this$props2$allowCle","plusRules","collectionList","getList","currentValue","cleanFieldValue","SelectWidget","Option","_WidgetComponent","_this4","_len2","_key2","_this4$props$onChange","_this4$props","_Select","showSearch","mode","handleItemValue","filterOption","inputValue","option","toLowerCase","CheckBox","CheckboxWidget","_Checkbox","Group","RadioButton","optionType","RadioWidget","_Radio","SwitchButton","valuePropName","_Switch","Duration","DurationWidget","index","changeValue","_this$props$onChange","duration","durations","format","className","Datepicker","_this$props$format","_this$props$showTime","showTime","_this$props$allowClea","DateWidget","_DatePicker","picker","Timepicker","TimeWidget","arrayWithoutHoles","iterableToArray","nonIterableSpread","normFile","UplaodList","maxCount","fileTypeMessage","fileSize","getValueFromEvent","UploadWidget","modal","open","progress","fileTypeArray","_Upload","LIST_IGNORE","bytes","size","uploading","step","percent","Math","round","timer","setInterval","clearInterval","_response$message","ids","_this$state","_this$props4","count","onStart","onSuccess","onProgress","onError","_Fragment","beforeUpload","onBeforeUpload","onRemove","_Button","icon","UploadOutlined","_Modal","closable","footer","hex_chr","md5cycle","x","k","a","b","c","d","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","substring","md51_array","subarray","Uint8Array","rhex","j","hex","toUtf8","str","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","fromCharCode","concatenateArrayBuffers","first","byteLength","set","buffer","hexToBinaryString","substr","SparkMD5","clamp","to","num","targetArray","sourceArray","begin","end","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","destroy","hashBinary","factory","filePrototype","File","fileBlobSlice","mozSlice","webkitSlice","defaultBlockSize","pow","wait","millisecond","ChunkUpload","_ref$chunkSize","chunkSize","_ref$threads","threads","_ref$chunkRetry","chunkRetry","_completeProgress","_onComplete","_mergeProgress","_doMerge","_onUpload","_startUpload","_start","callback","listeners","payload","floor","blob","fileReader","FileReader","onerror","onload","_e$target$result","_e$target","md5hex","readAsArrayBuffer","ratio","percents","reduce","v1","v2","trigger","_result$data","fileMd5","md5","chunk","exist","_this$file$size","_this$file","uploadPosition","chunkIndex","chunkCount","ceil","readFile","start","_e$target$result2","_e$target2","chunkMd5","Blob","uploadList","unshift","startUpload","_context2","onUpload","_callee2","_x2","_this$file$name","_this$file2","_this$file$md","_this$file3","_result$data2","formData","_context3","FormData","_callee3","_x3","_callee4","_this$file$name2","_this$file4","_this$file$md2","_this$file5","_context4","_callee5","_result$data3","_context5","isFinite","_callee6","_this$file$name3","_this$file6","_this$file$md3","_this$file7","_context6","_callee7","_result$data4","_context7","upload","on","_file$response$data","customRequest","TableList","_columnList$children","columnList","column","_column$rules","TableWidget","columns","getColumns","dataSource","entity","uid","worksId","worksExtraId","dataIndex","valueType","render","onClick","confirm","QuestionCircleOutlined","okText","cancelText","onOk","_this$props5","_Card","bodyStyle","padding","extra","_Table","rowKey","ModalForm","onFinish","onCancel","_onOk","_Form$useForm","useForm","destroyOnClose","validateFields","initialValues","autoComplete","_Row","_Col","Row","gutter","margin","Col","Step","Steps","direction","stepIndex","onChangeSetp","useMemo","description","_Steps","backgroundColor","Content","Content$1","memo","currentStepIndex","itemStyle","Divider","_ref$dashed","dashed","_ref$orientation","orientation","_Divider","fontWeight","hide","Collapse","_ref$defaultExpanded","defaultExpanded","off","collapse","useState","_useState2","_useState","isExpanded","onExpanded","UpOutlined","DownOutlined","Components","BaseComponents","Containers","FormDesign","_this$props$style","changedValues","meta","_this$customComponent","_this$customComponent2","customComponents","component","container","applet","root","getRoot","_this$root$attributes","styleValue","_style$split","_style$split2","layouts","mapValues","isObject","_attributes$hidden","_attributes$readonly","setComponentStatus","onStepIndex","child","_rules$children","Provider","Form","onValuesChange","_Skeleton","active"],"mappings":"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"}