@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
@@ -7,31 +7,45 @@ exports.$validator = exports.$request = exports.$dataSource = exports.$common =
7
7
 
8
8
  var _utils = require("@teamix/utils");
9
9
 
10
+ var _excluded = ["extraConfig"];
11
+
10
12
  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; }
11
13
 
12
14
  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; }
13
15
 
14
16
  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; }
15
17
 
18
+ 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; }
19
+
20
+ 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; }
21
+
16
22
  // 配置请求
17
- var $request = function $request(field, requestConfig, context, type) {
23
+ var $request = function $request(field, _ref, context, type) {
18
24
  var _field$data;
19
25
 
20
- var beforeRequest = requestConfig.beforeRequest,
26
+ var extraConfig = _ref.extraConfig,
27
+ requestConfig = _objectWithoutProperties(_ref, _excluded);
28
+
29
+ var params = requestConfig.params,
30
+ beforeRequest = requestConfig.beforeRequest,
31
+ formatResult = requestConfig.formatResult,
21
32
  onSuccess = requestConfig.onSuccess;
22
33
  var beforeRequestResult = (0, _utils.isFn)(beforeRequest) ? beforeRequest(field, context) : {};
23
34
  /**
24
- * // 主动触发的请求刷新
35
+ * 主动触发的请求刷新
25
36
  */
26
37
  // 触发所有配置的请求
27
38
 
28
39
  var refresh = (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.refresh;
29
40
  var refreshResult = (0, _utils.isPureObj)(refresh) ? refresh : {};
30
41
  return (0, _utils.doCommonRequest)(_objectSpread(_objectSpread({}, requestConfig), {}, {
31
- params: _objectSpread(_objectSpread(_objectSpread({}, requestConfig.params), beforeRequestResult), refreshResult),
42
+ params: _objectSpread(_objectSpread(_objectSpread({}, params), beforeRequestResult), refreshResult),
32
43
  beforeRequest: function beforeRequest() {
33
44
  return beforeRequestResult;
34
45
  },
46
+ formatResult: (0, _utils.isFn)(formatResult) ? function (res) {
47
+ return formatResult(res, field, context);
48
+ } : formatResult,
35
49
  onSuccess: (0, _utils.isFn)(onSuccess) ? function (res) {
36
50
  return onSuccess(res, field, context);
37
51
  } : onSuccess
@@ -44,7 +58,9 @@ exports.$request = $request;
44
58
  var $common = function $common(services, requestConfig, context) {
45
59
  return function (field) {
46
60
  return services(field, requestConfig, context, 'request').then(function (res) {
47
- return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
61
+ var _requestConfig$onComp;
62
+
63
+ return (_requestConfig$onComp = requestConfig.onComplete) === null || _requestConfig$onComp === void 0 ? void 0 : _requestConfig$onComp.call(requestConfig, res, field, context);
48
64
  });
49
65
  };
50
66
  }; // 配置校验
@@ -53,10 +69,12 @@ var $common = function $common(services, requestConfig, context) {
53
69
  exports.$common = $common;
54
70
 
55
71
  var $validator = function $validator(services, requestConfig, context) {
56
- return function (value, rules, _ref) {
57
- var field = _ref.field;
72
+ return function (value, rules, _ref2) {
73
+ var field = _ref2.field;
58
74
  return services(field, requestConfig, context, 'validator').then(function (res) {
59
- return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
75
+ var _requestConfig$onComp2;
76
+
77
+ return (_requestConfig$onComp2 = requestConfig.onComplete) === null || _requestConfig$onComp2 === void 0 ? void 0 : _requestConfig$onComp2.call(requestConfig, res, field, context);
60
78
  });
61
79
  };
62
80
  }; // 配置DataSource
@@ -64,41 +82,27 @@ var $validator = function $validator(services, requestConfig, context) {
64
82
 
65
83
  exports.$validator = $validator;
66
84
 
67
- var $dataSource = function $dataSource(services, requestConfig, context, readPretty) {
85
+ var $dataSource = function $dataSource(services, requestConfig, context) {
68
86
  return function (field) {
69
- if (!readPretty) {
70
- field.setState({
71
- loading: true,
72
- readOnly: true
73
- });
74
- }
75
-
87
+ field.setState({
88
+ loading: true
89
+ });
76
90
  return services(field, requestConfig, context, 'dataSource').then(function (res) {
91
+ var _requestConfig$extraC, _requestConfig$onComp3;
92
+
77
93
  var isValueInDataSource = (0, _utils.getValueByValue)(res, field.value);
78
- var clearValue = isValueInDataSource ? {} : {
94
+ 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 ? {
79
95
  value: undefined
80
- };
81
-
82
- if (!readPretty) {
83
- field.setState(_objectSpread({
84
- dataSource: res,
85
- loading: false,
86
- readOnly: false
87
- }, clearValue));
88
- } else {
89
- field.setState({
90
- dataSource: res
91
- });
92
- }
93
-
94
- return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
96
+ } : {};
97
+ field.setState(_objectSpread({
98
+ dataSource: res,
99
+ loading: false
100
+ }, clearResult));
101
+ return (_requestConfig$onComp3 = requestConfig.onComplete) === null || _requestConfig$onComp3 === void 0 ? void 0 : _requestConfig$onComp3.call(requestConfig, res, field, context);
95
102
  }).catch(function () {
96
- if (!readPretty) {
97
- field.setState({
98
- loading: false,
99
- readOnly: false
100
- });
101
- }
103
+ field.setState({
104
+ loading: false
105
+ });
102
106
  });
103
107
  };
104
108
  };
@@ -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;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.timePicker2TypeArray = exports.default = exports.datePicker2TypeArray = void 0;
7
7
  var fieldTypeMap = {
8
8
  Input: 'text',
9
9
  Password: 'password',
@@ -46,5 +46,9 @@ var fieldTypeMap = {
46
46
  Search: 'search',
47
47
  SelectGroup: 'selectGroup'
48
48
  };
49
+ var datePicker2TypeArray = ['DatePicker', 'DateTimePicker', 'WeekPicker', 'MonthPicker', 'YearPicker', 'QuarterPicker', 'DateRangePicker', 'DateTimeRangePicker', 'WeekRangePicker', 'MonthRangePicker', 'YearRangePicker', 'QuarterRangePicker'];
50
+ exports.datePicker2TypeArray = datePicker2TypeArray;
51
+ var timePicker2TypeArray = ['TimePicker', 'TimeRangePicker'];
52
+ exports.timePicker2TypeArray = timePicker2TypeArray;
49
53
  var _default = fieldTypeMap;
50
54
  exports.default = _default;
@@ -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/lib/form/utils.js CHANGED
@@ -69,6 +69,8 @@ var mapSize = function mapSize(props, field) {
69
69
  exports.mapSize = mapSize;
70
70
 
71
71
  var mapStatus = function mapStatus(props, field) {
72
+ var _field$data;
73
+
72
74
  var takeStatus = function takeStatus() {
73
75
  var _field$warnings, _field$decoratorProps, _field$decoratorProps2;
74
76
 
@@ -86,9 +88,16 @@ var mapStatus = function mapStatus(props, field) {
86
88
  return state;
87
89
  };
88
90
 
89
- return _objectSpread(_objectSpread({}, props), {}, {
90
- state: takeState(props.state) || takeStatus()
91
- });
91
+ var state = takeState(props.state) || takeStatus();
92
+ var result = {
93
+ state: state
94
+ }; // 当组件处于loading状态时,仅可读不可写。
95
+
96
+ if (state === 'loading' && ((_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.readOnlyOnLoading)) {
97
+ result.readOnly = true;
98
+ }
99
+
100
+ return _objectSpread(_objectSpread({}, props), result);
92
101
  };
93
102
 
94
103
  exports.mapStatus = mapStatus;
@@ -108,7 +117,7 @@ var patchDataSource = function patchDataSource() {
108
117
  return result;
109
118
  };
110
119
 
111
- return dataSource.map(removeEmptyChildren);
120
+ return (0, _utils.isArr)(dataSource) ? dataSource.map(removeEmptyChildren) : [];
112
121
  };
113
122
 
114
123
  var mapDataSource = function mapDataSource(props, field) {
package/lib/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/lib/index.js CHANGED
@@ -285,5 +285,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
285
285
  // 设置图标源
286
286
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
287
287
 
288
- var version = '1.3.1';
288
+ var version = '1.3.4';
289
289
  exports.version = version;
@@ -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;
@@ -27,7 +27,7 @@ require("./index.scss");
27
27
 
28
28
  var _excluded = ["text", "children"],
29
29
  _excluded2 = ["color", "title", "num", "className"],
30
- _excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
30
+ _excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style", "tabs"];
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
@@ -142,6 +142,14 @@ var renderInfo = function renderInfo(info) {
142
142
  return info;
143
143
  };
144
144
 
145
+ var renderTabs = function renderTabs(tabs) {
146
+ if (tabs) {
147
+ return /*#__PURE__*/_react.default.createElement(_utils.CapsuleTab, _objectSpread({}, tabs));
148
+ }
149
+
150
+ return null;
151
+ };
152
+
145
153
  var ProPageHeader = function ProPageHeader(props) {
146
154
  var title = props.title,
147
155
  description = props.description,
@@ -162,6 +170,7 @@ var ProPageHeader = function ProPageHeader(props) {
162
170
  children = props.children,
163
171
  className = props.className,
164
172
  style = props.style,
173
+ tabs = props.tabs,
165
174
  others = _objectWithoutProperties(props, _excluded3);
166
175
 
167
176
  var history = (0, _reactRouterDom.useHistory)();
@@ -210,7 +219,7 @@ var ProPageHeader = function ProPageHeader(props) {
210
219
  size: "large"
211
220
  }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon)), /*#__PURE__*/_react.default.createElement("span", {
212
221
  className: cls('title-name')
213
- }, title), (0, _utils.renderTags)(tags, 'large'));
222
+ }, title), (0, _utils.renderTags)(tags, 'large'), renderTabs(tabs !== null && tabs !== void 0 ? tabs : {}));
214
223
  };
215
224
 
216
225
  return /*#__PURE__*/_react.default.createElement("header", _objectSpread({
@@ -39,9 +39,11 @@ var RadioItem = _components.Menu.RadioItem;
39
39
  var cls = (0, _utils.baseClass)('teamix-pro-table-toolbar-icon');
40
40
 
41
41
  var DensityIcon = function DensityIcon(props) {
42
+ var _actionRef$current;
43
+
42
44
  var actionRef = props.actionRef;
43
45
 
44
- var _useState = (0, _react.useState)('medium'),
46
+ var _useState = (0, _react.useState)(((_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : _actionRef$current.size) || 'medium'),
45
47
  _useState2 = _slicedToArray(_useState, 2),
46
48
  size = _useState2[0],
47
49
  setSize = _useState2[1]; // const [fullscreen, setFullscreen] = useState<boolean>(false);
@@ -61,10 +63,10 @@ var DensityIcon = function DensityIcon(props) {
61
63
 
62
64
 
63
65
  var radioOnchange = function radioOnchange(mode) {
64
- var _actionRef$current, _actionRef$current$se;
66
+ var _actionRef$current2, _actionRef$current2$s;
65
67
 
66
68
  setSize(mode);
67
- (_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);
69
+ (_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);
68
70
  }; // // 销毁监听函数
69
71
  // useEffect(() => {
70
72
  // return () => {
@@ -54,9 +54,18 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
54
54
  var CheckboxItem = _components.Menu.CheckboxItem;
55
55
  var Row = _components.Grid.Row,
56
56
  Col = _components.Grid.Col;
57
- var cls = (0, _utils.baseClass)('teamix-pro-table-toolbar-filter-column');
57
+ var cls = (0, _utils.baseClass)('teamix-pro-table-toolbar-filter-column'); // 判断是否是 root 组织
58
+
59
+ var isRoot = (0, _utils.getCookie)('organizationId') === '1';
58
60
 
59
61
  var processColumns = function processColumns(columns) {
62
+ if (isRoot) {
63
+ // root 组织下不显示标签管理
64
+ columns = columns.filter(function (item) {
65
+ return item.valueType !== 'selectGroup';
66
+ });
67
+ }
68
+
60
69
  return columns.map(function (item) {
61
70
  if (item.columnFilters === false) {
62
71
  return item;
@@ -313,7 +322,7 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
313
322
  return onChangeColumns(check, dataIndex);
314
323
  },
315
324
  disabled: columnFiltersDisabled
316
- }, title, !lock && /*#__PURE__*/_react.default.createElement("div", {
325
+ }, title, !lock && !columnFiltersDisabled && /*#__PURE__*/_react.default.createElement("div", {
317
326
  className: cls({
318
327
  sort: true
319
328
  })
@@ -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 {
@@ -55,7 +55,7 @@ Object.keys(_typing).forEach(function (key) {
55
55
  }
56
56
  });
57
57
  });
58
- 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"];
58
+ 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"];
59
59
 
60
60
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
61
 
@@ -222,6 +222,9 @@ var ProTable = function ProTable(props) {
222
222
  defaultFilterParams = props.defaultFilterParams,
223
223
  _props$reserveSelecte = props.reserveSelectedRecords,
224
224
  reserveSelectedRecords = _props$reserveSelecte === void 0 ? false : _props$reserveSelecte,
225
+ _props$size = props.size,
226
+ propsSize = _props$size === void 0 ? 'medium' : _props$size,
227
+ disableSelectAll = props.disableSelectAll,
225
228
  otherProps = _objectWithoutProperties(props, _excluded);
226
229
 
227
230
  var targetPageKey = pageKey || globalPageKey;
@@ -275,7 +278,7 @@ var ProTable = function ProTable(props) {
275
278
  filteredColumns = _useState16[0],
276
279
  setFilteredColumns = _useState16[1];
277
280
 
278
- var _useState17 = (0, _react.useState)('medium'),
281
+ var _useState17 = (0, _react.useState)(propsSize),
279
282
  _useState18 = _slicedToArray(_useState17, 2),
280
283
  size = _useState18[0],
281
284
  _setSize = _useState18[1];
@@ -398,7 +401,7 @@ var ProTable = function ProTable(props) {
398
401
  result = propsRowSelection.titleProps();
399
402
  }
400
403
 
401
- if (showSkeleton) {
404
+ if (showSkeleton || disableSelectAll) {
402
405
  result.disabled = true;
403
406
  }
404
407
 
@@ -433,7 +436,7 @@ var ProTable = function ProTable(props) {
433
436
  return selectedRowKeys.includes(k);
434
437
  });
435
438
  return {
436
- disabled: showLoading && !showSkeleton && (getData.loading || props.loading),
439
+ disabled: disableSelectAll || showLoading && !showSkeleton && (getData.loading || props.loading),
437
440
  onChange: function onChange(check) {
438
441
  if (check) {
439
442
  var result = selectedRowKeys.concat([]);
@@ -537,6 +540,7 @@ var ProTable = function ProTable(props) {
537
540
  (0, _utils2.emit)('refreshFilterState', newColumns);
538
541
  }
539
542
  },
543
+ size: size,
540
544
  setSize: function setSize(mode) {
541
545
  _setSize(mode);
542
546
  },
@@ -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
  /** 刷新表格 */
@@ -171,6 +171,12 @@ var renderCell = function renderCell(value, item, index, record, actionRef) {
171
171
  }
172
172
  }, props);
173
173
  }
174
+
175
+ if ((render === null || render === void 0 ? void 0 : render.type) === 'step') {
176
+ newRender = _objectSpread(_objectSpread({}, newRender), {}, {
177
+ ellipsis: false
178
+ });
179
+ }
174
180
  } // 渲染操作组
175
181
 
176
182
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teamix/pro",
3
- "version": "1.3.1",
3
+ "version": "1.3.4",
4
4
  "description": "TeamixPro大包",
5
5
  "repository": "http://gitlab.alibaba-inc.com/teamix/pro",
6
6
  "author": "Velociraptor(迅猛龙)",
@@ -22,9 +22,9 @@
22
22
  ],
23
23
  "private": false,
24
24
  "dependencies": {
25
- "@formily/core": "2.0.8",
26
- "@formily/react": "2.0.8",
27
- "@teamix/formily": "2.0.8",
25
+ "@formily/core": "2.0.11",
26
+ "@formily/react": "2.0.11",
27
+ "@teamix/formily": "2.0.11",
28
28
  "@teamix/hooks": "^0.1.0",
29
29
  "@teamix/pop-confirm": "^1.2.4",
30
30
  "@teamix/pro-field": "^1.0.0",