amis 1.9.0-beta.12 → 1.9.0-beta.15
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 +4 -2
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.d.ts +2 -2
- package/lib/SchemaRenderer.js +3 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/actions/Action.d.ts +8 -6
- package/lib/actions/Action.js.map +2 -2
- package/lib/actions/AjaxAction.d.ts +10 -7
- package/lib/actions/AjaxAction.js +27 -21
- package/lib/actions/AjaxAction.js.map +2 -2
- package/lib/actions/BreakAction.d.ts +2 -2
- package/lib/actions/BreakAction.js.map +1 -1
- package/lib/actions/BroadcastAction.d.ts +3 -3
- package/lib/actions/BroadcastAction.js +3 -2
- package/lib/actions/BroadcastAction.js.map +2 -2
- package/lib/actions/CmptAction.d.ts +2 -2
- package/lib/actions/CmptAction.js +7 -9
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/ContinueAction.d.ts +2 -2
- package/lib/actions/ContinueAction.js.map +1 -1
- package/lib/actions/CopyAction.d.ts +7 -4
- package/lib/actions/CopyAction.js +8 -6
- package/lib/actions/CopyAction.js.map +2 -2
- package/lib/actions/CustomAction.d.ts +2 -2
- package/lib/actions/CustomAction.js.map +1 -1
- package/lib/actions/DialogAction.d.ts +14 -8
- package/lib/actions/DialogAction.js +6 -6
- package/lib/actions/DialogAction.js.map +2 -2
- package/lib/actions/DrawerAction.d.ts +3 -3
- package/lib/actions/DrawerAction.js.map +1 -1
- package/lib/actions/EmailAction.d.ts +10 -7
- package/lib/actions/EmailAction.js +4 -5
- package/lib/actions/EmailAction.js.map +2 -2
- package/lib/actions/LinkAction.d.ts +19 -11
- package/lib/actions/LinkAction.js +6 -5
- package/lib/actions/LinkAction.js.map +2 -2
- package/lib/actions/LoopAction.d.ts +6 -3
- package/lib/actions/LoopAction.js +22 -20
- package/lib/actions/LoopAction.js.map +2 -2
- package/lib/actions/PageAction.d.ts +8 -5
- package/lib/actions/PageAction.js +3 -2
- package/lib/actions/PageAction.js.map +2 -2
- package/lib/actions/ParallelAction.d.ts +2 -2
- package/lib/actions/ParallelAction.js.map +1 -1
- package/lib/actions/SwitchAction.d.ts +2 -2
- package/lib/actions/SwitchAction.js.map +1 -1
- package/lib/actions/ToastAction.d.ts +2 -2
- package/lib/actions/ToastAction.js +6 -4
- package/lib/actions/ToastAction.js.map +2 -2
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Pagination.d.ts +1175 -0
- package/lib/components/Pagination.js +274 -0
- package/lib/components/Pagination.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +1 -0
- package/lib/components/PickerContainer.js +3 -2
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/Rating.js +11 -9
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/Select.js +3 -3
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Tag.d.ts +148 -0
- package/lib/components/Tag.js +96 -0
- package/lib/components/Tag.js.map +13 -0
- package/lib/components/TooltipWrapper.d.ts +25 -21
- package/lib/components/TooltipWrapper.js +11 -1
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +85 -84
- package/lib/components/TransferDropDown.js +2 -2
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/formula/VariableList.d.ts +1 -0
- package/lib/components/formula/VariableList.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 +4 -1
- package/lib/components/index.js +7 -1
- package/lib/components/index.js.map +2 -2
- package/lib/components/schema-editor/Array.d.ts +11 -0
- package/lib/components/schema-editor/Array.js +66 -0
- package/lib/components/schema-editor/Array.js.map +13 -0
- package/lib/components/schema-editor/Common.d.ts +29 -0
- package/lib/components/schema-editor/Common.js +69 -0
- package/lib/components/schema-editor/Common.js.map +13 -0
- package/lib/components/schema-editor/Item.d.ts +9 -0
- package/lib/components/schema-editor/Item.js +31 -0
- package/lib/components/schema-editor/Item.js.map +13 -0
- package/lib/components/schema-editor/Object.d.ts +44 -0
- package/lib/components/schema-editor/Object.js +191 -0
- package/lib/components/schema-editor/Object.js.map +13 -0
- package/lib/components/schema-editor/SchemaVariableList.d.ts +316 -0
- package/lib/components/schema-editor/SchemaVariableList.js +74 -0
- package/lib/components/schema-editor/SchemaVariableList.js.map +13 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +305 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.js +32 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.js.map +13 -0
- package/lib/components/schema-editor/index.d.ts +520 -0
- package/lib/components/schema-editor/index.js +118 -0
- package/lib/components/schema-editor/index.js.map +13 -0
- package/lib/components/table/Cell.d.ts +930 -0
- package/lib/components/table/Cell.js +36 -0
- package/lib/components/table/Cell.js.map +13 -0
- package/lib/components/table/HeadCellDropDown.d.ts +514 -0
- package/lib/components/table/HeadCellDropDown.js +52 -0
- package/lib/components/table/HeadCellDropDown.js.map +13 -0
- package/lib/components/table/HeadCellFilter.d.ts +771 -0
- package/lib/components/table/HeadCellFilter.js +106 -0
- package/lib/components/table/HeadCellFilter.js.map +13 -0
- package/lib/components/table/HeadCellSelect.d.ts +672 -0
- package/lib/components/table/HeadCellSelect.js +46 -0
- package/lib/components/table/HeadCellSelect.js.map +13 -0
- package/lib/components/table/HeadCellSort.d.ts +498 -0
- package/lib/components/table/HeadCellSort.js +67 -0
- package/lib/components/table/HeadCellSort.js.map +13 -0
- package/lib/components/table/index.d.ts +1355 -0
- package/lib/components/table/index.js +1095 -0
- package/lib/components/table/index.js.map +13 -0
- package/lib/env.d.ts +2 -4
- package/lib/env.js.map +2 -2
- package/lib/factory.js +0 -95
- package/lib/factory.js.map +2 -2
- package/lib/icons/dot.js +11 -0
- package/lib/index.d.ts +6 -1
- package/lib/index.js +9 -2
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +18 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +18 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +20 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.js +0 -2
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +5 -1
- package/lib/renderers/Carousel.js +18 -5
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.d.ts +2 -0
- package/lib/renderers/Form/ButtonGroupSelect.js +7 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/Checkbox.js +3 -4
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +2 -1
- package/lib/renderers/Form/Checkboxes.js +19 -14
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.js +23 -4
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +126 -18
- package/lib/renderers/Form/Editor.d.ts +412 -112
- package/lib/renderers/Form/Editor.js +10 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.js +6 -1
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +1 -2
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputTree.js +1 -1
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +0 -6
- package/lib/renderers/Form/JSONSchemaEditor.d.ts +41 -0
- package/lib/renderers/Form/JSONSchemaEditor.js +33 -0
- package/lib/renderers/Form/JSONSchemaEditor.js.map +13 -0
- package/lib/renderers/Form/ListSelect.d.ts +2 -0
- package/lib/renderers/Form/ListSelect.js +7 -0
- package/lib/renderers/Form/ListSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +1 -0
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +12 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +1 -1
- package/lib/renderers/Form/TabsTransfer.js +2 -2
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +4 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +10 -5
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Pagination.d.ts +49 -30
- package/lib/renderers/Pagination.js +3 -132
- package/lib/renderers/Pagination.js.map +2 -2
- package/lib/renderers/Table/HeadCellSearchDropdown.js +0 -1
- package/lib/renderers/Table/HeadCellSearchDropdown.js.map +2 -2
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +29 -0
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +158 -0
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +13 -0
- package/lib/renderers/Table-v2/TableCell.d.ts +6 -0
- package/lib/renderers/Table-v2/TableCell.js +28 -0
- package/lib/renderers/Table-v2/TableCell.js.map +13 -0
- package/lib/renderers/Table-v2/index.d.ts +256 -0
- package/lib/renderers/Table-v2/index.js +548 -0
- package/lib/renderers/Table-v2/index.js.map +13 -0
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Tag.d.ts +66 -0
- package/lib/renderers/Tag.js +53 -0
- package/lib/renderers/Tag.js.map +13 -0
- package/lib/renderers/Wizard.js +3 -3
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/schemaExtend.js +24 -30
- package/lib/schemaExtend.js.map +2 -2
- package/lib/store/combo.d.ts +140 -20
- package/lib/store/form.d.ts +56 -8
- package/lib/store/formItem.d.ts +3 -1
- package/lib/store/formItem.js +3 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.js +2 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table-v2.d.ts +308 -0
- package/lib/store/table-v2.js +452 -0
- package/lib/store/table-v2.js.map +13 -0
- package/lib/store/table.d.ts +112 -16
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1686 -120
- package/lib/themes/ang.css +1807 -208
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1667 -101
- package/lib/themes/antd.css +1789 -201
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1662 -97
- package/lib/themes/cxd.css +1983 -394
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1667 -101
- package/lib/themes/dark.css +1789 -201
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1662 -97
- package/lib/themes/default.css +1983 -394
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/DataSchema.d.ts +25 -0
- package/lib/utils/DataSchema.js +104 -0
- package/lib/utils/DataSchema.js.map +13 -0
- package/lib/utils/DataScope.d.ts +23 -0
- package/lib/utils/DataScope.js +140 -0
- package/lib/utils/DataScope.js.map +13 -0
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/handleAction.js.map +2 -2
- package/lib/utils/renderer-event.d.ts +8 -2
- package/lib/utils/renderer-event.js +102 -1
- package/lib/utils/renderer-event.js.map +2 -2
- package/package.json +3 -2
- package/schema.json +1476 -469
- package/scss/_properties.scss +69 -0
- package/scss/components/_button.scss +37 -39
- package/scss/components/_context-menu.scss +3 -18
- package/scss/components/_json-schema-editor.scss +126 -0
- package/scss/components/_pagination.scss +104 -23
- package/scss/components/_result-box.scss +2 -2
- package/scss/components/_table-v2.scss +912 -0
- package/scss/components/_tag.scss +177 -0
- package/scss/components/form/_selection.scss +1 -14
- package/scss/components/form/_text.scss +1 -1
- package/scss/themes/_antd-variables.scss +0 -13
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-variables.scss +7 -17
- package/scss/themes/_dark-variables.scss +0 -13
- package/scss/themes/cxd.scss +1 -1
- package/sdk/ang-ie11.css +2240 -227
- package/sdk/ang.css +2905 -859
- package/sdk/antd-ie11.css +2233 -220
- package/sdk/antd.css +2905 -870
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +2223 -211
- package/sdk/cxd.css +2911 -875
- package/sdk/dark-ie11.css +2233 -220
- package/sdk/dark.css +2905 -870
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +18 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +2223 -211
- package/sdk/sdk.css +2911 -875
- package/sdk/sdk.js +1326 -1270
- 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 +7 -0
- package/src/SchemaRenderer.tsx +4 -5
- package/src/actions/Action.ts +7 -6
- package/src/actions/AjaxAction.ts +33 -24
- package/src/actions/BreakAction.ts +2 -2
- package/src/actions/BroadcastAction.ts +6 -5
- package/src/actions/CmptAction.ts +5 -6
- package/src/actions/ContinueAction.ts +2 -2
- package/src/actions/CopyAction.ts +14 -8
- package/src/actions/CustomAction.ts +2 -2
- package/src/actions/DialogAction.ts +16 -10
- package/src/actions/DrawerAction.ts +3 -3
- package/src/actions/EmailAction.ts +12 -12
- package/src/actions/LinkAction.ts +34 -14
- package/src/actions/LoopAction.ts +13 -8
- package/src/actions/PageAction.ts +9 -6
- package/src/actions/ParallelAction.ts +2 -2
- package/src/actions/SwitchAction.ts +2 -2
- package/src/actions/ToastAction.ts +9 -5
- package/src/components/InputBox.tsx +1 -0
- package/src/components/Pagination.tsx +446 -0
- package/src/components/PickerContainer.tsx +8 -5
- package/src/components/Rating.tsx +16 -9
- package/src/components/Select.tsx +3 -3
- package/src/components/Tag.tsx +179 -0
- package/src/components/TooltipWrapper.tsx +14 -1
- package/src/components/TransferDropDown.tsx +3 -0
- package/src/components/formula/VariableList.tsx +1 -0
- package/src/components/icons.tsx +2 -0
- package/src/components/index.tsx +7 -1
- package/src/components/schema-editor/Array.tsx +95 -0
- package/src/components/schema-editor/Common.tsx +138 -0
- package/src/components/schema-editor/Item.tsx +36 -0
- package/src/components/schema-editor/Object.tsx +299 -0
- package/src/components/schema-editor/SchemaVariableList.tsx +97 -0
- package/src/components/schema-editor/SchemaVariableListPicker.tsx +66 -0
- package/src/components/schema-editor/index.tsx +211 -0
- package/src/components/table/Cell.tsx +70 -0
- package/src/components/table/HeadCellDropDown.tsx +115 -0
- package/src/components/table/HeadCellFilter.tsx +193 -0
- package/src/components/table/HeadCellSelect.tsx +86 -0
- package/src/components/table/HeadCellSort.tsx +102 -0
- package/src/components/table/index.tsx +1681 -0
- package/src/env.tsx +7 -14
- package/src/factory.tsx +3 -106
- package/src/icons/dot.svg +11 -0
- package/src/index.tsx +8 -1
- package/src/locale/de-DE.ts +18 -1
- package/src/locale/en-US.ts +18 -1
- package/src/locale/zh-CN.ts +20 -1
- package/src/renderers/Action.tsx +1 -1
- package/src/renderers/Carousel.tsx +21 -6
- package/src/renderers/Form/ButtonGroupSelect.tsx +10 -1
- package/src/renderers/Form/Checkbox.tsx +4 -4
- package/src/renderers/Form/Checkboxes.tsx +31 -25
- package/src/renderers/Form/Combo.tsx +20 -4
- package/src/renderers/Form/Editor.tsx +15 -1
- package/src/renderers/Form/InputExcel.tsx +6 -1
- package/src/renderers/Form/InputFile.tsx +1 -2
- package/src/renderers/Form/InputTree.tsx +1 -1
- package/src/renderers/Form/JSONSchemaEditor.tsx +67 -0
- package/src/renderers/Form/ListSelect.tsx +9 -1
- package/src/renderers/Form/Options.tsx +1 -1
- package/src/renderers/Form/Select.tsx +7 -0
- package/src/renderers/Form/TabsTransfer.tsx +2 -2
- package/src/renderers/Form/TreeSelect.tsx +8 -1
- package/src/renderers/Form/wrapControl.tsx +11 -5
- package/src/renderers/Pagination.tsx +65 -253
- package/src/renderers/Table/HeadCellSearchDropdown.tsx +0 -1
- package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +244 -0
- package/src/renderers/Table-v2/TableCell.tsx +19 -0
- package/src/renderers/Table-v2/index.tsx +1140 -0
- package/src/renderers/Tabs.tsx +1 -1
- package/src/renderers/Tag.tsx +128 -0
- package/src/renderers/Wizard.tsx +3 -3
- package/src/schemaExtend.ts +24 -28
- package/src/store/formItem.ts +5 -1
- package/src/store/index.ts +2 -0
- package/src/store/table-v2.ts +646 -0
- package/src/store/table.ts +1 -1
- package/src/utils/DataSchema.ts +131 -0
- package/src/utils/DataScope.ts +190 -0
- package/src/utils/handleAction.ts +1 -1
- package/src/utils/renderer-event.ts +113 -2
@@ -9,6 +9,9 @@ import cx from 'classnames';
|
|
9
9
|
import {ClassNamesFn, themeable} from '../theme';
|
10
10
|
|
11
11
|
import {isObject} from '../utils/helper';
|
12
|
+
import {
|
13
|
+
validations
|
14
|
+
} from '../utils/validations';
|
12
15
|
import {Icon} from './icons';
|
13
16
|
|
14
17
|
export type textPositionType = 'left' | 'right';
|
@@ -112,7 +115,8 @@ export class Rating extends React.Component<RatingProps, any> {
|
|
112
115
|
}
|
113
116
|
|
114
117
|
sortKeys(map: {[propName: number]: string}) {
|
115
|
-
|
118
|
+
// 需验证 key 是否是数字,需要过滤掉非数字key,如 $$id
|
119
|
+
return Object.keys(map).filter(item => validations.isNumeric({}, item)).sort(
|
116
120
|
(a: number | string, b: number | string) => Number(a) - Number(b)
|
117
121
|
);
|
118
122
|
}
|
@@ -137,10 +141,13 @@ export class Rating extends React.Component<RatingProps, any> {
|
|
137
141
|
const showKey = keys.filter(item => Number(item) < value).length;
|
138
142
|
|
139
143
|
const showColor = keys[showKey] !== undefined && colors[keys[showKey]];
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
+
|
145
|
+
// 取最大 key 的颜色,避免如下情况:colors 只设置了 1-4,value 为 5,导致取不到颜色而无法显示
|
146
|
+
const lastColor = keys.length && colors[keys[keys.length - 1]];
|
147
|
+
|
148
|
+
this.setState({
|
149
|
+
showColor: showColor || lastColor || ''
|
150
|
+
});
|
144
151
|
} else if (colors && typeof colors === 'string') {
|
145
152
|
this.setState({
|
146
153
|
showColor: colors
|
@@ -153,10 +160,10 @@ export class Rating extends React.Component<RatingProps, any> {
|
|
153
160
|
const showText =
|
154
161
|
keys[showKey] !== undefined &&
|
155
162
|
texts[keys[showKey] as keyof typeof texts];
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
163
|
+
|
164
|
+
this.setState({
|
165
|
+
showText: showText || ''
|
166
|
+
});
|
160
167
|
}
|
161
168
|
}
|
162
169
|
|
@@ -883,7 +883,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
|
|
883
883
|
) : null}
|
884
884
|
|
885
885
|
{renderMenu ? (
|
886
|
-
|
886
|
+
multiple ? (
|
887
887
|
<Checkbox
|
888
888
|
checked={checked}
|
889
889
|
trueValue={item.value}
|
@@ -913,7 +913,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
|
|
913
913
|
index
|
914
914
|
})
|
915
915
|
)
|
916
|
-
) :
|
916
|
+
) : multiple ? (
|
917
917
|
<Checkbox
|
918
918
|
checked={checked}
|
919
919
|
trueValue={item.value}
|
@@ -1101,7 +1101,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
|
|
1101
1101
|
isOpen={this.state.isOpen}
|
1102
1102
|
inputValue={inputValue}
|
1103
1103
|
onChange={
|
1104
|
-
/*展示 Checkbox 的时候,会出发多次 onChange 原因待查*/ multiple
|
1104
|
+
/*展示 Checkbox 的时候,会出发多次 onChange 原因待查*/ multiple &&
|
1105
1105
|
checkAll
|
1106
1106
|
? noop
|
1107
1107
|
: this.handleChange
|
@@ -0,0 +1,179 @@
|
|
1
|
+
/**
|
2
|
+
* @file Tag
|
3
|
+
*/
|
4
|
+
|
5
|
+
import React from 'react';
|
6
|
+
import {themeable, ThemeProps} from '../theme';
|
7
|
+
import {Icon, getIcon} from './icons';
|
8
|
+
import {generateIcon} from '../utils/icon';
|
9
|
+
import {autobind, noop} from '../utils/helper';
|
10
|
+
|
11
|
+
export interface TagProps extends ThemeProps {
|
12
|
+
style: React.CSSProperties;
|
13
|
+
color?: string;
|
14
|
+
label?: string | React.ReactNode;
|
15
|
+
displayMode?: 'normal' | 'rounded' | 'status';
|
16
|
+
icon?: string | React.ReactNode;
|
17
|
+
closable?: boolean;
|
18
|
+
disabled?: boolean;
|
19
|
+
closeIcon?: string | React.ReactNode;
|
20
|
+
onClose?: (e: React.MouseEvent) => void;
|
21
|
+
}
|
22
|
+
|
23
|
+
export interface CheckableTagProps extends TagProps {
|
24
|
+
onClick?: (e: React.MouseEvent) => void;
|
25
|
+
onChange?: (checked: boolean) => void;
|
26
|
+
checked?: boolean;
|
27
|
+
}
|
28
|
+
|
29
|
+
export type TagLevel =
|
30
|
+
| 'inactive'
|
31
|
+
| 'active'
|
32
|
+
| 'success'
|
33
|
+
| 'processing'
|
34
|
+
| 'error'
|
35
|
+
| 'warning';
|
36
|
+
|
37
|
+
const PRESET_COLOR: TagLevel[] = [
|
38
|
+
'inactive',
|
39
|
+
'active',
|
40
|
+
'success',
|
41
|
+
'processing',
|
42
|
+
'error',
|
43
|
+
'warning'
|
44
|
+
];
|
45
|
+
|
46
|
+
export class Tag extends React.Component<TagProps> {
|
47
|
+
static defaultProps: Partial<TagProps> = {
|
48
|
+
displayMode: 'normal'
|
49
|
+
};
|
50
|
+
|
51
|
+
renderCloseIcon() {
|
52
|
+
const {closeIcon, classnames: cx, closable} = this.props;
|
53
|
+
|
54
|
+
if (!closable) {
|
55
|
+
return null;
|
56
|
+
}
|
57
|
+
|
58
|
+
const icon =
|
59
|
+
typeof closeIcon === 'string' ? (
|
60
|
+
getIcon(closeIcon) ? (
|
61
|
+
<Icon icon={closeIcon} className="icon" />
|
62
|
+
) : (
|
63
|
+
generateIcon(cx, closeIcon, 'Icon')
|
64
|
+
)
|
65
|
+
) : React.isValidElement(closeIcon) ? (
|
66
|
+
closeIcon
|
67
|
+
) : (
|
68
|
+
<Icon icon="close" className="icon" />
|
69
|
+
);
|
70
|
+
|
71
|
+
return (
|
72
|
+
<span className={cx(`Tag--close`)} onClick={this.handleClose}>
|
73
|
+
{icon}
|
74
|
+
</span>
|
75
|
+
);
|
76
|
+
}
|
77
|
+
|
78
|
+
@autobind
|
79
|
+
handleClose(e: React.MouseEvent<HTMLElement>) {
|
80
|
+
const {onClose} = this.props;
|
81
|
+
e.stopPropagation();
|
82
|
+
onClose?.(e);
|
83
|
+
}
|
84
|
+
|
85
|
+
render() {
|
86
|
+
const {
|
87
|
+
children,
|
88
|
+
classnames: cx,
|
89
|
+
className,
|
90
|
+
displayMode,
|
91
|
+
disabled,
|
92
|
+
color,
|
93
|
+
icon,
|
94
|
+
style,
|
95
|
+
label
|
96
|
+
} = this.props;
|
97
|
+
|
98
|
+
const isPresetColor =
|
99
|
+
color && PRESET_COLOR.indexOf(color as TagLevel) !== -1;
|
100
|
+
|
101
|
+
const customColor = color && !isPresetColor ? color : undefined;
|
102
|
+
|
103
|
+
const tagStyle = {
|
104
|
+
backgroundColor: displayMode === 'normal' ? customColor : undefined,
|
105
|
+
borderColor: displayMode === 'rounded' ? customColor : undefined,
|
106
|
+
color: displayMode === 'rounded' ? customColor : undefined,
|
107
|
+
...style
|
108
|
+
};
|
109
|
+
|
110
|
+
const prevIcon = displayMode === 'status' && (
|
111
|
+
<span className={cx('Tag--prev')}>
|
112
|
+
{typeof icon === 'string' ? (
|
113
|
+
getIcon(icon) ? (
|
114
|
+
<Icon icon={icon} className="icon" />
|
115
|
+
) : (
|
116
|
+
generateIcon(cx, icon, 'Icon')
|
117
|
+
)
|
118
|
+
) : React.isValidElement(icon) ? (
|
119
|
+
icon
|
120
|
+
) : (
|
121
|
+
<Icon icon="dot" className="icon" />
|
122
|
+
)}
|
123
|
+
</span>
|
124
|
+
);
|
125
|
+
|
126
|
+
return (
|
127
|
+
<span
|
128
|
+
className={cx('Tag', `Tag--${displayMode}`, className, {
|
129
|
+
[`Tag--${displayMode}--${color}`]: isPresetColor,
|
130
|
+
[`Tag--${displayMode}--hasColor`]: color,
|
131
|
+
[`Tag--disabled`]: disabled
|
132
|
+
})}
|
133
|
+
style={tagStyle}
|
134
|
+
>
|
135
|
+
{prevIcon}
|
136
|
+
{label || children}
|
137
|
+
{this.renderCloseIcon()}
|
138
|
+
</span>
|
139
|
+
);
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
143
|
+
class CheckableTagComp extends React.Component<CheckableTagProps> {
|
144
|
+
@autobind
|
145
|
+
handleClick(e: React.MouseEvent) {
|
146
|
+
const {onChange, onClick, checked} = this.props;
|
147
|
+
|
148
|
+
onChange?.(!checked);
|
149
|
+
onClick?.(e);
|
150
|
+
}
|
151
|
+
|
152
|
+
render() {
|
153
|
+
const {
|
154
|
+
classnames: cx,
|
155
|
+
className,
|
156
|
+
disabled,
|
157
|
+
label,
|
158
|
+
children,
|
159
|
+
checked,
|
160
|
+
style = {}
|
161
|
+
} = this.props;
|
162
|
+
|
163
|
+
return (
|
164
|
+
<span
|
165
|
+
className={cx(className, 'Tag', 'Tag--checkable', {
|
166
|
+
'Tag--checkable--checked': checked,
|
167
|
+
'Tag--checkable--disabled': disabled
|
168
|
+
})}
|
169
|
+
onClick={disabled ? noop : this.handleClick}
|
170
|
+
style={style}
|
171
|
+
>
|
172
|
+
{label || children}
|
173
|
+
</span>
|
174
|
+
);
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
178
|
+
export const CheckableTag = themeable(CheckableTagComp);
|
179
|
+
export default themeable(Tag);
|
@@ -92,9 +92,13 @@ export interface TooltipWrapperProps {
|
|
92
92
|
rootClose: boolean;
|
93
93
|
overlay?: any;
|
94
94
|
delay: number;
|
95
|
-
|
95
|
+
tooltipTheme?: string;
|
96
96
|
tooltipClassName?: string;
|
97
97
|
style?: React.CSSProperties;
|
98
|
+
/**
|
99
|
+
* 显示&隐藏时触发
|
100
|
+
*/
|
101
|
+
onVisibleChange?: (visible: boolean) => void;
|
98
102
|
}
|
99
103
|
|
100
104
|
interface TooltipWrapperState {
|
@@ -151,6 +155,10 @@ export class TooltipWrapper extends React.Component<
|
|
151
155
|
show() {
|
152
156
|
this.setState({
|
153
157
|
show: true
|
158
|
+
}, () => {
|
159
|
+
if (this.props.onVisibleChange) {
|
160
|
+
this.props.onVisibleChange(true);
|
161
|
+
}
|
154
162
|
});
|
155
163
|
}
|
156
164
|
|
@@ -159,6 +167,10 @@ export class TooltipWrapper extends React.Component<
|
|
159
167
|
this.moutned &&
|
160
168
|
this.setState({
|
161
169
|
show: false
|
170
|
+
}, () => {
|
171
|
+
if (this.props.onVisibleChange) {
|
172
|
+
this.props.onVisibleChange(false);
|
173
|
+
}
|
162
174
|
});
|
163
175
|
}
|
164
176
|
|
@@ -262,6 +274,7 @@ export class TooltipWrapper extends React.Component<
|
|
262
274
|
tooltipClassName: props.tooltipClassName,
|
263
275
|
style: props.style,
|
264
276
|
mouseLeaveDelay: props.delay,
|
277
|
+
tooltipTheme: props.tooltipTheme as 'dark' | 'light',
|
265
278
|
...(typeof props.tooltip === 'string'
|
266
279
|
? {content: props.tooltip}
|
267
280
|
: props.tooltip)
|
@@ -15,6 +15,7 @@ export interface TransferDropDownProps extends TransferProps {
|
|
15
15
|
borderMode?: 'full' | 'half' | 'none';
|
16
16
|
useMobileUI?: boolean;
|
17
17
|
popOverContainer?: any;
|
18
|
+
itemRender: (value: any) => JSX.Element | string;
|
18
19
|
}
|
19
20
|
|
20
21
|
export class TransferDropDown extends Transfer<TransferDropDownProps> {
|
@@ -22,6 +23,7 @@ export class TransferDropDown extends Transfer<TransferDropDownProps> {
|
|
22
23
|
const {
|
23
24
|
classnames: cx,
|
24
25
|
value,
|
26
|
+
itemRender,
|
25
27
|
translate: __,
|
26
28
|
disabled,
|
27
29
|
clearable,
|
@@ -108,6 +110,7 @@ export class TransferDropDown extends Transfer<TransferDropDownProps> {
|
|
108
110
|
disabled={disabled}
|
109
111
|
clearable={clearable}
|
110
112
|
ref={ref}
|
113
|
+
itemRender={itemRender}
|
111
114
|
useMobileUI={useMobileUI}
|
112
115
|
>
|
113
116
|
{!mobileUI ? (
|
package/src/components/icons.tsx
CHANGED
@@ -84,6 +84,7 @@ import FunctionIcon from '../icons/function.svg';
|
|
84
84
|
import InputClearIcon from '../icons/input-clear.svg';
|
85
85
|
import SliderHandleIcon from '../icons/slider-handle-icon.svg';
|
86
86
|
import TrashIcon from '../icons/trash.svg';
|
87
|
+
import DotIcon from '../icons/dot.svg';
|
87
88
|
|
88
89
|
// 兼容原来的用法,后续不直接试用。
|
89
90
|
|
@@ -194,6 +195,7 @@ registerIcon('cloud-upload', CloudUploadIcon);
|
|
194
195
|
registerIcon('image', ImageIcon);
|
195
196
|
registerIcon('refresh', RefreshIcon);
|
196
197
|
registerIcon('trash', TrashIcon);
|
198
|
+
registerIcon('dot', DotIcon);
|
197
199
|
|
198
200
|
export function Icon({
|
199
201
|
icon,
|
package/src/components/index.tsx
CHANGED
@@ -58,6 +58,9 @@ import TableSelection from './TableSelection';
|
|
58
58
|
import TreeSelection from './TreeSelection';
|
59
59
|
import AssociatedSelection from './AssociatedSelection';
|
60
60
|
import PullRefresh from './PullRefresh';
|
61
|
+
import Table from './table';
|
62
|
+
import SchemaVariableListPicker from './schema-editor/SchemaVariableListPicker';
|
63
|
+
import SchemaVariableList from './schema-editor/SchemaVariableList';
|
61
64
|
|
62
65
|
export {
|
63
66
|
NotFound,
|
@@ -119,5 +122,8 @@ export {
|
|
119
122
|
NumberInput,
|
120
123
|
ArrayInput,
|
121
124
|
AnchorNav,
|
122
|
-
PullRefresh
|
125
|
+
PullRefresh,
|
126
|
+
Table,
|
127
|
+
SchemaVariableListPicker,
|
128
|
+
SchemaVariableList
|
123
129
|
};
|
@@ -0,0 +1,95 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {autobind} from '../../utils/helper';
|
3
|
+
import {Icon} from '../icons';
|
4
|
+
import {SchemaEditorItemCommon} from './Common';
|
5
|
+
import {SchemaEditorItem} from './Item';
|
6
|
+
|
7
|
+
export class SchemaEditorItemArray extends SchemaEditorItemCommon {
|
8
|
+
state = {
|
9
|
+
collapsed: false
|
10
|
+
};
|
11
|
+
|
12
|
+
@autobind
|
13
|
+
toggleCollapsed() {
|
14
|
+
this.setState({
|
15
|
+
collapsed: !this.state.collapsed
|
16
|
+
});
|
17
|
+
}
|
18
|
+
|
19
|
+
@autobind
|
20
|
+
handleItemsChange(items: any) {
|
21
|
+
const value: any = {
|
22
|
+
...this.props.value,
|
23
|
+
type: 'array',
|
24
|
+
items
|
25
|
+
};
|
26
|
+
this.props.onChange?.(value);
|
27
|
+
}
|
28
|
+
|
29
|
+
renderItems() {
|
30
|
+
const {
|
31
|
+
classnames: cx,
|
32
|
+
value,
|
33
|
+
renderExtraProps,
|
34
|
+
locale,
|
35
|
+
translate: __,
|
36
|
+
classPrefix,
|
37
|
+
disabled,
|
38
|
+
showInfo,
|
39
|
+
types,
|
40
|
+
onTypeChange
|
41
|
+
} = this.props;
|
42
|
+
const items = value?.items || {
|
43
|
+
type: 'string'
|
44
|
+
};
|
45
|
+
|
46
|
+
return (
|
47
|
+
<div
|
48
|
+
className={cx('SchemaEditorProps SchemaEditorArrayProps', {
|
49
|
+
'SchemaEditorProps--depth': showInfo !== false
|
50
|
+
})}
|
51
|
+
>
|
52
|
+
<SchemaEditorItem
|
53
|
+
types={types}
|
54
|
+
onTypeChange={onTypeChange}
|
55
|
+
prefix={
|
56
|
+
<div className={cx('SchemaEditor-itemsLabel')}>
|
57
|
+
{__('JSONSchema.array_items')}
|
58
|
+
</div>
|
59
|
+
}
|
60
|
+
value={items as any}
|
61
|
+
onChange={this.handleItemsChange}
|
62
|
+
renderExtraProps={renderExtraProps}
|
63
|
+
locale={locale}
|
64
|
+
translate={__}
|
65
|
+
classnames={cx}
|
66
|
+
classPrefix={classPrefix}
|
67
|
+
disabled={disabled || !!(items as any)?.$ref}
|
68
|
+
/>
|
69
|
+
</div>
|
70
|
+
);
|
71
|
+
}
|
72
|
+
|
73
|
+
render() {
|
74
|
+
const {classnames: cx, showInfo, disabled} = this.props;
|
75
|
+
|
76
|
+
return (
|
77
|
+
<div className={cx('SchemaEditorItem SchemaEditorArray')}>
|
78
|
+
{showInfo !== false ? (
|
79
|
+
<>
|
80
|
+
<a
|
81
|
+
className={cx('SchemaEditor-caret', {
|
82
|
+
'is-collapsed': this.state.collapsed
|
83
|
+
})}
|
84
|
+
onClick={this.toggleCollapsed}
|
85
|
+
>
|
86
|
+
<Icon icon="caret" className="icon" />
|
87
|
+
</a>
|
88
|
+
{this.renderCommon()}
|
89
|
+
</>
|
90
|
+
) : null}
|
91
|
+
{this.state.collapsed ? null : this.renderItems()}
|
92
|
+
</div>
|
93
|
+
);
|
94
|
+
}
|
95
|
+
}
|
@@ -0,0 +1,138 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {LocaleProps} from '../../locale';
|
3
|
+
import {ThemeProps} from '../../theme';
|
4
|
+
import type {JSONSchema} from '../../utils/DataScope';
|
5
|
+
import {autobind} from '../../utils/helper';
|
6
|
+
import Checkbox from '../Checkbox';
|
7
|
+
import InputBox from '../InputBox';
|
8
|
+
import Select from '../Select';
|
9
|
+
|
10
|
+
export interface SchemaEditorItemCommonProps extends LocaleProps, ThemeProps {
|
11
|
+
value?: JSONSchema;
|
12
|
+
onChange: (value: JSONSchema) => void;
|
13
|
+
types: Array<{
|
14
|
+
label: string;
|
15
|
+
value: string;
|
16
|
+
[propName: string]: any;
|
17
|
+
}>;
|
18
|
+
onTypeChange?: (
|
19
|
+
type: string,
|
20
|
+
value: JSONSchema,
|
21
|
+
origin?: JSONSchema
|
22
|
+
) => JSONSchema | void;
|
23
|
+
disabled?: boolean;
|
24
|
+
required?: boolean;
|
25
|
+
onRequiredChange?: (value: boolean) => void;
|
26
|
+
typeMutable?: boolean;
|
27
|
+
showInfo?: boolean;
|
28
|
+
renderExtraProps?: (
|
29
|
+
value: JSONSchema,
|
30
|
+
onChange: (value: JSONSchema) => void
|
31
|
+
) => JSX.Element;
|
32
|
+
prefix?: JSX.Element;
|
33
|
+
affix?: JSX.Element;
|
34
|
+
}
|
35
|
+
|
36
|
+
export class SchemaEditorItemCommon<
|
37
|
+
P extends SchemaEditorItemCommonProps = SchemaEditorItemCommonProps,
|
38
|
+
S = any
|
39
|
+
> extends React.Component<P, S> {
|
40
|
+
@autobind
|
41
|
+
handleTypeChange(type: any) {
|
42
|
+
const {value, onChange, onTypeChange} = this.props;
|
43
|
+
let newValue: any = {
|
44
|
+
type
|
45
|
+
};
|
46
|
+
|
47
|
+
newValue = onTypeChange?.(type, newValue, value) ?? newValue;
|
48
|
+
onChange?.(newValue);
|
49
|
+
}
|
50
|
+
|
51
|
+
@autobind
|
52
|
+
handleDescriptionChange(description: string) {
|
53
|
+
const {value, onChange} = this.props;
|
54
|
+
onChange?.({
|
55
|
+
...value,
|
56
|
+
description
|
57
|
+
});
|
58
|
+
}
|
59
|
+
|
60
|
+
@autobind
|
61
|
+
handleExtraPropsChange(newValue: JSONSchema) {
|
62
|
+
const {onChange} = this.props;
|
63
|
+
onChange?.({
|
64
|
+
...newValue
|
65
|
+
});
|
66
|
+
}
|
67
|
+
|
68
|
+
// @autobind
|
69
|
+
// handleSettingClick() {}
|
70
|
+
|
71
|
+
renderCommon() {
|
72
|
+
const {
|
73
|
+
value,
|
74
|
+
translate: __,
|
75
|
+
typeMutable,
|
76
|
+
disabled,
|
77
|
+
classnames: cx,
|
78
|
+
required,
|
79
|
+
onRequiredChange,
|
80
|
+
renderExtraProps,
|
81
|
+
prefix,
|
82
|
+
affix,
|
83
|
+
types
|
84
|
+
} = this.props;
|
85
|
+
|
86
|
+
return (
|
87
|
+
<>
|
88
|
+
{prefix}
|
89
|
+
|
90
|
+
<Select
|
91
|
+
options={types}
|
92
|
+
className={cx('SchemaEditor-type')}
|
93
|
+
value={value?.$ref || value?.type || 'string'}
|
94
|
+
onChange={this.handleTypeChange}
|
95
|
+
clearable={false}
|
96
|
+
disabled={disabled || typeMutable === false}
|
97
|
+
simpleValue
|
98
|
+
/>
|
99
|
+
|
100
|
+
{onRequiredChange ? (
|
101
|
+
<Checkbox
|
102
|
+
className={cx('SchemaEditor-required')}
|
103
|
+
label={__('Required')}
|
104
|
+
value={required}
|
105
|
+
onChange={onRequiredChange}
|
106
|
+
disabled={disabled || typeMutable === false}
|
107
|
+
/>
|
108
|
+
) : null}
|
109
|
+
|
110
|
+
<InputBox
|
111
|
+
className={cx('SchemaEditor-description')}
|
112
|
+
value={value?.description || ''}
|
113
|
+
onChange={this.handleDescriptionChange}
|
114
|
+
placeholder={__('JSONSchema.description')}
|
115
|
+
disabled={disabled}
|
116
|
+
/>
|
117
|
+
|
118
|
+
{renderExtraProps?.(value!, this.handleExtraPropsChange)}
|
119
|
+
|
120
|
+
{/* todo 后面扩充详细配置
|
121
|
+
<Button
|
122
|
+
className={cx('SchemaEditor-btn')}
|
123
|
+
onClick={this.handleSettingClick}
|
124
|
+
iconOnly
|
125
|
+
>
|
126
|
+
<Icon icon="setting" className="icon" />
|
127
|
+
</Button> */}
|
128
|
+
|
129
|
+
{affix}
|
130
|
+
</>
|
131
|
+
);
|
132
|
+
}
|
133
|
+
|
134
|
+
render() {
|
135
|
+
const {classnames: cx} = this.props;
|
136
|
+
return <div className={cx('SchemaEditorItem')}>{this.renderCommon()}</div>;
|
137
|
+
}
|
138
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {LocaleProps} from '../../locale';
|
3
|
+
import {ThemeProps} from '../../theme';
|
4
|
+
import type {JSONSchema} from '../../utils/DataScope';
|
5
|
+
import {autobind} from '../../utils/helper';
|
6
|
+
import Checkbox from '../Checkbox';
|
7
|
+
import InputBox from '../InputBox';
|
8
|
+
import Select from '../Select';
|
9
|
+
import {SchemaEditorItemArray} from './Array';
|
10
|
+
import {SchemaEditorItemCommon, SchemaEditorItemCommonProps} from './Common';
|
11
|
+
import {SchemaEditorItemObject} from './Object';
|
12
|
+
|
13
|
+
export interface SchemaEditorItemProps
|
14
|
+
extends SchemaEditorItemCommonProps,
|
15
|
+
LocaleProps,
|
16
|
+
ThemeProps {}
|
17
|
+
|
18
|
+
export class SchemaEditorItem extends React.Component<SchemaEditorItemProps> {
|
19
|
+
render() {
|
20
|
+
const {value} = this.props;
|
21
|
+
|
22
|
+
// 动态Component要用大写开头的才会被识别
|
23
|
+
let Renderer = SchemaEditorItemCommon;
|
24
|
+
switch (value?.type) {
|
25
|
+
case 'object':
|
26
|
+
Renderer = SchemaEditorItemObject as any;
|
27
|
+
break;
|
28
|
+
|
29
|
+
case 'array':
|
30
|
+
Renderer = SchemaEditorItemArray as any;
|
31
|
+
break;
|
32
|
+
}
|
33
|
+
|
34
|
+
return <Renderer {...this.props} />;
|
35
|
+
}
|
36
|
+
}
|