@canlooks/can-ui 0.0.110 → 0.0.111

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.
@@ -78,7 +78,7 @@ exports.Curd = (0, react_1.memo)((props) => {
78
78
  return columns;
79
79
  }
80
80
  const controlColumn = {
81
- key: '$control',
81
+ key: utils_1.CONTROL_COLUMN_KEY,
82
82
  title: controlColumnTitle,
83
83
  render(row) {
84
84
  const _updatable = typeof updatable === 'function' ? updatable(row) : updatable;
@@ -14,6 +14,7 @@ export declare function columnsToFilterItem(columns?: (CurdColumn<any> | symbol)
14
14
  * @param row
15
15
  */
16
16
  export declare function columnsToFormItem(columns?: (CurdColumn<any> | symbol)[], row?: Obj): (ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | CurdFormItemProps)[] | undefined;
17
+ export declare const CONTROL_COLUMN_KEY = "$control";
17
18
  /**
18
19
  * 统一处理Columns
19
20
  */
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONTROL_COLUMN_KEY = void 0;
3
4
  exports.columnsToFilterItem = columnsToFilterItem;
4
5
  exports.columnsToFormItem = columnsToFormItem;
5
6
  exports.useCurdColumns = useCurdColumns;
@@ -58,6 +59,7 @@ function columnsTransfer(columns, type = 'filter', row) {
58
59
  })
59
60
  .sort((a, b) => (a.order || 0) - (b.order || 0));
60
61
  }
62
+ exports.CONTROL_COLUMN_KEY = '$control';
61
63
  /**
62
64
  * 统一处理Columns
63
65
  */
@@ -68,8 +70,20 @@ function useCurdColumns({ columns, columnConfigurable }) {
68
70
  }
69
71
  let { defaultVisible, visible, onVisibleChange, defaultOrder, order, onOrderChange } = columnConfigurable;
70
72
  if (!defaultVisible || !defaultOrder) {
71
- const defaultKeys = columns?.flatMap((col) => col.hideInTable ? [] : (col._key ?? [])) || [];
72
- defaultKeys.push('$control');
73
+ let hasControlColumn = false;
74
+ const defaultKeys = columns?.flatMap((col) => {
75
+ if (col.hideInTable) {
76
+ return [];
77
+ }
78
+ if (col._key) {
79
+ if (col._key === exports.CONTROL_COLUMN_KEY) {
80
+ hasControlColumn = true;
81
+ }
82
+ return col._key;
83
+ }
84
+ return [];
85
+ }) || [];
86
+ !hasControlColumn && defaultKeys.push(exports.CONTROL_COLUMN_KEY);
73
87
  defaultVisible ||= defaultKeys;
74
88
  defaultOrder ||= defaultKeys;
75
89
  }
@@ -4,7 +4,7 @@ import { DataGrid } from '../dataGrid';
4
4
  import { Form } from '../form';
5
5
  import { CurdFilterable } from './curdFilterable';
6
6
  import { classes, style } from './curd.style';
7
- import { clsx, useControlled, useCurdColumns, useDerivedState, useLoading, useSync, mergeComponentProps } from '../../utils';
7
+ import { clsx, useControlled, useCurdColumns, useDerivedState, useLoading, useSync, mergeComponentProps, CONTROL_COLUMN_KEY } from '../../utils';
8
8
  import { Button } from '../button';
9
9
  import { Tooltip } from '../tooltip';
10
10
  import { CurdColumnConfig } from './curdColumnConfig';
@@ -75,7 +75,7 @@ export const Curd = memo((props) => {
75
75
  return columns;
76
76
  }
77
77
  const controlColumn = {
78
- key: '$control',
78
+ key: CONTROL_COLUMN_KEY,
79
79
  title: controlColumnTitle,
80
80
  render(row) {
81
81
  const _updatable = typeof updatable === 'function' ? updatable(row) : updatable;
@@ -14,6 +14,7 @@ export declare function columnsToFilterItem(columns?: (CurdColumn<any> | symbol)
14
14
  * @param row
15
15
  */
16
16
  export declare function columnsToFormItem(columns?: (CurdColumn<any> | symbol)[], row?: Obj): (ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | CurdFormItemProps)[] | undefined;
17
+ export declare const CONTROL_COLUMN_KEY = "$control";
17
18
  /**
18
19
  * 统一处理Columns
19
20
  */
@@ -53,6 +53,7 @@ function columnsTransfer(columns, type = 'filter', row) {
53
53
  })
54
54
  .sort((a, b) => (a.order || 0) - (b.order || 0));
55
55
  }
56
+ export const CONTROL_COLUMN_KEY = '$control';
56
57
  /**
57
58
  * 统一处理Columns
58
59
  */
@@ -63,8 +64,20 @@ export function useCurdColumns({ columns, columnConfigurable }) {
63
64
  }
64
65
  let { defaultVisible, visible, onVisibleChange, defaultOrder, order, onOrderChange } = columnConfigurable;
65
66
  if (!defaultVisible || !defaultOrder) {
66
- const defaultKeys = columns?.flatMap((col) => col.hideInTable ? [] : (col._key ?? [])) || [];
67
- defaultKeys.push('$control');
67
+ let hasControlColumn = false;
68
+ const defaultKeys = columns?.flatMap((col) => {
69
+ if (col.hideInTable) {
70
+ return [];
71
+ }
72
+ if (col._key) {
73
+ if (col._key === CONTROL_COLUMN_KEY) {
74
+ hasControlColumn = true;
75
+ }
76
+ return col._key;
77
+ }
78
+ return [];
79
+ }) || [];
80
+ !hasControlColumn && defaultKeys.push(CONTROL_COLUMN_KEY);
68
81
  defaultVisible ||= defaultKeys;
69
82
  defaultOrder ||= defaultKeys;
70
83
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canlooks/can-ui",
3
- "version": "0.0.110",
3
+ "version": "0.0.111",
4
4
  "author": "C.CanLiang <canlooks@gmail.com>",
5
5
  "description": "My ui framework",
6
6
  "license": "MIT",