1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import { IParams } from "ibiz-core";
import { UILogicParamType } from "../const/ui-logic-param-type";
import { AppDeUILogicParamBase } from "./ui-logic-param-base";
/**
* 当前视图
*
* @export
* @class UILogicActiveViewParam
*/
export class UILogicActiveViewParam extends AppDeUILogicParamBase {
/**
* Creates an instance of UILogicActiveViewParam.
* @param {*} opts
* @memberof UILogicActiveViewParam
*/
public constructor(opts: any) {
super(opts);
}
/**
* 初始化
*
* @protected
* @memberof UILogicActiveViewParam
*/
protected init(params: IParams) {
this.logicParamType = UILogicParamType.activeViewParam;
this.setReal(this.getActiveView(params));
}
/**
* 获取激活视图
*
* @private
* @param {IParams} params
* @memberof UILogicActiveViewParam
*/
private getActiveView(params: IParams) {
const { actioncontext } = params;
if (actioncontext && actioncontext.viewCtx && actioncontext.viewCtx.view) {
return actioncontext.viewCtx.view;
} else {
return null;
}
}
/**
* 获取指定属性值(获取当前视图指定名称部件)
*
* @param {string} strName
* @memberof UILogicActiveViewParam
*/
public get(strName: string) {
const actionContainer = this.actionSession.actionContainer;
if (actionContainer && actionContainer.viewCtx && actionContainer.viewCtx.view) {
const view = actionContainer.viewCtx.view;
let ctrl = view.$refs[strName.toLowerCase()]?.$refs.ctrl;
if (ctrl) {
return ctrl;
} else {
// 视图布局面板获取
if (Object.is(actionContainer?.type, 'VIEWLAYOUT')) {
const { args } = this.actionSession.additionalParam;
// 多数据域
if (args && args.hasMulParent) {
ctrl = actionContainer.layoutDetailsModel[`${strName.toLowerCase()}_${args.index}`];
} else {
ctrl = actionContainer.layoutDetailsModel[strName.toLowerCase()];
}
if (ctrl) {
return ctrl;
} else {
throw new Error(`逻辑参数${this.strCodeName}无法找到指定部件`);
}
} else {
throw new Error(`逻辑参数${this.strCodeName}无法找到指定部件`);
}
}
}
}
/**
* 重置指定属性
*
* @param {string} strName
* @memberof UILogicActiveViewParam
*/
public reset(strName: string) {
throw new Error(`逻辑参数${this.strCodeName}为当前视图类型,无法重置指定属性`);
}
/**
* 重置全部
*
* @memberof UILogicActiveViewParam
*/
public resetAll() {
throw new Error(`逻辑参数${this.strCodeName}为当前视图类型,无法重置全部`);
}
/**
* 拷贝当前变量到指定变量
*
* @param {*} dstParam
* @memberof UILogicActiveViewParam
*/
public copyTo(dstParam: any) {
throw new Error(`逻辑参数${this.strCodeName}为当前视图类型,无法拷贝当前变量到指定变量`);
}
/**
* 绑定指定参数对象
*
* @param {*} opts
* @memberof UILogicActiveViewParam
*/
public bind(opts: any) {
throw new Error(`逻辑参数${this.strCodeName}为当前视图类型,无法绑定指定参数对象`);
}
/**
* 重新建立参数对象
*
* @memberof UILogicActiveViewParam
*/
public renew() {
throw new Error(`逻辑参数${this.strCodeName}为当前视图类型,无法重新建立参数对象`);
}
}