@arim-aisdc/public-components 2.3.12 → 2.3.13

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.
@@ -17,7 +17,7 @@ export declare const foramtBaseInfoField: (data: any, dataField: BaseInfoFieldTy
17
17
  value: any;
18
18
  field: string;
19
19
  label?: string;
20
- text: string | Element | JSX.Element;
20
+ text: string | JSX.Element | Element;
21
21
  units?: string;
22
22
  width?: string;
23
23
  labelWidth?: string;
@@ -20,6 +20,7 @@ import { getEmptyImage } from 'react-dnd-html5-backend';
20
20
  import { getPinningStyle } from "../TableHeader/utils";
21
21
  import { EditableCell } from "../components/ColumnEdit";
22
22
  import "./index.less";
23
+ import dayjs from 'dayjs';
23
24
  import { jsx as _jsx } from "react/jsx-runtime";
24
25
  import { Fragment as _Fragment } from "react/jsx-runtime";
25
26
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -324,9 +325,36 @@ var Row = function Row(_ref) {
324
325
  accessorKey = _cell$column$columnDe.accessorKey,
325
326
  header = _cell$column$columnDe.header,
326
327
  columnClassName = _cell$column$columnDe.columnClassName,
327
- id = _cell$column$columnDe.id;
328
+ id = _cell$column$columnDe.id,
329
+ filterType = _cell$column$columnDe.filterType;
328
330
  // 当前列是否编辑中
329
331
  var columnEditing = rowEditing && columnEditable;
332
+ // const cellValue = cell.getValue();
333
+
334
+ // const cellRenderer = cell.column.columnDef.cell;
335
+ // const formattedValue = isDateColumn(cell.column.columnDef)
336
+ // ? formatDate(cellValue, cell.column.columnDef?.meta?.dateFormat)
337
+ // : cellValue;
338
+
339
+ var originalContext = cell.getContext();
340
+ var rawValue = originalContext.getValue();
341
+
342
+ // 创建增强上下文
343
+ var enhancedContext = _objectSpread(_objectSpread({}, originalContext), {}, {
344
+ // 原始值获取
345
+ getValue: function getValue() {
346
+ return rawValue;
347
+ },
348
+ // 格式化值获取
349
+ getFormattedValue: function getFormattedValue() {
350
+ var _cell$column$columnDe2;
351
+ return isDateColumn(cell.column.columnDef) ? formatDate(rawValue, (_cell$column$columnDe2 = cell.column.columnDef) === null || _cell$column$columnDe2 === void 0 || (_cell$column$columnDe2 = _cell$column$columnDe2.meta) === null || _cell$column$columnDe2 === void 0 ? void 0 : _cell$column$columnDe2.dateFormat) : rawValue;
352
+ },
353
+ // 默认渲染使用格式化值
354
+ renderValue: function renderValue() {
355
+ return enhancedContext.getFormattedValue();
356
+ }
357
+ });
330
358
  return /*#__PURE__*/_jsx("td", _objectSpread(_objectSpread({
331
359
  className: "".concat(columnEditing ? 'tbody-tr-td-editting' : '', " ").concat(id === leftLastColumnId ? 'tbody-tr-td-cell-fix-left-last' : '', " ").concat(id === rightFirstColumnId ? 'tbody-tr-td-cell-fix-right-first' : '', " ").concat(columnClassName ? columnClassName.join(' ') : '', " ").concat((cellClassName === null || cellClassName === void 0 ? void 0 : cellClassName(cell).map(function (item) {
332
360
  return "".concat(item, "-").concat(theme);
@@ -344,7 +372,7 @@ var Row = function Row(_ref) {
344
372
  dataIndex: accessorKey,
345
373
  title: header,
346
374
  onEditValueChange: onEditValueChange,
347
- children: flexRender(cell.column.columnDef.cell, cell.getContext())
375
+ children: flexRender(cell.column.columnDef.cell, enhancedContext)
348
376
  }))
349
377
  }), cell.id);
350
378
  })
@@ -382,4 +410,16 @@ var Row = function Row(_ref) {
382
410
  })]
383
411
  });
384
412
  };
385
- export default Row;
413
+ export default Row;
414
+ function formatDate(dateValue) {
415
+ var pattern = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "YYYY-MM-DD HH:mm";
416
+ if (!dateValue) return '';
417
+ var date = dayjs(dateValue);
418
+ if (!date.isValid()) return 'Invalid Date';
419
+ console.log(date.format(pattern), pattern, 'pattern');
420
+ return date.format(pattern);
421
+ }
422
+ function isDateColumn(column) {
423
+ var _column$meta;
424
+ return (column === null || column === void 0 || (_column$meta = column.meta) === null || _column$meta === void 0 ? void 0 : _column$meta.isDate) || false;
425
+ }
@@ -437,6 +437,7 @@ var TableMax = function TableMax(_ref) {
437
437
  onExpandedChange: setExpanded,
438
438
  sortDescFirst: true // 首次排序为递减排序,不加这个属性的话,有些列的排序会有问题
439
439
  });
440
+ console.log(tableColumns, 'table.columns');
440
441
 
441
442
  // 暴露给外部的api
442
443
  useImperativeHandle(refInstance, function () {
@@ -30,7 +30,6 @@ var Filter = function Filter(_ref) {
30
30
  getFilterOptionsFn = columnDef.getFilterOptionsFn,
31
31
  _columnDef$isFilterOp = columnDef.isFilterOptionsFrontSearch,
32
32
  isFilterOptionsFrontSearch = _columnDef$isFilterOp === void 0 ? false : _columnDef$isFilterOp;
33
-
34
33
  // 获取最新的筛选值
35
34
  var _useState = useState(column.getFilterValue()),
36
35
  _useState2 = _slicedToArray(_useState, 2),
@@ -41,6 +41,16 @@ var FILTER_FN_ENUM = (_FILTER_FN_ENUM = {}, _defineProperty(_defineProperty(_def
41
41
  // 给columns配置填充默认的过滤函数
42
42
  export function setDefaultFilterFn(columns) {
43
43
  columns.forEach(function (column) {
44
+ if (column.filterType === FilterType.DateRange || column.filterType === FilterType.SingleDate) {
45
+ if (!column.meta) {
46
+ column.meta = {};
47
+ column.meta.isDate = true;
48
+ column.meta.dateFormat = 'YYYY-MM-DD HH:mm';
49
+ } else {
50
+ column.meta.isDate = column.meta.isDate || true;
51
+ column.meta.dateFormat = column.meta.dateFormat || 'YYYY-MM-DD HH:mm';
52
+ }
53
+ }
44
54
  if (column.filterType && !column.filterFn && FILTER_FN_ENUM[column.filterType]) {
45
55
  // 当前列指定了过滤组件,但是没有指定过滤函数,在这里自动补上
46
56
  column.filterFn = FILTER_FN_ENUM[column.filterType];
@@ -388,6 +388,12 @@ export interface TableMaxColumnType {
388
388
  required?: boolean;
389
389
  /**是否可调整列宽大小 */
390
390
  enableResizing?: boolean;
391
+ meta?: {
392
+ /**是否为日期, 配置filterType后也可以判断是否为日期 */
393
+ isDate?: boolean;
394
+ /**日期展示格式 */
395
+ dateFormat?: string;
396
+ };
391
397
  }
392
398
  export type FormatFilterType = {
393
399
  field: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arim-aisdc/public-components",
3
- "version": "2.3.12",
3
+ "version": "2.3.13",
4
4
  "description": "前端组件库",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",