@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.
- package/dist/212.js +49 -49
- package/dist/pro.css +1 -1
- package/dist/pro.js +1422 -472
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/dialog.js +2 -5
- package/es/form/Components/LightFilter/index.js +1 -1
- package/es/form/Components/LightFilter/index.scss +1 -1
- package/es/form/Filter/AdvancedFilter.d.ts +7 -0
- package/es/form/Filter/AdvancedFilter.js +113 -0
- package/es/form/Filter/LightFilter.d.ts +7 -0
- package/es/form/Filter/LightFilter.js +79 -0
- package/es/form/Filter/SimpleFilter.d.ts +7 -0
- package/es/form/Filter/SimpleFilter.js +74 -0
- package/es/form/Filter/index2.js +202 -256
- package/es/form/ProForm/index.js +9 -7
- package/es/form/ProForm/index.scss +3 -0
- package/es/form/typing.d.ts +7 -3
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/table/components/Pagination/index.d.ts +3 -0
- package/es/table/components/Pagination/index.js +82 -0
- package/es/table/components/ToolBar/FilterColumnIcon.js +17 -4
- package/es/table/components/ToolBar/index.scss +8 -2
- package/es/table/index.js +26 -20
- package/es/table/index.scss +7 -1
- package/es/table/typing.d.ts +2 -0
- package/lib/actions/dialog.js +2 -5
- package/lib/form/Components/LightFilter/index.js +1 -1
- package/lib/form/Components/LightFilter/index.scss +1 -1
- package/lib/form/Filter/AdvancedFilter.d.ts +7 -0
- package/lib/form/Filter/AdvancedFilter.js +133 -0
- package/lib/form/Filter/LightFilter.d.ts +7 -0
- package/lib/form/Filter/LightFilter.js +99 -0
- package/lib/form/Filter/SimpleFilter.d.ts +7 -0
- package/lib/form/Filter/SimpleFilter.js +93 -0
- package/lib/form/Filter/index2.js +205 -257
- package/lib/form/ProForm/index.js +8 -6
- package/lib/form/ProForm/index.scss +3 -0
- package/lib/form/typing.d.ts +7 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/table/components/Pagination/index.d.ts +3 -0
- package/lib/table/components/Pagination/index.js +95 -0
- package/lib/table/components/ToolBar/FilterColumnIcon.js +17 -4
- package/lib/table/components/ToolBar/index.scss +8 -2
- package/lib/table/index.js +24 -19
- package/lib/table/index.scss +7 -1
- package/lib/table/typing.d.ts +2 -0
- package/package.json +2 -2
@@ -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,
|
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
|
-
}),
|
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 (
|
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,
|
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 (
|
68
|
-
|
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
|
-
|
71
|
-
|
72
|
-
|
72
|
+
if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
|
73
|
+
delete filterColumns[0].width;
|
74
|
+
}
|
73
75
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
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
|
-
|
81
|
-
|
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
|
-
|
85
|
-
|
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);
|
package/es/table/index.scss
CHANGED
@@ -32,12 +32,18 @@ $fullscreenPadding: 24px;
|
|
32
32
|
}
|
33
33
|
&-footer-left-wrapper {
|
34
34
|
display: flex;
|
35
|
-
flex:
|
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;
|
package/es/table/typing.d.ts
CHANGED
@@ -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/lib/actions/dialog.js
CHANGED
@@ -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 (
|
190
|
+
if (!link) {
|
191
191
|
_context.next = 5;
|
192
192
|
break;
|
193
193
|
}
|
194
194
|
|
195
|
-
|
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(
|
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") : '')
|
@@ -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,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;
|