amis 1.3.5-beta.6 → 1.4.2-beta.1
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/README.md +1 -1
- package/lib/Schema.d.ts +17 -0
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert.js +3 -1
- package/lib/components/Alert.js.map +2 -2
- package/lib/components/Badge.d.ts +16 -3
- package/lib/components/Badge.js +53 -4
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/DatePicker.js +1 -1
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.js +1 -1
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Link.d.ts +91 -0
- package/lib/components/Link.js +44 -0
- package/lib/components/Link.js.map +13 -0
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/MonthRangePicker.js +1 -1
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/RichText.d.ts +6 -1
- package/lib/components/RichText.js +207 -8
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Select.d.ts +7 -0
- package/lib/components/Select.js +3 -0
- package/lib/components/Select.js.map +2 -2
- package/lib/components/SparkLine.d.ts +85 -84
- package/lib/components/SparkLine.js +2 -2
- package/lib/components/SparkLine.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/Toast.js +2 -2
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/Tree.js +5 -3
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +28 -2
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +0 -1
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +14 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -1
- package/lib/factory.js +9 -4
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/clock.js +10 -0
- package/lib/icons/loading-outline.js +7 -0
- package/lib/icons/status-close.js +11 -0
- package/lib/icons/status-fail.js +11 -0
- package/lib/icons/status-info.js +10 -0
- package/lib/icons/status-success.js +11 -0
- package/lib/icons/status-warning.js +10 -0
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +3 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +4 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +5 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +16 -1
- package/lib/renderers/Action.js +5 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +2 -2
- package/lib/renderers/CRUD.js +32 -26
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +7 -3
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +1 -4
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +0 -3
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +13 -1
- package/lib/renderers/DropDownButton.js +9 -5
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -0
- package/lib/renderers/Form/Checkbox.js +4 -0
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.js +2 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +0 -2
- package/lib/renderers/Form/Editor.d.ts +0 -2
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +2 -2
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +7 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Options.js +6 -3
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Picker.js +2 -2
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +2 -2
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/IFrame.js +2 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Image.d.ts +1 -0
- package/lib/renderers/Image.js +15 -1
- package/lib/renderers/Image.js.map +2 -2
- package/lib/renderers/Json.js +5 -1
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Link.d.ts +16 -3
- package/lib/renderers/Link.js +16 -13
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/Log.d.ts +2 -2
- package/lib/renderers/Log.js +7 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Nav.d.ts +81 -25
- package/lib/renderers/Nav.js +272 -29
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +4 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/SparkLine.d.ts +4 -0
- package/lib/renderers/SparkLine.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
- package/lib/renderers/Table/ColumnToggler.js +216 -0
- package/lib/renderers/Table/ColumnToggler.js.map +13 -0
- package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
- package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
- package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
- package/lib/renderers/Table/TableBody.d.ts +5 -1
- package/lib/renderers/Table/TableBody.js +5 -1
- package/lib/renderers/Table/TableBody.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +3 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +1 -1
- package/lib/renderers/Table/TableContent.js +4 -0
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +22 -4
- package/lib/renderers/Table/index.js +196 -81
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +0 -2
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +41 -36
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +0 -1
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +0 -13
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +258 -3
- package/lib/store/table.js +83 -7
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +941 -98
- package/lib/themes/ang.css +941 -98
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +941 -98
- package/lib/themes/antd.css +941 -98
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1580 -411
- package/lib/themes/cxd.css +1580 -411
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +941 -98
- package/lib/themes/dark.css +941 -98
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1580 -411
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +16 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/handleAction.d.ts +7 -0
- package/lib/utils/handleAction.js +30 -0
- package/lib/utils/handleAction.js.map +13 -0
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +3 -3
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -1
- package/lib/utils/tpl-builtin.js +25 -15
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +1 -2
- package/schema.json +633 -273
- package/scss/_mixins.scss +29 -0
- package/scss/_properties.scss +64 -13
- package/scss/_utilities.scss +4 -0
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +34 -3
- package/scss/components/_collapse.scss +26 -8
- package/scss/components/_column-toggler.scss +234 -0
- package/scss/components/_dropdown.scss +2 -1
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_images.scss +2 -1
- package/scss/components/_link.scss +6 -0
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +236 -154
- package/scss/components/_page.scss +5 -4
- package/scss/components/_progress.scss +2 -0
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/_steps.scss +1 -1
- package/scss/components/_table.scss +25 -1
- package/scss/components/form/_color.scss +1 -0
- package/scss/components/form/_date-range.scss +2 -0
- package/scss/components/form/_date.scss +2 -0
- package/scss/components/form/_fieldset.scss +1 -2
- package/scss/components/form/_file.scss +5 -4
- package/scss/components/form/_group.scss +4 -0
- package/scss/components/form/_image.scss +7 -2
- package/scss/components/form/_list.scss +1 -0
- package/scss/components/form/_location.scss +1 -1
- package/scss/components/form/_text.scss +13 -0
- package/scss/components/form/_textarea.scss +10 -0
- package/scss/components/form/_transfer.scss +2 -0
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-colors.scss +56 -0
- package/scss/themes/_cxd-variables.scss +217 -92
- package/scss/themes/cxd.scss +366 -0
- package/sdk/ang-ie11.css +1192 -176
- package/sdk/ang.css +1175 -118
- package/sdk/antd-ie11.css +1177 -163
- package/sdk/antd.css +1175 -118
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +67 -67
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +2538 -1222
- package/sdk/cxd.css +1825 -401
- package/sdk/dark-ie11.css +1192 -176
- package/sdk/dark.css +1175 -118
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/ie11-patch.css +1 -0
- package/sdk/locale/de-DE.js +3 -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 +22 -24
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +2538 -1222
- package/sdk/sdk.css +1825 -401
- package/sdk/sdk.js +1139 -1113
- 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 +18 -0
- package/src/components/Alert.tsx +3 -1
- package/src/components/Badge.tsx +124 -21
- package/src/components/Button.tsx +23 -7
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Collapse.tsx +14 -9
- package/src/components/DatePicker.tsx +1 -1
- package/src/components/DateRangePicker.tsx +23 -11
- package/src/components/Drawer.tsx +3 -2
- package/src/components/InputBox.tsx +1 -1
- package/src/components/Link.tsx +94 -0
- package/src/components/Modal.tsx +3 -2
- package/src/components/MonthRangePicker.tsx +10 -2
- package/src/components/RichText.tsx +244 -3
- package/src/components/Select.tsx +4 -0
- package/src/components/SparkLine.tsx +4 -1
- package/src/components/Steps.tsx +3 -3
- package/src/components/Toast.tsx +5 -5
- package/src/components/Tree.tsx +6 -8
- package/src/components/WithRemoteConfig.tsx +37 -2
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +1 -2
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +15 -0
- package/src/factory.tsx +13 -3
- package/src/icons/clock.svg +1 -0
- package/src/icons/loading-outline.svg +4 -0
- package/src/icons/status-close.svg +10 -0
- package/src/icons/status-fail.svg +10 -0
- package/src/icons/status-info.svg +8 -0
- package/src/icons/status-success.svg +10 -0
- package/src/icons/status-warning.svg +8 -0
- package/src/locale/de-DE.ts +3 -0
- package/src/locale/en-US.ts +4 -1
- package/src/locale/zh-CN.ts +5 -2
- package/src/renderers/Action.tsx +71 -13
- package/src/renderers/CRUD.tsx +44 -59
- package/src/renderers/Collapse.tsx +6 -2
- package/src/renderers/Dialog.tsx +1 -5
- package/src/renderers/Drawer.tsx +0 -4
- package/src/renderers/DropDownButton.tsx +34 -12
- package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
- package/src/renderers/Form/Checkbox.tsx +8 -0
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputFile.tsx +2 -1
- package/src/renderers/Form/InputImage.tsx +28 -10
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Form/Options.tsx +16 -5
- package/src/renderers/Form/Picker.tsx +3 -2
- package/src/renderers/Form/wrapControl.tsx +2 -2
- package/src/renderers/IFrame.tsx +2 -1
- package/src/renderers/Image.tsx +10 -0
- package/src/renderers/Json.tsx +10 -1
- package/src/renderers/Link.tsx +36 -11
- package/src/renderers/Log.tsx +16 -3
- package/src/renderers/Nav.tsx +340 -56
- package/src/renderers/Page.tsx +3 -1
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/SparkLine.tsx +5 -0
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/ColumnToggler.tsx +544 -0
- package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
- package/src/renderers/Table/TableBody.tsx +3 -2
- package/src/renderers/Table/TableCell.tsx +16 -1
- package/src/renderers/Table/TableContent.tsx +3 -1
- package/src/renderers/Table/index.tsx +240 -60
- package/src/store/crud.ts +34 -38
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +0 -19
- package/src/store/table.ts +103 -4
- package/src/utils/api.ts +24 -4
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/handleAction.ts +41 -0
- package/src/utils/helper.ts +4 -3
- package/src/utils/tpl-builtin.ts +48 -17
- package/src/utils/validations.ts +80 -12
@@ -7,7 +7,12 @@ import {filter, evalExpression} from '../utils/tpl';
|
|
7
7
|
import cx from 'classnames';
|
8
8
|
import Scoped, {ScopedContext, IScopedContext} from '../Scoped';
|
9
9
|
import {observer} from 'mobx-react';
|
10
|
-
import {
|
10
|
+
import {
|
11
|
+
buildApi,
|
12
|
+
isApiOutdated,
|
13
|
+
isEffectiveApi,
|
14
|
+
str2AsyncFunction
|
15
|
+
} from '../utils/api';
|
11
16
|
import {Spinner} from '../components';
|
12
17
|
import {autobind, isEmpty, isVisible, qsstringify} from '../utils/helper';
|
13
18
|
import {
|
@@ -40,6 +45,11 @@ export interface ServiceSchema extends BaseSchema {
|
|
40
45
|
*/
|
41
46
|
ws?: string;
|
42
47
|
|
48
|
+
/**
|
49
|
+
* 通过调用外部函数来获取数据
|
50
|
+
*/
|
51
|
+
dataProvider?: string | Function;
|
52
|
+
|
43
53
|
/**
|
44
54
|
* 内容区域
|
45
55
|
*/
|
@@ -111,6 +121,8 @@ export default class Service extends React.Component<ServiceProps> {
|
|
111
121
|
// 主要是用于关闭 socket
|
112
122
|
socket: any;
|
113
123
|
|
124
|
+
dataProviderUnsubscribe?: Function;
|
125
|
+
|
114
126
|
static defaultProps: Partial<ServiceProps> = {
|
115
127
|
messages: {
|
116
128
|
fetchFailed: 'fetchFailed'
|
@@ -130,6 +142,8 @@ export default class Service extends React.Component<ServiceProps> {
|
|
130
142
|
this.initInterval = this.initInterval.bind(this);
|
131
143
|
this.afterDataFetch = this.afterDataFetch.bind(this);
|
132
144
|
this.afterSchemaFetch = this.afterSchemaFetch.bind(this);
|
145
|
+
this.runDataProvider = this.runDataProvider.bind(this);
|
146
|
+
this.dataProviderSetData = this.dataProviderSetData.bind(this);
|
133
147
|
}
|
134
148
|
|
135
149
|
componentDidMount() {
|
@@ -168,12 +182,21 @@ export default class Service extends React.Component<ServiceProps> {
|
|
168
182
|
if (this.socket) {
|
169
183
|
this.socket.close();
|
170
184
|
}
|
171
|
-
this.socket =
|
185
|
+
this.socket = this.fetchWSData(props.ws, store.data);
|
186
|
+
}
|
187
|
+
|
188
|
+
if (props.defaultData !== prevProps.defaultData) {
|
189
|
+
store.reInitData(props.defaultData);
|
190
|
+
}
|
191
|
+
|
192
|
+
if (props.dataProvider !== prevProps.dataProvider) {
|
193
|
+
this.runDataProvider();
|
172
194
|
}
|
173
195
|
}
|
174
196
|
|
175
197
|
componentWillUnmount() {
|
176
198
|
this.mounted = false;
|
199
|
+
this.runDataProviderUnsubscribe();
|
177
200
|
clearTimeout(this.timer);
|
178
201
|
if (this.socket && this.socket.close) {
|
179
202
|
this.socket.close();
|
@@ -189,6 +212,7 @@ export default class Service extends React.Component<ServiceProps> {
|
|
189
212
|
ws,
|
190
213
|
initFetch,
|
191
214
|
initFetchOn,
|
215
|
+
dataProvider,
|
192
216
|
store,
|
193
217
|
messages: {fetchSuccess, fetchFailed}
|
194
218
|
} = this.props;
|
@@ -212,8 +236,82 @@ export default class Service extends React.Component<ServiceProps> {
|
|
212
236
|
}
|
213
237
|
|
214
238
|
if (ws) {
|
215
|
-
this.socket =
|
239
|
+
this.socket = this.fetchWSData(ws, store.data);
|
216
240
|
}
|
241
|
+
|
242
|
+
if (dataProvider) {
|
243
|
+
this.runDataProvider();
|
244
|
+
}
|
245
|
+
}
|
246
|
+
|
247
|
+
// 使用外部函数获取数据
|
248
|
+
async runDataProvider() {
|
249
|
+
this.runDataProviderUnsubscribe();
|
250
|
+
const {dataProvider, store} = this.props;
|
251
|
+
let dataProviderFunc = dataProvider;
|
252
|
+
|
253
|
+
if (typeof dataProvider === 'string' && dataProvider) {
|
254
|
+
dataProviderFunc = str2AsyncFunction(dataProvider, 'data', 'setData')!;
|
255
|
+
}
|
256
|
+
if (typeof dataProviderFunc === 'function') {
|
257
|
+
const unsubscribe = await dataProviderFunc(
|
258
|
+
store.data,
|
259
|
+
this.dataProviderSetData
|
260
|
+
);
|
261
|
+
if (typeof unsubscribe === 'function') {
|
262
|
+
this.dataProviderUnsubscribe = unsubscribe;
|
263
|
+
}
|
264
|
+
}
|
265
|
+
}
|
266
|
+
|
267
|
+
// 运行销毁外部函数的方法
|
268
|
+
runDataProviderUnsubscribe() {
|
269
|
+
if (typeof this.dataProviderUnsubscribe === 'function') {
|
270
|
+
try {
|
271
|
+
this.dataProviderUnsubscribe();
|
272
|
+
} catch (error) {
|
273
|
+
console.error(error);
|
274
|
+
}
|
275
|
+
}
|
276
|
+
}
|
277
|
+
|
278
|
+
// 外部函数回调更新数据
|
279
|
+
dataProviderSetData(data: any) {
|
280
|
+
if (!this.mounted) {
|
281
|
+
return;
|
282
|
+
}
|
283
|
+
const {store} = this.props;
|
284
|
+
store.updateData(data, undefined, false);
|
285
|
+
store.setHasRemoteData();
|
286
|
+
}
|
287
|
+
|
288
|
+
// 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现
|
289
|
+
fetchWSData(ws: string | Api, data: any) {
|
290
|
+
const {env, store} = this.props;
|
291
|
+
const wsApi = buildApi(ws, data);
|
292
|
+
|
293
|
+
env.wsFetcher(
|
294
|
+
wsApi,
|
295
|
+
(data: any) => {
|
296
|
+
let returndata = data;
|
297
|
+
if ('status' in data && 'data' in data) {
|
298
|
+
returndata = data.data;
|
299
|
+
if (data.status !== 0) {
|
300
|
+
store.updateMessage(data.msg, true);
|
301
|
+
env.notify('error', data.msg);
|
302
|
+
return;
|
303
|
+
}
|
304
|
+
}
|
305
|
+
store.updateData(returndata, undefined, false);
|
306
|
+
store.setHasRemoteData();
|
307
|
+
// 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的
|
308
|
+
this.afterDataFetch({ok: true, data: returndata});
|
309
|
+
},
|
310
|
+
(error: any) => {
|
311
|
+
store.updateMessage(error, true);
|
312
|
+
env.notify('error', error);
|
313
|
+
}
|
314
|
+
);
|
217
315
|
}
|
218
316
|
|
219
317
|
afterDataFetch(result: any) {
|
package/src/renderers/Steps.tsx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import {Renderer, RendererProps} from '../factory';
|
3
|
-
import {BaseSchema} from '../Schema';
|
3
|
+
import {BaseSchema, SchemaCollection} from '../Schema';
|
4
4
|
import Steps, {StepStatus} from '../components/Steps';
|
5
5
|
import {
|
6
6
|
RemoteOptionsProps,
|
@@ -14,12 +14,12 @@ export type StepSchema = {
|
|
14
14
|
/**
|
15
15
|
* 标题
|
16
16
|
*/
|
17
|
-
title: string;
|
17
|
+
title: string | SchemaCollection;
|
18
18
|
|
19
19
|
/**
|
20
20
|
* 子标题
|
21
21
|
*/
|
22
|
-
subTitle?: string;
|
22
|
+
subTitle?: string | SchemaCollection;
|
23
23
|
|
24
24
|
/**
|
25
25
|
* 图标
|
@@ -31,7 +31,7 @@ export type StepSchema = {
|
|
31
31
|
/**
|
32
32
|
* 描述
|
33
33
|
*/
|
34
|
-
description?: string;
|
34
|
+
description?: string | SchemaCollection;
|
35
35
|
} & Omit<BaseSchema, 'type'>;
|
36
36
|
|
37
37
|
export interface StepsSchema extends BaseSchema {
|
@@ -82,7 +82,8 @@ export function StepsCmpt(props: StepsProps) {
|
|
82
82
|
mode,
|
83
83
|
data,
|
84
84
|
source,
|
85
|
-
config
|
85
|
+
config,
|
86
|
+
render
|
86
87
|
} = props;
|
87
88
|
|
88
89
|
const stepsRow =
|
@@ -90,7 +91,9 @@ export function StepsCmpt(props: StepsProps) {
|
|
90
91
|
config ||
|
91
92
|
steps ||
|
92
93
|
[];
|
93
|
-
|
94
|
+
const resolveRender = (val?: string | SchemaCollection) => typeof val === 'string'
|
95
|
+
? filter(val, data)
|
96
|
+
: val && render('inner', val);
|
94
97
|
const value = getPropValue(props) ?? 0;
|
95
98
|
const resolveValue =
|
96
99
|
typeof value === 'string' && isNaN(+value)
|
@@ -105,9 +108,9 @@ export function StepsCmpt(props: StepsProps) {
|
|
105
108
|
return {
|
106
109
|
...step,
|
107
110
|
status: stepStatus,
|
108
|
-
title:
|
109
|
-
subTitle:
|
110
|
-
description:
|
111
|
+
title: resolveRender(step.title),
|
112
|
+
subTitle: resolveRender(step.subTitle),
|
113
|
+
description: resolveRender(step.description)
|
111
114
|
}
|
112
115
|
});
|
113
116
|
|