@teamix/pro 1.2.19 → 1.2.20

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 (50) hide show
  1. package/dist/212.js +49 -49
  2. package/dist/pro.css +1 -1
  3. package/dist/pro.js +1422 -472
  4. package/dist/pro.min.css +1 -1
  5. package/dist/pro.min.js +1 -1
  6. package/es/actions/dialog.js +2 -5
  7. package/es/form/Components/LightFilter/index.js +1 -1
  8. package/es/form/Components/LightFilter/index.scss +1 -1
  9. package/es/form/Filter/AdvancedFilter.d.ts +7 -0
  10. package/es/form/Filter/AdvancedFilter.js +113 -0
  11. package/es/form/Filter/LightFilter.d.ts +7 -0
  12. package/es/form/Filter/LightFilter.js +79 -0
  13. package/es/form/Filter/SimpleFilter.d.ts +7 -0
  14. package/es/form/Filter/SimpleFilter.js +74 -0
  15. package/es/form/Filter/index2.js +202 -256
  16. package/es/form/ProForm/index.js +9 -7
  17. package/es/form/ProForm/index.scss +3 -0
  18. package/es/form/typing.d.ts +7 -3
  19. package/es/index.d.ts +1 -1
  20. package/es/index.js +1 -1
  21. package/es/table/components/Pagination/index.d.ts +3 -0
  22. package/es/table/components/Pagination/index.js +82 -0
  23. package/es/table/components/ToolBar/FilterColumnIcon.js +17 -4
  24. package/es/table/components/ToolBar/index.scss +8 -2
  25. package/es/table/index.js +26 -20
  26. package/es/table/index.scss +7 -1
  27. package/es/table/typing.d.ts +2 -0
  28. package/lib/actions/dialog.js +2 -5
  29. package/lib/form/Components/LightFilter/index.js +1 -1
  30. package/lib/form/Components/LightFilter/index.scss +1 -1
  31. package/lib/form/Filter/AdvancedFilter.d.ts +7 -0
  32. package/lib/form/Filter/AdvancedFilter.js +133 -0
  33. package/lib/form/Filter/LightFilter.d.ts +7 -0
  34. package/lib/form/Filter/LightFilter.js +99 -0
  35. package/lib/form/Filter/SimpleFilter.d.ts +7 -0
  36. package/lib/form/Filter/SimpleFilter.js +93 -0
  37. package/lib/form/Filter/index2.js +205 -257
  38. package/lib/form/ProForm/index.js +8 -6
  39. package/lib/form/ProForm/index.scss +3 -0
  40. package/lib/form/typing.d.ts +7 -3
  41. package/lib/index.d.ts +1 -1
  42. package/lib/index.js +1 -1
  43. package/lib/table/components/Pagination/index.d.ts +3 -0
  44. package/lib/table/components/Pagination/index.js +95 -0
  45. package/lib/table/components/ToolBar/FilterColumnIcon.js +17 -4
  46. package/lib/table/components/ToolBar/index.scss +8 -2
  47. package/lib/table/index.js +24 -19
  48. package/lib/table/index.scss +7 -1
  49. package/lib/table/typing.d.ts +2 -0
  50. package/package.json +2 -2
package/lib/index.d.ts CHANGED
@@ -21,5 +21,5 @@ export * from './page-container';
21
21
  export * from './page-header';
22
22
  export * from './skeleton';
23
23
  export * from './table';
24
- declare const version = "1.2.18";
24
+ declare const version = "1.2.19";
25
25
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -253,5 +253,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
253
253
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
254
254
 
255
255
  // export * from './sidebar';
256
- var version = '1.2.18';
256
+ var version = '1.2.19';
257
257
  exports.version = version;
@@ -0,0 +1,3 @@
1
+ import { PaginationProps } from '@alicloudfe/components/types/pagination';
2
+ declare const _default: (props: PaginationProps) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _components = require("@alicloudfe/components");
11
+
12
+ var _hooks = require("@teamix/hooks");
13
+
14
+ var _excluded = ["className", "onChange", "total", "totalRender", "pageSize", "current", "pageSizeList", "pageSizeSelector", "type", "onPageSizeChange"];
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ var _default = function _default(props) {
29
+ var className = props.className,
30
+ onChange = props.onChange,
31
+ total = props.total,
32
+ totalRender = props.totalRender,
33
+ pageSize = props.pageSize,
34
+ current = props.current,
35
+ pageSizeList = props.pageSizeList,
36
+ pageSizeSelector = props.pageSizeSelector,
37
+ type = props.type,
38
+ onPageSizeChange = props.onPageSizeChange,
39
+ otherProps = _objectWithoutProperties(props, _excluded);
40
+
41
+ var _useResponsiveProps = (0, _hooks.useResponsiveProps)([480, 580, 680], ['mini', 'small', 'simple', 'normal']),
42
+ responsiveProps = _useResponsiveProps.responsiveProps,
43
+ paginationWrapperRef = _useResponsiveProps.ref;
44
+
45
+ var commonPaginationProps = {
46
+ className: className,
47
+ onChange: onChange,
48
+ total: total,
49
+ pageSize: pageSize,
50
+ current: current,
51
+ shape: 'arrow-only',
52
+ pageSizeList: pageSizeList,
53
+ pageSizeSelector: pageSizeSelector,
54
+ pageSizePosition: 'end',
55
+ onPageSizeChange: onPageSizeChange
56
+ };
57
+
58
+ var renderPagination = function renderPagination() {
59
+ switch (responsiveProps) {
60
+ case 'normal':
61
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), otherProps));
62
+
63
+ case 'simple':
64
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
65
+ pageShowCount: 3
66
+ }, otherProps));
67
+
68
+ case 'small':
69
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
70
+ pageSizeSelector: false,
71
+ type: "simple"
72
+ }, otherProps));
73
+
74
+ case 'mini':
75
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
76
+ pageSizeSelector: false,
77
+ type: "mini"
78
+ }, otherProps));
79
+
80
+ default:
81
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), otherProps));
82
+ }
83
+ };
84
+
85
+ return (
86
+ /*#__PURE__*/
87
+ // 用于获取翻页器响应式 ref
88
+ _react.default.createElement("div", {
89
+ ref: paginationWrapperRef,
90
+ className: "pagination-wrapper"
91
+ }, renderPagination())
92
+ );
93
+ };
94
+
95
+ exports.default = _default;
@@ -71,7 +71,8 @@ var processColumns = function processColumns(columns) {
71
71
  var FilterColumnIcon = function FilterColumnIcon(props) {
72
72
  var _props$columns = props.columns,
73
73
  columns = _props$columns === void 0 ? [] : _props$columns,
74
- actionRef = props.actionRef;
74
+ actionRef = props.actionRef,
75
+ filterColumnType = props.filterColumnType;
75
76
 
76
77
  var _useState = (0, _react.useState)(true),
77
78
  _useState2 = _slicedToArray(_useState, 2),
@@ -258,7 +259,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
258
259
  align: "tr br"
259
260
  }, /*#__PURE__*/_react.default.createElement("div", {
260
261
  className: cls()
261
- }, /*#__PURE__*/_react.default.createElement(_components.Menu, null, /*#__PURE__*/_react.default.createElement(CheckboxItem, {
262
+ }, /*#__PURE__*/_react.default.createElement(_components.Menu, {
263
+ className: cls('all-select')
264
+ }, /*#__PURE__*/_react.default.createElement(CheckboxItem, {
262
265
  indeterminate: indeterminate,
263
266
  checked: allVisible,
264
267
  onChange: onChangeAllColumns
@@ -271,7 +274,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
271
274
  type: "primary"
272
275
  }, (0, _utils.getMessage)('reset'))), /*#__PURE__*/_react.default.createElement(_components.Menu.Divider, {
273
276
  key: "divider"
274
- }), newColumns.map(function (_ref9, index) {
277
+ })), /*#__PURE__*/_react.default.createElement(_components.Menu, {
278
+ className: cls('checkbox-group')
279
+ }, newColumns.map(function (_ref9, index) {
275
280
  var _newColumns$find;
276
281
 
277
282
  var dataIndex = _ref9.dataIndex,
@@ -366,7 +371,15 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
366
371
  }))));
367
372
  };
368
373
 
369
- if (newColumns.length > 10) {
374
+ if (filterColumnType === 'dialog') {
375
+ return renderDialog();
376
+ }
377
+
378
+ if (filterColumnType === 'dropdown') {
379
+ return renderDropdown();
380
+ }
381
+
382
+ if (newColumns.length >= 20) {
370
383
  return renderDialog();
371
384
  }
372
385
 
@@ -18,8 +18,6 @@
18
18
  // FilterColumn
19
19
  .teamix-pro-table-toolbar-filter-column {
20
20
  min-width: 180px;
21
- max-height: 350px;
22
- overflow: auto;
23
21
  box-shadow: var(--popup-local-shadow, 0px 6px 24px 0px rgba(0, 0, 0, 0.1));
24
22
  background: var(--menu-background);
25
23
  &-reset {
@@ -76,6 +74,14 @@
76
74
  align-items: center;
77
75
  }
78
76
  }
77
+ .teamix-pro-table-toolbar-filter-column-all-select.teamix-pro-table-toolbar-filter-column-all-select {
78
+ padding-bottom: 0;
79
+ }
80
+ .teamix-pro-table-toolbar-filter-column-checkbox-group.teamix-pro-table-toolbar-filter-column-checkbox-group {
81
+ padding-top: 0;
82
+ max-height: 310px;
83
+ overflow: auto;
84
+ }
79
85
 
80
86
  // fullscreen
81
87
  .teamix-pro-table-full-screen {
@@ -55,7 +55,7 @@ Object.keys(_typing).forEach(function (key) {
55
55
  }
56
56
  });
57
57
  });
58
- var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest"];
58
+ var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType"];
59
59
 
60
60
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
61
 
@@ -108,25 +108,27 @@ var processColumns = function processColumns(columns, initialColumns) {
108
108
  return item.columnFilters !== false;
109
109
  }); // 处理只剩一列批量选择的情况下宽度错乱问题
110
110
 
111
- if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) && (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
112
- var _filterColumns$, _filterColumns$2;
111
+ if (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) {
112
+ if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
113
+ var _filterColumns$, _filterColumns$2;
113
114
 
114
- if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
115
- delete filterColumns[0].width;
116
- }
115
+ if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
116
+ delete filterColumns[0].width;
117
+ }
117
118
 
118
- if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
119
- filterColumns[0].lock = false;
120
- }
121
- } else {
122
- var _initialColumns$, _initialColumns$2;
119
+ if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
120
+ filterColumns[0].lock = false;
121
+ }
122
+ } else {
123
+ var _initialColumns$, _initialColumns$2;
123
124
 
124
- if ((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.width) {
125
- filterColumns[0].width = initialColumns[0].width;
126
- }
125
+ if ((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.width) {
126
+ filterColumns[0].width = initialColumns[0].width;
127
+ }
127
128
 
128
- if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.lock) {
129
- filterColumns[0].lock = initialColumns[0].lock;
129
+ if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.lock) {
130
+ filterColumns[0].lock = initialColumns[0].lock;
131
+ }
130
132
  }
131
133
  }
132
134
 
@@ -200,6 +202,8 @@ var ProTable = function ProTable(props) {
200
202
  return false;
201
203
  } : _props$autoRefresh,
202
204
  customRequest = props.customRequest,
205
+ _props$filterColumnTy = props.filterColumnType,
206
+ filterColumnType = _props$filterColumnTy === void 0 ? 'auto' : _props$filterColumnTy,
203
207
  otherProps = _objectWithoutProperties(props, _excluded);
204
208
 
205
209
  var targetPageKey = pageKey || globalPageKey;
@@ -732,7 +736,8 @@ var ProTable = function ProTable(props) {
732
736
  columns: propsColumns,
733
737
  dataFilter: dataFilter,
734
738
  dataFilterForm: dataFilterForm,
735
- rowSelection: rowSelection
739
+ rowSelection: rowSelection,
740
+ filterColumnType: filterColumnType
736
741
  }), /*#__PURE__*/_react.default.createElement(_components.Table.StickyLock, _objectSpread({
737
742
  hasBorder: false,
738
743
  dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
@@ -844,6 +849,8 @@ var ProTable = function ProTable(props) {
844
849
  return onChangePagination(number);
845
850
  },
846
851
  total: total,
852
+ shape: "arrow-only",
853
+ pageSizePosition: "end",
847
854
  totalRender: function totalRender(total) {
848
855
  return (0, _utils.getMessage)('total', {
849
856
  total: total
@@ -851,10 +858,8 @@ var ProTable = function ProTable(props) {
851
858
  },
852
859
  pageSize: pageSize,
853
860
  current: currentPage,
854
- shape: "arrow-only",
855
861
  pageSizeList: pageSizeList,
856
862
  pageSizeSelector: total > (props.pageSize || 10) * 2 ? 'dropdown' : false,
857
- pageSizePosition: "end",
858
863
  type: total / pageSize <= 2 ? 'simple' : 'normal',
859
864
  onPageSizeChange: function onPageSizeChange(number) {
860
865
  return onChangePaginationSize(number);
@@ -32,12 +32,18 @@ $fullscreenPadding: 24px;
32
32
  }
33
33
  &-footer-left-wrapper {
34
34
  display: flex;
35
- flex: 1;
35
+ flex-shrink: 0;
36
36
  align-items: center;
37
37
  }
38
38
  &-footer-right-wrapper {
39
39
  display: flex;
40
40
  justify-content: flex-end;
41
+ width: 100%;
42
+ }
43
+ .pagination-wrapper {
44
+ display: flex;
45
+ justify-content: flex-end;
46
+ width: 100%;
41
47
  }
42
48
  &-footer-action {
43
49
  margin-left: 16px;
@@ -235,6 +235,8 @@ export declare type ProTableTopAreaProps = {
235
235
  dataFilter?: ProTableDataFilterProps;
236
236
  /** 数据过滤区 form 表单模型 */
237
237
  dataFilterForm?: FormType;
238
+ /** 排序、筛选列展示状态 */
239
+ filterColumnType?: 'dialog' | 'dropdown' | 'auto';
238
240
  };
239
241
  /** 单个工具栏 */
240
242
  export declare type ProTableToolBarItem = React.ReactNode | 'refresh' | 'density' | 'filterColumn' | 'fullscreen';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teamix/pro",
3
- "version": "1.2.19",
3
+ "version": "1.2.20",
4
4
  "description": "TeamixPro大包",
5
5
  "repository": "http://gitlab.alibaba-inc.com/teamix/pro",
6
6
  "author": "Velociraptor(迅猛龙)",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@formily/core": "2.0.5",
26
26
  "@formily/react": "2.0.5",
27
- "@teamix/formily": "2.0.5-1",
27
+ "@teamix/formily": "2.0.5-2",
28
28
  "@teamix/hooks": "^0.1.0",
29
29
  "@teamix/pop-confirm": "^1.2.4",
30
30
  "@teamix/pro-field": "^1.0.0",