@nokecy/qc-ui 1.0.3 → 1.0.5
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 +2 -2
- package/dist/cjs/ag-grid-plus/interface.d.ts +10 -1
- package/dist/cjs/ag-grid-plus/queryForm/index.js +4 -0
- package/dist/cjs/ag-grid-plus/utils.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/utils.js +10 -7
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +2 -2
- package/dist/esm/ag-grid-plus/interface.d.ts +10 -1
- package/dist/esm/ag-grid-plus/queryForm/index.js +4 -0
- package/dist/esm/ag-grid-plus/utils.d.ts +2 -1
- package/dist/esm/ag-grid-plus/utils.js +10 -7
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
|
@@ -190,7 +190,7 @@ function AgGridPlus(props) {
|
|
|
190
190
|
}, [dataSource]);
|
|
191
191
|
var onRequest = function onRequest(queryFilter) {
|
|
192
192
|
setLoading(true);
|
|
193
|
-
var filter = (0, _utils.convertFilterModel)(queryFilter);
|
|
193
|
+
var filter = (0, _utils.convertFilterModel)(queryFilter, allColDefs);
|
|
194
194
|
var params = _objectSpread(_objectSpread({
|
|
195
195
|
filter: filter
|
|
196
196
|
}, gridParams), {}, {
|
|
@@ -211,7 +211,6 @@ function AgGridPlus(props) {
|
|
|
211
211
|
setLoading(false);
|
|
212
212
|
});
|
|
213
213
|
};
|
|
214
|
-
var actionDom = toolBarRender && toolBarRender(apiRef.current, (0, _utils.convertFilterModel)(queryFilter), queryFilter);
|
|
215
214
|
var sortChanged = function sortChanged(columnApi) {
|
|
216
215
|
var sortedColumn = columnApi.getColumnState().find(function (col) {
|
|
217
216
|
return Boolean(col.sort);
|
|
@@ -409,6 +408,7 @@ function AgGridPlus(props) {
|
|
|
409
408
|
var rowDataMemo = (0, _react.useMemo)(function () {
|
|
410
409
|
return props.treeData ? (0, _utils.flatten)((0, _utils.toTree)(rowData, treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id", treeParentName !== null && treeParentName !== void 0 ? treeParentName : "parentId"), treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id") : rowData;
|
|
411
410
|
}, [rowData, props.treeData]);
|
|
411
|
+
var actionDom = toolBarRender && toolBarRender(apiRef.current, (0, _utils.convertFilterModel)(queryFilter, allColDefs), queryFilter);
|
|
412
412
|
return /*#__PURE__*/_react.default.createElement(_antd.Spin, {
|
|
413
413
|
spinning: loading,
|
|
414
414
|
wrapperClassName: "grid-spin"
|
|
@@ -16,6 +16,7 @@ interface GridProps extends AgGridReactProps {
|
|
|
16
16
|
treeParentName?: string;
|
|
17
17
|
search?: boolean;
|
|
18
18
|
headerTitle?: React.ReactNode;
|
|
19
|
+
columnDefs?: (AgGridColumnPropsClone | ColGroupDef<any>)[] | null;
|
|
19
20
|
toolBarRender?: (gridApi?: GridApi, filter?: string, queryFilter?: any) => React.ReactNode[];
|
|
20
21
|
/**
|
|
21
22
|
* 用于标识grid唯一标识,用于保存列方案
|
|
@@ -28,12 +29,20 @@ interface GridProps extends AgGridReactProps {
|
|
|
28
29
|
gridRef?: React.Ref<GridRef | undefined>;
|
|
29
30
|
}
|
|
30
31
|
interface AgGridColumnPropsClone extends ColDef {
|
|
32
|
+
/**
|
|
33
|
+
* 是否模糊查询
|
|
34
|
+
*/
|
|
35
|
+
exactQuery?: boolean;
|
|
31
36
|
hideInTable?: boolean;
|
|
32
37
|
hideInSearch?: boolean;
|
|
33
38
|
queryField?: string;
|
|
34
39
|
searchComponent?: ReactNode | JSX.Element | ((props: any) => JSX.Element);
|
|
35
40
|
searchComponentProps?: any;
|
|
36
41
|
searchSort?: number;
|
|
42
|
+
enum?: {
|
|
43
|
+
value: any;
|
|
44
|
+
label: any;
|
|
45
|
+
}[];
|
|
37
46
|
}
|
|
38
47
|
declare function AgGridColumn(props: AgGridColumnPropsClone | ColGroupDef): React.JSX.Element;
|
|
39
|
-
export { GridProps, AgGridColumn, GridRef };
|
|
48
|
+
export { GridProps, AgGridColumn, GridRef, AgGridColumnPropsClone };
|
|
@@ -99,6 +99,9 @@ var FormRender = function FormRender(props) {
|
|
|
99
99
|
component = "BoolSelect";
|
|
100
100
|
break;
|
|
101
101
|
}
|
|
102
|
+
if (colDef.enum) {
|
|
103
|
+
component = "Select";
|
|
104
|
+
}
|
|
102
105
|
return component ? component : "Input";
|
|
103
106
|
}
|
|
104
107
|
};
|
|
@@ -141,6 +144,7 @@ var FormRender = function FormRender(props) {
|
|
|
141
144
|
title: headerName,
|
|
142
145
|
required: (colDef === null || colDef === void 0 || (_colDef$searchCompone = colDef.searchComponentProps) === null || _colDef$searchCompone === void 0 ? void 0 : _colDef$searchCompone.required) || false,
|
|
143
146
|
default: colDef === null || colDef === void 0 || (_colDef$searchCompone2 = colDef.searchComponentProps) === null || _colDef$searchCompone2 === void 0 ? void 0 : _colDef$searchCompone2.default,
|
|
147
|
+
enum: colDef === null || colDef === void 0 ? void 0 : colDef.enum,
|
|
144
148
|
"x-component": component,
|
|
145
149
|
"x-component-props": _objectSpread({
|
|
146
150
|
placeholder: "\u8BF7\u8F93\u5165".concat(headerName),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ValueFormatterParams } from 'ag-grid-community';
|
|
2
|
-
|
|
2
|
+
import { AgGridColumnPropsClone } from './interface';
|
|
3
|
+
declare const convertFilterModel: (filterModel: any, colDefs: AgGridColumnPropsClone[]) => string;
|
|
3
4
|
declare const convertSortModel: (sortModel: any[]) => string;
|
|
4
5
|
declare const dateValueFormatter: (params: ValueFormatterParams) => string;
|
|
5
6
|
declare const dateTimeValueFormatter: (params: ValueFormatterParams) => string;
|
|
@@ -22,9 +22,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
22
22
|
var esc = function esc(v) {
|
|
23
23
|
return v.replace(/([(),|,\\]|\/i)/g, '\\$1');
|
|
24
24
|
};
|
|
25
|
-
var getFilter = function getFilter(objectKey, value) {
|
|
25
|
+
var getFilter = function getFilter(objectKey, value, colDef) {
|
|
26
26
|
if (typeof value === 'string') {
|
|
27
|
-
return value && value != "" ? "".concat(objectKey, " =* ").concat(esc(value)) : "";
|
|
27
|
+
return value && value != "" ? "".concat(objectKey, " ").concat(colDef !== null && colDef !== void 0 && colDef.exactQuery ? '=*' : "^", " ").concat(esc(value)) : "";
|
|
28
28
|
}
|
|
29
29
|
if (typeof value === 'number') {
|
|
30
30
|
return "".concat(objectKey, " = ").concat(value);
|
|
@@ -36,12 +36,12 @@ var getFilter = function getFilter(objectKey, value) {
|
|
|
36
36
|
return "".concat(objectKey, " >= ").concat((0, _dayjs.default)(value[0]).format("YYYY-MM-DD"), " ,") + "".concat(objectKey, " <= ").concat((0, _dayjs.default)(value[1]).add(1, 'days').format("YYYY-MM-DD"));
|
|
37
37
|
}
|
|
38
38
|
var items = [];
|
|
39
|
-
getObjectFilter(value, objectKey, items);
|
|
39
|
+
getObjectFilter(value, objectKey, items, colDef);
|
|
40
40
|
return items.filter(function (x) {
|
|
41
41
|
return !!x;
|
|
42
42
|
}).join(",");
|
|
43
43
|
};
|
|
44
|
-
var getObjectFilter = function getObjectFilter(obj, objKey, items) {
|
|
44
|
+
var getObjectFilter = function getObjectFilter(obj, objKey, items, colDef) {
|
|
45
45
|
Object.keys(obj).map(function (key) {
|
|
46
46
|
var value = obj[key];
|
|
47
47
|
var objectKey = "".concat(objKey, ".").concat(key);
|
|
@@ -49,7 +49,7 @@ var getObjectFilter = function getObjectFilter(obj, objKey, items) {
|
|
|
49
49
|
items.push("".concat(objectKey, " = ").concat(value));
|
|
50
50
|
}
|
|
51
51
|
if (typeof value === 'string') {
|
|
52
|
-
value && value != "" && items.push("".concat(objectKey, " =* ").concat(esc(value)));
|
|
52
|
+
value && value != "" && items.push("".concat(objectKey, " ").concat(colDef !== null && colDef !== void 0 && colDef.exactQuery ? '=*' : "^", " ").concat(esc(value)));
|
|
53
53
|
}
|
|
54
54
|
if (typeof value === 'boolean') {
|
|
55
55
|
items.push("".concat(objectKey, " = ").concat(value));
|
|
@@ -60,12 +60,15 @@ var getObjectFilter = function getObjectFilter(obj, objKey, items) {
|
|
|
60
60
|
if (value instanceof Object) items.push(getObjectFilter(value, "".concat(objKey, ".").concat(key), items));
|
|
61
61
|
});
|
|
62
62
|
};
|
|
63
|
-
var convertFilterModel = exports.convertFilterModel = function convertFilterModel(filterModel) {
|
|
63
|
+
var convertFilterModel = exports.convertFilterModel = function convertFilterModel(filterModel, colDefs) {
|
|
64
64
|
var items = [];
|
|
65
65
|
Object.keys(filterModel).map(function (key) {
|
|
66
66
|
var value = filterModel[key];
|
|
67
|
+
var colDef = colDefs.find(function (colDef) {
|
|
68
|
+
return colDef.field == key;
|
|
69
|
+
});
|
|
67
70
|
if (value !== undefined && value !== null && value !== "") {
|
|
68
|
-
var filter = getFilter(key, value);
|
|
71
|
+
var filter = getFilter(key, value, colDef);
|
|
69
72
|
if (filter && filter != "") {
|
|
70
73
|
items.push(filter);
|
|
71
74
|
}
|
|
@@ -181,7 +181,7 @@ function AgGridPlus(props) {
|
|
|
181
181
|
}, [dataSource]);
|
|
182
182
|
var onRequest = function onRequest(queryFilter) {
|
|
183
183
|
setLoading(true);
|
|
184
|
-
var filter = convertFilterModel(queryFilter);
|
|
184
|
+
var filter = convertFilterModel(queryFilter, allColDefs);
|
|
185
185
|
var params = _objectSpread(_objectSpread({
|
|
186
186
|
filter: filter
|
|
187
187
|
}, gridParams), {}, {
|
|
@@ -202,7 +202,6 @@ function AgGridPlus(props) {
|
|
|
202
202
|
setLoading(false);
|
|
203
203
|
});
|
|
204
204
|
};
|
|
205
|
-
var actionDom = toolBarRender && toolBarRender(apiRef.current, convertFilterModel(queryFilter), queryFilter);
|
|
206
205
|
var sortChanged = function sortChanged(columnApi) {
|
|
207
206
|
var sortedColumn = columnApi.getColumnState().find(function (col) {
|
|
208
207
|
return Boolean(col.sort);
|
|
@@ -400,6 +399,7 @@ function AgGridPlus(props) {
|
|
|
400
399
|
var rowDataMemo = useMemo(function () {
|
|
401
400
|
return props.treeData ? flatten(toTree(rowData, treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id", treeParentName !== null && treeParentName !== void 0 ? treeParentName : "parentId"), treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id") : rowData;
|
|
402
401
|
}, [rowData, props.treeData]);
|
|
402
|
+
var actionDom = toolBarRender && toolBarRender(apiRef.current, convertFilterModel(queryFilter, allColDefs), queryFilter);
|
|
403
403
|
return /*#__PURE__*/React.createElement(Spin, {
|
|
404
404
|
spinning: loading,
|
|
405
405
|
wrapperClassName: "grid-spin"
|
|
@@ -16,6 +16,7 @@ interface GridProps extends AgGridReactProps {
|
|
|
16
16
|
treeParentName?: string;
|
|
17
17
|
search?: boolean;
|
|
18
18
|
headerTitle?: React.ReactNode;
|
|
19
|
+
columnDefs?: (AgGridColumnPropsClone | ColGroupDef<any>)[] | null;
|
|
19
20
|
toolBarRender?: (gridApi?: GridApi, filter?: string, queryFilter?: any) => React.ReactNode[];
|
|
20
21
|
/**
|
|
21
22
|
* 用于标识grid唯一标识,用于保存列方案
|
|
@@ -28,12 +29,20 @@ interface GridProps extends AgGridReactProps {
|
|
|
28
29
|
gridRef?: React.Ref<GridRef | undefined>;
|
|
29
30
|
}
|
|
30
31
|
interface AgGridColumnPropsClone extends ColDef {
|
|
32
|
+
/**
|
|
33
|
+
* 是否模糊查询
|
|
34
|
+
*/
|
|
35
|
+
exactQuery?: boolean;
|
|
31
36
|
hideInTable?: boolean;
|
|
32
37
|
hideInSearch?: boolean;
|
|
33
38
|
queryField?: string;
|
|
34
39
|
searchComponent?: ReactNode | JSX.Element | ((props: any) => JSX.Element);
|
|
35
40
|
searchComponentProps?: any;
|
|
36
41
|
searchSort?: number;
|
|
42
|
+
enum?: {
|
|
43
|
+
value: any;
|
|
44
|
+
label: any;
|
|
45
|
+
}[];
|
|
37
46
|
}
|
|
38
47
|
declare function AgGridColumn(props: AgGridColumnPropsClone | ColGroupDef): React.JSX.Element;
|
|
39
|
-
export { GridProps, AgGridColumn, GridRef };
|
|
48
|
+
export { GridProps, AgGridColumn, GridRef, AgGridColumnPropsClone };
|
|
@@ -91,6 +91,9 @@ var FormRender = function FormRender(props) {
|
|
|
91
91
|
component = "BoolSelect";
|
|
92
92
|
break;
|
|
93
93
|
}
|
|
94
|
+
if (colDef.enum) {
|
|
95
|
+
component = "Select";
|
|
96
|
+
}
|
|
94
97
|
return component ? component : "Input";
|
|
95
98
|
}
|
|
96
99
|
};
|
|
@@ -133,6 +136,7 @@ var FormRender = function FormRender(props) {
|
|
|
133
136
|
title: headerName,
|
|
134
137
|
required: (colDef === null || colDef === void 0 || (_colDef$searchCompone = colDef.searchComponentProps) === null || _colDef$searchCompone === void 0 ? void 0 : _colDef$searchCompone.required) || false,
|
|
135
138
|
default: colDef === null || colDef === void 0 || (_colDef$searchCompone2 = colDef.searchComponentProps) === null || _colDef$searchCompone2 === void 0 ? void 0 : _colDef$searchCompone2.default,
|
|
139
|
+
enum: colDef === null || colDef === void 0 ? void 0 : colDef.enum,
|
|
136
140
|
"x-component": component,
|
|
137
141
|
"x-component-props": _objectSpread({
|
|
138
142
|
placeholder: "\u8BF7\u8F93\u5165".concat(headerName),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ValueFormatterParams } from 'ag-grid-community';
|
|
2
|
-
|
|
2
|
+
import { AgGridColumnPropsClone } from './interface';
|
|
3
|
+
declare const convertFilterModel: (filterModel: any, colDefs: AgGridColumnPropsClone[]) => string;
|
|
3
4
|
declare const convertSortModel: (sortModel: any[]) => string;
|
|
4
5
|
declare const dateValueFormatter: (params: ValueFormatterParams) => string;
|
|
5
6
|
declare const dateTimeValueFormatter: (params: ValueFormatterParams) => string;
|
|
@@ -15,9 +15,9 @@ import dayjs from 'dayjs';
|
|
|
15
15
|
var esc = function esc(v) {
|
|
16
16
|
return v.replace(/([(),|,\\]|\/i)/g, '\\$1');
|
|
17
17
|
};
|
|
18
|
-
var getFilter = function getFilter(objectKey, value) {
|
|
18
|
+
var getFilter = function getFilter(objectKey, value, colDef) {
|
|
19
19
|
if (typeof value === 'string') {
|
|
20
|
-
return value && value != "" ? "".concat(objectKey, " =* ").concat(esc(value)) : "";
|
|
20
|
+
return value && value != "" ? "".concat(objectKey, " ").concat(colDef !== null && colDef !== void 0 && colDef.exactQuery ? '=*' : "^", " ").concat(esc(value)) : "";
|
|
21
21
|
}
|
|
22
22
|
if (typeof value === 'number') {
|
|
23
23
|
return "".concat(objectKey, " = ").concat(value);
|
|
@@ -29,12 +29,12 @@ var getFilter = function getFilter(objectKey, value) {
|
|
|
29
29
|
return "".concat(objectKey, " >= ").concat(dayjs(value[0]).format("YYYY-MM-DD"), " ,") + "".concat(objectKey, " <= ").concat(dayjs(value[1]).add(1, 'days').format("YYYY-MM-DD"));
|
|
30
30
|
}
|
|
31
31
|
var items = [];
|
|
32
|
-
getObjectFilter(value, objectKey, items);
|
|
32
|
+
getObjectFilter(value, objectKey, items, colDef);
|
|
33
33
|
return items.filter(function (x) {
|
|
34
34
|
return !!x;
|
|
35
35
|
}).join(",");
|
|
36
36
|
};
|
|
37
|
-
var getObjectFilter = function getObjectFilter(obj, objKey, items) {
|
|
37
|
+
var getObjectFilter = function getObjectFilter(obj, objKey, items, colDef) {
|
|
38
38
|
Object.keys(obj).map(function (key) {
|
|
39
39
|
var value = obj[key];
|
|
40
40
|
var objectKey = "".concat(objKey, ".").concat(key);
|
|
@@ -42,7 +42,7 @@ var getObjectFilter = function getObjectFilter(obj, objKey, items) {
|
|
|
42
42
|
items.push("".concat(objectKey, " = ").concat(value));
|
|
43
43
|
}
|
|
44
44
|
if (typeof value === 'string') {
|
|
45
|
-
value && value != "" && items.push("".concat(objectKey, " =* ").concat(esc(value)));
|
|
45
|
+
value && value != "" && items.push("".concat(objectKey, " ").concat(colDef !== null && colDef !== void 0 && colDef.exactQuery ? '=*' : "^", " ").concat(esc(value)));
|
|
46
46
|
}
|
|
47
47
|
if (typeof value === 'boolean') {
|
|
48
48
|
items.push("".concat(objectKey, " = ").concat(value));
|
|
@@ -53,12 +53,15 @@ var getObjectFilter = function getObjectFilter(obj, objKey, items) {
|
|
|
53
53
|
if (value instanceof Object) items.push(getObjectFilter(value, "".concat(objKey, ".").concat(key), items));
|
|
54
54
|
});
|
|
55
55
|
};
|
|
56
|
-
var convertFilterModel = function convertFilterModel(filterModel) {
|
|
56
|
+
var convertFilterModel = function convertFilterModel(filterModel, colDefs) {
|
|
57
57
|
var items = [];
|
|
58
58
|
Object.keys(filterModel).map(function (key) {
|
|
59
59
|
var value = filterModel[key];
|
|
60
|
+
var colDef = colDefs.find(function (colDef) {
|
|
61
|
+
return colDef.field == key;
|
|
62
|
+
});
|
|
60
63
|
if (value !== undefined && value !== null && value !== "") {
|
|
61
|
-
var filter = getFilter(key, value);
|
|
64
|
+
var filter = getFilter(key, value, colDef);
|
|
62
65
|
if (filter && filter != "") {
|
|
63
66
|
items.push(filter);
|
|
64
67
|
}
|