amis 1.5.7 → 1.5.8-beta.2
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/.husky/pre-commit +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +135 -0
- package/lib/components/Avatar.js +120 -0
- package/lib/components/Avatar.js.map +13 -0
- package/lib/components/BaiduMapPicker.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +547 -0
- package/lib/components/CalendarMobile.js +432 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/ChainedSelection.js +15 -3
- package/lib/components/ChainedSelection.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +10 -4
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +21 -6
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/GroupedSelection.js +14 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +19 -6
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/Overlay.d.ts +1 -1
- package/lib/components/Overlay.js.map +1 -1
- package/lib/components/Picker.js +9 -4
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.js +0 -1
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +3 -0
- package/lib/components/PickerContainer.js +12 -5
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +1 -0
- package/lib/components/PopUp.js +5 -5
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/ResultBox.js +2 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +9 -2
- package/lib/components/ResultList.js +22 -2
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Select.js +1 -1
- package/lib/components/Select.js.map +1 -1
- package/lib/components/Selection.d.ts +94 -86
- package/lib/components/Selection.js +11 -2
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/TableSelection.d.ts +85 -85
- package/lib/components/TableSelection.js +1 -9
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/Tabs.js +31 -33
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +87 -256
- package/lib/components/TabsTransfer.js +52 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +1 -1
- package/lib/components/TabsTransferPicker.js +20 -18
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/Timeline.d.ts +69 -0
- package/lib/components/Timeline.js +16 -0
- package/lib/components/Timeline.js.map +13 -0
- package/lib/components/TimelineItem.d.ts +516 -0
- package/lib/components/TimelineItem.js +41 -0
- package/lib/components/TimelineItem.js.map +13 -0
- package/lib/components/Transfer.d.ts +100 -98
- package/lib/components/Transfer.js +2 -3
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/TransferDropDown.js +1 -5
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +1 -0
- package/lib/components/TransferPicker.js +19 -4
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +85 -85
- package/lib/components/TreeSelection.js +7 -1
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +5 -0
- package/lib/components/calendar/Calendar.js +15 -2
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +1 -0
- package/lib/components/calendar/DaysView.js +25 -13
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +28 -0
- package/lib/components/calendar/MonthsView.js +79 -3
- package/lib/components/calendar/MonthsView.js.map +2 -2
- package/lib/components/calendar/QuartersView.d.ts +1 -0
- package/lib/components/calendar/QuartersView.js +2 -2
- package/lib/components/calendar/QuartersView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +5 -0
- package/lib/components/calendar/TimeView.js +8 -5
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +6 -4
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +1 -4
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +1 -1
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -0
- package/lib/components/formula/Editor.js +3 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/FuncList.js +2 -1
- package/lib/components/formula/FuncList.js.map +2 -2
- package/lib/components/formula/Picker.js +1 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +2 -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/components/virtual-list/SizeAndPositionManager.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -2
- package/lib/components/virtual-list/index.js.map +2 -2
- package/lib/factory.js +5 -0
- package/lib/factory.js.map +2 -2
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +13 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +12 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Avatar.d.ts +35 -26
- package/lib/renderers/Avatar.js +14 -19
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Card.js +6 -5
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/Each.js +5 -2
- package/lib/renderers/Each.js.map +2 -2
- package/lib/renderers/Flex.js +1 -5
- package/lib/renderers/Flex.js.map +2 -2
- package/lib/renderers/Form/ChartRadios.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +6 -4
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +1 -0
- package/lib/renderers/Form/InputImage.js +8 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.js +11 -4
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.js +1 -1
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.js +1 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
- package/lib/renderers/Form/TabsTransfer.js +20 -1
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
- package/lib/renderers/Form/TabsTransferPicker.js +21 -2
- package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +15 -4
- package/lib/renderers/Form/Transfer.js +55 -18
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +3 -32
- package/lib/renderers/Form/TransferPicker.js +1 -1
- package/lib/renderers/Form/TransferPicker.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Remark.d.ts +4 -0
- package/lib/renderers/Remark.js +38 -7
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/renderers/Steps.js +5 -5
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/index.js +4 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Timeline.d.ts +65 -0
- package/lib/renderers/Timeline.js +54 -0
- package/lib/renderers/Timeline.js.map +13 -0
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/themes/ang-ie11.css +659 -25
- package/lib/themes/ang.css +659 -25
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +694 -25
- package/lib/themes/antd.css +694 -25
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +696 -25
- package/lib/themes/cxd.css +696 -25
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +660 -25
- package/lib/themes/dark.css +660 -25
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +696 -25
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/RootClose.js +3 -1
- package/lib/utils/RootClose.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +13 -6
- package/schema.json +1042 -541
- package/scss/_properties.scss +8 -0
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +280 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_formula.scss +30 -6
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_popup.scss +10 -6
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_selection.scss +5 -4
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +47 -0
- package/scss/themes/_dark-variables.scss +1 -0
- package/sdk/ang-ie11.css +782 -23
- package/sdk/ang.css +791 -26
- package/sdk/antd-ie11.css +782 -23
- package/sdk/antd.css +826 -26
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +782 -23
- package/sdk/cxd.css +828 -26
- package/sdk/dark-ie11.css +783 -24
- package/sdk/dark.css +792 -26
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +13 -2
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +782 -23
- package/sdk/sdk.css +828 -26
- package/sdk/sdk.js +1225 -1285
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +3 -0
- package/src/components/AssociatedSelection.tsx +5 -1
- package/src/components/Avatar.tsx +253 -0
- package/src/components/BaiduMapPicker.tsx +19 -14
- package/src/components/CalendarMobile.tsx +563 -0
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/ColorPicker.tsx +37 -39
- package/src/components/DatePicker.tsx +41 -35
- package/src/components/DateRangePicker.tsx +61 -16
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +57 -17
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +41 -36
- package/src/components/PickerColumn.tsx +22 -25
- package/src/components/PickerContainer.tsx +13 -1
- package/src/components/PopUp.tsx +34 -49
- package/src/components/ResultBox.tsx +4 -1
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +1 -1
- package/src/components/Selection.tsx +21 -3
- package/src/components/Steps.tsx +23 -10
- package/src/components/TableSelection.tsx +1 -44
- package/src/components/Tabs.tsx +65 -54
- package/src/components/TabsTransfer.tsx +78 -9
- package/src/components/TabsTransferPicker.tsx +25 -13
- package/src/components/Timeline.tsx +31 -0
- package/src/components/TimelineItem.tsx +107 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +1 -7
- package/src/components/TransferPicker.tsx +25 -4
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +26 -6
- package/src/components/calendar/DaysView.tsx +79 -31
- package/src/components/calendar/MonthsView.tsx +116 -2
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +26 -16
- package/src/components/calendar/YearsView.tsx +14 -16
- package/src/components/condition-builder/Field.tsx +1 -3
- package/src/components/condition-builder/Func.tsx +1 -1
- package/src/components/formula/Editor.tsx +16 -11
- package/src/components/formula/FuncList.tsx +3 -1
- package/src/components/formula/Picker.tsx +2 -1
- package/src/components/icons.tsx +2 -0
- package/src/components/index.tsx +2 -0
- package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
- package/src/components/virtual-list/index.tsx +4 -6
- package/src/factory.tsx +6 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +13 -2
- package/src/locale/en-US.ts +13 -2
- package/src/locale/zh-CN.ts +12 -1
- package/src/renderers/Avatar.tsx +83 -74
- package/src/renderers/Card.tsx +10 -6
- package/src/renderers/Custom.tsx +6 -3
- package/src/renderers/Each.tsx +4 -4
- package/src/renderers/Flex.tsx +3 -7
- package/src/renderers/Form/ChartRadios.tsx +2 -7
- package/src/renderers/Form/Checkboxes.tsx +1 -1
- package/src/renderers/Form/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputColor.tsx +1 -1
- package/src/renderers/Form/InputDate.tsx +38 -19
- package/src/renderers/Form/InputDateRange.tsx +0 -1
- package/src/renderers/Form/InputFormula.tsx +9 -4
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +0 -1
- package/src/renderers/Form/InputQuarterRange.tsx +0 -1
- package/src/renderers/Form/InputYearRange.tsx +0 -1
- package/src/renderers/Form/Item.tsx +15 -4
- package/src/renderers/Form/NestedSelect.tsx +1 -1
- package/src/renderers/Form/Select.tsx +0 -1
- package/src/renderers/Form/TabsTransfer.tsx +28 -38
- package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
- package/src/renderers/Form/Transfer.tsx +75 -24
- package/src/renderers/Form/TransferPicker.tsx +6 -38
- package/src/renderers/Form/TreeSelect.tsx +12 -14
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Remark.tsx +67 -18
- package/src/renderers/Steps.tsx +11 -13
- package/src/renderers/Table/index.tsx +7 -1
- package/src/renderers/Tabs.tsx +6 -2
- package/src/renderers/Timeline.tsx +141 -0
- package/src/renderers/Video.tsx +4 -20
- package/src/store/combo.ts +1 -3
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/helper.ts +1 -1
@@ -19,6 +19,8 @@ export interface PickerContainerProps extends ThemeProps, LocaleProps {
|
|
19
19
|
onClose: () => void;
|
20
20
|
value: any;
|
21
21
|
onChange: (value: any) => void;
|
22
|
+
setState: (state: any) => void;
|
23
|
+
[propName: string]: any;
|
22
24
|
}) => JSX.Element;
|
23
25
|
value?: any;
|
24
26
|
onConfirm?: (value?: any) => void;
|
@@ -83,6 +85,15 @@ export class PickerContainer extends React.Component<
|
|
83
85
|
this.close(undefined, () => onConfirm?.(this.state.value));
|
84
86
|
}
|
85
87
|
|
88
|
+
@autobind
|
89
|
+
updateState(state: any = {}) {
|
90
|
+
const {isOpened, ...rest} = state;
|
91
|
+
this.setState({
|
92
|
+
...this.state,
|
93
|
+
...rest
|
94
|
+
});
|
95
|
+
}
|
96
|
+
|
86
97
|
render() {
|
87
98
|
const {
|
88
99
|
children,
|
@@ -112,8 +123,9 @@ export class PickerContainer extends React.Component<
|
|
112
123
|
) : null}
|
113
124
|
<Modal.Body>
|
114
125
|
{popOverRender({
|
126
|
+
...(this.state as any),
|
127
|
+
setState: this.updateState,
|
115
128
|
onClose: this.close,
|
116
|
-
value: this.state.value,
|
117
129
|
onChange: this.handleChange
|
118
130
|
})}
|
119
131
|
</Modal.Body>
|
package/src/components/PopUp.tsx
CHANGED
@@ -13,8 +13,7 @@ import Transition, {
|
|
13
13
|
ENTERING
|
14
14
|
} from 'react-transition-group/Transition';
|
15
15
|
import Portal from 'react-overlays/Portal';
|
16
|
-
import {
|
17
|
-
|
16
|
+
import {Icon} from './icons';
|
18
17
|
|
19
18
|
export interface PopUpPorps {
|
20
19
|
className?: string;
|
@@ -30,6 +29,7 @@ export interface PopUpPorps {
|
|
30
29
|
container?: any;
|
31
30
|
hideClose?: boolean;
|
32
31
|
placement?: 'left' | 'center' | 'right';
|
32
|
+
header?: JSX.Element;
|
33
33
|
}
|
34
34
|
|
35
35
|
const fadeStyles: {
|
@@ -46,12 +46,10 @@ export class PopUp extends React.PureComponent<PopUpPorps> {
|
|
46
46
|
overlay: true,
|
47
47
|
isShow: false,
|
48
48
|
container: document.body,
|
49
|
-
hideClose: false
|
49
|
+
hideClose: false
|
50
50
|
};
|
51
51
|
|
52
|
-
componentDidMount() {
|
53
|
-
|
54
|
-
}
|
52
|
+
componentDidMount() {}
|
55
53
|
handleClick(e: React.MouseEvent) {
|
56
54
|
e.stopPropagation();
|
57
55
|
}
|
@@ -68,65 +66,52 @@ export class PopUp extends React.PureComponent<PopUpPorps> {
|
|
68
66
|
isShow,
|
69
67
|
container,
|
70
68
|
hideClose,
|
71
|
-
|
69
|
+
header,
|
70
|
+
placement = 'center',
|
72
71
|
...rest
|
73
72
|
} = this.props;
|
74
73
|
|
75
74
|
const outerStyle: any = {
|
76
|
-
...style
|
75
|
+
...style
|
77
76
|
};
|
78
77
|
delete outerStyle.top;
|
79
78
|
return (
|
80
79
|
<Portal container={container}>
|
81
|
-
<Transition
|
82
|
-
mountOnEnter
|
83
|
-
unmountOnExit
|
84
|
-
in={isShow}
|
85
|
-
timeout={500}
|
86
|
-
appear
|
87
|
-
>
|
80
|
+
<Transition mountOnEnter unmountOnExit in={isShow} timeout={500} appear>
|
88
81
|
{(status: string) => {
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
{
|
98
|
-
|
99
|
-
>
|
100
|
-
{
|
101
|
-
<div className={`${ns}PopUp-
|
102
|
-
|
103
|
-
|
104
|
-
|
82
|
+
return (
|
83
|
+
<div
|
84
|
+
className={cx(`${ns}PopUp`, className, fadeStyles[status])}
|
85
|
+
style={outerStyle}
|
86
|
+
{...rest}
|
87
|
+
onClick={this.handleClick}
|
88
|
+
>
|
89
|
+
{overlay && (
|
90
|
+
<div className={`${ns}PopUp-overlay`} onClick={onHide} />
|
91
|
+
)}
|
92
|
+
<div className={cx(`${ns}PopUp-inner`)}>
|
93
|
+
{!hideClose && (
|
94
|
+
<div className={cx(`${ns}PopUp-closeWrap`)}>
|
95
|
+
{header}
|
96
|
+
<Icon
|
97
|
+
icon="close"
|
98
|
+
className={cx('icon', `${ns}PopUp-close`)}
|
99
|
+
onClick={onHide}
|
100
|
+
/>
|
101
|
+
</div>
|
105
102
|
)}
|
103
|
+
<div
|
104
|
+
className={cx(`${ns}PopUp-content`, `justify-${placement}`)}
|
106
105
|
>
|
107
|
-
{
|
108
|
-
!hideClose && (
|
109
|
-
<div className={cx(`${ns}PopUp-closeWrap`, 'text-right')}>
|
110
|
-
<Icon
|
111
|
-
icon="close"
|
112
|
-
className={cx('icon', `${ns}PopUp-close`)}
|
113
|
-
onClick={onHide}
|
114
|
-
/>
|
115
|
-
</div>
|
116
|
-
)
|
117
|
-
}
|
118
|
-
<div
|
119
|
-
className={cx(`${ns}PopUp-content`, `justify-${placement}`)}
|
120
|
-
>
|
121
|
-
{children}
|
122
|
-
</div>
|
106
|
+
{children}
|
123
107
|
</div>
|
124
108
|
</div>
|
125
|
-
|
109
|
+
</div>
|
110
|
+
);
|
126
111
|
}}
|
127
112
|
</Transition>
|
128
113
|
</Portal>
|
129
|
-
)
|
114
|
+
);
|
130
115
|
}
|
131
116
|
}
|
132
117
|
|
@@ -6,6 +6,7 @@ import {Icon} from './icons';
|
|
6
6
|
import Input from './Input';
|
7
7
|
import {autobind, ucFirst} from '../utils/helper';
|
8
8
|
import {LocaleProps, localeable} from '../locale';
|
9
|
+
import isPlainObject = require('lodash/isPlainObject');
|
9
10
|
|
10
11
|
export interface ResultBoxProps
|
11
12
|
extends ThemeProps,
|
@@ -147,7 +148,9 @@ export class ResultBox extends React.Component<ResultBoxProps> {
|
|
147
148
|
</div>
|
148
149
|
))
|
149
150
|
) : result && !Array.isArray(result) ? (
|
150
|
-
<span className={cx('ResultBox-singleValue')}>
|
151
|
+
<span className={cx('ResultBox-singleValue')}>
|
152
|
+
{isPlainObject(result) ? itemRender(result) : result}
|
153
|
+
</span>
|
151
154
|
) : allowInput && !disabled ? null : (
|
152
155
|
<span className={cx('ResultBox-placeholder')}>
|
153
156
|
{__(placeholder || 'placeholder.noData')}
|
@@ -13,21 +13,28 @@ import {LocaleProps, localeable} from '../locale';
|
|
13
13
|
export interface ResultListProps extends ThemeProps, LocaleProps {
|
14
14
|
className?: string;
|
15
15
|
value?: Array<Option>;
|
16
|
-
onChange?: (value: Array<Option
|
16
|
+
onChange?: (value: Array<Option>, optionModified?: boolean) => void;
|
17
17
|
sortable?: boolean;
|
18
18
|
disabled?: boolean;
|
19
19
|
title?: string;
|
20
20
|
placeholder: string;
|
21
|
-
itemRender: (option: Option) => JSX.Element;
|
21
|
+
itemRender: (option: Option, states: ItemRenderStates) => JSX.Element;
|
22
22
|
itemClassName?: string;
|
23
23
|
}
|
24
24
|
|
25
|
+
export interface ItemRenderStates {
|
26
|
+
index: number;
|
27
|
+
disabled?: boolean;
|
28
|
+
onChange: (value: any, name: string) => void;
|
29
|
+
}
|
30
|
+
|
25
31
|
export class ResultList extends React.Component<ResultListProps> {
|
32
|
+
static itemRender(option: any) {
|
33
|
+
return <span>{`${option.scopeLabel || ''}${option.label}`}</span>;
|
34
|
+
}
|
26
35
|
static defaultProps: Pick<ResultListProps, 'placeholder' | 'itemRender'> = {
|
27
36
|
placeholder: 'placeholder.selectData',
|
28
|
-
itemRender:
|
29
|
-
<span>{`${option.scopeLabel || ''}${option.label}`}</span>
|
30
|
-
)
|
37
|
+
itemRender: ResultList.itemRender
|
31
38
|
};
|
32
39
|
|
33
40
|
id = guid();
|
@@ -114,6 +121,23 @@ export class ResultList extends React.Component<ResultListProps> {
|
|
114
121
|
delete this.sortable;
|
115
122
|
}
|
116
123
|
|
124
|
+
handleValueChange(index: number, value: any, name: string) {
|
125
|
+
if (typeof name !== 'string') {
|
126
|
+
return;
|
127
|
+
}
|
128
|
+
const {value: list, onChange} = this.props;
|
129
|
+
|
130
|
+
const result = Array.isArray(list) ? list.concat() : [];
|
131
|
+
if (!result[index]) {
|
132
|
+
return;
|
133
|
+
}
|
134
|
+
result.splice(index, 1, {
|
135
|
+
...result[index],
|
136
|
+
[name]: value
|
137
|
+
});
|
138
|
+
onChange?.(result, true);
|
139
|
+
}
|
140
|
+
|
117
141
|
render() {
|
118
142
|
const {
|
119
143
|
classnames: cx,
|
@@ -150,7 +174,13 @@ export class ResultList extends React.Component<ResultListProps> {
|
|
150
174
|
/>
|
151
175
|
) : null}
|
152
176
|
|
153
|
-
<label>
|
177
|
+
<label>
|
178
|
+
{itemRender(option, {
|
179
|
+
index,
|
180
|
+
disabled,
|
181
|
+
onChange: this.handleValueChange.bind(this, index)
|
182
|
+
})}
|
183
|
+
</label>
|
154
184
|
|
155
185
|
{!disabled ? (
|
156
186
|
<a
|
@@ -926,7 +926,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
|
|
926
926
|
const menu = mobileUI ? (
|
927
927
|
<Picker
|
928
928
|
className={cx('PickerColumns-column', mobileClassName)}
|
929
|
-
labelField=
|
929
|
+
labelField="label"
|
930
930
|
value={value[0]}
|
931
931
|
translate={this.props.translate}
|
932
932
|
locale={this.props.locale}
|
@@ -29,18 +29,30 @@ export interface BaseSelectionProps extends ThemeProps, LocaleProps {
|
|
29
29
|
labelClassName?: string;
|
30
30
|
option2value?: (option: Option) => any;
|
31
31
|
itemClassName?: string;
|
32
|
-
itemRender: (option: Option) => JSX.Element;
|
32
|
+
itemRender: (option: Option, states: ItemRenderStates) => JSX.Element;
|
33
33
|
disabled?: boolean;
|
34
34
|
onClick?: (e: React.MouseEvent) => void;
|
35
35
|
}
|
36
36
|
|
37
|
+
export interface ItemRenderStates {
|
38
|
+
index: number;
|
39
|
+
multiple?: boolean;
|
40
|
+
checked: boolean;
|
41
|
+
onChange: () => void;
|
42
|
+
disabled?: boolean;
|
43
|
+
}
|
44
|
+
|
37
45
|
export class BaseSelection<
|
38
46
|
T extends BaseSelectionProps = BaseSelectionProps,
|
39
47
|
S = any
|
40
48
|
> extends React.Component<T, S> {
|
49
|
+
static itemRender(option: Option, states: ItemRenderStates) {
|
50
|
+
return <span>{option.label}</span>;
|
51
|
+
}
|
52
|
+
|
41
53
|
static defaultProps = {
|
42
54
|
placeholder: 'placeholder.noOption',
|
43
|
-
itemRender:
|
55
|
+
itemRender: BaseSelection.itemRender,
|
44
56
|
multiple: true,
|
45
57
|
clearable: false
|
46
58
|
};
|
@@ -182,7 +194,13 @@ export class BaseSelection<
|
|
182
194
|
labelClassName={labelClassName}
|
183
195
|
description={option.description}
|
184
196
|
>
|
185
|
-
{itemRender(option
|
197
|
+
{itemRender(option, {
|
198
|
+
index: key,
|
199
|
+
multiple: multiple,
|
200
|
+
checked: !!~valueArray.indexOf(option),
|
201
|
+
onChange: () => this.toggleOption(option),
|
202
|
+
disabled: disabled || option.disabled
|
203
|
+
})}
|
186
204
|
</Checkbox>
|
187
205
|
));
|
188
206
|
}
|
package/src/components/Steps.tsx
CHANGED
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import {themeable, ThemeProps} from '../theme';
|
3
3
|
import {Icon} from './icons';
|
4
4
|
import {BaseSchema} from '../Schema';
|
5
|
-
import {
|
5
|
+
import {isMobile} from '../utils/helper';
|
6
6
|
|
7
7
|
export enum StepStatus {
|
8
8
|
wait = 'wait',
|
@@ -63,7 +63,7 @@ export interface StepsSchema extends BaseSchema {
|
|
63
63
|
*/
|
64
64
|
name?: string;
|
65
65
|
|
66
|
-
status: StepStatus
|
66
|
+
status: StepStatus;
|
67
67
|
|
68
68
|
/**
|
69
69
|
* 展示模式
|
@@ -75,9 +75,11 @@ export interface StepsProps extends ThemeProps {
|
|
75
75
|
steps: StepSchema[];
|
76
76
|
className: string;
|
77
77
|
current: number;
|
78
|
-
status?:
|
79
|
-
|
80
|
-
|
78
|
+
status?:
|
79
|
+
| StepStatus
|
80
|
+
| {
|
81
|
+
[propName: string]: StepStatus;
|
82
|
+
};
|
81
83
|
mode?: 'horizontal' | 'vertical';
|
82
84
|
useMobileUI?: boolean;
|
83
85
|
}
|
@@ -127,7 +129,14 @@ export function Steps(props: StepsProps) {
|
|
127
129
|
|
128
130
|
const mobileUI = useMobileUI && isMobile();
|
129
131
|
return (
|
130
|
-
<ul
|
132
|
+
<ul
|
133
|
+
className={cx(
|
134
|
+
'Steps',
|
135
|
+
`Steps--${mode}`,
|
136
|
+
mobileUI ? 'Steps-mobile' : '',
|
137
|
+
className
|
138
|
+
)}
|
139
|
+
>
|
131
140
|
{stepsRow.map((step, i) => {
|
132
141
|
const {stepStatus, icon} = getStepStatus(step, i);
|
133
142
|
|
@@ -137,8 +146,12 @@ export function Steps(props: StepsProps) {
|
|
137
146
|
className={cx('StepsItem', `is-${stepStatus}`, step.className)}
|
138
147
|
>
|
139
148
|
<div className={cx('StepsItem-container')}>
|
140
|
-
<div
|
141
|
-
|
149
|
+
<div
|
150
|
+
className={cx(
|
151
|
+
'StepsItem-containerIcon',
|
152
|
+
i < current && 'is-success'
|
153
|
+
)}
|
154
|
+
>
|
142
155
|
<span className={cx('StepsItem-icon')}>
|
143
156
|
{icon ? <Icon icon={icon} className="icon" /> : i + 1}
|
144
157
|
</span>
|
@@ -166,7 +179,7 @@ export function Steps(props: StepsProps) {
|
|
166
179
|
);
|
167
180
|
})}
|
168
181
|
</ul>
|
169
|
-
)
|
182
|
+
);
|
170
183
|
}
|
171
184
|
|
172
|
-
export default themeable(Steps);
|
185
|
+
export default themeable(Steps);
|
@@ -153,50 +153,7 @@ export class TableSelection extends BaseSelection<TableSelectionProps> {
|
|
153
153
|
}
|
154
154
|
|
155
155
|
render() {
|
156
|
-
const {
|
157
|
-
value,
|
158
|
-
options,
|
159
|
-
className,
|
160
|
-
labelClassName,
|
161
|
-
disabled,
|
162
|
-
classnames: cx,
|
163
|
-
option2value,
|
164
|
-
itemClassName,
|
165
|
-
itemRender,
|
166
|
-
multiple
|
167
|
-
} = this.props;
|
168
|
-
|
169
|
-
let valueArray = BaseSelection.value2array(value, options, option2value);
|
170
|
-
let body: Array<React.ReactNode> = [];
|
171
|
-
|
172
|
-
if (Array.isArray(options) && options.length) {
|
173
|
-
body = options.map((option, key) => (
|
174
|
-
<div
|
175
|
-
key={key}
|
176
|
-
className={cx(
|
177
|
-
'TableSelection-item',
|
178
|
-
itemClassName,
|
179
|
-
option.className,
|
180
|
-
disabled || option.disabled ? 'is-disabled' : ''
|
181
|
-
)}
|
182
|
-
onClick={() => this.toggleOption(option)}
|
183
|
-
>
|
184
|
-
<div className={cx('TableSelection-itemLabel')}>
|
185
|
-
{itemRender(option)}
|
186
|
-
</div>
|
187
|
-
|
188
|
-
{multiple ? (
|
189
|
-
<Checkbox
|
190
|
-
size="sm"
|
191
|
-
checked={!!~valueArray.indexOf(option)}
|
192
|
-
disabled={disabled || option.disabled}
|
193
|
-
labelClassName={labelClassName}
|
194
|
-
description={option.description}
|
195
|
-
/>
|
196
|
-
) : null}
|
197
|
-
</div>
|
198
|
-
));
|
199
|
-
}
|
156
|
+
const {className, classnames: cx} = this.props;
|
200
157
|
|
201
158
|
return (
|
202
159
|
<div className={cx('TableSelection', className)}>
|
package/src/components/Tabs.tsx
CHANGED
@@ -96,7 +96,7 @@ export interface TabsProps extends ThemeProps {
|
|
96
96
|
tabs?: Array<TabProps>;
|
97
97
|
tabRender?: (tab: TabProps, props?: TabsProps) => JSX.Element;
|
98
98
|
toolbar?: React.ReactNode;
|
99
|
-
scrollable?: boolean // 是否支持溢出滚动
|
99
|
+
scrollable?: boolean; // 是否支持溢出滚动
|
100
100
|
}
|
101
101
|
|
102
102
|
export class Tabs extends React.Component<TabsProps, any> {
|
@@ -107,23 +107,25 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
107
107
|
|
108
108
|
static Tab = Tab;
|
109
109
|
navMain = React.createRef<HTMLDivElement>();
|
110
|
-
scroll:boolean = false;
|
110
|
+
scroll: boolean = false;
|
111
111
|
|
112
112
|
checkArrowStatus = debounce(
|
113
113
|
() => {
|
114
|
-
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
}
|
114
|
+
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {
|
115
|
+
scrollLeft: 0,
|
116
|
+
scrollWidth: 0,
|
117
|
+
clientWidth: 0
|
118
|
+
};
|
120
119
|
const {arrowRightDisabled, arrowLeftDisabled} = this.state;
|
121
120
|
if (scrollLeft === 0 && !arrowLeftDisabled) {
|
122
121
|
this.setState({
|
123
122
|
arrowRightDisabled: false,
|
124
123
|
arrowLeftDisabled: true
|
125
124
|
});
|
126
|
-
} else if (
|
125
|
+
} else if (
|
126
|
+
scrollWidth === scrollLeft + clientWidth &&
|
127
|
+
!arrowRightDisabled
|
128
|
+
) {
|
127
129
|
this.setState({
|
128
130
|
arrowRightDisabled: true,
|
129
131
|
arrowLeftDisabled: false
|
@@ -132,7 +134,10 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
132
134
|
this.setState({
|
133
135
|
arrowLeftDisabled: false
|
134
136
|
});
|
135
|
-
} else if (
|
137
|
+
} else if (
|
138
|
+
scrollWidth !== scrollLeft + clientWidth &&
|
139
|
+
arrowRightDisabled
|
140
|
+
) {
|
136
141
|
this.setState({
|
137
142
|
arrowRightDisabled: false
|
138
143
|
});
|
@@ -143,21 +148,23 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
143
148
|
trailing: true,
|
144
149
|
leading: false
|
145
150
|
}
|
146
|
-
)
|
151
|
+
);
|
147
152
|
|
148
153
|
constructor(props: TabsProps) {
|
149
154
|
super(props);
|
150
155
|
this.state = {
|
151
156
|
isOverflow: false,
|
152
157
|
arrowLeftDisabled: false,
|
153
|
-
arrowRightDisabled: false
|
158
|
+
arrowRightDisabled: false
|
154
159
|
};
|
155
160
|
}
|
156
161
|
|
157
162
|
componentDidMount() {
|
158
163
|
this.computedWidth();
|
159
164
|
if (this.navMain) {
|
160
|
-
this.navMain.current?.addEventListener('wheel', this.handleWheel, {
|
165
|
+
this.navMain.current?.addEventListener('wheel', this.handleWheel, {
|
166
|
+
passive: false
|
167
|
+
});
|
161
168
|
this.checkArrowStatus();
|
162
169
|
}
|
163
170
|
}
|
@@ -207,7 +214,9 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
207
214
|
}
|
208
215
|
const {activeKey, children} = this.props;
|
209
216
|
const currentKey = key !== undefined ? key : activeKey;
|
210
|
-
const currentIndex = (children as any[])?.findIndex(
|
217
|
+
const currentIndex = (children as any[])?.findIndex(
|
218
|
+
(item: any) => item.props.eventKey === currentKey
|
219
|
+
);
|
211
220
|
const li = this.navMain.current?.children[0]?.children || [];
|
212
221
|
const currentLi = li[currentIndex] as HTMLElement;
|
213
222
|
const liOffsetLeft = currentLi?.offsetLeft - 20;
|
@@ -241,12 +250,11 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
241
250
|
}
|
242
251
|
|
243
252
|
handleArrow(type: 'left' | 'right') {
|
244
|
-
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
}
|
253
|
+
const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {
|
254
|
+
scrollLeft: 0,
|
255
|
+
scrollWidth: 0,
|
256
|
+
clientWidth: 0
|
257
|
+
};
|
250
258
|
if (type === 'left' && scrollLeft > 0) {
|
251
259
|
this.navMain.current?.scrollTo({
|
252
260
|
left: 0,
|
@@ -369,7 +377,7 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
369
377
|
}
|
370
378
|
|
371
379
|
renderArrow(type: 'left' | 'right') {
|
372
|
-
const {mode: dMode, tabsMode
|
380
|
+
const {mode: dMode, tabsMode} = this.props;
|
373
381
|
const mode = tabsMode || dMode;
|
374
382
|
if (mode === 'vertical') {
|
375
383
|
return;
|
@@ -377,17 +385,18 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
377
385
|
const {classnames: cx} = this.props;
|
378
386
|
const {isOverflow, arrowLeftDisabled, arrowRightDisabled} = this.state;
|
379
387
|
const disabled = type === 'left' ? arrowLeftDisabled : arrowRightDisabled;
|
380
|
-
return (
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
388
|
+
return isOverflow ? (
|
389
|
+
<div
|
390
|
+
onClick={() => this.handleArrow(type)}
|
391
|
+
className={cx(
|
392
|
+
'Tabs-linksContainer-arrow',
|
393
|
+
'Tabs-linksContainer-arrow--' + type,
|
394
|
+
disabled && 'Tabs-linksContainer-arrow--disabled'
|
395
|
+
)}
|
396
|
+
>
|
397
|
+
<i className={'iconfont icon-arrow-' + type} />
|
398
|
+
</div>
|
399
|
+
) : null;
|
391
400
|
}
|
392
401
|
|
393
402
|
render() {
|
@@ -421,28 +430,30 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
421
430
|
className
|
422
431
|
)}
|
423
432
|
>
|
424
|
-
{
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
</
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
433
|
+
{scrollable && !['vertical', 'chrome'].includes(mode) ? (
|
434
|
+
<div
|
435
|
+
className={cx(
|
436
|
+
'Tabs-linksContainer',
|
437
|
+
isOverflow && 'Tabs-linksContainer--overflow'
|
438
|
+
)}
|
439
|
+
>
|
440
|
+
{this.renderArrow('left')}
|
441
|
+
<div className={cx('Tabs-linksContainer-main')} ref={this.navMain}>
|
442
|
+
<ul className={cx('Tabs-links', linksClassName)} role="tablist">
|
443
|
+
{children.map((tab, index) => this.renderNav(tab, index))}
|
444
|
+
{additionBtns}
|
445
|
+
{toolbar}
|
446
|
+
</ul>
|
447
|
+
</div>
|
448
|
+
{this.renderArrow('right')}
|
449
|
+
</div>
|
450
|
+
) : (
|
451
|
+
<ul className={cx('Tabs-links', linksClassName)} role="tablist">
|
452
|
+
{children.map((tab, index) => this.renderNav(tab, index))}
|
453
|
+
{additionBtns}
|
454
|
+
{toolbar}
|
455
|
+
</ul>
|
456
|
+
)}
|
446
457
|
|
447
458
|
<div className={cx('Tabs-content', contentClassName)}>
|
448
459
|
{children.map((child, index) => {
|