@teamix/pro 1.5.7 → 1.5.9

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/es/index.d.ts CHANGED
@@ -28,5 +28,5 @@ export * from './table';
28
28
  export * from './sidebar';
29
29
  export * from './utils';
30
30
  export * from './timeline';
31
- declare const version = "1.5.7";
31
+ declare const version = "1.5.9";
32
32
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, hooks, nocode, templates, utils, };
package/es/index.js CHANGED
@@ -35,7 +35,7 @@ export * from './table';
35
35
  export * from './sidebar';
36
36
  export * from './utils';
37
37
  export * from './timeline';
38
- var version = '1.5.7';
38
+ var version = '1.5.9';
39
39
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo,
40
40
  // ProLayout,
41
41
  ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, hooks, nocode, templates, utils };
@@ -49,14 +49,18 @@ var CardView = function CardView(props) {
49
49
  // 加载状态变化回调
50
50
  useEffect(function () {
51
51
  setLoadState(loading ? 'loading' : 'loadMore');
52
- setSkeletonVisible(showSkeleton);
52
+ if (cardViewProps.showSkeleton) {
53
+ setSkeletonVisible(cardViewProps.showSkeleton);
54
+ } else {
55
+ setSkeletonVisible(showSkeleton);
56
+ }
53
57
  if (showSkeleton) {
54
58
  setLoadState('none');
55
59
  }
56
60
  if (dataSource.length === 0) {
57
61
  setLoadState('none');
58
62
  }
59
- }, [loading, skeletonVisible, showSkeleton]);
63
+ }, [loading, skeletonVisible, showSkeleton, cardViewProps.showSkeleton, dataSource]);
60
64
  // 数据源变化毁掉
61
65
  useEffect(function () {
62
66
  if (dataSource.length === 0) {
@@ -39,7 +39,7 @@ var FullScreen = function FullScreen(props) {
39
39
  filterEnableRef.current.fullscreen = false;
40
40
  // 移除类名
41
41
  if (document && ((_document = document) === null || _document === void 0 ? void 0 : _document.body)) {
42
- document.body.classList.remove('teamix-pro-table-fullscreen');
42
+ document.body.classList.remove('teamix-pro-table-fullscreen-for-body');
43
43
  }
44
44
  };
45
45
  // 全屏开启之后
@@ -59,7 +59,7 @@ var FullScreen = function FullScreen(props) {
59
59
  filterEnableRef.current.normal = false;
60
60
  // 为 body 添加类名,用于判断是否全屏
61
61
  if (document && ((_document2 = document) === null || _document2 === void 0 ? void 0 : _document2.body)) {
62
- document.body.classList.add('teamix-pro-table-fullscreen');
62
+ document.body.classList.add('teamix-pro-table-fullscreen-for-body');
63
63
  }
64
64
  // 消息提示
65
65
  Message.show({
package/es/table/index.js CHANGED
@@ -35,6 +35,7 @@ import classNames from 'classnames';
35
35
  import ProPageContainer from '../page-container';
36
36
  import debounce from 'lodash.debounce';
37
37
  import CardView from './components/CardView';
38
+ import cloneDeep from 'lodash.clonedeep';
38
39
  export * from './typing';
39
40
  var cls = usePrefixCls('teamix-pro-table');
40
41
  /**
@@ -45,7 +46,7 @@ var cls = usePrefixCls('teamix-pro-table');
45
46
  var processColumns = function processColumns(columns, initialColumns) {
46
47
  var _getGlobalConfig;
47
48
  var globalFilterColumns = (_getGlobalConfig = getGlobalConfig('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.filterColumns;
48
- var filterColumns = columns.filter(function (item) {
49
+ var filterColumns = cloneDeep(columns).filter(function (item) {
49
50
  return item.columnFilters !== false && (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(item));
50
51
  });
51
52
  // 处理只剩一列批量选择的情况下宽度错乱问题
@@ -122,7 +123,7 @@ var ProTable = function ProTable(props) {
122
123
  pageSizeList = _props$pageSizeList === void 0 ? [5, 10, 20, 50, 100] : _props$pageSizeList,
123
124
  responsivePaginationType = props.responsivePaginationType,
124
125
  _props$showSkeleton = props.showSkeleton,
125
- propsShowSkeleton = _props$showSkeleton === void 0 ? false : _props$showSkeleton,
126
+ propsShowSkeleton = _props$showSkeleton === void 0 ? true : _props$showSkeleton,
126
127
  _props$skeletonSize = props.skeletonSize,
127
128
  skeletonSize = _props$skeletonSize === void 0 ? 5 : _props$skeletonSize,
128
129
  propsActionRef = props.actionRef,
@@ -180,7 +181,7 @@ var ProTable = function ProTable(props) {
180
181
  _useState10 = _slicedToArray(_useState9, 2),
181
182
  sort = _useState10[0],
182
183
  setSort = _useState10[1];
183
- var _useState11 = useState(!propsDataSource && requestWhenMount && propsShowSkeleton),
184
+ var _useState11 = useState(!propsDataSource && requestWhenMount && propsShowSkeleton && !!url),
184
185
  _useState12 = _slicedToArray(_useState11, 2),
185
186
  showSkeleton = _useState12[0],
186
187
  setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
@@ -224,9 +225,9 @@ var ProTable = function ProTable(props) {
224
225
  // 存储定时器 id
225
226
  var autoRefreshTimerRef = useRef();
226
227
  var onResize = null;
227
- useEffect(function () {
228
- setShowSkeleton(propsShowSkeleton);
229
- }, [propsShowSkeleton]);
228
+ // useEffect(() => {
229
+ // setShowSkeleton(propsShowSkeleton);
230
+ // }, [propsShowSkeleton]);
230
231
  // useEffect(() => {
231
232
  // console.log('传入的props变化', propsLoading);
232
233
  // setShowLoading(propsLoading ?? false);
@@ -532,7 +533,7 @@ var ProTable = function ProTable(props) {
532
533
  },
533
534
  refresh: function refresh(params) {
534
535
  // card视角的刷新等于重新请求
535
- if (switchViewState === 'card') {
536
+ if (switchViewState === 'card' && !propsDataSource) {
536
537
  setCurrentPage(1);
537
538
  _request(_objectSpread(_objectSpread({}, params), {}, _defineProperty({}, targetPageKey, 1)));
538
539
  setShowSkeleton(true);
@@ -614,6 +615,7 @@ var ProTable = function ProTable(props) {
614
615
  setPageSize((_cardViewProps$pageSi = cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.pageSize) !== null && _cardViewProps$pageSi !== void 0 ? _cardViewProps$pageSi : 12);
615
616
  if (!propsDataSource) {
616
617
  var _cardViewProps$pageSi2, _request5;
618
+ setShowSkeleton(true);
617
619
  _request((_request5 = {}, _defineProperty(_request5, targetPageSizeKey, (_cardViewProps$pageSi2 = cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.pageSize) !== null && _cardViewProps$pageSi2 !== void 0 ? _cardViewProps$pageSi2 : 12), _defineProperty(_request5, targetPageKey, 1), _request5));
618
620
  }
619
621
  }
@@ -1038,7 +1040,7 @@ var ProTable = function ProTable(props) {
1038
1040
  return /*#__PURE__*/React.createElement("div", {
1039
1041
  className: cls({
1040
1042
  '': true,
1041
- fullscreen: fullscreenState
1043
+ fullscreen: isFullScreen
1042
1044
  // 'footer-suction': footerSuctionState && footerSuction,
1043
1045
  }),
1044
1046
  ref: tableRef
@@ -58,9 +58,11 @@ export declare type ProTableColumnProps = {
58
58
  dataIndex?: string | string[];
59
59
  /** 指定 valueType 为日期时间格式时,可以格式化日期时间 */
60
60
  format?: string;
61
+ /** 多级表头 **/
62
+ children?: ProTableColumnProps[];
61
63
  /** ProField 其他配置项 */
62
64
  props?: any;
63
- } & Omit<ColumnProps, 'filters' | 'dataIndex' | 'filtersMode'>;
65
+ } & Omit<ColumnProps, 'filters' | 'dataIndex' | 'filtersMode' | 'children'>;
64
66
  export declare type ProColumnProps = ProTableColumnProps;
65
67
  export declare type ProTableProps = {
66
68
  /** ProColums 定义,取代 Table 的 columns */
@@ -356,6 +358,8 @@ export declare type ProTableCardProps = {
356
358
  cardProps?: {
357
359
  [key in keyof ProCardProps]?: ProCardProps[key] | ((index: number, record: any) => ProCardProps[key]);
358
360
  };
361
+ /** 是否展示卡片骨架 **/
362
+ showSkeleton?: boolean;
359
363
  };
360
364
  /** card 视角 Props (内部组件) **/
361
365
  export declare type ProTableCardViewProps = {
@@ -1,4 +1,4 @@
1
- var _excluded = ["filters", "dataIndex"];
1
+ var _excluded = ["filters", "dataIndex", "children"];
2
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
4
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -20,6 +20,7 @@ showSkeleton, actionRef) {
20
20
  return columns.map(function (columnProps) {
21
21
  var filters = columnProps.filters,
22
22
  dataIndex = columnProps.dataIndex,
23
+ children = columnProps.children,
23
24
  others = _objectWithoutProperties(columnProps, _excluded);
24
25
  if (showSkeleton) {
25
26
  return _objectSpread(_objectSpread({}, others), {}, {
@@ -37,6 +38,7 @@ showSkeleton, actionRef) {
37
38
  align: columnProps.valueType === 'money' ? 'right' : 'left',
38
39
  wordBreak: getLanguage() === 'en-us' ? 'word' : 'all'
39
40
  }, others), {}, {
41
+ children: children ? genProColumnToColumn(children, showSkeleton, actionRef, context) : undefined,
40
42
  dataIndex: dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.toString(),
41
43
  title: renderColumnsTitle(columnProps, actionRef),
42
44
  cell: function cell(value, index, record) {
package/lib/index.d.ts CHANGED
@@ -28,5 +28,5 @@ export * from './table';
28
28
  export * from './sidebar';
29
29
  export * from './utils';
30
30
  export * from './timeline';
31
- declare const version = "1.5.7";
31
+ declare const version = "1.5.9";
32
32
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -280,5 +280,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
280
280
  if (!((_window = window) === null || _window === void 0 ? void 0 : _window.TEAMIXPRO_WITHOUT_ICON)) {
281
281
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
282
282
  }
283
- var version = '1.5.7';
283
+ var version = '1.5.9';
284
284
  exports.version = version;
@@ -58,14 +58,18 @@ var CardView = function CardView(props) {
58
58
  // 加载状态变化回调
59
59
  (0, _react.useEffect)(function () {
60
60
  setLoadState(loading ? 'loading' : 'loadMore');
61
- setSkeletonVisible(showSkeleton);
61
+ if (cardViewProps.showSkeleton) {
62
+ setSkeletonVisible(cardViewProps.showSkeleton);
63
+ } else {
64
+ setSkeletonVisible(showSkeleton);
65
+ }
62
66
  if (showSkeleton) {
63
67
  setLoadState('none');
64
68
  }
65
69
  if (dataSource.length === 0) {
66
70
  setLoadState('none');
67
71
  }
68
- }, [loading, skeletonVisible, showSkeleton]);
72
+ }, [loading, skeletonVisible, showSkeleton, cardViewProps.showSkeleton, dataSource]);
69
73
  // 数据源变化毁掉
70
74
  (0, _react.useEffect)(function () {
71
75
  if (dataSource.length === 0) {
@@ -48,7 +48,7 @@ var FullScreen = function FullScreen(props) {
48
48
  filterEnableRef.current.fullscreen = false;
49
49
  // 移除类名
50
50
  if (document && ((_document = document) === null || _document === void 0 ? void 0 : _document.body)) {
51
- document.body.classList.remove('teamix-pro-table-fullscreen');
51
+ document.body.classList.remove('teamix-pro-table-fullscreen-for-body');
52
52
  }
53
53
  };
54
54
  // 全屏开启之后
@@ -68,7 +68,7 @@ var FullScreen = function FullScreen(props) {
68
68
  filterEnableRef.current.normal = false;
69
69
  // 为 body 添加类名,用于判断是否全屏
70
70
  if (document && ((_document2 = document) === null || _document2 === void 0 ? void 0 : _document2.body)) {
71
- document.body.classList.add('teamix-pro-table-fullscreen');
71
+ document.body.classList.add('teamix-pro-table-fullscreen-for-body');
72
72
  }
73
73
  // 消息提示
74
74
  _components.Message.show({
@@ -24,6 +24,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
24
24
  var _pageContainer = _interopRequireDefault(require("../page-container"));
25
25
  var _lodash = _interopRequireDefault(require("lodash.debounce"));
26
26
  var _CardView = _interopRequireDefault(require("./components/CardView"));
27
+ var _lodash2 = _interopRequireDefault(require("lodash.clonedeep"));
27
28
  var _typing = require("./typing");
28
29
  Object.keys(_typing).forEach(function (key) {
29
30
  if (key === "default" || key === "__esModule") return;
@@ -66,7 +67,7 @@ var cls = (0, _utils.usePrefixCls)('teamix-pro-table');
66
67
  var processColumns = function processColumns(columns, initialColumns) {
67
68
  var _getGlobalConfig;
68
69
  var globalFilterColumns = (_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.filterColumns;
69
- var filterColumns = columns.filter(function (item) {
70
+ var filterColumns = (0, _lodash2.default)(columns).filter(function (item) {
70
71
  return item.columnFilters !== false && (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(item));
71
72
  });
72
73
  // 处理只剩一列批量选择的情况下宽度错乱问题
@@ -143,7 +144,7 @@ var ProTable = function ProTable(props) {
143
144
  pageSizeList = _props$pageSizeList === void 0 ? [5, 10, 20, 50, 100] : _props$pageSizeList,
144
145
  responsivePaginationType = props.responsivePaginationType,
145
146
  _props$showSkeleton = props.showSkeleton,
146
- propsShowSkeleton = _props$showSkeleton === void 0 ? false : _props$showSkeleton,
147
+ propsShowSkeleton = _props$showSkeleton === void 0 ? true : _props$showSkeleton,
147
148
  _props$skeletonSize = props.skeletonSize,
148
149
  skeletonSize = _props$skeletonSize === void 0 ? 5 : _props$skeletonSize,
149
150
  propsActionRef = props.actionRef,
@@ -201,7 +202,7 @@ var ProTable = function ProTable(props) {
201
202
  _useState10 = _slicedToArray(_useState9, 2),
202
203
  sort = _useState10[0],
203
204
  setSort = _useState10[1];
204
- var _useState11 = (0, _react.useState)(!propsDataSource && requestWhenMount && propsShowSkeleton),
205
+ var _useState11 = (0, _react.useState)(!propsDataSource && requestWhenMount && propsShowSkeleton && !!url),
205
206
  _useState12 = _slicedToArray(_useState11, 2),
206
207
  showSkeleton = _useState12[0],
207
208
  setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
@@ -245,9 +246,9 @@ var ProTable = function ProTable(props) {
245
246
  // 存储定时器 id
246
247
  var autoRefreshTimerRef = (0, _react.useRef)();
247
248
  var onResize = null;
248
- (0, _react.useEffect)(function () {
249
- setShowSkeleton(propsShowSkeleton);
250
- }, [propsShowSkeleton]);
249
+ // useEffect(() => {
250
+ // setShowSkeleton(propsShowSkeleton);
251
+ // }, [propsShowSkeleton]);
251
252
  // useEffect(() => {
252
253
  // console.log('传入的props变化', propsLoading);
253
254
  // setShowLoading(propsLoading ?? false);
@@ -553,7 +554,7 @@ var ProTable = function ProTable(props) {
553
554
  },
554
555
  refresh: function refresh(params) {
555
556
  // card视角的刷新等于重新请求
556
- if (switchViewState === 'card') {
557
+ if (switchViewState === 'card' && !propsDataSource) {
557
558
  setCurrentPage(1);
558
559
  _request(_objectSpread(_objectSpread({}, params), {}, _defineProperty({}, targetPageKey, 1)));
559
560
  setShowSkeleton(true);
@@ -635,6 +636,7 @@ var ProTable = function ProTable(props) {
635
636
  setPageSize((_cardViewProps$pageSi = cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.pageSize) !== null && _cardViewProps$pageSi !== void 0 ? _cardViewProps$pageSi : 12);
636
637
  if (!propsDataSource) {
637
638
  var _cardViewProps$pageSi2, _request5;
639
+ setShowSkeleton(true);
638
640
  _request((_request5 = {}, _defineProperty(_request5, targetPageSizeKey, (_cardViewProps$pageSi2 = cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.pageSize) !== null && _cardViewProps$pageSi2 !== void 0 ? _cardViewProps$pageSi2 : 12), _defineProperty(_request5, targetPageKey, 1), _request5));
639
641
  }
640
642
  }
@@ -1059,7 +1061,7 @@ var ProTable = function ProTable(props) {
1059
1061
  return /*#__PURE__*/_react.default.createElement("div", {
1060
1062
  className: cls({
1061
1063
  '': true,
1062
- fullscreen: fullscreenState
1064
+ fullscreen: isFullScreen
1063
1065
  // 'footer-suction': footerSuctionState && footerSuction,
1064
1066
  }),
1065
1067
  ref: tableRef
@@ -58,9 +58,11 @@ export declare type ProTableColumnProps = {
58
58
  dataIndex?: string | string[];
59
59
  /** 指定 valueType 为日期时间格式时,可以格式化日期时间 */
60
60
  format?: string;
61
+ /** 多级表头 **/
62
+ children?: ProTableColumnProps[];
61
63
  /** ProField 其他配置项 */
62
64
  props?: any;
63
- } & Omit<ColumnProps, 'filters' | 'dataIndex' | 'filtersMode'>;
65
+ } & Omit<ColumnProps, 'filters' | 'dataIndex' | 'filtersMode' | 'children'>;
64
66
  export declare type ProColumnProps = ProTableColumnProps;
65
67
  export declare type ProTableProps = {
66
68
  /** ProColums 定义,取代 Table 的 columns */
@@ -356,6 +358,8 @@ export declare type ProTableCardProps = {
356
358
  cardProps?: {
357
359
  [key in keyof ProCardProps]?: ProCardProps[key] | ((index: number, record: any) => ProCardProps[key]);
358
360
  };
361
+ /** 是否展示卡片骨架 **/
362
+ showSkeleton?: boolean;
359
363
  };
360
364
  /** card 视角 Props (内部组件) **/
361
365
  export declare type ProTableCardViewProps = {
@@ -8,7 +8,7 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _columnRender = require("./columnRender");
9
9
  var _skeleton = require("../../skeleton");
10
10
  var _utils = require("@teamix/utils");
11
- var _excluded = ["filters", "dataIndex"];
11
+ var _excluded = ["filters", "dataIndex", "children"];
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
14
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -27,6 +27,7 @@ showSkeleton, actionRef) {
27
27
  return columns.map(function (columnProps) {
28
28
  var filters = columnProps.filters,
29
29
  dataIndex = columnProps.dataIndex,
30
+ children = columnProps.children,
30
31
  others = _objectWithoutProperties(columnProps, _excluded);
31
32
  if (showSkeleton) {
32
33
  return _objectSpread(_objectSpread({}, others), {}, {
@@ -44,6 +45,7 @@ showSkeleton, actionRef) {
44
45
  align: columnProps.valueType === 'money' ? 'right' : 'left',
45
46
  wordBreak: (0, _utils.getLanguage)() === 'en-us' ? 'word' : 'all'
46
47
  }, others), {}, {
48
+ children: children ? genProColumnToColumn(children, showSkeleton, actionRef, context) : undefined,
47
49
  dataIndex: dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.toString(),
48
50
  title: (0, _columnRender.renderColumnsTitle)(columnProps, actionRef),
49
51
  cell: function cell(value, index, record) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teamix/pro",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "description": "TeamixPro大包",
5
5
  "keywords": [
6
6
  "aliyun",