@nokecy/qc-ui 1.1.22 → 1.1.23
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/ag-gridPlus.js +128 -8
- package/dist/cjs/ag-grid-plus/queryForm/AdvancedQueryBuilder.d.ts +10 -0
- package/dist/cjs/ag-grid-plus/queryForm/AdvancedQueryBuilder.js +547 -0
- package/dist/cjs/ag-grid-plus/queryForm/index.js +3 -6
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +36 -0
- package/dist/cjs/ag-grid-plus/utils.d.ts +6 -0
- package/dist/cjs/ag-grid-plus/utils.js +86 -1
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +131 -11
- package/dist/esm/ag-grid-plus/queryForm/AdvancedQueryBuilder.d.ts +10 -0
- package/dist/esm/ag-grid-plus/queryForm/AdvancedQueryBuilder.js +541 -0
- package/dist/esm/ag-grid-plus/queryForm/index.js +3 -6
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +36 -0
- package/dist/esm/ag-grid-plus/utils.d.ts +6 -0
- package/dist/esm/ag-grid-plus/utils.js +85 -0
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +2 -2
|
@@ -19,6 +19,8 @@ var _toolBar = _interopRequireDefault(require("./toolBar"));
|
|
|
19
19
|
var _settingItem = _interopRequireDefault(require("./settingItem"));
|
|
20
20
|
var _icons = require("@ant-design/icons");
|
|
21
21
|
var _utils = require("./utils");
|
|
22
|
+
var _AdvancedQueryBuilder = _interopRequireDefault(require("./queryForm/AdvancedQueryBuilder"));
|
|
23
|
+
var _uuid = require("uuid");
|
|
22
24
|
var _setting = _interopRequireDefault(require("./setting"));
|
|
23
25
|
var _ = require(".");
|
|
24
26
|
var _customGroupCellRenderer = _interopRequireDefault(require("./_utils/customGroupCellRenderer"));
|
|
@@ -226,6 +228,23 @@ function AgGridPlus(props) {
|
|
|
226
228
|
queryItemsOrder = _useState18[0],
|
|
227
229
|
setQueryItemsOrder = _useState18[1];
|
|
228
230
|
|
|
231
|
+
// 高级查询状态
|
|
232
|
+
var _useState19 = (0, _react.useState)(false),
|
|
233
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
234
|
+
advancedPopoverOpen = _useState20[0],
|
|
235
|
+
setAdvancedPopoverOpen = _useState20[1];
|
|
236
|
+
var createEmptyRuleGroup = function createEmptyRuleGroup() {
|
|
237
|
+
return {
|
|
238
|
+
id: (0, _uuid.v4)(),
|
|
239
|
+
logic: 'AND',
|
|
240
|
+
children: []
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
var _useState21 = (0, _react.useState)(createEmptyRuleGroup),
|
|
244
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
245
|
+
advancedQueryRules = _useState22[0],
|
|
246
|
+
setAdvancedQueryRules = _useState22[1];
|
|
247
|
+
|
|
229
248
|
/**
|
|
230
249
|
* 【P1 架构优化】使用单向数据流架构
|
|
231
250
|
*
|
|
@@ -684,7 +703,19 @@ function AgGridPlus(props) {
|
|
|
684
703
|
pagination: pagination
|
|
685
704
|
});
|
|
686
705
|
try {
|
|
687
|
-
|
|
706
|
+
// 处理高级查询模式
|
|
707
|
+
var filter;
|
|
708
|
+
if (queryFilter.__advancedMode__ && queryFilter.__rules__) {
|
|
709
|
+
// 高级模式:使用规则转换
|
|
710
|
+
filter = (0, _utils.convertRulesToFilterString)(queryFilter.__rules__, allColDefsRef.current);
|
|
711
|
+
_logger.logger.debug('高级模式 Filter', {
|
|
712
|
+
rules: queryFilter.__rules__,
|
|
713
|
+
filter: filter
|
|
714
|
+
});
|
|
715
|
+
} else {
|
|
716
|
+
// 简单模式:使用原有的转换逻辑
|
|
717
|
+
filter = (0, _utils.convertFilterModel)(queryFilter, allColDefsRef.current);
|
|
718
|
+
}
|
|
688
719
|
var params = _objectSpread(_objectSpread({
|
|
689
720
|
filter: filter
|
|
690
721
|
}, stableGridParams), {}, {
|
|
@@ -1189,16 +1220,33 @@ function AgGridPlus(props) {
|
|
|
1189
1220
|
defaultExpand: defaultSearchExpand,
|
|
1190
1221
|
gridApi: apiRef.current,
|
|
1191
1222
|
onQuery: function onQuery(formValues) {
|
|
1223
|
+
// 优先使用高级搜索:如果存在高级搜索条件,忽略简单查询
|
|
1224
|
+
if (advancedQueryRules.children.length > 0) {
|
|
1225
|
+
var filter = {
|
|
1226
|
+
__advancedMode__: true,
|
|
1227
|
+
__rules__: advancedQueryRules
|
|
1228
|
+
};
|
|
1229
|
+
setQueryFilter(filter);
|
|
1230
|
+
if (pagination.current !== 1) {
|
|
1231
|
+
setPagination(function (prev) {
|
|
1232
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1233
|
+
current: 1
|
|
1234
|
+
});
|
|
1235
|
+
});
|
|
1236
|
+
}
|
|
1237
|
+
onRequest && onRequest(filter);
|
|
1238
|
+
return;
|
|
1239
|
+
}
|
|
1192
1240
|
setQueryFilter(_objectSpread({}, formValues));
|
|
1193
|
-
|
|
1194
|
-
|
|
1241
|
+
// 始终使用传入的 formValues 发起请求
|
|
1242
|
+
if (pagination.current !== 1) {
|
|
1243
|
+
setPagination(function (prev) {
|
|
1195
1244
|
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1196
1245
|
current: 1
|
|
1197
1246
|
});
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
});
|
|
1247
|
+
});
|
|
1248
|
+
}
|
|
1249
|
+
onRequest && onRequest(formValues);
|
|
1202
1250
|
},
|
|
1203
1251
|
onInit: function onInit(defaultValues) {
|
|
1204
1252
|
setQueryFilter(defaultValues);
|
|
@@ -1236,7 +1284,79 @@ function AgGridPlus(props) {
|
|
|
1236
1284
|
gridKey: gridKey,
|
|
1237
1285
|
gridApi: apiRef.current,
|
|
1238
1286
|
onSaveColumnState: onColumnStateChanged
|
|
1239
|
-
})
|
|
1287
|
+
}),
|
|
1288
|
+
/*#__PURE__*/
|
|
1289
|
+
// 高级搜索(图标风格,位于设置右边)
|
|
1290
|
+
_react.default.createElement(_antd.Popover, {
|
|
1291
|
+
key: "advanced-search-setting",
|
|
1292
|
+
content: /*#__PURE__*/_react.default.createElement("div", {
|
|
1293
|
+
style: {
|
|
1294
|
+
width: 600,
|
|
1295
|
+
maxHeight: 400,
|
|
1296
|
+
overflow: 'auto'
|
|
1297
|
+
}
|
|
1298
|
+
}, /*#__PURE__*/_react.default.createElement(_AdvancedQueryBuilder.default, {
|
|
1299
|
+
rootGroup: advancedQueryRules,
|
|
1300
|
+
onChange: setAdvancedQueryRules,
|
|
1301
|
+
colDefs: allColDefs
|
|
1302
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
1303
|
+
style: {
|
|
1304
|
+
marginTop: 12,
|
|
1305
|
+
textAlign: 'right',
|
|
1306
|
+
borderTop: '1px solid #f0f0f0',
|
|
1307
|
+
paddingTop: 12
|
|
1308
|
+
}
|
|
1309
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Button, {
|
|
1310
|
+
size: "small",
|
|
1311
|
+
onClick: function onClick() {
|
|
1312
|
+
setAdvancedQueryRules(createEmptyRuleGroup());
|
|
1313
|
+
setQueryFilter({});
|
|
1314
|
+
onRequest && onRequest({});
|
|
1315
|
+
setAdvancedPopoverOpen(false);
|
|
1316
|
+
},
|
|
1317
|
+
style: {
|
|
1318
|
+
marginRight: 8
|
|
1319
|
+
}
|
|
1320
|
+
}, "\u91CD\u7F6E"), /*#__PURE__*/_react.default.createElement(_antd.Button, {
|
|
1321
|
+
size: "small",
|
|
1322
|
+
type: "primary",
|
|
1323
|
+
onClick: function onClick() {
|
|
1324
|
+
var filter = {
|
|
1325
|
+
__advancedMode__: true,
|
|
1326
|
+
__rules__: advancedQueryRules
|
|
1327
|
+
};
|
|
1328
|
+
setQueryFilter(filter);
|
|
1329
|
+
if (pagination.current !== 1) {
|
|
1330
|
+
setPagination(function (prev) {
|
|
1331
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1332
|
+
current: 1
|
|
1333
|
+
});
|
|
1334
|
+
});
|
|
1335
|
+
}
|
|
1336
|
+
onRequest && onRequest(filter);
|
|
1337
|
+
setAdvancedPopoverOpen(false);
|
|
1338
|
+
}
|
|
1339
|
+
}, "\u67E5\u8BE2"))),
|
|
1340
|
+
title: "\u9AD8\u7EA7\u641C\u7D22",
|
|
1341
|
+
trigger: "click",
|
|
1342
|
+
open: advancedPopoverOpen,
|
|
1343
|
+
onOpenChange: setAdvancedPopoverOpen,
|
|
1344
|
+
placement: "bottomRight",
|
|
1345
|
+
overlayStyle: {
|
|
1346
|
+
maxWidth: 'none'
|
|
1347
|
+
}
|
|
1348
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Badge, {
|
|
1349
|
+
count: advancedQueryRules.children.length,
|
|
1350
|
+
size: "small",
|
|
1351
|
+
offset: [-2, 2]
|
|
1352
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
1353
|
+
style: {
|
|
1354
|
+
margin: "0 4px",
|
|
1355
|
+
color: advancedQueryRules.children.length > 0 ? '#1890ff' : '#000',
|
|
1356
|
+
fontSize: 16,
|
|
1357
|
+
cursor: "pointer"
|
|
1358
|
+
}
|
|
1359
|
+
}, /*#__PURE__*/_react.default.createElement(_icons.FilterOutlined, null))))]
|
|
1240
1360
|
}), /*#__PURE__*/_react.default.createElement(_agGridReact.AgGridReact, _extends({
|
|
1241
1361
|
theme: _theme.agGridTheme
|
|
1242
1362
|
}, rest, {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { QueryRuleGroup } from '../shared/storage/schemeStorageAdapter';
|
|
3
|
+
import { ExtendedColDef } from '../types';
|
|
4
|
+
interface AdvancedQueryBuilderProps {
|
|
5
|
+
rootGroup: QueryRuleGroup;
|
|
6
|
+
onChange: (group: QueryRuleGroup) => void;
|
|
7
|
+
colDefs: ExtendedColDef[];
|
|
8
|
+
}
|
|
9
|
+
declare const AdvancedQueryBuilder: React.FC<AdvancedQueryBuilderProps>;
|
|
10
|
+
export default AdvancedQueryBuilder;
|