@nokecy/qc-ui 1.0.81 → 1.0.83
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/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +43 -0
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +245 -130
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +12 -26
- package/dist/cjs/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +348 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +940 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +210 -250
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +160 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +94 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.js +5 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +281 -0
- package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +5 -13
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/cjs/ag-grid-plus/types.d.ts +2 -0
- package/dist/cjs/array-table/index.js +30 -118
- package/dist/cjs/draggableModal/index.d.ts +1 -1
- package/dist/cjs/draggableModal/index.js +251 -25
- package/dist/cjs/draggableModal/style.less +185 -12
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +44 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +245 -130
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +13 -27
- package/dist/esm/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/esm/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +338 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +932 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +209 -249
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +150 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +87 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.js +1 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +265 -0
- package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/esm/ag-grid-plus/setting/index.js +5 -13
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/esm/ag-grid-plus/types.d.ts +2 -0
- package/dist/esm/array-table/index.js +31 -119
- package/dist/esm/draggableModal/index.d.ts +1 -1
- package/dist/esm/draggableModal/index.js +252 -27
- package/dist/esm/draggableModal/style.less +185 -12
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/gridManager/index.js +0 -40
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +0 -268
- package/dist/esm/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/esm/ag-grid-plus/gridManager/index.js +0 -35
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/esm/ag-grid-plus/setting/diySetting/index.js +0 -259
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
import _uniqueId from "lodash/uniqueId";
|
|
3
2
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
4
3
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
5
4
|
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); }); }; }
|
|
@@ -17,28 +16,15 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
17
16
|
import React, { useState, useCallback, useMemo, useEffect } from 'react';
|
|
18
17
|
import { Modal, Tabs, Space, Button, Input, message, Popconfirm, Table, Tag, Tooltip, Card, Row, Col, Empty, Radio } from 'antd';
|
|
19
18
|
import { SaveOutlined, ReloadOutlined, EditOutlined, DeleteOutlined, StarOutlined, StarFilled, AppstoreOutlined, UnorderedListOutlined, SearchOutlined } from '@ant-design/icons';
|
|
20
|
-
import { FormGrid, FormItem, FormLayout, Input as FormilyInput, Select, NumberPicker, Switch, Form } from '@formily/antd-v5';
|
|
21
|
-
import { createSchemaField } from '@formily/react';
|
|
22
19
|
import { createForm, onFormInit } from '@formily/core';
|
|
23
|
-
import
|
|
20
|
+
import { gridStateToFlatConfig, flatConfigToGridState, isOldSchemeData, migrateOldScheme } from "./columnGroupUtils";
|
|
21
|
+
import ColumnConfigTable from "./ColumnConfigTable";
|
|
24
22
|
import processColumnGroups from "../_utils/processColumnGroups";
|
|
23
|
+
import DraggableModal from "../../draggableModal";
|
|
25
24
|
var TabPane = Tabs.TabPane;
|
|
26
25
|
var TextArea = Input.TextArea;
|
|
27
|
-
var SchemaField = createSchemaField({
|
|
28
|
-
components: {
|
|
29
|
-
FormItem: FormItem,
|
|
30
|
-
FormGrid: FormGrid,
|
|
31
|
-
Space: Space,
|
|
32
|
-
Input: FormilyInput,
|
|
33
|
-
Select: Select,
|
|
34
|
-
ArrayTable: ArrayTable,
|
|
35
|
-
NumberPicker: NumberPicker,
|
|
36
|
-
Switch: Switch
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
|
|
40
26
|
/**
|
|
41
|
-
*
|
|
27
|
+
* 列方案管理组件 - 集成列配置和列方案管理
|
|
42
28
|
*/
|
|
43
29
|
var ColumnSetting = function ColumnSetting(_ref) {
|
|
44
30
|
var gridKey = _ref.gridKey,
|
|
@@ -89,39 +75,66 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
89
75
|
viewMode = _useState18[0],
|
|
90
76
|
setViewMode = _useState18[1];
|
|
91
77
|
|
|
92
|
-
//
|
|
78
|
+
// 保存原始列定义,用于取消时恢复
|
|
79
|
+
var _useState19 = useState(null),
|
|
80
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
81
|
+
originalColumnDefs = _useState20[0],
|
|
82
|
+
setOriginalColumnDefs = _useState20[1];
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* 获取列数据 - 将 Grid 的列定义转换为扁平化配置
|
|
86
|
+
* 新版本使用树形结构,兼容旧版本的 groupName 结构
|
|
87
|
+
*/
|
|
93
88
|
var getColumnData = useCallback(function () {
|
|
94
89
|
var _schemeManager$curren;
|
|
95
|
-
//
|
|
96
|
-
|
|
90
|
+
// 优先使用当前方案中保存的完整列配置(包含分组结构)
|
|
91
|
+
if (schemeManager !== null && schemeManager !== void 0 && (_schemeManager$curren = schemeManager.currentScheme) !== null && _schemeManager$curren !== void 0 && _schemeManager$curren.columnConfig) {
|
|
92
|
+
console.log('[ColumnSetting] 使用方案中保存的 columnConfig:', schemeManager.currentScheme.columnConfig);
|
|
93
|
+
return schemeManager.currentScheme.columnConfig;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// 如果方案中没有 columnConfig,则从 Grid 读取
|
|
97
97
|
var columnDefs = gridApi.getColumnDefs() || [];
|
|
98
|
-
var
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
98
|
+
var columnStates = gridApi.getColumnState();
|
|
99
|
+
console.log('[ColumnSetting] 从 Grid 读取列配置:', {
|
|
100
|
+
columnDefs: columnDefs,
|
|
101
|
+
columnStates: columnStates
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// 将 Grid 状态转换为扁平化配置
|
|
105
|
+
var flatConfig = gridStateToFlatConfig(columnDefs);
|
|
106
|
+
|
|
107
|
+
// 同步列状态(宽度、隐藏等)
|
|
108
|
+
flatConfig = flatConfig.map(function (item) {
|
|
109
|
+
if (item.type === 'column' && item.field) {
|
|
110
|
+
var _state = columnStates.find(function (s) {
|
|
111
|
+
return s.colId === item.field;
|
|
112
|
+
});
|
|
113
|
+
if (_state) {
|
|
114
|
+
// 处理 pinned: 可能是 true/false/null/'left'/'right'
|
|
115
|
+
var pinnedValue = 'notPinned';
|
|
116
|
+
if (_state.pinned === 'left') {
|
|
117
|
+
pinnedValue = 'left';
|
|
118
|
+
} else if (_state.pinned === 'right') {
|
|
119
|
+
pinnedValue = 'right';
|
|
120
|
+
} else if (_state.pinned === true) {
|
|
121
|
+
// true 表示左固定
|
|
122
|
+
pinnedValue = 'left';
|
|
118
123
|
}
|
|
124
|
+
// null, false, undefined 都表示不固定,默认值已经是 'notPinned'
|
|
125
|
+
|
|
126
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
127
|
+
width: _state.width,
|
|
128
|
+
hide: _state.hide === true,
|
|
129
|
+
// 转换为 boolean
|
|
130
|
+
pinned: pinnedValue
|
|
131
|
+
});
|
|
119
132
|
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return
|
|
124
|
-
}, [gridApi, schemeManager
|
|
133
|
+
}
|
|
134
|
+
return item;
|
|
135
|
+
});
|
|
136
|
+
return flatConfig;
|
|
137
|
+
}, [gridApi, schemeManager]);
|
|
125
138
|
|
|
126
139
|
// 创建 Formily Form 实例
|
|
127
140
|
var form = useMemo(function () {
|
|
@@ -144,9 +157,56 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
144
157
|
}
|
|
145
158
|
}, [schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.currentScheme, visible, form, getColumnData]);
|
|
146
159
|
|
|
147
|
-
//
|
|
160
|
+
// 弹窗打开时保存原始列定义,用于取消时恢复
|
|
161
|
+
useEffect(function () {
|
|
162
|
+
if (visible) {
|
|
163
|
+
var currentDefs = gridApi.getColumnDefs();
|
|
164
|
+
setOriginalColumnDefs(currentDefs);
|
|
165
|
+
}
|
|
166
|
+
}, [visible, gridApi]);
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* 列配置变更处理 - 实时预览
|
|
170
|
+
* 当用户在配置表格中进行操作时,立即应用到 AG-Grid 以提供实时预览
|
|
171
|
+
*/
|
|
172
|
+
var handleColumnChange = useCallback(function (newItems) {
|
|
173
|
+
// 1. 更新表单数据
|
|
174
|
+
form.setValues({
|
|
175
|
+
items: newItems
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
// 2. 转换为 AG-Grid 列定义
|
|
179
|
+
var gridColumnDefs = flatConfigToGridState(newItems);
|
|
180
|
+
|
|
181
|
+
// 3. 立即应用到 Grid(实时预览,不保存到方案)
|
|
182
|
+
if (type !== 'formArrayTable') {
|
|
183
|
+
gridApi.setGridOption("columnDefs", gridColumnDefs);
|
|
184
|
+
}
|
|
185
|
+
}, [form, gridApi, type]);
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* 关闭弹窗处理 - 取消时恢复原始状态
|
|
189
|
+
* 如果用户取消操作,恢复到打开弹窗前的列定义状态
|
|
190
|
+
*/
|
|
191
|
+
var handleClose = useCallback(function () {
|
|
192
|
+
// 如果有保存的原始状态,恢复它
|
|
193
|
+
if (originalColumnDefs && type !== 'formArrayTable') {
|
|
194
|
+
gridApi.setGridOption("columnDefs", originalColumnDefs);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// 清空备份
|
|
198
|
+
setOriginalColumnDefs(null);
|
|
199
|
+
|
|
200
|
+
// 调用父组件的 onClose
|
|
201
|
+
onClose();
|
|
202
|
+
}, [originalColumnDefs, gridApi, type, onClose]);
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* 保存列配置
|
|
206
|
+
* 将扁平化配置转换回 Grid State 并应用到 AG-Grid
|
|
207
|
+
*/
|
|
148
208
|
var handleSaveColumns = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
149
|
-
var values,
|
|
209
|
+
var values, flatConfig, configToSave, gridColumnDefs;
|
|
150
210
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
151
211
|
while (1) switch (_context2.prev = _context2.next) {
|
|
152
212
|
case 0:
|
|
@@ -157,87 +217,122 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
157
217
|
return _context2.abrupt("return");
|
|
158
218
|
case 2:
|
|
159
219
|
values = form.values;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
if (
|
|
163
|
-
|
|
220
|
+
flatConfig = values.items || []; // 检查是否是旧版本数据,如果是则先迁移
|
|
221
|
+
configToSave = flatConfig;
|
|
222
|
+
if (isOldSchemeData(flatConfig)) {
|
|
223
|
+
configToSave = migrateOldScheme(flatConfig);
|
|
224
|
+
message.info('检测到旧版本配置,已自动迁移到新格式');
|
|
164
225
|
}
|
|
165
226
|
|
|
166
|
-
//
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
227
|
+
// 转换为 AG-Grid 的列定义
|
|
228
|
+
gridColumnDefs = flatConfigToGridState(configToSave);
|
|
229
|
+
console.log('[ColumnSetting] 保存列配置:', {
|
|
230
|
+
flatConfig: configToSave,
|
|
231
|
+
gridColumnDefs: gridColumnDefs
|
|
170
232
|
});
|
|
171
233
|
|
|
234
|
+
// 先应用列配置到 Grid
|
|
235
|
+
if (type !== 'formArrayTable') {
|
|
236
|
+
gridApi.setGridOption("columnDefs", gridColumnDefs);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// 应用列状态(应用列定义后,Grid 会自动更新状态)
|
|
240
|
+
|
|
172
241
|
// 等待 Grid 状态更新完成后再保存到方案
|
|
173
242
|
setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
174
|
-
var updatedState, defaultScheme, newScheme;
|
|
243
|
+
var updatedState, filterModel, defaultScheme, newScheme;
|
|
175
244
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
176
245
|
while (1) switch (_context.prev = _context.next) {
|
|
177
246
|
case 0:
|
|
178
247
|
if (!(schemeManager && gridKey)) {
|
|
179
|
-
_context.next =
|
|
248
|
+
_context.next = 28;
|
|
180
249
|
break;
|
|
181
250
|
}
|
|
182
251
|
_context.prev = 1;
|
|
183
|
-
// 从 Grid
|
|
252
|
+
// 从 Grid 获取应用后的最新列状态和过滤器状态
|
|
184
253
|
updatedState = gridApi.getColumnState();
|
|
254
|
+
filterModel = gridApi.getFilterModel();
|
|
255
|
+
console.log('[ColumnSetting] 准备保存到方案:', {
|
|
256
|
+
columnConfig: configToSave,
|
|
257
|
+
columnConfigLength: configToSave.length,
|
|
258
|
+
columnConfigDetail: configToSave.map(function (item, idx) {
|
|
259
|
+
return {
|
|
260
|
+
index: idx,
|
|
261
|
+
type: item.type,
|
|
262
|
+
headerName: item.headerName,
|
|
263
|
+
field: item.field,
|
|
264
|
+
order: item.order,
|
|
265
|
+
parentId: item.parentId
|
|
266
|
+
};
|
|
267
|
+
}),
|
|
268
|
+
filterModel: filterModel
|
|
269
|
+
});
|
|
185
270
|
if (!schemeManager.currentScheme) {
|
|
186
|
-
_context.next =
|
|
271
|
+
_context.next = 10;
|
|
187
272
|
break;
|
|
188
273
|
}
|
|
189
|
-
_context.next =
|
|
274
|
+
_context.next = 8;
|
|
190
275
|
return schemeManager.saveScheme({
|
|
191
|
-
|
|
276
|
+
columnConfig: configToSave,
|
|
277
|
+
// 保存完整的列配置(包含分组结构)
|
|
278
|
+
filterModel: filterModel
|
|
192
279
|
});
|
|
193
|
-
case 6:
|
|
194
|
-
_context.next = 21;
|
|
195
|
-
break;
|
|
196
280
|
case 8:
|
|
281
|
+
_context.next = 23;
|
|
282
|
+
break;
|
|
283
|
+
case 10:
|
|
197
284
|
// 如果没有激活的方案,查找或创建"默认配置"方案
|
|
198
285
|
defaultScheme = schemeManager.schemes.find(function (s) {
|
|
199
286
|
return s.isDefault;
|
|
200
287
|
});
|
|
201
288
|
if (!defaultScheme) {
|
|
202
|
-
_context.next =
|
|
289
|
+
_context.next = 18;
|
|
203
290
|
break;
|
|
204
291
|
}
|
|
205
|
-
_context.next = 12;
|
|
206
|
-
return schemeManager.loadScheme(defaultScheme.id);
|
|
207
|
-
case 12:
|
|
208
292
|
_context.next = 14;
|
|
293
|
+
return schemeManager.loadScheme(defaultScheme.id);
|
|
294
|
+
case 14:
|
|
295
|
+
_context.next = 16;
|
|
209
296
|
return schemeManager.saveScheme({
|
|
210
|
-
|
|
297
|
+
columnConfig: configToSave,
|
|
298
|
+
// 保存完整的列配置(包含分组结构)
|
|
299
|
+
filterModel: filterModel
|
|
211
300
|
});
|
|
212
|
-
case 14:
|
|
213
|
-
_context.next = 21;
|
|
214
|
-
break;
|
|
215
301
|
case 16:
|
|
216
|
-
_context.next =
|
|
217
|
-
|
|
302
|
+
_context.next = 23;
|
|
303
|
+
break;
|
|
304
|
+
case 18:
|
|
305
|
+
_context.next = 20;
|
|
306
|
+
return schemeManager.createScheme('默认配置', configToSave,
|
|
307
|
+
// 使用 columnConfig 而不是 columnState
|
|
308
|
+
{
|
|
218
309
|
isDefault: true,
|
|
219
|
-
description: '自动保存的默认列配置'
|
|
310
|
+
description: '自动保存的默认列配置',
|
|
311
|
+
filterModel: filterModel
|
|
220
312
|
});
|
|
221
|
-
case
|
|
313
|
+
case 20:
|
|
222
314
|
newScheme = _context.sent;
|
|
223
|
-
_context.next =
|
|
315
|
+
_context.next = 23;
|
|
224
316
|
return schemeManager.loadScheme(newScheme.id);
|
|
225
|
-
case 21:
|
|
226
|
-
_context.next = 26;
|
|
227
|
-
break;
|
|
228
317
|
case 23:
|
|
229
|
-
_context.
|
|
318
|
+
_context.next = 28;
|
|
319
|
+
break;
|
|
320
|
+
case 25:
|
|
321
|
+
_context.prev = 25;
|
|
230
322
|
_context.t0 = _context["catch"](1);
|
|
231
323
|
console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
|
|
232
|
-
case
|
|
324
|
+
case 28:
|
|
233
325
|
case "end":
|
|
234
326
|
return _context.stop();
|
|
235
327
|
}
|
|
236
|
-
}, _callee, null, [[1,
|
|
328
|
+
}, _callee, null, [[1, 25]]);
|
|
237
329
|
})), 50);
|
|
330
|
+
|
|
331
|
+
// 保存成功后清除备份
|
|
332
|
+
setOriginalColumnDefs(null);
|
|
238
333
|
message.success('列配置已保存');
|
|
239
334
|
onClose();
|
|
240
|
-
case
|
|
335
|
+
case 13:
|
|
241
336
|
case "end":
|
|
242
337
|
return _context2.stop();
|
|
243
338
|
}
|
|
@@ -246,7 +341,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
246
341
|
|
|
247
342
|
// 保存为新方案
|
|
248
343
|
var handleSaveScheme = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
249
|
-
var
|
|
344
|
+
var columnConfigToSave, values, processedColumns, _values, filterModel, newScheme;
|
|
250
345
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
251
346
|
while (1) switch (_context3.prev = _context3.next) {
|
|
252
347
|
case 0:
|
|
@@ -259,37 +354,37 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
259
354
|
case 3:
|
|
260
355
|
_context3.prev = 3;
|
|
261
356
|
if (!(activeTab === 'columns' && form)) {
|
|
262
|
-
_context3.next =
|
|
357
|
+
_context3.next = 13;
|
|
263
358
|
break;
|
|
264
359
|
}
|
|
265
360
|
values = form.values;
|
|
361
|
+
columnConfigToSave = values.items; // 直接使用 FlatColumnItem[] 数据
|
|
266
362
|
processedColumns = processColumnGroups(values.items); // 先应用到 Grid
|
|
267
363
|
if (type !== 'formArrayTable') {
|
|
268
364
|
gridApi.setGridOption("columnDefs", processedColumns);
|
|
269
365
|
}
|
|
270
|
-
gridApi.applyColumnState({
|
|
271
|
-
state: processedColumns,
|
|
272
|
-
applyOrder: true
|
|
273
|
-
});
|
|
274
366
|
|
|
275
|
-
//
|
|
367
|
+
// 等待状态更新
|
|
276
368
|
_context3.next = 11;
|
|
277
369
|
return new Promise(function (resolve) {
|
|
278
370
|
return setTimeout(resolve, 50);
|
|
279
371
|
});
|
|
280
372
|
case 11:
|
|
281
|
-
columnStateToSave = gridApi.getColumnState();
|
|
282
373
|
_context3.next = 15;
|
|
283
374
|
break;
|
|
284
|
-
case
|
|
285
|
-
// 如果在"方案管理"
|
|
286
|
-
|
|
375
|
+
case 13:
|
|
376
|
+
// 如果在"方案管理"标签页,使用当前表单数据
|
|
377
|
+
_values = form === null || form === void 0 ? void 0 : form.values;
|
|
378
|
+
columnConfigToSave = (_values === null || _values === void 0 ? void 0 : _values.items) || [];
|
|
287
379
|
case 15:
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
380
|
+
// 获取过滤器模型
|
|
381
|
+
filterModel = gridApi.getFilterModel();
|
|
382
|
+
_context3.next = 18;
|
|
383
|
+
return schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.createScheme(schemeName.trim(), columnConfigToSave, {
|
|
384
|
+
description: schemeDescription.trim() || "\u521B\u5EFA\u4E8E ".concat(new Date().toLocaleString()),
|
|
385
|
+
filterModel: filterModel
|
|
291
386
|
});
|
|
292
|
-
case
|
|
387
|
+
case 18:
|
|
293
388
|
newScheme = _context3.sent;
|
|
294
389
|
message.success('方案保存成功');
|
|
295
390
|
setSaveSchemeVisible(false);
|
|
@@ -298,17 +393,17 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
298
393
|
|
|
299
394
|
// 切换到方案管理标签页,显示新创建的方案
|
|
300
395
|
setActiveTab('schemes');
|
|
301
|
-
_context3.next =
|
|
396
|
+
_context3.next = 29;
|
|
302
397
|
break;
|
|
303
|
-
case
|
|
304
|
-
_context3.prev =
|
|
398
|
+
case 26:
|
|
399
|
+
_context3.prev = 26;
|
|
305
400
|
_context3.t0 = _context3["catch"](3);
|
|
306
401
|
message.error(_context3.t0.message || '保存方案失败');
|
|
307
|
-
case
|
|
402
|
+
case 29:
|
|
308
403
|
case "end":
|
|
309
404
|
return _context3.stop();
|
|
310
405
|
}
|
|
311
|
-
}, _callee3, null, [[3,
|
|
406
|
+
}, _callee3, null, [[3, 26]]);
|
|
312
407
|
})), [gridApi, schemeManager, schemeName, schemeDescription, activeTab, form, type]);
|
|
313
408
|
|
|
314
409
|
// 加载方案
|
|
@@ -566,13 +661,10 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
566
661
|
}))));
|
|
567
662
|
}
|
|
568
663
|
}];
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
};
|
|
572
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, {
|
|
573
|
-
title: "\u5217\u8BBE\u7F6E",
|
|
664
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DraggableModal, {
|
|
665
|
+
title: "\u5217\u65B9\u6848\u7BA1\u7406",
|
|
574
666
|
open: visible,
|
|
575
|
-
onCancel:
|
|
667
|
+
onCancel: handleClose,
|
|
576
668
|
width: 1100,
|
|
577
669
|
footer: null,
|
|
578
670
|
destroyOnClose: true
|
|
@@ -583,7 +675,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
583
675
|
onClick: onClose
|
|
584
676
|
}, "\u53D6\u6D88"), /*#__PURE__*/React.createElement(Button, {
|
|
585
677
|
onClick: handleSaveColumns
|
|
586
|
-
}, "\u4FDD\u5B58\u914D\u7F6E"), /*#__PURE__*/React.createElement(Button, {
|
|
678
|
+
}, "\u4FDD\u5B58\u914D\u7F6E"), (type !== 'formArrayTable' || schemeManager) && /*#__PURE__*/React.createElement(Button, {
|
|
587
679
|
type: "primary",
|
|
588
680
|
icon: /*#__PURE__*/React.createElement(SaveOutlined, null),
|
|
589
681
|
onClick: function onClick() {
|
|
@@ -623,143 +715,11 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
623
715
|
style: {
|
|
624
716
|
color: '#666'
|
|
625
717
|
}
|
|
626
|
-
}, "\u672A\u9009\u62E9\u65B9\u6848 - \u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E")), /*#__PURE__*/React.createElement(
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
maxColumns: [1, 3],
|
|
632
|
-
strictAutoFit: true
|
|
633
|
-
}
|
|
634
|
-
}, /*#__PURE__*/React.createElement(SchemaField.Array, {
|
|
635
|
-
name: "items",
|
|
636
|
-
title: "",
|
|
637
|
-
"x-component": "ArrayTable",
|
|
638
|
-
"x-component-props": tableProps,
|
|
639
|
-
"x-decorator": "FormItem",
|
|
640
|
-
"x-decorator-props": {
|
|
641
|
-
gridSpan: 3
|
|
642
|
-
}
|
|
643
|
-
}, /*#__PURE__*/React.createElement(SchemaField.Object, null, /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
644
|
-
"x-component": "ArrayTable.Column",
|
|
645
|
-
"x-component-props": {
|
|
646
|
-
width: 80,
|
|
647
|
-
title: '排序'
|
|
648
|
-
}
|
|
649
|
-
}, /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
650
|
-
"x-decorator": "FormItem",
|
|
651
|
-
required: true,
|
|
652
|
-
"x-component": "ArrayTable.SortHandle"
|
|
653
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
654
|
-
"x-component": "ArrayTable.Column",
|
|
655
|
-
"x-component-props": {
|
|
656
|
-
width: 180,
|
|
657
|
-
title: '列名'
|
|
658
|
-
}
|
|
659
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
660
|
-
name: "headerName",
|
|
661
|
-
"x-decorator": "FormItem",
|
|
662
|
-
"x-component": "Input",
|
|
663
|
-
"x-read-pretty": true
|
|
664
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
665
|
-
"x-component": "ArrayTable.Column",
|
|
666
|
-
"x-component-props": {
|
|
667
|
-
width: 120,
|
|
668
|
-
title: '分组名称'
|
|
669
|
-
}
|
|
670
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
671
|
-
name: "groupName",
|
|
672
|
-
"x-decorator": "FormItem",
|
|
673
|
-
"x-component": "Input"
|
|
674
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
675
|
-
"x-component": "ArrayTable.Column",
|
|
676
|
-
"x-component-props": {
|
|
677
|
-
width: 80,
|
|
678
|
-
title: '列过滤'
|
|
679
|
-
}
|
|
680
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
681
|
-
name: "suppressHeaderFilterButton",
|
|
682
|
-
"x-decorator": "FormItem",
|
|
683
|
-
"x-component": "Switch"
|
|
684
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
685
|
-
"x-component": "ArrayTable.Column",
|
|
686
|
-
"x-component-props": {
|
|
687
|
-
width: 120,
|
|
688
|
-
title: '内容布局'
|
|
689
|
-
}
|
|
690
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
691
|
-
name: "cellClass",
|
|
692
|
-
"x-decorator": "FormItem",
|
|
693
|
-
"x-component": "Select",
|
|
694
|
-
default: "custom-cell-left",
|
|
695
|
-
enum: [{
|
|
696
|
-
value: 'custom-cell-left',
|
|
697
|
-
label: '左对齐'
|
|
698
|
-
}, {
|
|
699
|
-
value: 'custom-cell-right',
|
|
700
|
-
label: '右对齐'
|
|
701
|
-
}, {
|
|
702
|
-
value: 'custom-cell-centered',
|
|
703
|
-
label: '居中对齐'
|
|
704
|
-
}]
|
|
705
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
706
|
-
"x-component": "ArrayTable.Column",
|
|
707
|
-
"x-component-props": {
|
|
708
|
-
width: 100,
|
|
709
|
-
title: '宽度'
|
|
710
|
-
}
|
|
711
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
712
|
-
name: "width",
|
|
713
|
-
"x-decorator": "FormItem",
|
|
714
|
-
"x-component": "NumberPicker"
|
|
715
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
716
|
-
"x-component": "ArrayTable.Column",
|
|
717
|
-
"x-component-props": {
|
|
718
|
-
width: 100,
|
|
719
|
-
title: '占满'
|
|
720
|
-
}
|
|
721
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
722
|
-
name: "flex",
|
|
723
|
-
"x-decorator": "FormItem",
|
|
724
|
-
"x-component": "Select",
|
|
725
|
-
enum: [{
|
|
726
|
-
value: 1,
|
|
727
|
-
label: '占满'
|
|
728
|
-
}, {
|
|
729
|
-
value: 0,
|
|
730
|
-
label: '不占满'
|
|
731
|
-
}]
|
|
732
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
733
|
-
"x-component": "ArrayTable.Column",
|
|
734
|
-
"x-component-props": {
|
|
735
|
-
width: 100,
|
|
736
|
-
title: '固定位置'
|
|
737
|
-
}
|
|
738
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
739
|
-
name: "pinned",
|
|
740
|
-
"x-decorator": "FormItem",
|
|
741
|
-
"x-component": "Select",
|
|
742
|
-
enum: [{
|
|
743
|
-
value: 'left',
|
|
744
|
-
label: '左固定'
|
|
745
|
-
}, {
|
|
746
|
-
value: 'right',
|
|
747
|
-
label: '右固定'
|
|
748
|
-
}, {
|
|
749
|
-
value: 'notPinned',
|
|
750
|
-
label: '不固定'
|
|
751
|
-
}]
|
|
752
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
753
|
-
"x-component": "ArrayTable.Column",
|
|
754
|
-
"x-component-props": {
|
|
755
|
-
width: 100,
|
|
756
|
-
title: '隐藏'
|
|
757
|
-
}
|
|
758
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
759
|
-
name: "hide",
|
|
760
|
-
"x-decorator": "FormItem",
|
|
761
|
-
"x-component": "Switch"
|
|
762
|
-
}))))))))), schemeManager && /*#__PURE__*/React.createElement(TabPane, {
|
|
718
|
+
}, "\u672A\u9009\u62E9\u65B9\u6848 - \u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E")), /*#__PURE__*/React.createElement(ColumnConfigTable, {
|
|
719
|
+
items: form.values.items || [],
|
|
720
|
+
onChange: handleColumnChange,
|
|
721
|
+
simple: type === 'formArrayTable'
|
|
722
|
+
})), schemeManager && type !== 'formArrayTable' && /*#__PURE__*/React.createElement(TabPane, {
|
|
763
723
|
tab: "\u65B9\u6848\u7BA1\u7406",
|
|
764
724
|
key: "schemes"
|
|
765
725
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 移动节点弹窗组件
|
|
3
|
+
* 用于选择目标父节点,支持移动到根级别或其他分组下
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { FlatColumnItem } from './columnGroupTypes';
|
|
7
|
+
interface MoveNodeModalProps {
|
|
8
|
+
visible: boolean;
|
|
9
|
+
currentNode: FlatColumnItem | null;
|
|
10
|
+
allItems: FlatColumnItem[];
|
|
11
|
+
onCancel: () => void;
|
|
12
|
+
onConfirm: (targetParentId: string | undefined) => void;
|
|
13
|
+
}
|
|
14
|
+
declare const MoveNodeModal: React.FC<MoveNodeModalProps>;
|
|
15
|
+
export default MoveNodeModal;
|