@ibiz-template/runtime 0.1.28 → 0.1.29
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/dist/index.esm.js +2201 -1084
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/app-hub.d.ts +9 -0
- package/out/app-hub.d.ts.map +1 -1
- package/out/app-hub.js +4 -0
- package/out/application.d.ts +9 -1
- package/out/application.d.ts.map +1 -1
- package/out/application.js +2 -1
- package/out/command/app/open-app-view/open-app-view.d.ts +1 -1
- package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
- package/out/command/app/open-app-view/open-app-view.js +16 -5
- package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
- package/out/controller/common/control/md-control.controller.js +5 -1
- package/out/controller/common/view/view.controller.d.ts +23 -1
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +52 -0
- package/out/controller/control/dashboard/custom-dashboard.controller.d.ts +69 -0
- package/out/controller/control/dashboard/custom-dashboard.controller.d.ts.map +1 -0
- package/out/controller/control/dashboard/custom-dashboard.controller.js +85 -0
- package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/dashboard.controller.js +2 -6
- package/out/controller/control/dashboard/index.d.ts +1 -0
- package/out/controller/control/dashboard/index.d.ts.map +1 -1
- package/out/controller/control/dashboard/index.js +1 -0
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts +15 -1
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +26 -9
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts +11 -2
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.js +56 -2
- package/out/controller/control/form/edit-form/edit-form.service.js +1 -1
- package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +2 -6
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +5 -10
- package/out/controller/control/index.d.ts +2 -0
- package/out/controller/control/index.d.ts.map +1 -1
- package/out/controller/control/index.js +2 -0
- package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
- package/out/controller/control/toolbar/toolbar.controllerr.js +8 -8
- package/out/controller/control/tree/tree.service.d.ts.map +1 -1
- package/out/controller/control/tree/tree.service.js +6 -11
- package/out/controller/control/tree-grid/index.d.ts +3 -0
- package/out/controller/control/tree-grid/index.d.ts.map +1 -0
- package/out/controller/control/tree-grid/index.js +2 -0
- package/out/controller/control/tree-grid/tree-grid.controller.d.ts +5 -0
- package/out/controller/control/tree-grid/tree-grid.controller.d.ts.map +1 -0
- package/out/controller/control/tree-grid/tree-grid.controller.js +3 -0
- package/out/controller/control/tree-grid/tree-grid.service.d.ts +13 -0
- package/out/controller/control/tree-grid/tree-grid.service.d.ts.map +1 -0
- package/out/controller/control/tree-grid/tree-grid.service.js +12 -0
- package/out/controller/control/tree-grid-ex/index.d.ts +3 -0
- package/out/controller/control/tree-grid-ex/index.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/index.js +2 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts +134 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +240 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts +65 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.service.js +143 -0
- package/out/controller/utils/event/controller-event.d.ts +7 -0
- package/out/controller/utils/event/controller-event.d.ts.map +1 -1
- package/out/controller/utils/event/controller-event.js +12 -0
- package/out/controller/utils/view-msg/index.d.ts +2 -0
- package/out/controller/utils/view-msg/index.d.ts.map +1 -0
- package/out/controller/utils/view-msg/index.js +1 -0
- package/out/controller/utils/view-msg/view-msg-controller.d.ts +69 -0
- package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -0
- package/out/controller/utils/view-msg/view-msg-controller.js +176 -0
- package/out/de-logic/de-logic-context.d.ts +8 -0
- package/out/de-logic/de-logic-context.d.ts.map +1 -1
- package/out/de-logic/de-logic-context.js +11 -0
- package/out/de-logic/de-logic-node/prepare-param-node/prepare-param-node.d.ts.map +1 -1
- package/out/de-logic/de-logic-node/prepare-param-node/prepare-param-node.js +5 -1
- package/out/de-logic/utils/handle-src-val.d.ts.map +1 -1
- package/out/de-logic/utils/handle-src-val.js +19 -8
- package/out/engine/md-view.engine.d.ts.map +1 -1
- package/out/engine/md-view.engine.js +5 -4
- package/out/global/global-util/global-util.d.ts +8 -0
- package/out/global/global-util/global-util.d.ts.map +1 -1
- package/out/global/global-util/global-util.js +8 -0
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +9 -0
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
- package/out/interface/common/i-app-service/i-app-service.d.ts +9 -0
- package/out/interface/common/i-app-service/i-app-service.d.ts.map +1 -1
- package/out/interface/common/i-error-handler/i-error-handler.d.ts +17 -0
- package/out/interface/common/i-error-handler/i-error-handler.d.ts.map +1 -0
- package/out/interface/common/i-error-handler/i-error-handler.js +1 -0
- package/out/interface/common/index.d.ts +1 -0
- package/out/interface/common/index.d.ts.map +1 -1
- package/out/interface/controller/common/index.d.ts +1 -0
- package/out/interface/controller/common/index.d.ts.map +1 -1
- package/out/interface/controller/common/index.js +1 -0
- package/out/interface/controller/common/view-message/i-view-message.d.ts +39 -0
- package/out/interface/controller/common/view-message/i-view-message.d.ts.map +1 -0
- package/out/interface/controller/common/view-message/i-view-message.js +1 -0
- package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts +16 -0
- package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/control/i-tree-grid-ex.controller.js +1 -0
- package/out/interface/controller/controller/control/i-tree-grid.controller.d.ts +13 -0
- package/out/interface/controller/controller/control/i-tree-grid.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/control/i-tree-grid.controller.js +1 -0
- package/out/interface/controller/controller/control/index.d.ts +2 -0
- package/out/interface/controller/controller/control/index.d.ts.map +1 -1
- package/out/interface/controller/controller/control/index.js +2 -0
- package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts +7 -0
- package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts +13 -0
- package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts.map +1 -0
- package/out/interface/controller/event/control/i-tree-grid-ex.event.js +1 -0
- package/out/interface/controller/event/control/i-tree-grid.event.d.ts +13 -0
- package/out/interface/controller/event/control/i-tree-grid.event.d.ts.map +1 -0
- package/out/interface/controller/event/control/i-tree-grid.event.js +1 -0
- package/out/interface/controller/event/control/index.d.ts +2 -0
- package/out/interface/controller/event/control/index.d.ts.map +1 -1
- package/out/interface/controller/event/control/index.js +2 -0
- package/out/interface/controller/event/view/i-tree-grid-ex-view.event.d.ts +12 -0
- package/out/interface/controller/event/view/i-tree-grid-ex-view.event.d.ts.map +1 -0
- package/out/interface/controller/event/view/i-tree-grid-ex-view.event.js +1 -0
- package/out/interface/controller/event/view/i-tree-grid-view.event.d.ts +12 -0
- package/out/interface/controller/event/view/i-tree-grid-view.event.d.ts.map +1 -0
- package/out/interface/controller/event/view/i-tree-grid-view.event.js +1 -0
- package/out/interface/controller/event/view/index.d.ts +2 -0
- package/out/interface/controller/event/view/index.d.ts.map +1 -1
- package/out/interface/controller/event/view/index.js +2 -0
- package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts +52 -0
- package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts.map +1 -0
- package/out/interface/controller/state/control/i-tree-grid-ex.state.js +1 -0
- package/out/interface/controller/state/control/i-tree-grid.state.d.ts +13 -0
- package/out/interface/controller/state/control/i-tree-grid.state.d.ts.map +1 -0
- package/out/interface/controller/state/control/i-tree-grid.state.js +1 -0
- package/out/interface/controller/state/control/index.d.ts +2 -0
- package/out/interface/controller/state/control/index.d.ts.map +1 -1
- package/out/interface/controller/state/control/index.js +2 -0
- package/out/interface/controller/state/view/i-edit-view.state.d.ts +8 -0
- package/out/interface/controller/state/view/i-edit-view.state.d.ts.map +1 -1
- package/out/interface/controller/state/view/i-tree-grid-ex-view.state.d.ts +13 -0
- package/out/interface/controller/state/view/i-tree-grid-ex-view.state.d.ts.map +1 -0
- package/out/interface/controller/state/view/i-tree-grid-ex-view.state.js +1 -0
- package/out/interface/controller/state/view/i-tree-grid-view.state.d.ts +13 -0
- package/out/interface/controller/state/view/i-tree-grid-view.state.d.ts.map +1 -0
- package/out/interface/controller/state/view/i-tree-grid-view.state.js +1 -0
- package/out/interface/controller/state/view/i-view.state.d.ts +10 -0
- package/out/interface/controller/state/view/i-view.state.d.ts.map +1 -1
- package/out/interface/controller/state/view/index.d.ts +2 -0
- package/out/interface/controller/state/view/index.d.ts.map +1 -1
- package/out/interface/controller/state/view/index.js +2 -0
- package/out/interface/provider/i-grid-column.provider.d.ts +2 -1
- package/out/interface/provider/i-grid-column.provider.d.ts.map +1 -1
- package/out/interface/service/service/i-app-de.service.d.ts +9 -0
- package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
- package/out/interface/service/service/i-config.service.d.ts +20 -0
- package/out/interface/service/service/i-config.service.d.ts.map +1 -0
- package/out/interface/service/service/i-config.service.js +1 -0
- package/out/interface/service/service/index.d.ts +1 -0
- package/out/interface/service/service/index.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-logic-executor.js +10 -4
- package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts.map +1 -1
- package/out/logic-scheduler/trigger/item-dyna-logic-trigger.js +1 -4
- package/out/model/data-entity/data-entity.js +2 -2
- package/out/register/helper/control-register.d.ts.map +1 -1
- package/out/register/helper/control-register.js +6 -1
- package/out/service/app-data-entity/app-data-entity.d.ts +10 -0
- package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
- package/out/service/app-data-entity/app-data-entity.js +40 -13
- package/out/service/service/config/config.service.d.ts +43 -0
- package/out/service/service/config/config.service.d.ts.map +1 -0
- package/out/service/service/config/config.service.js +54 -0
- package/out/service/service/entity/de.service.d.ts +9 -0
- package/out/service/service/entity/de.service.d.ts.map +1 -1
- package/out/service/service/entity/de.service.js +2 -0
- package/out/service/service/index.d.ts +1 -0
- package/out/service/service/index.d.ts.map +1 -1
- package/out/service/service/index.js +1 -0
- package/out/service/vo/control.vo.d.ts.map +1 -1
- package/out/service/vo/control.vo.js +1 -5
- package/out/ui-action/provider/backend-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/backend-ui-action-provider.js +5 -2
- package/out/ui-action/provider/ui-action-provider-base.d.ts +12 -1
- package/out/ui-action/provider/ui-action-provider-base.d.ts.map +1 -1
- package/out/ui-action/provider/ui-action-provider-base.js +55 -5
- package/out/ui-logic/ui-logic-context.d.ts +8 -0
- package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-context.js +11 -0
- package/out/ui-logic/ui-logic-link/ui-logic-link.js +1 -1
- package/out/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.js +5 -1
- package/out/ui-logic/utils/handle-src-val.d.ts.map +1 -1
- package/out/ui-logic/utils/handle-src-val.js +17 -4
- package/out/utils/error-handler/default-error-handler.d.ts +13 -0
- package/out/utils/error-handler/default-error-handler.d.ts.map +1 -0
- package/out/utils/error-handler/default-error-handler.js +36 -0
- package/out/utils/error-handler/error-handler-center.d.ts +41 -0
- package/out/utils/error-handler/error-handler-center.d.ts.map +1 -0
- package/out/utils/error-handler/error-handler-center.js +59 -0
- package/out/utils/error-handler/index.d.ts +3 -0
- package/out/utils/error-handler/index.d.ts.map +1 -0
- package/out/utils/error-handler/index.js +2 -0
- package/out/utils/index.d.ts +1 -0
- package/out/utils/index.d.ts.map +1 -1
- package/out/utils/index.js +1 -0
- package/out/utils/promise/promise.d.ts +15 -0
- package/out/utils/promise/promise.d.ts.map +1 -0
- package/out/utils/promise/promise.js +38 -0
- package/package.json +2 -2
- package/src/app-hub.ts +17 -0
- package/src/application.ts +20 -1
- package/src/command/app/open-app-view/open-app-view.ts +18 -5
- package/src/controller/common/control/md-control.controller.ts +5 -1
- package/src/controller/common/view/view.controller.ts +67 -0
- package/src/controller/control/dashboard/custom-dashboard.controller.ts +107 -0
- package/src/controller/control/dashboard/dashboard.controller.ts +2 -6
- package/src/controller/control/dashboard/index.ts +1 -0
- package/src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts +32 -9
- package/src/controller/control/form/edit-form/edit-form.controller.ts +71 -3
- package/src/controller/control/form/edit-form/edit-form.service.ts +1 -1
- package/src/controller/control/form/form/form.controller.ts +2 -6
- package/src/controller/control/grid/grid/grid.controller.ts +5 -9
- package/src/controller/control/index.ts +2 -0
- package/src/controller/control/toolbar/toolbar.controllerr.ts +14 -8
- package/src/controller/control/tree/tree.service.ts +8 -9
- package/src/controller/control/tree-grid/index.ts +2 -0
- package/src/controller/control/tree-grid/tree-grid.controller.ts +6 -0
- package/src/controller/control/tree-grid/tree-grid.service.ts +12 -0
- package/src/controller/control/tree-grid-ex/index.ts +2 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +283 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex.service.ts +171 -0
- package/src/controller/utils/event/controller-event.ts +16 -0
- package/src/controller/utils/view-msg/index.ts +1 -0
- package/src/controller/utils/view-msg/view-msg-controller.ts +250 -0
- package/src/de-logic/de-logic-context.ts +12 -0
- package/src/de-logic/de-logic-node/prepare-param-node/prepare-param-node.ts +7 -1
- package/src/de-logic/utils/handle-src-val.ts +23 -10
- package/src/engine/md-view.engine.ts +6 -4
- package/src/global/global-util/global-util.ts +15 -0
- package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +10 -0
- package/src/interface/common/i-app-service/i-app-service.ts +10 -0
- package/src/interface/common/i-error-handler/i-error-handler.ts +16 -0
- package/src/interface/common/index.ts +1 -0
- package/src/interface/controller/common/index.ts +1 -0
- package/src/interface/controller/common/view-message/i-view-message.ts +42 -0
- package/src/interface/controller/controller/control/i-tree-grid-ex.controller.ts +20 -0
- package/src/interface/controller/controller/control/i-tree-grid.controller.ts +12 -0
- package/src/interface/controller/controller/control/index.ts +2 -0
- package/src/interface/controller/controller/control/portlet/i-portlet.controller.ts +8 -0
- package/src/interface/controller/event/control/i-tree-grid-ex.event.ts +12 -0
- package/src/interface/controller/event/control/i-tree-grid.event.ts +12 -0
- package/src/interface/controller/event/control/index.ts +2 -0
- package/src/interface/controller/event/view/i-tree-grid-ex-view.event.ts +12 -0
- package/src/interface/controller/event/view/i-tree-grid-view.event.ts +12 -0
- package/src/interface/controller/event/view/index.ts +2 -0
- package/src/interface/controller/state/control/i-tree-grid-ex.state.ts +56 -0
- package/src/interface/controller/state/control/i-tree-grid.state.ts +12 -0
- package/src/interface/controller/state/control/index.ts +2 -0
- package/src/interface/controller/state/view/i-edit-view.state.ts +10 -1
- package/src/interface/controller/state/view/i-tree-grid-ex-view.state.ts +12 -0
- package/src/interface/controller/state/view/i-tree-grid-view.state.ts +12 -0
- package/src/interface/controller/state/view/i-view.state.ts +9 -0
- package/src/interface/controller/state/view/index.ts +2 -0
- package/src/interface/provider/i-grid-column.provider.ts +2 -1
- package/src/interface/service/service/i-app-de.service.ts +10 -0
- package/src/interface/service/service/i-config.service.ts +20 -0
- package/src/interface/service/service/index.ts +1 -0
- package/src/logic-scheduler/executor/app-ui-logic-executor.ts +13 -4
- package/src/logic-scheduler/trigger/item-dyna-logic-trigger.ts +1 -4
- package/src/model/data-entity/data-entity.ts +2 -2
- package/src/register/helper/control-register.ts +6 -1
- package/src/service/app-data-entity/app-data-entity.ts +44 -13
- package/src/service/service/config/config.service.ts +65 -0
- package/src/service/service/entity/de.service.ts +15 -0
- package/src/service/service/index.ts +1 -0
- package/src/service/vo/control.vo.ts +1 -6
- package/src/ui-action/provider/backend-ui-action-provider.ts +5 -2
- package/src/ui-action/provider/ui-action-provider-base.ts +68 -6
- package/src/ui-logic/ui-logic-context.ts +12 -0
- package/src/ui-logic/ui-logic-link/ui-logic-link.ts +1 -1
- package/src/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.ts +7 -1
- package/src/ui-logic/utils/handle-src-val.ts +20 -4
- package/src/utils/error-handler/default-error-handler.ts +40 -0
- package/src/utils/error-handler/error-handler-center.ts +61 -0
- package/src/utils/error-handler/index.ts +2 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/promise/promise.ts +41 -0
|
@@ -5,14 +5,18 @@ import {
|
|
|
5
5
|
RuntimeError,
|
|
6
6
|
mergeDefaultInLeft,
|
|
7
7
|
} from '@ibiz-template/core';
|
|
8
|
-
import { IDEEditForm } from '@ibiz/model-core';
|
|
8
|
+
import { IAppDEEditView, IDEEditForm } from '@ibiz/model-core';
|
|
9
9
|
import { debounce } from 'lodash-es';
|
|
10
|
+
import { clone } from 'ramda';
|
|
10
11
|
import {
|
|
11
12
|
IEditFormState,
|
|
12
13
|
IEditFormEvent,
|
|
13
14
|
IEditFormController,
|
|
15
|
+
IViewController,
|
|
16
|
+
IEditViewState,
|
|
17
|
+
IEditViewEvent,
|
|
14
18
|
} from '../../../../interface';
|
|
15
|
-
import { hasDeCodeName } from '../../../../model';
|
|
19
|
+
import { calcDeCodeNameById, hasDeCodeName } from '../../../../model';
|
|
16
20
|
import { Srfuf, ControlVO } from '../../../../service';
|
|
17
21
|
import { ScriptFactory } from '../../../../utils';
|
|
18
22
|
import { FormNotifyState } from '../../../constant';
|
|
@@ -40,6 +44,14 @@ export class EditFormController
|
|
|
40
44
|
*/
|
|
41
45
|
service!: EditFormService;
|
|
42
46
|
|
|
47
|
+
get view(): IViewController<IAppDEEditView, IEditViewState, IEditViewEvent> {
|
|
48
|
+
return this.ctx.view as IViewController<
|
|
49
|
+
IAppDEEditView,
|
|
50
|
+
IEditViewState,
|
|
51
|
+
IEditViewEvent
|
|
52
|
+
>;
|
|
53
|
+
}
|
|
54
|
+
|
|
43
55
|
/**
|
|
44
56
|
* 初始化方法
|
|
45
57
|
*
|
|
@@ -108,6 +120,57 @@ export class EditFormController
|
|
|
108
120
|
return this.data;
|
|
109
121
|
}
|
|
110
122
|
|
|
123
|
+
/**
|
|
124
|
+
* 拷贝模式加载数据
|
|
125
|
+
*
|
|
126
|
+
* @author chitanda
|
|
127
|
+
* @date 2023-09-26 19:09:21
|
|
128
|
+
* @return {*} {Promise<IData>}
|
|
129
|
+
*/
|
|
130
|
+
protected async copy(): Promise<IData> {
|
|
131
|
+
const context = clone(this.context);
|
|
132
|
+
const queryParams: IParams = clone(this.params);
|
|
133
|
+
|
|
134
|
+
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
135
|
+
this.model.appDataEntityId!,
|
|
136
|
+
);
|
|
137
|
+
const key = appDataEntity.keyAppDEFieldId;
|
|
138
|
+
if (key && this.params[key]) {
|
|
139
|
+
const deCodeName = calcDeCodeNameById(this.model.appDataEntityId!);
|
|
140
|
+
context[deCodeName] = this.params[key];
|
|
141
|
+
delete queryParams[key];
|
|
142
|
+
delete this.params[key];
|
|
143
|
+
delete queryParams.srfcopymode;
|
|
144
|
+
delete this.params.srfcopymode;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
let res;
|
|
148
|
+
try {
|
|
149
|
+
await this.startLoading();
|
|
150
|
+
await this.evt.emit('onBeforeLoad', undefined);
|
|
151
|
+
res = await this.service.get(context, queryParams);
|
|
152
|
+
} catch (error) {
|
|
153
|
+
await this.evt.emit('onLoadError', undefined);
|
|
154
|
+
this.actionNotification('GETERROR', {
|
|
155
|
+
error: error as Error,
|
|
156
|
+
});
|
|
157
|
+
throw error;
|
|
158
|
+
} finally {
|
|
159
|
+
await this.endLoading();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
res.data.$origin.srfsourcekey = undefined;
|
|
163
|
+
|
|
164
|
+
this.state.modified = false;
|
|
165
|
+
this.state.data = res.data;
|
|
166
|
+
this.formStateNotify(FormNotifyState.LOAD);
|
|
167
|
+
|
|
168
|
+
await this.evt.emit('onLoadSuccess', undefined);
|
|
169
|
+
this.actionNotification('GETSUCCESS');
|
|
170
|
+
this.state.isLoaded = true;
|
|
171
|
+
return this.data;
|
|
172
|
+
}
|
|
173
|
+
|
|
111
174
|
/**
|
|
112
175
|
* 部件加载数据行为
|
|
113
176
|
*
|
|
@@ -115,6 +178,11 @@ export class EditFormController
|
|
|
115
178
|
* @date 2022-08-19 14:08:50
|
|
116
179
|
*/
|
|
117
180
|
async load(): Promise<IData> {
|
|
181
|
+
// 复制模式独立处理
|
|
182
|
+
const copyMode = this.params.srfcopymode;
|
|
183
|
+
if (copyMode) {
|
|
184
|
+
return this.copy();
|
|
185
|
+
}
|
|
118
186
|
const isLoadDraft = !hasDeCodeName(
|
|
119
187
|
this.context,
|
|
120
188
|
this.model.appDataEntityId!,
|
|
@@ -124,7 +192,7 @@ export class EditFormController
|
|
|
124
192
|
return this.loadDraft();
|
|
125
193
|
}
|
|
126
194
|
|
|
127
|
-
const queryParams =
|
|
195
|
+
const queryParams = clone(this.params);
|
|
128
196
|
|
|
129
197
|
let res;
|
|
130
198
|
try {
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
import { findChildFormDetails } from '../../../../model';
|
|
12
12
|
import { getFormDetailProvider } from '../../../../register';
|
|
13
13
|
import { ControlVO } from '../../../../service';
|
|
14
|
+
import { handleAllSettled } from '../../../../utils';
|
|
14
15
|
import { ControlController } from '../../../common';
|
|
15
16
|
import { FormNotifyState } from '../../../constant';
|
|
16
17
|
import { ControllerEvent, isValueChange } from '../../../utils';
|
|
@@ -97,16 +98,11 @@ export abstract class FormController<
|
|
|
97
98
|
*/
|
|
98
99
|
async dataChangeNotify(names: string[]): Promise<void> {
|
|
99
100
|
// 通知所有成员项去处理成员项相关逻辑
|
|
100
|
-
|
|
101
|
+
await handleAllSettled(
|
|
101
102
|
Object.values(this.details).map(async detail => {
|
|
102
103
|
return detail.dataChangeNotify(names);
|
|
103
104
|
}),
|
|
104
105
|
);
|
|
105
|
-
const rejectedValue = values.find(item => item.status === 'rejected');
|
|
106
|
-
if (rejectedValue) {
|
|
107
|
-
ibiz.log.error('dataChangeNotify报错', values);
|
|
108
|
-
throw (rejectedValue as PromiseRejectedResult).reason;
|
|
109
|
-
}
|
|
110
106
|
}
|
|
111
107
|
|
|
112
108
|
/**
|
|
@@ -32,7 +32,7 @@ import { ControlVO, Srfuf } from '../../../../service';
|
|
|
32
32
|
import { MDControlController } from '../../../common';
|
|
33
33
|
import { GridNotifyState } from '../../../constant';
|
|
34
34
|
import { getDefaultValue, isValueChange } from '../../../utils';
|
|
35
|
-
import { ScriptFactory } from '../../../../utils';
|
|
35
|
+
import { handleAllSettled, ScriptFactory } from '../../../../utils';
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* 表格控制器
|
|
@@ -267,10 +267,11 @@ export class GridController
|
|
|
267
267
|
): Promise<ControlVO[]> {
|
|
268
268
|
await super.afterLoad(args, items);
|
|
269
269
|
// 每次表格刷新时通知表格属性列,加载代码表,避免动态代码表更新不及时
|
|
270
|
-
await
|
|
270
|
+
await handleAllSettled(
|
|
271
271
|
Object.values(this.fieldColumns).map(async fieldColumn => {
|
|
272
272
|
await fieldColumn.loadCodeList();
|
|
273
273
|
}),
|
|
274
|
+
false,
|
|
274
275
|
);
|
|
275
276
|
|
|
276
277
|
// 生成表格row对象
|
|
@@ -536,7 +537,7 @@ export class GridController
|
|
|
536
537
|
return;
|
|
537
538
|
}
|
|
538
539
|
|
|
539
|
-
|
|
540
|
+
await handleAllSettled(
|
|
540
541
|
needSaveData.map(data => {
|
|
541
542
|
return this.save(data);
|
|
542
543
|
}),
|
|
@@ -695,16 +696,11 @@ export class GridController
|
|
|
695
696
|
*/
|
|
696
697
|
async dataChangeNotify(row: GridRowState, names: string[]): Promise<void> {
|
|
697
698
|
// 通知所有编辑项去处理编辑项相关逻辑
|
|
698
|
-
|
|
699
|
+
await handleAllSettled(
|
|
699
700
|
Object.values(this.editColumns).map(async column => {
|
|
700
701
|
return column.dataChangeNotify(row, names);
|
|
701
702
|
}),
|
|
702
703
|
);
|
|
703
|
-
const rejectedValue = values.find(item => item.status === 'rejected');
|
|
704
|
-
if (rejectedValue) {
|
|
705
|
-
ibiz.log.error('dataChangeNotify报错', values);
|
|
706
|
-
throw (rejectedValue as PromiseRejectedResult).reason;
|
|
707
|
-
}
|
|
708
704
|
}
|
|
709
705
|
|
|
710
706
|
/**
|
|
@@ -124,7 +124,7 @@ export class ToolbarController<
|
|
|
124
124
|
},
|
|
125
125
|
{ childrenFields: ['detoolbarItems'] },
|
|
126
126
|
);
|
|
127
|
-
await this.
|
|
127
|
+
await this.calcButtonState();
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
/**
|
|
@@ -164,7 +164,11 @@ export class ToolbarController<
|
|
|
164
164
|
await this.state.buttonsState.update(_data, appDeId);
|
|
165
165
|
|
|
166
166
|
// 计算菜单项逻辑的预置逻辑
|
|
167
|
-
if (this.scheduler
|
|
167
|
+
if (this.scheduler) {
|
|
168
|
+
const logicParams: IData = {};
|
|
169
|
+
if (_data) {
|
|
170
|
+
logicParams.data = [_data];
|
|
171
|
+
}
|
|
168
172
|
// 遍历所有的项
|
|
169
173
|
recursiveIterate(
|
|
170
174
|
this.model,
|
|
@@ -172,9 +176,10 @@ export class ToolbarController<
|
|
|
172
176
|
const itemState = this.state.buttonsState[item.id!] as IButtonState;
|
|
173
177
|
// 计算项显示逻辑
|
|
174
178
|
if (itemState.visible) {
|
|
175
|
-
const dynaVisible = this.scheduler!.triggerItemVisible(
|
|
176
|
-
|
|
177
|
-
|
|
179
|
+
const dynaVisible = this.scheduler!.triggerItemVisible(
|
|
180
|
+
item.id!,
|
|
181
|
+
logicParams,
|
|
182
|
+
);
|
|
178
183
|
if (dynaVisible !== undefined) {
|
|
179
184
|
itemState.visible = dynaVisible;
|
|
180
185
|
}
|
|
@@ -182,9 +187,10 @@ export class ToolbarController<
|
|
|
182
187
|
|
|
183
188
|
// 计算项启用逻辑
|
|
184
189
|
if (!itemState.disabled) {
|
|
185
|
-
const dynaEnable = this.scheduler!.triggerItemEnable(
|
|
186
|
-
|
|
187
|
-
|
|
190
|
+
const dynaEnable = this.scheduler!.triggerItemEnable(
|
|
191
|
+
item.id!,
|
|
192
|
+
logicParams,
|
|
193
|
+
);
|
|
188
194
|
if (dynaEnable !== undefined) {
|
|
189
195
|
itemState.disabled = !dynaEnable;
|
|
190
196
|
}
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
TreeDataSetNodeData,
|
|
20
20
|
TreeCodeListNodeData,
|
|
21
21
|
} from '../../../service';
|
|
22
|
-
import { calcNavParams } from '../../../utils';
|
|
22
|
+
import { calcNavParams, handleAllSettled } from '../../../utils';
|
|
23
23
|
|
|
24
24
|
export interface TreeFetchOpts {
|
|
25
25
|
/**
|
|
@@ -104,7 +104,7 @@ export class TreeService extends MDControlService<IDETree> {
|
|
|
104
104
|
if (childNodeRSs.length === 0) {
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
|
-
const results = await
|
|
107
|
+
const results = await handleAllSettled(
|
|
108
108
|
childNodeRSs.map(async childNodeRS => {
|
|
109
109
|
const childNode = getTreeNode(
|
|
110
110
|
this.model,
|
|
@@ -117,14 +117,11 @@ export class TreeService extends MDControlService<IDETree> {
|
|
|
117
117
|
opts,
|
|
118
118
|
);
|
|
119
119
|
}),
|
|
120
|
+
false,
|
|
120
121
|
);
|
|
121
122
|
|
|
122
123
|
results.forEach(result => {
|
|
123
|
-
|
|
124
|
-
childrenNodes.push(...result.value);
|
|
125
|
-
} else if (result.status === 'rejected') {
|
|
126
|
-
ibiz.log.error(result.reason);
|
|
127
|
-
}
|
|
124
|
+
childrenNodes.push(...result);
|
|
128
125
|
});
|
|
129
126
|
}
|
|
130
127
|
return childrenNodes;
|
|
@@ -352,9 +349,11 @@ export class TreeService extends MDControlService<IDETree> {
|
|
|
352
349
|
// 设置查询长度
|
|
353
350
|
params.size = nodeModel.maxSize || 1000;
|
|
354
351
|
// 排序属性
|
|
355
|
-
if (nodeModel.sortAppDEFieldId
|
|
352
|
+
if (nodeModel.sortAppDEFieldId) {
|
|
356
353
|
Object.assign(params, {
|
|
357
|
-
sort: `${nodeModel.sortAppDEFieldId.toLowerCase()},${
|
|
354
|
+
sort: `${nodeModel.sortAppDEFieldId.toLowerCase()},${
|
|
355
|
+
nodeModel.sortDir ? nodeModel.sortDir.toLowerCase() : 'asc'
|
|
356
|
+
}`,
|
|
358
357
|
});
|
|
359
358
|
}
|
|
360
359
|
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { recursiveIterate } from '@ibiz-template/core';
|
|
2
|
+
import { IDETree, IDETreeColumn } from '@ibiz/model-core';
|
|
3
|
+
import {
|
|
4
|
+
MDCtrlLoadParams,
|
|
5
|
+
ITreeNodeData,
|
|
6
|
+
ITreeGridExController,
|
|
7
|
+
IGridColumnProvider,
|
|
8
|
+
ITreeGridExState,
|
|
9
|
+
ITreeGridExEvent,
|
|
10
|
+
} from '../../../interface';
|
|
11
|
+
import { getGridColumnProvider } from '../../../register';
|
|
12
|
+
import { MDControlController } from '../../common';
|
|
13
|
+
import {
|
|
14
|
+
GridColumnController,
|
|
15
|
+
GridFieldColumnController,
|
|
16
|
+
GridUAColumnController,
|
|
17
|
+
} from '../grid';
|
|
18
|
+
import { TreeGridExService } from './tree-grid-ex.service';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 树表格部件控制器
|
|
22
|
+
*
|
|
23
|
+
* @author zk
|
|
24
|
+
* @date 2023-09-21 06:09:46
|
|
25
|
+
* @export
|
|
26
|
+
* @class TreeGridExController
|
|
27
|
+
* @extends {MDControlController<IDETree, ITreeGridState, ITreeGridEvent>}
|
|
28
|
+
* @implements {ITreeGridExController}
|
|
29
|
+
*/
|
|
30
|
+
export class TreeGridExController
|
|
31
|
+
extends MDControlController<IDETree, ITreeGridExState, ITreeGridExEvent>
|
|
32
|
+
implements ITreeGridExController
|
|
33
|
+
{
|
|
34
|
+
declare service: TreeGridExService;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 表格列的适配器
|
|
38
|
+
*
|
|
39
|
+
* @author zk
|
|
40
|
+
* @date 2023-09-21 06:09:04
|
|
41
|
+
* @type {{ [key: string]: IGridColumnProvider }}
|
|
42
|
+
* @memberof TreeGridExController
|
|
43
|
+
*/
|
|
44
|
+
providers: { [key: string]: IGridColumnProvider } = {};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 所有表格列控制器集合
|
|
48
|
+
*
|
|
49
|
+
* @author zk
|
|
50
|
+
* @date 2023-09-21 06:09:10
|
|
51
|
+
* @type {{ [key: string]: GridColumnController }}
|
|
52
|
+
* @memberof TreeGridExController
|
|
53
|
+
*/
|
|
54
|
+
columns: { [key: string]: GridColumnController } = {};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 所有表格属性列的控制器
|
|
58
|
+
*
|
|
59
|
+
* @author zk
|
|
60
|
+
* @date 2023-09-21 06:09:16
|
|
61
|
+
* @type {{ [key: string]: GridFieldColumnController }}
|
|
62
|
+
* @memberof TreeGridExController
|
|
63
|
+
*/
|
|
64
|
+
fieldColumns: { [key: string]: GridFieldColumnController } = {};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 所有表格操作列的控制器
|
|
68
|
+
*
|
|
69
|
+
* @author zk
|
|
70
|
+
* @date 2023-09-21 06:09:21
|
|
71
|
+
* @type {{ [key: string]: GridUAColumnController }}
|
|
72
|
+
* @memberof TreeGridExController
|
|
73
|
+
*/
|
|
74
|
+
uaColumns: { [key: string]: GridUAColumnController } = {};
|
|
75
|
+
|
|
76
|
+
protected initState(): void {
|
|
77
|
+
super.initState();
|
|
78
|
+
// 根节点初始化
|
|
79
|
+
this.state.size = 0;
|
|
80
|
+
this.state.columnStates = [];
|
|
81
|
+
this.state.defaultExpandedKeys = [];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
protected async onCreated(): Promise<void> {
|
|
85
|
+
await super.onCreated();
|
|
86
|
+
this.service = new TreeGridExService(this.model);
|
|
87
|
+
await this.service.init(this.context);
|
|
88
|
+
this.initColumnStates();
|
|
89
|
+
await this.initGridColumns();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* 初始化表格属性列,操作列,编辑项控制器
|
|
94
|
+
*
|
|
95
|
+
* @author zk
|
|
96
|
+
* @date 2023-09-21 06:09:28
|
|
97
|
+
* @protected
|
|
98
|
+
* @return {*} {Promise<void>}
|
|
99
|
+
* @memberof TreeGridExController
|
|
100
|
+
*/
|
|
101
|
+
protected async initGridColumns(): Promise<void> {
|
|
102
|
+
if (this.model.detreeColumns) {
|
|
103
|
+
await Promise.all(
|
|
104
|
+
this.model.detreeColumns.map(async column =>
|
|
105
|
+
this.initColumnsController(column),
|
|
106
|
+
),
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* 初始化表格属性列,操作列,编辑项控制器
|
|
113
|
+
*
|
|
114
|
+
* @author zk
|
|
115
|
+
* @date 2023-09-21 06:09:37
|
|
116
|
+
* @protected
|
|
117
|
+
* @param {IDETreeColumn} column
|
|
118
|
+
* @return {*} {Promise<void>}
|
|
119
|
+
* @memberof TreeGridExController
|
|
120
|
+
*/
|
|
121
|
+
protected async initColumnsController(column: IDETreeColumn): Promise<void> {
|
|
122
|
+
// 初始化适配器
|
|
123
|
+
const provider = await getGridColumnProvider(column);
|
|
124
|
+
if (!provider) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
this.providers[column.codeName!] = provider;
|
|
128
|
+
|
|
129
|
+
// 初始化表格列控制器
|
|
130
|
+
const controller = await provider.createController(column, this);
|
|
131
|
+
this.columns[column.codeName!] = controller as GridColumnController;
|
|
132
|
+
// 分类存放控制器
|
|
133
|
+
if (column.columnType === 'DEFGRIDCOLUMN') {
|
|
134
|
+
this.fieldColumns[column.codeName!] =
|
|
135
|
+
controller as GridFieldColumnController;
|
|
136
|
+
} else if (column.columnType === 'UAGRIDCOLUMN') {
|
|
137
|
+
this.uaColumns[column.codeName!] = controller as GridUAColumnController;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* 初始化表格列状态
|
|
143
|
+
*
|
|
144
|
+
* @author zk
|
|
145
|
+
* @date 2023-09-21 06:09:43
|
|
146
|
+
* @protected
|
|
147
|
+
* @memberof TreeGridExController
|
|
148
|
+
*/
|
|
149
|
+
protected initColumnStates(): void {
|
|
150
|
+
recursiveIterate(
|
|
151
|
+
this.model,
|
|
152
|
+
(column: IDETreeColumn) => {
|
|
153
|
+
if (column.columnType !== 'GROUPGRIDCOLUMN') {
|
|
154
|
+
this.state.columnStates.push({
|
|
155
|
+
key: column.codeName!,
|
|
156
|
+
caption: column.caption!,
|
|
157
|
+
hidden: !!column.hideDefault,
|
|
158
|
+
uaColumn: column.columnType === 'UAGRIDCOLUMN',
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{ childrenFields: ['detreeColumns'] },
|
|
163
|
+
);
|
|
164
|
+
this.calcColumnFixed();
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* 计算列的固定状态
|
|
169
|
+
*
|
|
170
|
+
* @author zk
|
|
171
|
+
* @date 2023-09-21 06:09:50
|
|
172
|
+
* @protected
|
|
173
|
+
* @memberof TreeGridExController
|
|
174
|
+
*/
|
|
175
|
+
protected calcColumnFixed(): void {
|
|
176
|
+
const showColumns = this.state.columnStates.filter(
|
|
177
|
+
column => !column.hidden,
|
|
178
|
+
);
|
|
179
|
+
const allNum = showColumns.length;
|
|
180
|
+
showColumns.forEach((column, index) => {
|
|
181
|
+
if (column.uaColumn) {
|
|
182
|
+
column.fixed = index + 1 <= Math.floor(allNum / 2) ? 'left' : 'right';
|
|
183
|
+
} else {
|
|
184
|
+
column.fixed = 'right';
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* 树部件加载,从根节点开始重新加载
|
|
191
|
+
*
|
|
192
|
+
* @author zk
|
|
193
|
+
* @date 2023-09-21 06:09:56
|
|
194
|
+
* @param {MDCtrlLoadParams} [args={}]
|
|
195
|
+
* @return {*} {Promise<ITreeNodeData[]>}
|
|
196
|
+
* @memberof TreeGridExController
|
|
197
|
+
*/
|
|
198
|
+
async load(args: MDCtrlLoadParams = {}): Promise<ITreeNodeData[]> {
|
|
199
|
+
const isInitialLoad = args.isInitialLoad === true;
|
|
200
|
+
const nodes = await this.loadNodes();
|
|
201
|
+
this.state.expandedKeys = this.calcExpandedKeys(nodes);
|
|
202
|
+
await this.afterLoad(args, nodes);
|
|
203
|
+
this.state.isLoaded = true;
|
|
204
|
+
await this.evt.emit('onLoadSuccess', {
|
|
205
|
+
isInitialLoad,
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
return nodes;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* 加载子节点数据
|
|
213
|
+
*
|
|
214
|
+
* @author zk
|
|
215
|
+
* @date 2023-09-21 06:09:02
|
|
216
|
+
* @param {ITreeNodeData} [parentNode]
|
|
217
|
+
* @return {*} {Promise<ITreeNodeData[]>}
|
|
218
|
+
* @memberof TreeGridExController
|
|
219
|
+
*/
|
|
220
|
+
async loadNodes(parentNode?: ITreeNodeData): Promise<ITreeNodeData[]> {
|
|
221
|
+
const params = await this.getFetchParams();
|
|
222
|
+
const hasQuery = !!params.query;
|
|
223
|
+
const defaultExpandedKeys = !parentNode
|
|
224
|
+
? this.state.defaultExpandedKeys
|
|
225
|
+
: undefined;
|
|
226
|
+
|
|
227
|
+
// 请求服务获取子节点数据
|
|
228
|
+
await this.startLoading();
|
|
229
|
+
let nodes;
|
|
230
|
+
try {
|
|
231
|
+
nodes =
|
|
232
|
+
(await this.service.fetchChildNodes(parentNode, {
|
|
233
|
+
context: this.context.clone(),
|
|
234
|
+
params,
|
|
235
|
+
hasQuery,
|
|
236
|
+
defaultExpandedKeys,
|
|
237
|
+
})) || [];
|
|
238
|
+
} finally {
|
|
239
|
+
await this.endLoading();
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// 有父节点绑定到父节点数据上,无父节点替换rootNodes
|
|
243
|
+
if (parentNode) {
|
|
244
|
+
parentNode.children = nodes;
|
|
245
|
+
} else {
|
|
246
|
+
this.state.rootNodes = nodes;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// 更新items
|
|
250
|
+
this.state.items = [];
|
|
251
|
+
recursiveIterate(
|
|
252
|
+
{ children: this.state.rootNodes },
|
|
253
|
+
(node: ITreeNodeData) => {
|
|
254
|
+
this.state.items.push(node);
|
|
255
|
+
},
|
|
256
|
+
);
|
|
257
|
+
|
|
258
|
+
return nodes;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* 计算展开节点集合
|
|
263
|
+
*
|
|
264
|
+
* @author zk
|
|
265
|
+
* @date 2023-09-21 06:09:07
|
|
266
|
+
* @param {ITreeNodeData[]} nodes
|
|
267
|
+
* @return {*} {string[]}
|
|
268
|
+
* @memberof TreeGridExController
|
|
269
|
+
*/
|
|
270
|
+
protected calcExpandedKeys(nodes: ITreeNodeData[]): string[] {
|
|
271
|
+
let expandedKeys: string[] = [];
|
|
272
|
+
recursiveIterate({ children: nodes }, (node: ITreeNodeData) => {
|
|
273
|
+
if (node.children?.length) {
|
|
274
|
+
expandedKeys.push(node.id);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
if (this.state.defaultExpandedKeys.length) {
|
|
278
|
+
expandedKeys.push(...this.state.defaultExpandedKeys);
|
|
279
|
+
expandedKeys = Array.from(new Set(expandedKeys));
|
|
280
|
+
}
|
|
281
|
+
return expandedKeys;
|
|
282
|
+
}
|
|
283
|
+
}
|