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
@@ -5,6 +5,7 @@ import {SchemaNode, Action, Schema} from '../../types';
|
|
5
5
|
import forEach from 'lodash/forEach';
|
6
6
|
import {filter} from '../../utils/tpl';
|
7
7
|
import DropDownButton from '../DropDownButton';
|
8
|
+
import './ColumnToggler';
|
8
9
|
import Checkbox from '../../components/Checkbox';
|
9
10
|
import Button from '../../components/Button';
|
10
11
|
import {TableStore, ITableStore, IColumn, IRow} from '../../store/table';
|
@@ -16,7 +17,9 @@ import {
|
|
16
17
|
autobind,
|
17
18
|
isArrayChildrenModified,
|
18
19
|
getVariable,
|
19
|
-
removeHTMLTag
|
20
|
+
removeHTMLTag,
|
21
|
+
eachTree,
|
22
|
+
isObject
|
20
23
|
} from '../../utils/helper';
|
21
24
|
import {
|
22
25
|
isPureVariable,
|
@@ -35,6 +38,7 @@ import {HeadCellSearchDropDown} from './HeadCellSearchDropdown';
|
|
35
38
|
import {TableContent} from './TableContent';
|
36
39
|
import {
|
37
40
|
BaseSchema,
|
41
|
+
SchemaApi,
|
38
42
|
SchemaClassName,
|
39
43
|
SchemaObject,
|
40
44
|
SchemaTokenizeableString,
|
@@ -49,6 +53,9 @@ import {TableBody} from './TableBody';
|
|
49
53
|
import {TplSchema} from '../Tpl';
|
50
54
|
import {MappingSchema} from '../Mapping';
|
51
55
|
import {isAlive, getSnapshot} from 'mobx-state-tree';
|
56
|
+
import ItemActionsWrapper from './ItemActionsWrapper';
|
57
|
+
import ColumnToggler from './ColumnToggler';
|
58
|
+
import {BadgeSchema} from '../../components/Badge';
|
52
59
|
|
53
60
|
/**
|
54
61
|
* 表格列,不指定类型时默认为文本类型。
|
@@ -97,7 +104,7 @@ export type TableColumnObject = {
|
|
97
104
|
/**
|
98
105
|
* 是否可快速搜索
|
99
106
|
*/
|
100
|
-
searchable?: boolean;
|
107
|
+
searchable?: boolean | SchemaObject;
|
101
108
|
|
102
109
|
/**
|
103
110
|
* 配置是否默认展示
|
@@ -277,6 +284,16 @@ export interface TableSchema extends BaseSchema {
|
|
277
284
|
* 行样式表表达式
|
278
285
|
*/
|
279
286
|
rowClassNameExpr?: string;
|
287
|
+
|
288
|
+
/**
|
289
|
+
* 行角标
|
290
|
+
*/
|
291
|
+
itemBadge?: BadgeSchema;
|
292
|
+
|
293
|
+
/**
|
294
|
+
* 开启查询区域,会根据列元素的searchable属性值,自动生成查询条件表单
|
295
|
+
*/
|
296
|
+
autoGenerateFilter?: boolean;
|
280
297
|
}
|
281
298
|
|
282
299
|
export interface TableProps extends RendererProps {
|
@@ -344,8 +361,15 @@ export interface TableProps extends RendererProps {
|
|
344
361
|
popOverContainer?: any;
|
345
362
|
canAccessSuperData?: boolean;
|
346
363
|
reUseRow?: boolean;
|
364
|
+
itemBadge?: BadgeSchema;
|
347
365
|
}
|
348
366
|
|
367
|
+
type ExportExcelToolbar = SchemaNode & {
|
368
|
+
api?: SchemaApi;
|
369
|
+
columns?: string[];
|
370
|
+
filename?: string;
|
371
|
+
};
|
372
|
+
|
349
373
|
/**
|
350
374
|
* 将 url 转成绝对地址
|
351
375
|
*/
|
@@ -397,7 +421,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
397
421
|
'popOverContainer',
|
398
422
|
'headerToolbarClassName',
|
399
423
|
'toolbarClassName',
|
400
|
-
'footerToolbarClassName'
|
424
|
+
'footerToolbarClassName',
|
425
|
+
'itemBadge'
|
401
426
|
];
|
402
427
|
static defaultProps: Partial<TableProps> = {
|
403
428
|
className: '',
|
@@ -470,6 +495,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
470
495
|
this.handleMouseMove = this.handleMouseMove.bind(this);
|
471
496
|
this.handleMouseLeave = this.handleMouseLeave.bind(this);
|
472
497
|
this.subFormRef = this.subFormRef.bind(this);
|
498
|
+
this.handleColumnToggle = this.handleColumnToggle.bind(this);
|
499
|
+
this.renderAutoFilterForm = this.renderAutoFilterForm.bind(this);
|
473
500
|
|
474
501
|
const {
|
475
502
|
store,
|
@@ -648,8 +675,12 @@ export default class Table extends React.Component<TableProps, object> {
|
|
648
675
|
) {
|
649
676
|
Table.syncRows(store, props, prevProps) && this.syncSelected();
|
650
677
|
} else if (isArrayChildrenModified(prevProps.selected!, props.selected!)) {
|
678
|
+
const prevSelectedRows = store.selectedRows
|
679
|
+
.map(item => item.id)
|
680
|
+
.join(',');
|
651
681
|
store.updateSelected(props.selected || [], props.valueField);
|
652
|
-
|
682
|
+
const selectedRows = store.selectedRows.map(item => item.id).join(',');
|
683
|
+
prevSelectedRows !== selectedRows && this.syncSelected();
|
653
684
|
}
|
654
685
|
|
655
686
|
this.updateTableInfoLazy();
|
@@ -682,8 +713,14 @@ export default class Table extends React.Component<TableProps, object> {
|
|
682
713
|
onAction(e, action, ctx);
|
683
714
|
}
|
684
715
|
|
685
|
-
handleCheck(item: IRow) {
|
686
|
-
|
716
|
+
handleCheck(item: IRow, value: boolean, shift?: boolean) {
|
717
|
+
const {store} = this.props;
|
718
|
+
if (shift) {
|
719
|
+
store.toggleShift(item);
|
720
|
+
} else {
|
721
|
+
item.toggle();
|
722
|
+
}
|
723
|
+
|
687
724
|
this.syncSelected();
|
688
725
|
}
|
689
726
|
|
@@ -1098,7 +1135,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1098
1135
|
|
1099
1136
|
handleMouseMove(e: React.MouseEvent<any>) {
|
1100
1137
|
const tr: HTMLElement = (e.target as HTMLElement).closest(
|
1101
|
-
'tr[data-
|
1138
|
+
'tr[data-id]'
|
1102
1139
|
) as HTMLElement;
|
1103
1140
|
|
1104
1141
|
if (!tr) {
|
@@ -1116,20 +1153,20 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1116
1153
|
return;
|
1117
1154
|
}
|
1118
1155
|
|
1119
|
-
const
|
1156
|
+
const id = tr.getAttribute('data-id') as string;
|
1157
|
+
const row = store.hoverRow;
|
1120
1158
|
|
1121
|
-
if (
|
1159
|
+
if (row?.id === id) {
|
1122
1160
|
return;
|
1123
1161
|
}
|
1124
|
-
store.rows
|
1162
|
+
eachTree<IRow>(store.rows, (item: IRow) => item.setIsHover(item.id === id));
|
1125
1163
|
}
|
1126
1164
|
|
1127
1165
|
handleMouseLeave() {
|
1128
1166
|
const store = this.props.store;
|
1167
|
+
const row = store.hoverRow;
|
1129
1168
|
|
1130
|
-
|
1131
|
-
store.rows[store.hoverIndex].setIsHover(false);
|
1132
|
-
}
|
1169
|
+
row?.setIsHover(false);
|
1133
1170
|
}
|
1134
1171
|
|
1135
1172
|
draggingTr: HTMLTableRowElement;
|
@@ -1333,6 +1370,111 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1333
1370
|
document.removeEventListener('mouseup', this.handleColResizeMouseUp);
|
1334
1371
|
}
|
1335
1372
|
|
1373
|
+
handleColumnToggle(columns: Array<IColumn>) {
|
1374
|
+
const {store} = this.props;
|
1375
|
+
|
1376
|
+
store.update({columns});
|
1377
|
+
}
|
1378
|
+
|
1379
|
+
renderAutoFilterForm(): React.ReactNode {
|
1380
|
+
const {
|
1381
|
+
render,
|
1382
|
+
store,
|
1383
|
+
onSearchableFromReset,
|
1384
|
+
onSearchableFromSubmit,
|
1385
|
+
onSearchableFromInit,
|
1386
|
+
classnames: cx,
|
1387
|
+
translate: __
|
1388
|
+
} = this.props;
|
1389
|
+
const searchableColumns = store.searchableColumns;
|
1390
|
+
const activedSearchableColumns = store.activedSearchableColumns;
|
1391
|
+
|
1392
|
+
if (!searchableColumns.length) {
|
1393
|
+
return null;
|
1394
|
+
}
|
1395
|
+
|
1396
|
+
const groupedSearchableColumns: Array<Record<string, any>> = [
|
1397
|
+
{body: [], md: 4},
|
1398
|
+
{body: [], md: 4},
|
1399
|
+
{body: [], md: 4}
|
1400
|
+
];
|
1401
|
+
|
1402
|
+
activedSearchableColumns.forEach((column, index) => {
|
1403
|
+
groupedSearchableColumns[index % 3].body.push({
|
1404
|
+
...column.searchable,
|
1405
|
+
name: column.searchable?.name ?? column.name,
|
1406
|
+
label: column.searchable?.label ?? column.label,
|
1407
|
+
mode: 'horizontal'
|
1408
|
+
});
|
1409
|
+
});
|
1410
|
+
|
1411
|
+
return render(
|
1412
|
+
'searchable-form',
|
1413
|
+
{
|
1414
|
+
type: 'form',
|
1415
|
+
api: null,
|
1416
|
+
title: '',
|
1417
|
+
mode: 'normal',
|
1418
|
+
submitText: __('search'),
|
1419
|
+
body: [
|
1420
|
+
{
|
1421
|
+
type: 'grid',
|
1422
|
+
columns: groupedSearchableColumns
|
1423
|
+
}
|
1424
|
+
],
|
1425
|
+
actions: [
|
1426
|
+
{
|
1427
|
+
type: 'dropdown-button',
|
1428
|
+
label: __('Table.searchFields'),
|
1429
|
+
className: cx('Table-searchableForm-dropdown', 'mr-2'),
|
1430
|
+
level: 'link',
|
1431
|
+
trigger: 'click',
|
1432
|
+
size: 'sm',
|
1433
|
+
align: 'right',
|
1434
|
+
buttons: searchableColumns.map(column => {
|
1435
|
+
return {
|
1436
|
+
type: 'checkbox',
|
1437
|
+
className: cx('Table-searchableForm-checkbox'),
|
1438
|
+
name: `__search_${column.searchable?.name ?? column.name}`,
|
1439
|
+
option: column.searchable?.label ?? column.label,
|
1440
|
+
value: column.enableSearch,
|
1441
|
+
badge: {
|
1442
|
+
offset: [-10, 5],
|
1443
|
+
visibleOn: `${
|
1444
|
+
column.toggable && !column.toggled && column.enableSearch
|
1445
|
+
}`
|
1446
|
+
},
|
1447
|
+
onChange: (value: boolean) => {
|
1448
|
+
column.setEnableSearch(value);
|
1449
|
+
}
|
1450
|
+
};
|
1451
|
+
})
|
1452
|
+
},
|
1453
|
+
{
|
1454
|
+
type: 'submit',
|
1455
|
+
label: __('search'),
|
1456
|
+
level: 'primary',
|
1457
|
+
className: 'w-18'
|
1458
|
+
},
|
1459
|
+
{
|
1460
|
+
type: 'reset',
|
1461
|
+
label: __('reset'),
|
1462
|
+
className: 'w-18'
|
1463
|
+
}
|
1464
|
+
]
|
1465
|
+
},
|
1466
|
+
{
|
1467
|
+
key: 'searchable-form',
|
1468
|
+
panelClassName: cx('Table-searchableForm'),
|
1469
|
+
actionsClassName: cx('Table-searchableForm-footer'),
|
1470
|
+
onReset: onSearchableFromReset,
|
1471
|
+
onSubmit: onSearchableFromSubmit,
|
1472
|
+
onInit: onSearchableFromInit,
|
1473
|
+
formStore: undefined
|
1474
|
+
}
|
1475
|
+
);
|
1476
|
+
}
|
1477
|
+
|
1336
1478
|
renderHeading() {
|
1337
1479
|
let {
|
1338
1480
|
title,
|
@@ -1422,7 +1564,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1422
1564
|
render,
|
1423
1565
|
classPrefix: ns,
|
1424
1566
|
resizable,
|
1425
|
-
classnames: cx
|
1567
|
+
classnames: cx,
|
1568
|
+
autoGenerateFilter
|
1426
1569
|
} = this.props;
|
1427
1570
|
|
1428
1571
|
if (column.type === '__checkme') {
|
@@ -1469,7 +1612,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1469
1612
|
|
1470
1613
|
let affix = null;
|
1471
1614
|
|
1472
|
-
if (column.searchable && column.name) {
|
1615
|
+
if (column.searchable && column.name && !autoGenerateFilter) {
|
1473
1616
|
affix = (
|
1474
1617
|
<HeadCellSearchDropDown
|
1475
1618
|
{...this.props}
|
@@ -1622,7 +1765,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1622
1765
|
classnames: cx,
|
1623
1766
|
checkOnItemClick,
|
1624
1767
|
popOverContainer,
|
1625
|
-
canAccessSuperData
|
1768
|
+
canAccessSuperData,
|
1769
|
+
itemBadge
|
1626
1770
|
} = this.props;
|
1627
1771
|
|
1628
1772
|
if (column.name && item.rowSpans[column.name] === 0) {
|
@@ -1710,7 +1854,13 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1710
1854
|
quickEditFormRef: this.subFormRef,
|
1711
1855
|
prefix,
|
1712
1856
|
onImageEnlarge: this.handleImageEnlarge,
|
1713
|
-
canAccessSuperData
|
1857
|
+
canAccessSuperData,
|
1858
|
+
row: item,
|
1859
|
+
itemBadge,
|
1860
|
+
showBadge:
|
1861
|
+
!props.isHead &&
|
1862
|
+
itemBadge &&
|
1863
|
+
store.firstToggledColumnIndex === props.colIndex
|
1714
1864
|
};
|
1715
1865
|
delete subProps.label;
|
1716
1866
|
|
@@ -1945,23 +2095,29 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1945
2095
|
}
|
1946
2096
|
|
1947
2097
|
return (
|
1948
|
-
<
|
2098
|
+
<ColumnToggler
|
1949
2099
|
{...rest}
|
1950
|
-
|
2100
|
+
{...(isObject(config) ? config : {})}
|
2101
|
+
tooltip={config?.tooltip || __('Table.columnsVisibility')}
|
1951
2102
|
tooltipContainer={
|
1952
2103
|
env && env.getModalContainer ? env.getModalContainer : undefined
|
1953
2104
|
}
|
1954
|
-
align={config
|
2105
|
+
align={config?.align ?? 'left'}
|
1955
2106
|
isActived={store.hasColumnHidden()}
|
1956
2107
|
classnames={cx}
|
1957
2108
|
classPrefix={ns}
|
1958
2109
|
key="columns-toggable"
|
1959
|
-
size=
|
1960
|
-
label={
|
2110
|
+
size={config?.size || 'sm'}
|
2111
|
+
label={
|
2112
|
+
config?.label || <Icon icon="columns" className="icon m-r-none" />
|
2113
|
+
}
|
2114
|
+
draggable={config?.draggable}
|
2115
|
+
columns={store.columnsData}
|
2116
|
+
onColumnToggle={this.handleColumnToggle}
|
1961
2117
|
>
|
1962
2118
|
{store.toggableColumns.map(column => (
|
1963
2119
|
<li
|
1964
|
-
className={cx('
|
2120
|
+
className={cx('ColumnToggler-menuItem')}
|
1965
2121
|
key={column.index}
|
1966
2122
|
onClick={column.toggleToggle}
|
1967
2123
|
>
|
@@ -1970,7 +2126,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1970
2126
|
</Checkbox>
|
1971
2127
|
</li>
|
1972
2128
|
))}
|
1973
|
-
</
|
2129
|
+
</ColumnToggler>
|
1974
2130
|
);
|
1975
2131
|
}
|
1976
2132
|
|
@@ -2004,7 +2160,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2004
2160
|
);
|
2005
2161
|
}
|
2006
2162
|
|
2007
|
-
renderExportExcel(toolbar:
|
2163
|
+
renderExportExcel(toolbar: ExportExcelToolbar) {
|
2008
2164
|
const {
|
2009
2165
|
store,
|
2010
2166
|
env,
|
@@ -2028,8 +2184,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2028
2184
|
let tmpStore;
|
2029
2185
|
let filename = 'data';
|
2030
2186
|
// 支持配置 api 远程获取
|
2031
|
-
if (typeof toolbar === 'object' &&
|
2032
|
-
const res = await env.fetcher(
|
2187
|
+
if (typeof toolbar === 'object' && toolbar.api) {
|
2188
|
+
const res = await env.fetcher(toolbar.api, data);
|
2033
2189
|
if (!res.data) {
|
2034
2190
|
env.notify('warning', __('placeholder.noData'));
|
2035
2191
|
return;
|
@@ -2047,8 +2203,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2047
2203
|
rows = store.rows;
|
2048
2204
|
}
|
2049
2205
|
|
2050
|
-
if (typeof toolbar === 'object' &&
|
2051
|
-
filename = filter(
|
2206
|
+
if (typeof toolbar === 'object' && toolbar.filename) {
|
2207
|
+
filename = filter(toolbar.filename, data, '| raw');
|
2052
2208
|
}
|
2053
2209
|
|
2054
2210
|
if (rows.length === 0) {
|
@@ -2062,7 +2218,17 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2062
2218
|
});
|
2063
2219
|
worksheet.views = [{state: 'frozen', xSplit: 0, ySplit: 1}];
|
2064
2220
|
|
2065
|
-
const
|
2221
|
+
const filteredColumns = toolbar.columns
|
2222
|
+
? columns.filter(column => {
|
2223
|
+
const filterColumnsNames = toolbar.columns!;
|
2224
|
+
if (filterColumnsNames.indexOf(column.name) !== -1) {
|
2225
|
+
return true;
|
2226
|
+
}
|
2227
|
+
return false;
|
2228
|
+
})
|
2229
|
+
: columns;
|
2230
|
+
|
2231
|
+
const firstRowLabels = filteredColumns.map(column => {
|
2066
2232
|
return column.label;
|
2067
2233
|
});
|
2068
2234
|
const firstRow = worksheet.getRow(1);
|
@@ -2077,14 +2243,15 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2077
2243
|
column: firstRowLabels.length
|
2078
2244
|
}
|
2079
2245
|
};
|
2246
|
+
// 用于 mapping source 的情况
|
2247
|
+
const remoteMappingCache: any = {};
|
2080
2248
|
// 数据从第二行开始
|
2081
2249
|
let rowIndex = 1;
|
2082
2250
|
for (const row of rows) {
|
2083
2251
|
rowIndex += 1;
|
2084
2252
|
const sheetRow = worksheet.getRow(rowIndex);
|
2085
2253
|
let columIndex = 0;
|
2086
|
-
const
|
2087
|
-
for (const column of cols) {
|
2254
|
+
for (const column of filteredColumns) {
|
2088
2255
|
columIndex += 1;
|
2089
2256
|
const name = column.name!;
|
2090
2257
|
const value = getVariable(row.data, name);
|
@@ -2170,7 +2337,30 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2170
2337
|
};
|
2171
2338
|
} else if (type === 'mapping') {
|
2172
2339
|
// 拷贝自 Mapping.tsx
|
2173
|
-
|
2340
|
+
let map = (column as MappingSchema).map;
|
2341
|
+
const source = (column as MappingSchema).source;
|
2342
|
+
if (source) {
|
2343
|
+
let sourceValue = source;
|
2344
|
+
if (isPureVariable(source)) {
|
2345
|
+
sourceValue = resolveVariableAndFilter(
|
2346
|
+
source as string,
|
2347
|
+
data,
|
2348
|
+
'| raw'
|
2349
|
+
);
|
2350
|
+
}
|
2351
|
+
|
2352
|
+
const mapKey = JSON.stringify(source);
|
2353
|
+
if (mapKey in remoteMappingCache) {
|
2354
|
+
map = remoteMappingCache[mapKey];
|
2355
|
+
} else {
|
2356
|
+
const res = await env.fetcher(sourceValue, data);
|
2357
|
+
if (res.data) {
|
2358
|
+
remoteMappingCache[mapKey] = res.data;
|
2359
|
+
map = res.data;
|
2360
|
+
}
|
2361
|
+
}
|
2362
|
+
}
|
2363
|
+
|
2174
2364
|
if (
|
2175
2365
|
typeof value !== 'undefined' &&
|
2176
2366
|
map &&
|
@@ -2183,9 +2373,10 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2183
2373
|
: value === false && map['0']
|
2184
2374
|
? map['0']
|
2185
2375
|
: map['*']); // 兼容平台旧用法:即 value 为 true 时映射 1 ,为 false 时映射 0
|
2186
|
-
sheetRow.getCell(columIndex).value =
|
2376
|
+
sheetRow.getCell(columIndex).value =
|
2377
|
+
removeHTMLTag(viewValue);
|
2187
2378
|
} else {
|
2188
|
-
sheetRow.getCell(columIndex).value = value;
|
2379
|
+
sheetRow.getCell(columIndex).value = removeHTMLTag(value);
|
2189
2380
|
}
|
2190
2381
|
} else {
|
2191
2382
|
if ((column as TplSchema).tpl) {
|
@@ -2402,27 +2593,9 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2402
2593
|
if (!finalActions.length) {
|
2403
2594
|
return null;
|
2404
2595
|
}
|
2405
|
-
const rowIndex = store.hoverIndex;
|
2406
|
-
const heights = this.heights;
|
2407
|
-
let height = 40;
|
2408
|
-
let top = 0;
|
2409
|
-
|
2410
|
-
if (heights && heights[rowIndex]) {
|
2411
|
-
height = heights[rowIndex];
|
2412
|
-
top += heights.header;
|
2413
|
-
for (let i = rowIndex - 1; i >= 0; i--) {
|
2414
|
-
top += heights[i];
|
2415
|
-
}
|
2416
|
-
}
|
2417
2596
|
|
2418
2597
|
return (
|
2419
|
-
<
|
2420
|
-
className={cx('Table-itemActions-wrap')}
|
2421
|
-
style={{
|
2422
|
-
top,
|
2423
|
-
height
|
2424
|
-
}}
|
2425
|
-
>
|
2598
|
+
<ItemActionsWrapper store={store} classnames={cx}>
|
2426
2599
|
<div className={cx('Table-itemActions')}>
|
2427
2600
|
{finalActions.map((action, index) =>
|
2428
2601
|
render(
|
@@ -2433,14 +2606,14 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2433
2606
|
},
|
2434
2607
|
{
|
2435
2608
|
key: index,
|
2436
|
-
item: store.
|
2437
|
-
data: store.
|
2438
|
-
rowIndex
|
2609
|
+
item: store.hoverRow,
|
2610
|
+
data: store.hoverRow!.locals,
|
2611
|
+
rowIndex: store.hoverRow!.index
|
2439
2612
|
}
|
2440
2613
|
)
|
2441
2614
|
)}
|
2442
2615
|
</div>
|
2443
|
-
</
|
2616
|
+
</ItemActionsWrapper>
|
2444
2617
|
);
|
2445
2618
|
}
|
2446
2619
|
|
@@ -2503,7 +2676,13 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2503
2676
|
}
|
2504
2677
|
|
2505
2678
|
render() {
|
2506
|
-
const {
|
2679
|
+
const {
|
2680
|
+
className,
|
2681
|
+
store,
|
2682
|
+
classnames: cx,
|
2683
|
+
affixColumns,
|
2684
|
+
autoGenerateFilter
|
2685
|
+
} = this.props;
|
2507
2686
|
|
2508
2687
|
this.renderedToolbars = []; // 用来记录哪些 toolbar 已经渲染了,已经渲染了就不重复渲染了。
|
2509
2688
|
const heading = this.renderHeading();
|
@@ -2521,6 +2700,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2521
2700
|
'Table--unsaved': !!store.modified || !!store.moved
|
2522
2701
|
})}
|
2523
2702
|
>
|
2703
|
+
{autoGenerateFilter ? this.renderAutoFilterForm() : null}
|
2524
2704
|
{header}
|
2525
2705
|
{heading}
|
2526
2706
|
<div
|
@@ -2554,7 +2734,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2554
2734
|
: null}
|
2555
2735
|
</div>
|
2556
2736
|
{this.renderTableContent()}
|
2557
|
-
{
|
2737
|
+
{store.hoverRow ? this.renderItemActions() : null}
|
2558
2738
|
</div>
|
2559
2739
|
{this.renderAffixHeader(tableClassName)}
|
2560
2740
|
{footer}
|
package/src/store/crud.ts
CHANGED
@@ -482,6 +482,39 @@ export const CRUDStore = ServiceStore.named('CRUDStore')
|
|
482
482
|
self.reInitData(data);
|
483
483
|
};
|
484
484
|
|
485
|
+
const exportAsCSV = async (
|
486
|
+
options: {loadDataOnce?: boolean; api?: Api; data?: any} = {}
|
487
|
+
) => {
|
488
|
+
let items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;
|
489
|
+
|
490
|
+
if (options.api) {
|
491
|
+
const env = getEnv(self);
|
492
|
+
const res = await env.fetcher(options.api, options.data);
|
493
|
+
if (!res.data) {
|
494
|
+
return;
|
495
|
+
}
|
496
|
+
if (Array.isArray(res.data)) {
|
497
|
+
items = res.data;
|
498
|
+
} else {
|
499
|
+
items = res.data.rows || res.data.items;
|
500
|
+
}
|
501
|
+
}
|
502
|
+
|
503
|
+
import('papaparse').then((papaparse: any) => {
|
504
|
+
const csvText = papaparse.unparse(items);
|
505
|
+
if (csvText) {
|
506
|
+
const blob = new Blob(
|
507
|
+
// 加上 BOM 这样 Excel 打开的时候就不会乱码
|
508
|
+
[new Uint8Array([0xef, 0xbb, 0xbf]), csvText],
|
509
|
+
{
|
510
|
+
type: 'text/plain;charset=utf-8'
|
511
|
+
}
|
512
|
+
);
|
513
|
+
saveAs(blob, 'data.csv');
|
514
|
+
}
|
515
|
+
});
|
516
|
+
};
|
517
|
+
|
485
518
|
return {
|
486
519
|
setPristineQuery,
|
487
520
|
updateQuery,
|
@@ -495,44 +528,7 @@ export const CRUDStore = ServiceStore.named('CRUDStore')
|
|
495
528
|
setUnSelectedItems,
|
496
529
|
setInnerModalOpened,
|
497
530
|
initFromScope,
|
498
|
-
|
499
|
-
let items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;
|
500
|
-
|
501
|
-
if (!options.loadDataOnce && options.api) {
|
502
|
-
const json = await self.fetchData(
|
503
|
-
options.api,
|
504
|
-
{
|
505
|
-
...self.query,
|
506
|
-
page: undefined,
|
507
|
-
perPage: undefined,
|
508
|
-
op: 'export-csv'
|
509
|
-
},
|
510
|
-
{
|
511
|
-
autoAppend: true
|
512
|
-
}
|
513
|
-
);
|
514
|
-
if (
|
515
|
-
json.ok &&
|
516
|
-
(Array.isArray(json.data.items) || Array.isArray(json.data.rows))
|
517
|
-
) {
|
518
|
-
items = json.data.items || json.data.rows;
|
519
|
-
}
|
520
|
-
}
|
521
|
-
|
522
|
-
import('papaparse').then((papaparse: any) => {
|
523
|
-
const csvText = papaparse.unparse(items);
|
524
|
-
if (csvText) {
|
525
|
-
const blob = new Blob(
|
526
|
-
// 加上 BOM 这样 Excel 打开的时候就不会乱码
|
527
|
-
[new Uint8Array([0xef, 0xbb, 0xbf]), csvText],
|
528
|
-
{
|
529
|
-
type: 'text/plain;charset=utf-8'
|
530
|
-
}
|
531
|
-
);
|
532
|
-
saveAs(blob, 'data.csv');
|
533
|
-
}
|
534
|
-
});
|
535
|
-
}
|
531
|
+
exportAsCSV
|
536
532
|
};
|
537
533
|
});
|
538
534
|
|
package/src/store/modal.ts
CHANGED
package/src/store/service.ts
CHANGED
@@ -140,24 +140,6 @@ export const ServiceStore = iRendererStore
|
|
140
140
|
}
|
141
141
|
});
|
142
142
|
|
143
|
-
const fetchWSData = (ws: string, afterDataFetch: (data: any) => any) => {
|
144
|
-
const env = getEnv(self);
|
145
|
-
|
146
|
-
env.wsFetcher(
|
147
|
-
ws,
|
148
|
-
(data: any) => {
|
149
|
-
self.updateData(data, undefined, false);
|
150
|
-
setHasRemoteData();
|
151
|
-
// 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的
|
152
|
-
afterDataFetch({ok: true, data: data});
|
153
|
-
},
|
154
|
-
(error: any) => {
|
155
|
-
updateMessage(error, true);
|
156
|
-
env.notify('error', error);
|
157
|
-
}
|
158
|
-
);
|
159
|
-
};
|
160
|
-
|
161
143
|
const setHasRemoteData = () => {
|
162
144
|
self.hasRemoteData = true;
|
163
145
|
};
|
@@ -505,7 +487,6 @@ export const ServiceStore = iRendererStore
|
|
505
487
|
markBusying,
|
506
488
|
fetchInitData,
|
507
489
|
fetchData,
|
508
|
-
fetchWSData,
|
509
490
|
reInitData,
|
510
491
|
updateMessage,
|
511
492
|
clearMessage,
|