@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
@@ -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,82 @@
1
+ var _excluded = ["className", "onChange", "total", "totalRender", "pageSize", "current", "pageSizeList", "pageSizeSelector", "type", "onPageSizeChange"];
2
+
3
+ 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; }
4
+
5
+ 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; }
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ 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; }
12
+
13
+ // 自适应宽度的翻页器
14
+ import React from 'react';
15
+ import { Pagination } from '@alicloudfe/components';
16
+ import { useResponsiveProps } from '@teamix/hooks';
17
+ export default (function (props) {
18
+ var className = props.className,
19
+ onChange = props.onChange,
20
+ total = props.total,
21
+ totalRender = props.totalRender,
22
+ pageSize = props.pageSize,
23
+ current = props.current,
24
+ pageSizeList = props.pageSizeList,
25
+ pageSizeSelector = props.pageSizeSelector,
26
+ type = props.type,
27
+ onPageSizeChange = props.onPageSizeChange,
28
+ otherProps = _objectWithoutProperties(props, _excluded);
29
+
30
+ var _useResponsiveProps = useResponsiveProps([480, 580, 680], ['mini', 'small', 'simple', 'normal']),
31
+ responsiveProps = _useResponsiveProps.responsiveProps,
32
+ paginationWrapperRef = _useResponsiveProps.ref;
33
+
34
+ var commonPaginationProps = {
35
+ className: className,
36
+ onChange: onChange,
37
+ total: total,
38
+ pageSize: pageSize,
39
+ current: current,
40
+ shape: 'arrow-only',
41
+ pageSizeList: pageSizeList,
42
+ pageSizeSelector: pageSizeSelector,
43
+ pageSizePosition: 'end',
44
+ onPageSizeChange: onPageSizeChange
45
+ };
46
+
47
+ var renderPagination = function renderPagination() {
48
+ switch (responsiveProps) {
49
+ case 'normal':
50
+ return /*#__PURE__*/React.createElement(Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), otherProps));
51
+
52
+ case 'simple':
53
+ return /*#__PURE__*/React.createElement(Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
54
+ pageShowCount: 3
55
+ }, otherProps));
56
+
57
+ case 'small':
58
+ return /*#__PURE__*/React.createElement(Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
59
+ pageSizeSelector: false,
60
+ type: "simple"
61
+ }, otherProps));
62
+
63
+ case 'mini':
64
+ return /*#__PURE__*/React.createElement(Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
65
+ pageSizeSelector: false,
66
+ type: "mini"
67
+ }, otherProps));
68
+
69
+ default:
70
+ return /*#__PURE__*/React.createElement(Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), otherProps));
71
+ }
72
+ };
73
+
74
+ return (
75
+ /*#__PURE__*/
76
+ // 用于获取翻页器响应式 ref
77
+ React.createElement("div", {
78
+ ref: paginationWrapperRef,
79
+ className: "pagination-wrapper"
80
+ }, renderPagination())
81
+ );
82
+ });
@@ -54,7 +54,8 @@ var processColumns = function processColumns(columns) {
54
54
  var FilterColumnIcon = function FilterColumnIcon(props) {
55
55
  var _props$columns = props.columns,
56
56
  columns = _props$columns === void 0 ? [] : _props$columns,
57
- actionRef = props.actionRef;
57
+ actionRef = props.actionRef,
58
+ filterColumnType = props.filterColumnType;
58
59
 
59
60
  var _useState = useState(true),
60
61
  _useState2 = _slicedToArray(_useState, 2),
@@ -241,7 +242,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
241
242
  align: "tr br"
242
243
  }, /*#__PURE__*/React.createElement("div", {
243
244
  className: cls()
244
- }, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(CheckboxItem, {
245
+ }, /*#__PURE__*/React.createElement(Menu, {
246
+ className: cls('all-select')
247
+ }, /*#__PURE__*/React.createElement(CheckboxItem, {
245
248
  indeterminate: indeterminate,
246
249
  checked: allVisible,
247
250
  onChange: onChangeAllColumns
@@ -254,7 +257,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
254
257
  type: "primary"
255
258
  }, getMessage('reset'))), /*#__PURE__*/React.createElement(Menu.Divider, {
256
259
  key: "divider"
257
- }), newColumns.map(function (_ref9, index) {
260
+ })), /*#__PURE__*/React.createElement(Menu, {
261
+ className: cls('checkbox-group')
262
+ }, newColumns.map(function (_ref9, index) {
258
263
  var _newColumns$find;
259
264
 
260
265
  var dataIndex = _ref9.dataIndex,
@@ -349,7 +354,15 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
349
354
  }))));
350
355
  };
351
356
 
352
- if (newColumns.length > 10) {
357
+ if (filterColumnType === 'dialog') {
358
+ return renderDialog();
359
+ }
360
+
361
+ if (filterColumnType === 'dropdown') {
362
+ return renderDropdown();
363
+ }
364
+
365
+ if (newColumns.length >= 20) {
353
366
  return renderDialog();
354
367
  }
355
368
 
@@ -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 {
package/es/table/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 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"];
1
+ 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"];
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
@@ -33,7 +33,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
33
33
  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; }
34
34
 
35
35
  import React, { useState, useEffect, useRef, useMemo } from 'react';
36
- import { Table, Pagination, Checkbox } from '@alicloudfe/components';
36
+ import { Table, Checkbox, Pagination } from '@alicloudfe/components'; // import Pagination from './components/Pagination';
37
+
37
38
  import genProColumnToColumn from './utils/genProColumnToColumn';
38
39
  import { baseClass, useRequest, request as utilResquest, getDeepValue, getMessage, pickProps } from '@teamix/utils';
39
40
  import { ProSkeletonRaw as Skeleton } from '../skeleton';
@@ -64,25 +65,27 @@ var processColumns = function processColumns(columns, initialColumns) {
64
65
  return item.columnFilters !== false;
65
66
  }); // 处理只剩一列批量选择的情况下宽度错乱问题
66
67
 
67
- if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) && (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
68
- var _filterColumns$, _filterColumns$2;
68
+ if (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) {
69
+ if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
70
+ var _filterColumns$, _filterColumns$2;
69
71
 
70
- if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
71
- delete filterColumns[0].width;
72
- }
72
+ if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
73
+ delete filterColumns[0].width;
74
+ }
73
75
 
74
- if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
75
- filterColumns[0].lock = false;
76
- }
77
- } else {
78
- var _initialColumns$, _initialColumns$2;
76
+ if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
77
+ filterColumns[0].lock = false;
78
+ }
79
+ } else {
80
+ var _initialColumns$, _initialColumns$2;
79
81
 
80
- if ((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.width) {
81
- filterColumns[0].width = initialColumns[0].width;
82
- }
82
+ if ((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.width) {
83
+ filterColumns[0].width = initialColumns[0].width;
84
+ }
83
85
 
84
- if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.lock) {
85
- filterColumns[0].lock = initialColumns[0].lock;
86
+ if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.lock) {
87
+ filterColumns[0].lock = initialColumns[0].lock;
88
+ }
86
89
  }
87
90
  }
88
91
 
@@ -156,6 +159,8 @@ var ProTable = function ProTable(props) {
156
159
  return false;
157
160
  } : _props$autoRefresh,
158
161
  customRequest = props.customRequest,
162
+ _props$filterColumnTy = props.filterColumnType,
163
+ filterColumnType = _props$filterColumnTy === void 0 ? 'auto' : _props$filterColumnTy,
159
164
  otherProps = _objectWithoutProperties(props, _excluded);
160
165
 
161
166
  var targetPageKey = pageKey || globalPageKey;
@@ -688,7 +693,8 @@ var ProTable = function ProTable(props) {
688
693
  columns: propsColumns,
689
694
  dataFilter: dataFilter,
690
695
  dataFilterForm: dataFilterForm,
691
- rowSelection: rowSelection
696
+ rowSelection: rowSelection,
697
+ filterColumnType: filterColumnType
692
698
  }), /*#__PURE__*/React.createElement(Table.StickyLock, _objectSpread({
693
699
  hasBorder: false,
694
700
  dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
@@ -800,6 +806,8 @@ var ProTable = function ProTable(props) {
800
806
  return onChangePagination(number);
801
807
  },
802
808
  total: total,
809
+ shape: "arrow-only",
810
+ pageSizePosition: "end",
803
811
  totalRender: function totalRender(total) {
804
812
  return getMessage('total', {
805
813
  total: total
@@ -807,10 +815,8 @@ var ProTable = function ProTable(props) {
807
815
  },
808
816
  pageSize: pageSize,
809
817
  current: currentPage,
810
- shape: "arrow-only",
811
818
  pageSizeList: pageSizeList,
812
819
  pageSizeSelector: total > (props.pageSize || 10) * 2 ? 'dropdown' : false,
813
- pageSizePosition: "end",
814
820
  type: total / pageSize <= 2 ? 'simple' : 'normal',
815
821
  onPageSizeChange: function onPageSizeChange(number) {
816
822
  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';
@@ -187,15 +187,12 @@ function useDialogAction(action, actionContext) {
187
187
  while (1) {
188
188
  switch (_context.prev = _context.next) {
189
189
  case 0:
190
- if (url) {
190
+ if (!link) {
191
191
  _context.next = 5;
192
192
  break;
193
193
  }
194
194
 
195
- if (link) {
196
- (0, _utils.goToLink)(link, history);
197
- }
198
-
195
+ (0, _utils.goToLink)(link, history);
199
196
  onFinish && onFinish();
200
197
  resolve(true);
201
198
  return _context.abrupt("return");
@@ -117,7 +117,7 @@ var LightFilter = (0, _react2.observer)(function (props) {
117
117
  });
118
118
  var onSelectChange = (0, _react.useCallback)(function (value) {
119
119
  setActive(value);
120
- onFilterChange && onFilterChange(currentSchema);
120
+ onFilterChange && onFilterChange(value);
121
121
  }, [onFilterChange]);
122
122
  return /*#__PURE__*/_react.default.createElement("span", {
123
123
  className: (0, _classnames.default)(prefixCls, "".concat(defaultCls).concat(size), isInputCategory(currentSchema) ? "".concat(prefixCls, "-input-category") : '')
@@ -27,7 +27,7 @@ $light-filter: #{teamix-pro-form}-light-filter;
27
27
  border: 0;
28
28
  box-shadow: none;
29
29
  .#{$css-prefix}input-text-field {
30
- padding-right: 0;
30
+ padding-right: 4px;
31
31
  }
32
32
  }
33
33
  .#{$css-prefix}input {
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { FilterProps } from '../typing';
3
+ /**
4
+ * 高级筛选
5
+ */
6
+ declare const AdvancedFilter: React.FC<FilterProps>;
7
+ export default AdvancedFilter;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _utils = require("@teamix/utils");
15
+
16
+ var _ProForm = _interopRequireDefault(require("../ProForm"));
17
+
18
+ var _utils2 = require("../utils");
19
+
20
+ var _excluded = ["schema", "onSubmit", "onReset", "onResetClick", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol"];
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
35
+
36
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
+
38
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
39
+
40
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
41
+
42
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
43
+
44
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
45
+
46
+ 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; }
47
+
48
+ 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; }
49
+
50
+ /**
51
+ * 高级筛选
52
+ */
53
+ var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
54
+ var schema = props.schema,
55
+ onSubmit = props.onSubmit,
56
+ onReset = props.onReset,
57
+ onResetClick = props.onResetClick,
58
+ layout = props.layout,
59
+ labelAlign = props.labelAlign,
60
+ wrapperAlign = props.wrapperAlign,
61
+ labelCol = props.labelCol,
62
+ wrapperCol = props.wrapperCol,
63
+ otherProps = _objectWithoutProperties(props, _excluded);
64
+
65
+ var prefixCls = (0, _utils.usePrefixCls)('', {
66
+ prefix: 'teamix-pro-form-query-filter-advanced'
67
+ });
68
+ var gridSchema = (0, _react.useMemo)(function () {
69
+ return [{
70
+ name: 'FormGrid',
71
+ component: 'FormGrid',
72
+ props: {
73
+ breakpoints: [480, 720, 990, 1200, Infinity],
74
+ maxColumns: [1, 2, 3, 3, 4],
75
+ columnGap: 16,
76
+ rowGap: 12
77
+ },
78
+ children: [].concat(_toConsumableArray(schema), [{
79
+ component: 'FormGrid.GridColumn',
80
+ props: {
81
+ gridSpan: -1
82
+ },
83
+ children: [{
84
+ component: 'FormButtonGroup',
85
+ props: {
86
+ align: 'right'
87
+ },
88
+ children: [{
89
+ component: 'Reset',
90
+ props: {
91
+ onResetValidateSuccess: onReset,
92
+ onClick: onResetClick,
93
+ children: (0, _utils.getMessage)('reset')
94
+ }
95
+ }, {
96
+ component: 'Submit',
97
+ props: {
98
+ style: {
99
+ marginRight: -8
100
+ },
101
+ children: (0, _utils.getMessage)('search')
102
+ }
103
+ }]
104
+ }]
105
+ }])
106
+ }];
107
+ }, [schema, onReset, onResetClick]);
108
+ var getTeamixLayout = (0, _react.useMemo)(function () {
109
+ return {
110
+ breakpoints: [990],
111
+ layout: (0, _utils2.mergeArrayValue)(['vertical'], layout),
112
+ labelAlign: (0, _utils2.mergeArrayValue)(['left'], labelAlign),
113
+ wrapperAlign: (0, _utils2.mergeArrayValue)(['left'], wrapperAlign),
114
+ labelCol: (0, _utils2.mergeArrayValue)([24], labelCol),
115
+ wrapperCol: (0, _utils2.mergeArrayValue)([24], wrapperCol)
116
+ };
117
+ }, [layout, labelAlign, wrapperAlign, labelCol, wrapperCol]);
118
+ return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread(_objectSpread({
119
+ className: (0, _classnames.default)(prefixCls, props.className),
120
+ schema: gridSchema,
121
+ feedbackLayout: "popover"
122
+ }, otherProps), getTeamixLayout), {}, {
123
+ onSubmit: onSubmit
124
+ }));
125
+ });
126
+ AdvancedFilter.defaultProps = {
127
+ layout: 'horizontal',
128
+ labelAlign: 'right',
129
+ labelCol: 6,
130
+ wrapperCol: 18
131
+ };
132
+ var _default = AdvancedFilter;
133
+ exports.default = _default;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { FilterProps } from '../typing';
3
+ /**
4
+ * 轻量筛选
5
+ */
6
+ declare const LightFilter: React.FC<FilterProps>;
7
+ export default LightFilter;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _reactive = require("@formily/reactive");
15
+
16
+ var _utils = require("@teamix/utils");
17
+
18
+ var _ProForm = _interopRequireDefault(require("../ProForm"));
19
+
20
+ var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue"];
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ /**
39
+ * 轻量筛选
40
+ */
41
+ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
42
+ var _schema$;
43
+
44
+ var form = props.form,
45
+ schema = props.schema,
46
+ onSubmit = props.onSubmit,
47
+ onChange = props.onChange,
48
+ defaultFilterValue = props.defaultFilterValue,
49
+ otherProps = _objectWithoutProperties(props, _excluded);
50
+
51
+ var filterValue = (0, _react.useRef)(defaultFilterValue || ((_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema$.name));
52
+ var prefixCls = (0, _utils.usePrefixCls)('', {
53
+ prefix: 'teamix-pro-form-query-filter-light'
54
+ }); // input类组件的按钮
55
+
56
+ var onBtnClick = (0, _react.useCallback)(function () {
57
+ onChange && onChange((0, _reactive.toJS)(form.values));
58
+ }, [form]); // 筛选提交切换
59
+
60
+ var onFilterChange = (0, _react.useCallback)(function (value) {
61
+ filterValue.current = value;
62
+ }, [form]); // onChange
63
+
64
+ var onCurrentChange = (0, _react.useCallback)(function (values) {
65
+ onChange && onChange(_defineProperty({}, filterValue.current, values[filterValue.current]));
66
+ }, [onChange, filterValue.current]);
67
+ var LightSchema = (0, _react.useMemo)(function () {
68
+ return [{
69
+ component: 'LightFilter',
70
+ props: {
71
+ defaultFilterValue: defaultFilterValue,
72
+ onFilterChange: onFilterChange,
73
+ buttonProps: {
74
+ onClick: onBtnClick
75
+ }
76
+ },
77
+ children: schema
78
+ }, {
79
+ component: 'Submit',
80
+ props: {
81
+ style: {
82
+ display: 'none'
83
+ }
84
+ }
85
+ }];
86
+ }, [schema, onBtnClick, onFilterChange, defaultFilterValue]);
87
+ return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread({}, otherProps), {}, {
88
+ form: form,
89
+ className: (0, _classnames.default)(prefixCls, props.className),
90
+ schema: LightSchema,
91
+ feedbackLayout: "none",
92
+ breakpoints: [],
93
+ bordered: false,
94
+ onSubmit: onSubmit,
95
+ onChange: onCurrentChange
96
+ }));
97
+ });
98
+ var _default = LightFilter;
99
+ exports.default = _default;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { FilterProps } from '../typing';
3
+ /**
4
+ * 简单筛选
5
+ */
6
+ declare const SimpleFilter: React.FC<FilterProps>;
7
+ export default SimpleFilter;