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
@@ -11,12 +11,22 @@ import Transfer, {TransferProps} from './Transfer';
|
|
11
11
|
import {themeable} from '../theme';
|
12
12
|
import AssociatedCheckboxes from './AssociatedSelection';
|
13
13
|
import {localeable} from '../locale';
|
14
|
+
import {ItemRenderStates} from './Selection';
|
14
15
|
|
15
16
|
export interface TabsTransferProps
|
16
17
|
extends Omit<
|
17
18
|
TransferProps,
|
18
|
-
|
19
|
+
| 'selectMode'
|
20
|
+
| 'columns'
|
21
|
+
| 'selectRender'
|
22
|
+
| 'statistics'
|
23
|
+
| 'optionItemRender'
|
19
24
|
> {
|
25
|
+
optionItemRender?: (
|
26
|
+
option: Option,
|
27
|
+
states: ItemRenderStates,
|
28
|
+
tab: Option
|
29
|
+
) => JSX.Element;
|
20
30
|
cellRender?: (
|
21
31
|
column: {
|
22
32
|
name: string;
|
@@ -30,10 +40,6 @@ export interface TabsTransferProps
|
|
30
40
|
}
|
31
41
|
|
32
42
|
export class TabsTransfer extends React.Component<TabsTransferProps> {
|
33
|
-
static defaultProps = {
|
34
|
-
itemRender: (option: Option) => <span>{option.label}</span>
|
35
|
-
};
|
36
|
-
|
37
43
|
renderSearchResult(searchResult: Options | null) {
|
38
44
|
const {
|
39
45
|
searchResultMode,
|
@@ -44,7 +50,8 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
44
50
|
disabled,
|
45
51
|
onChange,
|
46
52
|
option2value,
|
47
|
-
cellRender
|
53
|
+
cellRender,
|
54
|
+
optionItemRender
|
48
55
|
} = this.props;
|
49
56
|
const options = searchResult || [];
|
50
57
|
const mode = searchResultMode;
|
@@ -70,6 +77,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
70
77
|
disabled={disabled}
|
71
78
|
onChange={onChange}
|
72
79
|
option2value={option2value}
|
80
|
+
itemRender={
|
81
|
+
optionItemRender
|
82
|
+
? (item: Option, states: ItemRenderStates) =>
|
83
|
+
optionItemRender(item, states, {
|
84
|
+
panel: 'result'
|
85
|
+
})
|
86
|
+
: undefined
|
87
|
+
}
|
73
88
|
/>
|
74
89
|
) : mode === 'chained' ? (
|
75
90
|
<ChainedCheckboxes
|
@@ -80,6 +95,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
80
95
|
disabled={disabled}
|
81
96
|
onChange={onChange}
|
82
97
|
option2value={option2value}
|
98
|
+
itemRender={
|
99
|
+
optionItemRender
|
100
|
+
? (item: Option, states: ItemRenderStates) =>
|
101
|
+
optionItemRender(item, states, {
|
102
|
+
panel: 'result'
|
103
|
+
})
|
104
|
+
: undefined
|
105
|
+
}
|
83
106
|
/>
|
84
107
|
) : (
|
85
108
|
<ListCheckboxes
|
@@ -90,6 +113,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
90
113
|
disabled={disabled}
|
91
114
|
onChange={onChange}
|
92
115
|
option2value={option2value}
|
116
|
+
itemRender={
|
117
|
+
optionItemRender
|
118
|
+
? (item: Option, states: ItemRenderStates) =>
|
119
|
+
optionItemRender(item, states, {
|
120
|
+
panel: 'result'
|
121
|
+
})
|
122
|
+
: undefined
|
123
|
+
}
|
93
124
|
/>
|
94
125
|
);
|
95
126
|
}
|
@@ -107,7 +138,8 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
107
138
|
option2value,
|
108
139
|
onDeferLoad,
|
109
140
|
cellRender,
|
110
|
-
translate: __
|
141
|
+
translate: __,
|
142
|
+
optionItemRender
|
111
143
|
} = this.props;
|
112
144
|
|
113
145
|
if (!Array.isArray(options) || !options.length) {
|
@@ -171,6 +203,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
171
203
|
onChange={onChange}
|
172
204
|
option2value={option2value}
|
173
205
|
onDeferLoad={onDeferLoad}
|
206
|
+
itemRender={
|
207
|
+
optionItemRender
|
208
|
+
? (item: Option, states: ItemRenderStates) =>
|
209
|
+
optionItemRender(item, states, {
|
210
|
+
panel: 'tab',
|
211
|
+
tag: option
|
212
|
+
})
|
213
|
+
: undefined
|
214
|
+
}
|
174
215
|
/>
|
175
216
|
) : option.selectMode === 'chained' ? (
|
176
217
|
<ChainedCheckboxes
|
@@ -182,6 +223,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
182
223
|
option2value={option2value}
|
183
224
|
onDeferLoad={onDeferLoad}
|
184
225
|
defaultSelectedIndex={option.defaultSelectedIndex}
|
226
|
+
itemRender={
|
227
|
+
optionItemRender
|
228
|
+
? (item: Option, states: ItemRenderStates) =>
|
229
|
+
optionItemRender(item, states, {
|
230
|
+
panel: 'tab',
|
231
|
+
tag: option
|
232
|
+
})
|
233
|
+
: undefined
|
234
|
+
}
|
185
235
|
/>
|
186
236
|
) : option.selectMode === 'associated' ? (
|
187
237
|
<AssociatedCheckboxes
|
@@ -195,6 +245,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
195
245
|
leftMode={option.leftMode}
|
196
246
|
leftOptions={option.leftOptions}
|
197
247
|
leftDefaultValue={option.leftDefaultValue}
|
248
|
+
itemRender={
|
249
|
+
optionItemRender
|
250
|
+
? (item: Option, states: ItemRenderStates) =>
|
251
|
+
optionItemRender(item, states, {
|
252
|
+
panel: 'tab',
|
253
|
+
tag: option
|
254
|
+
})
|
255
|
+
: undefined
|
256
|
+
}
|
198
257
|
/>
|
199
258
|
) : (
|
200
259
|
<ListCheckboxes
|
@@ -205,6 +264,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
205
264
|
onChange={onChange}
|
206
265
|
option2value={option2value}
|
207
266
|
onDeferLoad={onDeferLoad}
|
267
|
+
itemRender={
|
268
|
+
optionItemRender
|
269
|
+
? (item: Option, states: ItemRenderStates) =>
|
270
|
+
optionItemRender(item, states, {
|
271
|
+
panel: 'tab',
|
272
|
+
tag: option
|
273
|
+
})
|
274
|
+
: undefined
|
275
|
+
}
|
208
276
|
/>
|
209
277
|
)}
|
210
278
|
</Tab>
|
@@ -214,12 +282,13 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
|
|
214
282
|
}
|
215
283
|
|
216
284
|
render() {
|
217
|
-
const {className, classnames: cx} = this.props;
|
285
|
+
const {className, classnames: cx, optionItemRender, ...reset} = this.props;
|
218
286
|
|
219
287
|
return (
|
220
288
|
<Transfer
|
221
|
-
{...
|
289
|
+
{...reset}
|
222
290
|
statistics={false}
|
291
|
+
classnames={cx}
|
223
292
|
className={cx('TabsTransfer', className)}
|
224
293
|
selectRender={this.renderSelect}
|
225
294
|
/>
|
@@ -5,7 +5,7 @@ import React from 'react';
|
|
5
5
|
import ResultBox from './ResultBox';
|
6
6
|
import {Icon} from './icons';
|
7
7
|
import PickerContainer from './PickerContainer';
|
8
|
-
import {autobind} from '../utils/helper';
|
8
|
+
import {autobind, mapTree} from '../utils/helper';
|
9
9
|
import TabsTransfer, {TabsTransferProps} from './TabsTransfer';
|
10
10
|
|
11
11
|
export interface TabsTransferPickerProps
|
@@ -15,18 +15,12 @@ export interface TabsTransferPickerProps
|
|
15
15
|
}
|
16
16
|
|
17
17
|
export class TransferPicker extends React.Component<TabsTransferPickerProps> {
|
18
|
-
|
19
|
-
handleClose() {
|
20
|
-
this.setState({
|
21
|
-
inputValue: '',
|
22
|
-
searchResult: null
|
23
|
-
});
|
24
|
-
}
|
18
|
+
optionModified = false;
|
25
19
|
|
26
20
|
@autobind
|
27
21
|
handleConfirm(value: any) {
|
28
|
-
this.props.onChange?.(value);
|
29
|
-
this.
|
22
|
+
this.props.onChange?.(value, this.optionModified);
|
23
|
+
this.optionModified = false;
|
30
24
|
}
|
31
25
|
|
32
26
|
render() {
|
@@ -44,12 +38,30 @@ export class TransferPicker extends React.Component<TabsTransferPickerProps> {
|
|
44
38
|
return (
|
45
39
|
<PickerContainer
|
46
40
|
title={__('Select.placeholder')}
|
47
|
-
bodyRender={({onClose, value, onChange}) => {
|
48
|
-
return
|
41
|
+
bodyRender={({onClose, value, onChange, setState, ...states}) => {
|
42
|
+
return (
|
43
|
+
<TabsTransfer
|
44
|
+
{...rest}
|
45
|
+
{...states}
|
46
|
+
value={value}
|
47
|
+
onChange={(value: any, optionModified) => {
|
48
|
+
if (optionModified) {
|
49
|
+
let options = mapTree(rest.options, item => {
|
50
|
+
return (
|
51
|
+
value.find((a: any) => a.value === item.value) || item
|
52
|
+
);
|
53
|
+
});
|
54
|
+
this.optionModified = true;
|
55
|
+
setState({options, value});
|
56
|
+
} else {
|
57
|
+
onChange(value);
|
58
|
+
}
|
59
|
+
}}
|
60
|
+
/>
|
61
|
+
);
|
49
62
|
}}
|
50
63
|
value={value}
|
51
64
|
onConfirm={this.handleConfirm}
|
52
|
-
onCancel={this.handleClose}
|
53
65
|
size={size}
|
54
66
|
>
|
55
67
|
{({onClick, isOpened}) => (
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {themeable, ThemeProps} from '../theme';
|
3
|
+
import TimelineItem, {TimelineItemProps} from './TimelineItem';
|
4
|
+
|
5
|
+
export interface TimelineProps extends ThemeProps {
|
6
|
+
items: Array<TimelineItemProps>;
|
7
|
+
direction?: 'vertical' | 'horizontal';
|
8
|
+
reverse?: boolean;
|
9
|
+
mode?: 'left' | 'right' | 'alternate';
|
10
|
+
}
|
11
|
+
|
12
|
+
export function Timeline(props: TimelineProps) {
|
13
|
+
const {
|
14
|
+
items,
|
15
|
+
classnames: cx,
|
16
|
+
direction = 'vertical',
|
17
|
+
reverse = false,
|
18
|
+
mode = 'right',
|
19
|
+
} = props;
|
20
|
+
|
21
|
+
const timelineDatasource = items?.slice();
|
22
|
+
|
23
|
+
reverse && timelineDatasource?.reverse();
|
24
|
+
|
25
|
+
return (
|
26
|
+
<div className={cx('Timeline', `Timeline-${direction}`, `Timeline-${mode}`)}>
|
27
|
+
{timelineDatasource?.map((item: TimelineItemProps) => <TimelineItem {...item} />)}
|
28
|
+
</div>)
|
29
|
+
}
|
30
|
+
|
31
|
+
export default themeable(Timeline);
|
@@ -0,0 +1,107 @@
|
|
1
|
+
import React, {ReactNode, useState} from 'react';
|
2
|
+
import {localeable, LocaleProps} from '../locale';
|
3
|
+
import {SchemaExpression} from '../Schema';
|
4
|
+
import {themeable, ThemeProps} from '../theme';
|
5
|
+
import {Icon} from './icons';
|
6
|
+
|
7
|
+
export interface TimelineItemProps {
|
8
|
+
/**
|
9
|
+
* 时间点
|
10
|
+
*/
|
11
|
+
time: string;
|
12
|
+
|
13
|
+
/**
|
14
|
+
* 事件名称
|
15
|
+
*/
|
16
|
+
title?: string| ReactNode;
|
17
|
+
|
18
|
+
/**
|
19
|
+
* 详细内容
|
20
|
+
*/
|
21
|
+
detail?: string;
|
22
|
+
|
23
|
+
/**
|
24
|
+
* detail折叠时文案
|
25
|
+
*/
|
26
|
+
detailCollapsedText?: string;
|
27
|
+
|
28
|
+
/**
|
29
|
+
* detail展开时文案
|
30
|
+
*/
|
31
|
+
detailExpandedText?: string;
|
32
|
+
|
33
|
+
/**
|
34
|
+
* 时间点圆圈颜色,可传入英文/颜色值/level样式(info、success、warning、danger)
|
35
|
+
*/
|
36
|
+
color?: SchemaExpression;
|
37
|
+
|
38
|
+
/**
|
39
|
+
* 图标
|
40
|
+
*/
|
41
|
+
icon?: string | ReactNode;
|
42
|
+
}
|
43
|
+
|
44
|
+
export interface TimelineItem extends ThemeProps, LocaleProps, TimelineItemProps {}
|
45
|
+
|
46
|
+
export function TimelineItem(props: TimelineItem) {
|
47
|
+
const {
|
48
|
+
time,
|
49
|
+
title,
|
50
|
+
detail,
|
51
|
+
detailCollapsedText,
|
52
|
+
detailExpandedText,
|
53
|
+
color,
|
54
|
+
icon,
|
55
|
+
classnames: cx,
|
56
|
+
translate: __,
|
57
|
+
} = props;
|
58
|
+
|
59
|
+
const [detailVisible, setDetailVisible] = useState<boolean>(false);
|
60
|
+
|
61
|
+
const renderDetail = (detail: string, detailCollapsedText: string = __('Timeline.collapseText'), detailExpandedText: string = __('Timeline.expandText')) : ReactNode => {
|
62
|
+
|
63
|
+
return (
|
64
|
+
<>
|
65
|
+
<div className={cx('TimelineItem-detail-button')} onClick={() => setDetailVisible(!detailVisible)}>
|
66
|
+
{detailVisible ? detailExpandedText : detailCollapsedText}
|
67
|
+
<div className={cx('TimelineItem-detail-arrow', `${detailVisible && 'TimelineItem-detail-arrow-top'}`)}>
|
68
|
+
<Icon icon="tree-down"/>
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
<div className={cx(`${detailVisible ? 'TimelineItem-detail-visible' : 'TimelineItem-detail-invisible'}`)}>
|
72
|
+
{detail}
|
73
|
+
</div>
|
74
|
+
</>);
|
75
|
+
}
|
76
|
+
|
77
|
+
// 判断是否为颜色值
|
78
|
+
const isColorVal = color && /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(color);
|
79
|
+
|
80
|
+
// 取level级颜色
|
81
|
+
const levelColor = !isColorVal && color;
|
82
|
+
|
83
|
+
return (
|
84
|
+
<div className={cx('TimelineItem')}>
|
85
|
+
<div className={cx('TimelineItem-axle')}>
|
86
|
+
<div className={cx('TimelineItem-line')}></div>
|
87
|
+
{icon
|
88
|
+
? <div className={cx('TimelineItem-icon')}>
|
89
|
+
<Icon icon={icon} className="icon"/>
|
90
|
+
</div>
|
91
|
+
: <div
|
92
|
+
className={cx('TimelineItem-round',
|
93
|
+
levelColor && `TimelineItem-round--${levelColor}`)}
|
94
|
+
style={isColorVal ? {backgroundColor: color} : undefined}
|
95
|
+
></div>
|
96
|
+
}
|
97
|
+
</div>
|
98
|
+
<div className={cx('TimelineItem-content')}>
|
99
|
+
<div className={cx('TimelineItem-time')}>{time}</div>
|
100
|
+
<div className={cx('TimelineItem-title')}>{title}</div>
|
101
|
+
{detail
|
102
|
+
&& <div className={cx('TimelineItem-detail')}>{renderDetail(detail, detailCollapsedText, detailExpandedText)}</div>}
|
103
|
+
</div>
|
104
|
+
</div>)
|
105
|
+
}
|
106
|
+
|
107
|
+
export default themeable(localeable(TimelineItem));
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import {ThemeProps, themeable} from '../theme';
|
3
|
-
import {BaseSelectionProps, BaseSelection} from './Selection';
|
3
|
+
import {BaseSelectionProps, BaseSelection, ItemRenderStates} from './Selection';
|
4
4
|
import {Options, Option} from './Select';
|
5
5
|
import {uncontrollable} from 'uncontrollable';
|
6
6
|
import ResultList from './ResultList';
|
@@ -14,11 +14,12 @@ import AssociatedSelection from './AssociatedSelection';
|
|
14
14
|
import {LocaleProps, localeable} from '../locale';
|
15
15
|
import GroupedSelection from './GroupedSelection';
|
16
16
|
import ChainedSelection from './ChainedSelection';
|
17
|
+
import {ItemRenderStates as ResultItemRenderStates} from './ResultList';
|
17
18
|
|
18
19
|
export interface TransferProps
|
19
20
|
extends ThemeProps,
|
20
21
|
LocaleProps,
|
21
|
-
BaseSelectionProps {
|
22
|
+
Omit<BaseSelectionProps, 'itemRender'> {
|
22
23
|
inline?: boolean;
|
23
24
|
statistics?: boolean;
|
24
25
|
showArrow?: boolean;
|
@@ -55,6 +56,7 @@ export interface TransferProps
|
|
55
56
|
}>;
|
56
57
|
searchPlaceholder?: string;
|
57
58
|
noResultsText?: string;
|
59
|
+
onChange?: (value: Array<Option>, optionModified?: boolean) => void;
|
58
60
|
onSearch?: (
|
59
61
|
term: string,
|
60
62
|
setCancel: (cancel: () => void) => void
|
@@ -70,8 +72,11 @@ export interface TransferProps
|
|
70
72
|
) => JSX.Element;
|
71
73
|
|
72
74
|
resultTitle?: string;
|
73
|
-
optionItemRender?: (option: Option) => JSX.Element;
|
74
|
-
resultItemRender?: (
|
75
|
+
optionItemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;
|
76
|
+
resultItemRender?: (
|
77
|
+
option: Option,
|
78
|
+
states: ResultItemRenderStates
|
79
|
+
) => JSX.Element;
|
75
80
|
sortable?: boolean;
|
76
81
|
}
|
77
82
|
|
@@ -83,9 +88,8 @@ export interface TransferState {
|
|
83
88
|
export class Transfer<
|
84
89
|
T extends TransferProps = TransferProps
|
85
90
|
> extends React.Component<T, TransferState> {
|
86
|
-
static defaultProps: Pick<TransferProps, '
|
87
|
-
multiple: true
|
88
|
-
itemRender: (option: Option) => <span>{option.label}</span>
|
91
|
+
static defaultProps: Pick<TransferProps, 'multiple'> = {
|
92
|
+
multiple: true
|
89
93
|
};
|
90
94
|
|
91
95
|
state = {
|
@@ -382,7 +386,6 @@ export class Transfer<
|
|
382
386
|
option2value={option2value}
|
383
387
|
onDeferLoad={onDeferLoad}
|
384
388
|
cellRender={cellRender}
|
385
|
-
itemRender={optionItemRender}
|
386
389
|
multiple={multiple}
|
387
390
|
/>
|
388
391
|
) : selectMode === 'tree' ? (
|
@@ -88,13 +88,7 @@ export class TransferDropDown extends Transfer<TransferDropDownProps> {
|
|
88
88
|
)}
|
89
89
|
borderMode={borderMode}
|
90
90
|
allowInput={false}
|
91
|
-
result={
|
92
|
-
multiple
|
93
|
-
? value
|
94
|
-
: value?.[0]
|
95
|
-
? this.props.itemRender(value[0])
|
96
|
-
: null
|
97
|
-
}
|
91
|
+
result={multiple ? value : value?.[0] ? value?.[0] : null}
|
98
92
|
onResultChange={onChange}
|
99
93
|
onResultClick={onClick}
|
100
94
|
placeholder={__('Select.placeholder')}
|
@@ -6,7 +6,7 @@ import React from 'react';
|
|
6
6
|
import ResultBox from './ResultBox';
|
7
7
|
import {Icon} from './icons';
|
8
8
|
import PickerContainer from './PickerContainer';
|
9
|
-
import {autobind} from '../utils/helper';
|
9
|
+
import {autobind, mapTree} from '../utils/helper';
|
10
10
|
|
11
11
|
export interface TransferPickerProps extends Omit<TransferProps, 'itemRender'> {
|
12
12
|
// 新的属性?
|
@@ -19,9 +19,11 @@ export interface TransferPickerProps extends Omit<TransferProps, 'itemRender'> {
|
|
19
19
|
}
|
20
20
|
|
21
21
|
export class TransferPicker extends React.Component<TransferPickerProps> {
|
22
|
+
optionModified = false;
|
22
23
|
@autobind
|
23
24
|
handleConfirm(value: any) {
|
24
|
-
this.props.onChange?.(value);
|
25
|
+
this.props.onChange?.(value, this.optionModified);
|
26
|
+
this.optionModified = false;
|
25
27
|
}
|
26
28
|
|
27
29
|
render() {
|
@@ -40,8 +42,27 @@ export class TransferPicker extends React.Component<TransferPickerProps> {
|
|
40
42
|
return (
|
41
43
|
<PickerContainer
|
42
44
|
title={__('Select.placeholder')}
|
43
|
-
bodyRender={({onClose, value, onChange}) => {
|
44
|
-
return
|
45
|
+
bodyRender={({onClose, value, onChange, setState, ...states}) => {
|
46
|
+
return (
|
47
|
+
<Transfer
|
48
|
+
{...rest}
|
49
|
+
{...states}
|
50
|
+
value={value}
|
51
|
+
onChange={(value: any, optionModified) => {
|
52
|
+
if (optionModified) {
|
53
|
+
let options = mapTree(rest.options, item => {
|
54
|
+
return (
|
55
|
+
value.find((a: any) => a.value === item.value) || item
|
56
|
+
);
|
57
|
+
});
|
58
|
+
this.optionModified = true;
|
59
|
+
setState({options, value});
|
60
|
+
} else {
|
61
|
+
onChange(value);
|
62
|
+
}
|
63
|
+
}}
|
64
|
+
/>
|
65
|
+
);
|
45
66
|
}}
|
46
67
|
value={value}
|
47
68
|
onConfirm={this.handleConfirm}
|
@@ -239,7 +239,13 @@ export class TreeSelection extends BaseSelection<
|
|
239
239
|
) : null}
|
240
240
|
|
241
241
|
<div className={cx('TreeSelection-itemLabel')}>
|
242
|
-
{itemRender(option
|
242
|
+
{itemRender(option, {
|
243
|
+
index: index,
|
244
|
+
multiple: multiple,
|
245
|
+
checked: checked,
|
246
|
+
onChange: () => this.toggleOption(option),
|
247
|
+
disabled: disabled || option.disabled
|
248
|
+
})}
|
243
249
|
</div>
|
244
250
|
|
245
251
|
{option.defer && option.loading ? <Spinner show size="sm" /> : null}
|
@@ -7,7 +7,7 @@ import CustomCalendarContainer from './CalendarContainer';
|
|
7
7
|
import cx from 'classnames';
|
8
8
|
import moment from 'moment';
|
9
9
|
import {themeable, ThemeOutterProps, ThemeProps} from '../../theme';
|
10
|
-
import {convertDateArrayToDate} from
|
10
|
+
import {convertDateArrayToDate} from '../../utils/helper';
|
11
11
|
|
12
12
|
interface BaseDatePickerProps
|
13
13
|
extends Omit<ReactDatePicker.DatetimepickerProps, 'viewMode'> {
|
@@ -18,6 +18,7 @@ interface BaseDatePickerProps
|
|
18
18
|
onClose?: () => void;
|
19
19
|
isEndDate?: boolean;
|
20
20
|
minDate?: moment.Moment;
|
21
|
+
maxDate?: moment.Moment;
|
21
22
|
renderDay?: (
|
22
23
|
props: any,
|
23
24
|
currentDate: moment.Moment,
|
@@ -37,6 +38,10 @@ interface BaseDatePickerProps
|
|
37
38
|
}>;
|
38
39
|
largeMode?: boolean;
|
39
40
|
onScheduleClick?: (scheduleData: any) => void;
|
41
|
+
hideHeader?: boolean;
|
42
|
+
updateOn?: string;
|
43
|
+
useMobileUI?: boolean;
|
44
|
+
showToolbar?: boolean;
|
40
45
|
}
|
41
46
|
|
42
47
|
class BaseDatePicker extends ReactDatePicker {
|
@@ -92,9 +97,14 @@ class BaseDatePicker extends ReactDatePicker {
|
|
92
97
|
'isEndDate',
|
93
98
|
'classnames',
|
94
99
|
'minDate',
|
100
|
+
'maxDate',
|
95
101
|
'schedules',
|
96
102
|
'largeMode',
|
97
|
-
'onScheduleClick'
|
103
|
+
'onScheduleClick',
|
104
|
+
'hideHeader',
|
105
|
+
'updateOn',
|
106
|
+
'useMobileUI',
|
107
|
+
'showToolbar'
|
98
108
|
].forEach(key => (props[key] = (this.props as any)[key]));
|
99
109
|
|
100
110
|
return props;
|
@@ -193,8 +203,12 @@ class BaseDatePicker extends ReactDatePicker {
|
|
193
203
|
};
|
194
204
|
|
195
205
|
onConfirm = (value: number[], types: string[]) => {
|
196
|
-
const currentDate = (
|
197
|
-
|
206
|
+
const currentDate = (
|
207
|
+
this.state.selectedDate ||
|
208
|
+
this.state.viewDate ||
|
209
|
+
moment()
|
210
|
+
).clone();
|
211
|
+
|
198
212
|
const date = convertDateArrayToDate(value, types, currentDate);
|
199
213
|
|
200
214
|
if (!this.props.value) {
|
@@ -205,9 +219,8 @@ class BaseDatePicker extends ReactDatePicker {
|
|
205
219
|
}
|
206
220
|
this.props.onChange && this.props.onChange(date);
|
207
221
|
this.props.onClose && this.props.onClose();
|
208
|
-
}
|
222
|
+
};
|
209
223
|
|
210
|
-
|
211
224
|
render() {
|
212
225
|
const Component = CustomCalendarContainer as any;
|
213
226
|
const viewProps = this.getComponentProps();
|
@@ -218,8 +231,15 @@ class BaseDatePicker extends ReactDatePicker {
|
|
218
231
|
this.props.renderQuarter
|
219
232
|
];
|
220
233
|
}
|
234
|
+
else if (this.props.viewMode === 'years') {
|
235
|
+
viewProps.updateOn = 'years';
|
236
|
+
}
|
237
|
+
else if (this.props.viewMode === 'months') {
|
238
|
+
viewProps.updateOn = 'months';
|
239
|
+
}
|
221
240
|
|
222
241
|
viewProps.onConfirm = this.onConfirm;
|
242
|
+
|
223
243
|
return (
|
224
244
|
<div className={cx('rdt rdtStatic rdtOpen', this.props.className)}>
|
225
245
|
<div key="dt" className="rdtPicker">
|