@nokecy/qc-ui 1.1.79 → 1.1.80

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.
@@ -453,18 +453,8 @@ function AgGridPlus(props) {
453
453
  return undefined;
454
454
  };
455
455
 
456
- // 辅助函数: 自定义单元格渲染器
457
- var cellRenderer = function cellRenderer(params) {
458
- var value = params.value,
459
- node = params.node,
460
- colDef = params.colDef;
461
- //@ts-ignore
462
- if (node.isRowPinned() || !colDef.customCellRenderer) {
463
- return value;
464
- }
465
- //@ts-ignore
466
- return colDef.customCellRenderer(params);
467
- };
456
+ // 辅助函数: 自定义单元格渲染器(无自定义渲染器时显示 valueFormatter 的结果,见 renderDefaultCell)
457
+ var cellRenderer = _columnProcessors.renderDefaultCell;
468
458
 
469
459
  // 辅助函数: 处理单个列配置
470
460
  var processColumnConfig = function processColumnConfig(col, data) {
@@ -95,13 +95,24 @@ export declare function processEnumColumn(col: any, dataType?: DataTypeInference
95
95
  * @returns 处理后的列定义
96
96
  */
97
97
  export declare function processEllipsisColumn(col: any): ColDef;
98
+ /**
99
+ * 默认单元格渲染:固定行(合计等)显示原值;数据行有自定义渲染器(`customCellRenderer`)时交给它;
100
+ * 否则显示 `valueFormatted`(列上配了 `valueFormatter` 时由 AG Grid 算好),没配则显示原值。
101
+ *
102
+ * 以前这里直接返回 `params.value`,普通列(没有 `type`、没有自定义渲染器)上写的 `valueFormatter`
103
+ * 被绕过:状态码列显示原码、「0/1」列显示 0/1,而不是格式化后的文字。
104
+ * 固定行保持原行为:格式化函数多按数据行写,空值常被格式化成「—」,不能让合计行冒出占位符。
105
+ *
106
+ * @author nokecy
107
+ */
108
+ export declare function renderDefaultCell(params: ICellRendererParams): any;
98
109
  /**
99
110
  * 创建自定义单元格渲染器包装
100
111
  *
101
- * @param customRenderer 自定义渲染器
112
+ * @param _customRenderer 保留参数,实际取列上的 `customCellRenderer`
102
113
  * @returns 包装后的渲染器
103
114
  */
104
- export declare function createCellRenderer(customRenderer: any): (params: ICellRendererParams) => any;
115
+ export declare function createCellRenderer(_customRenderer?: any): typeof renderDefaultCell;
105
116
  /**
106
117
  * 构建查询表单项
107
118
  *
@@ -12,6 +12,7 @@ exports.inferDataType = inferDataType;
12
12
  exports.mergeInferredColumnType = mergeInferredColumnType;
13
13
  exports.processEllipsisColumn = processEllipsisColumn;
14
14
  exports.processEnumColumn = processEnumColumn;
15
+ exports.renderDefaultCell = renderDefaultCell;
15
16
  exports.toColumnType = toColumnType;
16
17
  var _react = _interopRequireDefault(require("react"));
17
18
  var _antd = require("antd");
@@ -245,26 +246,36 @@ function processEllipsisColumn(col) {
245
246
  });
246
247
  }
247
248
 
249
+ /**
250
+ * 默认单元格渲染:固定行(合计等)显示原值;数据行有自定义渲染器(`customCellRenderer`)时交给它;
251
+ * 否则显示 `valueFormatted`(列上配了 `valueFormatter` 时由 AG Grid 算好),没配则显示原值。
252
+ *
253
+ * 以前这里直接返回 `params.value`,普通列(没有 `type`、没有自定义渲染器)上写的 `valueFormatter`
254
+ * 被绕过:状态码列显示原码、「0/1」列显示 0/1,而不是格式化后的文字。
255
+ * 固定行保持原行为:格式化函数多按数据行写,空值常被格式化成「—」,不能让合计行冒出占位符。
256
+ *
257
+ * @author nokecy
258
+ */
259
+ function renderDefaultCell(params) {
260
+ var _node$isRowPinned;
261
+ var value = params.value,
262
+ valueFormatted = params.valueFormatted,
263
+ node = params.node,
264
+ colDef = params.colDef;
265
+ if (node !== null && node !== void 0 && (_node$isRowPinned = node.isRowPinned) !== null && _node$isRowPinned !== void 0 && _node$isRowPinned.call(node)) return value;
266
+ var customRenderer = colDef === null || colDef === void 0 ? void 0 : colDef.customCellRenderer;
267
+ if (!customRenderer) return valueFormatted !== null && valueFormatted !== void 0 ? valueFormatted : value;
268
+ return customRenderer(params);
269
+ }
270
+
248
271
  /**
249
272
  * 创建自定义单元格渲染器包装
250
273
  *
251
- * @param customRenderer 自定义渲染器
274
+ * @param _customRenderer 保留参数,实际取列上的 `customCellRenderer`
252
275
  * @returns 包装后的渲染器
253
276
  */
254
- function createCellRenderer(customRenderer) {
255
- return function (params) {
256
- var value = params.value,
257
- node = params.node,
258
- colDef = params.colDef;
259
-
260
- // 固定行或没有自定义渲染器时,直接返回值
261
- if (node.isRowPinned() || !colDef.customCellRenderer) {
262
- return value;
263
- }
264
-
265
- // 使用自定义渲染器
266
- return colDef.customCellRenderer(params);
267
- };
277
+ function createCellRenderer(_customRenderer) {
278
+ return renderDefaultCell;
268
279
  }
269
280
 
270
281
  /**
@@ -36,7 +36,7 @@ import ToolBar from "./toolBar";
36
36
  import SettingItem from "./settingItem";
37
37
  import { RedoOutlined, FilterOutlined } from '@ant-design/icons';
38
38
  import { convertFilterModel, dateTimeValueFormatter, dateValueFormatter, flatten, toTree } from "./utils";
39
- import { mergeInferredColumnType, processEllipsisColumn, processEnumColumn } from "./utils/columnProcessors";
39
+ import { mergeInferredColumnType, processEllipsisColumn, processEnumColumn, renderDefaultCell } from "./utils/columnProcessors";
40
40
  import AdvancedQueryBuilder from "./queryForm/AdvancedQueryBuilder";
41
41
  import { v4 as uuidv4 } from 'uuid';
42
42
  import Setting from "./setting";
@@ -445,18 +445,8 @@ function AgGridPlus(props) {
445
445
  return undefined;
446
446
  };
447
447
 
448
- // 辅助函数: 自定义单元格渲染器
449
- var cellRenderer = function cellRenderer(params) {
450
- var value = params.value,
451
- node = params.node,
452
- colDef = params.colDef;
453
- //@ts-ignore
454
- if (node.isRowPinned() || !colDef.customCellRenderer) {
455
- return value;
456
- }
457
- //@ts-ignore
458
- return colDef.customCellRenderer(params);
459
- };
448
+ // 辅助函数: 自定义单元格渲染器(无自定义渲染器时显示 valueFormatter 的结果,见 renderDefaultCell)
449
+ var cellRenderer = renderDefaultCell;
460
450
 
461
451
  // 辅助函数: 处理单个列配置
462
452
  var processColumnConfig = function processColumnConfig(col, data) {
@@ -95,13 +95,24 @@ export declare function processEnumColumn(col: any, dataType?: DataTypeInference
95
95
  * @returns 处理后的列定义
96
96
  */
97
97
  export declare function processEllipsisColumn(col: any): ColDef;
98
+ /**
99
+ * 默认单元格渲染:固定行(合计等)显示原值;数据行有自定义渲染器(`customCellRenderer`)时交给它;
100
+ * 否则显示 `valueFormatted`(列上配了 `valueFormatter` 时由 AG Grid 算好),没配则显示原值。
101
+ *
102
+ * 以前这里直接返回 `params.value`,普通列(没有 `type`、没有自定义渲染器)上写的 `valueFormatter`
103
+ * 被绕过:状态码列显示原码、「0/1」列显示 0/1,而不是格式化后的文字。
104
+ * 固定行保持原行为:格式化函数多按数据行写,空值常被格式化成「—」,不能让合计行冒出占位符。
105
+ *
106
+ * @author nokecy
107
+ */
108
+ export declare function renderDefaultCell(params: ICellRendererParams): any;
98
109
  /**
99
110
  * 创建自定义单元格渲染器包装
100
111
  *
101
- * @param customRenderer 自定义渲染器
112
+ * @param _customRenderer 保留参数,实际取列上的 `customCellRenderer`
102
113
  * @returns 包装后的渲染器
103
114
  */
104
- export declare function createCellRenderer(customRenderer: any): (params: ICellRendererParams) => any;
115
+ export declare function createCellRenderer(_customRenderer?: any): typeof renderDefaultCell;
105
116
  /**
106
117
  * 构建查询表单项
107
118
  *
@@ -229,26 +229,36 @@ export function processEllipsisColumn(col) {
229
229
  });
230
230
  }
231
231
 
232
+ /**
233
+ * 默认单元格渲染:固定行(合计等)显示原值;数据行有自定义渲染器(`customCellRenderer`)时交给它;
234
+ * 否则显示 `valueFormatted`(列上配了 `valueFormatter` 时由 AG Grid 算好),没配则显示原值。
235
+ *
236
+ * 以前这里直接返回 `params.value`,普通列(没有 `type`、没有自定义渲染器)上写的 `valueFormatter`
237
+ * 被绕过:状态码列显示原码、「0/1」列显示 0/1,而不是格式化后的文字。
238
+ * 固定行保持原行为:格式化函数多按数据行写,空值常被格式化成「—」,不能让合计行冒出占位符。
239
+ *
240
+ * @author nokecy
241
+ */
242
+ export function renderDefaultCell(params) {
243
+ var _node$isRowPinned;
244
+ var value = params.value,
245
+ valueFormatted = params.valueFormatted,
246
+ node = params.node,
247
+ colDef = params.colDef;
248
+ if (node !== null && node !== void 0 && (_node$isRowPinned = node.isRowPinned) !== null && _node$isRowPinned !== void 0 && _node$isRowPinned.call(node)) return value;
249
+ var customRenderer = colDef === null || colDef === void 0 ? void 0 : colDef.customCellRenderer;
250
+ if (!customRenderer) return valueFormatted !== null && valueFormatted !== void 0 ? valueFormatted : value;
251
+ return customRenderer(params);
252
+ }
253
+
232
254
  /**
233
255
  * 创建自定义单元格渲染器包装
234
256
  *
235
- * @param customRenderer 自定义渲染器
257
+ * @param _customRenderer 保留参数,实际取列上的 `customCellRenderer`
236
258
  * @returns 包装后的渲染器
237
259
  */
238
- export function createCellRenderer(customRenderer) {
239
- return function (params) {
240
- var value = params.value,
241
- node = params.node,
242
- colDef = params.colDef;
243
-
244
- // 固定行或没有自定义渲染器时,直接返回值
245
- if (node.isRowPinned() || !colDef.customCellRenderer) {
246
- return value;
247
- }
248
-
249
- // 使用自定义渲染器
250
- return colDef.customCellRenderer(params);
251
- };
260
+ export function createCellRenderer(_customRenderer) {
261
+ return renderDefaultCell;
252
262
  }
253
263
 
254
264
  /**