@flexem/fc-gui 3.0.0-alpha.136 → 3.0.0-alpha.138
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/bundles/@flexem/fc-gui.umd.js +252 -231
- package/bundles/@flexem/fc-gui.umd.js.map +1 -1
- package/bundles/@flexem/fc-gui.umd.min.js +3 -3
- package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
- package/config/history-data/get-history-data-args.d.ts +3 -14
- package/config/history-data/get-history-data-args.js +3 -5
- package/config/history-data/get-history-data-args.metadata.json +1 -1
- package/config/history-data/history-data.model.d.ts +1 -7
- package/config/history-data/history-data.model.js +1 -9
- package/config/history-data/history-data.model.metadata.json +1 -1
- package/config/history-data/index.d.ts +1 -1
- package/config/history-data/index.js +1 -1
- package/config/history-data/index.metadata.json +1 -1
- package/elements/historical-curve/historical-curve.element.d.ts +0 -6
- package/elements/historical-curve/historical-curve.element.js +21 -162
- package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
- package/elements/main-element.js +1 -1
- package/elements/scroll-alarm/scroll-alarm-element.js +1 -1
- package/elements/shared/graph/graph-state-element.d.ts +1 -0
- package/elements/shared/graph/graph-state-element.js +30 -1
- package/elements/shared/graph/graph-state-element.metadata.json +1 -1
- package/elements/shared/text/text-state-element.d.ts +3 -1
- package/elements/shared/text/text-state-element.js +55 -10
- package/elements/shared/text/text-state-element.metadata.json +1 -1
- package/elements/static-elements/hyperlink-element.js +37 -7
- package/elements/static-elements/text-element.d.ts +1 -0
- package/elements/static-elements/text-element.js +38 -7
- package/elements/switch-indicator-light/switch-indicator-light-element.d.ts +1 -0
- package/elements/switch-indicator-light/switch-indicator-light-element.js +15 -2
- package/elements/switch-indicator-light/switch-indicator-light-element.metadata.json +1 -1
- package/elements/view-operation/view-operation.element.js +34 -7
- package/model/base/font-setting-model.d.ts +6 -1
- package/model/base/font-setting-model.metadata.json +1 -1
- package/model/historical-curve/historical-curve.data-settings.d.ts +1 -18
- package/model/historical-curve/historical-curve.data-settings.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -42,10 +42,6 @@ export class HyperlinkElement extends ConditionalDynamicDisplayElement {
|
|
|
42
42
|
* 当设备的语种ID改变时,重新渲染文本
|
|
43
43
|
*/
|
|
44
44
|
subscribeLanguageChange() {
|
|
45
|
-
// 只有使用文本库时才需要订阅语种变化
|
|
46
|
-
if (!this.model.textLibrary || this.model.textLibrary.labelType !== 'textLibrary') {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
45
|
if (this.guiContext && this.guiContext.languageChanged$) {
|
|
50
46
|
this.languageChangeSubscription = this.guiContext.languageChanged$.subscribe(() => {
|
|
51
47
|
// 重新渲染文本
|
|
@@ -96,7 +92,7 @@ export class HyperlinkElement extends ConditionalDynamicDisplayElement {
|
|
|
96
92
|
* 否则返回默认文本
|
|
97
93
|
*/
|
|
98
94
|
getDisplayText() {
|
|
99
|
-
var _a, _b, _c, _d, _e, _f;
|
|
95
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
100
96
|
// 检查是否使用文本库
|
|
101
97
|
if (this.model.textLibrary && this.model.textLibrary.labelType === 'textLibrary') {
|
|
102
98
|
const textLibraryId = this.model.textLibrary.selectedTextLibraryItem;
|
|
@@ -140,7 +136,41 @@ export class HyperlinkElement extends ConditionalDynamicDisplayElement {
|
|
|
140
136
|
// 文本库配置但未找到数据,返回空字符串
|
|
141
137
|
return '';
|
|
142
138
|
}
|
|
143
|
-
//
|
|
144
|
-
|
|
139
|
+
// 处理自定义文本(支持多语种)
|
|
140
|
+
if (this.model.text) {
|
|
141
|
+
// 检查是否为多语种格式
|
|
142
|
+
if (typeof this.model.text === 'object' && this.model.text.cultures) {
|
|
143
|
+
// 新格式:多语种对象
|
|
144
|
+
// 获取当前语种ID
|
|
145
|
+
const currentLanguageId = (_j = (_h = (_g = this.guiContext) === null || _g === void 0 ? void 0 : _g.getCurrentLanguageId) === null || _h === void 0 ? void 0 : _h.call(_g)) !== null && _j !== void 0 ? _j : null;
|
|
146
|
+
// 确定要使用的语种代码(culture)
|
|
147
|
+
let targetLanguage;
|
|
148
|
+
const defaultLanguage = ((_k = this.languageService) === null || _k === void 0 ? void 0 : _k.getDefaultLanguage()) || 'zh-CN';
|
|
149
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
150
|
+
// 设备未设置当前语种,使用默认语种
|
|
151
|
+
targetLanguage = defaultLanguage;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// 设备已设置当前语种,获取对应的语种代码
|
|
155
|
+
const currentLanguage = (_m = (_l = this.guiContext) === null || _l === void 0 ? void 0 : _l.getLanguageCultureById) === null || _m === void 0 ? void 0 : _m.call(_l, currentLanguageId);
|
|
156
|
+
if (currentLanguage) {
|
|
157
|
+
targetLanguage = currentLanguage;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
targetLanguage = defaultLanguage;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// 返回对应语种的文本,如果没有则根据当前语言环境显示默认文本
|
|
164
|
+
// 获取当前语言环境
|
|
165
|
+
const language = ((_q = (_p = (_o = window.abp) === null || _o === void 0 ? void 0 : _o.localization) === null || _p === void 0 ? void 0 : _p.currentLanguage) === null || _q === void 0 ? void 0 : _q.name) || 'zh-Hans';
|
|
166
|
+
const isChinese = language === 'zh-Hans' || language === 'zh';
|
|
167
|
+
return this.model.text.cultures[targetLanguage] || (isChinese ? '超链接' : 'Hyperlink');
|
|
168
|
+
}
|
|
169
|
+
else if (typeof this.model.text === 'string') {
|
|
170
|
+
// 旧格式:字符串
|
|
171
|
+
return this.model.text;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return '';
|
|
145
175
|
}
|
|
146
176
|
}
|
|
@@ -58,10 +58,6 @@ export class TextElement extends ConditionalDynamicDisplayElement {
|
|
|
58
58
|
* 当设备的语种ID改变时,重新渲染文本
|
|
59
59
|
*/
|
|
60
60
|
subscribeLanguageChange() {
|
|
61
|
-
// 只有使用文本库时才需要订阅语种变化
|
|
62
|
-
if (!this.model.textLibrary || this.model.textLibrary.labelType !== 'textLibrary') {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
61
|
if (this.guiContext && this.guiContext.languageChanged$) {
|
|
66
62
|
this.languageChangeSubscription = this.guiContext.languageChanged$.subscribe(() => {
|
|
67
63
|
// 重新渲染文本
|
|
@@ -84,10 +80,11 @@ export class TextElement extends ConditionalDynamicDisplayElement {
|
|
|
84
80
|
/**
|
|
85
81
|
* 获取显示文本
|
|
86
82
|
* 如果配置了文本库,则从文本库中获取对应语种的文本
|
|
83
|
+
* 如果是多语种自定义文本,则根据当前语种ID获取对应语种的文本
|
|
87
84
|
* 否则返回默认文本
|
|
88
85
|
*/
|
|
89
86
|
getDisplayText() {
|
|
90
|
-
var _a, _b, _c, _d, _e, _f;
|
|
87
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
91
88
|
// 检查是否使用文本库
|
|
92
89
|
if (this.model.textLibrary && this.model.textLibrary.labelType === 'textLibrary') {
|
|
93
90
|
const textLibraryId = this.model.textLibrary.selectedTextLibraryItem;
|
|
@@ -131,8 +128,42 @@ export class TextElement extends ConditionalDynamicDisplayElement {
|
|
|
131
128
|
// 文本库配置但未找到数据,返回空字符串
|
|
132
129
|
return '';
|
|
133
130
|
}
|
|
134
|
-
//
|
|
135
|
-
|
|
131
|
+
// 处理自定义文本(支持多语种)
|
|
132
|
+
if (this.model.text) {
|
|
133
|
+
// 检查是否为多语种格式
|
|
134
|
+
if (typeof this.model.text === 'object' && this.model.text.cultures) {
|
|
135
|
+
// 新格式:多语种对象
|
|
136
|
+
// 获取当前语种ID
|
|
137
|
+
const currentLanguageId = (_j = (_h = (_g = this.guiContext) === null || _g === void 0 ? void 0 : _g.getCurrentLanguageId) === null || _h === void 0 ? void 0 : _h.call(_g)) !== null && _j !== void 0 ? _j : null;
|
|
138
|
+
// 确定要使用的语种代码(culture)
|
|
139
|
+
let targetLanguage;
|
|
140
|
+
const defaultLanguage = ((_k = this.languageService) === null || _k === void 0 ? void 0 : _k.getDefaultLanguage()) || 'zh-CN';
|
|
141
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
142
|
+
// 设备未设置当前语种,使用默认语种
|
|
143
|
+
targetLanguage = defaultLanguage;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// 设备已设置当前语种,获取对应的语种代码
|
|
147
|
+
const currentLanguage = (_m = (_l = this.guiContext) === null || _l === void 0 ? void 0 : _l.getLanguageCultureById) === null || _m === void 0 ? void 0 : _m.call(_l, currentLanguageId);
|
|
148
|
+
if (currentLanguage) {
|
|
149
|
+
targetLanguage = currentLanguage;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
targetLanguage = defaultLanguage;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// 返回对应语种的文本,如果没有则根据当前语言环境显示默认文本
|
|
156
|
+
// 获取当前语言环境
|
|
157
|
+
const language = ((_q = (_p = (_o = window.abp) === null || _o === void 0 ? void 0 : _o.localization) === null || _p === void 0 ? void 0 : _p.currentLanguage) === null || _q === void 0 ? void 0 : _q.name) || 'zh-Hans';
|
|
158
|
+
const isChinese = language === 'zh-Hans' || language === 'zh';
|
|
159
|
+
return this.model.text.cultures[targetLanguage] || (isChinese ? '文本' : 'Text');
|
|
160
|
+
}
|
|
161
|
+
else if (typeof this.model.text === 'string') {
|
|
162
|
+
// 旧格式:字符串
|
|
163
|
+
return this.model.text;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return '';
|
|
136
167
|
}
|
|
137
168
|
handleTextValue() {
|
|
138
169
|
const allText = this.$element.find('text');
|
|
@@ -28,6 +28,7 @@ export declare class SwitchIndicatorLightElement extends ConditionalEnableElemen
|
|
|
28
28
|
private restorationTimer;
|
|
29
29
|
private isWriteRestorationDownValue;
|
|
30
30
|
private onDocMouseUp;
|
|
31
|
+
private indicatorLightSubscription;
|
|
31
32
|
constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, variableStore: VariableStore, localization: Localization, signalRAppId: string, textLibraryService?: TextLibraryService, languageService?: LanguageService, guiContext?: GuiContext);
|
|
32
33
|
handleMouseUp(): void;
|
|
33
34
|
private initOnDocMouseUpEvent;
|
|
@@ -211,7 +211,7 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
|
|
|
211
211
|
default:
|
|
212
212
|
throw new Error(`Unknown switchType:${settings.type}`);
|
|
213
213
|
}
|
|
214
|
-
this.indicatorLightOperator.currentStateIdChanged.subscribe(statusIdValue => {
|
|
214
|
+
this.indicatorLightSubscription = this.indicatorLightOperator.currentStateIdChanged.subscribe(statusIdValue => {
|
|
215
215
|
this.currentStateIdChange(statusIdValue);
|
|
216
216
|
});
|
|
217
217
|
this.indicatorLightOperator.requestData(this.signalRAppId);
|
|
@@ -241,7 +241,7 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
|
|
|
241
241
|
this.graphStateElement = new GraphStateElement(this.model.graphSetting, width, height, this.graphStore, this.logger, this.model.version, this.model.states);
|
|
242
242
|
this.$element.append(this.graphStateElement.Element);
|
|
243
243
|
}
|
|
244
|
-
this.textStateElement = new TextStateElement(this.model.states, width, height, this.logger, this.model.version, this.model.states, this.model.textLibrary, this.textLibraryService, this.languageService, this.guiContext);
|
|
244
|
+
this.textStateElement = new TextStateElement(this.model.states, width, height, this.logger, this.model.version, this.model.states, this.model.textLibrary, this.textLibraryService, this.languageService, this.guiContext, true);
|
|
245
245
|
this.$element.append(this.textStateElement.Element);
|
|
246
246
|
}
|
|
247
247
|
/**
|
|
@@ -265,6 +265,19 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
|
|
|
265
265
|
if (this.onDocMouseUp) {
|
|
266
266
|
document.removeEventListener(this.isMobileMode ? 'touchend' : 'mouseup', this.onDocMouseUp);
|
|
267
267
|
}
|
|
268
|
+
// 清理 indicatorLightOperator 订阅
|
|
269
|
+
if (this.indicatorLightSubscription) {
|
|
270
|
+
this.indicatorLightSubscription.unsubscribe();
|
|
271
|
+
}
|
|
272
|
+
// 清理图形元素(释放 SVG 内存)
|
|
273
|
+
if (this.graphStateElement) {
|
|
274
|
+
this.graphStateElement.dispose();
|
|
275
|
+
}
|
|
276
|
+
// 清理文本元素
|
|
277
|
+
if (this.textStateElement) {
|
|
278
|
+
// TextStateElement 可能也需要 dispose,暂时先清理引用
|
|
279
|
+
this.textStateElement = null;
|
|
280
|
+
}
|
|
268
281
|
}
|
|
269
282
|
checkState() {
|
|
270
283
|
if (!this.model.states) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"SwitchIndicatorLightElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":33,"character":49},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"SwitchIndicatorLightElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":33,"character":49},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":52,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":53,"character":18},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":54,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":55,"character":30},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":56,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":57,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":58,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":59,"character":42},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":60,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":61,"character":22},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"TextLibraryService","line":63,"character":46},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":64,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":65,"character":38}]}],"handleMouseUp":[{"__symbolic":"method"}],"initOnDocMouseUpEvent":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"doSwitchOperator":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"initSwitchOperator":[{"__symbolic":"method"}],"initIndictorLightOperator":[{"__symbolic":"method"}],"currentStateIdChange":[{"__symbolic":"method"}],"switchToState":[{"__symbolic":"method"}],"initGraphAndText":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"checkState":[{"__symbolic":"method"}]}}}}]
|
|
@@ -210,10 +210,6 @@ export class ViewOperationElement extends ConditionalEnableElement {
|
|
|
210
210
|
* 订阅语种变化事件
|
|
211
211
|
*/
|
|
212
212
|
subscribeLanguageChange() {
|
|
213
|
-
// 只有使用文本库时才需要订阅语种变化
|
|
214
|
-
if (!this.model.textLibrary || this.model.textLibrary.labelType !== 'textLibrary') {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
213
|
if (this.guiContext && this.guiContext.languageChanged$) {
|
|
218
214
|
this.languageChangeSubscription = this.guiContext.languageChanged$.subscribe(() => {
|
|
219
215
|
// 更新文本内容
|
|
@@ -233,7 +229,7 @@ export class ViewOperationElement extends ConditionalEnableElement {
|
|
|
233
229
|
* 获取显示文本
|
|
234
230
|
*/
|
|
235
231
|
getDisplayText() {
|
|
236
|
-
var _a, _b, _c, _d, _e, _f;
|
|
232
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
237
233
|
// 检查是否使用文本库
|
|
238
234
|
if (this.model.textLibrary && this.model.textLibrary.labelType === 'textLibrary') {
|
|
239
235
|
const textLibraryId = this.model.textLibrary.selectedTextLibraryItem;
|
|
@@ -277,8 +273,39 @@ export class ViewOperationElement extends ConditionalEnableElement {
|
|
|
277
273
|
// 文本库配置但未找到数据,返回空字符串
|
|
278
274
|
return '';
|
|
279
275
|
}
|
|
280
|
-
//
|
|
281
|
-
|
|
276
|
+
// 处理自定义文本(支持多语种)
|
|
277
|
+
if (this.model.label && this.model.label.content) {
|
|
278
|
+
// 检查是否为多语种格式
|
|
279
|
+
if (typeof this.model.label.content === 'object' && this.model.label.content.cultures) {
|
|
280
|
+
// 新格式:多语种对象
|
|
281
|
+
// 获取当前语种ID
|
|
282
|
+
const currentLanguageId = (_j = (_h = (_g = this.guiContext) === null || _g === void 0 ? void 0 : _g.getCurrentLanguageId) === null || _h === void 0 ? void 0 : _h.call(_g)) !== null && _j !== void 0 ? _j : null;
|
|
283
|
+
// 确定要使用的语种代码(culture)
|
|
284
|
+
let targetLanguage;
|
|
285
|
+
const defaultLanguage = ((_k = this.languageService) === null || _k === void 0 ? void 0 : _k.getDefaultLanguage()) || 'zh-CN';
|
|
286
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
287
|
+
// 设备未设置当前语种,使用默认语种
|
|
288
|
+
targetLanguage = defaultLanguage;
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// 设备已设置当前语种,获取对应的语种代码
|
|
292
|
+
const currentLanguage = (_m = (_l = this.guiContext) === null || _l === void 0 ? void 0 : _l.getLanguageCultureById) === null || _m === void 0 ? void 0 : _m.call(_l, currentLanguageId);
|
|
293
|
+
if (currentLanguage) {
|
|
294
|
+
targetLanguage = currentLanguage;
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
targetLanguage = defaultLanguage;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
// toggle-view 找不到语种内容时默认为空字符串
|
|
301
|
+
return this.model.label.content.cultures[targetLanguage] || '';
|
|
302
|
+
}
|
|
303
|
+
else if (typeof this.model.label.content === 'string') {
|
|
304
|
+
// 旧格式:字符串
|
|
305
|
+
return this.model.label.content;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return '';
|
|
282
309
|
}
|
|
283
310
|
/**
|
|
284
311
|
* 释放资源
|
|
@@ -3,8 +3,13 @@ export interface TextLibrarySetting {
|
|
|
3
3
|
readonly selectedTextLibraryItem?: string | number;
|
|
4
4
|
readonly selectedTextItem?: string | number;
|
|
5
5
|
}
|
|
6
|
+
export interface TextCultures {
|
|
7
|
+
readonly cultures: {
|
|
8
|
+
[languageCode: string]: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
6
11
|
export interface FontSettingModel {
|
|
7
|
-
readonly text: string;
|
|
12
|
+
readonly text: string | TextCultures;
|
|
8
13
|
readonly stroke: string;
|
|
9
14
|
readonly font: string;
|
|
10
15
|
readonly fontSize: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"TextLibrarySetting":{"__symbolic":"interface"},"FontSettingModel":{"__symbolic":"interface"}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"TextLibrarySetting":{"__symbolic":"interface"},"TextCultures":{"__symbolic":"interface"},"FontSettingModel":{"__symbolic":"interface"}}}]
|
|
@@ -1,26 +1,9 @@
|
|
|
1
1
|
import { HistroicalCurveChannelModel } from './historical-curve-chanel.model';
|
|
2
|
-
/**
|
|
3
|
-
* 单个历史数据条目的运行时配置
|
|
4
|
-
*/
|
|
5
|
-
export interface HistoricalCurveDataItem {
|
|
6
|
-
/** 历史数据条目名称 */
|
|
7
|
-
readonly dataName: string;
|
|
8
|
-
/** 该条目的通道列表 */
|
|
9
|
-
readonly channels: Array<HistroicalCurveChannelModel>;
|
|
10
|
-
}
|
|
11
2
|
export interface HistoricalCurveDataSettings {
|
|
12
3
|
readonly dataSourceCode: number;
|
|
13
4
|
/**
|
|
14
|
-
*
|
|
5
|
+
* 历史数据名称
|
|
15
6
|
*/
|
|
16
7
|
readonly dataName: string;
|
|
17
|
-
/**
|
|
18
|
-
* 【旧格式-兼容】通道列表,单条目模式
|
|
19
|
-
*/
|
|
20
8
|
readonly channels: Array<HistroicalCurveChannelModel>;
|
|
21
|
-
/**
|
|
22
|
-
* 【新格式】多个历史数据条目配置
|
|
23
|
-
* 如果此字段有值,优先使用此字段
|
|
24
|
-
*/
|
|
25
|
-
readonly dataItems?: Array<HistoricalCurveDataItem>;
|
|
26
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"HistoricalCurveDataSettings":{"__symbolic":"interface"}}}]
|