amis 1.4.2-beta.1 → 1.4.2-beta.11
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 +9 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AnchorNav.d.ts +22 -21
- package/lib/components/AnchorNav.js +7 -3
- package/lib/components/AnchorNav.js.map +2 -2
- package/lib/components/ArrayInput.d.ts +84 -84
- package/lib/components/AssociatedSelection.d.ts +930 -0
- package/lib/components/AssociatedSelection.js +89 -0
- package/lib/components/AssociatedSelection.js.map +13 -0
- package/lib/components/Badge.js +2 -2
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
- package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
- package/lib/components/ChainedSelection.js.map +13 -0
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/GroupedSelection.d.ts +907 -0
- package/lib/components/GroupedSelection.js +48 -0
- package/lib/components/GroupedSelection.js.map +13 -0
- package/lib/components/Link.d.ts +29 -36
- package/lib/components/Link.js +14 -15
- package/lib/components/Link.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/ModalManager.js +1 -1
- package/lib/components/ModalManager.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/NumberInput.d.ts +20 -20
- package/lib/components/PickerColumn.d.ts +514 -0
- package/lib/components/PickerColumn.js +279 -0
- package/lib/components/PickerColumn.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +513 -0
- package/lib/components/PickerContainer.js +96 -0
- package/lib/components/PickerContainer.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -21
- package/lib/components/Radios.js +1 -0
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Rating.d.ts +21 -21
- package/lib/components/ResultBox.d.ts +84 -84
- package/lib/components/SearchBox.d.ts +84 -84
- package/lib/components/SearchBox.js +4 -4
- package/lib/components/SearchBox.js.map +2 -2
- package/lib/components/Select.d.ts +245 -237
- package/lib/components/Select.js +25 -4
- package/lib/components/Select.js.map +2 -2
- package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
- package/lib/components/Selection.js +134 -0
- package/lib/components/Selection.js.map +13 -0
- package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
- package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
- package/lib/components/TableSelection.js.map +13 -0
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransfer.d.ts +84 -84
- package/lib/components/TabsTransfer.js +9 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +489 -0
- package/lib/components/TabsTransferPicker.js +60 -0
- package/lib/components/TabsTransferPicker.js.map +13 -0
- package/lib/components/Transfer.d.ts +908 -274
- package/lib/components/Transfer.js +31 -24
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +487 -0
- package/lib/components/TransferDropDown.js +59 -0
- package/lib/components/TransferDropDown.js.map +13 -0
- package/lib/components/TransferPicker.d.ts +489 -0
- package/lib/components/TransferPicker.js +60 -0
- package/lib/components/TransferPicker.js.map +13 -0
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
- package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
- package/lib/components/TreeSelection.js.map +13 -0
- package/lib/components/WithRemoteConfig.js +1 -1
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/condition-builder/Field.js +5 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +2 -2
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.js +3 -3
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/index.d.ts +8 -8
- package/lib/components/index.js +16 -16
- package/lib/components/index.js.map +2 -2
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +4 -0
- package/lib/factory.js +4 -2
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +14 -0
- package/lib/hooks/index.js.map +13 -0
- package/lib/hooks/use-set-state.d.ts +2 -0
- package/lib/hooks/use-set-state.js +15 -0
- package/lib/hooks/use-set-state.js.map +13 -0
- package/lib/hooks/use-touch.d.ts +16 -0
- package/lib/hooks/use-touch.js +73 -0
- package/lib/hooks/use-touch.js.map +13 -0
- package/lib/hooks/use-update-effect.d.ts +3 -0
- package/lib/hooks/use-update-effect.js +17 -0
- package/lib/hooks/use-update-effect.js.map +13 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +2 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -0
- 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 +4 -3
- package/lib/renderers/Action.js +17 -4
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/AnchorNav.d.ts +1 -0
- package/lib/renderers/AnchorNav.js +2 -2
- package/lib/renderers/AnchorNav.js.map +2 -2
- package/lib/renderers/Avatar.js +3 -3
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +1 -1
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +9 -0
- package/lib/renderers/CRUD.js +24 -4
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +4 -0
- package/lib/renderers/Card.js +29 -23
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Chart.js +1 -1
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Collapse.js +3 -2
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/DropDownButton.js +1 -1
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +4 -3
- package/lib/renderers/Form/Editor.d.ts +3 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +7 -6
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputFile.js +10 -4
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +11 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js.map +1 -1
- package/lib/renderers/Form/Options.js +13 -3
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +41 -4
- package/lib/renderers/Form/Select.js +23 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TabsTransferPicker.js +29 -0
- package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
- package/lib/renderers/Form/Transfer.js +3 -2
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TransferPicker.js +29 -0
- package/lib/renderers/Form/TransferPicker.js.map +13 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +13 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/IFrame.js +1 -3
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Json.d.ts +4 -0
- package/lib/renderers/Json.js +4 -13
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Link.d.ts +4 -2
- package/lib/renderers/Link.js +15 -6
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/List.js +1 -1
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Mapping.d.ts +9 -2
- package/lib/renderers/Mapping.js +18 -6
- package/lib/renderers/Mapping.js.map +2 -2
- package/lib/renderers/Nav.d.ts +21 -21
- package/lib/renderers/Nav.js +39 -21
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Portlet.d.ts +125 -0
- package/lib/renderers/Portlet.js +156 -0
- package/lib/renderers/Portlet.js.map +13 -0
- package/lib/renderers/Property.js +2 -1
- package/lib/renderers/Property.js.map +2 -2
- package/lib/renderers/SearchBox.d.ts +6 -1
- package/lib/renderers/SearchBox.js +19 -5
- package/lib/renderers/SearchBox.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +4 -1
- package/lib/renderers/Table/TableContent.js +21 -1
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +5 -1
- package/lib/renderers/Table/index.js +64 -29
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +9 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/WebComponent.js +1 -1
- package/lib/renderers/WebComponent.js.map +2 -2
- package/lib/store/combo.d.ts +2 -16
- package/lib/store/crud.js +3 -7
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -6
- package/lib/store/form.js.map +2 -2
- package/lib/store/service.js +5 -4
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +2 -2
- package/lib/themes/ang-ie11.css +422 -149
- package/lib/themes/ang.css +422 -149
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +422 -149
- package/lib/themes/antd.css +422 -149
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +456 -182
- package/lib/themes/cxd.css +456 -182
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +422 -149
- package/lib/themes/dark.css +422 -149
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +456 -182
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +37 -0
- package/lib/types.js +0 -5
- package/lib/types.js.map +2 -2
- package/lib/utils/api.d.ts +3 -2
- package/lib/utils/api.js +28 -12
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/dom.d.ts +4 -0
- package/lib/utils/dom.js +11 -1
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/helper.d.ts +2 -0
- package/lib/utils/helper.js +11 -2
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/icon.js +3 -0
- package/lib/utils/icon.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +3038 -790
- package/scss/_mixins.scss +1 -3
- package/scss/_properties.scss +25 -1
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_anchor-nav.scss +88 -29
- package/scss/components/_card.scss +8 -14
- package/scss/components/_collapse.scss +16 -1
- package/scss/components/_mapping.scss +6 -0
- package/scss/components/_nav.scss +1 -1
- package/scss/components/_picker-columns.scss +123 -0
- package/scss/components/_popover.scss +17 -0
- package/scss/components/_portlet.scss +51 -0
- package/scss/components/_status.scss +1 -1
- package/scss/components/_table.scss +26 -0
- package/scss/components/form/_checks.scss +0 -351
- package/scss/components/form/_fieldset.scss +5 -1
- package/scss/components/form/_selection.scss +354 -0
- package/scss/components/form/_transfer.scss +75 -18
- package/scss/themes/_common.scss +4 -0
- package/scss/themes/_cxd-variables.scss +4 -1
- package/scss/themes/cxd.scss +16 -12
- package/sdk/ang-ie11.css +457 -152
- package/sdk/ang.css +480 -154
- package/sdk/antd-ie11.css +456 -151
- package/sdk/antd.css +480 -154
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +496 -194
- package/sdk/cxd.css +517 -190
- package/sdk/dark-ie11.css +457 -152
- package/sdk/dark.css +480 -154
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +2 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +20 -28
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +496 -194
- package/sdk/sdk.css +517 -190
- package/sdk/sdk.js +1268 -1236
- 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 +14 -0
- package/src/components/AnchorNav.tsx +15 -4
- package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
- package/src/components/Badge.tsx +3 -3
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
- package/src/components/Link.tsx +28 -37
- package/src/components/ModalManager.ts +1 -1
- package/src/components/PickerColumn.tsx +429 -0
- package/src/components/PickerContainer.tsx +128 -0
- package/src/components/Radios.tsx +3 -8
- package/src/components/SearchBox.tsx +4 -5
- package/src/components/Select.tsx +57 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
- package/src/components/TabsTransfer.tsx +13 -7
- package/src/components/TabsTransferPicker.tsx +85 -0
- package/src/components/Transfer.tsx +71 -50
- package/src/components/TransferDropDown.tsx +117 -0
- package/src/components/TransferPicker.tsx +84 -0
- package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
- package/src/components/WithRemoteConfig.tsx +7 -2
- package/src/components/condition-builder/Field.tsx +5 -5
- package/src/components/condition-builder/Func.tsx +3 -3
- package/src/components/condition-builder/InputSwitch.tsx +3 -3
- package/src/components/condition-builder/Item.tsx +5 -12
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +0 -1
- package/src/factory.tsx +18 -3
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-set-state.ts +19 -0
- package/src/hooks/use-touch.ts +100 -0
- package/src/hooks/use-update-effect.ts +16 -0
- package/src/index.tsx +3 -0
- package/src/locale/de-DE.ts +2 -0
- package/src/locale/en-US.ts +2 -0
- package/src/locale/zh-CN.ts +4 -2
- package/src/renderers/Action.tsx +28 -2
- package/src/renderers/AnchorNav.tsx +4 -0
- package/src/renderers/Avatar.tsx +8 -4
- package/src/renderers/Breadcrumb.tsx +5 -1
- package/src/renderers/CRUD.tsx +33 -3
- package/src/renderers/Card.tsx +63 -34
- package/src/renderers/Chart.tsx +6 -2
- package/src/renderers/Collapse.tsx +4 -2
- package/src/renderers/DropDownButton.tsx +1 -1
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputFile.tsx +29 -20
- package/src/renderers/Form/InputImage.tsx +11 -3
- package/src/renderers/Form/Item.tsx +1 -1
- package/src/renderers/Form/Options.tsx +16 -2
- package/src/renderers/Form/Select.tsx +144 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +3 -2
- package/src/renderers/Form/TransferPicker.tsx +123 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +26 -1
- package/src/renderers/IFrame.tsx +2 -4
- package/src/renderers/Json.tsx +9 -9
- package/src/renderers/Link.tsx +27 -13
- package/src/renderers/List.tsx +1 -1
- package/src/renderers/Mapping.tsx +27 -11
- package/src/renderers/Nav.tsx +108 -60
- package/src/renderers/Portlet.tsx +423 -0
- package/src/renderers/Property.tsx +3 -2
- package/src/renderers/SearchBox.tsx +23 -4
- package/src/renderers/Table/TableContent.tsx +40 -2
- package/src/renderers/Table/index.tsx +87 -41
- package/src/renderers/Tabs.tsx +9 -1
- package/src/renderers/WebComponent.tsx +2 -2
- package/src/store/crud.ts +3 -8
- package/src/store/form.ts +5 -10
- package/src/store/service.ts +5 -4
- package/src/types.ts +57 -0
- package/src/utils/api.ts +40 -20
- package/src/utils/dom.tsx +12 -0
- package/src/utils/helper.ts +8 -0
- package/src/utils/icon.tsx +4 -0
- package/dump.rdb +0 -0
- package/lib/components/AssociatedCheckboxes.d.ts +0 -762
- package/lib/components/AssociatedCheckboxes.js +0 -90
- package/lib/components/AssociatedCheckboxes.js.map +0 -13
- package/lib/components/ChainedCheckboxes.js.map +0 -13
- package/lib/components/Checkboxes.js +0 -101
- package/lib/components/Checkboxes.js.map +0 -13
- package/lib/components/ListCheckboxes.d.ts +0 -739
- package/lib/components/ListCheckboxes.js +0 -48
- package/lib/components/ListCheckboxes.js.map +0 -13
- package/lib/components/ListRadios.d.ts +0 -763
- package/lib/components/ListRadios.js +0 -86
- package/lib/components/ListRadios.js.map +0 -13
- package/lib/components/TableCheckboxes.js.map +0 -13
- package/lib/components/TreeCheckboxes.js.map +0 -13
- package/lib/components/TreeRadios.d.ts +0 -838
- package/lib/components/TreeRadios.js +0 -116
- package/lib/components/TreeRadios.js.map +0 -13
- package/src/components/ListRadios.tsx +0 -159
- package/src/components/TreeRadios.tsx +0 -202
@@ -1,30 +1,31 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import {ThemeProps, themeable} from '../theme';
|
3
|
-
import {
|
3
|
+
import {BaseSelectionProps, BaseSelection} from './Selection';
|
4
4
|
import {Options, Option} from './Select';
|
5
5
|
import {uncontrollable} from 'uncontrollable';
|
6
6
|
import ResultList from './ResultList';
|
7
|
-
import
|
8
|
-
import
|
9
|
-
import TreeCheckboxes from './TreeCheckboxes';
|
7
|
+
import TableSelection from './TableSelection';
|
8
|
+
import TreeSelection from './TreeSelection';
|
10
9
|
import {autobind, flattenTree} from '../utils/helper';
|
11
10
|
import InputBox from './InputBox';
|
12
11
|
import {Icon} from './icons';
|
13
12
|
import debounce from 'lodash/debounce';
|
14
|
-
import
|
15
|
-
import AssociatedCheckboxes from './AssociatedCheckboxes';
|
13
|
+
import AssociatedSelection from './AssociatedSelection';
|
16
14
|
import {LocaleProps, localeable} from '../locale';
|
15
|
+
import GroupedSelection from './GroupedSelection';
|
16
|
+
import ChainedSelection from './ChainedSelection';
|
17
17
|
|
18
18
|
export interface TransferProps
|
19
19
|
extends ThemeProps,
|
20
20
|
LocaleProps,
|
21
|
-
|
21
|
+
BaseSelectionProps {
|
22
22
|
inline?: boolean;
|
23
23
|
statistics?: boolean;
|
24
24
|
showArrow?: boolean;
|
25
|
+
multiple?: boolean;
|
25
26
|
|
26
27
|
selectTitle?: string;
|
27
|
-
selectMode?: 'table' | 'list' | 'tree' | 'chained' | 'associated';
|
28
|
+
selectMode?: 'table' | 'group' | 'list' | 'tree' | 'chained' | 'associated';
|
28
29
|
columns?: Array<{
|
29
30
|
name: string;
|
30
31
|
label: string;
|
@@ -41,12 +42,12 @@ export interface TransferProps
|
|
41
42
|
rowIndex: number
|
42
43
|
) => JSX.Element;
|
43
44
|
leftOptions?: Array<Option>;
|
44
|
-
leftMode?: 'tree' | 'list';
|
45
|
+
leftMode?: 'tree' | 'list' | 'group';
|
45
46
|
leftDefaultValue?: any;
|
46
|
-
rightMode?: 'table' | 'list' | 'tree' | 'chained';
|
47
|
+
rightMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';
|
47
48
|
|
48
49
|
// search 相关
|
49
|
-
searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
|
50
|
+
searchResultMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';
|
50
51
|
searchResultColumns?: Array<{
|
51
52
|
name: string;
|
52
53
|
label: string;
|
@@ -79,8 +80,11 @@ export interface TransferState {
|
|
79
80
|
searchResult: Options | null;
|
80
81
|
}
|
81
82
|
|
82
|
-
export class Transfer
|
83
|
-
|
83
|
+
export class Transfer<
|
84
|
+
T extends TransferProps = TransferProps
|
85
|
+
> extends React.Component<T, TransferState> {
|
86
|
+
static defaultProps: Pick<TransferProps, 'itemRender' | 'multiple'> = {
|
87
|
+
multiple: true,
|
84
88
|
itemRender: (option: Option) => <span>{option.label}</span>
|
85
89
|
};
|
86
90
|
|
@@ -102,7 +106,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
102
106
|
@autobind
|
103
107
|
toggleAll() {
|
104
108
|
const {options, option2value, onChange, value} = this.props;
|
105
|
-
let valueArray =
|
109
|
+
let valueArray = BaseSelection.value2array(value, options, option2value);
|
106
110
|
const availableOptions = flattenTree(options).filter(
|
107
111
|
(option, index, list) =>
|
108
112
|
!option.disabled &&
|
@@ -192,7 +196,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
192
196
|
}
|
193
197
|
);
|
194
198
|
|
195
|
-
renderSelect(
|
199
|
+
renderSelect(
|
200
|
+
props: TransferProps & {
|
201
|
+
onToggleAll?: () => void;
|
202
|
+
}
|
203
|
+
) {
|
196
204
|
const {
|
197
205
|
selectRender,
|
198
206
|
selectMode,
|
@@ -203,11 +211,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
203
211
|
options,
|
204
212
|
statistics,
|
205
213
|
translate: __
|
206
|
-
} =
|
214
|
+
} = props;
|
207
215
|
|
208
216
|
if (selectRender) {
|
209
217
|
return selectRender({
|
210
|
-
...
|
218
|
+
...props,
|
211
219
|
onSearch: this.handleSearch,
|
212
220
|
onSearchCancel: this.handleSeachCancel,
|
213
221
|
searchResult: this.state.searchResult
|
@@ -223,7 +231,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
223
231
|
)}
|
224
232
|
>
|
225
233
|
<span>
|
226
|
-
{__(selectTitle || '
|
234
|
+
{__(selectTitle || 'Transfer.available')}
|
227
235
|
{statistics !== false ? (
|
228
236
|
<span>
|
229
237
|
({this.valueArray.length}/{this.availableOptions.length})
|
@@ -232,13 +240,13 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
232
240
|
</span>
|
233
241
|
{selectMode !== 'table' ? (
|
234
242
|
<a
|
235
|
-
onClick={this.toggleAll}
|
243
|
+
onClick={props.onToggleAll || this.toggleAll}
|
236
244
|
className={cx(
|
237
245
|
'Transfer-checkAll',
|
238
246
|
disabled || !options.length ? 'is-disabled' : ''
|
239
247
|
)}
|
240
248
|
>
|
241
|
-
{__('Select.
|
249
|
+
{__('Select.checkAll')}
|
242
250
|
</a>
|
243
251
|
) : null}
|
244
252
|
</div>
|
@@ -264,13 +272,13 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
264
272
|
) : null}
|
265
273
|
|
266
274
|
{this.state.searchResult !== null
|
267
|
-
? this.renderSearchResult()
|
268
|
-
: this.renderOptions()}
|
275
|
+
? this.renderSearchResult(props)
|
276
|
+
: this.renderOptions(props)}
|
269
277
|
</>
|
270
278
|
);
|
271
279
|
}
|
272
280
|
|
273
|
-
renderSearchResult() {
|
281
|
+
renderSearchResult(props: TransferProps) {
|
274
282
|
const {
|
275
283
|
searchResultMode,
|
276
284
|
selectMode,
|
@@ -283,16 +291,17 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
283
291
|
onChange,
|
284
292
|
option2value,
|
285
293
|
optionItemRender,
|
286
|
-
cellRender
|
287
|
-
|
294
|
+
cellRender,
|
295
|
+
multiple
|
296
|
+
} = props;
|
288
297
|
const options = this.state.searchResult || [];
|
289
298
|
const mode = searchResultMode || selectMode;
|
290
299
|
const resultColumns = searchResultColumns || columns;
|
291
300
|
|
292
301
|
return mode === 'table' ? (
|
293
|
-
<
|
302
|
+
<TableSelection
|
294
303
|
placeholder={noResultsText}
|
295
|
-
className={cx('Transfer-
|
304
|
+
className={cx('Transfer-selection')}
|
296
305
|
columns={resultColumns!}
|
297
306
|
options={options}
|
298
307
|
value={value}
|
@@ -301,44 +310,48 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
301
310
|
option2value={option2value}
|
302
311
|
cellRender={cellRender}
|
303
312
|
itemRender={optionItemRender}
|
313
|
+
multiple={multiple}
|
304
314
|
/>
|
305
315
|
) : mode === 'tree' ? (
|
306
|
-
<
|
316
|
+
<TreeSelection
|
307
317
|
placeholder={noResultsText}
|
308
|
-
className={cx('Transfer-
|
318
|
+
className={cx('Transfer-selection')}
|
309
319
|
options={options}
|
310
320
|
value={value}
|
311
321
|
disabled={disabled}
|
312
322
|
onChange={onChange}
|
313
323
|
option2value={option2value}
|
314
324
|
itemRender={optionItemRender}
|
325
|
+
multiple={multiple}
|
315
326
|
/>
|
316
327
|
) : mode === 'chained' ? (
|
317
|
-
<
|
328
|
+
<ChainedSelection
|
318
329
|
placeholder={noResultsText}
|
319
|
-
className={cx('Transfer-
|
330
|
+
className={cx('Transfer-selection')}
|
320
331
|
options={options}
|
321
332
|
value={value}
|
322
333
|
disabled={disabled}
|
323
334
|
onChange={onChange}
|
324
335
|
option2value={option2value}
|
325
336
|
itemRender={optionItemRender}
|
337
|
+
multiple={multiple}
|
326
338
|
/>
|
327
339
|
) : (
|
328
|
-
<
|
340
|
+
<GroupedSelection
|
329
341
|
placeholder={noResultsText}
|
330
|
-
className={cx('Transfer-
|
342
|
+
className={cx('Transfer-selection')}
|
331
343
|
options={options}
|
332
344
|
value={value}
|
333
345
|
disabled={disabled}
|
334
346
|
onChange={onChange}
|
335
347
|
option2value={option2value}
|
336
348
|
itemRender={optionItemRender}
|
349
|
+
multiple={multiple}
|
337
350
|
/>
|
338
351
|
);
|
339
352
|
}
|
340
353
|
|
341
|
-
renderOptions() {
|
354
|
+
renderOptions(props: TransferProps) {
|
342
355
|
const {
|
343
356
|
selectMode,
|
344
357
|
columns,
|
@@ -354,12 +367,13 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
354
367
|
rightMode,
|
355
368
|
cellRender,
|
356
369
|
leftDefaultValue,
|
357
|
-
optionItemRender
|
358
|
-
|
370
|
+
optionItemRender,
|
371
|
+
multiple
|
372
|
+
} = props;
|
359
373
|
|
360
374
|
return selectMode === 'table' ? (
|
361
|
-
<
|
362
|
-
className={cx('Transfer-
|
375
|
+
<TableSelection
|
376
|
+
className={cx('Transfer-selection')}
|
363
377
|
columns={columns!}
|
364
378
|
options={options || []}
|
365
379
|
value={value}
|
@@ -369,10 +383,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
369
383
|
onDeferLoad={onDeferLoad}
|
370
384
|
cellRender={cellRender}
|
371
385
|
itemRender={optionItemRender}
|
386
|
+
multiple={multiple}
|
372
387
|
/>
|
373
388
|
) : selectMode === 'tree' ? (
|
374
|
-
<
|
375
|
-
className={cx('Transfer-
|
389
|
+
<TreeSelection
|
390
|
+
className={cx('Transfer-selection')}
|
376
391
|
options={options || []}
|
377
392
|
value={value}
|
378
393
|
disabled={disabled}
|
@@ -380,10 +395,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
380
395
|
option2value={option2value}
|
381
396
|
onDeferLoad={onDeferLoad}
|
382
397
|
itemRender={optionItemRender}
|
398
|
+
multiple={multiple}
|
383
399
|
/>
|
384
400
|
) : selectMode === 'chained' ? (
|
385
|
-
<
|
386
|
-
className={cx('Transfer-
|
401
|
+
<ChainedSelection
|
402
|
+
className={cx('Transfer-selection')}
|
387
403
|
options={options || []}
|
388
404
|
value={value}
|
389
405
|
disabled={disabled}
|
@@ -391,10 +407,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
391
407
|
option2value={option2value}
|
392
408
|
onDeferLoad={onDeferLoad}
|
393
409
|
itemRender={optionItemRender}
|
410
|
+
multiple={multiple}
|
394
411
|
/>
|
395
412
|
) : selectMode === 'associated' ? (
|
396
|
-
<
|
397
|
-
className={cx('Transfer-
|
413
|
+
<AssociatedSelection
|
414
|
+
className={cx('Transfer-selection')}
|
398
415
|
options={options || []}
|
399
416
|
value={value}
|
400
417
|
disabled={disabled}
|
@@ -407,10 +424,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
407
424
|
rightMode={rightMode}
|
408
425
|
leftDefaultValue={leftDefaultValue}
|
409
426
|
itemRender={optionItemRender}
|
427
|
+
multiple={multiple}
|
410
428
|
/>
|
411
429
|
) : (
|
412
|
-
<
|
413
|
-
className={cx('Transfer-
|
430
|
+
<GroupedSelection
|
431
|
+
className={cx('Transfer-selection')}
|
414
432
|
options={options || []}
|
415
433
|
value={value}
|
416
434
|
disabled={disabled}
|
@@ -418,6 +436,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
418
436
|
option2value={option2value}
|
419
437
|
onDeferLoad={onDeferLoad}
|
420
438
|
itemRender={optionItemRender}
|
439
|
+
multiple={multiple}
|
421
440
|
/>
|
422
441
|
);
|
423
442
|
}
|
@@ -440,7 +459,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
440
459
|
translate: __
|
441
460
|
} = this.props;
|
442
461
|
|
443
|
-
this.valueArray =
|
462
|
+
this.valueArray = BaseSelection.value2array(value, options, option2value);
|
444
463
|
this.availableOptions = flattenTree(options).filter(
|
445
464
|
(option, index, list) =>
|
446
465
|
!option.disabled &&
|
@@ -452,7 +471,9 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
452
471
|
<div
|
453
472
|
className={cx('Transfer', className, inline ? 'Transfer--inline' : '')}
|
454
473
|
>
|
455
|
-
<div className={cx('Transfer-select')}>
|
474
|
+
<div className={cx('Transfer-select')}>
|
475
|
+
{this.renderSelect(this.props)}
|
476
|
+
</div>
|
456
477
|
<div className={cx('Transfer-mid')}>
|
457
478
|
{showArrow /*todo 需要改成确认模式,即:点了按钮才到右边 */ ? (
|
458
479
|
<div className={cx('Transfer-arrow')}>
|
@@ -481,7 +502,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
481
502
|
</a>
|
482
503
|
</div>
|
483
504
|
<ResultList
|
484
|
-
className={cx('Transfer-
|
505
|
+
className={cx('Transfer-value')}
|
485
506
|
sortable={sortable}
|
486
507
|
disabled={disabled}
|
487
508
|
value={value}
|
@@ -497,7 +518,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
|
|
497
518
|
|
498
519
|
export default themeable(
|
499
520
|
localeable(
|
500
|
-
uncontrollable(Transfer, {
|
521
|
+
uncontrollable(class extends Transfer {}, {
|
501
522
|
value: 'onChange'
|
502
523
|
})
|
503
524
|
)
|
@@ -0,0 +1,117 @@
|
|
1
|
+
import {localeable} from '../locale';
|
2
|
+
import {themeable} from '../theme';
|
3
|
+
import {Transfer, TransferProps} from './Transfer';
|
4
|
+
import {uncontrollable} from 'uncontrollable';
|
5
|
+
import React from 'react';
|
6
|
+
import ResultBox from './ResultBox';
|
7
|
+
import {Icon} from './icons';
|
8
|
+
import InputBox from './InputBox';
|
9
|
+
import PopOverContainer from './PopOverContainer';
|
10
|
+
|
11
|
+
export interface TransferDropDownProps extends TransferProps {
|
12
|
+
// 新的属性?
|
13
|
+
multiple?: boolean;
|
14
|
+
}
|
15
|
+
|
16
|
+
export class TransferDropDown extends Transfer<TransferDropDownProps> {
|
17
|
+
render() {
|
18
|
+
const {
|
19
|
+
classnames: cx,
|
20
|
+
value,
|
21
|
+
translate: __,
|
22
|
+
disabled,
|
23
|
+
className,
|
24
|
+
onChange,
|
25
|
+
onSearch,
|
26
|
+
multiple
|
27
|
+
} = this.props;
|
28
|
+
const {inputValue, searchResult} = this.state;
|
29
|
+
|
30
|
+
return (
|
31
|
+
<PopOverContainer
|
32
|
+
popOverClassName={cx('TransferDropDown-popover')}
|
33
|
+
popOverRender={({onClose}) => (
|
34
|
+
<div className={cx('TransferDropDown-content')}>
|
35
|
+
{onSearch ? (
|
36
|
+
<div className={cx('Transfer-search')}>
|
37
|
+
<InputBox
|
38
|
+
value={inputValue}
|
39
|
+
onChange={this.handleSearch}
|
40
|
+
placeholder={__('Transfer.searchKeyword')}
|
41
|
+
clearable={false}
|
42
|
+
onKeyDown={this.handleSearchKeyDown}
|
43
|
+
>
|
44
|
+
{searchResult !== null ? (
|
45
|
+
<a onClick={this.handleSeachCancel}>
|
46
|
+
<Icon icon="close" className="icon" />
|
47
|
+
</a>
|
48
|
+
) : (
|
49
|
+
<Icon icon="search" className="icon" />
|
50
|
+
)}
|
51
|
+
</InputBox>
|
52
|
+
</div>
|
53
|
+
) : null}
|
54
|
+
{searchResult !== null
|
55
|
+
? this.renderSearchResult({
|
56
|
+
...this.props,
|
57
|
+
value,
|
58
|
+
onChange: multiple
|
59
|
+
? onChange
|
60
|
+
: (value: any) => {
|
61
|
+
onClose();
|
62
|
+
onChange?.(value);
|
63
|
+
},
|
64
|
+
multiple
|
65
|
+
})
|
66
|
+
: this.renderOptions({
|
67
|
+
...this.props,
|
68
|
+
value,
|
69
|
+
onChange: multiple
|
70
|
+
? onChange
|
71
|
+
: (value: any) => {
|
72
|
+
onClose();
|
73
|
+
onChange?.(value);
|
74
|
+
},
|
75
|
+
multiple
|
76
|
+
})}
|
77
|
+
</div>
|
78
|
+
)}
|
79
|
+
>
|
80
|
+
{({onClick, isOpened, ref}) => (
|
81
|
+
<ResultBox
|
82
|
+
className={cx(
|
83
|
+
'TransferDropDown',
|
84
|
+
className,
|
85
|
+
isOpened ? 'is-active' : ''
|
86
|
+
)}
|
87
|
+
allowInput={false}
|
88
|
+
result={
|
89
|
+
multiple
|
90
|
+
? value
|
91
|
+
: value?.[0]
|
92
|
+
? this.props.itemRender(value[0])
|
93
|
+
: null
|
94
|
+
}
|
95
|
+
onResultChange={onChange}
|
96
|
+
onResultClick={onClick}
|
97
|
+
placeholder={__('Select.placeholder')}
|
98
|
+
disabled={disabled}
|
99
|
+
ref={ref}
|
100
|
+
>
|
101
|
+
<span className={cx('TransferDropDown-icon')}>
|
102
|
+
<Icon icon="caret" className="icon" />
|
103
|
+
</span>
|
104
|
+
</ResultBox>
|
105
|
+
)}
|
106
|
+
</PopOverContainer>
|
107
|
+
);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
export default themeable(
|
112
|
+
localeable(
|
113
|
+
uncontrollable(TransferDropDown, {
|
114
|
+
value: 'onChange'
|
115
|
+
})
|
116
|
+
)
|
117
|
+
);
|
@@ -0,0 +1,84 @@
|
|
1
|
+
import {localeable} from '../locale';
|
2
|
+
import {themeable} from '../theme';
|
3
|
+
import Transfer, {TransferProps} from './Transfer';
|
4
|
+
import {uncontrollable} from 'uncontrollable';
|
5
|
+
import React from 'react';
|
6
|
+
import ResultBox from './ResultBox';
|
7
|
+
import {Icon} from './icons';
|
8
|
+
import PickerContainer from './PickerContainer';
|
9
|
+
import {autobind} from '../utils/helper';
|
10
|
+
|
11
|
+
export interface TransferPickerProps extends Omit<TransferProps, 'itemRender'> {
|
12
|
+
// 新的属性?
|
13
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
14
|
+
}
|
15
|
+
|
16
|
+
export class TransferPicker extends React.Component<TransferPickerProps> {
|
17
|
+
@autobind
|
18
|
+
handleClose() {
|
19
|
+
this.setState({
|
20
|
+
inputValue: '',
|
21
|
+
searchResult: null
|
22
|
+
});
|
23
|
+
}
|
24
|
+
|
25
|
+
@autobind
|
26
|
+
handleConfirm(value: any) {
|
27
|
+
this.props.onChange?.(value);
|
28
|
+
this.handleClose();
|
29
|
+
}
|
30
|
+
|
31
|
+
render() {
|
32
|
+
const {
|
33
|
+
classnames: cx,
|
34
|
+
value,
|
35
|
+
translate: __,
|
36
|
+
disabled,
|
37
|
+
className,
|
38
|
+
onChange,
|
39
|
+
size,
|
40
|
+
...rest
|
41
|
+
} = this.props;
|
42
|
+
|
43
|
+
return (
|
44
|
+
<PickerContainer
|
45
|
+
title={__('Select.placeholder')}
|
46
|
+
popOverRender={({onClose, value, onChange}) => {
|
47
|
+
return <Transfer {...rest} value={value} onChange={onChange} />;
|
48
|
+
}}
|
49
|
+
value={value}
|
50
|
+
onConfirm={this.handleConfirm}
|
51
|
+
onCancel={this.handleClose}
|
52
|
+
size={size}
|
53
|
+
>
|
54
|
+
{({onClick, isOpened}) => (
|
55
|
+
<ResultBox
|
56
|
+
className={cx(
|
57
|
+
'TransferPicker',
|
58
|
+
className,
|
59
|
+
isOpened ? 'is-active' : ''
|
60
|
+
)}
|
61
|
+
allowInput={false}
|
62
|
+
result={value}
|
63
|
+
onResultChange={onChange}
|
64
|
+
onResultClick={onClick}
|
65
|
+
placeholder={__('Select.placeholder')}
|
66
|
+
disabled={disabled}
|
67
|
+
>
|
68
|
+
<span className={cx('TransferPicker-icon')}>
|
69
|
+
<Icon icon="pencil" className="icon" />
|
70
|
+
</span>
|
71
|
+
</ResultBox>
|
72
|
+
)}
|
73
|
+
</PickerContainer>
|
74
|
+
);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
export default themeable(
|
79
|
+
localeable(
|
80
|
+
uncontrollable(TransferPicker, {
|
81
|
+
value: 'onChange'
|
82
|
+
})
|
83
|
+
)
|
84
|
+
);
|