@teamias/rex-design 0.0.1
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.
- package/LICENSE +21 -0
- package/README.md +43 -0
- package/dist/components/action-buttons/action-buttons.d.ts +2 -0
- package/dist/components/action-buttons/action-buttons.js +182 -0
- package/dist/components/action-buttons/demo/index.d.ts +2 -0
- package/dist/components/action-buttons/demo/index.js +69 -0
- package/dist/components/action-buttons/index.d.ts +3 -0
- package/dist/components/action-buttons/index.js +3 -0
- package/dist/components/action-buttons/modules/handlerFilter.d.ts +2 -0
- package/dist/components/action-buttons/modules/handlerFilter.js +62 -0
- package/dist/components/action-buttons/types.d.ts +96 -0
- package/dist/components/action-buttons/types.js +3 -0
- package/dist/components/base-form/base-form.d.ts +3 -0
- package/dist/components/base-form/base-form.js +260 -0
- package/dist/components/base-form/demo/index.d.ts +4 -0
- package/dist/components/base-form/demo/index.js +515 -0
- package/dist/components/base-form/index.d.ts +4 -0
- package/dist/components/base-form/index.js +4 -0
- package/dist/components/base-form/locales/en-US.json +21 -0
- package/dist/components/base-form/locales/zh-CN.json +21 -0
- package/dist/components/base-form/locales.index.d.ts +42 -0
- package/dist/components/base-form/locales.index.js +4 -0
- package/dist/components/base-form/modules/dependencyUtils.d.ts +13 -0
- package/dist/components/base-form/modules/dependencyUtils.js +43 -0
- package/dist/components/base-form/modules/handlerData.d.ts +8 -0
- package/dist/components/base-form/modules/handlerData.js +59 -0
- package/dist/components/base-form/modules/renderComponentNode.d.ts +11 -0
- package/dist/components/base-form/modules/renderComponentNode.js +607 -0
- package/dist/components/base-form/modules/valuesToFields.d.ts +10 -0
- package/dist/components/base-form/modules/valuesToFields.js +18 -0
- package/dist/components/base-form/style/index.d.ts +3 -0
- package/dist/components/base-form/style/index.js +8 -0
- package/dist/components/base-form/types.d.ts +181 -0
- package/dist/components/base-form/types.js +10 -0
- package/dist/components/base-list-table/base-list-table.d.ts +33 -0
- package/dist/components/base-list-table/base-list-table.js +292 -0
- package/dist/components/base-list-table/demo/BasicBaseListTable.d.ts +2 -0
- package/dist/components/base-list-table/demo/BasicBaseListTable.js +1469 -0
- package/dist/components/base-list-table/demo/NoData.d.ts +2 -0
- package/dist/components/base-list-table/demo/NoData.js +55 -0
- package/dist/components/base-list-table/demo/TableMaxRowCount.d.ts +2 -0
- package/dist/components/base-list-table/demo/TableMaxRowCount.js +1696 -0
- package/dist/components/base-list-table/demo/VirtualDemo.d.ts +2 -0
- package/dist/components/base-list-table/demo/VirtualDemo.js +548 -0
- package/dist/components/base-list-table/index.d.ts +1 -0
- package/dist/components/base-list-table/index.js +1 -0
- package/dist/components/base-list-table/style/index.d.ts +5 -0
- package/dist/components/base-list-table/style/index.js +17 -0
- package/dist/components/base-table/base-table.d.ts +51 -0
- package/dist/components/base-table/base-table.js +291 -0
- package/dist/components/base-table/components/BaseTableRow.d.ts +1 -0
- package/dist/components/base-table/components/BaseTableRow.js +129 -0
- package/dist/components/base-table/demo/BaseTableAll.d.ts +2 -0
- package/dist/components/base-table/demo/BaseTableAll.js +66 -0
- package/dist/components/base-table/demo/BaseTableBasic.d.ts +2 -0
- package/dist/components/base-table/demo/BaseTableBasic.js +58 -0
- package/dist/components/base-table/demo/BaseTableIndex.d.ts +2 -0
- package/dist/components/base-table/demo/BaseTableIndex.js +57 -0
- package/dist/components/base-table/demo/BaseTableRowSelect.d.ts +2 -0
- package/dist/components/base-table/demo/BaseTableRowSelect.js +45 -0
- package/dist/components/base-table/demo/tableData.d.ts +332 -0
- package/dist/components/base-table/demo/tableData.js +293 -0
- package/dist/components/base-table/index.d.ts +1 -0
- package/dist/components/base-table/index.js +1 -0
- package/dist/components/base-table/style/index.d.ts +3 -0
- package/dist/components/base-table/style/index.js +9 -0
- package/dist/components/data-cell/data-cell.d.ts +3 -0
- package/dist/components/data-cell/data-cell.js +17 -0
- package/dist/components/data-cell/demo/index.d.ts +2 -0
- package/dist/components/data-cell/demo/index.js +332 -0
- package/dist/components/data-cell/index.d.ts +2 -0
- package/dist/components/data-cell/index.js +2 -0
- package/dist/components/data-cell/modules/cellItemMap.d.ts +3 -0
- package/dist/components/data-cell/modules/cellItemMap.js +374 -0
- package/dist/components/data-cell/style/index.d.ts +7 -0
- package/dist/components/data-cell/style/index.js +23 -0
- package/dist/components/data-cell/types.d.ts +192 -0
- package/dist/components/data-cell/types.js +1 -0
- package/dist/components/icons/assets/icon-park--arrow-up.svg +7 -0
- package/dist/components/icons/assets/index.d.ts +4 -0
- package/dist/components/icons/assets/index.js +9 -0
- package/dist/components/icons/assets/svg-spinners--blocks-shuffle-3.svg +21 -0
- package/dist/components/icons/demo/index.d.ts +2 -0
- package/dist/components/icons/demo/index.js +43 -0
- package/dist/components/icons/icons.d.ts +39 -0
- package/dist/components/icons/icons.js +251 -0
- package/dist/components/icons/index.d.ts +1 -0
- package/dist/components/icons/index.js +1 -0
- package/dist/components/icons/style/index.d.ts +2 -0
- package/dist/components/icons/style/index.js +5 -0
- package/dist/components/media-viewer/demo/index.d.ts +2 -0
- package/dist/components/media-viewer/demo/index.js +23 -0
- package/dist/components/media-viewer/index.d.ts +1 -0
- package/dist/components/media-viewer/index.js +1 -0
- package/dist/components/media-viewer/media-viewer.d.ts +48 -0
- package/dist/components/media-viewer/media-viewer.js +119 -0
- package/dist/components/media-viewer/style/index.d.ts +6 -0
- package/dist/components/media-viewer/style/index.js +31 -0
- package/dist/hooks/request-fields-container/demo/index.d.ts +2 -0
- package/dist/hooks/request-fields-container/demo/index.js +36 -0
- package/dist/hooks/request-fields-container/index.d.ts +4 -0
- package/dist/hooks/request-fields-container/index.js +3 -0
- package/dist/hooks/request-fields-container/request-fields-container-context-provider.d.ts +22 -0
- package/dist/hooks/request-fields-container/request-fields-container-context-provider.js +134 -0
- package/dist/hooks/request-fields-container/request-fields-container-context.d.ts +39 -0
- package/dist/hooks/request-fields-container/request-fields-container-context.js +5 -0
- package/dist/hooks/request-fields-container/request-fields-container-hoc.d.ts +4 -0
- package/dist/hooks/request-fields-container/request-fields-container-hoc.js +31 -0
- package/dist/hooks/request-fields-container/use-request-fields-container.d.ts +22 -0
- package/dist/hooks/request-fields-container/use-request-fields-container.js +131 -0
- package/dist/hooks/rex-pro-config-provider/demo/index.d.ts +2 -0
- package/dist/hooks/rex-pro-config-provider/demo/index.js +61 -0
- package/dist/hooks/rex-pro-config-provider/index.d.ts +2 -0
- package/dist/hooks/rex-pro-config-provider/index.js +2 -0
- package/dist/hooks/rex-pro-config-provider/rex-pro-config-context.d.ts +27 -0
- package/dist/hooks/rex-pro-config-provider/rex-pro-config-context.js +33 -0
- package/dist/hooks/rex-pro-config-provider/rex-pro-config-provider.d.ts +6 -0
- package/dist/hooks/rex-pro-config-provider/rex-pro-config-provider.js +24 -0
- package/dist/hooks/rex-pro-config-provider/use-rex-pro-config-provider.d.ts +2 -0
- package/dist/hooks/rex-pro-config-provider/use-rex-pro-config-provider.js +11 -0
- package/dist/hooks/use-state-data/demo/index.d.ts +2 -0
- package/dist/hooks/use-state-data/demo/index.js +135 -0
- package/dist/hooks/use-state-data/index.d.ts +1 -0
- package/dist/hooks/use-state-data/index.js +1 -0
- package/dist/hooks/use-state-data/use-state-data.d.ts +11 -0
- package/dist/hooks/use-state-data/use-state-data.js +64 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +10 -0
- package/dist/types/svg.d.ts +4 -0
- package/dist/utils/locales/en-US.json +13 -0
- package/dist/utils/locales/index.d.ts +26 -0
- package/dist/utils/locales/index.js +4 -0
- package/dist/utils/locales/zh-CN.json +13 -0
- package/package.json +90 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _excluded = ["fields", "fieldProps", "requestOptions"];
|
|
3
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
4
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
5
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
12
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
13
|
+
/* eslint-disable import/no-cycle */
|
|
14
|
+
import { ProForm, ProFormDependency } from "@ant-design/pro-components";
|
|
15
|
+
import { useRef } from 'react';
|
|
16
|
+
import { useRexProConfigProvider, handlerFilter } from "../..";
|
|
17
|
+
import { processDependencyFields } from "./modules/dependencyUtils";
|
|
18
|
+
import { renderComponentNode } from "./modules/renderComponentNode";
|
|
19
|
+
import { BaseFormStyle } from "./style";
|
|
20
|
+
import React from "react";
|
|
21
|
+
export var BaseForm = function BaseForm(props) {
|
|
22
|
+
var rawAllProps = props;
|
|
23
|
+
var outFields = props.fields,
|
|
24
|
+
outFieldProps = props.fieldProps,
|
|
25
|
+
outRequestOptions = props.requestOptions,
|
|
26
|
+
otherProps = _objectWithoutProperties(props, _excluded);
|
|
27
|
+
var _useRexProConfigProvi = useRexProConfigProvider(),
|
|
28
|
+
apiClient = _useRexProConfigProvi.apiClient,
|
|
29
|
+
formItemRequestOptions = _useRexProConfigProvi.formItemRequestOptions,
|
|
30
|
+
operationPermission = _useRexProConfigProvi.operationPermission,
|
|
31
|
+
formatMessage = _useRexProConfigProvi.intl.formatMessage;
|
|
32
|
+
var topForm = ProForm.useFormInstance();
|
|
33
|
+
/** 针对依赖项 searchFields, 缓存参数, 避免不必要的触发 */
|
|
34
|
+
var _useRef = useRef({}),
|
|
35
|
+
dependenciesSearchCache = _useRef.current;
|
|
36
|
+
var _useRef2 = useRef({}),
|
|
37
|
+
dependenciesSearchCacheData = _useRef2.current;
|
|
38
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BaseFormStyle, null), outFields === null || outFields === void 0 ? void 0 : outFields.map(function (item, index) {
|
|
39
|
+
var _item$field;
|
|
40
|
+
var fields = Array.isArray(item.field) ? item.field : [(_item$field = item.field) !== null && _item$field !== void 0 ? _item$field : "custom-dynamic-".concat(index)];
|
|
41
|
+
var keyStr = fields.join('-');
|
|
42
|
+
var itemProps = outFieldProps === null || outFieldProps === void 0 ? void 0 : outFieldProps[fields.join('-')];
|
|
43
|
+
var mergeItem = _objectSpread(_objectSpread({}, item), itemProps);
|
|
44
|
+
var config = _objectSpread(_objectSpread({
|
|
45
|
+
fields: fields,
|
|
46
|
+
keyStr: keyStr,
|
|
47
|
+
item: mergeItem,
|
|
48
|
+
requestOptions: function () {
|
|
49
|
+
var _requestOptions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
50
|
+
var fn,
|
|
51
|
+
res,
|
|
52
|
+
_args2 = arguments;
|
|
53
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
54
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
55
|
+
case 0:
|
|
56
|
+
fn = outRequestOptions || formItemRequestOptions || apiClient || /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
57
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
58
|
+
while (1) switch (_context.prev = _context.next) {
|
|
59
|
+
case 0:
|
|
60
|
+
return _context.abrupt("return", []);
|
|
61
|
+
case 1:
|
|
62
|
+
case "end":
|
|
63
|
+
return _context.stop();
|
|
64
|
+
}
|
|
65
|
+
}, _callee);
|
|
66
|
+
}));
|
|
67
|
+
_context2.next = 3;
|
|
68
|
+
return fn.apply(void 0, _args2);
|
|
69
|
+
case 3:
|
|
70
|
+
res = _context2.sent;
|
|
71
|
+
return _context2.abrupt("return", Array.isArray(res) ? res : []);
|
|
72
|
+
case 5:
|
|
73
|
+
case "end":
|
|
74
|
+
return _context2.stop();
|
|
75
|
+
}
|
|
76
|
+
}, _callee2);
|
|
77
|
+
}));
|
|
78
|
+
function requestOptions() {
|
|
79
|
+
return _requestOptions.apply(this, arguments);
|
|
80
|
+
}
|
|
81
|
+
return requestOptions;
|
|
82
|
+
}()
|
|
83
|
+
}, otherProps), {}, {
|
|
84
|
+
rawAllProps: rawAllProps,
|
|
85
|
+
formatMessage: formatMessage
|
|
86
|
+
});
|
|
87
|
+
if (mergeItem.hidden) return;
|
|
88
|
+
if (operationPermission && !operationPermission(mergeItem.permissionKey)) return;
|
|
89
|
+
|
|
90
|
+
// 新扩展的依赖监听, 优先级高于 dependencies
|
|
91
|
+
if (item.dependenciesV2 && item.dependenciesV2.length) {
|
|
92
|
+
/** 字段+操作类型, 作为唯一key, 重复的以后面为准 */
|
|
93
|
+
var dependMap = Object.fromEntries(item.dependenciesV2.map(function (ii) {
|
|
94
|
+
return ["".concat(ii.field, "-").concat(ii.action), ii];
|
|
95
|
+
}));
|
|
96
|
+
var allFields = Array.from(new Set(item.dependenciesV2.map(function (ii) {
|
|
97
|
+
return ii.field;
|
|
98
|
+
})));
|
|
99
|
+
return /*#__PURE__*/React.createElement(ProFormDependency, {
|
|
100
|
+
name: allFields,
|
|
101
|
+
key: keyStr
|
|
102
|
+
}, function (data, form) {
|
|
103
|
+
var _config$item;
|
|
104
|
+
// 依赖规则可能有多条,且可能作用于同一类型(如多个 hidden、disabled 等),这里需要全部规则都满足才生效
|
|
105
|
+
var _ref2 = [],
|
|
106
|
+
hidden = _ref2[0],
|
|
107
|
+
disabled = _ref2[1],
|
|
108
|
+
clear = _ref2[2],
|
|
109
|
+
updateData = _ref2[3],
|
|
110
|
+
show = _ref2[4],
|
|
111
|
+
syncValue = _ref2[5];
|
|
112
|
+
|
|
113
|
+
/** 条件判断 */
|
|
114
|
+
var judge = function judge(inlineItem) {
|
|
115
|
+
if (inlineItem.op) {
|
|
116
|
+
return handlerFilter(data, [{
|
|
117
|
+
original: inlineItem.field,
|
|
118
|
+
target: inlineItem.target,
|
|
119
|
+
op: inlineItem.op
|
|
120
|
+
}]);
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
/** 判断是否需要用户操作才触发 */
|
|
126
|
+
var isTouchedFn = function isTouchedFn(field) {
|
|
127
|
+
var isTouched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
128
|
+
if (isTouched) {
|
|
129
|
+
return form.isFieldTouched(field);
|
|
130
|
+
}
|
|
131
|
+
return true;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// console.log(data, dependMap)
|
|
135
|
+
Object.values(dependMap).forEach(function (dependItem) {
|
|
136
|
+
var _dependItem$isTouched;
|
|
137
|
+
switch (dependItem.action) {
|
|
138
|
+
case 'hidden':
|
|
139
|
+
// 多条 hidden 规则,只有全部为 true 时才隐藏(即“与”关系)
|
|
140
|
+
if (typeof hidden === 'undefined' || hidden) hidden = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
141
|
+
break;
|
|
142
|
+
case 'show':
|
|
143
|
+
if (typeof show === 'undefined' || show) show = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
144
|
+
break;
|
|
145
|
+
case 'disabled':
|
|
146
|
+
if (typeof disabled === 'undefined' || disabled) disabled = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
147
|
+
break;
|
|
148
|
+
case 'clear':
|
|
149
|
+
if (typeof clear === 'undefined' || clear) clear = isTouchedFn(dependItem.field, (_dependItem$isTouched = dependItem.isTouched) !== null && _dependItem$isTouched !== void 0 ? _dependItem$isTouched : true) && judge(dependItem);
|
|
150
|
+
break;
|
|
151
|
+
case 'updateData':
|
|
152
|
+
if (typeof updateData === 'undefined' || updateData) updateData = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
153
|
+
break;
|
|
154
|
+
case 'syncValue':
|
|
155
|
+
if (typeof syncValue === 'undefined' || syncValue) syncValue = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
156
|
+
break;
|
|
157
|
+
default:
|
|
158
|
+
console.error('错误的 dependenciesV2 action 配置');
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// 处理冲突:hidden 优先级最高,满足则直接 return null,不渲染
|
|
164
|
+
if (hidden) return null;
|
|
165
|
+
// show 存在时,只有全部 show 规则都为 true 才显示,否则 return null
|
|
166
|
+
if (typeof show === 'boolean' && !show) return null;
|
|
167
|
+
|
|
168
|
+
// 实时修改 fieldProps,disabled 联动
|
|
169
|
+
var fieldProps = ((_config$item = config.item) === null || _config$item === void 0 ? void 0 : _config$item.fieldProps) || {};
|
|
170
|
+
config.item.fieldProps = _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
171
|
+
disabled: disabled
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
// clear 联动,满足全部 clear 规则时清空当前字段
|
|
175
|
+
if (clear) {
|
|
176
|
+
setTimeout(function () {
|
|
177
|
+
form.setFields([{
|
|
178
|
+
name: keyStr,
|
|
179
|
+
value: undefined,
|
|
180
|
+
touched: false,
|
|
181
|
+
validated: false
|
|
182
|
+
}]);
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// updateData 联动,满足全部 updateData 规则时缓存依赖数据
|
|
187
|
+
if (updateData) {
|
|
188
|
+
dependenciesSearchCacheData[keyStr] = data;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// syncValue 联动,满足全部 syncValue 规则时同步指定字段的值
|
|
192
|
+
if (syncValue) {
|
|
193
|
+
// 只取第一个 syncValue 规则对应的字段
|
|
194
|
+
var key = item.dependenciesV2.find(function (ii) {
|
|
195
|
+
return ii.action === 'syncValue';
|
|
196
|
+
}).field;
|
|
197
|
+
setTimeout(function () {
|
|
198
|
+
form.setFields([{
|
|
199
|
+
name: keyStr,
|
|
200
|
+
value: data[key],
|
|
201
|
+
touched: false
|
|
202
|
+
}]);
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// 渲染最终组件,数据优先取 updateData 缓存
|
|
207
|
+
return renderComponentNode(config, dependenciesSearchCacheData[keyStr] || {}, form);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
if (item.dependencies) {
|
|
211
|
+
// 获取依赖字段
|
|
212
|
+
var _processDependencyFie = processDependencyFields(item.dependencies),
|
|
213
|
+
_allFields = _processDependencyFie.allFields,
|
|
214
|
+
visibleFields = _processDependencyFie.visibleFields,
|
|
215
|
+
valueFields = _processDependencyFie.valueFields,
|
|
216
|
+
searchFields = _processDependencyFie.searchFields,
|
|
217
|
+
disabledFields = _processDependencyFie.disabledFields;
|
|
218
|
+
return /*#__PURE__*/React.createElement(ProFormDependency, {
|
|
219
|
+
name: _allFields,
|
|
220
|
+
key: keyStr
|
|
221
|
+
}, function (values, form) {
|
|
222
|
+
var valueStr = JSON.stringify(values);
|
|
223
|
+
// 禁用联动逻辑
|
|
224
|
+
var shouldDisabled = disabledFields.every(function (field) {
|
|
225
|
+
return values[field] !== undefined && values[field] !== false && values[field].length !== 0;
|
|
226
|
+
});
|
|
227
|
+
if ((disabledFields === null || disabledFields === void 0 ? void 0 : disabledFields.length) > 0 && shouldDisabled) {
|
|
228
|
+
var _config$item2;
|
|
229
|
+
var fieldProps = ((_config$item2 = config.item) === null || _config$item2 === void 0 ? void 0 : _config$item2.fieldProps) || {};
|
|
230
|
+
config.item.fieldProps = _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
231
|
+
disabled: true
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// 显隐联动逻辑
|
|
236
|
+
var shouldShow = visibleFields.every(function (field) {
|
|
237
|
+
return values[field] !== undefined && values[field] !== false && values[field].length !== 0;
|
|
238
|
+
});
|
|
239
|
+
if (!shouldShow) return null;
|
|
240
|
+
// 赋值联动逻辑 如果只有一个值依赖字段,同步值,多个赋值联动则不触发
|
|
241
|
+
if (valueFields.length === 1) {
|
|
242
|
+
setTimeout(function () {
|
|
243
|
+
form.setFieldValue(keyStr, values[valueFields[0]]);
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
// 数据源联动逻辑
|
|
247
|
+
if (searchFields.length > 0 && dependenciesSearchCache[keyStr] !== valueStr && form.isFieldsTouched(searchFields)
|
|
248
|
+
// searchFields.some(field => form.isFieldTouched(field))
|
|
249
|
+
) {
|
|
250
|
+
dependenciesSearchCache[keyStr] = valueStr;
|
|
251
|
+
setTimeout(function () {
|
|
252
|
+
form.setFieldValue(keyStr, undefined);
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
return renderComponentNode(config, values, form);
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
return renderComponentNode(config, {}, topForm);
|
|
259
|
+
}));
|
|
260
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export default _default;
|
|
3
|
+
export declare const BaseFormBasicTest: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const BaseFormBasicDepend: () => import("react/jsx-runtime").JSX.Element;
|