fan-standard-comp 3.1.8 → 3.1.10
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/fan-standard-comp.umd.js +19 -14
- package/es/ButtonGroup/index.d.ts +2 -0
- package/es/ButtonGroup/index.js +45 -11
- package/es/FormComp/FieldComponent/RefactorTreeSelect.js +2 -2
- package/es/FormComp/FieldComponent/style/index.less +7 -1
- package/es/FormComp/RenderItemGroup/index.d.ts +1 -1
- package/es/FormComp/RenderItemGroup/index.js +3 -3
- package/es/StandardFilter/index.d.ts +1 -0
- package/es/StandardFilter/index.js +10 -3
- package/es/StandardModal/index.d.ts +4 -4
- package/es/StandardModal/index.js +50 -9
- package/es/StandardModal/style/index.less +25 -0
- package/es/StandardTable/index.js +2 -1
- package/es/utils/getParentNodes.js +11 -1
- package/lib/ButtonGroup/index.d.ts +2 -0
- package/lib/ButtonGroup/index.js +45 -11
- package/lib/FormComp/FieldComponent/RefactorTreeSelect.js +2 -2
- package/lib/FormComp/FieldComponent/style/index.less +7 -1
- package/lib/FormComp/RenderItemGroup/index.d.ts +1 -1
- package/lib/FormComp/RenderItemGroup/index.js +3 -3
- package/lib/StandardFilter/index.d.ts +1 -0
- package/lib/StandardFilter/index.js +10 -3
- package/lib/StandardModal/index.d.ts +4 -4
- package/lib/StandardModal/index.js +54 -11
- package/lib/StandardModal/style/index.less +25 -0
- package/lib/StandardTable/index.js +2 -1
- package/lib/utils/getParentNodes.js +11 -1
- package/package.json +4 -4
|
@@ -17,6 +17,7 @@ export interface ButtonGroupOptionsProps {
|
|
|
17
17
|
render?: (() => React.ReactNode) | React.ReactNode;
|
|
18
18
|
confirmText?: any;
|
|
19
19
|
confirmConfig?: any;
|
|
20
|
+
dropdownConfig?: any;
|
|
20
21
|
}
|
|
21
22
|
interface ButtonGroupProps {
|
|
22
23
|
type?: 'button' | 'text';
|
|
@@ -25,6 +26,7 @@ interface ButtonGroupProps {
|
|
|
25
26
|
permissionCodes?: string[];
|
|
26
27
|
options?: ButtonGroupOptionsProps[];
|
|
27
28
|
min?: number;
|
|
29
|
+
dropdownConfig?: Object;
|
|
28
30
|
}
|
|
29
31
|
declare const ButtonGroup: (props: ButtonGroupProps) => JSX.Element;
|
|
30
32
|
export default ButtonGroup;
|
package/es/ButtonGroup/index.js
CHANGED
|
@@ -48,7 +48,9 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
48
48
|
} : _props$rowParams,
|
|
49
49
|
_props$codes = props.codes,
|
|
50
50
|
codes = _props$codes === void 0 ? funcCode.btnFuncCodes : _props$codes,
|
|
51
|
-
permissionCodes = props.permissionCodes
|
|
51
|
+
permissionCodes = props.permissionCodes,
|
|
52
|
+
_props$dropdownConfig = props.dropdownConfig,
|
|
53
|
+
dropdownConfig = _props$dropdownConfig === void 0 ? {} : _props$dropdownConfig;
|
|
52
54
|
var _props$options = props.options,
|
|
53
55
|
options = _props$options === void 0 ? [] : _props$options,
|
|
54
56
|
_props$min = props.min,
|
|
@@ -129,12 +131,12 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
129
131
|
others = __rest(item, ["exName", "name", "type", "icon", "ghost", "danger", "disabled", "loading", "fn", "code", "rowParams"]);
|
|
130
132
|
|
|
131
133
|
if (Array.isArray(item.children) && item.children.length > 0) {
|
|
132
|
-
return /*#__PURE__*/React.createElement(_Dropdown, {
|
|
134
|
+
return /*#__PURE__*/React.createElement(_Dropdown, Object.assign({
|
|
133
135
|
overlay: buttonMenu(item.children),
|
|
134
136
|
placement: "bottomRight"
|
|
135
|
-
}, /*#__PURE__*/React.createElement(_Button, {
|
|
137
|
+
}, (item === null || item === void 0 ? void 0 : item.dropdownConfig) || dropdownConfig || {}), /*#__PURE__*/React.createElement(_Button, {
|
|
136
138
|
type: "primary"
|
|
137
|
-
}, item.exName || item.name, " ", /*#__PURE__*/React.createElement(SpecIcon, {
|
|
139
|
+
}, "ss", item.exName || item.name, " ", /*#__PURE__*/React.createElement(SpecIcon, {
|
|
138
140
|
name: "down"
|
|
139
141
|
})));
|
|
140
142
|
}
|
|
@@ -152,7 +154,39 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
152
154
|
}),
|
|
153
155
|
disabled: btnIsDisabled(disabled, rowParams)
|
|
154
156
|
}), exName || name);
|
|
155
|
-
};
|
|
157
|
+
};
|
|
158
|
+
/*const textMenuItems = (group) => {
|
|
159
|
+
return (group || []).map((gItem: any, gIndex) => {
|
|
160
|
+
return {
|
|
161
|
+
disabled: btnIsDisabled(gItem.disabled, rowParams),
|
|
162
|
+
label: gItem.hasOwnProperty('confirmText') || gItem.hasOwnProperty('confirmConfig') ?
|
|
163
|
+
// @ts-ignore
|
|
164
|
+
<a disabled={btnIsDisabled(gItem.disabled, rowParams)}
|
|
165
|
+
onClick={gItem.fn ? () => {
|
|
166
|
+
setPopVisibleIndex(rowParams.rowIndex)
|
|
167
|
+
setPopRow(gItem)
|
|
168
|
+
} : null}>
|
|
169
|
+
{gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
|
|
170
|
+
</a>
|
|
171
|
+
: <a className="spec-button-group-text"
|
|
172
|
+
onClick={gItem.fn ? () => gItem.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}
|
|
173
|
+
// @ts-ignore
|
|
174
|
+
disabled={btnIsDisabled(gItem.disabled, rowParams)}>
|
|
175
|
+
{gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
|
|
176
|
+
</a>,
|
|
177
|
+
key: gIndex + (gItem.exName || gItem.name),
|
|
178
|
+
children: gItem.children ? (gItem.children || []).map((child: any, childIndex: number) => {
|
|
179
|
+
return {
|
|
180
|
+
label: <a onClick={child.fn ? () => child.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}>
|
|
181
|
+
{child.render ? child.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (child.exName || child.name)}
|
|
182
|
+
</a>,
|
|
183
|
+
key: childIndex
|
|
184
|
+
}
|
|
185
|
+
}) : undefined
|
|
186
|
+
}
|
|
187
|
+
})
|
|
188
|
+
}*/
|
|
189
|
+
// 渲染文本形式多级菜单列表(用于表格)
|
|
156
190
|
|
|
157
191
|
|
|
158
192
|
var textMenu = function textMenu(group) {
|
|
@@ -210,10 +244,10 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
210
244
|
|
|
211
245
|
var RenderTextList = function RenderTextList(item) {
|
|
212
246
|
if (Array.isArray(item.children) && item.children.length > 0) {
|
|
213
|
-
return /*#__PURE__*/React.createElement(_Dropdown, {
|
|
247
|
+
return /*#__PURE__*/React.createElement(_Dropdown, Object.assign({
|
|
214
248
|
overlay: textMenu(item.children),
|
|
215
249
|
placement: "bottomRight"
|
|
216
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
250
|
+
}, (item === null || item === void 0 ? void 0 : item.dropdownConfig) || dropdownConfig || {}), /*#__PURE__*/React.createElement("a", {
|
|
217
251
|
className: "spec-button-group-text"
|
|
218
252
|
}, item.render ? item.render.apply(item, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
|
|
219
253
|
return rowParams[pItem];
|
|
@@ -314,10 +348,10 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
314
348
|
className: "spec-button-group"
|
|
315
349
|
}, forGroup.map(function (item, index) {
|
|
316
350
|
return index < min - 1 ? renderDisplayButton(item, index) : null;
|
|
317
|
-
}), type === 'button' ? /*#__PURE__*/React.createElement(_Dropdown, {
|
|
351
|
+
}), type === 'button' ? /*#__PURE__*/React.createElement(_Dropdown, Object.assign({
|
|
318
352
|
overlay: buttonMenu(forDrop),
|
|
319
353
|
placement: "bottomRight"
|
|
320
|
-
}, /*#__PURE__*/React.createElement(_Button, {
|
|
354
|
+
}, dropdownConfig), /*#__PURE__*/React.createElement(_Button, {
|
|
321
355
|
type: "primary"
|
|
322
356
|
}, "\u66F4\u591A ", /*#__PURE__*/React.createElement(SpecIcon, {
|
|
323
357
|
name: "down"
|
|
@@ -356,10 +390,10 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
356
390
|
})));
|
|
357
391
|
}
|
|
358
392
|
}
|
|
359
|
-
}), /*#__PURE__*/React.createElement(_Dropdown, {
|
|
393
|
+
}), /*#__PURE__*/React.createElement(_Dropdown, Object.assign({
|
|
360
394
|
overlay: textMenu(forDrop),
|
|
361
395
|
placement: "bottomRight"
|
|
362
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
396
|
+
}, dropdownConfig), /*#__PURE__*/React.createElement("a", {
|
|
363
397
|
className: "spec-button-group-text"
|
|
364
398
|
}, "\u66F4\u591A ", /*#__PURE__*/React.createElement(DownOutlined, null)))));
|
|
365
399
|
}
|
|
@@ -145,7 +145,7 @@ var RefactorTreeSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
145
145
|
|
|
146
146
|
if (Array.isArray(value)) {
|
|
147
147
|
return selectNodeInfo.matchNode.length > 0 ? selectNodeInfo.matchNode.map(function (item) {
|
|
148
|
-
return item[treeOptionName.title];
|
|
148
|
+
return item[treeOptionName.title] || item[treeOptionName.value];
|
|
149
149
|
}).join(',') : null;
|
|
150
150
|
}
|
|
151
151
|
|
|
@@ -242,7 +242,7 @@ var RefactorTreeSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
return /*#__PURE__*/React.createElement(React.Fragment, null, showFullLevel && !otherProps.showCheckedStrategy ? /*#__PURE__*/React.createElement("div", {
|
|
245
|
-
className: "refactor-tree-select ".concat(disabled ? 'refactor-disabled' : ''),
|
|
245
|
+
className: "refactor-tree-select ".concat(disabled ? 'refactor-disabled' : '').concat(otherProps.size === 'small' ? ' refactor-tree-select-sm' : ''),
|
|
246
246
|
title: fullLevelName || ''
|
|
247
247
|
}, renderTreeSelectNode(), /*#__PURE__*/React.createElement("span", {
|
|
248
248
|
className: "refactor-tree-select-extra"
|
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
.refactor-tree-select {
|
|
5
5
|
position: relative;
|
|
6
|
+
&.refactor-tree-select-sm {
|
|
7
|
+
.refactor-tree-select-extra {
|
|
8
|
+
height: 22px;
|
|
9
|
+
line-height: 20px;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
6
12
|
.ant-select {
|
|
7
13
|
z-index: 2;
|
|
8
14
|
.ant-select-selector {
|
|
9
|
-
background: transparent;
|
|
15
|
+
background: transparent !important;
|
|
10
16
|
}
|
|
11
17
|
.ant-select-selection-item {
|
|
12
18
|
//opacity: 0;
|
|
@@ -26,7 +26,7 @@ interface displayLayoutProps extends layoutProps {
|
|
|
26
26
|
interface ItemGroupProps {
|
|
27
27
|
itemGroup: any | FieldsItemProps[];
|
|
28
28
|
size?: string;
|
|
29
|
-
fieldStatus?: 'default' | 'viewOnly' | 'disabled';
|
|
29
|
+
fieldStatus?: 'default' | 'viewOnly' | 'disabled' | string;
|
|
30
30
|
fieldSize?: 'large' | 'middle' | 'small' | any;
|
|
31
31
|
displayLayout?: displayLayoutProps;
|
|
32
32
|
form?: any;
|
|
@@ -193,9 +193,9 @@ var RenderItemGroup = function RenderItemGroup(props) {
|
|
|
193
193
|
|
|
194
194
|
return !itemIsHide(isHide, FormInstance.getFieldValue(), FormInstance) ? /*#__PURE__*/React.createElement(_Col, {
|
|
195
195
|
span: item.colSpan || 24
|
|
196
|
-
}, type === 'title' ? /*#__PURE__*/React.createElement("h3", Object.assign({
|
|
197
|
-
className: "modalPanelTitle ".concat((_a = item === null || item === void 0 ? void 0 : item.protoConfig) === null || _a === void 0 ? void 0 : _a.className)
|
|
198
|
-
}
|
|
196
|
+
}, type === 'title' ? /*#__PURE__*/React.createElement("h3", Object.assign({}, item.protoConfig, {
|
|
197
|
+
className: "modalPanelTitle ".concat(((_a = item === null || item === void 0 ? void 0 : item.protoConfig) === null || _a === void 0 ? void 0 : _a.className) || '')
|
|
198
|
+
}), label) : label) : /*#__PURE__*/React.createElement(React.Fragment, null, null);
|
|
199
199
|
});
|
|
200
200
|
} // 判断是否强制重新渲染表单
|
|
201
201
|
|
|
@@ -4,6 +4,7 @@ import { ButtonGroupOptionsProps } from '../ButtonGroup/index';
|
|
|
4
4
|
import './style/index.less';
|
|
5
5
|
export interface StandardFilterProps {
|
|
6
6
|
buttonGroup?: ButtonGroupOptionsProps[];
|
|
7
|
+
buttonGroupConfig?: Object;
|
|
7
8
|
formItemGroup?: FieldComponentProps[];
|
|
8
9
|
confirmText?: string;
|
|
9
10
|
onFilterSearch?: (value?: object) => void;
|
|
@@ -200,7 +200,9 @@ var StandardFilter = /*#__PURE__*/function (_React$Component) {
|
|
|
200
200
|
codes = _this$props2.codes,
|
|
201
201
|
permissionCodes = _this$props2.permissionCodes,
|
|
202
202
|
confirmText = _this$props2.confirmText,
|
|
203
|
-
cancelText = _this$props2.cancelText
|
|
203
|
+
cancelText = _this$props2.cancelText,
|
|
204
|
+
onFilterSearch = _this$props2.onFilterSearch,
|
|
205
|
+
buttonGroupConfig = _this$props2.buttonGroupConfig; // const { recombinationGroup } = this.state;
|
|
204
206
|
|
|
205
207
|
return /*#__PURE__*/React.createElement(_Form, {
|
|
206
208
|
name: "standard-filter-form",
|
|
@@ -213,7 +215,11 @@ var StandardFilter = /*#__PURE__*/function (_React$Component) {
|
|
|
213
215
|
className: "filter-grid"
|
|
214
216
|
}, /*#__PURE__*/React.createElement("div", {
|
|
215
217
|
className: "filter-form"
|
|
216
|
-
}, this.state.reFormItemGroup ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderFormItemGroup(), /*#__PURE__*/React.createElement(FormItem,
|
|
218
|
+
}, this.state.reFormItemGroup ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderFormItemGroup(), /*#__PURE__*/React.createElement(FormItem, {
|
|
219
|
+
style: {
|
|
220
|
+
display: !onFilterSearch && !onFilterReset ? 'none' : 'inline-block'
|
|
221
|
+
}
|
|
222
|
+
}, onFilterSearch && /*#__PURE__*/React.createElement(_Button, {
|
|
217
223
|
type: "primary",
|
|
218
224
|
htmlType: "submit"
|
|
219
225
|
}, " ", confirmText || '查询'), onFilterReset && /*#__PURE__*/React.createElement(_Button, {
|
|
@@ -229,7 +235,8 @@ var StandardFilter = /*#__PURE__*/function (_React$Component) {
|
|
|
229
235
|
options: buttonGroup,
|
|
230
236
|
min: min,
|
|
231
237
|
codes: codes,
|
|
232
|
-
permissionCodes: permissionCodes
|
|
238
|
+
permissionCodes: permissionCodes,
|
|
239
|
+
dropdownConfig: buttonGroupConfig
|
|
233
240
|
})) : null));
|
|
234
241
|
}
|
|
235
242
|
}], [{
|
|
@@ -7,19 +7,19 @@ import 'ant-design-draggable-modal/dist/index.css';
|
|
|
7
7
|
export interface StandardModalProps extends ModalProps {
|
|
8
8
|
children?: React.ReactNode;
|
|
9
9
|
title?: String;
|
|
10
|
-
type?: String;
|
|
10
|
+
type?: 'form' | 'tabForm' | 'gridForm' | String;
|
|
11
11
|
size?: any;
|
|
12
12
|
formItemGroup?: ItemGroupProps[];
|
|
13
13
|
formPrefix?: (modalForm?: any, props?: StandardModalProps, forceUpdateForm?: () => void) => React.ReactNode;
|
|
14
14
|
formPostfix?: (modalForm?: any, props?: StandardModalProps, forceUpdateForm?: () => void) => React.ReactNode;
|
|
15
15
|
onSubmit?: (values?: any) => void;
|
|
16
|
-
confirmText?:
|
|
17
|
-
cancelText?:
|
|
16
|
+
confirmText?: string;
|
|
17
|
+
cancelText?: string;
|
|
18
18
|
onCancel?: () => void;
|
|
19
19
|
afterClose?: () => void;
|
|
20
20
|
initialValues?: object;
|
|
21
21
|
getFormFields?: (fields: any, form: any) => void;
|
|
22
|
-
fieldStatus?: 'default' | 'viewOnly' | 'disabled';
|
|
22
|
+
fieldStatus?: 'default' | 'viewOnly' | 'disabled' | string;
|
|
23
23
|
formLayout?: 'horizontal' | 'vertical' | 'inline';
|
|
24
24
|
tabsConfig?: any;
|
|
25
25
|
stepsConfig?: any;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import "antd/es/modal/style";
|
|
2
2
|
import _Modal from "antd/es/modal";
|
|
3
|
-
import "antd/es/row/style";
|
|
4
|
-
import _Row from "antd/es/row";
|
|
5
3
|
import "antd/es/button/style";
|
|
6
4
|
import _Button from "antd/es/button";
|
|
5
|
+
import "antd/es/col/style";
|
|
6
|
+
import _Col from "antd/es/col";
|
|
7
|
+
import "antd/es/row/style";
|
|
8
|
+
import _Row from "antd/es/row";
|
|
7
9
|
import "antd/es/form/style";
|
|
8
10
|
import _Form from "antd/es/form";
|
|
9
11
|
|
|
@@ -115,7 +117,13 @@ var StandardModal = function StandardModal(props) {
|
|
|
115
117
|
}
|
|
116
118
|
|
|
117
119
|
if (fieldStatus && fieldStatus !== 'default') {
|
|
118
|
-
|
|
120
|
+
if (props.hasOwnProperty('footerButtonGroup')) {
|
|
121
|
+
// 如果有配置按钮组件,则还是要显示按钮
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
openLog && console.log('rule 2'); // disabled/viewOnly都不显示按钮
|
|
126
|
+
|
|
119
127
|
return false;
|
|
120
128
|
}
|
|
121
129
|
|
|
@@ -151,7 +159,7 @@ var StandardModal = function StandardModal(props) {
|
|
|
151
159
|
var initBodyMaxHeight = function initBodyMaxHeight() {
|
|
152
160
|
var title = props.title;
|
|
153
161
|
var bodyHeight = document.body.offsetHeight;
|
|
154
|
-
var baseReduce =
|
|
162
|
+
var baseReduce = 80 + 32; // 默认需要减去的高度(上下空白间距150及内部内容间距16*2
|
|
155
163
|
// console.log('弹窗是否有按钮:', hasFooterBar ? '是' : '否')
|
|
156
164
|
|
|
157
165
|
setBodyMaxHeight("".concat(bodyHeight - (title ? 55 : 0) - (hasFooterBar ? 55 : 0) - baseReduce, "px")); // setBodyMaxHeight(`${bodyHeight - (title ? 55 : 0) - ((footer || footerButtonGroup) ? 55 : 0) - baseReduce +
|
|
@@ -186,7 +194,7 @@ var StandardModal = function StandardModal(props) {
|
|
|
186
194
|
formItemGroup = props.formItemGroup,
|
|
187
195
|
onSubmit = props.onSubmit;
|
|
188
196
|
|
|
189
|
-
if (type === 'form') {
|
|
197
|
+
if (type === 'form' || type === 'gridForm') {
|
|
190
198
|
modalForm.validateFields().then(function (values) {
|
|
191
199
|
if (Object.prototype.hasOwnProperty.call(values, 'false')) {
|
|
192
200
|
delete values.false; // 自定义结构会莫名的出来一个false字段
|
|
@@ -262,9 +270,42 @@ var StandardModal = function StandardModal(props) {
|
|
|
262
270
|
var fieldStatus = props.fieldStatus,
|
|
263
271
|
formItemGroup = props.formItemGroup,
|
|
264
272
|
_props$size2 = props.size,
|
|
265
|
-
size = _props$size2 === void 0 ? 'md' : _props$size2
|
|
273
|
+
size = _props$size2 === void 0 ? 'md' : _props$size2,
|
|
274
|
+
type = props.type;
|
|
266
275
|
|
|
267
276
|
if (Array.isArray(formItemGroup)) {
|
|
277
|
+
if (type === 'gridForm') {
|
|
278
|
+
// 栅格组
|
|
279
|
+
return /*#__PURE__*/React.createElement(_Row, {
|
|
280
|
+
gutter: 20
|
|
281
|
+
}, formItemGroup.map(function (item, index) {
|
|
282
|
+
var childrenFields = item.fields || [];
|
|
283
|
+
|
|
284
|
+
if (item.label) {
|
|
285
|
+
childrenFields = [{
|
|
286
|
+
type: item.type,
|
|
287
|
+
label: item.label,
|
|
288
|
+
protoConfig: Object.assign({}, item.protoConfig)
|
|
289
|
+
}].concat(childrenFields);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return /*#__PURE__*/React.createElement(_Col, {
|
|
293
|
+
key: index,
|
|
294
|
+
span: item.gridSpan || 24
|
|
295
|
+
}, /*#__PURE__*/React.createElement(RenderItemGroup, {
|
|
296
|
+
size: size,
|
|
297
|
+
layout: formLayout,
|
|
298
|
+
doUpdateFormFields: function doUpdateFormFields() {
|
|
299
|
+
return forceUpdateForm();
|
|
300
|
+
},
|
|
301
|
+
displayLayout: item.displayLayout || displayLayout,
|
|
302
|
+
itemGroup: childrenFields,
|
|
303
|
+
fieldStatus: fieldStatus,
|
|
304
|
+
form: modalForm
|
|
305
|
+
}));
|
|
306
|
+
}));
|
|
307
|
+
}
|
|
308
|
+
|
|
268
309
|
return /*#__PURE__*/React.createElement(RenderItemGroup, {
|
|
269
310
|
size: size,
|
|
270
311
|
layout: formLayout,
|
|
@@ -372,7 +413,7 @@ var StandardModal = function StandardModal(props) {
|
|
|
372
413
|
if (footer) return footer;
|
|
373
414
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, Object.assign({
|
|
374
415
|
key: "submit",
|
|
375
|
-
type:
|
|
416
|
+
type: 'primary',
|
|
376
417
|
loading: confirmLoading,
|
|
377
418
|
onClick: handleSubmit
|
|
378
419
|
}, confirmButtonProps, okButtonProps), confirmText || okText || '确定'), /*#__PURE__*/React.createElement(_Button, Object.assign({
|
|
@@ -410,7 +451,7 @@ var StandardModal = function StandardModal(props) {
|
|
|
410
451
|
|
|
411
452
|
|
|
412
453
|
var renderChildrenNodes = function renderChildrenNodes() {
|
|
413
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, children, type === 'form' && /*#__PURE__*/React.createElement(_Form, {
|
|
454
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children, (type === 'form' || type === 'gridForm') && /*#__PURE__*/React.createElement(_Form, {
|
|
414
455
|
layout: formLayout,
|
|
415
456
|
ref: setModalFormRef,
|
|
416
457
|
form: modalForm,
|
|
@@ -475,7 +516,7 @@ var StandardModal = function StandardModal(props) {
|
|
|
475
516
|
maskClosable: false,
|
|
476
517
|
width: general.modalSize[size].width
|
|
477
518
|
}, otherProps, {
|
|
478
|
-
|
|
519
|
+
open: visible,
|
|
479
520
|
title: title,
|
|
480
521
|
footer: renderFooter(),
|
|
481
522
|
className: "standardModal ".concat(className || '', " ").concat(fieldStatus === 'viewOnly' ? 'is-view' : ''),
|
|
@@ -48,3 +48,28 @@
|
|
|
48
48
|
.ant-picker-range-separator {
|
|
49
49
|
padding: 0 2px;
|
|
50
50
|
}
|
|
51
|
+
.modalGridTitle,
|
|
52
|
+
.modal-grid-title{
|
|
53
|
+
height: 32px;
|
|
54
|
+
margin: 0 0 @padding-md 0;
|
|
55
|
+
padding-bottom: @padding-xs;
|
|
56
|
+
padding-left: @padding-xs;
|
|
57
|
+
color: @text-color;
|
|
58
|
+
font-size: @font-size-base + 1;
|
|
59
|
+
font-weight: bold;
|
|
60
|
+
line-height: 32px;
|
|
61
|
+
position: relative;
|
|
62
|
+
&.modalPanelTitle {
|
|
63
|
+
border-bottom: 0;
|
|
64
|
+
}
|
|
65
|
+
&:before {
|
|
66
|
+
content: '';
|
|
67
|
+
display: inline-block;
|
|
68
|
+
position: absolute;
|
|
69
|
+
left:0;
|
|
70
|
+
top: 50%;
|
|
71
|
+
transform: translateY(-50%);
|
|
72
|
+
height: 18px;
|
|
73
|
+
border-left: 4px solid @primary-color;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -130,7 +130,17 @@ var getParentNodes = function getParentNodes(list, nodeKey) {
|
|
|
130
130
|
parentKeys: parentKeys,
|
|
131
131
|
matchNode: matchNode
|
|
132
132
|
}; // 最终查找到的父节点数组 // nodeParent.concat(result || []);
|
|
133
|
-
};
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* @description 递归查找指定ID所有的子菜单与子功能集合
|
|
136
|
+
* @params {Array} childNode 当前需要过滤查看的数据集合、
|
|
137
|
+
* @params {Object} params 指定当前数据中,筛选对应子集合字段名及匹配标识值字段名
|
|
138
|
+
* (childrenParam:指当前子集合数据字段名(字符串表示单个,数组表示当前多个子集合字段名),keyParam: 指当前匹配标识值字段名)
|
|
139
|
+
* @params {Object} extra
|
|
140
|
+
*
|
|
141
|
+
* @result {Array} childKeys 所有子项的id
|
|
142
|
+
* @result {Array} nodeChildren 当前传入nodeKey值所在的数据对象集合
|
|
143
|
+
* */
|
|
134
144
|
|
|
135
145
|
|
|
136
146
|
var getChildrenNodes = function getChildrenNodes(childNode) {
|
|
@@ -17,6 +17,7 @@ export interface ButtonGroupOptionsProps {
|
|
|
17
17
|
render?: (() => React.ReactNode) | React.ReactNode;
|
|
18
18
|
confirmText?: any;
|
|
19
19
|
confirmConfig?: any;
|
|
20
|
+
dropdownConfig?: any;
|
|
20
21
|
}
|
|
21
22
|
interface ButtonGroupProps {
|
|
22
23
|
type?: 'button' | 'text';
|
|
@@ -25,6 +26,7 @@ interface ButtonGroupProps {
|
|
|
25
26
|
permissionCodes?: string[];
|
|
26
27
|
options?: ButtonGroupOptionsProps[];
|
|
27
28
|
min?: number;
|
|
29
|
+
dropdownConfig?: Object;
|
|
28
30
|
}
|
|
29
31
|
declare const ButtonGroup: (props: ButtonGroupProps) => JSX.Element;
|
|
30
32
|
export default ButtonGroup;
|
package/lib/ButtonGroup/index.js
CHANGED
|
@@ -78,7 +78,9 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
78
78
|
} : _props$rowParams,
|
|
79
79
|
_props$codes = props.codes,
|
|
80
80
|
codes = _props$codes === void 0 ? _index3.funcCode.btnFuncCodes : _props$codes,
|
|
81
|
-
permissionCodes = props.permissionCodes
|
|
81
|
+
permissionCodes = props.permissionCodes,
|
|
82
|
+
_props$dropdownConfig = props.dropdownConfig,
|
|
83
|
+
dropdownConfig = _props$dropdownConfig === void 0 ? {} : _props$dropdownConfig;
|
|
82
84
|
var _props$options = props.options,
|
|
83
85
|
options = _props$options === void 0 ? [] : _props$options,
|
|
84
86
|
_props$min = props.min,
|
|
@@ -159,12 +161,12 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
159
161
|
others = (0, _tslib.__rest)(item, ["exName", "name", "type", "icon", "ghost", "danger", "disabled", "loading", "fn", "code", "rowParams"]);
|
|
160
162
|
|
|
161
163
|
if (Array.isArray(item.children) && item.children.length > 0) {
|
|
162
|
-
return /*#__PURE__*/_react.default.createElement(_dropdown.default, {
|
|
164
|
+
return /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
|
|
163
165
|
overlay: buttonMenu(item.children),
|
|
164
166
|
placement: "bottomRight"
|
|
165
|
-
}, /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
167
|
+
}, (item === null || item === void 0 ? void 0 : item.dropdownConfig) || dropdownConfig || {}), /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
166
168
|
type: "primary"
|
|
167
|
-
}, item.exName || item.name, " ", /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
169
|
+
}, "ss", item.exName || item.name, " ", /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
168
170
|
name: "down"
|
|
169
171
|
})));
|
|
170
172
|
}
|
|
@@ -182,7 +184,39 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
182
184
|
}),
|
|
183
185
|
disabled: (0, _filterPermission.btnIsDisabled)(disabled, rowParams)
|
|
184
186
|
}), exName || name);
|
|
185
|
-
};
|
|
187
|
+
};
|
|
188
|
+
/*const textMenuItems = (group) => {
|
|
189
|
+
return (group || []).map((gItem: any, gIndex) => {
|
|
190
|
+
return {
|
|
191
|
+
disabled: btnIsDisabled(gItem.disabled, rowParams),
|
|
192
|
+
label: gItem.hasOwnProperty('confirmText') || gItem.hasOwnProperty('confirmConfig') ?
|
|
193
|
+
// @ts-ignore
|
|
194
|
+
<a disabled={btnIsDisabled(gItem.disabled, rowParams)}
|
|
195
|
+
onClick={gItem.fn ? () => {
|
|
196
|
+
setPopVisibleIndex(rowParams.rowIndex)
|
|
197
|
+
setPopRow(gItem)
|
|
198
|
+
} : null}>
|
|
199
|
+
{gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
|
|
200
|
+
</a>
|
|
201
|
+
: <a className="spec-button-group-text"
|
|
202
|
+
onClick={gItem.fn ? () => gItem.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}
|
|
203
|
+
// @ts-ignore
|
|
204
|
+
disabled={btnIsDisabled(gItem.disabled, rowParams)}>
|
|
205
|
+
{gItem.render ? gItem.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (gItem.exName || gItem.name)}
|
|
206
|
+
</a>,
|
|
207
|
+
key: gIndex + (gItem.exName || gItem.name),
|
|
208
|
+
children: gItem.children ? (gItem.children || []).map((child: any, childIndex: number) => {
|
|
209
|
+
return {
|
|
210
|
+
label: <a onClick={child.fn ? () => child.fn(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : null}>
|
|
211
|
+
{child.render ? child.render(...Object.keys(rowParams).map((pItem) => rowParams[pItem])) : (child.exName || child.name)}
|
|
212
|
+
</a>,
|
|
213
|
+
key: childIndex
|
|
214
|
+
}
|
|
215
|
+
}) : undefined
|
|
216
|
+
}
|
|
217
|
+
})
|
|
218
|
+
}*/
|
|
219
|
+
// 渲染文本形式多级菜单列表(用于表格)
|
|
186
220
|
|
|
187
221
|
|
|
188
222
|
var textMenu = function textMenu(group) {
|
|
@@ -240,10 +274,10 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
240
274
|
|
|
241
275
|
var RenderTextList = function RenderTextList(item) {
|
|
242
276
|
if (Array.isArray(item.children) && item.children.length > 0) {
|
|
243
|
-
return /*#__PURE__*/_react.default.createElement(_dropdown.default, {
|
|
277
|
+
return /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
|
|
244
278
|
overlay: textMenu(item.children),
|
|
245
279
|
placement: "bottomRight"
|
|
246
|
-
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
280
|
+
}, (item === null || item === void 0 ? void 0 : item.dropdownConfig) || dropdownConfig || {}), /*#__PURE__*/_react.default.createElement("a", {
|
|
247
281
|
className: "spec-button-group-text"
|
|
248
282
|
}, item.render ? item.render.apply(item, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
|
|
249
283
|
return rowParams[pItem];
|
|
@@ -344,10 +378,10 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
344
378
|
className: "spec-button-group"
|
|
345
379
|
}, forGroup.map(function (item, index) {
|
|
346
380
|
return index < min - 1 ? renderDisplayButton(item, index) : null;
|
|
347
|
-
}), type === 'button' ? /*#__PURE__*/_react.default.createElement(_dropdown.default, {
|
|
381
|
+
}), type === 'button' ? /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
|
|
348
382
|
overlay: buttonMenu(forDrop),
|
|
349
383
|
placement: "bottomRight"
|
|
350
|
-
}, /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
384
|
+
}, dropdownConfig), /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
351
385
|
type: "primary"
|
|
352
386
|
}, "\u66F4\u591A ", /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
353
387
|
name: "down"
|
|
@@ -386,10 +420,10 @@ var ButtonGroup = function ButtonGroup(props) {
|
|
|
386
420
|
})));
|
|
387
421
|
}
|
|
388
422
|
}
|
|
389
|
-
}), /*#__PURE__*/_react.default.createElement(_dropdown.default, {
|
|
423
|
+
}), /*#__PURE__*/_react.default.createElement(_dropdown.default, Object.assign({
|
|
390
424
|
overlay: textMenu(forDrop),
|
|
391
425
|
placement: "bottomRight"
|
|
392
|
-
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
426
|
+
}, dropdownConfig), /*#__PURE__*/_react.default.createElement("a", {
|
|
393
427
|
className: "spec-button-group-text"
|
|
394
428
|
}, "\u66F4\u591A ", /*#__PURE__*/_react.default.createElement(_icons.DownOutlined, null)))));
|
|
395
429
|
}
|
|
@@ -166,7 +166,7 @@ var RefactorTreeSelect = /*#__PURE__*/_react.default.forwardRef(function (props,
|
|
|
166
166
|
|
|
167
167
|
if (Array.isArray(value)) {
|
|
168
168
|
return selectNodeInfo.matchNode.length > 0 ? selectNodeInfo.matchNode.map(function (item) {
|
|
169
|
-
return item[treeOptionName.title];
|
|
169
|
+
return item[treeOptionName.title] || item[treeOptionName.value];
|
|
170
170
|
}).join(',') : null;
|
|
171
171
|
}
|
|
172
172
|
|
|
@@ -263,7 +263,7 @@ var RefactorTreeSelect = /*#__PURE__*/_react.default.forwardRef(function (props,
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showFullLevel && !otherProps.showCheckedStrategy ? /*#__PURE__*/_react.default.createElement("div", {
|
|
266
|
-
className: "refactor-tree-select ".concat(disabled ? 'refactor-disabled' : ''),
|
|
266
|
+
className: "refactor-tree-select ".concat(disabled ? 'refactor-disabled' : '').concat(otherProps.size === 'small' ? ' refactor-tree-select-sm' : ''),
|
|
267
267
|
title: fullLevelName || ''
|
|
268
268
|
}, renderTreeSelectNode(), /*#__PURE__*/_react.default.createElement("span", {
|
|
269
269
|
className: "refactor-tree-select-extra"
|
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
.refactor-tree-select {
|
|
5
5
|
position: relative;
|
|
6
|
+
&.refactor-tree-select-sm {
|
|
7
|
+
.refactor-tree-select-extra {
|
|
8
|
+
height: 22px;
|
|
9
|
+
line-height: 20px;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
6
12
|
.ant-select {
|
|
7
13
|
z-index: 2;
|
|
8
14
|
.ant-select-selector {
|
|
9
|
-
background: transparent;
|
|
15
|
+
background: transparent !important;
|
|
10
16
|
}
|
|
11
17
|
.ant-select-selection-item {
|
|
12
18
|
//opacity: 0;
|
|
@@ -26,7 +26,7 @@ interface displayLayoutProps extends layoutProps {
|
|
|
26
26
|
interface ItemGroupProps {
|
|
27
27
|
itemGroup: any | FieldsItemProps[];
|
|
28
28
|
size?: string;
|
|
29
|
-
fieldStatus?: 'default' | 'viewOnly' | 'disabled';
|
|
29
|
+
fieldStatus?: 'default' | 'viewOnly' | 'disabled' | string;
|
|
30
30
|
fieldSize?: 'large' | 'middle' | 'small' | any;
|
|
31
31
|
displayLayout?: displayLayoutProps;
|
|
32
32
|
form?: any;
|
|
@@ -213,9 +213,9 @@ var RenderItemGroup = function RenderItemGroup(props) {
|
|
|
213
213
|
|
|
214
214
|
return !itemIsHide(isHide, FormInstance.getFieldValue(), FormInstance) ? /*#__PURE__*/_react.default.createElement(_col.default, {
|
|
215
215
|
span: item.colSpan || 24
|
|
216
|
-
}, type === 'title' ? /*#__PURE__*/_react.default.createElement("h3", Object.assign({
|
|
217
|
-
className: "modalPanelTitle ".concat((_a = item === null || item === void 0 ? void 0 : item.protoConfig) === null || _a === void 0 ? void 0 : _a.className)
|
|
218
|
-
}
|
|
216
|
+
}, type === 'title' ? /*#__PURE__*/_react.default.createElement("h3", Object.assign({}, item.protoConfig, {
|
|
217
|
+
className: "modalPanelTitle ".concat(((_a = item === null || item === void 0 ? void 0 : item.protoConfig) === null || _a === void 0 ? void 0 : _a.className) || '')
|
|
218
|
+
}), label) : label) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, null);
|
|
219
219
|
});
|
|
220
220
|
} // 判断是否强制重新渲染表单
|
|
221
221
|
|
|
@@ -4,6 +4,7 @@ import { ButtonGroupOptionsProps } from '../ButtonGroup/index';
|
|
|
4
4
|
import './style/index.less';
|
|
5
5
|
export interface StandardFilterProps {
|
|
6
6
|
buttonGroup?: ButtonGroupOptionsProps[];
|
|
7
|
+
buttonGroupConfig?: Object;
|
|
7
8
|
formItemGroup?: FieldComponentProps[];
|
|
8
9
|
confirmText?: string;
|
|
9
10
|
onFilterSearch?: (value?: object) => void;
|