@teamias/rex-design 0.0.13 → 0.0.15

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.
Files changed (32) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/dist/components/action-buttons/index.d.ts +1 -1
  4. package/dist/components/action-buttons/index.js +2 -2
  5. package/dist/components/base-form/demo/BaseFormCustomContent.js +5 -5
  6. package/dist/components/base-form/index.d.ts +1 -1
  7. package/dist/components/base-form/index.js +2 -2
  8. package/dist/components/base-form/modules/dependencyUtils.d.ts +1 -1
  9. package/dist/components/base-form/modules/handlerData.d.ts +1 -1
  10. package/dist/components/base-form/modules/handlerData.js +1 -1
  11. package/dist/components/base-form/modules/renderComponentNode.js +25 -13
  12. package/dist/components/base-form/modules/valuesToFields.js +4 -4
  13. package/dist/components/base-form/types.d.ts +1 -1
  14. package/dist/components/base-list-table/demo/NoData.js +44 -45
  15. package/dist/components/base-list-table/demo/VirtualDemo.js +348 -349
  16. package/dist/components/base-table/base-table.d.ts +6 -1
  17. package/dist/components/base-table/base-table.js +56 -25
  18. package/dist/components/base-table/components/BaseTableRow.js +8 -8
  19. package/dist/components/base-table/demo/BaseTableAll.js +35 -28
  20. package/dist/components/base-table/demo/BaseTableBasic.js +22 -23
  21. package/dist/components/base-table/demo/BaseTableRowSelect.js +22 -23
  22. package/dist/components/base-table/demo/tableData.js +172 -172
  23. package/dist/components/data-cell/style/index.js +1 -1
  24. package/dist/components/icons/assets/icon-park--arrow-up.svg +0 -0
  25. package/dist/components/icons/assets/svg-spinners--blocks-shuffle-3.svg +0 -0
  26. package/dist/components/media-viewer/style/index.d.ts +1 -1
  27. package/dist/components/media-viewer/style/index.js +3 -3
  28. package/dist/hooks/use-state-data/demo/index.js +0 -1
  29. package/dist/locales/en-US.json +0 -0
  30. package/dist/locales/zh-CN.json +0 -0
  31. package/dist/types/svg.d.ts +1 -1
  32. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
+ /// <reference types="react" />
1
2
  import { GetProps, Table } from 'antd';
2
3
  import { IDataCellItem, TGroupV2 } from '../data-cell/types';
3
- export declare const BaseTable: <T extends object = object>({ useDataCellRender, fields: outFields, fieldsConfig, fieldProps: outFieldProps, requestFields, requestFieldsUrl, requestFieldsParams, fieldPropsFn, indexColumn, extraColumns, onDataCellClick, onDataCellClickV2, scroll, rootClassName, customEmptyText, ...otherProps }: IBaseTableProps<T>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const BaseTable: <T extends object = object>({ useDataCellRender, fields: outFields, fieldsConfig, fieldProps: outFieldProps, requestFields, requestFieldsUrl, requestFieldsParams, fieldPropsFn, indexColumn, extraColumns, onDataCellClick, onDataCellClickV2, scroll, rootClassName, customEmptyText, headerStyle: topHeaderStyle, ...otherProps }: IBaseTableProps<T>) => import("react/jsx-runtime").JSX.Element;
4
5
  /** 组件props */
5
6
  export interface IBaseTableProps<T extends object = object> extends Omit<TRawTableProps<T>, 'size' | 'bordered' | 'tableLayout' | 'scroll'> {
6
7
  /** @deprecated 使用 fieldsConfig */
@@ -41,6 +42,8 @@ export interface IBaseTableProps<T extends object = object> extends Omit<TRawTab
41
42
  scroll?: TRawTableProps<T>['scroll'] | ((height?: number) => TRawTableProps<T>['scroll']);
42
43
  /** 自定义空数据文案 */
43
44
  customEmptyText?: string;
45
+ /** 表头样式 */
46
+ headerStyle?: React.CSSProperties;
44
47
  }
45
48
  export type TRawTableProps<T> = GetProps<typeof Table<T>>;
46
49
  export type TBaseTableColumns<T> = Required<TRawTableProps<T>>['columns'][number] & {
@@ -48,4 +51,6 @@ export type TBaseTableColumns<T> = Required<TRawTableProps<T>>['columns'][number
48
51
  hidden?: boolean;
49
52
  /** 权限key */
50
53
  permissionKey?: string;
54
+ /** 表头样式 */
55
+ headerStyle?: React.CSSProperties;
51
56
  };
@@ -1,4 +1,4 @@
1
- var _excluded = ["useDataCellRender", "fields", "fieldsConfig", "fieldProps", "requestFields", "requestFieldsUrl", "requestFieldsParams", "fieldPropsFn", "indexColumn", "extraColumns", "onDataCellClick", "onDataCellClickV2", "scroll", "rootClassName", "customEmptyText"];
1
+ var _excluded = ["useDataCellRender", "fields", "fieldsConfig", "fieldProps", "requestFields", "requestFieldsUrl", "requestFieldsParams", "fieldPropsFn", "indexColumn", "extraColumns", "onDataCellClick", "onDataCellClickV2", "scroll", "rootClassName", "customEmptyText", "headerStyle"];
2
2
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -34,6 +34,7 @@ export var BaseTable = function BaseTable(_ref) {
34
34
  scroll = _ref.scroll,
35
35
  rootClassName = _ref.rootClassName,
36
36
  customEmptyText = _ref.customEmptyText,
37
+ topHeaderStyle = _ref.headerStyle,
37
38
  otherProps = _objectWithoutProperties(_ref, _excluded);
38
39
  var responseConfig = useRequestFieldsConfig();
39
40
  var _useRexProConfigProvi = useRexProConfigProvider(),
@@ -89,6 +90,28 @@ export var BaseTable = function BaseTable(_ref) {
89
90
  };
90
91
  };
91
92
 
93
+ /** 处理表头渲染,扩展样式 */
94
+ var renderTitle = function renderTitle(title, headerStyle) {
95
+ return /*#__PURE__*/_jsxs(_Fragment, {
96
+ children: [/*#__PURE__*/_jsx("div", {
97
+ style: {
98
+ position: 'relative',
99
+ zIndex: 0,
100
+ opacity: 0
101
+ },
102
+ children: title
103
+ }), /*#__PURE__*/_jsx("div", {
104
+ style: _objectSpread({
105
+ position: 'absolute',
106
+ inset: 0,
107
+ zIndex: 1,
108
+ padding: 'inherit'
109
+ }, headerStyle !== null && headerStyle !== void 0 ? headerStyle : topHeaderStyle),
110
+ children: title
111
+ })]
112
+ });
113
+ };
114
+
92
115
  // 列处理
93
116
  var _useMemo = useMemo(function () {
94
117
  var _fieldPropsFn;
@@ -97,19 +120,20 @@ export var BaseTable = function BaseTable(_ref) {
97
120
  var each = function each(data) {
98
121
  if (!data) return;
99
122
  return data.map(function (item) {
100
- if ('dataIndex' in item && item.dataIndex) {
123
+ var hasChildren = 'children' in item && Array.isArray(item.children) && item.children.length > 0;
124
+ if (hasChildren) {
125
+ var children = 'children' in item ? each(item.children) : undefined;
126
+ return _objectSpread(_objectSpread({}, item), {}, {
127
+ title: renderTitle(item.title, item === null || item === void 0 ? void 0 : item.headerStyle),
128
+ children: children
129
+ });
130
+ }
131
+ if ('dataIndex' in item) {
101
132
  var _item$width2;
102
133
  var itemProps = item.dataIndex ? fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps[item.dataIndex] : {};
103
134
  // defaultWidth.current = item.width ?? defaultWidth.current;
104
- var mergeItem = _objectSpread(_objectSpread({}, item), itemProps);
105
-
106
- // 隐藏时候不显示
107
- if (mergeItem.hidden) return undefined;
108
- if (operationPermission && !operationPermission(mergeItem.permissionKey)) return undefined;
109
-
110
- // 渲染列 +1
111
- inlineColumnCount += 1;
112
- var newItem = _objectSpread(_objectSpread(_objectSpread({}, item), {}, {
135
+ var mergeItem = _objectSpread(_objectSpread({}, item), {}, {
136
+ title: renderTitle(item.title, item === null || item === void 0 ? void 0 : item.headerStyle),
113
137
  width: (_item$width2 = item.width) !== null && _item$width2 !== void 0 ? _item$width2 : 100,
114
138
  render: function render(value, record, index) {
115
139
  if (item.render) return item.render(value, record, index);
@@ -145,16 +169,18 @@ export var BaseTable = function BaseTable(_ref) {
145
169
  }
146
170
  return {};
147
171
  }
148
- }, itemProps), generateClassNameWithWidth(_objectSpread(_objectSpread({}, item), itemProps)));
149
- delete newItem.hidden;
150
- delete newItem.permissionKey;
151
- return newItem;
152
- }
153
- if ('children' in item) {
154
- var children = 'children' in item ? each(item.children) : undefined;
155
- return _objectSpread(_objectSpread({}, item), {}, {
156
- children: children
157
- });
172
+ }, itemProps);
173
+
174
+ // 隐藏时候不显示
175
+ if (mergeItem.hidden) return undefined;
176
+ if (operationPermission && !operationPermission(mergeItem.permissionKey)) return undefined;
177
+
178
+ // 渲染列 +1
179
+ inlineColumnCount += 1;
180
+ Object.assign(mergeItem, generateClassNameWithWidth(mergeItem));
181
+ delete mergeItem.hidden;
182
+ delete mergeItem.permissionKey;
183
+ return mergeItem;
158
184
  }
159
185
  return _objectSpread({}, item);
160
186
  }).filter(function (ii) {
@@ -167,14 +193,14 @@ export var BaseTable = function BaseTable(_ref) {
167
193
  inlineColumns: each(fields),
168
194
  columnCount: inlineColumnCount
169
195
  };
170
- }, [fields]),
196
+ }, [fields, topHeaderStyle]),
171
197
  inlineColumns = _useMemo.inlineColumns,
172
198
  columnCount = _useMemo.columnCount;
173
199
  var beforeInlineColumn = [indexColumn && _objectSpread(_objectSpread({
174
- title: formatMessage({
200
+ title: renderTitle(formatMessage({
175
201
  id: 'rex.components.base-table.column-serial-number-title',
176
202
  defaultMessage: '序号'
177
- }),
203
+ }), indexColumn.headerStyle),
178
204
  dataIndex: 'key-web-index',
179
205
  align: 'center',
180
206
  fixed: true,
@@ -240,7 +266,9 @@ export var BaseTable = function BaseTable(_ref) {
240
266
  },
241
267
  children: /*#__PURE__*/_jsx(Table, _objectSpread(_objectSpread({
242
268
  columns: [].concat(beforeInlineColumn || [], inlineColumns || [], (extraColumns || []).map(function (ii) {
243
- return _objectSpread(_objectSpread({}, ii), generateClassNameWithWidth(ii));
269
+ return _objectSpread(_objectSpread({}, ii), {}, {
270
+ title: renderTitle(ii.title, ii === null || ii === void 0 ? void 0 : ii.headerStyle)
271
+ }, generateClassNameWithWidth(ii));
244
272
  })),
245
273
  rowKey: "key"
246
274
  }, otherProps), {}, {
@@ -260,6 +288,9 @@ export var BaseTable = function BaseTable(_ref) {
260
288
  rowSelection: otherProps.rowSelection ? _objectSpread({
261
289
  columnWidth: 50,
262
290
  fixed: 'left',
291
+ columnTitle: function columnTitle(checkboxNode) {
292
+ return renderTitle(checkboxNode);
293
+ },
263
294
  // className: `custom-width::${otherProps.rowSelection.columnWidth ?? 50}`,
264
295
  getCheckboxProps: function getCheckboxProps(record) {
265
296
  if (record && record.is_checkbox === 2) {
@@ -8,10 +8,10 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
8
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
10
  /* eslint-disable react/destructuring-assignment */
11
- import classNames from "classnames";
12
- import React from "react";
13
- import { TableParentRow, TableParentRowCell } from "../style";
11
+ import classNames from 'classnames';
12
+ import React from 'react';
14
13
  import { DataCell } from "../../data-cell/data-cell";
14
+ import { TableParentRow, TableParentRowCell } from "../style";
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -52,16 +52,16 @@ export var BaseTableRow = function BaseTableRow(outProps) {
52
52
  var isRight = rightArr[rightArr.length - 1] && rightArr[rightArr.length - 1].key.includes('key-');
53
53
  /** 右边宽度 */
54
54
  var rightWidth = getWidth(rightArr[rightArr.length - 1]);
55
- /**
56
- * 偏移量
57
- * - td的padding值: 16
58
- * - 滚动条的宽度 20
55
+ /**
56
+ * 偏移量
57
+ * - td的padding值: 16
58
+ * - 滚动条的宽度 20
59
59
  */
60
60
  var offsetWidth = 16 + 20;
61
61
  // console.log(props);
62
62
 
63
63
  return /*#__PURE__*/_jsxs(TableParentRow, {
64
- className: classNames("base-table-parent-row", props.className),
64
+ className: classNames('base-table-parent-row', props.className),
65
65
  "data-row-key": rowKey,
66
66
  children: [function () {
67
67
  var content = function content(width) {
@@ -1,54 +1,61 @@
1
- import React from 'react';
2
1
  import { BaseTable } from "../base-table";
3
2
  import { tableData } from "./tableData";
4
3
  import { Fragment as _Fragment } from "react/jsx-runtime";
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
5
  export default (function () {
7
6
  return /*#__PURE__*/_jsx(BaseTable, {
7
+ headerStyle: {
8
+ backgroundColor: '#98eeff',
9
+ color: '#000'
10
+ },
8
11
  fieldsConfig: [{
9
- "title": "beforeExtraColumns",
10
- "dataIndex": "beforeExtraColumns",
11
- width: 200
12
+ title: 'beforeExtraColumns',
13
+ dataIndex: 'beforeExtraColumns',
14
+ width: 200,
15
+ headerStyle: {
16
+ backgroundColor: '#000',
17
+ color: '#fff'
18
+ }
12
19
  }, {
13
- "title": "编号/状态",
14
- "dataIndex": "status_name",
20
+ title: '编号/状态',
21
+ dataIndex: 'status_name',
15
22
  width: 200,
16
- "key": "status_name"
23
+ key: 'status_name'
17
24
  }, {
18
- "title": "SPU/组合SKU",
19
- "dataIndex": "goods_spu_info",
25
+ title: 'SPU/组合SKU',
26
+ dataIndex: 'goods_spu_info',
20
27
  width: 200,
21
- "key": "goods_spu_info"
28
+ key: 'goods_spu_info'
22
29
  }, {
23
- "title": "图片",
24
- "dataIndex": "goods_image",
25
- "key": "goods_image",
30
+ title: '图片',
31
+ dataIndex: 'goods_image',
32
+ key: 'goods_image',
26
33
  width: 200,
27
- "align": 'center'
34
+ align: 'center'
28
35
  }, {
29
- "title": "SKU/属性",
30
- "dataIndex": "goods_sku_info",
36
+ title: 'SKU/属性',
37
+ dataIndex: 'goods_sku_info',
31
38
  width: 200,
32
- "key": "goods_sku_info"
39
+ key: 'goods_sku_info'
33
40
  }, {
34
- "title": "计划员",
35
- "dataIndex": "planuser",
41
+ title: '计划员',
42
+ dataIndex: 'planuser',
36
43
  width: 200,
37
- "key": "planuser"
44
+ key: 'planuser'
38
45
  }, {
39
- "title": "供应商",
40
- "dataIndex": "factory",
46
+ title: '供应商',
47
+ dataIndex: 'factory',
41
48
  width: 200,
42
- "key": "factory"
49
+ key: 'factory'
43
50
  }, {
44
- "title": "ASIN",
45
- "dataIndex": "asin",
46
- "key": "asin",
51
+ title: 'ASIN',
52
+ dataIndex: 'asin',
53
+ key: 'asin',
47
54
  width: 200
48
55
  }],
49
56
  extraColumns: [{
50
- "title": "extraColumns",
51
- "dataIndex": "extraColumns",
57
+ title: 'extraColumns',
58
+ dataIndex: 'extraColumns',
52
59
  width: 200,
53
60
  fixed: 'right',
54
61
  render: function render() {
@@ -1,39 +1,38 @@
1
- import React from 'react';
2
1
  import { BaseTable } from "../base-table";
3
2
  import { tableData } from "./tableData";
4
3
  import { jsx as _jsx } from "react/jsx-runtime";
5
4
  export default (function () {
6
5
  return /*#__PURE__*/_jsx(BaseTable, {
7
6
  fieldsConfig: [{
8
- "title": "编号/状态",
9
- "dataIndex": "status_name",
10
- "key": "status_name"
7
+ title: '编号/状态',
8
+ dataIndex: 'status_name',
9
+ key: 'status_name'
11
10
  }, {
12
- "title": "SPU/组合SKU",
13
- "dataIndex": "goods_spu_info",
14
- "key": "goods_spu_info",
11
+ title: 'SPU/组合SKU',
12
+ dataIndex: 'goods_spu_info',
13
+ key: 'goods_spu_info',
15
14
  hidden: true
16
15
  }, {
17
- "title": "图片",
18
- "dataIndex": "goods_image",
19
- "key": "goods_image",
20
- "align": 'center'
16
+ title: '图片',
17
+ dataIndex: 'goods_image',
18
+ key: 'goods_image',
19
+ align: 'center'
21
20
  }, {
22
- "title": "SKU/属性",
23
- "dataIndex": "goods_sku_info",
24
- "key": "goods_sku_info"
21
+ title: 'SKU/属性',
22
+ dataIndex: 'goods_sku_info',
23
+ key: 'goods_sku_info'
25
24
  }, {
26
- "title": "计划员",
27
- "dataIndex": "planuser",
28
- "key": "planuser"
25
+ title: '计划员',
26
+ dataIndex: 'planuser',
27
+ key: 'planuser'
29
28
  }, {
30
- "title": "供应商",
31
- "dataIndex": "factory",
32
- "key": "factory"
29
+ title: '供应商',
30
+ dataIndex: 'factory',
31
+ key: 'factory'
33
32
  }, {
34
- "title": "ASIN22",
35
- "dataIndex": "asin",
36
- "key": "asin"
33
+ title: 'ASIN22',
34
+ dataIndex: 'asin',
35
+ key: 'asin'
37
36
  }],
38
37
  extraColumns: [{
39
38
  title: '操作',
@@ -1,38 +1,37 @@
1
- import React from 'react';
2
1
  import { BaseTable } from "../base-table";
3
2
  import { tableData } from "./tableData";
4
3
  import { jsx as _jsx } from "react/jsx-runtime";
5
4
  export default (function () {
6
5
  return /*#__PURE__*/_jsx(BaseTable, {
7
6
  fieldsConfig: [{
8
- "title": "编号/状态",
9
- "dataIndex": "status_name",
10
- "key": "status_name"
7
+ title: '编号/状态',
8
+ dataIndex: 'status_name',
9
+ key: 'status_name'
11
10
  }, {
12
- "title": "SPU/组合SKU",
13
- "dataIndex": "goods_spu_info",
14
- "key": "goods_spu_info"
11
+ title: 'SPU/组合SKU',
12
+ dataIndex: 'goods_spu_info',
13
+ key: 'goods_spu_info'
15
14
  }, {
16
- "title": "图片",
17
- "dataIndex": "goods_image",
18
- "key": "goods_image",
19
- "align": 'center'
15
+ title: '图片',
16
+ dataIndex: 'goods_image',
17
+ key: 'goods_image',
18
+ align: 'center'
20
19
  }, {
21
- "title": "SKU/属性",
22
- "dataIndex": "goods_sku_info",
23
- "key": "goods_sku_info"
20
+ title: 'SKU/属性',
21
+ dataIndex: 'goods_sku_info',
22
+ key: 'goods_sku_info'
24
23
  }, {
25
- "title": "计划员",
26
- "dataIndex": "planuser",
27
- "key": "planuser"
24
+ title: '计划员',
25
+ dataIndex: 'planuser',
26
+ key: 'planuser'
28
27
  }, {
29
- "title": "供应商",
30
- "dataIndex": "factory",
31
- "key": "factory"
28
+ title: '供应商',
29
+ dataIndex: 'factory',
30
+ key: 'factory'
32
31
  }, {
33
- "title": "ASIN",
34
- "dataIndex": "asin",
35
- "key": "asin"
32
+ title: 'ASIN',
33
+ dataIndex: 'asin',
34
+ key: 'asin'
36
35
  }],
37
36
  scroll: function scroll(height) {
38
37
  return {