@hanwenbo/x-web-pro-components 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/es/blocks/index.d.ts +1 -0
- package/es/blocks/index.js +2 -0
- package/es/blocks/shared.d.ts +24 -0
- package/es/blocks/shared.js +77 -0
- package/es/components/card/index.d.ts +82 -0
- package/es/components/card/index.js +361 -0
- package/es/components/descriptions/index.d.ts +31 -0
- package/es/components/descriptions/index.js +434 -0
- package/es/components/field/index.d.ts +75 -0
- package/es/components/field/index.js +761 -0
- package/es/components/form/captcha.d.ts +19 -0
- package/es/components/form/captcha.js +165 -0
- package/es/components/form/colorPicker.d.ts +7 -0
- package/es/components/form/colorPicker.js +73 -0
- package/es/components/form/fieldControls.d.ts +43 -0
- package/es/components/form/fieldControls.js +282 -0
- package/es/components/form/index.d.ts +285 -0
- package/es/components/form/index.js +2268 -0
- package/es/components/form/loginForm.d.ts +22 -0
- package/es/components/form/loginForm.js +159 -0
- package/es/components/form/schemaForm.d.ts +30 -0
- package/es/components/form/schemaForm.js +644 -0
- package/es/components/form/stepsForm.d.ts +26 -0
- package/es/components/form/stepsForm.js +183 -0
- package/es/components/form/uploadButton.d.ts +20 -0
- package/es/components/form/uploadButton.js +134 -0
- package/es/components/form/uploadDragger.d.ts +13 -0
- package/es/components/form/uploadDragger.js +144 -0
- package/es/components/index.d.ts +9 -0
- package/es/components/index.js +9 -0
- package/es/components/layout/components/Help/index.d.ts +72 -0
- package/es/components/layout/components/Help/index.js +350 -0
- package/es/components/layout/index.d.ts +182 -0
- package/es/components/layout/index.js +892 -0
- package/es/components/list/index.d.ts +80 -0
- package/es/components/list/index.js +431 -0
- package/es/components/provider/context.d.ts +7 -0
- package/es/components/provider/context.js +21 -0
- package/es/components/provider/index.d.ts +28 -0
- package/es/components/provider/index.js +117 -0
- package/es/components/provider/intl.d.ts +38 -0
- package/es/components/provider/intl.js +112 -0
- package/es/components/provider/types.d.ts +37 -0
- package/es/components/provider/types.js +1 -0
- package/es/components/provider/useStyle/index.d.ts +28 -0
- package/es/components/provider/useStyle/index.js +208 -0
- package/es/components/skeleton/index.d.ts +61 -0
- package/es/components/skeleton/index.js +388 -0
- package/es/components/table/dragSortTable.d.ts +8 -0
- package/es/components/table/dragSortTable.js +229 -0
- package/es/components/table/editableTable.d.ts +31 -0
- package/es/components/table/editableTable.js +507 -0
- package/es/components/table/index.d.ts +52 -0
- package/es/components/table/index.js +1554 -0
- package/es/components/table/listToolBar.d.ts +48 -0
- package/es/components/table/listToolBar.js +194 -0
- package/es/components/table/search.d.ts +5 -0
- package/es/components/table/search.js +13 -0
- package/es/index.d.ts +4 -0
- package/es/index.js +4 -0
- package/es/types.d.ts +219 -0
- package/es/types.js +1 -0
- package/es/utils/attachPropertiesToComponent.d.ts +1 -0
- package/es/utils/attachPropertiesToComponent.js +6 -0
- package/es/utils/getRequestParams.d.ts +19 -0
- package/es/utils/getRequestParams.js +57 -0
- package/es/utils/getTableListColumns.d.ts +20 -0
- package/es/utils/getTableListColumns.js +36 -0
- package/es/utils/index.d.ts +4 -0
- package/es/utils/index.js +4 -0
- package/es/utils/loading.d.ts +3 -0
- package/es/utils/loading.js +25 -0
- package/es/version.d.ts +2 -0
- package/es/version.js +2 -0
- package/lib/blocks/index.d.ts +1 -0
- package/lib/blocks/index.js +5 -0
- package/lib/blocks/shared.d.ts +24 -0
- package/lib/blocks/shared.js +83 -0
- package/lib/components/card/index.d.ts +82 -0
- package/lib/components/card/index.js +368 -0
- package/lib/components/descriptions/index.d.ts +31 -0
- package/lib/components/descriptions/index.js +440 -0
- package/lib/components/field/index.d.ts +75 -0
- package/lib/components/field/index.js +767 -0
- package/lib/components/form/captcha.d.ts +19 -0
- package/lib/components/form/captcha.js +172 -0
- package/lib/components/form/colorPicker.d.ts +7 -0
- package/lib/components/form/colorPicker.js +79 -0
- package/lib/components/form/fieldControls.d.ts +43 -0
- package/lib/components/form/fieldControls.js +288 -0
- package/lib/components/form/index.d.ts +285 -0
- package/lib/components/form/index.js +2332 -0
- package/lib/components/form/loginForm.d.ts +22 -0
- package/lib/components/form/loginForm.js +165 -0
- package/lib/components/form/schemaForm.d.ts +30 -0
- package/lib/components/form/schemaForm.js +651 -0
- package/lib/components/form/stepsForm.d.ts +26 -0
- package/lib/components/form/stepsForm.js +189 -0
- package/lib/components/form/uploadButton.d.ts +20 -0
- package/lib/components/form/uploadButton.js +141 -0
- package/lib/components/form/uploadDragger.d.ts +13 -0
- package/lib/components/form/uploadDragger.js +151 -0
- package/lib/components/index.d.ts +9 -0
- package/lib/components/index.js +104 -0
- package/lib/components/layout/components/Help/index.d.ts +72 -0
- package/lib/components/layout/components/Help/index.js +356 -0
- package/lib/components/layout/index.d.ts +182 -0
- package/lib/components/layout/index.js +930 -0
- package/lib/components/list/index.d.ts +80 -0
- package/lib/components/list/index.js +438 -0
- package/lib/components/provider/context.d.ts +7 -0
- package/lib/components/provider/context.js +27 -0
- package/lib/components/provider/index.d.ts +28 -0
- package/lib/components/provider/index.js +174 -0
- package/lib/components/provider/intl.d.ts +38 -0
- package/lib/components/provider/intl.js +118 -0
- package/lib/components/provider/types.d.ts +37 -0
- package/lib/components/provider/types.js +5 -0
- package/lib/components/provider/useStyle/index.d.ts +28 -0
- package/lib/components/provider/useStyle/index.js +217 -0
- package/lib/components/skeleton/index.d.ts +61 -0
- package/lib/components/skeleton/index.js +394 -0
- package/lib/components/table/dragSortTable.d.ts +8 -0
- package/lib/components/table/dragSortTable.js +236 -0
- package/lib/components/table/editableTable.d.ts +31 -0
- package/lib/components/table/editableTable.js +514 -0
- package/lib/components/table/index.d.ts +52 -0
- package/lib/components/table/index.js +1699 -0
- package/lib/components/table/listToolBar.d.ts +48 -0
- package/lib/components/table/listToolBar.js +200 -0
- package/lib/components/table/search.d.ts +5 -0
- package/lib/components/table/search.js +20 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +49 -0
- package/lib/types.d.ts +219 -0
- package/lib/types.js +5 -0
- package/lib/utils/attachPropertiesToComponent.d.ts +1 -0
- package/lib/utils/attachPropertiesToComponent.js +12 -0
- package/lib/utils/getRequestParams.d.ts +19 -0
- package/lib/utils/getRequestParams.js +63 -0
- package/lib/utils/getTableListColumns.d.ts +20 -0
- package/lib/utils/getTableListColumns.js +42 -0
- package/lib/utils/index.d.ts +4 -0
- package/lib/utils/index.js +49 -0
- package/lib/utils/loading.d.ts +3 -0
- package/lib/utils/loading.js +31 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.js +8 -0
- package/package.json +68 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.EditableTable = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _button = require("@hanwenbo/x-web-ui/button");
|
|
9
|
+
var _card = require("@hanwenbo/x-web-ui/card");
|
|
10
|
+
var _inputItem = require("@hanwenbo/x-web-ui/inputItem");
|
|
11
|
+
var _select = require("@hanwenbo/x-web-ui/select");
|
|
12
|
+
var _stepper = require("@hanwenbo/x-web-ui/stepper");
|
|
13
|
+
var _switch = require("@hanwenbo/x-web-ui/switch");
|
|
14
|
+
var _table = require("@hanwenbo/x-web-ui/table");
|
|
15
|
+
var _textArea = require("@hanwenbo/x-web-ui/textArea");
|
|
16
|
+
var _cn = require("@hanwenbo/x-web-ui/utils/cn");
|
|
17
|
+
var _field = require("../field");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
var _excluded = ["rowKey", "columns", "dataSource", "editable", "recordCreatorProps", "headerTitle", "toolBarRender", "pagination", "className", "onDataSourceChange"];
|
|
20
|
+
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); }
|
|
21
|
+
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; }
|
|
22
|
+
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; }
|
|
23
|
+
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); } }
|
|
24
|
+
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); }); }; }
|
|
25
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
26
|
+
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."); }
|
|
27
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
28
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
29
|
+
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; }
|
|
30
|
+
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; }
|
|
31
|
+
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); }
|
|
32
|
+
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; }
|
|
33
|
+
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; }
|
|
34
|
+
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; }
|
|
35
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
36
|
+
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); }
|
|
37
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
38
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
39
|
+
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); }
|
|
40
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
41
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
42
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
43
|
+
var getDataIndexKey = function getDataIndexKey(dataIndex) {
|
|
44
|
+
if (!dataIndex) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
return Array.isArray(dataIndex) ? dataIndex.join('.') : String(dataIndex);
|
|
48
|
+
};
|
|
49
|
+
var getValueByDataIndex = function getValueByDataIndex(record, dataIndex) {
|
|
50
|
+
if (!dataIndex) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
var path = Array.isArray(dataIndex) ? dataIndex : [dataIndex];
|
|
54
|
+
return path.reduce(function (current, key) {
|
|
55
|
+
return current == null ? current : current[key];
|
|
56
|
+
}, record);
|
|
57
|
+
};
|
|
58
|
+
var setValueByDataIndex = function setValueByDataIndex(record, dataIndex, value) {
|
|
59
|
+
if (!dataIndex) {
|
|
60
|
+
return record;
|
|
61
|
+
}
|
|
62
|
+
var path = Array.isArray(dataIndex) ? dataIndex : [dataIndex];
|
|
63
|
+
var nextRecord = Array.isArray(record) ? _toConsumableArray(record) : _objectSpread({}, record);
|
|
64
|
+
var cursor = nextRecord;
|
|
65
|
+
path.forEach(function (key, index) {
|
|
66
|
+
var keyString = String(key);
|
|
67
|
+
if (index === path.length - 1) {
|
|
68
|
+
cursor[keyString] = value;
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
var current = cursor[keyString];
|
|
72
|
+
cursor[keyString] = current && _typeof(current) === 'object' ? Array.isArray(current) ? _toConsumableArray(current) : _objectSpread({}, current) : {};
|
|
73
|
+
cursor = cursor[keyString];
|
|
74
|
+
});
|
|
75
|
+
return nextRecord;
|
|
76
|
+
};
|
|
77
|
+
var renderToolbar = function renderToolbar(headerTitle, toolBarRender) {
|
|
78
|
+
var actions = toolBarRender === null || toolBarRender === void 0 ? void 0 : toolBarRender(undefined, []);
|
|
79
|
+
if (!headerTitle && !(actions !== null && actions !== void 0 && actions.length)) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
83
|
+
className: "mb-4 flex flex-wrap items-center justify-between gap-3",
|
|
84
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
85
|
+
className: "text-lg text-foreground",
|
|
86
|
+
children: headerTitle
|
|
87
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
88
|
+
className: "flex flex-wrap items-center gap-2",
|
|
89
|
+
children: actions
|
|
90
|
+
})]
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
var buildEditorNode = function buildEditorNode(column, value, onValueChange, editorId) {
|
|
94
|
+
var fieldProps = column.fieldProps || {};
|
|
95
|
+
var editorNode;
|
|
96
|
+
switch (column.valueType) {
|
|
97
|
+
case 'select':
|
|
98
|
+
editorNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_select.Select, _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
99
|
+
value: value,
|
|
100
|
+
onChange: function onChange(nextValue) {
|
|
101
|
+
return onValueChange(nextValue);
|
|
102
|
+
}
|
|
103
|
+
}));
|
|
104
|
+
break;
|
|
105
|
+
case 'switch':
|
|
106
|
+
editorNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_switch.Switch, _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
107
|
+
checked: Boolean(value),
|
|
108
|
+
onChange: function onChange(checked) {
|
|
109
|
+
return onValueChange(checked);
|
|
110
|
+
}
|
|
111
|
+
}));
|
|
112
|
+
break;
|
|
113
|
+
case 'textarea':
|
|
114
|
+
editorNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_textArea.TextArea, _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
115
|
+
"data-editable-cell-editor": editorId,
|
|
116
|
+
value: value,
|
|
117
|
+
onChange: function onChange(nextValue) {
|
|
118
|
+
return onValueChange(nextValue);
|
|
119
|
+
}
|
|
120
|
+
}));
|
|
121
|
+
break;
|
|
122
|
+
case 'digit':
|
|
123
|
+
editorNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_stepper.Stepper, _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
124
|
+
"data-editable-cell-editor": editorId,
|
|
125
|
+
value: Number(value || 0),
|
|
126
|
+
onChange: function onChange(nextValue) {
|
|
127
|
+
return onValueChange(nextValue);
|
|
128
|
+
}
|
|
129
|
+
}));
|
|
130
|
+
break;
|
|
131
|
+
case 'money':
|
|
132
|
+
case 'percent':
|
|
133
|
+
editorNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
134
|
+
"data-editable-cell-editor": editorId,
|
|
135
|
+
type: "number",
|
|
136
|
+
value: value == null ? '' : String(value),
|
|
137
|
+
onChange: function onChange(nextValue) {
|
|
138
|
+
return onValueChange(nextValue);
|
|
139
|
+
}
|
|
140
|
+
}));
|
|
141
|
+
break;
|
|
142
|
+
default:
|
|
143
|
+
editorNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
144
|
+
"data-editable-cell-editor": editorId,
|
|
145
|
+
value: value == null ? '' : String(value),
|
|
146
|
+
onChange: function onChange(nextValue) {
|
|
147
|
+
return onValueChange(nextValue);
|
|
148
|
+
}
|
|
149
|
+
}));
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
return editorId ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
153
|
+
className: "contents",
|
|
154
|
+
"data-editable-cell-editor-container": editorId,
|
|
155
|
+
children: editorNode
|
|
156
|
+
}) : editorNode;
|
|
157
|
+
};
|
|
158
|
+
var EditableTable = exports.EditableTable = function EditableTable(_ref) {
|
|
159
|
+
var _ref$rowKey = _ref.rowKey,
|
|
160
|
+
rowKey = _ref$rowKey === void 0 ? 'id' : _ref$rowKey,
|
|
161
|
+
columns = _ref.columns,
|
|
162
|
+
controlledDataSource = _ref.dataSource,
|
|
163
|
+
_ref$editable = _ref.editable,
|
|
164
|
+
editable = _ref$editable === void 0 ? {} : _ref$editable,
|
|
165
|
+
recordCreatorProps = _ref.recordCreatorProps,
|
|
166
|
+
headerTitle = _ref.headerTitle,
|
|
167
|
+
toolBarRender = _ref.toolBarRender,
|
|
168
|
+
_ref$pagination = _ref.pagination,
|
|
169
|
+
pagination = _ref$pagination === void 0 ? false : _ref$pagination,
|
|
170
|
+
className = _ref.className,
|
|
171
|
+
onDataSourceChange = _ref.onDataSourceChange,
|
|
172
|
+
tableProps = _objectWithoutProperties(_ref, _excluded);
|
|
173
|
+
var _useState = (0, _react.useState)(controlledDataSource || []),
|
|
174
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
175
|
+
rows = _useState2[0],
|
|
176
|
+
setRows = _useState2[1];
|
|
177
|
+
var _useState3 = (0, _react.useState)([]),
|
|
178
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
179
|
+
innerEditableKeys = _useState4[0],
|
|
180
|
+
setInnerEditableKeys = _useState4[1];
|
|
181
|
+
var _useState5 = (0, _react.useState)({}),
|
|
182
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
183
|
+
drafts = _useState6[0],
|
|
184
|
+
setDrafts = _useState6[1];
|
|
185
|
+
(0, _react.useEffect)(function () {
|
|
186
|
+
setRows(controlledDataSource || []);
|
|
187
|
+
}, [controlledDataSource]);
|
|
188
|
+
var resolveRowKey = (0, _react.useCallback)(function (record, index) {
|
|
189
|
+
var _rowKey;
|
|
190
|
+
return typeof rowKey === 'function' ? rowKey(record) : (_rowKey = record[rowKey]) !== null && _rowKey !== void 0 ? _rowKey : index;
|
|
191
|
+
}, [rowKey]);
|
|
192
|
+
var mergedEditableKeys = editable === false ? [] : editable.editableKeys || innerEditableKeys;
|
|
193
|
+
var rowsRef = (0, _react.useRef)(rows);
|
|
194
|
+
var draftsRef = (0, _react.useRef)(drafts);
|
|
195
|
+
var editableRef = (0, _react.useRef)(editable);
|
|
196
|
+
var mergedEditableKeysRef = (0, _react.useRef)(mergedEditableKeys);
|
|
197
|
+
var pendingEditorFocusRef = (0, _react.useRef)(null);
|
|
198
|
+
rowsRef.current = rows;
|
|
199
|
+
draftsRef.current = drafts;
|
|
200
|
+
editableRef.current = editable;
|
|
201
|
+
mergedEditableKeysRef.current = mergedEditableKeys;
|
|
202
|
+
(0, _react.useLayoutEffect)(function () {
|
|
203
|
+
var pendingEditor = pendingEditorFocusRef.current;
|
|
204
|
+
if (!pendingEditor) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
var restoreFocus = function restoreFocus() {
|
|
208
|
+
var _container$querySelec;
|
|
209
|
+
var escapedEditorId = pendingEditor.editorId.replace(/"/g, '\\"');
|
|
210
|
+
var directTarget = document.querySelector("[data-editable-cell-editor=\"".concat(escapedEditorId, "\"]"));
|
|
211
|
+
var container = document.querySelector("[data-editable-cell-editor-container=\"".concat(escapedEditorId, "\"]"));
|
|
212
|
+
var fallbackTarget = (_container$querySelec = container === null || container === void 0 ? void 0 : container.querySelector('input, textarea, select, [contenteditable="true"], [tabindex]:not([tabindex="-1"])')) !== null && _container$querySelec !== void 0 ? _container$querySelec : null;
|
|
213
|
+
var focusTarget = directTarget !== null && directTarget !== void 0 ? directTarget : fallbackTarget;
|
|
214
|
+
if (!focusTarget) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (document.activeElement !== focusTarget) {
|
|
218
|
+
focusTarget.focus();
|
|
219
|
+
}
|
|
220
|
+
if ((focusTarget instanceof HTMLInputElement || focusTarget instanceof HTMLTextAreaElement) && pendingEditor.selectionStart !== null) {
|
|
221
|
+
try {
|
|
222
|
+
var _pendingEditor$select;
|
|
223
|
+
focusTarget.setSelectionRange(pendingEditor.selectionStart, (_pendingEditor$select = pendingEditor.selectionEnd) !== null && _pendingEditor$select !== void 0 ? _pendingEditor$select : pendingEditor.selectionStart);
|
|
224
|
+
} catch (_unused) {
|
|
225
|
+
// ignore selection restore failures for non-text inputs
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
restoreFocus();
|
|
230
|
+
var frameId = window.requestAnimationFrame(restoreFocus);
|
|
231
|
+
var timeoutIds = [0, 24, 64].map(function (delay) {
|
|
232
|
+
return window.setTimeout(function () {
|
|
233
|
+
var _pendingEditorFocusRe;
|
|
234
|
+
if (((_pendingEditorFocusRe = pendingEditorFocusRef.current) === null || _pendingEditorFocusRe === void 0 ? void 0 : _pendingEditorFocusRe.editorId) === pendingEditor.editorId) {
|
|
235
|
+
restoreFocus();
|
|
236
|
+
}
|
|
237
|
+
}, delay);
|
|
238
|
+
});
|
|
239
|
+
var clearId = window.setTimeout(function () {
|
|
240
|
+
var _pendingEditorFocusRe2;
|
|
241
|
+
if (((_pendingEditorFocusRe2 = pendingEditorFocusRef.current) === null || _pendingEditorFocusRe2 === void 0 ? void 0 : _pendingEditorFocusRe2.editorId) === pendingEditor.editorId) {
|
|
242
|
+
pendingEditorFocusRef.current = null;
|
|
243
|
+
}
|
|
244
|
+
}, 120);
|
|
245
|
+
return function () {
|
|
246
|
+
window.cancelAnimationFrame(frameId);
|
|
247
|
+
timeoutIds.forEach(function (timeoutId) {
|
|
248
|
+
return window.clearTimeout(timeoutId);
|
|
249
|
+
});
|
|
250
|
+
window.clearTimeout(clearId);
|
|
251
|
+
};
|
|
252
|
+
}, [drafts]);
|
|
253
|
+
var setEditableKeys = (0, _react.useCallback)(function (nextKeys) {
|
|
254
|
+
var _editableConfig$onCha;
|
|
255
|
+
var editableConfig = editableRef.current;
|
|
256
|
+
if (editableConfig === false) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
if (!editableConfig.editableKeys) {
|
|
260
|
+
setInnerEditableKeys(nextKeys);
|
|
261
|
+
}
|
|
262
|
+
var editableRows = rowsRef.current.filter(function (row) {
|
|
263
|
+
return nextKeys.includes(resolveRowKey(row));
|
|
264
|
+
});
|
|
265
|
+
(_editableConfig$onCha = editableConfig.onChange) === null || _editableConfig$onCha === void 0 || _editableConfig$onCha.call(editableConfig, nextKeys, editableRows);
|
|
266
|
+
}, [resolveRowKey]);
|
|
267
|
+
var updateRows = (0, _react.useCallback)(function (nextRows) {
|
|
268
|
+
rowsRef.current = nextRows;
|
|
269
|
+
if (!controlledDataSource) {
|
|
270
|
+
setRows(nextRows);
|
|
271
|
+
}
|
|
272
|
+
onDataSourceChange === null || onDataSourceChange === void 0 || onDataSourceChange(nextRows);
|
|
273
|
+
}, [controlledDataSource, onDataSourceChange]);
|
|
274
|
+
var startEdit = (0, _react.useCallback)(function (record) {
|
|
275
|
+
var editableConfig = editableRef.current;
|
|
276
|
+
if (editableConfig === false) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
var key = resolveRowKey(record);
|
|
280
|
+
var nextKeys = editableConfig.type === 'single' ? [key] : Array.from(new Set([].concat(_toConsumableArray(mergedEditableKeysRef.current), [key])));
|
|
281
|
+
setDrafts(function (prev) {
|
|
282
|
+
var nextDrafts = _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, String(key), _objectSpread({}, record)));
|
|
283
|
+
draftsRef.current = nextDrafts;
|
|
284
|
+
return nextDrafts;
|
|
285
|
+
});
|
|
286
|
+
setEditableKeys(nextKeys);
|
|
287
|
+
}, [resolveRowKey, setEditableKeys]);
|
|
288
|
+
var cancelEdit = (0, _react.useCallback)(function (record) {
|
|
289
|
+
var _editableConfig$onCan;
|
|
290
|
+
var key = resolveRowKey(record);
|
|
291
|
+
setDrafts(function (prev) {
|
|
292
|
+
var next = _objectSpread({}, prev);
|
|
293
|
+
delete next[String(key)];
|
|
294
|
+
draftsRef.current = next;
|
|
295
|
+
return next;
|
|
296
|
+
});
|
|
297
|
+
setEditableKeys(mergedEditableKeysRef.current.filter(function (item) {
|
|
298
|
+
return item !== key;
|
|
299
|
+
}));
|
|
300
|
+
var editableConfig = editableRef.current;
|
|
301
|
+
editableConfig !== false && ((_editableConfig$onCan = editableConfig.onCancel) === null || _editableConfig$onCan === void 0 ? void 0 : _editableConfig$onCan.call(editableConfig, key, record));
|
|
302
|
+
}, [resolveRowKey, setEditableKeys]);
|
|
303
|
+
var saveEdit = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
304
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(record) {
|
|
305
|
+
var _editableConfig$onSav;
|
|
306
|
+
var key, draft, nextRows, editableConfig;
|
|
307
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
308
|
+
while (1) switch (_context.prev = _context.next) {
|
|
309
|
+
case 0:
|
|
310
|
+
key = resolveRowKey(record);
|
|
311
|
+
draft = draftsRef.current[String(key)] || record;
|
|
312
|
+
nextRows = rowsRef.current.map(function (item) {
|
|
313
|
+
return resolveRowKey(item) === key ? draft : item;
|
|
314
|
+
});
|
|
315
|
+
updateRows(nextRows);
|
|
316
|
+
setDrafts(function (prev) {
|
|
317
|
+
var next = _objectSpread({}, prev);
|
|
318
|
+
delete next[String(key)];
|
|
319
|
+
draftsRef.current = next;
|
|
320
|
+
return next;
|
|
321
|
+
});
|
|
322
|
+
setEditableKeys(mergedEditableKeysRef.current.filter(function (item) {
|
|
323
|
+
return item !== key;
|
|
324
|
+
}));
|
|
325
|
+
editableConfig = editableRef.current;
|
|
326
|
+
_context.t0 = editableConfig !== false;
|
|
327
|
+
if (!_context.t0) {
|
|
328
|
+
_context.next = 11;
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
_context.next = 11;
|
|
332
|
+
return (_editableConfig$onSav = editableConfig.onSave) === null || _editableConfig$onSav === void 0 ? void 0 : _editableConfig$onSav.call(editableConfig, key, draft, record, false);
|
|
333
|
+
case 11:
|
|
334
|
+
case "end":
|
|
335
|
+
return _context.stop();
|
|
336
|
+
}
|
|
337
|
+
}, _callee);
|
|
338
|
+
}));
|
|
339
|
+
return function (_x) {
|
|
340
|
+
return _ref2.apply(this, arguments);
|
|
341
|
+
};
|
|
342
|
+
}(), [resolveRowKey, setEditableKeys, updateRows]);
|
|
343
|
+
var deleteRow = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
344
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(record) {
|
|
345
|
+
var _editableConfig$onDel;
|
|
346
|
+
var key, nextRows, editableConfig;
|
|
347
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
348
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
349
|
+
case 0:
|
|
350
|
+
key = resolveRowKey(record);
|
|
351
|
+
nextRows = rowsRef.current.filter(function (item) {
|
|
352
|
+
return resolveRowKey(item) !== key;
|
|
353
|
+
});
|
|
354
|
+
updateRows(nextRows);
|
|
355
|
+
setEditableKeys(mergedEditableKeysRef.current.filter(function (item) {
|
|
356
|
+
return item !== key;
|
|
357
|
+
}));
|
|
358
|
+
editableConfig = editableRef.current;
|
|
359
|
+
_context2.t0 = editableConfig !== false;
|
|
360
|
+
if (!_context2.t0) {
|
|
361
|
+
_context2.next = 9;
|
|
362
|
+
break;
|
|
363
|
+
}
|
|
364
|
+
_context2.next = 9;
|
|
365
|
+
return (_editableConfig$onDel = editableConfig.onDelete) === null || _editableConfig$onDel === void 0 ? void 0 : _editableConfig$onDel.call(editableConfig, key, record);
|
|
366
|
+
case 9:
|
|
367
|
+
case "end":
|
|
368
|
+
return _context2.stop();
|
|
369
|
+
}
|
|
370
|
+
}, _callee2);
|
|
371
|
+
}));
|
|
372
|
+
return function (_x2) {
|
|
373
|
+
return _ref3.apply(this, arguments);
|
|
374
|
+
};
|
|
375
|
+
}(), [resolveRowKey, setEditableKeys, updateRows]);
|
|
376
|
+
var updateDraftValue = (0, _react.useCallback)(function (record, key, dataIndex, nextValue, editorId) {
|
|
377
|
+
var activeElement = document.activeElement;
|
|
378
|
+
pendingEditorFocusRef.current = {
|
|
379
|
+
editorId: editorId,
|
|
380
|
+
selectionEnd: activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement ? activeElement.selectionEnd : null,
|
|
381
|
+
selectionStart: activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement ? activeElement.selectionStart : null
|
|
382
|
+
};
|
|
383
|
+
setDrafts(function (prev) {
|
|
384
|
+
var _editableConfig$onVal;
|
|
385
|
+
var current = prev[String(key)] || _objectSpread({}, record);
|
|
386
|
+
var nextRecord = setValueByDataIndex(current, dataIndex, nextValue);
|
|
387
|
+
var nextDrafts = _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, String(key), nextRecord));
|
|
388
|
+
draftsRef.current = nextDrafts;
|
|
389
|
+
var editableConfig = editableRef.current;
|
|
390
|
+
editableConfig !== false && ((_editableConfig$onVal = editableConfig.onValuesChange) === null || _editableConfig$onVal === void 0 ? void 0 : _editableConfig$onVal.call(editableConfig, nextRecord, rowsRef.current.map(function (item) {
|
|
391
|
+
return resolveRowKey(item) === key ? nextRecord : item;
|
|
392
|
+
})));
|
|
393
|
+
return nextDrafts;
|
|
394
|
+
});
|
|
395
|
+
}, [resolveRowKey]);
|
|
396
|
+
var addRecord = (0, _react.useCallback)(function () {
|
|
397
|
+
if (!recordCreatorProps) {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
var record = typeof recordCreatorProps.record === 'function' ? recordCreatorProps.record() : recordCreatorProps.record;
|
|
401
|
+
var nextRows = recordCreatorProps.position === 'top' ? [record].concat(_toConsumableArray(rowsRef.current)) : [].concat(_toConsumableArray(rowsRef.current), [record]);
|
|
402
|
+
updateRows(nextRows);
|
|
403
|
+
startEdit(record);
|
|
404
|
+
}, [recordCreatorProps, startEdit, updateRows]);
|
|
405
|
+
var tableColumns = (0, _react.useMemo)(function () {
|
|
406
|
+
var mappedColumns = columns.filter(function (column) {
|
|
407
|
+
return !column.hideInTable;
|
|
408
|
+
}).map(function (column) {
|
|
409
|
+
var dataIndexKey = getDataIndexKey(column.dataIndex);
|
|
410
|
+
return _objectSpread(_objectSpread({}, column), {}, {
|
|
411
|
+
render: function render(value, record, index) {
|
|
412
|
+
var key = resolveRowKey(record);
|
|
413
|
+
var isEditing = mergedEditableKeysRef.current.includes(key);
|
|
414
|
+
var draftRecord = draftsRef.current[String(key)] || record;
|
|
415
|
+
var editorId = dataIndexKey ? "".concat(String(key), "::").concat(dataIndexKey) : undefined;
|
|
416
|
+
if (isEditing && dataIndexKey) {
|
|
417
|
+
return buildEditorNode(column, getValueByDataIndex(draftRecord, column.dataIndex), function (nextValue) {
|
|
418
|
+
return updateDraftValue(record, key, column.dataIndex, nextValue, editorId);
|
|
419
|
+
}, editorId);
|
|
420
|
+
}
|
|
421
|
+
if (column.render) {
|
|
422
|
+
return column.render(value, record, index);
|
|
423
|
+
}
|
|
424
|
+
var rawValue = getValueByDataIndex(record, column.dataIndex);
|
|
425
|
+
var nextValue = column.renderText ? column.renderText(rawValue, record, index) : rawValue;
|
|
426
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_field.ProField, {
|
|
427
|
+
text: nextValue,
|
|
428
|
+
valueType: column.valueType,
|
|
429
|
+
valueEnum: column.valueEnum
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
});
|
|
434
|
+
if (editable === false) {
|
|
435
|
+
return mappedColumns;
|
|
436
|
+
}
|
|
437
|
+
mappedColumns.push({
|
|
438
|
+
title: '操作',
|
|
439
|
+
key: '__editable_option__',
|
|
440
|
+
width: 200,
|
|
441
|
+
render: function render(_, record) {
|
|
442
|
+
var key = resolveRowKey(record);
|
|
443
|
+
var isEditing = mergedEditableKeysRef.current.includes(key);
|
|
444
|
+
var action = {
|
|
445
|
+
save: function save() {
|
|
446
|
+
void saveEdit(record);
|
|
447
|
+
},
|
|
448
|
+
cancel: function cancel() {
|
|
449
|
+
return cancelEdit(record);
|
|
450
|
+
},
|
|
451
|
+
delete: function _delete() {
|
|
452
|
+
void deleteRow(record);
|
|
453
|
+
},
|
|
454
|
+
edit: function edit() {
|
|
455
|
+
return startEdit(record);
|
|
456
|
+
},
|
|
457
|
+
record: record
|
|
458
|
+
};
|
|
459
|
+
var defaultDom = isEditing ? [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
460
|
+
size: "small",
|
|
461
|
+
onClick: action.save,
|
|
462
|
+
children: "\u4FDD\u5B58"
|
|
463
|
+
}, "save"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
464
|
+
size: "small",
|
|
465
|
+
variant: "outline",
|
|
466
|
+
onClick: action.cancel,
|
|
467
|
+
children: "\u53D6\u6D88"
|
|
468
|
+
}, "cancel")] : [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
469
|
+
size: "small",
|
|
470
|
+
variant: "outline",
|
|
471
|
+
onClick: action.edit,
|
|
472
|
+
children: "\u7F16\u8F91"
|
|
473
|
+
}, "edit"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
474
|
+
size: "small",
|
|
475
|
+
variant: "ghost",
|
|
476
|
+
onClick: action.delete,
|
|
477
|
+
children: "\u5220\u9664"
|
|
478
|
+
}, "delete")];
|
|
479
|
+
var rendered = editable.actionRender ? editable.actionRender(record, action, defaultDom) : defaultDom;
|
|
480
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
481
|
+
className: "flex flex-wrap items-center gap-2",
|
|
482
|
+
children: rendered
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
return mappedColumns;
|
|
487
|
+
}, [cancelEdit, columns, deleteRow, editable, resolveRowKey, saveEdit, startEdit, updateDraftValue]);
|
|
488
|
+
var creatorButton = recordCreatorProps !== false && recordCreatorProps ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
489
|
+
htmlType: "button",
|
|
490
|
+
variant: "outline",
|
|
491
|
+
onClick: addRecord,
|
|
492
|
+
children: recordCreatorProps.creatorButtonText || '新增一行'
|
|
493
|
+
}) : null;
|
|
494
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_card.Card, {
|
|
495
|
+
className: (0, _cn.cn)('overflow-visible', className),
|
|
496
|
+
children: [renderToolbar(headerTitle, toolBarRender), creatorButton && (recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.position) !== 'bottom' ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
497
|
+
className: "mb-4",
|
|
498
|
+
children: creatorButton
|
|
499
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_table.Table, _objectSpread(_objectSpread({}, tableProps), {}, {
|
|
500
|
+
rowKey: rowKey,
|
|
501
|
+
columns: tableColumns,
|
|
502
|
+
dataSource: rows,
|
|
503
|
+
pagination: pagination,
|
|
504
|
+
rowClassName: function rowClassName(record, index) {
|
|
505
|
+
var _tableProps$rowClassN;
|
|
506
|
+
return (0, _cn.cn)(mergedEditableKeys.includes(resolveRowKey(record)) && 'bg-primary/5', (_tableProps$rowClassN = tableProps.rowClassName) === null || _tableProps$rowClassN === void 0 ? void 0 : _tableProps$rowClassN.call(tableProps, record, index));
|
|
507
|
+
}
|
|
508
|
+
})), creatorButton && (recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.position) === 'bottom' ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
509
|
+
className: "mt-4",
|
|
510
|
+
children: creatorButton
|
|
511
|
+
}) : null]
|
|
512
|
+
});
|
|
513
|
+
};
|
|
514
|
+
var _default = exports.default = EditableTable;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Dropdown } from '@hanwenbo/x-web-ui/dropdown';
|
|
3
|
+
import { type FormInstance } from '@hanwenbo/x-web-ui/form';
|
|
4
|
+
import type { ActionType, ProColumnType, ProColumns, ProFieldValueType, ProTableProps, RequestData } from '../../types';
|
|
5
|
+
import { FieldIndexColumn, FieldStatus } from '../field';
|
|
6
|
+
import { ConfigConsumer, IntlConsumer, arEGIntl, caESIntl, createIntl, enUSIntl, esESIntl, frFRIntl, itITIntl, jaJPIntl, msMYIntl, ptBRIntl, ruRUIntl, thTHIntl, viVNIntl, zhCNIntl, zhTWIntl } from '../provider';
|
|
7
|
+
import { DragSortTable } from './dragSortTable';
|
|
8
|
+
import { EditableTable } from './editableTable';
|
|
9
|
+
import { ListToolBar } from './listToolBar';
|
|
10
|
+
import { Search } from './search';
|
|
11
|
+
export { EditableTable } from './editableTable';
|
|
12
|
+
export { DragSortTable } from './dragSortTable';
|
|
13
|
+
export { ListToolBar } from './listToolBar';
|
|
14
|
+
export { Search } from './search';
|
|
15
|
+
export { ConfigConsumer, IntlConsumer, FieldIndexColumn, FieldStatus, arEGIntl, caESIntl, createIntl, enUSIntl, esESIntl, frFRIntl, itITIntl, jaJPIntl, msMYIntl, ptBRIntl, ruRUIntl, thTHIntl, viVNIntl, zhCNIntl, zhTWIntl };
|
|
16
|
+
export declare type ColumnsState = Record<string, {
|
|
17
|
+
fixed?: 'left' | 'right';
|
|
18
|
+
show?: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
export declare type DragTableProps<RecordType extends Record<string, any> = Record<string, any>> = import('./dragSortTable').DragSortTableProps<RecordType>;
|
|
21
|
+
export declare type EditableFormInstance = FormInstance<any>;
|
|
22
|
+
export declare type EditableProTableProps<RecordType extends Record<string, any> = Record<string, any>> = import('./editableTable').EditableTableProps<RecordType>;
|
|
23
|
+
export declare type IntlType = import('../provider').IntlType;
|
|
24
|
+
export declare type ListToolBarProps = import('./listToolBar').ListToolBarProps;
|
|
25
|
+
export declare type ListToolBarSetting = import('./listToolBar').ListToolBarSetting;
|
|
26
|
+
export declare type ProColumnsValueType = ProFieldValueType;
|
|
27
|
+
export declare type TableRowEditable<RecordType = any> = import('./editableTable').EditableConfig<RecordType>;
|
|
28
|
+
export type { ActionType, ProColumnType, ProColumns, ProTableProps, RequestData };
|
|
29
|
+
export declare const EditableProTable: <RecordType extends Record<string, any> = Record<string, any>>({ rowKey, columns, dataSource: controlledDataSource, editable, recordCreatorProps, headerTitle, toolBarRender, pagination, className, onDataSourceChange, ...tableProps }: import("./editableTable").EditableTableProps<RecordType>) => React.JSX.Element;
|
|
30
|
+
export declare const RowEditorTable: <RecordType extends Record<string, any> = Record<string, any>>({ rowKey, columns, dataSource: controlledDataSource, editable, recordCreatorProps, headerTitle, toolBarRender, pagination, className, onDataSourceChange, ...tableProps }: import("./editableTable").EditableTableProps<RecordType>) => React.JSX.Element;
|
|
31
|
+
export declare const CellEditorTable: <RecordType extends Record<string, any> = Record<string, any>>({ rowKey, columns, dataSource: controlledDataSource, editable, recordCreatorProps, headerTitle, toolBarRender, pagination, className, onDataSourceChange, ...tableProps }: import("./editableTable").EditableTableProps<RecordType>) => React.JSX.Element;
|
|
32
|
+
export declare const IndexColumn: React.FC<import("../field").ProFieldPropsType>;
|
|
33
|
+
export declare const TableStatus: React.FC<import("../field").ProFieldPropsType>;
|
|
34
|
+
export declare const TableDropdown: any;
|
|
35
|
+
export declare const getSearchFieldAdaptiveMaxWidth: (valueTypeName: string) => 176 | 220 | 320 | undefined;
|
|
36
|
+
export declare const getSearchFieldAdaptiveColSize: (valueTypeName: string) => 2 | undefined;
|
|
37
|
+
declare const BaseProTable: <RecordType extends Record<string, any> = Record<string, any>, Params extends Record<string, any> = Record<string, any>>({ columns, params, request, dataSource: controlledDataSource, loading: controlledLoading, actionRef, formRef, toolBarRender, optionsRender, searchFormRender, tableRender, tableExtraRender, tableClassName, tableStyle, onLoad, onLoadingChange, onRequestError, onSizeChange, tableAlertRender, tableAlertOptionRender, cardProps, paginationLayout, paginationSize, toolbar, search, beforeSearchSubmit, options, columnsState, headerTitle, pagination, rowSelection, onDataSourceChange, onChange, className, ...tableProps }: ProTableProps<RecordType, Params>) => React.JSX.Element;
|
|
38
|
+
export declare const ProTableCore: <RecordType extends Record<string, any> = Record<string, any>, Params extends Record<string, any> = Record<string, any>>({ columns, params, request, dataSource: controlledDataSource, loading: controlledLoading, actionRef, formRef, toolBarRender, optionsRender, searchFormRender, tableRender, tableExtraRender, tableClassName, tableStyle, onLoad, onLoadingChange, onRequestError, onSizeChange, tableAlertRender, tableAlertOptionRender, cardProps, paginationLayout, paginationSize, toolbar, search, beforeSearchSubmit, options, columnsState, headerTitle, pagination, rowSelection, onDataSourceChange, onChange, className, ...tableProps }: ProTableProps<RecordType, Params>) => React.JSX.Element;
|
|
39
|
+
declare type ProTableComponent = typeof BaseProTable & {
|
|
40
|
+
EditableTable: typeof EditableTable;
|
|
41
|
+
DragSortTable: typeof DragSortTable;
|
|
42
|
+
ListToolBar: typeof ListToolBar;
|
|
43
|
+
Search: typeof Search;
|
|
44
|
+
EditableProTable: typeof EditableTable;
|
|
45
|
+
RowEditorTable: typeof EditableTable;
|
|
46
|
+
CellEditorTable: typeof EditableTable;
|
|
47
|
+
IndexColumn: typeof FieldIndexColumn;
|
|
48
|
+
TableStatus: typeof FieldStatus;
|
|
49
|
+
TableDropdown: typeof Dropdown;
|
|
50
|
+
};
|
|
51
|
+
export declare const ProTable: ProTableComponent;
|
|
52
|
+
export default ProTable;
|