@nokecy/qc-ui-components 2.0.0-beta.0 → 2.0.0-beta.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/dist/cjs/ConfirmPro/index.d.ts +12 -9
- package/dist/cjs/ConfirmPro/index.js +11 -34
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +422 -156
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/cjs/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/cjs/ag-grid-plus/density.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/density.js +52 -0
- package/dist/cjs/ag-grid-plus/index.less +36 -0
- package/dist/cjs/ag-grid-plus/interface.d.ts +58 -1
- package/dist/cjs/ag-grid-plus/interface.js +1 -1
- package/dist/cjs/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.js +63 -26
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.js +61 -0
- package/dist/cjs/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/cjs/ag-grid-plus/rowColors.js +58 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +108 -76
- package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.js +206 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +19 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +5 -14
- package/dist/cjs/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/cjs/ag-grid-plus/settingItem/index.js +34 -12
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.js +87 -0
- package/dist/cjs/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.js +40 -0
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/theme.d.ts +7 -1
- package/dist/cjs/ag-grid-plus/theme.js +31 -6
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.js +128 -0
- package/dist/cjs/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/cjs/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/toolBar/overflow.js +48 -0
- package/dist/cjs/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/cjs/ag-grid-plus/types.d.ts +6 -0
- package/dist/cjs/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +13 -2
- package/dist/cjs/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/cjs/ag-grid-plus/utils/constants.js +3 -2
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.js +58 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.js +83 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.js +69 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.js +17 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.js +196 -0
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.js +13 -9
- package/dist/cjs/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/cjs/ag-grid-plus/utils/valueFormat.js +73 -0
- package/dist/cjs/ag-grid-plus/utils.js +3 -2
- package/dist/cjs/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/cjs/array-table/arrayAddBtn.js +2 -2
- package/dist/cjs/array-table/autoHeight.d.ts +18 -0
- package/dist/cjs/array-table/autoHeight.js +30 -0
- package/dist/cjs/array-table/batchRemove.d.ts +2 -2
- package/dist/cjs/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/cjs/array-table/cellEditorMarker.js +92 -0
- package/dist/cjs/array-table/errorLocator.d.ts +29 -0
- package/dist/cjs/array-table/errorLocator.js +101 -0
- package/dist/cjs/array-table/hooks.d.ts +52 -4
- package/dist/cjs/array-table/hooks.js +251 -18
- package/dist/cjs/array-table/index.d.ts +6 -0
- package/dist/cjs/array-table/index.js +167 -23
- package/dist/cjs/array-table/interface.d.ts +22 -0
- package/dist/cjs/array-table/preview.js +39 -5
- package/dist/cjs/array-table/rowFeedback.d.ts +2 -2
- package/dist/cjs/array-table/rowFeedback.js +8 -8
- package/dist/cjs/array-table/summary.d.ts +25 -0
- package/dist/cjs/array-table/summary.js +70 -0
- package/dist/cjs/array-table/theme.d.ts +35 -5
- package/dist/cjs/array-table/theme.js +49 -12
- package/dist/cjs/array-table/title.d.ts +3 -0
- package/dist/cjs/array-table/title.js +29 -0
- package/dist/cjs/array-table/utils.d.ts +2 -1
- package/dist/cjs/array-table/utils.js +94 -23
- package/dist/cjs/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/cjs/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/cjs/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/cjs/deleteConfirm/index.d.ts +14 -0
- package/dist/cjs/deleteConfirm/index.js +73 -12
- package/dist/cjs/dialogSelect/index.d.ts +19 -0
- package/dist/cjs/dialogSelect/index.js +189 -15
- package/dist/cjs/dialogSelect/index.less +18 -0
- package/dist/cjs/documentPage/documentPage.d.ts +6 -3
- package/dist/cjs/documentPage/documentPage.js +23 -8
- package/dist/cjs/documentPage/index.d.ts +2 -0
- package/dist/cjs/documentPage/index.js +19 -0
- package/dist/cjs/documentPage/leaveGuard.d.ts +31 -0
- package/dist/cjs/documentPage/leaveGuard.js +91 -0
- package/dist/cjs/draggableModal/index.d.ts +24 -1
- package/dist/cjs/draggableModal/index.js +36 -6
- package/dist/cjs/fullScreenAlert/index.less +10 -10
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/readPretty/arrayTable.js +5 -1
- package/dist/cjs/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/cjs/scanCollect/ScanFeedbackInput.js +113 -0
- package/dist/cjs/scanCollect/index.d.ts +4 -0
- package/dist/cjs/scanCollect/index.js +14 -0
- package/dist/cjs/scanCollect/scanSound.d.ts +15 -0
- package/dist/cjs/scanCollect/scanSound.js +91 -0
- package/dist/esm/ConfirmPro/index.d.ts +12 -9
- package/dist/esm/ConfirmPro/index.js +11 -34
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +423 -156
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/esm/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/esm/ag-grid-plus/density.d.ts +25 -0
- package/dist/esm/ag-grid-plus/density.js +45 -0
- package/dist/esm/ag-grid-plus/index.less +36 -0
- package/dist/esm/ag-grid-plus/interface.d.ts +58 -1
- package/dist/esm/ag-grid-plus/interface.js +2 -0
- package/dist/esm/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/esm/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/esm/ag-grid-plus/queryForm/queryForm.js +64 -26
- package/dist/esm/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/esm/ag-grid-plus/queryForm/queryValues.js +54 -0
- package/dist/esm/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/esm/ag-grid-plus/rowColors.js +50 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +110 -78
- package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.js +198 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +18 -1
- package/dist/esm/ag-grid-plus/setting/index.js +6 -15
- package/dist/esm/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/esm/ag-grid-plus/settingItem/index.js +35 -13
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.js +82 -0
- package/dist/esm/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.js +34 -0
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/esm/ag-grid-plus/theme.d.ts +7 -1
- package/dist/esm/ag-grid-plus/theme.js +31 -6
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.js +120 -0
- package/dist/esm/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/esm/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/esm/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/esm/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/esm/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/esm/ag-grid-plus/toolBar/overflow.js +41 -0
- package/dist/esm/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/esm/ag-grid-plus/types.d.ts +6 -0
- package/dist/esm/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/esm/ag-grid-plus/utils/columnProcessors.js +14 -3
- package/dist/esm/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/esm/ag-grid-plus/utils/constants.js +3 -2
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.js +52 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/esm/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/esm/ag-grid-plus/utils/listKeyboard.js +77 -0
- package/dist/esm/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/esm/ag-grid-plus/utils/pagination.js +60 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.js +11 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.js +192 -0
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.js +12 -8
- package/dist/esm/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/esm/ag-grid-plus/utils/valueFormat.js +63 -0
- package/dist/esm/ag-grid-plus/utils.js +3 -2
- package/dist/esm/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/esm/array-table/arrayAddBtn.js +1 -1
- package/dist/esm/array-table/autoHeight.d.ts +18 -0
- package/dist/esm/array-table/autoHeight.js +25 -0
- package/dist/esm/array-table/batchRemove.d.ts +2 -2
- package/dist/esm/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/esm/array-table/cellEditorMarker.js +84 -0
- package/dist/esm/array-table/errorLocator.d.ts +29 -0
- package/dist/esm/array-table/errorLocator.js +95 -0
- package/dist/esm/array-table/hooks.d.ts +52 -4
- package/dist/esm/array-table/hooks.js +251 -17
- package/dist/esm/array-table/index.d.ts +6 -0
- package/dist/esm/array-table/index.js +170 -25
- package/dist/esm/array-table/interface.d.ts +22 -0
- package/dist/esm/array-table/preview.js +43 -7
- package/dist/esm/array-table/rowFeedback.d.ts +2 -2
- package/dist/esm/array-table/rowFeedback.js +8 -8
- package/dist/esm/array-table/summary.d.ts +25 -0
- package/dist/esm/array-table/summary.js +66 -0
- package/dist/esm/array-table/theme.d.ts +35 -5
- package/dist/esm/array-table/theme.js +47 -12
- package/dist/esm/array-table/title.d.ts +3 -0
- package/dist/esm/array-table/title.js +24 -0
- package/dist/esm/array-table/utils.d.ts +2 -1
- package/dist/esm/array-table/utils.js +93 -22
- package/dist/esm/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/esm/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/esm/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/esm/deleteConfirm/index.d.ts +14 -0
- package/dist/esm/deleteConfirm/index.js +72 -12
- package/dist/esm/dialogSelect/index.d.ts +19 -0
- package/dist/esm/dialogSelect/index.js +190 -16
- package/dist/esm/dialogSelect/index.less +18 -0
- package/dist/esm/documentPage/documentPage.d.ts +6 -3
- package/dist/esm/documentPage/documentPage.js +23 -8
- package/dist/esm/documentPage/index.d.ts +2 -0
- package/dist/esm/documentPage/index.js +1 -0
- package/dist/esm/documentPage/leaveGuard.d.ts +31 -0
- package/dist/esm/documentPage/leaveGuard.js +86 -0
- package/dist/esm/draggableModal/index.d.ts +24 -1
- package/dist/esm/draggableModal/index.js +35 -5
- package/dist/esm/fullScreenAlert/index.less +10 -10
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/readPretty/arrayTable.js +6 -2
- package/dist/esm/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/esm/scanCollect/ScanFeedbackInput.js +107 -0
- package/dist/esm/scanCollect/index.d.ts +4 -0
- package/dist/esm/scanCollect/index.js +2 -0
- package/dist/esm/scanCollect/scanSound.d.ts +15 -0
- package/dist/esm/scanCollect/scanSound.js +84 -0
- package/package.json +2 -2
|
@@ -4,12 +4,13 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _react =
|
|
7
|
+
exports.default = exports.CONFIRM_DIALOG_WIDTH = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _antd = require("antd");
|
|
10
10
|
var _icons = require("@ant-design/icons");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
13
14
|
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; }
|
|
14
15
|
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; }
|
|
15
16
|
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; }
|
|
@@ -24,6 +25,42 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
24
25
|
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; }
|
|
25
26
|
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; } }
|
|
26
27
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
28
|
+
/** 确认框默认宽度,对应规范「确认、单字段编辑 Modal 560」。 */
|
|
29
|
+
var CONFIRM_DIALOG_WIDTH = exports.CONFIRM_DIALOG_WIDTH = 560;
|
|
30
|
+
|
|
31
|
+
/** 输入确认区:正文 + 一行输入框,键入值与 expected 完全一致时通知外层点亮确认按钮。 */
|
|
32
|
+
var TypeToConfirm = function TypeToConfirm(_ref) {
|
|
33
|
+
var body = _ref.body,
|
|
34
|
+
expected = _ref.expected,
|
|
35
|
+
onMatchChange = _ref.onMatchChange;
|
|
36
|
+
var _useState = (0, _react.useState)(''),
|
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
38
|
+
value = _useState2[0],
|
|
39
|
+
setValue = _useState2[1];
|
|
40
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
41
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
42
|
+
style: {
|
|
43
|
+
marginBottom: 12
|
|
44
|
+
},
|
|
45
|
+
children: body
|
|
46
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
47
|
+
style: {
|
|
48
|
+
marginBottom: 8
|
|
49
|
+
},
|
|
50
|
+
children: ["\u8BF7\u8F93\u5165 ", /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
|
|
51
|
+
children: expected
|
|
52
|
+
}), " \u4EE5\u786E\u8BA4"]
|
|
53
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Input, {
|
|
54
|
+
value: value,
|
|
55
|
+
"aria-label": "\u8F93\u5165 ".concat(expected, " \u4EE5\u786E\u8BA4"),
|
|
56
|
+
onChange: function onChange(event) {
|
|
57
|
+
setValue(event.target.value);
|
|
58
|
+
onMatchChange(event.target.value === expected);
|
|
59
|
+
}
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
27
64
|
/**
|
|
28
65
|
* DeleteConfirm 删除确认组件
|
|
29
66
|
*
|
|
@@ -49,6 +86,11 @@ var DeleteConfirm = function DeleteConfirm(props) {
|
|
|
49
86
|
okText = props.okText,
|
|
50
87
|
_props$danger = props.danger,
|
|
51
88
|
danger = _props$danger === void 0 ? true : _props$danger,
|
|
89
|
+
confirmText = props.confirmText,
|
|
90
|
+
_props$autoFocusButto = props.autoFocusButton,
|
|
91
|
+
autoFocusButton = _props$autoFocusButto === void 0 ? 'cancel' : _props$autoFocusButto,
|
|
92
|
+
_props$width = props.width,
|
|
93
|
+
width = _props$width === void 0 ? CONFIRM_DIALOG_WIDTH : _props$width,
|
|
52
94
|
children = props.children;
|
|
53
95
|
|
|
54
96
|
// 保留宿主主题,并让 antd 接管异步提交的加载与失败恢复。@author nokecy
|
|
@@ -57,8 +99,8 @@ var DeleteConfirm = function DeleteConfirm(props) {
|
|
|
57
99
|
modal = _Modal$useModal2[0],
|
|
58
100
|
contextHolder = _Modal$useModal2[1];
|
|
59
101
|
var showPromiseConfirm = /*#__PURE__*/function () {
|
|
60
|
-
var
|
|
61
|
-
var titleText, contentText;
|
|
102
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {
|
|
103
|
+
var titleText, contentText, typed, instance;
|
|
62
104
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
63
105
|
while (1) switch (_context.prev = _context.next) {
|
|
64
106
|
case 0:
|
|
@@ -67,14 +109,33 @@ var DeleteConfirm = function DeleteConfirm(props) {
|
|
|
67
109
|
// 不传时的兜底只承诺「不可撤销」:原来的默认正文是把 title 拼进去,
|
|
68
110
|
// 拼出来是一句病句,而且始终没告诉用户动的是哪条数据。@author nokecy
|
|
69
111
|
contentText = content || '该操作不可撤销,请确认后继续。';
|
|
70
|
-
|
|
71
|
-
|
|
112
|
+
typed = typeof confirmText === 'string' && confirmText.length > 0;
|
|
113
|
+
_context.next = 5;
|
|
114
|
+
return instance = modal.confirm(_objectSpread(_objectSpread({
|
|
72
115
|
title: titleText,
|
|
73
116
|
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.ExclamationCircleFilled, {}),
|
|
74
|
-
|
|
75
|
-
|
|
117
|
+
width: width,
|
|
118
|
+
focusable: {
|
|
119
|
+
autoFocusButton: autoFocusButton
|
|
120
|
+
},
|
|
121
|
+
content: typed ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TypeToConfirm, {
|
|
122
|
+
body: contentText,
|
|
123
|
+
expected: confirmText,
|
|
124
|
+
onMatchChange: function onMatchChange(matched) {
|
|
125
|
+
var _instance;
|
|
126
|
+
return (_instance = instance) === null || _instance === void 0 ? void 0 : _instance.update({
|
|
127
|
+
okButtonProps: {
|
|
128
|
+
danger: danger,
|
|
129
|
+
disabled: !matched
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}) : contentText,
|
|
134
|
+
okButtonProps: _objectSpread({
|
|
76
135
|
danger: danger
|
|
77
|
-
}
|
|
136
|
+
}, typed ? {
|
|
137
|
+
disabled: true
|
|
138
|
+
} : {})
|
|
78
139
|
}, okText ? {
|
|
79
140
|
okText: okText
|
|
80
141
|
} : {}), {}, {
|
|
@@ -86,14 +147,14 @@ var DeleteConfirm = function DeleteConfirm(props) {
|
|
|
86
147
|
});
|
|
87
148
|
}
|
|
88
149
|
}));
|
|
89
|
-
case
|
|
150
|
+
case 5:
|
|
90
151
|
case "end":
|
|
91
152
|
return _context.stop();
|
|
92
153
|
}
|
|
93
154
|
}, _callee);
|
|
94
155
|
}));
|
|
95
156
|
return function showPromiseConfirm(_x) {
|
|
96
|
-
return
|
|
157
|
+
return _ref2.apply(this, arguments);
|
|
97
158
|
};
|
|
98
159
|
}();
|
|
99
160
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -49,7 +49,26 @@ interface IDialogSelectProps extends SelectProps<any> {
|
|
|
49
49
|
}) => React.ReactNode;
|
|
50
50
|
/** 选择窗口里使用的表格组件,默认 `AgGridPlus`;宿主可注入自己封装过的表格基座。 */
|
|
51
51
|
gridComponent?: React.ComponentType<any>;
|
|
52
|
+
/**
|
|
53
|
+
* 候选面板第一列(编码)取的字段名。传入后候选渲染成「编码 | 名称」两列,编码在前(DESIGN.md §6.12)。
|
|
54
|
+
* 不传则保持 Select 默认的单列文字。
|
|
55
|
+
*/
|
|
56
|
+
codeField?: string;
|
|
57
|
+
/** `onSearch` 的防抖毫秒数,默认 200(§6.12);0 关闭防抖。仅在传了 `onSearch` 时有意义。 */
|
|
58
|
+
searchDebounce?: number;
|
|
59
|
+
/**
|
|
60
|
+
* 远程检索时候选面板最多展示的条数,默认 20,超出写「仅显示前 20 条,继续输入可缩小范围」,不静默截断。
|
|
61
|
+
* 只在传了 `onSearch`(服务端检索)时生效;本地全量下拉不截断。传 0 关闭。
|
|
62
|
+
*/
|
|
63
|
+
maxOptions?: number;
|
|
64
|
+
/**
|
|
65
|
+
* 「最近使用」的存储键。传入后输入框为空时候选面板先列最近选过的至多 5 条,其后是档案候选。
|
|
66
|
+
* 存在 localStorage,需要「按用户记」时由调用方把用户标识拼进键里;不传则不启用。
|
|
67
|
+
*/
|
|
68
|
+
recentKey?: string;
|
|
52
69
|
}
|
|
70
|
+
/** 候选面板最小宽,栅格里的输入区放不下两列时仍可读(§6.12)。 */
|
|
71
|
+
export declare const DIALOG_SELECT_MIN_POPUP_WIDTH = 360;
|
|
53
72
|
export { IDialogSelectProps };
|
|
54
73
|
declare const _default: (props: IDialogSelectProps) => React.ReactElement;
|
|
55
74
|
export default _default;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.DIALOG_SELECT_MIN_POPUP_WIDTH = void 0;
|
|
7
7
|
var _antd = require("antd");
|
|
8
8
|
var _formilyReact = require("@nokecy/formily-react");
|
|
9
9
|
var _formilyAntd = require("@nokecy/formily-antd");
|
|
@@ -19,8 +19,8 @@ var _cellInteractionLock = require("../array-table/cellInteractionLock");
|
|
|
19
19
|
var _selectedLabels = require("./selectedLabels");
|
|
20
20
|
require("./index.less");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
var _excluded = ["request", "columnDefs", "value", "labelField", "valueField", "displayField", "onChangeItem", "hideBtn", "useAutoComplete", "queryFun", "pagedApiAdapter", "resolveSelected", "selectedScopeKey", "modalWidth", "dialogZIndex", "dialogMode", "dialogPageSize", "dialogPageSizeOptions", "dialogGridKey", "dialogDataSource", "dialogIsRowSelectable", "dialogRenderer", "gridComponent"],
|
|
23
|
-
_excluded2 = ["request", "columnDefs", "labelField", "valueField", "displayField", "onChangeItem", "hideBtn", "useAutoComplete", "queryFun", "pagedApiAdapter", "resolveSelected", "selectedScopeKey", "modalWidth", "dialogZIndex", "dialogMode", "dialogPageSize", "dialogPageSizeOptions", "dialogGridKey", "dialogDataSource", "dialogIsRowSelectable", "dialogRenderer", "gridComponent"];
|
|
22
|
+
var _excluded = ["request", "columnDefs", "value", "labelField", "valueField", "displayField", "onChangeItem", "hideBtn", "useAutoComplete", "queryFun", "pagedApiAdapter", "resolveSelected", "selectedScopeKey", "modalWidth", "dialogZIndex", "dialogMode", "dialogPageSize", "dialogPageSizeOptions", "dialogGridKey", "dialogDataSource", "dialogIsRowSelectable", "dialogRenderer", "gridComponent", "codeField", "searchDebounce", "maxOptions", "recentKey"],
|
|
23
|
+
_excluded2 = ["request", "columnDefs", "labelField", "valueField", "displayField", "onChangeItem", "hideBtn", "useAutoComplete", "queryFun", "pagedApiAdapter", "resolveSelected", "selectedScopeKey", "modalWidth", "dialogZIndex", "dialogMode", "dialogPageSize", "dialogPageSizeOptions", "dialogGridKey", "dialogDataSource", "dialogIsRowSelectable", "dialogRenderer", "gridComponent", "codeField", "searchDebounce", "maxOptions", "recentKey"];
|
|
24
24
|
/** 选择窗口的行选择模式。 */
|
|
25
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
26
|
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); }
|
|
@@ -34,6 +34,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
34
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
35
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
36
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 _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
40
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
37
41
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
38
42
|
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."); }
|
|
39
43
|
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); }
|
|
@@ -42,6 +46,30 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
42
46
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
43
47
|
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; }
|
|
44
48
|
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; }
|
|
49
|
+
/** 候选面板最小宽,栅格里的输入区放不下两列时仍可读(§6.12)。 */
|
|
50
|
+
var DIALOG_SELECT_MIN_POPUP_WIDTH = exports.DIALOG_SELECT_MIN_POPUP_WIDTH = 360;
|
|
51
|
+
/** 最近使用的上限(§6.12)。 */
|
|
52
|
+
var RECENT_LIMIT = 5;
|
|
53
|
+
var recentStorageKey = function recentStorageKey(key) {
|
|
54
|
+
return "qc-dialog-select:recent:".concat(key);
|
|
55
|
+
};
|
|
56
|
+
var readRecent = function readRecent(key) {
|
|
57
|
+
if (!key) return [];
|
|
58
|
+
try {
|
|
59
|
+
var _window$localStorage$;
|
|
60
|
+
var parsed = JSON.parse((_window$localStorage$ = window.localStorage.getItem(recentStorageKey(key))) !== null && _window$localStorage$ !== void 0 ? _window$localStorage$ : '[]');
|
|
61
|
+
return Array.isArray(parsed) ? parsed.slice(0, RECENT_LIMIT) : [];
|
|
62
|
+
} catch (_unused) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
var writeRecent = function writeRecent(key, items) {
|
|
67
|
+
try {
|
|
68
|
+
window.localStorage.setItem(recentStorageKey(key), JSON.stringify(items.slice(0, RECENT_LIMIT)));
|
|
69
|
+
} catch (_unused2) {
|
|
70
|
+
// 存储不可用时静默放弃,不影响选择本身。
|
|
71
|
+
}
|
|
72
|
+
};
|
|
45
73
|
var DialogSelectInner = function DialogSelectInner(props) {
|
|
46
74
|
var _rest$labelRender, _selectRows$length;
|
|
47
75
|
// 这些是本组件自己的属性,不能透传给 Select(否则会落到 DOM 上触发未知属性告警)。
|
|
@@ -70,6 +98,12 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
70
98
|
dialogIsRowSelectable = props.dialogIsRowSelectable,
|
|
71
99
|
dialogRenderer = props.dialogRenderer,
|
|
72
100
|
gridComponent = props.gridComponent,
|
|
101
|
+
codeField = props.codeField,
|
|
102
|
+
_props$searchDebounce = props.searchDebounce,
|
|
103
|
+
searchDebounce = _props$searchDebounce === void 0 ? 200 : _props$searchDebounce,
|
|
104
|
+
_props$maxOptions = props.maxOptions,
|
|
105
|
+
maxOptions = _props$maxOptions === void 0 ? 20 : _props$maxOptions,
|
|
106
|
+
recentKey = props.recentKey,
|
|
73
107
|
rest = _objectWithoutProperties(props, _excluded);
|
|
74
108
|
var Grid = gridComponent !== null && gridComponent !== void 0 ? gridComponent : _index.AgGridPlus;
|
|
75
109
|
var _useControllableValue = (0, _ahooks.useControllableValue)(props),
|
|
@@ -94,6 +128,99 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
94
128
|
var selectionMode = dialogMode !== null && dialogMode !== void 0 ? dialogMode : isMultipleValue ? 'multiple' : 'single';
|
|
95
129
|
var key = valueField !== null && valueField !== void 0 ? valueField : 'id';
|
|
96
130
|
var localData = Array.isArray(dialogDataSource);
|
|
131
|
+
|
|
132
|
+
// 候选面板:防抖检索、最近使用、前 N 条上限。
|
|
133
|
+
var _useState3 = (0, _react.useState)(''),
|
|
134
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
135
|
+
searchText = _useState4[0],
|
|
136
|
+
setSearchText = _useState4[1];
|
|
137
|
+
var _useState5 = (0, _react.useState)(function () {
|
|
138
|
+
return readRecent(recentKey);
|
|
139
|
+
}),
|
|
140
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
141
|
+
recent = _useState6[0],
|
|
142
|
+
setRecent = _useState6[1];
|
|
143
|
+
(0, _react.useEffect)(function () {
|
|
144
|
+
return setRecent(readRecent(recentKey));
|
|
145
|
+
}, [recentKey]);
|
|
146
|
+
var remember = function remember(items) {
|
|
147
|
+
if (!recentKey) return;
|
|
148
|
+
var merged = [].concat(_toConsumableArray(items), _toConsumableArray(recent.filter(function (old) {
|
|
149
|
+
return !items.some(function (it) {
|
|
150
|
+
return it.value === old.value;
|
|
151
|
+
});
|
|
152
|
+
}))).slice(0, RECENT_LIMIT);
|
|
153
|
+
setRecent(merged);
|
|
154
|
+
writeRecent(recentKey, merged);
|
|
155
|
+
};
|
|
156
|
+
var hostOnSearch = rest.onSearch;
|
|
157
|
+
var _useDebounceFn = (0, _ahooks.useDebounceFn)(function (text) {
|
|
158
|
+
return hostOnSearch === null || hostOnSearch === void 0 ? void 0 : hostOnSearch(text);
|
|
159
|
+
}, {
|
|
160
|
+
wait: searchDebounce
|
|
161
|
+
}),
|
|
162
|
+
debouncedSearch = _useDebounceFn.run;
|
|
163
|
+
var handleSearch = hostOnSearch ? function (text) {
|
|
164
|
+
setSearchText(text);
|
|
165
|
+
if (searchDebounce > 0) debouncedSearch(text);else hostOnSearch(text);
|
|
166
|
+
} : undefined;
|
|
167
|
+
var remoteSearch = !!hostOnSearch;
|
|
168
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
|
169
|
+
var source = rest.options;
|
|
170
|
+
if (!Array.isArray(source)) return {
|
|
171
|
+
options: source,
|
|
172
|
+
truncated: false
|
|
173
|
+
};
|
|
174
|
+
var showRecent = recent.length > 0 && !searchText;
|
|
175
|
+
var recentValues = showRecent ? new Set(recent.map(function (it) {
|
|
176
|
+
return it.value;
|
|
177
|
+
})) : undefined;
|
|
178
|
+
var plain = recentValues ? source.filter(function (it) {
|
|
179
|
+
return !recentValues.has(it.value);
|
|
180
|
+
}) : source;
|
|
181
|
+
var limit = remoteSearch && maxOptions > 0 ? maxOptions : Infinity;
|
|
182
|
+
var cut = plain.length > limit;
|
|
183
|
+
var list = cut ? plain.slice(0, limit) : plain;
|
|
184
|
+
return {
|
|
185
|
+
options: showRecent ? [{
|
|
186
|
+
label: '最近使用',
|
|
187
|
+
options: recent
|
|
188
|
+
}].concat(_toConsumableArray(list)) : list,
|
|
189
|
+
truncated: cut
|
|
190
|
+
};
|
|
191
|
+
}, [rest.options, recent, searchText, remoteSearch, maxOptions]),
|
|
192
|
+
panelOptions = _useMemo.options,
|
|
193
|
+
truncated = _useMemo.truncated;
|
|
194
|
+
var optionRender = codeField ? function (option) {
|
|
195
|
+
var _option$data;
|
|
196
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
197
|
+
className: "qc-dialog-select-option",
|
|
198
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
199
|
+
className: "qc-dialog-select-option-code",
|
|
200
|
+
children: (_option$data = option.data) === null || _option$data === void 0 ? void 0 : _option$data[codeField]
|
|
201
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
202
|
+
className: "qc-dialog-select-option-name",
|
|
203
|
+
children: option.label
|
|
204
|
+
})]
|
|
205
|
+
});
|
|
206
|
+
} : undefined;
|
|
207
|
+
var hostPopupRender = rest.popupRender;
|
|
208
|
+
var popupRender = truncated ? function (menu) {
|
|
209
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
210
|
+
args[_key - 1] = arguments[_key];
|
|
211
|
+
}
|
|
212
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
213
|
+
children: [hostPopupRender ? hostPopupRender.apply(void 0, [menu].concat(args)) : menu, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
214
|
+
className: "qc-dialog-select-hint",
|
|
215
|
+
style: {
|
|
216
|
+
padding: '4px 12px',
|
|
217
|
+
fontSize: 12,
|
|
218
|
+
color: token.colorTextTertiary
|
|
219
|
+
},
|
|
220
|
+
children: "\u4EC5\u663E\u793A\u524D ".concat(maxOptions, " \u6761\uFF0C\u7EE7\u7EED\u8F93\u5165\u53EF\u7F29\u5C0F\u8303\u56F4")
|
|
221
|
+
})]
|
|
222
|
+
});
|
|
223
|
+
} : hostPopupRender;
|
|
97
224
|
var getValue = function getValue(rows) {
|
|
98
225
|
var row = rows[0];
|
|
99
226
|
var labelKey = labelField !== null && labelField !== void 0 ? labelField : 'name';
|
|
@@ -122,6 +249,12 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
122
249
|
if (dialogIsRowSelectable && rows.some(function (row) {
|
|
123
250
|
return !dialogIsRowSelectable(row);
|
|
124
251
|
})) return;
|
|
252
|
+
remember(rows.map(function (row) {
|
|
253
|
+
return _objectSpread({
|
|
254
|
+
value: row[key],
|
|
255
|
+
label: row[labelField !== null && labelField !== void 0 ? labelField : 'name']
|
|
256
|
+
}, codeField ? _defineProperty({}, codeField, row[codeField]) : {});
|
|
257
|
+
}));
|
|
125
258
|
setState(getValue(rows));
|
|
126
259
|
close();
|
|
127
260
|
// 回传完整数据行,供调用方回填关联字段。
|
|
@@ -156,14 +289,51 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
156
289
|
'--qc-dialog-select-trigger-color': token.colorTextTertiary,
|
|
157
290
|
'--qc-dialog-select-trigger-hover': token.colorPrimary
|
|
158
291
|
};
|
|
159
|
-
var commonProps = _objectSpread(_objectSpread({
|
|
292
|
+
var commonProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
293
|
+
popupMatchSelectWidth: DIALOG_SELECT_MIN_POPUP_WIDTH
|
|
294
|
+
}, rest), panelOptions !== rest.options ? {
|
|
295
|
+
options: panelOptions
|
|
296
|
+
} : {}), optionRender && !rest.optionRender ? {
|
|
297
|
+
optionRender: optionRender
|
|
298
|
+
} : {}), handleSearch ? {
|
|
299
|
+
onSearch: handleSearch
|
|
300
|
+
} : {}), popupRender ? {
|
|
301
|
+
popupRender: popupRender
|
|
302
|
+
} : {}), {}, {
|
|
303
|
+
onSelect: function onSelect(value, option) {
|
|
304
|
+
var _option$value, _rest$onSelect;
|
|
305
|
+
if (recentKey && option) remember([_objectSpread({
|
|
306
|
+
value: (_option$value = option.value) !== null && _option$value !== void 0 ? _option$value : value,
|
|
307
|
+
label: option.label
|
|
308
|
+
}, codeField ? _defineProperty({}, codeField, option[codeField]) : {})]);
|
|
309
|
+
(_rest$onSelect = rest.onSelect) === null || _rest$onSelect === void 0 || _rest$onSelect.call(rest, value, option);
|
|
310
|
+
},
|
|
311
|
+
onOpenChange: function onOpenChange(open) {
|
|
312
|
+
var _rest$onOpenChange, _onDropdownVisibleCha, _ref3;
|
|
313
|
+
// 收起后清空检索词,下次展开才会重新展示「最近使用」。
|
|
314
|
+
if (!open) setSearchText('');
|
|
315
|
+
(_rest$onOpenChange = rest.onOpenChange) === null || _rest$onOpenChange === void 0 || _rest$onOpenChange.call(rest, open);
|
|
316
|
+
// antd 6 同时认 onOpenChange 与旧的 onDropdownVisibleChange,这里接管前者,旧回调要手动转发。
|
|
317
|
+
(_onDropdownVisibleCha = (_ref3 = rest).onDropdownVisibleChange) === null || _onDropdownVisibleCha === void 0 || _onDropdownVisibleCha.call(_ref3, open);
|
|
318
|
+
},
|
|
319
|
+
onKeyDown: function onKeyDown(event) {
|
|
320
|
+
var _rest$onKeyDown;
|
|
321
|
+
(_rest$onKeyDown = rest.onKeyDown) === null || _rest$onKeyDown === void 0 || _rest$onKeyDown.call(rest, event);
|
|
322
|
+
// F7 打开选择窗(§6.12);与点放大镜等价。
|
|
323
|
+
if (event.key === 'F7' && canOpen && !event.defaultPrevented) {
|
|
324
|
+
event.preventDefault();
|
|
325
|
+
event.stopPropagation();
|
|
326
|
+
setSelectRows(undefined);
|
|
327
|
+
setTrue();
|
|
328
|
+
}
|
|
329
|
+
},
|
|
160
330
|
labelRender: displayField === 'value' ? function (item) {
|
|
161
331
|
return (0, _readOnlyFormatters.formatSelectDisplay)(item, 'value');
|
|
162
332
|
} : (_rest$labelRender = rest.labelRender) !== null && _rest$labelRender !== void 0 ? _rest$labelRender : function (item) {
|
|
163
|
-
var
|
|
164
|
-
return (
|
|
333
|
+
var _ref4, _selectedLabels$find$, _selectedLabels$find;
|
|
334
|
+
return (_ref4 = (_selectedLabels$find$ = (_selectedLabels$find = selectedLabels.find(function (option) {
|
|
165
335
|
return option.value === item.value;
|
|
166
|
-
})) === null || _selectedLabels$find === void 0 ? void 0 : _selectedLabels$find.label) !== null && _selectedLabels$find$ !== void 0 ? _selectedLabels$find$ : item.label) !== null &&
|
|
336
|
+
})) === null || _selectedLabels$find === void 0 ? void 0 : _selectedLabels$find.label) !== null && _selectedLabels$find$ !== void 0 ? _selectedLabels$find$ : item.label) !== null && _ref4 !== void 0 ? _ref4 : item.value;
|
|
167
337
|
},
|
|
168
338
|
className: mergedClassName,
|
|
169
339
|
value: (0, _selectedLabels.selectedDisplayValue)(state, selectedLabels, props.labelInValue),
|
|
@@ -206,8 +376,8 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
206
376
|
dataSource: dialogDataSource,
|
|
207
377
|
hidePagination: localData
|
|
208
378
|
}, localData ? {
|
|
209
|
-
getRowId: function getRowId(
|
|
210
|
-
var data =
|
|
379
|
+
getRowId: function getRowId(_ref5) {
|
|
380
|
+
var data = _ref5.data;
|
|
211
381
|
return String(data[key]);
|
|
212
382
|
}
|
|
213
383
|
} : {}), {}, {
|
|
@@ -216,8 +386,8 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
216
386
|
},
|
|
217
387
|
pageSize: dialogPageSize,
|
|
218
388
|
pageSizeOptions: dialogPageSizeOptions,
|
|
219
|
-
onFirstDataRendered: function onFirstDataRendered(
|
|
220
|
-
var api =
|
|
389
|
+
onFirstDataRendered: function onFirstDataRendered(_ref6) {
|
|
390
|
+
var api = _ref6.api;
|
|
221
391
|
// 重开弹窗要把已经选中的行勾回来,否则用户会以为之前的选择丢了。
|
|
222
392
|
// 放在首屏数据渲染完成时做:弹窗是 destroyOnClose,打开的那一刻表格还没有数据。@author nokecy
|
|
223
393
|
var current = Array.isArray(state) ? state : state == null ? [] : [state];
|
|
@@ -239,13 +409,13 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
239
409
|
return !!node.data && dialogIsRowSelectable(node.data);
|
|
240
410
|
}
|
|
241
411
|
} : selectionMode === 'multiple' ? 'multiple' : 'single',
|
|
242
|
-
onRowDoubleClicked: function onRowDoubleClicked(
|
|
243
|
-
var data =
|
|
412
|
+
onRowDoubleClicked: function onRowDoubleClicked(_ref7) {
|
|
413
|
+
var data = _ref7.data;
|
|
244
414
|
if (dialogIsRowSelectable && !dialogIsRowSelectable(data)) return;
|
|
245
415
|
confirmRows([data]);
|
|
246
416
|
},
|
|
247
417
|
request: localData ? undefined : ( /*#__PURE__*/function () {
|
|
248
|
-
var
|
|
418
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, _, record) {
|
|
249
419
|
var adapter, data;
|
|
250
420
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
251
421
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -279,7 +449,7 @@ var DialogSelectInner = function DialogSelectInner(props) {
|
|
|
279
449
|
}, _callee);
|
|
280
450
|
}));
|
|
281
451
|
return function (_x, _x2, _x3) {
|
|
282
|
-
return
|
|
452
|
+
return _ref8.apply(this, arguments);
|
|
283
453
|
};
|
|
284
454
|
}()),
|
|
285
455
|
columnDefs: columnDefs
|
|
@@ -333,6 +503,10 @@ var DialogSelect = (0, _formilyReact.observer)(function (props) {
|
|
|
333
503
|
dialogIsRowSelectable = safeProps.dialogIsRowSelectable,
|
|
334
504
|
dialogRenderer = safeProps.dialogRenderer,
|
|
335
505
|
gridComponent = safeProps.gridComponent,
|
|
506
|
+
codeField = safeProps.codeField,
|
|
507
|
+
searchDebounce = safeProps.searchDebounce,
|
|
508
|
+
maxOptions = safeProps.maxOptions,
|
|
509
|
+
recentKey = safeProps.recentKey,
|
|
336
510
|
selectProps = _objectWithoutProperties(safeProps, _excluded2);
|
|
337
511
|
if (displayField === 'value') return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
338
512
|
children: (0, _readOnlyFormatters.formatSelectDisplay)('value' in safeProps ? safeProps.value : safeProps.defaultValue, 'value') || '—'
|
|
@@ -47,3 +47,21 @@
|
|
|
47
47
|
padding-inline-end: 38px;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
|
|
51
|
+
// 候选面板挂在 body 下,不在 .qc-dialog-select 里,所以写在顶层:「编码 | 名称」两列,编码等宽数字(§6.12)。
|
|
52
|
+
.qc-dialog-select-option {
|
|
53
|
+
display: grid;
|
|
54
|
+
grid-template-columns: minmax(72px, max-content) 1fr;
|
|
55
|
+
column-gap: 12px;
|
|
56
|
+
align-items: center;
|
|
57
|
+
|
|
58
|
+
.qc-dialog-select-option-code {
|
|
59
|
+
font-variant-numeric: tabular-nums;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.qc-dialog-select-option-name {
|
|
63
|
+
overflow: hidden;
|
|
64
|
+
text-overflow: ellipsis;
|
|
65
|
+
white-space: nowrap;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
+
import type { LeaveGuardOptions } from './leaveGuard';
|
|
2
3
|
import type { Form } from '@nokecy/formily-core';
|
|
3
4
|
/**
|
|
4
5
|
* 宿主自己的未保存登记(例如接入页签关闭、离开页面的统一拦截)。
|
|
@@ -19,13 +20,13 @@ export declare const formatValidationFeedback: (address?: string, title?: unknow
|
|
|
19
20
|
* - 传入宿主的 `tracker` 时由它记录未保存状态(例如统一拦截关页签);不传时只在本页记录。
|
|
20
21
|
* @author nokecy
|
|
21
22
|
*/
|
|
22
|
-
export declare const useDocumentEditState: (tracker?: DocumentDirtyTracker) => {
|
|
23
|
+
export declare const useDocumentEditState: (tracker?: DocumentDirtyTracker, leaveOptions?: LeaveGuardOptions) => {
|
|
23
24
|
dirty: boolean;
|
|
24
25
|
markDirty: (form?: Form) => void;
|
|
25
26
|
markClean: () => void;
|
|
26
27
|
changed: import("react").RefObject<boolean>;
|
|
27
28
|
markChanged: () => void;
|
|
28
|
-
guardDiscard: (
|
|
29
|
+
guardDiscard: (_action: '返回' | '刷新' | '离开', proceed: () => void) => void;
|
|
29
30
|
};
|
|
30
31
|
/**
|
|
31
32
|
* 单据动作忙态:同一时刻只执行一个动作,只有被点的按钮转圈,其余互斥动作禁用(§5.3)。
|
|
@@ -68,9 +69,11 @@ export declare const pickPrimaryAction: <K extends string>(candidates: [K, boole
|
|
|
68
69
|
*/
|
|
69
70
|
export declare const validateBeforeConfirm: (validate?: () => Promise<unknown>, context?: {
|
|
70
71
|
/** 携带实际表单以显示出错字段标题和明细行号。@author nokecy */
|
|
71
|
-
form?: Pick<Form<any>, "
|
|
72
|
+
form?: Pick<Form<any>, "query" | "queryFeedbacks"> | undefined;
|
|
72
73
|
/** 校验失败后展开编辑入口或定位字段,不执行保存和提交。@author nokecy */
|
|
73
74
|
onInvalid?: ((address?: string) => void) | undefined;
|
|
75
|
+
/** 校验失败后切到错误页签、展开折叠并聚焦首个错误字段(§6.4),默认 false,提示仍用本函数的文案。 */
|
|
76
|
+
locate?: boolean | undefined;
|
|
74
77
|
/** 自定义提示文字;默认「第 N 行 · 字段原因」或「「字段」原因」。 */
|
|
75
78
|
formatFeedback?: ((address: string | undefined, title: unknown, reason: string) => string) | undefined;
|
|
76
79
|
} | undefined) => Promise<boolean>;
|
|
@@ -7,9 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.warnSavedButActionFailed = exports.validateBeforeConfirm = exports.useDocumentEditState = exports.useDocumentActions = exports.submitButtonLabel = exports.reloadAfterAction = exports.pickPrimaryAction = exports.formatValidationFeedback = exports.confirmDocumentAction = void 0;
|
|
8
8
|
var _antd = require("antd");
|
|
9
9
|
var _react = require("react");
|
|
10
|
+
var _leaveGuard = require("./leaveGuard");
|
|
11
|
+
var _formilyAntd = require("@nokecy/formily-antd");
|
|
10
12
|
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; }
|
|
11
13
|
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); } }
|
|
12
14
|
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); }); }; }
|
|
15
|
+
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; }
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
19
|
+
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); }
|
|
13
20
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
14
21
|
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."); }
|
|
15
22
|
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,7 +47,7 @@ var formatValidationFeedback = exports.formatValidationFeedback = function forma
|
|
|
40
47
|
* - 传入宿主的 `tracker` 时由它记录未保存状态(例如统一拦截关页签);不传时只在本页记录。
|
|
41
48
|
* @author nokecy
|
|
42
49
|
*/
|
|
43
|
-
var useDocumentEditState = exports.useDocumentEditState = function useDocumentEditState(tracker) {
|
|
50
|
+
var useDocumentEditState = exports.useDocumentEditState = function useDocumentEditState(tracker, leaveOptions) {
|
|
44
51
|
var _useState = (0, _react.useState)(false),
|
|
45
52
|
_useState2 = _slicedToArray(_useState, 2),
|
|
46
53
|
localDirty = _useState2[0],
|
|
@@ -58,13 +65,18 @@ var useDocumentEditState = exports.useDocumentEditState = function useDocumentEd
|
|
|
58
65
|
var markChanged = (0, _react.useCallback)(function () {
|
|
59
66
|
changed.current = true;
|
|
60
67
|
}, []);
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
// 传了宿主登记时,离开拦截由宿主统一负责,本页不再重复注册 beforeunload,除非显式开启。
|
|
69
|
+
(0, _leaveGuard.useLeaveGuard)(dirty, _objectSpread({
|
|
70
|
+
beforeUnload: !tracker
|
|
71
|
+
}, leaveOptions));
|
|
72
|
+
/**
|
|
73
|
+
* 返回、刷新等会丢弃录入的动作:有未保存修改先确认(文案「有未保存的修改,离开后将丢失」,
|
|
74
|
+
* 按钮「继续编辑 / 放弃修改」,§6.8)。`action` 仅为保持调用签名,不再进入文案。
|
|
75
|
+
*/
|
|
76
|
+
var guardDiscard = function guardDiscard(_action, proceed) {
|
|
63
77
|
if (!dirty) return proceed();
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
content: '未保存的修改将丢失。',
|
|
67
|
-
onOk: proceed
|
|
78
|
+
void (0, _leaveGuard.confirmDiscardChanges)().then(function (ok) {
|
|
79
|
+
return ok && proceed();
|
|
68
80
|
});
|
|
69
81
|
};
|
|
70
82
|
return {
|
|
@@ -247,8 +259,11 @@ var validateBeforeConfirm = exports.validateBeforeConfirm = /*#__PURE__*/functio
|
|
|
247
259
|
validation = _context3.t0; // 阅读态字段可能不进入 Formily 的错误数组,仍保留业务校验给出的具体原因。@author nokecy
|
|
248
260
|
_antd.message.error(typeof _reason === 'string' && _reason.trim() ? ((_context$formatFeedba = context === null || context === void 0 ? void 0 : context.formatFeedback) !== null && _context$formatFeedba !== void 0 ? _context$formatFeedba : formatValidationFeedback)(_address, field === null || field === void 0 ? void 0 : field.title, _reason) : (validation === null || validation === void 0 ? void 0 : validation.name) === 'ValidateError' && (_validation$message = validation.message) !== null && _validation$message !== void 0 && _validation$message.trim() ? validation.message : '表单校验未通过,请检查填写内容');
|
|
249
261
|
context === null || context === void 0 || (_context$onInvalid = context.onInvalid) === null || _context$onInvalid === void 0 || _context$onInvalid.call(context, _address);
|
|
262
|
+
if (context !== null && context !== void 0 && context.locate && context.form) void (0, _formilyAntd.focusFirstError)(context.form, {
|
|
263
|
+
notify: false
|
|
264
|
+
});
|
|
250
265
|
return _context3.abrupt("return", false);
|
|
251
|
-
case
|
|
266
|
+
case 19:
|
|
252
267
|
case "end":
|
|
253
268
|
return _context3.stop();
|
|
254
269
|
}
|