amis 1.6.5-beta.3 → 1.8.0-beta.0
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/lib/Schema.d.ts +3 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/components/Alert2.js +4 -2
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/Breadcrumb.d.ts +130 -0
- package/lib/components/Breadcrumb.js +161 -0
- package/lib/components/Breadcrumb.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/CollapseGroup.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.d.ts +2 -2
- package/lib/components/DateRangePicker.js +36 -45
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/Layout.d.ts +21 -21
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/PopUp.js +2 -1
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/Radios.d.ts +21 -21
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Selection.d.ts +84 -84
- package/lib/components/TableSelection.d.ts +84 -84
- package/lib/components/Tabs.d.ts +52 -23
- package/lib/components/Tabs.js +198 -46
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +21 -20
- package/lib/components/TooltipWrapper.js +2 -2
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +5 -0
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.js.map +1 -1
- package/lib/components/icons.js +8 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/icons/cloud-upload.js +17 -0
- package/lib/icons/image.js +7 -0
- package/lib/icons/refresh.js +9 -0
- package/lib/icons/trash.js +10 -0
- package/lib/icons/upload.js +3 -8
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/en-US.js +3 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +4 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +1 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Breadcrumb.d.ts +41 -6
- package/lib/renderers/Breadcrumb.js +23 -19
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/Form/ChainedSelect.d.ts +4 -1
- package/lib/renderers/Form/ChainedSelect.js +83 -34
- package/lib/renderers/Form/ChainedSelect.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +3 -0
- package/lib/renderers/Form/Checkbox.js +38 -1
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +4 -3
- package/lib/renderers/Form/Combo.js +81 -32
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +1 -1
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +4 -1
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.js +3 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +3 -1
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +3 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +4 -0
- package/lib/renderers/Form/InputExcel.js +33 -6
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.d.ts +8 -1
- package/lib/renderers/Form/InputFile.js +71 -42
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +4 -1
- package/lib/renderers/Form/InputImage.js +21 -9
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +27 -9
- package/lib/renderers/Form/InputRange.js +88 -23
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputSubForm.js +2 -1
- package/lib/renderers/Form/InputSubForm.js.map +2 -2
- package/lib/renderers/Form/InputTag.js +2 -1
- package/lib/renderers/Form/InputTag.js.map +2 -2
- package/lib/renderers/Form/MatrixCheckboxes.js +2 -1
- package/lib/renderers/Form/MatrixCheckboxes.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +9 -6
- package/lib/renderers/Form/NestedSelect.js +247 -130
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +2 -1
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Radios.js +2 -1
- package/lib/renderers/Form/Radios.js.map +2 -2
- package/lib/renderers/Form/Select.js +6 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Switch.d.ts +7 -6
- package/lib/renderers/Form/Switch.js +4 -1
- package/lib/renderers/Form/Switch.js.map +2 -2
- package/lib/renderers/Log.js +2 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/PopOver.js +1 -1
- package/lib/renderers/PopOver.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +58 -5
- package/lib/renderers/Tabs.js +170 -58
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +104 -0
- package/lib/renderers/TooltipWrapper.js +59 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Video.d.ts +6 -0
- package/lib/renderers/Video.js +13 -6
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/form.js +4 -13
- package/lib/store/form.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +742 -160
- package/lib/themes/ang.css +793 -163
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +757 -175
- package/lib/themes/antd.css +793 -163
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1249 -667
- package/lib/themes/cxd.css +970 -321
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +742 -160
- package/lib/themes/dark.css +793 -163
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1249 -667
- package/lib/themes/default.css +970 -321
- package/lib/themes/default.css.map +1 -1
- package/package.json +1 -1
- package/schema.json +16012 -736
- package/scss/_properties.scss +56 -2
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_breadcrumb.scss +90 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_city-area.scss +2 -0
- package/scss/components/_popup.scss +13 -3
- package/scss/components/_tabs.scss +629 -132
- package/scss/components/_tooltip.scss +72 -0
- package/scss/components/form/_file.scss +82 -24
- package/scss/components/form/_image.scss +30 -25
- package/scss/components/form/_number.scss +2 -0
- package/scss/components/form/_switch.scss +1 -3
- package/scss/themes/_cxd-colors.scss +47 -47
- package/scss/themes/_cxd-variables.scss +20 -0
- package/sdk/ang-ie11.css +879 -196
- package/sdk/ang.css +931 -200
- package/sdk/antd-ie11.css +951 -268
- package/sdk/antd.css +931 -200
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1386 -703
- package/sdk/cxd.css +1107 -357
- package/sdk/dark-ie11.css +879 -196
- package/sdk/dark.css +931 -200
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1386 -703
- package/sdk/sdk.css +1107 -357
- package/sdk/sdk.js +1260 -1248
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +5 -2
- package/src/components/Alert2.tsx +9 -3
- package/src/components/Breadcrumb.tsx +294 -0
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DateRangePicker.tsx +40 -68
- package/src/components/PopUp.tsx +6 -5
- package/src/components/Range.tsx +7 -1
- package/src/components/Tabs.tsx +300 -54
- package/src/components/TooltipWrapper.tsx +4 -1
- package/src/components/calendar/Calendar.tsx +5 -0
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/icons.tsx +8 -0
- package/src/components/index.tsx +2 -0
- package/src/icons/cloud-upload.svg +22 -0
- package/src/icons/image.svg +1 -0
- package/src/icons/refresh.svg +7 -0
- package/src/icons/trash.svg +8 -0
- package/src/icons/upload.svg +4 -9
- package/src/index.tsx +1 -0
- package/src/locale/en-US.ts +3 -1
- package/src/locale/zh-CN.ts +4 -2
- package/src/renderers/Action.tsx +2 -1
- package/src/renderers/Breadcrumb.tsx +89 -45
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/Form/ChainedSelect.tsx +56 -12
- package/src/renderers/Form/Checkbox.tsx +30 -1
- package/src/renderers/Form/Combo.tsx +84 -26
- package/src/renderers/Form/InputCity.tsx +13 -1
- package/src/renderers/Form/InputColor.tsx +2 -0
- package/src/renderers/Form/InputDate.tsx +2 -0
- package/src/renderers/Form/InputDateRange.tsx +2 -0
- package/src/renderers/Form/InputExcel.tsx +27 -5
- package/src/renderers/Form/InputFile.tsx +167 -115
- package/src/renderers/Form/InputImage.tsx +61 -35
- package/src/renderers/Form/InputRange.tsx +95 -40
- package/src/renderers/Form/InputSubForm.tsx +2 -1
- package/src/renderers/Form/InputTag.tsx +3 -1
- package/src/renderers/Form/MatrixCheckboxes.tsx +3 -1
- package/src/renderers/Form/NestedSelect.tsx +75 -26
- package/src/renderers/Form/Options.tsx +3 -1
- package/src/renderers/Form/Radios.tsx +3 -1
- package/src/renderers/Form/Select.tsx +6 -2
- package/src/renderers/Form/Switch.tsx +16 -9
- package/src/renderers/Log.tsx +2 -1
- package/src/renderers/PopOver.tsx +1 -1
- package/src/renderers/Tabs.tsx +254 -93
- package/src/renderers/TooltipWrapper.tsx +219 -0
- package/src/renderers/Video.tsx +21 -6
- package/src/store/form.ts +0 -9
- package/src/store/table.ts +1 -1
package/src/icons/upload.svg
CHANGED
@@ -1,11 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
<g stroke="
|
4
|
-
<path d="
|
5
|
-
<path d="M4.4648,4.9496 L8.7068,0.7076"></path>
|
6
|
-
<path d="M11.5352,4.9496 L7.2932,0.7076"></path>
|
7
|
-
<path d="M0,14.2426 L16,14.2426"></path>
|
8
|
-
<path d="M1,9.2426 L1,15.2426"></path>
|
9
|
-
<path d="M15,9.2426 L15,15.2426"></path>
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3
|
+
<g id="上传" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
4
|
+
<path d="M3,10 L3,12.995 L13,12.995 L13,10 L14,10 L14,14 L13,14 L13,13.995 L3,13.995 L3,14 L2,14 L2,10 L3,10 Z M8.0259,1.9998 L11.8401458,5.8148 L11.1331458,6.5218 L8.5169,3.9048 L8.51614575,10.9998 L7.51614575,10.9998 L7.5169,3.9228 L4.89114575,6.5478 L4.18414575,5.8418 L8.0259,1.9998 Z" id="图标-填色" fill="currentColor"></path>
|
10
5
|
</g>
|
11
6
|
</svg>
|
package/src/index.tsx
CHANGED
package/src/locale/en-US.ts
CHANGED
@@ -100,15 +100,17 @@ register('en-US', {
|
|
100
100
|
'fetchFailed': 'Fetch api failed',
|
101
101
|
'File.continueAdd': 'Continue add',
|
102
102
|
'File.downloadTpl': 'Download template',
|
103
|
-
'File.dragDrop': `Drag 'n' drop some files here`,
|
103
|
+
'File.dragDrop': `Drag 'n' drop some files here or click here to upload`,
|
104
104
|
'File.errorRetry': 'File upload failed, please try again',
|
105
105
|
'File.failed': 'Failed files.',
|
106
106
|
'File.invalidType': '{{files}} does not match type `{{accept}}`',
|
107
|
+
'File.maxLength': 'The maximum limit is {{maxLength}}',
|
107
108
|
'File.maxSize': '{{filename}} you selected exceeds the maximum limit of {{maxsize}} (in bytes)',
|
108
109
|
'File.pause': 'Pause uplaod',
|
109
110
|
'File.repick': 'Repick',
|
110
111
|
'File.result': 'Successfully uploaded {{uploaded}} files, failed to upload {{failed}} files',
|
111
112
|
'File.retry': 'Retry',
|
113
|
+
'File.sizeLimit': 'The maximum file size is {{maxSize}} B',
|
112
114
|
'File.start': 'Start upload',
|
113
115
|
'File.upload': 'Upload',
|
114
116
|
'File.uploadFailed': 'return data of udpload api is empty',
|
package/src/locale/zh-CN.ts
CHANGED
@@ -105,17 +105,19 @@ register('zh-CN', {
|
|
105
105
|
'fetchFailed': '初始化失败',
|
106
106
|
'File.continueAdd': '继续添加',
|
107
107
|
'File.downloadTpl': '下载模板',
|
108
|
-
'File.dragDrop': '
|
108
|
+
'File.dragDrop': '将文件拖到此处,或点击上传',
|
109
109
|
'File.errorRetry': '文件上传失败请重试',
|
110
110
|
'File.failed': '失败文件',
|
111
111
|
'File.invalidType': '{{files}} 不符合类型的 {{accept}} 的设定,请仔细检查',
|
112
|
+
'File.maxLength': '最多上传 {{maxLength}} 个文件',
|
112
113
|
'File.maxSize': '{{filename}} 大小为 {{actualSize}} 超出了最大为 {{maxSize}} (字节)的限制',
|
113
114
|
'File.pause': '暂停上传',
|
114
115
|
'File.repick': '重新选择',
|
115
116
|
'File.result': '已成功上传 {{uploaded}} 个文件,{{failed}} 个文件上传失败,',
|
116
117
|
'File.retry': '重试上传',
|
118
|
+
'File.sizeLimit': '文件大小不超过 {{maxSize}} B',
|
117
119
|
'File.start': '开始上传',
|
118
|
-
'File.upload': '
|
120
|
+
'File.upload': '文件上传',
|
119
121
|
'File.uploadFailed': '接口返回错误,请仔细检查',
|
120
122
|
'File.uploading': '上传中...',
|
121
123
|
'Form.loadOptionsFailed': '加载选项失败,原因:{{reason}}',
|
package/src/renderers/Action.tsx
CHANGED
@@ -4,9 +4,26 @@
|
|
4
4
|
import React from 'react';
|
5
5
|
import {Renderer, RendererProps} from '../factory';
|
6
6
|
import {BaseSchema, SchemaIcon, SchemaUrlPath} from '../Schema';
|
7
|
-
import {generateIcon} from '../utils/icon';
|
8
7
|
import {filter} from '../utils/tpl';
|
9
|
-
import {
|
8
|
+
import {resolveVariableAndFilter} from '../utils/tpl-builtin';
|
9
|
+
import Breadcrumb from '../components/Breadcrumb';
|
10
|
+
|
11
|
+
export type BreadcrumbBaseItemSchema = {
|
12
|
+
/**
|
13
|
+
* 文字
|
14
|
+
*/
|
15
|
+
label?: string;
|
16
|
+
|
17
|
+
/**
|
18
|
+
* 图标类名
|
19
|
+
*/
|
20
|
+
icon?: SchemaIcon;
|
21
|
+
|
22
|
+
/**
|
23
|
+
* 链接地址
|
24
|
+
*/
|
25
|
+
href?: SchemaUrlPath;
|
26
|
+
} & Omit<BaseSchema, 'type'>;
|
10
27
|
|
11
28
|
export type BreadcrumbItemSchema = {
|
12
29
|
/**
|
@@ -23,90 +40,117 @@ export type BreadcrumbItemSchema = {
|
|
23
40
|
* 链接地址
|
24
41
|
*/
|
25
42
|
href?: SchemaUrlPath;
|
43
|
+
|
44
|
+
/**
|
45
|
+
* 下拉菜单
|
46
|
+
*/
|
47
|
+
dropdown?: Array<BreadcrumbBaseItemSchema>;
|
26
48
|
} & Omit<BaseSchema, 'type'>;
|
27
49
|
|
50
|
+
export type TooltipPositionType = 'top' | 'bottom' | 'left' | 'right';
|
51
|
+
|
52
|
+
export type ItemPlace = 'start' | 'middle' | 'end';
|
53
|
+
|
28
54
|
/**
|
29
55
|
* Breadcrumb 显示渲染器
|
30
56
|
* 文档:https://baidu.gitee.io/amis/docs/components/breadcrumb
|
31
57
|
*/
|
32
|
-
|
58
|
+
|
59
|
+
export interface BreadcrumbSchema extends BaseSchema {
|
33
60
|
/**
|
34
61
|
* 指定为面包屑显示控件
|
35
62
|
*/
|
36
63
|
type: 'breadcrumb';
|
37
64
|
|
65
|
+
/**
|
66
|
+
* 面包项类名
|
67
|
+
*/
|
68
|
+
itemClassName?: string;
|
69
|
+
|
38
70
|
/**
|
39
71
|
* 分隔符
|
40
72
|
*/
|
41
73
|
separator?: string;
|
42
74
|
|
43
75
|
/**
|
44
|
-
*
|
76
|
+
* 分隔符类名
|
45
77
|
*/
|
46
78
|
separatorClassName?: string;
|
47
79
|
|
80
|
+
/**
|
81
|
+
* 下拉菜单类名
|
82
|
+
*/
|
83
|
+
dropdownClassName?: string;
|
84
|
+
|
85
|
+
/**
|
86
|
+
* 下拉菜单项类名
|
87
|
+
*/
|
88
|
+
dropdownItemClassName?: string;
|
89
|
+
|
48
90
|
/**
|
49
91
|
* 列表
|
50
92
|
*/
|
51
93
|
items: Array<BreadcrumbItemSchema>;
|
94
|
+
|
95
|
+
/**
|
96
|
+
* labelMaxLength
|
97
|
+
*/
|
98
|
+
labelMaxLength?: number;
|
99
|
+
|
100
|
+
/**
|
101
|
+
* 浮窗提示位置
|
102
|
+
*/
|
103
|
+
tooltipPosition?: TooltipPositionType;
|
52
104
|
}
|
53
105
|
|
54
|
-
export interface BreadcrumbProps
|
55
|
-
|
56
|
-
Omit<BreadcrumbSchema, 'type' | 'className'> {}
|
106
|
+
export interface BreadcrumbProps extends RendererProps,
|
107
|
+
Omit<BreadcrumbSchema, 'type' | 'className'> {}
|
57
108
|
|
58
109
|
export class BreadcrumbField extends React.Component<BreadcrumbProps, object> {
|
59
|
-
static defaultProps = {
|
60
|
-
className: '',
|
61
|
-
itemClassName: '',
|
62
|
-
separator: '/'
|
63
|
-
};
|
64
|
-
|
65
110
|
render() {
|
66
111
|
const {
|
67
|
-
className,
|
68
|
-
itemClassName,
|
69
|
-
separatorClassName,
|
70
|
-
classnames: cx,
|
71
112
|
items,
|
72
113
|
source,
|
73
114
|
data,
|
74
|
-
|
75
|
-
|
115
|
+
env,
|
116
|
+
...restProps
|
76
117
|
} = this.props;
|
77
118
|
|
78
|
-
|
119
|
+
let crumbItems = items
|
79
120
|
? items
|
80
121
|
: (resolveVariableAndFilter(
|
81
122
|
source,
|
82
123
|
data,
|
83
124
|
'| raw'
|
84
125
|
) as Array<BreadcrumbItemSchema>);
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
126
|
+
crumbItems = crumbItems.map(item => {
|
127
|
+
if (item.label) {
|
128
|
+
item.label = filter(item.label, data);
|
129
|
+
}
|
130
|
+
if (item.href) {
|
131
|
+
item.href = filter(item.href, data);
|
132
|
+
}
|
133
|
+
if (item.dropdown) {
|
134
|
+
item.dropdown = item.dropdown.map(dropdownItem => {
|
135
|
+
if (dropdownItem.label) {
|
136
|
+
dropdownItem.label = filter(dropdownItem.label, data);
|
137
|
+
}
|
138
|
+
if (dropdownItem.href) {
|
139
|
+
dropdownItem.href = filter(dropdownItem.href, data);
|
140
|
+
}
|
141
|
+
return dropdownItem;
|
142
|
+
});
|
143
|
+
}
|
144
|
+
return item;
|
145
|
+
});
|
146
|
+
|
147
|
+
return (
|
148
|
+
<Breadcrumb
|
149
|
+
items={crumbItems}
|
150
|
+
tooltipContainer={env?.getModalContainer}
|
151
|
+
{...restProps}
|
152
|
+
></Breadcrumb>
|
153
|
+
);
|
110
154
|
}
|
111
155
|
}
|
112
156
|
|
@@ -15,12 +15,12 @@ export interface ButtonGroupSchema extends BaseSchema {
|
|
15
15
|
type: 'button-group';
|
16
16
|
|
17
17
|
/**
|
18
|
-
* 给 Button 配置 className
|
18
|
+
* @deprecated 给 Button 配置 className。建议用btnLevel
|
19
19
|
*/
|
20
20
|
btnClassName?: SchemaClassName;
|
21
21
|
|
22
22
|
/**
|
23
|
-
* 给选中态 Button 配置 className
|
23
|
+
* @deprecated 给选中态 Button 配置 className。建议用btnActiveLevel
|
24
24
|
*/
|
25
25
|
btnActiveClassName: string;
|
26
26
|
|
@@ -10,7 +10,8 @@ import Select from '../../components/Select';
|
|
10
10
|
import {Api} from '../../types';
|
11
11
|
import {isEffectiveApi} from '../../utils/api';
|
12
12
|
import {SchemaApi} from '../../Schema';
|
13
|
-
import {isMobile} from '../../utils/helper';
|
13
|
+
import {isMobile, createObject} from '../../utils/helper';
|
14
|
+
import {Action} from '../../types';
|
14
15
|
|
15
16
|
/**
|
16
17
|
* 级联选择框
|
@@ -81,6 +82,27 @@ export default class ChainedSelectControl extends React.Component<
|
|
81
82
|
}
|
82
83
|
}
|
83
84
|
|
85
|
+
doAction(action: Action, data: object, throwErrors: boolean) {
|
86
|
+
const {resetValue, onChange} = this.props;
|
87
|
+
const actionType = action?.actionType as string;
|
88
|
+
|
89
|
+
if (!!~['clear', 'reset'].indexOf(actionType)) {
|
90
|
+
onChange(resetValue ?? '');
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
array2value(arr: Array<any>, isExtracted: boolean = false) {
|
95
|
+
const {delimiter, joinValues, extractValue} = this.props;
|
96
|
+
// 判断arr的项是否已抽取
|
97
|
+
return isExtracted
|
98
|
+
? (joinValues ? arr.join(delimiter || ',') : arr)
|
99
|
+
: (joinValues
|
100
|
+
? arr.join(delimiter || ',')
|
101
|
+
: extractValue
|
102
|
+
? arr.map(item => item.value || item)
|
103
|
+
: arr)
|
104
|
+
}
|
105
|
+
|
84
106
|
loadMore() {
|
85
107
|
const {
|
86
108
|
value,
|
@@ -90,7 +112,8 @@ export default class ChainedSelectControl extends React.Component<
|
|
90
112
|
extractValue,
|
91
113
|
source,
|
92
114
|
data,
|
93
|
-
env
|
115
|
+
env,
|
116
|
+
dispatchEvent
|
94
117
|
} = this.props;
|
95
118
|
|
96
119
|
const arr = Array.isArray(value)
|
@@ -135,7 +158,7 @@ export default class ChainedSelectControl extends React.Component<
|
|
135
158
|
parentId,
|
136
159
|
parent: arr[idx]
|
137
160
|
})
|
138
|
-
.then(ret => {
|
161
|
+
.then(async (ret) => {
|
139
162
|
// todo 没有检测 response.ok
|
140
163
|
|
141
164
|
const stack = this.state.stack.concat();
|
@@ -147,7 +170,21 @@ export default class ChainedSelectControl extends React.Component<
|
|
147
170
|
if (typeof remoteValue !== 'undefined') {
|
148
171
|
arr.splice(idx + 1, value.length - idx - 1);
|
149
172
|
arr.push(remoteValue);
|
150
|
-
|
173
|
+
|
174
|
+
const valueRes = this.array2value(arr, true);
|
175
|
+
|
176
|
+
const rendererEvent = await dispatchEvent(
|
177
|
+
'change',
|
178
|
+
createObject(data, {
|
179
|
+
value: valueRes
|
180
|
+
})
|
181
|
+
);
|
182
|
+
|
183
|
+
if (rendererEvent?.prevented) {
|
184
|
+
return;
|
185
|
+
}
|
186
|
+
|
187
|
+
onChange(valueRes);
|
151
188
|
}
|
152
189
|
|
153
190
|
stack.push({
|
@@ -171,8 +208,8 @@ export default class ChainedSelectControl extends React.Component<
|
|
171
208
|
);
|
172
209
|
}
|
173
210
|
|
174
|
-
handleChange(index: number, currentValue: any) {
|
175
|
-
const {value, delimiter, onChange, joinValues, extractValue} = this.props;
|
211
|
+
async handleChange(index: number, currentValue: any) {
|
212
|
+
const {value, delimiter, onChange, joinValues, extractValue, dispatchEvent, data} = this.props;
|
176
213
|
|
177
214
|
const arr = Array.isArray(value)
|
178
215
|
? value.concat()
|
@@ -182,13 +219,20 @@ export default class ChainedSelectControl extends React.Component<
|
|
182
219
|
arr.splice(index, arr.length - index);
|
183
220
|
arr.push(joinValues ? currentValue.value : currentValue);
|
184
221
|
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
:
|
222
|
+
const valueRes = this.array2value(arr);
|
223
|
+
|
224
|
+
const rendererEvent = await dispatchEvent(
|
225
|
+
'change',
|
226
|
+
createObject(data, {
|
227
|
+
value: valueRes
|
228
|
+
})
|
191
229
|
);
|
230
|
+
|
231
|
+
if (rendererEvent?.prevented) {
|
232
|
+
return;
|
233
|
+
}
|
234
|
+
|
235
|
+
onChange(valueRes);
|
192
236
|
}
|
193
237
|
|
194
238
|
reload() {
|
@@ -3,6 +3,8 @@ import {FormItem, FormControlProps, FormBaseControl} from './Item';
|
|
3
3
|
import cx from 'classnames';
|
4
4
|
import Checkbox from '../../components/Checkbox';
|
5
5
|
import {withBadge, BadgeSchema} from '../../components/Badge';
|
6
|
+
import {autobind, createObject} from '../../utils/helper';
|
7
|
+
import {Action} from '../../types';
|
6
8
|
|
7
9
|
/**
|
8
10
|
* Checkbox 勾选框。
|
@@ -50,6 +52,33 @@ export default class CheckboxControl extends React.Component<
|
|
50
52
|
trueValue: true,
|
51
53
|
falseValue: false
|
52
54
|
};
|
55
|
+
|
56
|
+
doAction(action: Action, data: object, throwErrors: boolean) {
|
57
|
+
const {resetValue, onChange} = this.props;
|
58
|
+
const actionType = action?.actionType as string;
|
59
|
+
|
60
|
+
if (!!~['clear', 'reset'].indexOf(actionType)) {
|
61
|
+
onChange(resetValue ?? '');
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
@autobind
|
66
|
+
async dispatchChangeEvent(eventData: any = {}) {
|
67
|
+
const {dispatchEvent, data, onChange} = this.props;
|
68
|
+
const rendererEvent = await dispatchEvent(
|
69
|
+
'change',
|
70
|
+
createObject(data, {
|
71
|
+
value: eventData,
|
72
|
+
})
|
73
|
+
);
|
74
|
+
|
75
|
+
if (rendererEvent?.prevented) {
|
76
|
+
return;
|
77
|
+
}
|
78
|
+
|
79
|
+
onChange && onChange(eventData);
|
80
|
+
}
|
81
|
+
|
53
82
|
render() {
|
54
83
|
const {
|
55
84
|
className,
|
@@ -71,7 +100,7 @@ export default class CheckboxControl extends React.Component<
|
|
71
100
|
trueValue={trueValue}
|
72
101
|
falseValue={falseValue}
|
73
102
|
disabled={disabled}
|
74
|
-
onChange={(value: any) =>
|
103
|
+
onChange={(value: any) => this.dispatchChangeEvent(value)}
|
75
104
|
>
|
76
105
|
{option ? render('option', option) : null}
|
77
106
|
</Checkbox>
|