fan-standard-comp 4.1.2 → 4.1.4

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 (79) hide show
  1. package/dist/fan-standard-comp.min.css +1 -1
  2. package/dist/fan-standard-comp.min.js +1 -1
  3. package/es/CompositeTable/index.d.ts +0 -0
  4. package/es/CompositeTable/index.js +211 -0
  5. package/es/CompositeTable/index.style.d.ts +5 -0
  6. package/es/CompositeTable/index.style.js +27 -0
  7. package/es/FormComp/FieldComponent/ExtensionField.d.ts +2 -2
  8. package/es/FormComp/FieldComponent/ExtensionField.js +1 -1
  9. package/es/FormComp/FieldComponent/index.js +2 -6
  10. package/es/StandardContent/ContentHeader.js +17 -25
  11. package/es/StandardContent/SubfieldContent.js +12 -9
  12. package/es/StandardContent/WrapperContent.js +9 -8
  13. package/es/StandardContent/styles/Subfield.js +18 -5
  14. package/es/StandardContent/styles/Wrapper.js +13 -2
  15. package/es/StandardContent/styles/index.less +8 -2
  16. package/es/StandardFilter/index.js +52 -28
  17. package/es/StandardFilter/style/FilterStyle.js +3 -2
  18. package/es/StandardFilter/style/index.less +7 -0
  19. package/es/StandardForm/index.js +3 -1
  20. package/es/StandardTable/index.d.ts +4 -28
  21. package/es/StandardTable/index.js +65 -5
  22. package/es/StandardTable/types.d.ts +33 -0
  23. package/es/StandardTable/types.js +1 -0
  24. package/es/StandardTablePro/index.d.ts +5 -7
  25. package/es/StandardTablePro/index.js +246 -84
  26. package/es/StandardTablePro/types.d.ts +29 -0
  27. package/es/StandardTablePro/types.js +1 -0
  28. package/es/StandardTablePro/useFetchData.d.ts +0 -0
  29. package/es/StandardTablePro/useFetchData.js +275 -0
  30. package/es/StandardTablePro/utils.d.ts +3 -0
  31. package/es/StandardTablePro/utils.js +49 -0
  32. package/es/index.d.ts +2 -0
  33. package/es/index.js +3 -0
  34. package/es/types.d.ts +1 -0
  35. package/es/types.js +1 -0
  36. package/es/utils/ValueFormat.d.ts +1 -1
  37. package/es/utils/ValueFormat.js +42 -27
  38. package/es/utils/getParentNodes.js +1 -1
  39. package/es/utils/urlUtils.d.ts +6 -0
  40. package/es/utils/urlUtils.js +26 -0
  41. package/lib/CompositeTable/index.d.ts +0 -0
  42. package/lib/CompositeTable/index.js +212 -0
  43. package/lib/CompositeTable/index.style.d.ts +5 -0
  44. package/lib/CompositeTable/index.style.js +33 -0
  45. package/lib/FormComp/FieldComponent/ExtensionField.d.ts +2 -2
  46. package/lib/FormComp/FieldComponent/ExtensionField.js +1 -1
  47. package/lib/FormComp/FieldComponent/index.js +2 -6
  48. package/lib/StandardContent/ContentHeader.js +16 -24
  49. package/lib/StandardContent/SubfieldContent.js +12 -9
  50. package/lib/StandardContent/WrapperContent.js +9 -8
  51. package/lib/StandardContent/styles/Subfield.js +18 -5
  52. package/lib/StandardContent/styles/Wrapper.js +13 -2
  53. package/lib/StandardContent/styles/index.less +8 -2
  54. package/lib/StandardFilter/index.js +52 -28
  55. package/lib/StandardFilter/style/FilterStyle.js +3 -2
  56. package/lib/StandardFilter/style/index.less +7 -0
  57. package/lib/StandardForm/index.js +3 -1
  58. package/lib/StandardTable/index.d.ts +4 -28
  59. package/lib/StandardTable/index.js +64 -4
  60. package/lib/StandardTable/types.d.ts +33 -0
  61. package/lib/StandardTable/types.js +5 -0
  62. package/lib/StandardTablePro/index.d.ts +5 -7
  63. package/lib/StandardTablePro/index.js +244 -82
  64. package/lib/StandardTablePro/types.d.ts +29 -0
  65. package/lib/StandardTablePro/types.js +5 -0
  66. package/lib/StandardTablePro/useFetchData.d.ts +0 -0
  67. package/lib/StandardTablePro/useFetchData.js +276 -0
  68. package/lib/StandardTablePro/utils.d.ts +3 -0
  69. package/lib/StandardTablePro/utils.js +55 -0
  70. package/lib/index.d.ts +2 -0
  71. package/lib/index.js +20 -0
  72. package/lib/types.d.ts +1 -0
  73. package/lib/types.js +16 -0
  74. package/lib/utils/ValueFormat.d.ts +1 -1
  75. package/lib/utils/ValueFormat.js +42 -29
  76. package/lib/utils/getParentNodes.js +1 -1
  77. package/lib/utils/urlUtils.d.ts +6 -0
  78. package/lib/utils/urlUtils.js +27 -3
  79. package/package.json +2 -2
@@ -7,16 +7,19 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _ConfigContext = require("../ConfigContext");
10
- var _index = _interopRequireDefault(require("./style/index"));
11
- var _StandardTable = _interopRequireDefault(require("../StandardTable"));
12
10
  var _StandardFilter = _interopRequireDefault(require("../StandardFilter"));
13
- var _StandardModal = _interopRequireDefault(require("../StandardModal"));
11
+ var _StandardTable = _interopRequireDefault(require("../StandardTable"));
12
+ var _utils = require("./utils");
13
+ var _index = _interopRequireDefault(require("./style/index"));
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
- var _excluded = ["proClassname", "filterForm", "modalForm", "codes", "permissionCodes", "onChange", "children", "className"]; // import { FanContext } from "fan-standard-comp";
15
+ var _excluded = ["proClassname", "filter", "formConfig", "codes", "permissionCodes", "onSubmit", "onReset", "onChange", "children", "className", "columns", "defaultParams", "acceptType", "data", "fetchData", "fetchOptionName", "onAction", "tableActionRef", "filterFormRef", "getDataSource", "localPageInfo"];
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
+ 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; }
21
+ 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); } }
22
+ 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); }); }; }
20
23
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
24
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
25
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -30,18 +33,46 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
30
33
  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); }
31
34
  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; }
32
35
  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; }
36
+ /**
37
+ * 复合表格:筛选+表格列表
38
+ * */
33
39
  var StandardTablePro = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
34
40
  var InitFanContext = (0, _react.useContext)(_ConfigContext.FanContext);
35
41
  var providerConfig = InitFanContext['StandardTablePro'] || {}; // 使用上下文(全局配置)设置扩展的配置项
36
42
  var _providerConfig$props = _objectSpread(_objectSpread({}, providerConfig), props),
37
43
  proClassname = _providerConfig$props.proClassname,
38
- filterForm = _providerConfig$props.filterForm,
39
- modalForm = _providerConfig$props.modalForm,
44
+ filter = _providerConfig$props.filter,
45
+ formConfig = _providerConfig$props.formConfig,
40
46
  codes = _providerConfig$props.codes,
41
47
  permissionCodes = _providerConfig$props.permissionCodes,
42
- onChange = _providerConfig$props.onChange,
48
+ onSubmit = _providerConfig$props.onSubmit,
49
+ onReset = _providerConfig$props.onReset,
50
+ _onChange = _providerConfig$props.onChange,
43
51
  children = _providerConfig$props.children,
44
52
  className = _providerConfig$props.className,
53
+ columns = _providerConfig$props.columns,
54
+ defaultParams = _providerConfig$props.defaultParams,
55
+ _providerConfig$props2 = _providerConfig$props.acceptType,
56
+ acceptType = _providerConfig$props2 === void 0 ? 'data' : _providerConfig$props2,
57
+ data = _providerConfig$props.data,
58
+ fetchData = _providerConfig$props.fetchData,
59
+ _providerConfig$props3 = _providerConfig$props.fetchOptionName,
60
+ fetchOptionName = _providerConfig$props3 === void 0 ? {
61
+ dataKey: 'data',
62
+ listKey: 'records',
63
+ totalKey: 'total',
64
+ currentKey: 'current',
65
+ sizeKey: 'size'
66
+ } : _providerConfig$props3,
67
+ onAction = _providerConfig$props.onAction,
68
+ propsActionRef = _providerConfig$props.tableActionRef,
69
+ defaultFormRef = _providerConfig$props.filterFormRef,
70
+ getDataSource = _providerConfig$props.getDataSource,
71
+ _providerConfig$props4 = _providerConfig$props.localPageInfo,
72
+ localPageInfo = _providerConfig$props4 === void 0 ? {
73
+ current: 1,
74
+ size: 10
75
+ } : _providerConfig$props4,
45
76
  others = _objectWithoutProperties(_providerConfig$props, _excluded);
46
77
  var commonConfig = {
47
78
  codes: codes,
@@ -52,102 +83,233 @@ var StandardTablePro = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
52
83
  _useStyle2 = _slicedToArray(_useStyle, 2),
53
84
  wrapSSR = _useStyle2[0],
54
85
  hashId = _useStyle2[1];
55
- var handleChange = function handleChange(targetKey, data, defaultParam) {
56
- onChange && onChange(targetKey, data, defaultParam);
57
- };
58
- var _useState = (0, _react.useState)({}),
86
+ // data.list, data.pagination
87
+ var _useState = (0, _react.useState)({
88
+ list: [],
89
+ pagination: {},
90
+ keywords: {}
91
+ }),
59
92
  _useState2 = _slicedToArray(_useState, 2),
60
- filterFormFields = _useState2[0],
61
- setFilterFormFields = _useState2[1];
62
- var _useState3 = (0, _react.useState)(),
93
+ resDataSource = _useState2[0],
94
+ setResDataSource = _useState2[1];
95
+ var _useState3 = (0, _react.useState)(false),
63
96
  _useState4 = _slicedToArray(_useState3, 2),
64
- filterFormInstance = _useState4[0],
65
- setFilterFormInstance = _useState4[1];
66
- var _useState5 = (0, _react.useState)({}),
97
+ queryLoading = _useState4[0],
98
+ setQueryLoading = _useState4[1];
99
+ var _useState5 = (0, _react.useState)(false),
67
100
  _useState6 = _slicedToArray(_useState5, 2),
68
- modalFormFields = _useState6[0],
69
- setModalFormFields = _useState6[1];
101
+ searchLoading = _useState6[0],
102
+ setSearchLoading = _useState6[1];
70
103
  var _useState7 = (0, _react.useState)(),
71
104
  _useState8 = _slicedToArray(_useState7, 2),
72
- modalFormInstance = _useState8[0],
73
- setModalFormInstance = _useState8[1];
74
- var _useState9 = (0, _react.useState)(false),
105
+ sorterParams = _useState8[0],
106
+ setSorterParams = _useState8[1];
107
+ var handleChange = function handleChange(targetKey, data, defaultParam) {
108
+ if (targetKey === 'filterSearch') {
109
+ onSubmit === null || onSubmit === void 0 || onSubmit(data);
110
+ }
111
+ if (targetKey === 'filterReset') {
112
+ onReset === null || onReset === void 0 || onReset();
113
+ }
114
+ };
115
+ var formItemGroupConcat = (0, _react.useMemo)(function () {
116
+ var itemGroupFromColumns = (columns || []).filter(function (item) {
117
+ return item.formItem && JSON.stringify(item.formItem) !== '{}';
118
+ }).map(function (fItem) {
119
+ return _objectSpread({
120
+ label: fItem === null || fItem === void 0 ? void 0 : fItem.title,
121
+ fieldName: (fItem === null || fItem === void 0 ? void 0 : fItem.key) || (fItem === null || fItem === void 0 ? void 0 : fItem.dataIndex)
122
+ }, fItem.formItem);
123
+ });
124
+ return ((filter === null || filter === void 0 ? void 0 : filter.formItemGroup) || []).concat(itemGroupFromColumns);
125
+ }, [columns, filter === null || filter === void 0 ? void 0 : filter.formItemGroup]);
126
+ var _useState9 = (0, _react.useState)({}),
75
127
  _useState10 = _slicedToArray(_useState9, 2),
76
- modalVisible = _useState10[0],
77
- setModalVisible = _useState10[1];
128
+ filterInstance = _useState10[0],
129
+ setFilterFormInstance = _useState10[1];
130
+ // const [filterInitialValues, setFilterInitialValues] = useState({})
131
+ // const [filterFields, setFilterFormFields] = useState({})
132
+ // const [filterValues, setFilterValues] = useState<any>({})
78
133
 
134
+ var action = {
135
+ pagination: (resDataSource === null || resDataSource === void 0 ? void 0 : resDataSource.pagination) || localPageInfo,
136
+ dataSource: resDataSource === null || resDataSource === void 0 ? void 0 : resDataSource.list,
137
+ keywords: resDataSource === null || resDataSource === void 0 ? void 0 : resDataSource.keywords,
138
+ loading: queryLoading,
139
+ reload: function reload(filter) {
140
+ return loadData('reload', _objectSpread({}, localPageInfo), _objectSpread({}, filter));
141
+ },
142
+ // 更新列表
143
+ refresh: function refresh(filter) {
144
+ return loadData('refresh', _objectSpread({}, resDataSource.pagination), _objectSpread({}, filter));
145
+ } // 更新列表
146
+ };
147
+ /** 通用的来操作子节点的工具类 */
148
+ var actionRef = (0, _react.useRef)();
149
+ (0, _react.useImperativeHandle)(propsActionRef, function () {
150
+ return actionRef.current;
151
+ });
152
+ (0, _react.useImperativeHandle)(defaultFormRef, function () {
153
+ return filterInstance === null || filterInstance === void 0 ? void 0 : filterInstance.current;
154
+ });
79
155
  // ref 的转发
80
156
  (0, _react.useImperativeHandle)(ref, function () {
81
- return _objectSpread(_objectSpread({}, filterForm), {}, {
82
- filterFormFields: filterFormFields,
83
- filterFormInstance: filterFormInstance,
84
- modalFormFields: modalFormFields,
85
- modalFormInstance: modalFormInstance
86
- // dataSource: resDataSource,
87
- // setDataSource: setResDataSource,
88
- // reload: (filter) => loadData('refresh', {}, filter) // 更新列表
89
- });
90
- });
157
+ return {
158
+ filterInstance: filterInstance === null || filterInstance === void 0 ? void 0 : filterInstance.current,
159
+ tableInstance: actionRef.current
160
+ };
161
+ }, [filterInstance, actionRef]);
162
+
163
+ /** 绑定 action current */
164
+ (0, _utils.useActionType)(actionRef, action);
165
+
166
+ /**
167
+ * 加载数据方法
168
+ * @param {string} updateKey 触发位置
169
+ * @param {Object} pagination 分页选项
170
+ * @param {Object} filter 筛选条件或表格排序条件
171
+ * @param {Object} tableChangeParams (表格默认参数){pagination, filter, sorter, extra}
172
+ */
173
+ var loadData = (0, _react.useCallback)( /*#__PURE__*/function () {
174
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(updateKey, pagination, filters, tableChangeParams) {
175
+ var parameter, response, responseData;
176
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
177
+ while (1) switch (_context.prev = _context.next) {
178
+ case 0:
179
+ if (updateKey !== 'init' && updateKey !== 'reload' && updateKey !== 'refresh') {
180
+ onAction === null || onAction === void 0 || onAction(updateKey, updateKey === 'reset' ? {} : _objectSpread(_objectSpread({}, pagination), filters));
181
+ }
182
+ if (!(acceptType === 'fetch' && fetchData)) {
183
+ _context.next = 10;
184
+ break;
185
+ }
186
+ setQueryLoading(true);
187
+ parameter = Object.assign(_objectSpread({}, defaultParams),
188
+ // updateKey === 'init' ? { ...params } : {}, // 重置条件下,会清空params
189
+ {
190
+ current: (pagination === null || pagination === void 0 ? void 0 : pagination.current) || localPageInfo.current,
191
+ size: (pagination === null || pagination === void 0 ? void 0 : pagination.size) || localPageInfo.size
192
+ }, _objectSpread({}, filters) // 排序与筛选待定
193
+ // (sorter && sorter.field && {
194
+ // sortField: sorter.field
195
+ // }) || {},
196
+ // (sorter && sorter.order && {
197
+ // sortOrder: sorter.order
198
+ // }) || {},
199
+ );
200
+ _context.next = 6;
201
+ return fetchData(parameter, updateKey, tableChangeParams);
202
+ case 6:
203
+ response = _context.sent;
204
+ setQueryLoading(false);
205
+ setSearchLoading(false);
206
+ // 转换列表数据
207
+ if (response.code == '200') {
208
+ responseData = response[fetchOptionName.dataKey];
209
+ if (Array.isArray(responseData)) {
210
+ // 返回值为数组
211
+ setResDataSource({
212
+ list: responseData,
213
+ pagination: null,
214
+ keywords: parameter || {}
215
+ });
216
+ } else {
217
+ // 返回值为对象
218
+ setResDataSource(Object.assign({
219
+ list: responseData === null || responseData === void 0 ? void 0 : responseData[fetchOptionName.listKey || 'records'],
220
+ pagination: {
221
+ total: (responseData === null || responseData === void 0 ? void 0 : responseData[fetchOptionName.totalKey || 'total']) || 0,
222
+ current: (responseData === null || responseData === void 0 ? void 0 : responseData[fetchOptionName.currentKey || 'current']) | localPageInfo.current,
223
+ size: (responseData === null || responseData === void 0 ? void 0 : responseData[fetchOptionName.sizeKey || 'size']) || localPageInfo.size
224
+ },
225
+ keywords: parameter || {} // 关键字搜索字段
226
+ }));
227
+ }
228
+ } else {
229
+ setResDataSource({
230
+ list: [],
231
+ pagination: {},
232
+ keywords: {}
233
+ });
234
+ }
235
+ case 10:
236
+ case "end":
237
+ return _context.stop();
238
+ }
239
+ }, _callee);
240
+ }));
241
+ return function (_x, _x2, _x3, _x4) {
242
+ return _ref.apply(this, arguments);
243
+ };
244
+ }(), [acceptType, defaultParams, fetchData]);
245
+ (0, _react.useEffect)(function () {
246
+ if (acceptType === 'data') {
247
+ setResDataSource(data);
248
+ }
249
+ }, [acceptType, data]);
250
+ (0, _react.useEffect)(function () {
251
+ getDataSource && getDataSource(resDataSource);
252
+ }, [resDataSource]);
253
+ (0, _react.useEffect)(function () {
254
+ loadData('init'); // 接口请求调用
255
+ }, []);
91
256
  return wrapSSR( /*#__PURE__*/_react.default.createElement("div", {
92
257
  className: (0, _classnames.default)(componentName, proClassname, hashId)
93
- }, /*#__PURE__*/_react.default.createElement(_StandardFilter.default, _extends({}, commonConfig, filterForm, {
258
+ }, formItemGroupConcat !== null && formItemGroupConcat !== void 0 && formItemGroupConcat.length ? /*#__PURE__*/_react.default.createElement(_StandardFilter.default, _extends({}, commonConfig, {
259
+ forceListener: false
260
+ }, filter, {
261
+ confirmButtonProps: _objectSpread({
262
+ loading: acceptType === 'fetch' ? searchLoading : false
263
+ }, filter === null || filter === void 0 ? void 0 : filter.confirmButtonProps),
264
+ formItemGroup: formItemGroupConcat,
94
265
  getFormFields: function getFormFields(fieldValues, form) {
95
- setFilterFormFields(fieldValues); // 获取表单内部控件值
266
+ var _filter$getFormFields;
267
+ // setFilterFormFields(fieldValues) // 获取表单内部控件值
96
268
  setFilterFormInstance(form); // 获取表单实例
269
+ filter === null || filter === void 0 || (_filter$getFormFields = filter.getFormFields) === null || _filter$getFormFields === void 0 || _filter$getFormFields.call(filter, fieldValues, form);
97
270
  },
98
- onFilterSearch: function onFilterSearch(values) {
99
- return handleChange('filterSearch', values);
100
- },
101
- onFilterReset: function onFilterReset(values) {
102
- return handleChange('filterReset', values);
271
+ onFilterSearch: function onFilterSearch(fields) {
272
+ if (acceptType === 'fetch') {
273
+ setSearchLoading(true);
274
+ loadData('search', _objectSpread({}, localPageInfo), fields);
275
+ }
276
+ handleChange('filterSearch', fields);
103
277
  },
104
- className: (0, _classnames.default)('spec-standard-table-pro-filter', filterForm === null || filterForm === void 0 ? void 0 : filterForm.className)
105
- })), /*#__PURE__*/_react.default.createElement(_StandardModal.default, _extends({}, commonConfig, modalForm, {
106
- getFormFields: function getFormFields(fields, form) {
107
- setModalFormFields(fields);
108
- setModalFormInstance(form);
278
+ onFilterReset: function onFilterReset() {
279
+ if (acceptType === 'fetch') {
280
+ loadData('reset', _objectSpread({}, localPageInfo), {});
281
+ }
282
+ handleChange('filterReset');
109
283
  },
110
- className: (0, _classnames.default)('spec-standard-table-pro-modal', modalForm === null || modalForm === void 0 ? void 0 : modalForm.className)
111
- })), /*#__PURE__*/_react.default.createElement(_StandardTable.default, _extends({}, commonConfig, others, {
284
+ className: (0, _classnames.default)('spec-standard-table-pro-filter', filter === null || filter === void 0 ? void 0 : filter.className)
285
+ })) : null, /*#__PURE__*/_react.default.createElement(_StandardTable.default, _extends({}, commonConfig, others, {
286
+ data: resDataSource,
287
+ columns: columns,
288
+ sortOrders: others.sortOrders || sorterParams,
289
+ loading: acceptType === 'fetch' ? queryLoading || (others === null || others === void 0 ? void 0 : others.loading) : others === null || others === void 0 ? void 0 : others.loading
112
290
  // @ts-ignore
291
+ ,
113
292
  onChange: function onChange(pagination, filters, sorter, extra) {
114
- console.log('表格筛选条件', pagination, filters, sorter, extra);
115
- // console.log(' pagination, filters, sorter', pagination, filters, sorter)
116
- // loadData('table', {
117
- // page: pagination.current,
118
- // size: pagination.pageSize
119
- // }, filters, sorter)
120
-
121
293
  console.log('pagination', pagination);
122
- console.log('filters', filters);
123
- console.log('sorter', sorter);
124
- console.log('extra', extra);
125
- var orders = [];
126
- if (Array.isArray(sorter)) {
127
- // 多个条件
128
- orders = sorter.map(function (item) {
129
- return {
130
- column: item.columnKey,
131
- asc: item.order === 'ascend'
132
- };
133
- });
134
- } else {
135
- // 单个条件
136
- orders.push({
137
- column: sorter.columnKey,
138
- asc: sorter.order === 'ascend'
294
+ if (acceptType === 'fetch') {
295
+ var _pagination$orders;
296
+ setSorterParams(pagination.sorterParams);
297
+ loadData(extra.action, {
298
+ current: pagination.current,
299
+ size: pagination.size
300
+ }, (_pagination$orders = pagination.orders) !== null && _pagination$orders !== void 0 && _pagination$orders.length ? {
301
+ orders: pagination.orders,
302
+ sorterParams: pagination.sorterParams
303
+ } : {},
304
+ // 有筛选条件才传
305
+ {
306
+ pagination: pagination,
307
+ filters: filters,
308
+ sorter: sorter,
309
+ extra: extra
139
310
  });
140
311
  }
141
- console.log('orders', orders);
142
- handleChange('tableChange', {
143
- page: pagination.current,
144
- size: pagination.pageSize
145
- }, {
146
- pagination: pagination,
147
- filters: filters,
148
- sorter: sorter,
149
- extra: extra
150
- });
312
+ _onChange && _onChange(pagination, filters, sorter, extra);
151
313
  },
152
314
  className: (0, _classnames.default)('spec-standard-table-pro-table', className)
153
315
  })), children));
@@ -0,0 +1,29 @@
1
+ import type { StandardTableProps } from '../StandardTable/types';
2
+ export interface StandardTableProType extends StandardTableProps {
3
+ proClassname?: string;
4
+ filter?: any;
5
+ formConfig?: any;
6
+ onChange?: (pageParams?: any) => void;
7
+ onSubmit?: (searchParams?: any) => void;
8
+ onReset?: () => void;
9
+ params?: any;
10
+ acceptType?: 'data' | 'fetch' | string;
11
+ fetchData?: () => void;
12
+ parseTransform?: () => void;
13
+ [k: string]: any;
14
+ }
15
+ export type ActionType = {
16
+ reload?: () => void;
17
+ [k: string]: any;
18
+ };
19
+ export type PageInfo = {
20
+ size?: number;
21
+ total?: number;
22
+ current?: number;
23
+ [k: string]: any;
24
+ };
25
+ export type UseFetchDataAction<T = any> = {
26
+ dataSource?: T[];
27
+ pagination?: PageInfo;
28
+ [k: string]: any;
29
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
File without changes