@teamix/pro 1.2.20 → 1.2.24
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/pro.css +1 -1
- package/dist/pro.js +2138 -568
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/dialog.js +13 -23
- package/es/actions/index.d.ts +10 -0
- package/es/actions/index.js +11 -16
- package/es/form/Components/LightFilter/componentMap.js +2 -1
- package/es/form/Components/LightFilter/index.js +15 -3
- package/es/form/Components/SelectTable/index.d.ts +24 -0
- package/es/form/Components/SelectTable/index.js +135 -0
- package/es/form/Components/SelectTable/index.scss +28 -0
- package/es/form/Components/SelectTable/table.d.ts +6 -0
- package/es/form/Components/SelectTable/table.js +64 -0
- package/es/form/Filter/AdvancedFilter.js +1 -0
- package/es/form/Filter/index2.js +8 -8
- package/es/form/ProForm/index.js +5 -4
- package/es/form/ProForm/index.scss +37 -6
- package/es/form/ProForm/useFormDisplayValues.js +4 -2
- package/es/form/SchemaForm/index.js +16 -10
- package/es/form/SchemaForm/initializeDataSource.d.ts +2 -2
- package/es/form/SchemaForm/initializeDataSource.js +4 -9
- package/es/form/SchemaForm/initializeRequest.d.ts +2 -2
- package/es/form/SchemaForm/initializeRequest.js +4 -10
- package/es/form/SchemaForm/initializeRules.d.ts +7 -1
- package/es/form/SchemaForm/initializeRules.js +9 -13
- package/es/form/SchemaForm/reactions.d.ts +5 -5
- package/es/form/SchemaForm/reactions.js +27 -29
- package/es/form/global.scss +1 -0
- package/es/form/typing.d.ts +10 -1
- package/es/form/utils.d.ts +8 -7
- package/es/form/utils.js +5 -4
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/table/components/Filter/index.js +1 -0
- package/es/table/components/Layout/index.js +22 -12
- package/es/table/components/Pagination/index.d.ts +5 -1
- package/es/table/components/Pagination/index.js +179 -17
- package/es/table/components/Pagination/index.scss +55 -0
- package/es/table/components/ToolBar/FilterColumnIcon.js +24 -3
- package/es/table/components/ToolBar/index.scss +9 -4
- package/es/table/index.js +79 -26
- package/es/table/index.scss +5 -5
- package/es/table/typing.d.ts +9 -9
- package/es/table/utils/columnRender.js +2 -1
- package/es/table/utils/index.d.ts +7 -0
- package/es/table/utils/index.js +38 -4
- package/lib/actions/dialog.js +12 -22
- package/lib/actions/index.d.ts +10 -0
- package/lib/actions/index.js +11 -16
- package/lib/form/Components/LightFilter/componentMap.js +2 -1
- package/lib/form/Components/LightFilter/index.js +14 -3
- package/lib/form/Components/SelectTable/index.d.ts +24 -0
- package/lib/form/Components/SelectTable/index.js +157 -0
- package/lib/form/Components/SelectTable/index.scss +28 -0
- package/lib/form/Components/SelectTable/table.d.ts +6 -0
- package/lib/form/Components/SelectTable/table.js +76 -0
- package/lib/form/Filter/AdvancedFilter.js +1 -0
- package/lib/form/Filter/index2.js +9 -8
- package/lib/form/ProForm/index.js +5 -5
- package/lib/form/ProForm/index.scss +37 -6
- package/lib/form/ProForm/useFormDisplayValues.js +3 -1
- package/lib/form/SchemaForm/index.js +16 -9
- package/lib/form/SchemaForm/initializeDataSource.d.ts +2 -2
- package/lib/form/SchemaForm/initializeDataSource.js +4 -11
- package/lib/form/SchemaForm/initializeRequest.d.ts +2 -2
- package/lib/form/SchemaForm/initializeRequest.js +4 -11
- package/lib/form/SchemaForm/initializeRules.d.ts +7 -1
- package/lib/form/SchemaForm/initializeRules.js +9 -16
- package/lib/form/SchemaForm/reactions.d.ts +5 -5
- package/lib/form/SchemaForm/reactions.js +29 -31
- package/lib/form/global.scss +1 -0
- package/lib/form/typing.d.ts +10 -1
- package/lib/form/utils.d.ts +8 -7
- package/lib/form/utils.js +6 -5
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/table/components/Layout/index.js +21 -11
- package/lib/table/components/Pagination/index.d.ts +5 -1
- package/lib/table/components/Pagination/index.js +186 -17
- package/lib/table/components/Pagination/index.scss +55 -0
- package/lib/table/components/ToolBar/FilterColumnIcon.js +23 -2
- package/lib/table/components/ToolBar/index.scss +9 -4
- package/lib/table/index.js +79 -24
- package/lib/table/index.scss +5 -5
- package/lib/table/typing.d.ts +9 -9
- package/lib/table/utils/columnRender.js +2 -1
- package/lib/table/utils/index.d.ts +7 -0
- package/lib/table/utils/index.js +46 -4
- package/package.json +1 -1
package/es/actions/dialog.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["url", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError"],
|
1
|
+
var _excluded = ["trigger", "url", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError"],
|
2
2
|
_excluded2 = ["title", "content", "component", "schema", "onFinish", "dialogType", "dialogQuickShowType", "messageType", "popType", "beforeRequest", "onTrigger", "link", "beforeContent", "afterContent", "message", "footerDescription", "footerAlign", "className"];
|
3
3
|
|
4
4
|
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; }
|
@@ -32,7 +32,7 @@ import classnames from 'classnames';
|
|
32
32
|
import { useHistory } from 'react-router-dom';
|
33
33
|
import { Dialog, Drawer } from '@alicloudfe/components';
|
34
34
|
import PopConfirm from '@teamix/pop-confirm';
|
35
|
-
import { getTargetValue, uuid,
|
35
|
+
import { getTargetValue, uuid, getMessage } from '@teamix/utils';
|
36
36
|
import ProForm, { createForm } from '../form';
|
37
37
|
import { renderProMessage } from '../utils/message';
|
38
38
|
import { eventHandler } from './base';
|
@@ -81,7 +81,8 @@ export function useDialogAction(action, actionContext) {
|
|
81
81
|
var onActionStart = function onActionStart(context, e) {
|
82
82
|
var _objectSpread2;
|
83
83
|
|
84
|
-
var
|
84
|
+
var trigger = action.trigger,
|
85
|
+
url = action.url,
|
85
86
|
method = action.method,
|
86
87
|
params = action.params,
|
87
88
|
data = action.data,
|
@@ -161,45 +162,34 @@ export function useDialogAction(action, actionContext) {
|
|
161
162
|
while (1) {
|
162
163
|
switch (_context.prev = _context.next) {
|
163
164
|
case 0:
|
164
|
-
if (!link) {
|
165
|
-
_context.next = 5;
|
166
|
-
break;
|
167
|
-
}
|
168
|
-
|
169
|
-
goToLink(link, history);
|
170
|
-
onFinish && onFinish();
|
171
|
-
resolve(true);
|
172
|
-
return _context.abrupt("return");
|
173
|
-
|
174
|
-
case 5:
|
175
165
|
setLoading(true);
|
176
166
|
footerDescriptionValues = Object.assign({}, footerDescriptionRef === null || footerDescriptionRef === void 0 ? void 0 : (_footerDescriptionRef = footerDescriptionRef.current) === null || _footerDescriptionRef === void 0 ? void 0 : _footerDescriptionRef.values);
|
177
|
-
_context.prev =
|
167
|
+
_context.prev = 2;
|
178
168
|
requestContext = Object.assign({
|
179
169
|
footer: footerDescriptionValues
|
180
170
|
}, context);
|
181
|
-
_context.next =
|
171
|
+
_context.next = 6;
|
182
172
|
return doRequest(action, requestContext, history, footerDescriptionValues);
|
183
173
|
|
184
|
-
case
|
174
|
+
case 6:
|
185
175
|
onFinish && onFinish();
|
186
176
|
resolve(true);
|
187
|
-
_context.next =
|
177
|
+
_context.next = 15;
|
188
178
|
break;
|
189
179
|
|
190
|
-
case
|
191
|
-
_context.prev =
|
192
|
-
_context.t0 = _context["catch"](
|
180
|
+
case 10:
|
181
|
+
_context.prev = 10;
|
182
|
+
_context.t0 = _context["catch"](2);
|
193
183
|
setLoading(false);
|
194
184
|
resolve(false);
|
195
185
|
return _context.abrupt("return");
|
196
186
|
|
197
|
-
case
|
187
|
+
case 15:
|
198
188
|
case "end":
|
199
189
|
return _context.stop();
|
200
190
|
}
|
201
191
|
}
|
202
|
-
}, _callee, null, [[
|
192
|
+
}, _callee, null, [[2, 10]]);
|
203
193
|
}));
|
204
194
|
|
205
195
|
return function (_x) {
|
package/es/actions/index.d.ts
CHANGED
@@ -46,11 +46,21 @@ export interface ProActionMenuButtonProps extends MenuButtonProps {
|
|
46
46
|
export declare const ProActionMenuButton: (props: ProActionMenuButtonProps) => JSX.Element;
|
47
47
|
export declare type ProActionProps = ProActionButtonProps | ProActionMenuButtonProps;
|
48
48
|
export declare type ProActionGroupProps = {
|
49
|
+
/** 操作组类型:按钮、文字按钮 */
|
49
50
|
type?: 'button' | 'text';
|
51
|
+
/** 上下文 */
|
50
52
|
context?: any;
|
53
|
+
/** 操作项配置 */
|
51
54
|
actions: ProActionProps[];
|
55
|
+
/** 操作按钮最长数量,超出后折叠,默认为4 */
|
52
56
|
max?: number;
|
57
|
+
/**
|
58
|
+
* @deprecated 建议使用 more 代替
|
59
|
+
*/
|
53
60
|
moreText?: string;
|
61
|
+
/** 更多按钮的配置,只有在actions数量超过max时才有效 */
|
62
|
+
more?: string | ProActionButtonProps;
|
63
|
+
/** 是否有分割线,只有type="text"时生效,默认有分割线 */
|
54
64
|
divider?: boolean;
|
55
65
|
} & React.HTMLAttributes<HTMLElement>;
|
56
66
|
export declare function ProActionGroup(props: ProActionGroupProps): JSX.Element;
|
package/es/actions/index.js
CHANGED
@@ -5,7 +5,7 @@ var _excluded = ["type"],
|
|
5
5
|
_excluded5 = ["context", "text"],
|
6
6
|
_excluded6 = ["key", "actions"],
|
7
7
|
_excluded7 = ["key", "config"],
|
8
|
-
_excluded8 = ["type", "divider", "max", "moreText", "context", "actions", "className"];
|
8
|
+
_excluded8 = ["type", "divider", "max", "moreText", "more", "context", "actions", "className"];
|
9
9
|
|
10
10
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
11
11
|
|
@@ -287,25 +287,19 @@ function renderCommonActionButton(button, context, isTypeText) {
|
|
287
287
|
return /*#__PURE__*/React.createElement(ProActionMenuButton, _objectSpread({}, buttonProps));
|
288
288
|
}
|
289
289
|
|
290
|
-
function getDefaultMoreButton(type,
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
if (moreText) {
|
298
|
-
return {
|
299
|
-
label: moreText
|
300
|
-
};
|
301
|
-
}
|
302
|
-
|
303
|
-
return {
|
290
|
+
function getDefaultMoreButton(type, more) {
|
291
|
+
var moreConfig = typeof more === 'string' ? {
|
292
|
+
children: more
|
293
|
+
} : more;
|
294
|
+
var defaultConfig = type === 'button' ? {
|
295
|
+
children: getMessage('more')
|
296
|
+
} : {
|
304
297
|
icon: 'more-line',
|
305
298
|
// iconSize: 'small',
|
306
299
|
autoWidth: false,
|
307
300
|
className: 'teamix-pro-actions-text-menu-btn-no-arrow'
|
308
301
|
};
|
302
|
+
return Object.assign(defaultConfig, moreConfig);
|
309
303
|
}
|
310
304
|
|
311
305
|
var MAX_ACTTIONS = 4;
|
@@ -350,6 +344,7 @@ export function ProActionGroup(props) {
|
|
350
344
|
_props$max = props.max,
|
351
345
|
max = _props$max === void 0 ? MAX_ACTTIONS : _props$max,
|
352
346
|
moreText = props.moreText,
|
347
|
+
more = props.more,
|
353
348
|
context = props.context,
|
354
349
|
_props$actions = props.actions,
|
355
350
|
actions = _props$actions === void 0 ? [] : _props$actions,
|
@@ -362,7 +357,7 @@ export function ProActionGroup(props) {
|
|
362
357
|
}).filter(function (action) {
|
363
358
|
return action.visible !== false;
|
364
359
|
});
|
365
|
-
var formatedActions = formatGroupActions(filteredActions, max, getDefaultMoreButton(type, moreText));
|
360
|
+
var formatedActions = formatGroupActions(filteredActions, max, getDefaultMoreButton(type, more || moreText));
|
366
361
|
return /*#__PURE__*/React.createElement("div", _objectSpread({
|
367
362
|
className: cls('teamix-pro-actions', "teamix-pro-actions-type-".concat(type), className, {
|
368
363
|
'teamix-pro-actions-divider': type === 'button' ? false : divider
|
@@ -23,19 +23,31 @@ import TeamixIcon from '@teamix/icon';
|
|
23
23
|
import cls from 'classnames';
|
24
24
|
import { usePrefixCls } from '@teamix/utils';
|
25
25
|
import { componentMap, inputCategory } from './componentMap';
|
26
|
-
import './index.scss';
|
26
|
+
import './index.scss';
|
27
|
+
|
28
|
+
var formatComponent = function formatComponent(schema) {
|
29
|
+
var _schema$enum;
|
30
|
+
|
31
|
+
var component = schema['x-component'];
|
32
|
+
|
33
|
+
if (component === 'Checkbox' && ((_schema$enum = schema['enum']) === null || _schema$enum === void 0 ? void 0 : _schema$enum.length)) {
|
34
|
+
component = 'CheckboxGroup';
|
35
|
+
}
|
36
|
+
|
37
|
+
return componentMap[component] || component;
|
38
|
+
}; // 主激活区内容
|
39
|
+
|
27
40
|
|
28
41
|
var useMain = function useMain(active) {
|
29
42
|
var schema = useFieldSchema();
|
30
43
|
var main = [];
|
31
44
|
schema.mapProperties(function (schema, name) {
|
32
|
-
// console.log(schema.required); // 添加 *
|
33
45
|
if (schema.name === active) {
|
34
46
|
main.push({
|
35
47
|
name: name,
|
36
48
|
schema: _objectSpread(_objectSpread({}, schema), {}, {
|
37
49
|
title: '',
|
38
|
-
'x-component':
|
50
|
+
'x-component': formatComponent(schema)
|
39
51
|
})
|
40
52
|
});
|
41
53
|
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { TableProps, ColumnProps } from '@alifd/next/types/table';
|
3
|
+
import './index.scss';
|
4
|
+
declare type ISelectTableFilterOption = boolean | ((optipn: any, kewword: string) => boolean);
|
5
|
+
declare type ISelectTableFilterSort = (optionA: any, optionB: any) => number;
|
6
|
+
export interface ISelectTableColumnProps extends ColumnProps {
|
7
|
+
key: React.ReactText;
|
8
|
+
}
|
9
|
+
export interface ISelectTableProps extends TableProps {
|
10
|
+
mode?: 'multiple' | 'single';
|
11
|
+
dataSource?: any[];
|
12
|
+
optionAsValue?: boolean;
|
13
|
+
showSearch?: boolean;
|
14
|
+
filterOption?: ISelectTableFilterOption;
|
15
|
+
filterSort?: ISelectTableFilterSort;
|
16
|
+
onSearch?: (kekword: string) => void;
|
17
|
+
onChange?: (value: any) => void;
|
18
|
+
value?: any;
|
19
|
+
}
|
20
|
+
declare type ComposedSelectTable = React.FC<ISelectTableProps> & {
|
21
|
+
TableColumn?: React.FC<ISelectTableColumnProps>;
|
22
|
+
};
|
23
|
+
declare const SelectTable: ComposedSelectTable;
|
24
|
+
export default SelectTable;
|
@@ -0,0 +1,135 @@
|
|
1
|
+
var _excluded = ["mode", "dataSource", "optionAsValue", "showSearch", "filterOption", "filterSort", "onSearch", "className", "value", "onChange", "rowSelection"];
|
2
|
+
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
4
|
+
|
5
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
6
|
+
|
7
|
+
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); }
|
8
|
+
|
9
|
+
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; }
|
10
|
+
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
12
|
+
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
14
|
+
|
15
|
+
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; }
|
16
|
+
|
17
|
+
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; }
|
18
|
+
|
19
|
+
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; }
|
20
|
+
|
21
|
+
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; }
|
22
|
+
|
23
|
+
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; }
|
24
|
+
|
25
|
+
import React, { useEffect, useState } from 'react';
|
26
|
+
import { Table, Search } from '@alicloudfe/components';
|
27
|
+
import { observer, useFieldSchema } from '@formily/react';
|
28
|
+
import cls from 'classnames';
|
29
|
+
import { isArr } from '@formily/shared';
|
30
|
+
import { usePrefixCls } from '@teamix/utils';
|
31
|
+
import './index.scss';
|
32
|
+
|
33
|
+
var useColumns = function useColumns() {
|
34
|
+
var schema = useFieldSchema();
|
35
|
+
var columns = [];
|
36
|
+
schema.mapProperties(function (schema, name) {
|
37
|
+
var _schema$xComponent;
|
38
|
+
|
39
|
+
if (((_schema$xComponent = schema['x-component']) === null || _schema$xComponent === void 0 ? void 0 : _schema$xComponent.indexOf('Column')) > -1) {
|
40
|
+
var props = schema === null || schema === void 0 ? void 0 : schema['x-component-props'];
|
41
|
+
columns.push({
|
42
|
+
name: name,
|
43
|
+
props: _objectSpread(_objectSpread({}, props), {}, {
|
44
|
+
title: (props === null || props === void 0 ? void 0 : props.title) || (schema === null || schema === void 0 ? void 0 : schema.title),
|
45
|
+
dataIndex: (props === null || props === void 0 ? void 0 : props.dataIndex) || name
|
46
|
+
}),
|
47
|
+
schema: schema
|
48
|
+
});
|
49
|
+
}
|
50
|
+
});
|
51
|
+
return columns;
|
52
|
+
};
|
53
|
+
|
54
|
+
var SelectTable = observer(function (props) {
|
55
|
+
var mode = props.mode,
|
56
|
+
dataSource = props.dataSource,
|
57
|
+
optionAsValue = props.optionAsValue,
|
58
|
+
showSearch = props.showSearch,
|
59
|
+
filterOption = props.filterOption,
|
60
|
+
filterSort = props.filterSort,
|
61
|
+
onSearch = props.onSearch,
|
62
|
+
className = props.className,
|
63
|
+
value = props.value,
|
64
|
+
onChange = props.onChange,
|
65
|
+
rowSelection = props.rowSelection,
|
66
|
+
otherTableProps = _objectWithoutProperties(props, _excluded);
|
67
|
+
|
68
|
+
var prefixCls = usePrefixCls('formily-selectTable', props);
|
69
|
+
|
70
|
+
var _useState = useState(),
|
71
|
+
_useState2 = _slicedToArray(_useState, 2),
|
72
|
+
selected = _useState2[0],
|
73
|
+
setSelected = _useState2[1];
|
74
|
+
|
75
|
+
var tabs = useColumns();
|
76
|
+
|
77
|
+
var expandedRowRender = function expandedRowRender(record, index) {
|
78
|
+
var children = isArr(record.children) ? record.children : [];
|
79
|
+
return /*#__PURE__*/React.createElement(Table, {
|
80
|
+
dataSource: children,
|
81
|
+
key: index
|
82
|
+
}, tabs.map(function (_ref, key) {
|
83
|
+
var props = _ref.props;
|
84
|
+
return /*#__PURE__*/React.createElement(Table.Column, _objectSpread({
|
85
|
+
key: key
|
86
|
+
}, props));
|
87
|
+
}));
|
88
|
+
};
|
89
|
+
|
90
|
+
var onInnerChange = function onInnerChange(selectedRowKeys, records) {
|
91
|
+
var outputValue = optionAsValue ? records : selectedRowKeys;
|
92
|
+
outputValue = mode === 'single' ? outputValue[0] : outputValue;
|
93
|
+
onChange && onChange(outputValue);
|
94
|
+
};
|
95
|
+
|
96
|
+
useEffect(function () {
|
97
|
+
var primaryKey = props.primaryKey;
|
98
|
+
var inputValue = mode === 'single' ? [value] : isArr(value) ? value : [];
|
99
|
+
inputValue = optionAsValue ? inputValue.map(function (v) {
|
100
|
+
return v === null || v === void 0 ? void 0 : v[primaryKey];
|
101
|
+
}) : inputValue;
|
102
|
+
setSelected(inputValue);
|
103
|
+
}, [value, mode]);
|
104
|
+
return /*#__PURE__*/React.createElement("div", {
|
105
|
+
className: cls(prefixCls, props.className)
|
106
|
+
}, showSearch ? /*#__PURE__*/React.createElement(Search, {
|
107
|
+
className: "".concat(prefixCls, "-search"),
|
108
|
+
onSearch: console.log
|
109
|
+
}) : null, /*#__PURE__*/React.createElement(Table, _objectSpread({
|
110
|
+
className: "".concat(prefixCls, "-table"),
|
111
|
+
dataSource: dataSource,
|
112
|
+
rowSelection: _objectSpread(_objectSpread({}, rowSelection), {}, {
|
113
|
+
mode: mode,
|
114
|
+
onChange: onInnerChange,
|
115
|
+
selectedRowKeys: selected
|
116
|
+
})
|
117
|
+
}, otherTableProps), tabs.map(function (_ref2, key) {
|
118
|
+
var props = _ref2.props;
|
119
|
+
return /*#__PURE__*/React.createElement(Table.Column, _objectSpread({
|
120
|
+
key: key
|
121
|
+
}, props));
|
122
|
+
})));
|
123
|
+
});
|
124
|
+
|
125
|
+
var TableColumn = function TableColumn(_ref3) {
|
126
|
+
var children = _ref3.children;
|
127
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
128
|
+
};
|
129
|
+
|
130
|
+
SelectTable.TableColumn = TableColumn;
|
131
|
+
SelectTable.defaultProps = {
|
132
|
+
showSearch: false,
|
133
|
+
primaryKey: 'key'
|
134
|
+
};
|
135
|
+
export default SelectTable;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
@import '../../global.scss';
|
2
|
+
|
3
|
+
$selectTable: #{$css-prefix}formily-selectTable;
|
4
|
+
|
5
|
+
.#{$selectTable} {
|
6
|
+
.#{$selectTable}-search {
|
7
|
+
margin-bottom: 8px;
|
8
|
+
}
|
9
|
+
.#{$selectTable}-table {
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
.next-table-row-nochildren {
|
14
|
+
> .next-table-expanded {
|
15
|
+
> * {
|
16
|
+
visibility: hidden;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
20
|
+
.next-table-expanded-row {
|
21
|
+
.next-table-body {
|
22
|
+
> tr:last-child {
|
23
|
+
> td {
|
24
|
+
border-bottom: 0;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
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; }
|
2
|
+
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
4
|
+
|
5
|
+
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; }
|
6
|
+
|
7
|
+
import React from 'React';
|
8
|
+
import { Table as NextTable } from '@alicloudfe/components';
|
9
|
+
import './index.scss';
|
10
|
+
|
11
|
+
var Table = function Table(props) {
|
12
|
+
var onChange = function onChange(selectedRowKeys, records) {
|
13
|
+
console.log(selectedRowKeys);
|
14
|
+
};
|
15
|
+
|
16
|
+
var onSelect = function onSelect() {};
|
17
|
+
|
18
|
+
var onSelectAll = function onSelectAll() {};
|
19
|
+
|
20
|
+
var rowProps = function rowProps(record) {
|
21
|
+
var _record$children;
|
22
|
+
|
23
|
+
if (!(record === null || record === void 0 ? void 0 : (_record$children = record.children) === null || _record$children === void 0 ? void 0 : _record$children.length)) {
|
24
|
+
return {// className: 'next-table-row-nochildren',
|
25
|
+
};
|
26
|
+
}
|
27
|
+
|
28
|
+
return {};
|
29
|
+
};
|
30
|
+
|
31
|
+
var expandedRowRender = function expandedRowRender(record, index) {
|
32
|
+
var children = record.children;
|
33
|
+
|
34
|
+
if (children === null || children === void 0 ? void 0 : children.length) {
|
35
|
+
return React.createElement(Table, _objectSpread(_objectSpread({}, props), {}, {
|
36
|
+
key: index,
|
37
|
+
dataSource: children,
|
38
|
+
hasHeader: false,
|
39
|
+
hasBorder: false,
|
40
|
+
rowProps: rowProps,
|
41
|
+
rowSelection: {
|
42
|
+
onChange: onChange
|
43
|
+
},
|
44
|
+
expandedRowRender: expandedRowRender,
|
45
|
+
expandedRowIndent: [1, 0]
|
46
|
+
}));
|
47
|
+
}
|
48
|
+
|
49
|
+
return React.createElement(React.Fragment, null);
|
50
|
+
};
|
51
|
+
|
52
|
+
return React.createElement(NextTable, _objectSpread(_objectSpread({}, props), {}, {
|
53
|
+
rowProps: rowProps,
|
54
|
+
rowSelection: {
|
55
|
+
onChange: onChange,
|
56
|
+
onSelectAll: onSelectAll,
|
57
|
+
onSelect: onSelect
|
58
|
+
},
|
59
|
+
expandedRowRender: expandedRowRender,
|
60
|
+
expandedRowIndent: [1, 0]
|
61
|
+
}));
|
62
|
+
};
|
63
|
+
|
64
|
+
export default Table;
|
package/es/form/Filter/index2.js
CHANGED
@@ -39,6 +39,7 @@ import { getFormDisplayValues } from '../ProForm/useFormDisplayValues';
|
|
39
39
|
import SimpleFilter from './SimpleFilter';
|
40
40
|
import LightFilter from './LightFilter';
|
41
41
|
import AdvancedFilter from './AdvancedFilter';
|
42
|
+
import debounce from 'lodash.debounce';
|
42
43
|
import './index2.scss'; // 获取Schema是否包含默认值、异步默认值、必选校验等
|
43
44
|
|
44
45
|
var getSpecialProps = function getSpecialProps(props) {
|
@@ -162,6 +163,10 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
162
163
|
onFormReact(function (form) {
|
163
164
|
_onFormInit(form, props, configFilterItem);
|
164
165
|
});
|
166
|
+
onFormInputChange(function (form) {
|
167
|
+
// 主动修改高级筛选值
|
168
|
+
setCurrentForm('advanced');
|
169
|
+
});
|
165
170
|
}
|
166
171
|
});
|
167
172
|
}, []);
|
@@ -304,11 +309,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
304
309
|
return function (_x2) {
|
305
310
|
return _ref5.apply(this, arguments);
|
306
311
|
};
|
307
|
-
}(), [onFilter, currentForm.current]); //
|
308
|
-
|
309
|
-
var onAdvancedChange = useCallback(function () {
|
310
|
-
setCurrentForm('advanced');
|
311
|
-
}, []); // 高级搜索Filter
|
312
|
+
}(), [onFilter, currentForm.current]); // 高级搜索Filter
|
312
313
|
|
313
314
|
var onAdvancedFilter = useCallback(function (values) {
|
314
315
|
setCurrentForm('advanced');
|
@@ -353,7 +354,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
353
354
|
}, /*#__PURE__*/React.createElement(LightFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
354
355
|
defaultFilterValue: defaultFilterValue,
|
355
356
|
form: lightForm,
|
356
|
-
onChange: onLightFilter
|
357
|
+
onChange: debounce(onLightFilter, 300)
|
357
358
|
}))), /*#__PURE__*/React.createElement("div", {
|
358
359
|
className: "".concat(prefixCls, "-toggle")
|
359
360
|
}, /*#__PURE__*/React.createElement(Badge, {
|
@@ -374,7 +375,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
374
375
|
className: "".concat(prefixCls, "-inline-form")
|
375
376
|
}, /*#__PURE__*/React.createElement(SimpleFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
376
377
|
form: simpleForm,
|
377
|
-
onChange: onSimpleFilter,
|
378
|
+
onChange: debounce(onSimpleFilter, 300),
|
378
379
|
onSubmit: onSimpleFilter
|
379
380
|
})))), addonAfter ? /*#__PURE__*/React.createElement("div", {
|
380
381
|
className: "".concat(prefixCls, "-addonAfter")
|
@@ -407,7 +408,6 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
407
408
|
onComplete: onInitialRequestComplete
|
408
409
|
}) : undefined,
|
409
410
|
form: advancedForm,
|
410
|
-
onChange: onAdvancedChange,
|
411
411
|
onSubmit: onAdvancedFilter,
|
412
412
|
onReset: onAdvancedReset
|
413
413
|
})))) : null);
|
package/es/form/ProForm/index.js
CHANGED
@@ -21,7 +21,6 @@ import { mergeArrayValue } from '../utils';
|
|
21
21
|
import useAutoSubmit from './useAutoSubmit';
|
22
22
|
import useInitialRequest from './useInitialRequest';
|
23
23
|
import validateLocale from '../locales/validate';
|
24
|
-
import debounce from 'lodash.debounce';
|
25
24
|
import './index.scss';
|
26
25
|
registerValidateLocale(validateLocale);
|
27
26
|
var ProForm = /*#__PURE__*/memo(function (_ref) {
|
@@ -81,9 +80,11 @@ var ProForm = /*#__PURE__*/memo(function (_ref) {
|
|
81
80
|
useEffect(function () {
|
82
81
|
form.removeEffects('onFieldValueChange');
|
83
82
|
form.addEffects('onFieldValueChange', function () {
|
84
|
-
onFieldValueChange('*',
|
85
|
-
|
86
|
-
|
83
|
+
onFieldValueChange('*', function (field, form) {
|
84
|
+
var _field$props;
|
85
|
+
|
86
|
+
onChange && onChange(toJS(form.values), toJS(field.value), (_field$props = field.props) === null || _field$props === void 0 ? void 0 : _field$props.name);
|
87
|
+
});
|
87
88
|
});
|
88
89
|
}, [form, onChange]); // 配置表单默认值
|
89
90
|
|
@@ -186,13 +186,13 @@
|
|
186
186
|
}
|
187
187
|
|
188
188
|
// 数组类组件添加按钮
|
189
|
-
.#{$
|
189
|
+
.#{$form-array}-base-addition {
|
190
190
|
.#{$css-prefix}formily-icon {
|
191
191
|
margin-right: 4px;
|
192
192
|
}
|
193
193
|
}
|
194
194
|
// 数组类ArrayItem Icon 居中
|
195
|
-
.#{$
|
195
|
+
.#{$form-array}-items-item-inner {
|
196
196
|
> .#{$css-prefix}box {
|
197
197
|
> .#{$css-prefix}space-item {
|
198
198
|
> .#{$css-prefix}formily-icon {
|
@@ -209,7 +209,7 @@
|
|
209
209
|
|
210
210
|
// 折叠面板
|
211
211
|
.#{$css-prefix}formily-collapse,
|
212
|
-
.#{$
|
212
|
+
.#{$form-array}-collapse-item {
|
213
213
|
.#{$css-prefix}collapse-panel-hidden {
|
214
214
|
.#{$css-prefix}collapse-panel-content {
|
215
215
|
padding-top: 4px;
|
@@ -261,7 +261,7 @@
|
|
261
261
|
}
|
262
262
|
|
263
263
|
// ArrayItems
|
264
|
-
.#{$
|
264
|
+
.#{$form-array}-items {
|
265
265
|
.#{$css-prefix}formily-grid-layout {
|
266
266
|
> div:last-child {
|
267
267
|
display: flex;
|
@@ -269,8 +269,39 @@
|
|
269
269
|
align-items: center;
|
270
270
|
}
|
271
271
|
}
|
272
|
-
|
273
|
-
|
272
|
+
}
|
273
|
+
.#{$form-array}-base-remove,
|
274
|
+
.#{$form-array}-base-addition,
|
275
|
+
.#{$form-array}-base-move-down,
|
276
|
+
.#{$form-array}-base-move-up,
|
277
|
+
.#{$form-array}-base-sort-handle,
|
278
|
+
.form-array-base-icon {
|
279
|
+
color: var(--color-fill1-6, #848484);
|
280
|
+
&:hover {
|
281
|
+
color: var(--color-brand1-6, #0064c8);
|
282
|
+
}
|
283
|
+
}
|
284
|
+
.form-array-base-icon {
|
285
|
+
cursor: pointer;
|
286
|
+
}
|
287
|
+
|
288
|
+
// ArrayCard
|
289
|
+
.#{$form-array}-cards-item {
|
290
|
+
.#{$css-prefix}card-head {
|
291
|
+
padding: 16px 20px;
|
292
|
+
background-color: var(--color-fill1-2, #f7f7f7);
|
293
|
+
.#{$css-prefix}card-head-main {
|
294
|
+
margin-top: 0;
|
295
|
+
border-bottom: 0;
|
296
|
+
height: 22px;
|
297
|
+
line-height: 22px;
|
298
|
+
.#{$css-prefix}card-title {
|
299
|
+
padding-left: 0;
|
300
|
+
&::before {
|
301
|
+
display: none;
|
302
|
+
}
|
303
|
+
}
|
304
|
+
}
|
274
305
|
}
|
275
306
|
}
|
276
307
|
|
@@ -12,7 +12,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
12
|
|
13
13
|
import { useForm } from '@formily/react';
|
14
14
|
import { toJS } from '@formily/reactive';
|
15
|
-
import { isArr, isPlainObj, getValueByValue } from '@teamix/utils';
|
15
|
+
import { isArr, isPlainObj, isSignificative, getValueByValue } from '@teamix/utils';
|
16
16
|
/**
|
17
17
|
* 获取表单值的可显示值
|
18
18
|
* @returns 如果某字段有dataSource,则返回value对应label
|
@@ -56,7 +56,9 @@ var getDisplayValues = function getDisplayValues(form, values) {
|
|
56
56
|
}; // 判断值的类型,递归获取每个值在该结构中的完整路径
|
57
57
|
|
58
58
|
|
59
|
-
if (
|
59
|
+
if (!isSignificative(values)) {
|
60
|
+
displayValues = {};
|
61
|
+
} else if (isPlainObj(values) && isLayoutValue(values)) {
|
60
62
|
// 如果值是对象且是布局对象的值
|
61
63
|
displayValues = {};
|
62
64
|
Object.entries(values).forEach(function (_ref) {
|