@teamix/pro 1.1.7 → 1.1.8
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 +2 -2
- package/dist/pro.css +1 -1
- package/dist/pro.js +1963 -658
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/form/Components/ProField/index.d.ts +8 -0
- package/es/form/ProForm/index.js +9 -2
- package/es/form/ProForm/index.scss +33 -6
- package/es/form/SchemaForm/adapterType.js +2 -0
- package/es/form/SchemaForm/index.js +6 -3
- package/es/form/SchemaForm/initializeArrayIcon.js +7 -2
- package/es/form/SchemaForm/initializeFormButton.js +35 -38
- package/es/form/SchemaForm/initializeFormStep.d.ts +3 -1
- package/es/form/SchemaForm/initializeFormStep.js +21 -7
- package/es/form/SchemaForm/initializeProField.js +2 -0
- package/es/form/index.d.ts +2 -1
- package/es/form/index.js +2 -1
- package/es/form/typing.d.ts +1 -1
- package/es/index.d.ts +3 -3
- package/es/index.js +3 -3
- package/es/nocode/index.scss +1 -4
- package/es/page-header/index.d.ts +2 -0
- package/es/page-header/index.js +22 -6
- package/es/page-header/index.scss +4 -0
- package/es/table/components/ToolBar/FilterColumnIcon.js +77 -17
- package/es/table/components/ToolBar/index.scss +10 -0
- package/es/table/index.js +68 -36
- package/es/table/typing.d.ts +3 -1
- package/lib/form/Components/ProField/index.d.ts +8 -0
- package/lib/form/ProForm/index.js +10 -2
- package/lib/form/ProForm/index.scss +33 -6
- package/lib/form/SchemaForm/adapterType.js +2 -0
- package/lib/form/SchemaForm/index.js +7 -3
- package/lib/form/SchemaForm/initializeArrayIcon.js +7 -2
- package/lib/form/SchemaForm/initializeFormButton.js +35 -38
- package/lib/form/SchemaForm/initializeFormStep.d.ts +3 -1
- package/lib/form/SchemaForm/initializeFormStep.js +21 -7
- package/lib/form/SchemaForm/initializeProField.js +2 -0
- package/lib/form/index.d.ts +2 -1
- package/lib/form/index.js +35 -0
- package/lib/form/typing.d.ts +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +3 -3
- package/lib/nocode/index.scss +1 -4
- package/lib/page-header/index.d.ts +2 -0
- package/lib/page-header/index.js +23 -6
- package/lib/page-header/index.scss +4 -0
- package/lib/table/components/ToolBar/FilterColumnIcon.js +75 -16
- package/lib/table/components/ToolBar/index.scss +10 -0
- package/lib/table/index.js +67 -37
- package/lib/table/typing.d.ts +3 -1
- package/package.json +1 -1
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
7
|
var _excluded = ["props", "children", "title"],
|
8
|
-
_excluded2 = ["
|
8
|
+
_excluded2 = ["col", "style"];
|
9
9
|
|
10
10
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
11
11
|
|
@@ -17,6 +17,13 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
17
17
|
|
18
18
|
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; }
|
19
19
|
|
20
|
+
var getWidth = function getWidth(col, length) {
|
21
|
+
var newCol = col !== null && col !== void 0 ? col : (length + 1) * 4;
|
22
|
+
newCol = newCol > 24 ? 24 : newCol;
|
23
|
+
var width = 100 / 24 * newCol;
|
24
|
+
return "".concat(width, "%");
|
25
|
+
};
|
26
|
+
|
20
27
|
var initializeStepPane = function initializeStepPane(item) {
|
21
28
|
var _item$props = item.props,
|
22
29
|
props = _item$props === void 0 ? {} : _item$props,
|
@@ -38,17 +45,24 @@ var initialize = function initialize(item) {
|
|
38
45
|
var _item$props2 = item.props,
|
39
46
|
props = _item$props2 === void 0 ? {} : _item$props2,
|
40
47
|
_item$children2 = item.children,
|
41
|
-
children = _item$children2 === void 0 ? [] : _item$children2
|
42
|
-
otherProps = _objectWithoutProperties(item, _excluded2);
|
48
|
+
children = _item$children2 === void 0 ? [] : _item$children2;
|
43
49
|
|
44
|
-
|
50
|
+
var col = props.col,
|
51
|
+
style = props.style,
|
52
|
+
otherProps = _objectWithoutProperties(props, _excluded2);
|
53
|
+
|
54
|
+
var width = getWidth(col, children.length);
|
55
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
45
56
|
props: _objectSpread({
|
46
|
-
labelPlacement: 'hoz'
|
47
|
-
|
57
|
+
labelPlacement: 'hoz',
|
58
|
+
style: _objectSpread({
|
59
|
+
width: width
|
60
|
+
}, style)
|
61
|
+
}, otherProps),
|
48
62
|
children: children.map(function (item) {
|
49
63
|
return initializeStepPane(item);
|
50
64
|
})
|
51
|
-
}
|
65
|
+
});
|
52
66
|
};
|
53
67
|
|
54
68
|
var _default = initialize;
|
package/lib/form/index.d.ts
CHANGED
@@ -14,7 +14,8 @@ export * as formilyTeamix from '@teamix/formily';
|
|
14
14
|
*/
|
15
15
|
import { createForm, registerValidateRules as registerRules, registerValidateFormats as registerFormats, registerValidateLocale, setValidateLanguage } from '@formily/core';
|
16
16
|
import { FormConsumer } from '@formily/react';
|
17
|
-
|
17
|
+
import { FormDialog, FormDrawer, FormStep, FormTab, FormCollapse } from '@teamix/formily';
|
18
|
+
export { createForm, FormConsumer, FormDialog, FormDrawer, FormStep, FormTab, FormCollapse, registerRules, registerFormats, registerValidateLocale, setValidateLanguage, };
|
18
19
|
/**
|
19
20
|
* 导出 Filter 组件
|
20
21
|
*/
|
package/lib/form/index.js
CHANGED
@@ -15,6 +15,11 @@ var _exportNames = {
|
|
15
15
|
FormConsumer: true,
|
16
16
|
formilyReact: true,
|
17
17
|
formilyReactive: true,
|
18
|
+
FormDialog: true,
|
19
|
+
FormDrawer: true,
|
20
|
+
FormStep: true,
|
21
|
+
FormTab: true,
|
22
|
+
FormCollapse: true,
|
18
23
|
formilyTeamix: true,
|
19
24
|
AdvancedFilter: true,
|
20
25
|
SimpleFilter: true,
|
@@ -26,12 +31,42 @@ Object.defineProperty(exports, "AdvancedFilter", {
|
|
26
31
|
return _Filter.AdvancedFilter;
|
27
32
|
}
|
28
33
|
});
|
34
|
+
Object.defineProperty(exports, "FormCollapse", {
|
35
|
+
enumerable: true,
|
36
|
+
get: function get() {
|
37
|
+
return _formilyTeamix.FormCollapse;
|
38
|
+
}
|
39
|
+
});
|
29
40
|
Object.defineProperty(exports, "FormConsumer", {
|
30
41
|
enumerable: true,
|
31
42
|
get: function get() {
|
32
43
|
return _formilyReact.FormConsumer;
|
33
44
|
}
|
34
45
|
});
|
46
|
+
Object.defineProperty(exports, "FormDialog", {
|
47
|
+
enumerable: true,
|
48
|
+
get: function get() {
|
49
|
+
return _formilyTeamix.FormDialog;
|
50
|
+
}
|
51
|
+
});
|
52
|
+
Object.defineProperty(exports, "FormDrawer", {
|
53
|
+
enumerable: true,
|
54
|
+
get: function get() {
|
55
|
+
return _formilyTeamix.FormDrawer;
|
56
|
+
}
|
57
|
+
});
|
58
|
+
Object.defineProperty(exports, "FormStep", {
|
59
|
+
enumerable: true,
|
60
|
+
get: function get() {
|
61
|
+
return _formilyTeamix.FormStep;
|
62
|
+
}
|
63
|
+
});
|
64
|
+
Object.defineProperty(exports, "FormTab", {
|
65
|
+
enumerable: true,
|
66
|
+
get: function get() {
|
67
|
+
return _formilyTeamix.FormTab;
|
68
|
+
}
|
69
|
+
});
|
35
70
|
Object.defineProperty(exports, "QueryFilter", {
|
36
71
|
enumerable: true,
|
37
72
|
get: function get() {
|
package/lib/form/typing.d.ts
CHANGED
@@ -6,7 +6,7 @@ export interface anyObject {
|
|
6
6
|
[propName: string]: any;
|
7
7
|
}
|
8
8
|
declare type FieldDisplayTypes = 'none' | 'hidden' | 'visible';
|
9
|
-
export declare type IBaseComponent = 'Input' | 'Password' | 'TextArea' | 'NumberPicker' | 'Percent' | 'Money' | 'Select' | 'MultipleSelect' | 'TreeSelect' | 'Cascader' | 'MultipleCascader' | 'ArbitraryCascader' | 'Radio' | 'Checkbox' | 'Switch' | 'DatePicker' | 'TimePicker' | 'DateTimePicker' | 'WeekPicker' | 'MonthPicker' | 'YearPicker' | 'QuarterPicker' | 'DateRangePicker' | 'TimeRangePicker' | 'DateTimeRangePicker' | 'WeekRangePicker' | 'MonthRangePicker' | 'YearRangePicker' | 'QuarterRangePicker' | 'Transfer' | 'Upload' | 'ColorPicker' | 'ColorRadio' | 'IconPicker' | 'JsonInput';
|
9
|
+
export declare type IBaseComponent = 'Input' | 'Password' | 'TextArea' | 'NumberPicker' | 'Percent' | 'Money' | 'Select' | 'MultipleSelect' | 'TreeSelect' | 'Cascader' | 'MultipleCascader' | 'ArbitraryCascader' | 'Radio' | 'Checkbox' | 'Switch' | 'DatePicker' | 'TimePicker' | 'DateTimePicker' | 'WeekPicker' | 'MonthPicker' | 'YearPicker' | 'QuarterPicker' | 'DateRangePicker' | 'TimeRangePicker' | 'DateTimeRangePicker' | 'WeekRangePicker' | 'MonthRangePicker' | 'YearRangePicker' | 'QuarterRangePicker' | 'Transfer' | 'Upload' | 'ColorPicker' | 'ColorRadio' | 'IconPicker' | 'JsonInput' | 'TagPicker' | 'Range' | 'Search';
|
10
10
|
export declare type IButtonComponent = 'Submit' | 'Reset';
|
11
11
|
export declare type IComboComponent = 'ArrayCards' | 'ArrayCards.Addition' | 'ArrayCards.Remove' | 'ArrayCards.MoveUp' | 'ArrayCards.MoveDown' | 'ArrayCards.Index' | 'ArrayCollapse' | 'ArrayCollapse.CollapsePanel' | 'ArrayCollapse.Addition' | 'ArrayCollapse.Remove' | 'ArrayCollapse.MoveUp' | 'ArrayCollapse.MoveDown' | 'ArrayCollapse.Index' | 'ArrayTable' | 'ArrayTable.Column' | 'ArrayTable.SortHandle' | 'ArrayTable.Addition' | 'ArrayTable.Remove' | 'ArrayTable.MoveDown' | 'ArrayTable.MoveUp' | 'ArrayTable.Index' | 'ArrayItems' | 'ArrayItems.Item' | 'ArrayItems.SortHandle' | 'ArrayItems.Addition' | 'ArrayItems.Remove' | 'ArrayItems.MoveDown' | 'ArrayItems.MoveUp' | 'ArrayItems.Index' | 'Editable' | 'Editable.Popover' | 'Editable.Dialog' | 'Editable.Drawer';
|
12
12
|
export declare type ILayoutComponent = 'FormFlex' | 'FormGrid' | 'FormGroup' | 'FormGroup.GroupPanel' | 'Search' | 'Search.SearchPanel' | 'FormTab' | 'FormTab.TabPane' | 'FormStep' | 'FormStep.StepPane' | 'FormCollapse' | 'FormCollapse.CollapsePanel' | 'FormButtonGroup' | 'FormDialog' | 'FormDrawer' | 'FormDialog.Footer' | 'FormDrawer.Footer';
|
package/lib/index.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import ProActions from './actions';
|
2
2
|
import ProCard from './card';
|
3
3
|
import ProField from './field';
|
4
4
|
import ProForm from './form';
|
@@ -20,5 +20,5 @@ export * from './page-container';
|
|
20
20
|
export * from './page-header';
|
21
21
|
export * from './skeleton';
|
22
22
|
export * from './table';
|
23
|
-
declare const version = "1.1.
|
24
|
-
export { version,
|
23
|
+
declare const version = "1.1.7";
|
24
|
+
export { version, ProActions, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, hooks, nocode, templates, utils, };
|
package/lib/index.js
CHANGED
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
});
|
8
8
|
var _exportNames = {
|
9
9
|
version: true,
|
10
|
-
|
10
|
+
ProActions: true,
|
11
11
|
ProCard: true,
|
12
12
|
ProField: true,
|
13
13
|
ProForm: true,
|
@@ -21,7 +21,7 @@ var _exportNames = {
|
|
21
21
|
nocode: true,
|
22
22
|
templates: true
|
23
23
|
};
|
24
|
-
Object.defineProperty(exports, "
|
24
|
+
Object.defineProperty(exports, "ProActions", {
|
25
25
|
enumerable: true,
|
26
26
|
get: function get() {
|
27
27
|
return _actions.default;
|
@@ -240,5 +240,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
240
240
|
// 设置图标源
|
241
241
|
_icon.default.setConfig(_utils.default.getTeamixIconConfig());
|
242
242
|
|
243
|
-
var version = '1.1.
|
243
|
+
var version = '1.1.7';
|
244
244
|
exports.version = version;
|
package/lib/nocode/index.scss
CHANGED
@@ -17,13 +17,10 @@
|
|
17
17
|
border: 1px solid var(--color-line1-1, #eaeaea);
|
18
18
|
|
19
19
|
&-component {
|
20
|
+
position: relative;
|
20
21
|
padding: 20px;
|
21
22
|
flex-grow: 1;
|
22
23
|
border-right: 1px solid var(--color-line1-1, #eaeaea);
|
23
|
-
|
24
|
-
&>.teamix-pro-page-container {
|
25
|
-
padding: 0;
|
26
|
-
}
|
27
24
|
}
|
28
25
|
|
29
26
|
&-configurator {
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { IActionButton } from '../actions';
|
3
|
+
import { ProInfoProps } from '../info';
|
3
4
|
import './index.scss';
|
4
5
|
export interface BreadcrumbItem {
|
5
6
|
link?: string;
|
@@ -38,6 +39,7 @@ export declare type PageHeaderProps = {
|
|
38
39
|
maxActions?: number;
|
39
40
|
tags?: TagItem[];
|
40
41
|
data?: DataItem[];
|
42
|
+
info?: ProInfoProps | React.ReactNode;
|
41
43
|
} & React.HTMLAttributes<HTMLElement>;
|
42
44
|
declare const PageHeader: React.FC<PageHeaderProps>;
|
43
45
|
export default PageHeader;
|
package/lib/page-header/index.js
CHANGED
@@ -21,20 +21,22 @@ var _actions = require("../actions");
|
|
21
21
|
|
22
22
|
var _skeleton = require("../skeleton");
|
23
23
|
|
24
|
+
var _info = _interopRequireDefault(require("../info"));
|
25
|
+
|
24
26
|
require("./index.scss");
|
25
27
|
|
26
|
-
var _excluded = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "maxActions", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "children", "className", "style"];
|
28
|
+
var _excluded = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "maxActions", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
|
27
29
|
|
28
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
29
31
|
|
30
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
31
|
-
|
32
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
33
|
-
|
34
32
|
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
33
|
|
36
34
|
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
35
|
|
36
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
37
|
+
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
39
|
+
|
38
40
|
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; }
|
39
41
|
|
40
42
|
var cls = (0, _utils.baseClass)('teamix-pro-page-header');
|
@@ -158,6 +160,18 @@ var renderData = function renderData(data) {
|
|
158
160
|
}));
|
159
161
|
};
|
160
162
|
|
163
|
+
var renderInfo = function renderInfo(info) {
|
164
|
+
// @ts-ignore
|
165
|
+
if (info === null || info === void 0 ? void 0 : info.columns) {
|
166
|
+
// @ts-ignore
|
167
|
+
return /*#__PURE__*/_react.default.createElement(_info.default, _objectSpread({
|
168
|
+
type: "header"
|
169
|
+
}, info));
|
170
|
+
}
|
171
|
+
|
172
|
+
return info;
|
173
|
+
};
|
174
|
+
|
161
175
|
var PageHeader = function PageHeader(props) {
|
162
176
|
var title = props.title,
|
163
177
|
description = props.description,
|
@@ -176,6 +190,7 @@ var PageHeader = function PageHeader(props) {
|
|
176
190
|
breadcrumb = props.breadcrumb,
|
177
191
|
tags = props.tags,
|
178
192
|
data = props.data,
|
193
|
+
info = props.info,
|
179
194
|
children = props.children,
|
180
195
|
className = props.className,
|
181
196
|
style = props.style,
|
@@ -245,7 +260,9 @@ var PageHeader = function PageHeader(props) {
|
|
245
260
|
className: cls('data')
|
246
261
|
}, renderData(data)), /*#__PURE__*/_react.default.createElement("section", {
|
247
262
|
className: cls('operation')
|
248
|
-
}, !loading && renderOperations(operation, maxActions)))),
|
263
|
+
}, !loading && renderOperations(operation, maxActions)))), info && !loading && /*#__PURE__*/_react.default.createElement("section", {
|
264
|
+
className: (0, _classnames2.default)(cls('section'), cls('info'))
|
265
|
+
}, renderInfo(info)), children);
|
249
266
|
};
|
250
267
|
|
251
268
|
var _default = PageHeader;
|
@@ -43,8 +43,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
43
43
|
|
44
44
|
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; }
|
45
45
|
|
46
|
-
var CheckboxItem = _components.Menu.CheckboxItem;
|
47
|
-
|
46
|
+
var CheckboxItem = _components.Menu.CheckboxItem;
|
47
|
+
var Row = _components.Grid.Row,
|
48
|
+
Col = _components.Grid.Col;
|
48
49
|
var cls = (0, _utils.baseClass)('teamix-pro-table-toolbar-filter-column');
|
49
50
|
|
50
51
|
var processColumns = function processColumns(columns) {
|
@@ -144,6 +145,13 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
|
|
144
145
|
return item;
|
145
146
|
});
|
146
147
|
notifyTableRender(keyNewColumns);
|
148
|
+
}; // 修改:dialog
|
149
|
+
|
150
|
+
|
151
|
+
var onChangeColumnsForDialog = function onChangeColumnsForDialog() {
|
152
|
+
var keyNewColumns = (0, _utils2.cloneDeep)(newColumns);
|
153
|
+
notifyTableRender(keyNewColumns);
|
154
|
+
setDropdownVisible(false);
|
147
155
|
}; // 向上
|
148
156
|
|
149
157
|
|
@@ -283,20 +291,71 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
|
|
283
291
|
})))));
|
284
292
|
};
|
285
293
|
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
294
|
+
var renderDialog = function renderDialog() {
|
295
|
+
// 对话框关闭
|
296
|
+
var dialogOnClose = function dialogOnClose() {
|
297
|
+
setDropdownVisible(false);
|
298
|
+
};
|
299
|
+
|
300
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
|
301
|
+
iconSize: "small",
|
302
|
+
className: "teamix-pro-table-toolbar-icon",
|
303
|
+
onClick: function onClick() {
|
304
|
+
setDropdownVisible(!dropdownVisible);
|
305
|
+
}
|
306
|
+
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
307
|
+
size: "small",
|
308
|
+
type: "set-line"
|
309
|
+
})), /*#__PURE__*/_react.default.createElement(_components.Dialog, {
|
310
|
+
title: (0, _utils.getMessage)('customColumnSetting'),
|
311
|
+
visible: dropdownVisible,
|
312
|
+
onOk: onChangeColumnsForDialog,
|
313
|
+
onCancel: dialogOnClose,
|
314
|
+
onClose: dialogOnClose,
|
315
|
+
style: {
|
316
|
+
width: '440px'
|
317
|
+
}
|
318
|
+
}, /*#__PURE__*/_react.default.createElement(Row, {
|
319
|
+
gutter: 20,
|
320
|
+
wrap: true,
|
321
|
+
className: cls('row')
|
322
|
+
}, newColumns.map(function (item, index) {
|
323
|
+
var _newColumns$find2;
|
324
|
+
|
325
|
+
var dataIndex = item.dataIndex,
|
326
|
+
title = item.title,
|
327
|
+
columnFiltersDisabled = item.columnFiltersDisabled;
|
328
|
+
return /*#__PURE__*/_react.default.createElement(Col, {
|
329
|
+
span: 8,
|
330
|
+
key: index,
|
331
|
+
className: cls('col')
|
332
|
+
}, /*#__PURE__*/_react.default.createElement(_components.Checkbox, {
|
333
|
+
checked: (_newColumns$find2 = newColumns.find(function (_ref5) {
|
334
|
+
var key = _ref5.dataIndex;
|
335
|
+
return key === dataIndex;
|
336
|
+
})) === null || _newColumns$find2 === void 0 ? void 0 : _newColumns$find2.columnFilters,
|
337
|
+
onChange: function onChange(check) {
|
338
|
+
var columnsList = (0, _utils2.cloneDeep)(newColumns).map(function (item) {
|
339
|
+
if (item.dataIndex === dataIndex) {
|
340
|
+
item.columnFilters = check;
|
341
|
+
}
|
342
|
+
|
343
|
+
return item;
|
344
|
+
});
|
345
|
+
setNewColumns(columnsList);
|
346
|
+
},
|
347
|
+
disabled: columnFiltersDisabled
|
348
|
+
}, /*#__PURE__*/_react.default.createElement(_utils.Ellipsis, {
|
349
|
+
tooltip: false
|
350
|
+
}, title)));
|
351
|
+
}))));
|
352
|
+
};
|
353
|
+
|
354
|
+
if (newColumns.length > 10) {
|
355
|
+
return renderDialog();
|
356
|
+
}
|
357
|
+
|
358
|
+
return renderDropdown();
|
300
359
|
};
|
301
360
|
|
302
361
|
var _default = FilterColumnIcon;
|
@@ -66,8 +66,18 @@
|
|
66
66
|
}
|
67
67
|
}
|
68
68
|
}
|
69
|
+
|
70
|
+
|
71
|
+
}
|
72
|
+
.teamix-pro-table-toolbar-filter-column-col {
|
73
|
+
height: 28px;
|
74
|
+
.next-checkbox-wrapper {
|
75
|
+
display: flex;
|
76
|
+
align-items: center;
|
77
|
+
}
|
69
78
|
}
|
70
79
|
|
80
|
+
|
71
81
|
// fullscreen
|
72
82
|
.teamix-pro-table-full-screen {
|
73
83
|
width: 100vw;
|
package/lib/table/index.js
CHANGED
@@ -63,10 +63,7 @@ Object.keys(_typing).forEach(function (key) {
|
|
63
63
|
}
|
64
64
|
});
|
65
65
|
});
|
66
|
-
|
67
|
-
var _ahooks = require("ahooks");
|
68
|
-
|
69
|
-
var _excluded = ["header", "className", "tableClassName", "mainAction", "quickAction", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction"];
|
66
|
+
var _excluded = ["header", "className", "tableClassName", "mainAction", "quickAction", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh"];
|
70
67
|
|
71
68
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
72
69
|
|
@@ -106,6 +103,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
106
103
|
|
107
104
|
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; }
|
108
105
|
|
106
|
+
// import { useSize } from 'ahooks';
|
109
107
|
var cls = (0, _utils.baseClass)('teamix-pro-table');
|
110
108
|
var toJS = _form.formilyReactive.toJS;
|
111
109
|
/**
|
@@ -181,6 +179,10 @@ var ProTable = function ProTable(props) {
|
|
181
179
|
filterDebounce = _props$filterDebounce === void 0 ? 300 : _props$filterDebounce,
|
182
180
|
_props$footerSuction = props.footerSuction,
|
183
181
|
footerSuction = _props$footerSuction === void 0 ? false : _props$footerSuction,
|
182
|
+
_props$autoRefresh = props.autoRefresh,
|
183
|
+
autoRefresh = _props$autoRefresh === void 0 ? function () {
|
184
|
+
return false;
|
185
|
+
} : _props$autoRefresh,
|
184
186
|
otherProps = _objectWithoutProperties(props, _excluded);
|
185
187
|
|
186
188
|
var targetPageKey = pageKey || globalPageKey;
|
@@ -231,9 +233,16 @@ var ProTable = function ProTable(props) {
|
|
231
233
|
var _useState15 = (0, _react.useState)('medium'),
|
232
234
|
_useState16 = _slicedToArray(_useState15, 2),
|
233
235
|
size = _useState16[0],
|
234
|
-
_setSize = _useState16[1];
|
236
|
+
_setSize = _useState16[1];
|
237
|
+
|
238
|
+
var _useState17 = (0, _react.useState)(true),
|
239
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
240
|
+
showLoading = _useState18[0],
|
241
|
+
setShowLoading = _useState18[1]; // 存储定时器 id
|
235
242
|
|
236
243
|
|
244
|
+
var autoRefreshTimerRef = (0, _react.useRef)(); // 获取header高度,用作全屏吸底吸顶高度计算
|
245
|
+
|
237
246
|
var getHeaderHeight = function getHeaderHeight() {
|
238
247
|
var _tableDom$getElements, _tableDom$getElements2;
|
239
248
|
|
@@ -253,30 +262,30 @@ var ProTable = function ProTable(props) {
|
|
253
262
|
}; // header 区域高度。用作全屏计算吸顶吸底高度。默认不做计算
|
254
263
|
|
255
264
|
|
256
|
-
var
|
257
|
-
_useState18 = _slicedToArray(_useState17, 2),
|
258
|
-
headerHeight = _useState18[0],
|
259
|
-
setHeaderHeight = _useState18[1]; // 全屏显示 className
|
260
|
-
|
261
|
-
|
262
|
-
var _useState19 = (0, _react.useState)(false),
|
265
|
+
var _useState19 = (0, _react.useState)(0),
|
263
266
|
_useState20 = _slicedToArray(_useState19, 2),
|
264
|
-
|
265
|
-
|
267
|
+
headerHeight = _useState20[0],
|
268
|
+
setHeaderHeight = _useState20[1]; // 全屏显示 className
|
266
269
|
|
267
270
|
|
268
|
-
var _useState21 = (0, _react.useState)(),
|
271
|
+
var _useState21 = (0, _react.useState)(false),
|
269
272
|
_useState22 = _slicedToArray(_useState21, 2),
|
270
|
-
|
271
|
-
|
273
|
+
fullscreenState = _useState22[0],
|
274
|
+
setFullscreenState = _useState22[1]; // 父元素位置。用作非全屏模式下的吸底
|
275
|
+
|
276
|
+
|
277
|
+
var _useState23 = (0, _react.useState)(),
|
278
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
279
|
+
parentPosition = _useState24[0],
|
280
|
+
setParentPosition = _useState24[1];
|
272
281
|
/** 筛选区域 form */
|
273
282
|
|
274
283
|
|
275
284
|
var dataFilterForm = (0, _react.useMemo)(function () {
|
276
285
|
return (0, _form.createForm)();
|
277
286
|
}, []); // 获取表格大小
|
278
|
-
|
279
|
-
|
287
|
+
// const tableSize = useSize(tableRef);
|
288
|
+
// 获取父元素位置
|
280
289
|
|
281
290
|
var getParentPosition = function getParentPosition() {
|
282
291
|
// 暂时仅支持使用全家桶
|
@@ -290,12 +299,12 @@ var ProTable = function ProTable(props) {
|
|
290
299
|
});
|
291
300
|
}
|
292
301
|
}; // 监听表格大小动态改变吸底footer大小
|
302
|
+
// useEffect(() => {
|
303
|
+
// getParentPosition();
|
304
|
+
// }, [tableSize]);
|
305
|
+
// rowSelection 相关
|
293
306
|
|
294
307
|
|
295
|
-
(0, _react.useEffect)(function () {
|
296
|
-
getParentPosition();
|
297
|
-
}, [tableSize]); // rowSelection 相关
|
298
|
-
|
299
308
|
var rowSelectionHook = (0, _useTableSelection.default)(_objectSpread(_objectSpread({}, propsRowSelection), {}, {
|
300
309
|
onChange: onChangeRowSelection
|
301
310
|
}), primaryKey);
|
@@ -407,6 +416,25 @@ var ProTable = function ProTable(props) {
|
|
407
416
|
|
408
417
|
if (propsActionRef) {
|
409
418
|
propsActionRef.current = actionRef.current;
|
419
|
+
}
|
420
|
+
|
421
|
+
function onFormatResult(next) {
|
422
|
+
var _next$data;
|
423
|
+
|
424
|
+
props.onFormatResult && props.onFormatResult(next);
|
425
|
+
var time = autoRefresh ? autoRefresh(next.data) : false;
|
426
|
+
|
427
|
+
if (Number.isInteger(time) && time >= 1000) {
|
428
|
+
autoRefreshTimerRef.current = setTimeout(function () {
|
429
|
+
// 自动刷新不显示 loading
|
430
|
+
_request({}, true);
|
431
|
+
}, Number(time));
|
432
|
+
} // 设置 dataSource、total
|
433
|
+
|
434
|
+
|
435
|
+
setData(next.data || []);
|
436
|
+
setTotal(next.total || ((_next$data = next.data) === null || _next$data === void 0 ? void 0 : _next$data.length));
|
437
|
+
setShowSkeleton(false);
|
410
438
|
} // 请求表格数据工具函数
|
411
439
|
|
412
440
|
|
@@ -437,16 +465,6 @@ var ProTable = function ProTable(props) {
|
|
437
465
|
}
|
438
466
|
}
|
439
467
|
|
440
|
-
function onFormatResult(next) {
|
441
|
-
var _next$data;
|
442
|
-
|
443
|
-
props.onFormatResult && props.onFormatResult(next); // 设置 dataSource、total
|
444
|
-
|
445
|
-
setData(next.data || []);
|
446
|
-
setTotal(next.total || ((_next$data = next.data) === null || _next$data === void 0 ? void 0 : _next$data.length));
|
447
|
-
setShowSkeleton(false);
|
448
|
-
}
|
449
|
-
|
450
468
|
if (nextData instanceof Promise) {
|
451
469
|
nextData.then(function (res) {
|
452
470
|
onFormatResult(res);
|
@@ -468,10 +486,12 @@ var ProTable = function ProTable(props) {
|
|
468
486
|
}
|
469
487
|
}); // 请求函数
|
470
488
|
|
471
|
-
function _request(params) {
|
489
|
+
function _request(params, noLoading) {
|
472
490
|
var _actionRef$current, _actionRef$current$se, _objectSpread2;
|
473
491
|
|
474
|
-
|
492
|
+
var nextShowLoading = !noLoading;
|
493
|
+
nextShowLoading !== showLoading && setShowLoading(nextShowLoading); // 请求前需要优先清空列过滤条件
|
494
|
+
|
475
495
|
(_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setFilterRules) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, {});
|
476
496
|
var sortParams = targetFormatSort(sort); // 筛选区请求参数
|
477
497
|
|
@@ -480,7 +500,11 @@ var ProTable = function ProTable(props) {
|
|
480
500
|
var requestData = formatParams(_objectSpread(_objectSpread({}, !showPagination ? _objectSpread(_objectSpread(_objectSpread({}, dataFilterParams), propsParams), sortParams) : _objectSpread(_objectSpread(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, targetPageKey, currentPage), _defineProperty(_objectSpread2, targetPageSizeKey, pageSize), _objectSpread2), dataFilterParams), propsParams), sortParams)), params));
|
481
501
|
|
482
502
|
if (requestData) {
|
483
|
-
|
503
|
+
if (autoRefreshTimerRef.current) {
|
504
|
+
clearTimeout(autoRefreshTimerRef.current);
|
505
|
+
autoRefreshTimerRef.current = null;
|
506
|
+
}
|
507
|
+
|
484
508
|
getData.run(requestData);
|
485
509
|
}
|
486
510
|
}
|
@@ -489,6 +513,12 @@ var ProTable = function ProTable(props) {
|
|
489
513
|
if (requestWhenMount) {
|
490
514
|
_request();
|
491
515
|
}
|
516
|
+
|
517
|
+
return function () {
|
518
|
+
if (autoRefreshTimerRef.current) {
|
519
|
+
clearTimeout(autoRefreshTimerRef.current);
|
520
|
+
}
|
521
|
+
};
|
492
522
|
}, []);
|
493
523
|
|
494
524
|
function onSort(dataIndex, order) {
|
@@ -534,7 +564,7 @@ var ProTable = function ProTable(props) {
|
|
534
564
|
hasBorder: false,
|
535
565
|
dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
|
536
566
|
columns: (0, _genProColumnToColumn.default)(filteredColumns, showSkeleton, actionRef),
|
537
|
-
loading: !showSkeleton && (getData.loading || props.loading),
|
567
|
+
loading: showLoading && !showSkeleton && (getData.loading || props.loading),
|
538
568
|
className: (0, _classnames.default)('teamix-pro-table', tableClassName, {
|
539
569
|
'with-row-select': rowSelection
|
540
570
|
}),
|
package/lib/table/typing.d.ts
CHANGED
@@ -103,8 +103,10 @@ export declare type ProTableProps = {
|
|
103
103
|
skeletonSize?: number;
|
104
104
|
/** 表格主题 className */
|
105
105
|
tableClassName?: string;
|
106
|
-
/** 非全屏模式下是否吸底 默认状态下取用 ProPageContainer 作为参照物。如果传入了Dom,则取用Dom作为参照物 */
|
106
|
+
/** 非全屏模式下是否吸底 默认状态下取用 ProPageContainer 作为参照物。如果传入了 Dom,则取用 Dom 作为参照物 */
|
107
107
|
footerSuction?: boolean | Element;
|
108
|
+
/** 当满足条件时开启自动刷新,返回值为自动刷新间隔时间,如果返回 0 或 false 则停止自动刷新,每次触发翻页、搜索都将重置时间 */
|
109
|
+
autoRefresh?: (dataSource: any[]) => number | boolean;
|
108
110
|
} & Omit<TableProps, 'columns'> & ProTableTopAreaProps;
|
109
111
|
export declare type rowSelectionType = {
|
110
112
|
getProps?: (record: any, index: number) => any;
|