@teamix/pro 1.3.1 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +51673 -47273
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/dialog-form.js +8 -5
  6. package/es/actions/dialog.js +2 -4
  7. package/es/form/Components/LightFilter/index.d.ts +1 -0
  8. package/es/form/Components/LightFilter/index.js +9 -6
  9. package/es/form/Components/ProField/mapDateFormat.d.ts +3 -0
  10. package/es/form/Components/ProField/mapDateFormat.js +113 -0
  11. package/es/form/Filter/LightFilter.js +13 -3
  12. package/es/form/Filter/SimpleFilter.js +1 -1
  13. package/es/form/Filter/index.js +44 -10
  14. package/es/form/ProForm/customComponent.js +2 -1
  15. package/es/form/ProForm/useFormDisplayValues.js +2 -2
  16. package/es/form/SchemaForm/adapterDecorator.js +1 -1
  17. package/es/form/SchemaForm/adapterType.js +2 -5
  18. package/es/form/SchemaForm/index.js +29 -14
  19. package/es/form/SchemaForm/initializeDataSource.d.ts +2 -1
  20. package/es/form/SchemaForm/initializeDataSource.js +9 -3
  21. package/es/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  22. package/es/form/SchemaForm/initializeSelectTable.js +38 -0
  23. package/es/form/SchemaForm/reactions.d.ts +2 -2
  24. package/es/form/SchemaForm/reactions.js +42 -38
  25. package/es/form/fieldTypeMap.d.ts +3 -0
  26. package/es/form/fieldTypeMap.js +3 -0
  27. package/es/form/index.d.ts +2 -1
  28. package/es/form/typing.d.ts +6 -1
  29. package/es/form/utils.js +13 -4
  30. package/es/index.d.ts +1 -1
  31. package/es/index.js +1 -1
  32. package/es/info/components/baseInfo/index.scss +3 -0
  33. package/es/page-header/index.d.ts +3 -1
  34. package/es/page-header/index.js +12 -3
  35. package/es/table/components/ToolBar/DensityIcon.js +5 -3
  36. package/es/table/components/ToolBar/FilterColumnIcon.js +12 -3
  37. package/es/table/components/ToolBar/index.scss +3 -3
  38. package/es/table/index.js +8 -4
  39. package/es/table/index.scss +11 -1
  40. package/es/table/typing.d.ts +4 -0
  41. package/es/table/utils/columnRender.js +6 -0
  42. package/lib/actions/dialog-form.js +8 -5
  43. package/lib/actions/dialog.js +1 -3
  44. package/lib/form/Components/LightFilter/index.d.ts +1 -0
  45. package/lib/form/Components/LightFilter/index.js +9 -6
  46. package/lib/form/Components/ProField/mapDateFormat.d.ts +3 -0
  47. package/lib/form/Components/ProField/mapDateFormat.js +125 -0
  48. package/lib/form/Filter/LightFilter.js +13 -3
  49. package/lib/form/Filter/SimpleFilter.js +1 -1
  50. package/lib/form/Filter/index.js +44 -10
  51. package/lib/form/ProForm/customComponent.js +3 -1
  52. package/lib/form/ProForm/useFormDisplayValues.js +1 -1
  53. package/lib/form/SchemaForm/adapterDecorator.js +1 -1
  54. package/lib/form/SchemaForm/adapterType.js +2 -5
  55. package/lib/form/SchemaForm/index.js +30 -13
  56. package/lib/form/SchemaForm/initializeDataSource.d.ts +2 -1
  57. package/lib/form/SchemaForm/initializeDataSource.js +9 -3
  58. package/lib/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  59. package/lib/form/SchemaForm/initializeSelectTable.js +45 -0
  60. package/lib/form/SchemaForm/reactions.d.ts +2 -2
  61. package/lib/form/SchemaForm/reactions.js +42 -38
  62. package/lib/form/fieldTypeMap.d.ts +3 -0
  63. package/lib/form/fieldTypeMap.js +5 -1
  64. package/lib/form/index.d.ts +2 -1
  65. package/lib/form/typing.d.ts +6 -1
  66. package/lib/form/utils.js +13 -4
  67. package/lib/index.d.ts +1 -1
  68. package/lib/index.js +1 -1
  69. package/lib/info/components/baseInfo/index.scss +3 -0
  70. package/lib/page-header/index.d.ts +3 -1
  71. package/lib/page-header/index.js +11 -2
  72. package/lib/table/components/ToolBar/DensityIcon.js +5 -3
  73. package/lib/table/components/ToolBar/FilterColumnIcon.js +11 -2
  74. package/lib/table/components/ToolBar/index.scss +3 -3
  75. package/lib/table/index.js +8 -4
  76. package/lib/table/index.scss +11 -1
  77. package/lib/table/typing.d.ts +4 -0
  78. package/lib/table/utils/columnRender.js +6 -0
  79. package/package.json +4 -4
@@ -0,0 +1,38 @@
1
+ var _excluded = ["name", "title", "children"];
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
+ var initializeTableColumn = function initializeTableColumn(item) {
14
+ var name = item.name,
15
+ title = item.title,
16
+ children = item.children,
17
+ otherProps = _objectWithoutProperties(item, _excluded);
18
+
19
+ return {
20
+ name: name,
21
+ title: title,
22
+ component: 'SelectTable.Column',
23
+ children: children,
24
+ props: _objectSpread({}, otherProps)
25
+ };
26
+ };
27
+
28
+ var initialize = function initialize(item) {
29
+ var _item$children = item.children,
30
+ children = _item$children === void 0 ? [] : _item$children;
31
+ return _objectSpread(_objectSpread({}, item), {}, {
32
+ children: children.map(function (item) {
33
+ return initializeTableColumn(item);
34
+ })
35
+ });
36
+ };
37
+
38
+ export default initialize;
@@ -1,6 +1,6 @@
1
1
  import type { ProFormRequestConfig } from '../typing';
2
- declare const $request: (field: any, requestConfig: ProFormRequestConfig, context: any, type: 'request' | 'validator' | 'dataSource') => Promise<unknown>;
2
+ declare const $request: (field: any, { extraConfig, ...requestConfig }: ProFormRequestConfig, context: any, type: 'request' | 'validator' | 'dataSource') => Promise<unknown>;
3
3
  declare const $common: (services: any, requestConfig: ProFormRequestConfig, context: any) => (field: any) => any;
4
4
  declare const $validator: (services: any, requestConfig: ProFormRequestConfig, context: any) => (value: any, rules: any, { field }: any) => any;
5
- declare const $dataSource: (services: any, requestConfig: ProFormRequestConfig, context: any, readPretty: any) => (field: any) => any;
5
+ declare const $dataSource: (services: any, requestConfig: ProFormRequestConfig, context: any) => (field: any) => any;
6
6
  export { $request, $common, $dataSource, $validator };
@@ -1,29 +1,43 @@
1
+ var _excluded = ["extraConfig"];
2
+
1
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; }
2
4
 
3
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; }
4
6
 
5
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; }
6
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
+
7
13
  import { isFn, isPureObj, doCommonRequest, getValueByValue } from '@teamix/utils'; // 配置请求
8
14
 
9
- var $request = function $request(field, requestConfig, context, type) {
15
+ var $request = function $request(field, _ref, context, type) {
10
16
  var _field$data;
11
17
 
12
- var beforeRequest = requestConfig.beforeRequest,
18
+ var extraConfig = _ref.extraConfig,
19
+ requestConfig = _objectWithoutProperties(_ref, _excluded);
20
+
21
+ var params = requestConfig.params,
22
+ beforeRequest = requestConfig.beforeRequest,
23
+ formatResult = requestConfig.formatResult,
13
24
  onSuccess = requestConfig.onSuccess;
14
25
  var beforeRequestResult = isFn(beforeRequest) ? beforeRequest(field, context) : {};
15
26
  /**
16
- * // 主动触发的请求刷新
27
+ * 主动触发的请求刷新
17
28
  */
18
29
  // 触发所有配置的请求
19
30
 
20
31
  var refresh = (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.refresh;
21
32
  var refreshResult = isPureObj(refresh) ? refresh : {};
22
33
  return doCommonRequest(_objectSpread(_objectSpread({}, requestConfig), {}, {
23
- params: _objectSpread(_objectSpread(_objectSpread({}, requestConfig.params), beforeRequestResult), refreshResult),
34
+ params: _objectSpread(_objectSpread(_objectSpread({}, params), beforeRequestResult), refreshResult),
24
35
  beforeRequest: function beforeRequest() {
25
36
  return beforeRequestResult;
26
37
  },
38
+ formatResult: isFn(formatResult) ? function (res) {
39
+ return formatResult(res, field, context);
40
+ } : formatResult,
27
41
  onSuccess: isFn(onSuccess) ? function (res) {
28
42
  return onSuccess(res, field, context);
29
43
  } : onSuccess
@@ -34,57 +48,47 @@ var $request = function $request(field, requestConfig, context, type) {
34
48
  var $common = function $common(services, requestConfig, context) {
35
49
  return function (field) {
36
50
  return services(field, requestConfig, context, 'request').then(function (res) {
37
- return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
51
+ var _requestConfig$onComp;
52
+
53
+ return (_requestConfig$onComp = requestConfig.onComplete) === null || _requestConfig$onComp === void 0 ? void 0 : _requestConfig$onComp.call(requestConfig, res, field, context);
38
54
  });
39
55
  };
40
56
  }; // 配置校验
41
57
 
42
58
 
43
59
  var $validator = function $validator(services, requestConfig, context) {
44
- return function (value, rules, _ref) {
45
- var field = _ref.field;
60
+ return function (value, rules, _ref2) {
61
+ var field = _ref2.field;
46
62
  return services(field, requestConfig, context, 'validator').then(function (res) {
47
- return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
63
+ var _requestConfig$onComp2;
64
+
65
+ return (_requestConfig$onComp2 = requestConfig.onComplete) === null || _requestConfig$onComp2 === void 0 ? void 0 : _requestConfig$onComp2.call(requestConfig, res, field, context);
48
66
  });
49
67
  };
50
68
  }; // 配置DataSource
51
69
 
52
70
 
53
- var $dataSource = function $dataSource(services, requestConfig, context, readPretty) {
71
+ var $dataSource = function $dataSource(services, requestConfig, context) {
54
72
  return function (field) {
55
- if (!readPretty) {
56
- field.setState({
57
- loading: true,
58
- readOnly: true
59
- });
60
- }
61
-
73
+ field.setState({
74
+ loading: true
75
+ });
62
76
  return services(field, requestConfig, context, 'dataSource').then(function (res) {
77
+ var _requestConfig$extraC, _requestConfig$onComp3;
78
+
63
79
  var isValueInDataSource = getValueByValue(res, field.value);
64
- var clearValue = isValueInDataSource ? {} : {
80
+ var clearResult = !isValueInDataSource && (requestConfig === null || requestConfig === void 0 ? void 0 : (_requestConfig$extraC = requestConfig.extraConfig) === null || _requestConfig$extraC === void 0 ? void 0 : _requestConfig$extraC.clearInvalidValue) !== false ? {
65
81
  value: undefined
66
- };
67
-
68
- if (!readPretty) {
69
- field.setState(_objectSpread({
70
- dataSource: res,
71
- loading: false,
72
- readOnly: false
73
- }, clearValue));
74
- } else {
75
- field.setState({
76
- dataSource: res
77
- });
78
- }
79
-
80
- return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
82
+ } : {};
83
+ field.setState(_objectSpread({
84
+ dataSource: res,
85
+ loading: false
86
+ }, clearResult));
87
+ return (_requestConfig$onComp3 = requestConfig.onComplete) === null || _requestConfig$onComp3 === void 0 ? void 0 : _requestConfig$onComp3.call(requestConfig, res, field, context);
81
88
  }).catch(function () {
82
- if (!readPretty) {
83
- field.setState({
84
- loading: false,
85
- readOnly: false
86
- });
87
- }
89
+ field.setState({
90
+ loading: false
91
+ });
88
92
  });
89
93
  };
90
94
  };
@@ -1,4 +1,7 @@
1
1
  declare const fieldTypeMap: {
2
2
  [x: string]: string;
3
3
  };
4
+ declare const datePicker2TypeArray: string[];
5
+ declare const timePicker2TypeArray: string[];
6
+ export { datePicker2TypeArray, timePicker2TypeArray };
4
7
  export default fieldTypeMap;
@@ -40,4 +40,7 @@ var fieldTypeMap = {
40
40
  Search: 'search',
41
41
  SelectGroup: 'selectGroup'
42
42
  };
43
+ var datePicker2TypeArray = ['DatePicker', 'DateTimePicker', 'WeekPicker', 'MonthPicker', 'YearPicker', 'QuarterPicker', 'DateRangePicker', 'DateTimeRangePicker', 'WeekRangePicker', 'MonthRangePicker', 'YearRangePicker', 'QuarterRangePicker'];
44
+ var timePicker2TypeArray = ['TimePicker', 'TimeRangePicker'];
45
+ export { datePicker2TypeArray, timePicker2TypeArray };
43
46
  export default fieldTypeMap;
@@ -31,6 +31,7 @@ declare const formilyReact: {
31
31
  displayName: string;
32
32
  };
33
33
  RecursionField: import("react").FC<originalFormilyReact.IRecursionFieldProps>;
34
+ ExpressionScope: import("react").FC<originalFormilyReact.IExpressionScopeProps>;
34
35
  createSchemaField<Components extends originalFormilyReact.SchemaReactComponents>(options?: originalFormilyReact.ISchemaFieldReactFactoryOptions<Components> | undefined): {
35
36
  <Decorator extends originalFormilyReact.JSXComponent, Component extends originalFormilyReact.JSXComponent>(props: originalFormilyReact.ISchemaFieldProps<Decorator, Component, import("@formily/core").ObjectField<Decorator, Component>>): JSX.Element;
36
37
  displayName: string;
@@ -90,7 +91,7 @@ declare const formilyReact: {
90
91
  }>>;
91
92
  connect<T_2 extends originalFormilyReact.JSXComponent>(target: T_2, ...args: originalFormilyReact.IComponentMapper<T_2>[]): import("react").ForwardRefExoticComponent<import("react").PropsWithoutRef<Partial<import("react").ComponentProps<T_2>>> & import("react").RefAttributes<unknown>>;
92
93
  observer: typeof originalFormilyReact.observer;
93
- Observer: import("react").MemoExoticComponent<import("react").FunctionComponent<import("@formily/reactive-react").IObserverProps>>;
94
+ Observer: import("react").MemoExoticComponent<import("react").FunctionComponent<import("_@formily_reactive-react@2.0.11@@formily/reactive-react").IObserverProps>>;
94
95
  useForm: <T_3 extends object = any>() => import("@formily/core").Form<T_3>;
95
96
  useField: <T_4 = import("@formily/core").GeneralField>() => T_4;
96
97
  useParentForm: () => import("@formily/core").Form<any> | import("@formily/core").ObjectField<any, any>;
@@ -14,14 +14,16 @@ export interface ProFormInitializeItem {
14
14
  * ProForm 实例类型
15
15
  */
16
16
  export declare type ProFormType = FormType;
17
- 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' | 'MultipleTagPicker' | 'Range' | 'Search' | 'SelectGroup';
17
+ 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' | 'MultipleTagPicker' | 'Range' | 'Search' | 'SelectGroup' | 'SelectTable' | 'SelectTable.Column';
18
18
  declare type IButtonComponent = 'Submit' | 'Reset';
19
19
  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';
20
20
  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';
21
21
  export interface ProFormRequestConfig extends CommonRequestConfig {
22
22
  beforeRequest?: (field?: any, context?: any) => any;
23
+ formatResult?: (res?: any, field?: any, context?: any) => any;
23
24
  onSuccess?: (res?: any, field?: any, context?: any) => any;
24
25
  onComplete?: (res?: any, field?: any, context?: any) => any;
26
+ extraConfig?: AnyObject;
25
27
  }
26
28
  export interface ProFormSchemaItem {
27
29
  type?: string;
@@ -72,6 +74,7 @@ export interface ProFormProps extends IFormLayoutProps {
72
74
  export interface FilterProps extends ProFormProps {
73
75
  form: FormType;
74
76
  defaultFilterValue?: string;
77
+ filterValues?: string[];
75
78
  activeFilterValueRef?: React.MutableRefObject<any>;
76
79
  forceClear?: boolean;
77
80
  onReset?: (payload?: any) => void;
@@ -106,6 +109,8 @@ export interface QueryFilterProps extends ProFormProps {
106
109
  addonAfter?: ReactNode;
107
110
  /** 顶部筛选区默认筛选项 */
108
111
  defaultFilterValue?: string;
112
+ /** 顶部筛选区筛选项配置 */
113
+ filterValues?: string[];
109
114
  /** 透出内部表单实例 */
110
115
  formRef?: React.MutableRefObject<any>;
111
116
  /** onChange事件的防抖时间 */
package/es/form/utils.js CHANGED
@@ -55,6 +55,8 @@ var mapSize = function mapSize(props, field) {
55
55
 
56
56
 
57
57
  var mapStatus = function mapStatus(props, field) {
58
+ var _field$data;
59
+
58
60
  var takeStatus = function takeStatus() {
59
61
  var _field$warnings, _field$decoratorProps, _field$decoratorProps2;
60
62
 
@@ -72,9 +74,16 @@ var mapStatus = function mapStatus(props, field) {
72
74
  return state;
73
75
  };
74
76
 
75
- return _objectSpread(_objectSpread({}, props), {}, {
76
- state: takeState(props.state) || takeStatus()
77
- });
77
+ var state = takeState(props.state) || takeStatus();
78
+ var result = {
79
+ state: state
80
+ }; // 当组件处于loading状态时,仅可读不可写。
81
+
82
+ if (state === 'loading' && ((_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.readOnlyOnLoading)) {
83
+ result.readOnly = true;
84
+ }
85
+
86
+ return _objectSpread(_objectSpread({}, props), result);
78
87
  };
79
88
 
80
89
  var patchDataSource = function patchDataSource() {
@@ -92,7 +101,7 @@ var patchDataSource = function patchDataSource() {
92
101
  return result;
93
102
  };
94
103
 
95
- return dataSource.map(removeEmptyChildren);
104
+ return isArr(dataSource) ? dataSource.map(removeEmptyChildren) : [];
96
105
  };
97
106
 
98
107
  var mapDataSource = function mapDataSource(props, field) {
package/es/index.d.ts CHANGED
@@ -24,5 +24,5 @@ export * from './skeleton';
24
24
  export * from './table';
25
25
  export * from './utils';
26
26
  export * from './timeline';
27
- declare const version = "1.3.1";
27
+ declare const version = "1.3.4";
28
28
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProTimeline, hooks, nocode, templates, utils, };
package/es/index.js CHANGED
@@ -30,7 +30,7 @@ export * from './table';
30
30
  export * from './utils'; // export * from './sidebar';
31
31
 
32
32
  export * from './timeline';
33
- var version = '1.3.1';
33
+ var version = '1.3.4';
34
34
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, // ProLayout,
35
35
  ProPageContainer, ProPageHeader, ProSkeleton, ProTable, // ProSidebar,
36
36
  ProTimeline, hooks, nocode, templates, utils };
@@ -1,3 +1,6 @@
1
+ $item-padding-bottom: -8px;
2
+ // /** 消除 baseInfo 被其他组件包裹后没有居中的问题*/
1
3
  .teamix-pro-info {
2
4
  width: 100%;
5
+ margin-bottom: $item-padding-bottom;
3
6
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ItemProps } from '@alicloudfe/components/types/breadcrumb';
3
- import { LinkPath, ProTagItem } from '@teamix/utils';
3
+ import { LinkPath, ProTagItem, CapsuleTabType } from '@teamix/utils';
4
4
  import { ProActionGroupProps } from '../actions';
5
5
  import { ProInfoProps } from '../info';
6
6
  import './index.scss';
@@ -48,6 +48,8 @@ export declare type ProPageHeaderProps = {
48
48
  data?: ProPageHeaderDataItem[];
49
49
  /** 底部详情 */
50
50
  info?: ProInfoProps | React.ReactNode;
51
+ /** 切换 tabs */
52
+ tabs?: CapsuleTabType;
51
53
  } & Omit<React.HTMLAttributes<HTMLElement>, 'title'>;
52
54
  declare const ProPageHeader: React.FC<ProPageHeaderProps>;
53
55
  export default ProPageHeader;
@@ -1,6 +1,6 @@
1
1
  var _excluded = ["text", "children"],
2
2
  _excluded2 = ["color", "title", "num", "className"],
3
- _excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
3
+ _excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style", "tabs"];
4
4
 
5
5
  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; }
6
6
 
@@ -17,7 +17,7 @@ import { useHistory } from 'react-router-dom';
17
17
  import classnames from 'classnames';
18
18
  import TeamixIcon from '@teamix/icon';
19
19
  import { Breadcrumb } from '@alicloudfe/components';
20
- import { baseClass, goToLink, renderTags, isPresetColor, getColor, getColorClassName, getBackgroundColorClassName } from '@teamix/utils';
20
+ import { baseClass, goToLink, renderTags, isPresetColor, getColor, getColorClassName, getBackgroundColorClassName, CapsuleTab } from '@teamix/utils';
21
21
  import { ProActionGroup } from '../actions';
22
22
  import { ProSkeletonRaw } from '../skeleton';
23
23
  import ProInfo from '../info';
@@ -123,6 +123,14 @@ var renderInfo = function renderInfo(info) {
123
123
  return info;
124
124
  };
125
125
 
126
+ var renderTabs = function renderTabs(tabs) {
127
+ if (tabs) {
128
+ return /*#__PURE__*/React.createElement(CapsuleTab, _objectSpread({}, tabs));
129
+ }
130
+
131
+ return null;
132
+ };
133
+
126
134
  var ProPageHeader = function ProPageHeader(props) {
127
135
  var title = props.title,
128
136
  description = props.description,
@@ -143,6 +151,7 @@ var ProPageHeader = function ProPageHeader(props) {
143
151
  children = props.children,
144
152
  className = props.className,
145
153
  style = props.style,
154
+ tabs = props.tabs,
146
155
  others = _objectWithoutProperties(props, _excluded3);
147
156
 
148
157
  var history = useHistory();
@@ -191,7 +200,7 @@ var ProPageHeader = function ProPageHeader(props) {
191
200
  size: "large"
192
201
  }) : /*#__PURE__*/React.createElement(React.Fragment, null, icon)), /*#__PURE__*/React.createElement("span", {
193
202
  className: cls('title-name')
194
- }, title), renderTags(tags, 'large'));
203
+ }, title), renderTags(tags, 'large'), renderTabs(tabs !== null && tabs !== void 0 ? tabs : {}));
195
204
  };
196
205
 
197
206
  return /*#__PURE__*/React.createElement("header", _objectSpread({
@@ -22,9 +22,11 @@ var RadioItem = Menu.RadioItem;
22
22
  var cls = baseClass('teamix-pro-table-toolbar-icon');
23
23
 
24
24
  var DensityIcon = function DensityIcon(props) {
25
+ var _actionRef$current;
26
+
25
27
  var actionRef = props.actionRef;
26
28
 
27
- var _useState = useState('medium'),
29
+ var _useState = useState(((_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : _actionRef$current.size) || 'medium'),
28
30
  _useState2 = _slicedToArray(_useState, 2),
29
31
  size = _useState2[0],
30
32
  setSize = _useState2[1]; // const [fullscreen, setFullscreen] = useState<boolean>(false);
@@ -44,10 +46,10 @@ var DensityIcon = function DensityIcon(props) {
44
46
 
45
47
 
46
48
  var radioOnchange = function radioOnchange(mode) {
47
- var _actionRef$current, _actionRef$current$se;
49
+ var _actionRef$current2, _actionRef$current2$s;
48
50
 
49
51
  setSize(mode);
50
- (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setSize) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, mode);
52
+ (_actionRef$current2 = actionRef.current) === null || _actionRef$current2 === void 0 ? void 0 : (_actionRef$current2$s = _actionRef$current2.setSize) === null || _actionRef$current2$s === void 0 ? void 0 : _actionRef$current2$s.call(_actionRef$current2, mode);
51
53
  }; // // 销毁监听函数
52
54
  // useEffect(() => {
53
55
  // return () => {
@@ -33,13 +33,22 @@ import { baseClass, getMessage } from '@teamix/utils';
33
33
  import React, { useState, useEffect } from 'react';
34
34
  import { cloneDeep, off, on } from '../../utils';
35
35
  import './index.scss';
36
- import { Ellipsis } from '@teamix/utils';
36
+ import { Ellipsis, getCookie } from '@teamix/utils';
37
37
  var CheckboxItem = Menu.CheckboxItem;
38
38
  var Row = Grid.Row,
39
39
  Col = Grid.Col;
40
- var cls = baseClass('teamix-pro-table-toolbar-filter-column');
40
+ var cls = baseClass('teamix-pro-table-toolbar-filter-column'); // 判断是否是 root 组织
41
+
42
+ var isRoot = getCookie('organizationId') === '1';
41
43
 
42
44
  var processColumns = function processColumns(columns) {
45
+ if (isRoot) {
46
+ // root 组织下不显示标签管理
47
+ columns = columns.filter(function (item) {
48
+ return item.valueType !== 'selectGroup';
49
+ });
50
+ }
51
+
43
52
  return columns.map(function (item) {
44
53
  if (item.columnFilters === false) {
45
54
  return item;
@@ -296,7 +305,7 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
296
305
  return onChangeColumns(check, dataIndex);
297
306
  },
298
307
  disabled: columnFiltersDisabled
299
- }, title, !lock && /*#__PURE__*/React.createElement("div", {
308
+ }, title, !lock && !columnFiltersDisabled && /*#__PURE__*/React.createElement("div", {
300
309
  className: cls({
301
310
  sort: true
302
311
  })
@@ -27,9 +27,9 @@
27
27
  line-height: var(--checkbox-size,16px);
28
28
  }
29
29
  }
30
- &-reset {
30
+ &-reset.next-btn {
31
31
  position: absolute;
32
- right: 16px;
32
+ right: 0px;
33
33
  top: 6px;
34
34
  }
35
35
  // .next-menu {
@@ -59,7 +59,7 @@
59
59
  .teamix-pro-table-toolbar-filter-column-sort {
60
60
  visibility: hidden;
61
61
  position: absolute;
62
- right: 16px;
62
+ right: 0px;
63
63
  top: 0;
64
64
  color: var(--color-text1-7);
65
65
  i {
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", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords"];
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", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll"];
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
 
@@ -178,6 +178,9 @@ var ProTable = function ProTable(props) {
178
178
  defaultFilterParams = props.defaultFilterParams,
179
179
  _props$reserveSelecte = props.reserveSelectedRecords,
180
180
  reserveSelectedRecords = _props$reserveSelecte === void 0 ? false : _props$reserveSelecte,
181
+ _props$size = props.size,
182
+ propsSize = _props$size === void 0 ? 'medium' : _props$size,
183
+ disableSelectAll = props.disableSelectAll,
181
184
  otherProps = _objectWithoutProperties(props, _excluded);
182
185
 
183
186
  var targetPageKey = pageKey || globalPageKey;
@@ -231,7 +234,7 @@ var ProTable = function ProTable(props) {
231
234
  filteredColumns = _useState16[0],
232
235
  setFilteredColumns = _useState16[1];
233
236
 
234
- var _useState17 = useState('medium'),
237
+ var _useState17 = useState(propsSize),
235
238
  _useState18 = _slicedToArray(_useState17, 2),
236
239
  size = _useState18[0],
237
240
  _setSize = _useState18[1];
@@ -354,7 +357,7 @@ var ProTable = function ProTable(props) {
354
357
  result = propsRowSelection.titleProps();
355
358
  }
356
359
 
357
- if (showSkeleton) {
360
+ if (showSkeleton || disableSelectAll) {
358
361
  result.disabled = true;
359
362
  }
360
363
 
@@ -389,7 +392,7 @@ var ProTable = function ProTable(props) {
389
392
  return selectedRowKeys.includes(k);
390
393
  });
391
394
  return {
392
- disabled: showLoading && !showSkeleton && (getData.loading || props.loading),
395
+ disabled: disableSelectAll || showLoading && !showSkeleton && (getData.loading || props.loading),
393
396
  onChange: function onChange(check) {
394
397
  if (check) {
395
398
  var result = selectedRowKeys.concat([]);
@@ -493,6 +496,7 @@ var ProTable = function ProTable(props) {
493
496
  emit('refreshFilterState', newColumns);
494
497
  }
495
498
  },
499
+ size: size,
496
500
  setSize: function setSize(mode) {
497
501
  _setSize(mode);
498
502
  },
@@ -121,7 +121,17 @@ $fullscreenPadding: 24px;
121
121
  }
122
122
 
123
123
  .next-table {
124
- .next-formily-item .next-form-preview {
124
+ .next-form-preview.next-form-preview {
125
125
  line-height: unset;
126
126
  }
127
+ &-row {
128
+ .teamix-pro-field.teamix-pro-field-text .next-form-preview {
129
+ color: var(--table-row-color);
130
+ }
131
+ }
132
+ &-row.hovered {
133
+ .teamix-pro-field.teamix-pro-field-text .next-form-preview {
134
+ color: var(--table-row-hover-color);
135
+ }
136
+ }
127
137
  }
@@ -135,6 +135,8 @@ export declare type ProTableProps = {
135
135
  defaultFilterParams?: {
136
136
  [key: string]: any[] | any;
137
137
  };
138
+ /** 禁用掉批量选择中的全选 */
139
+ disableSelectAll?: boolean;
138
140
  } & Omit<TableProps, 'columns'> & ProTableTopAreaProps;
139
141
  export declare type rowSelectionType = {
140
142
  getProps?: (record: any, index: number) => any;
@@ -160,6 +162,8 @@ export declare type ProTableActionType = {
160
162
  fullScreen?: () => boolean;
161
163
  /** 设置显示列 */
162
164
  setColumn?: (newColumns: ProColumnProps[], update?: boolean) => void;
165
+ /** 表格尺寸 */
166
+ size?: 'small' | 'medium';
163
167
  /** 设置表格大小 */
164
168
  setSize?: (mode: 'small' | 'medium') => void;
165
169
  /** 刷新表格 */
@@ -158,6 +158,12 @@ export var renderCell = function renderCell(value, item, index, record, actionRe
158
158
  }
159
159
  }, props);
160
160
  }
161
+
162
+ if ((render === null || render === void 0 ? void 0 : render.type) === 'step') {
163
+ newRender = _objectSpread(_objectSpread({}, newRender), {}, {
164
+ ellipsis: false
165
+ });
166
+ }
161
167
  } // 渲染操作组
162
168
 
163
169
 
@@ -23,7 +23,7 @@ var _dialog = _interopRequireDefault(require("./dialog"));
23
23
  var _utils2 = require("./utils");
24
24
 
25
25
  var _excluded = ["schema"],
26
- _excluded2 = ["schema", "useFieldValuesForRequest", "initialValues", "initialRequest", "formProps", "size", "onFinish", "beforeRequest", "formRef"];
26
+ _excluded2 = ["schema", "useFieldValuesForRequest", "initialValues", "initialRequest", "formProps", "size", "onFinish", "beforeRequest", "formRef", "extendParams"];
27
27
 
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
@@ -168,6 +168,7 @@ function useDialogFormAction(action, context) {
168
168
  _onFinish = action.onFinish,
169
169
  propsBeforeRequest = action.beforeRequest,
170
170
  propsFormRef = action.formRef,
171
+ propsExtendParams = action.extendParams,
171
172
  others = _objectWithoutProperties(action, _excluded2);
172
173
 
173
174
  var innerFormRef = /*#__PURE__*/(0, _react.createRef)();
@@ -188,10 +189,12 @@ function useDialogFormAction(action, context) {
188
189
  formRef: propsFormRef
189
190
  }, dialogFormProps));
190
191
  },
191
- extendParams: useFieldValuesForRequest ? '{{fields}}' : undefined,
192
+ extendParams: useFieldValuesForRequest ? ['{{fields}}', propsExtendParams] : propsExtendParams,
192
193
  beforeRequest: function beforeRequest(context) {
193
194
  return new Promise(function (resolve, reject) {
194
195
  innerFormRef.current.validate().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
196
+ var _innerFormRef$current;
197
+
195
198
  var beforeRequestContext, requestContext;
196
199
  return regeneratorRuntime.wrap(function _callee$(_context) {
197
200
  while (1) {
@@ -227,7 +230,7 @@ function useDialogFormAction(action, context) {
227
230
 
228
231
  case 13:
229
232
  requestContext = Object.assign({
230
- fields: innerFormRef.current.values
233
+ fields: (_innerFormRef$current = innerFormRef.current) === null || _innerFormRef$current === void 0 ? void 0 : _innerFormRef$current.values
231
234
  }, _typeof(beforeRequestContext) === 'object' ? beforeRequestContext : {});
232
235
  resolve(requestContext);
233
236
 
@@ -243,9 +246,9 @@ function useDialogFormAction(action, context) {
243
246
  });
244
247
  },
245
248
  onFinish: function onFinish() {
246
- var _innerFormRef$current;
249
+ var _innerFormRef$current2;
247
250
 
248
- _onFinish && _onFinish((_innerFormRef$current = innerFormRef.current) === null || _innerFormRef$current === void 0 ? void 0 : _innerFormRef$current.values);
251
+ _onFinish && _onFinish((_innerFormRef$current2 = innerFormRef.current) === null || _innerFormRef$current2 === void 0 ? void 0 : _innerFormRef$current2.values);
249
252
  }
250
253
  }, others), context);
251
254
  }
@@ -236,9 +236,7 @@ function useDialogAction(action, actionContext) {
236
236
  var dialogContext = Object.assign({}, context, {
237
237
  hide: hide
238
238
  });
239
- var dialogContent = Component ? /*#__PURE__*/_react.default.createElement(Component, _objectSpread({
240
- key: (0, _utils.uuid)()
241
- }, (0, _utils2.addContext)(componentProps, dialogContext))) : addContextForReactNode(content, dialogContext);
239
+ var dialogContent = Component ? /*#__PURE__*/_react.default.createElement(Component, _objectSpread({}, (0, _utils2.addContext)(componentProps, dialogContext))) : addContextForReactNode(content, dialogContext);
242
240
 
243
241
  var quickShowProps = _objectSpread(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, "".concat(isPop ? 'onConfirm' : 'onOk'), onOk), _defineProperty(_objectSpread2, "title", addContextForReactNode(title, dialogContext)), _defineProperty(_objectSpread2, "content", /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, beforeContent && /*#__PURE__*/_react.default.createElement("div", {
244
242
  className: "teamix-pro-dialog-before-content"