@flexem/fc-gui 3.0.0-alpha.137 → 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 +251 -230
- 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/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
|
@@ -22260,18 +22260,10 @@ var history_data_store = __webpack_require__(254);
|
|
|
22260
22260
|
|
|
22261
22261
|
// CONCATENATED MODULE: ./.tmp/config/history-data/history-data.model.ts
|
|
22262
22262
|
class HistoryDataModel {
|
|
22263
|
-
constructor(error, isUnbind, values
|
|
22264
|
-
) {
|
|
22263
|
+
constructor(error, isUnbind, values) {
|
|
22265
22264
|
this.error = error;
|
|
22266
22265
|
this.isUnbind = isUnbind;
|
|
22267
22266
|
this.values = values;
|
|
22268
|
-
this.historyDataItems = historyDataItems;
|
|
22269
|
-
}
|
|
22270
|
-
}
|
|
22271
|
-
class HistoryDataItemModel {
|
|
22272
|
-
constructor(itemName, rows) {
|
|
22273
|
-
this.itemName = itemName;
|
|
22274
|
-
this.rows = rows;
|
|
22275
22267
|
}
|
|
22276
22268
|
}
|
|
22277
22269
|
|
|
@@ -22288,15 +22280,14 @@ class GetHistoryDataArgs {
|
|
|
22288
22280
|
/**
|
|
22289
22281
|
* 获取历史数据参数
|
|
22290
22282
|
* @param dataSourceCode 数据源编码
|
|
22291
|
-
* @param dataItemName
|
|
22292
|
-
* @param channelNames
|
|
22283
|
+
* @param dataItemName 历史数据条目名称
|
|
22284
|
+
* @param channelNames 通道名称
|
|
22293
22285
|
* @param startTime 开始时间
|
|
22294
22286
|
* @param endTime 结束时间
|
|
22295
22287
|
* @param limit 获取数据数量,为负数则倒叙
|
|
22296
22288
|
* @param rangeType 区间类型
|
|
22297
|
-
* @param historyDataItems 多条目模式:多个历史数据条目及其通道配置
|
|
22298
22289
|
*/
|
|
22299
|
-
constructor(dataSourceCode, dataItemName, channelNames, startTime, endTime, limit, rangeType
|
|
22290
|
+
constructor(dataSourceCode, dataItemName, channelNames, startTime, endTime, limit, rangeType) {
|
|
22300
22291
|
this.dataSourceCode = dataSourceCode;
|
|
22301
22292
|
this.dataItemName = dataItemName;
|
|
22302
22293
|
this.channelNames = channelNames;
|
|
@@ -22304,7 +22295,6 @@ class GetHistoryDataArgs {
|
|
|
22304
22295
|
this.endTime = endTime;
|
|
22305
22296
|
this.limit = limit;
|
|
22306
22297
|
this.rangeType = rangeType;
|
|
22307
|
-
this.historyDataItems = historyDataItems;
|
|
22308
22298
|
}
|
|
22309
22299
|
}
|
|
22310
22300
|
|
|
@@ -22358,15 +22348,14 @@ class GetAlarmsArgs {
|
|
|
22358
22348
|
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "g", function() { return GraphResult; });
|
|
22359
22349
|
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "i", function() { return GraphType; });
|
|
22360
22350
|
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "h", function() { return graph_store["GraphStore"]; });
|
|
22361
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "
|
|
22362
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "
|
|
22363
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "
|
|
22364
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "
|
|
22365
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "
|
|
22366
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "
|
|
22367
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "m", function() { return HistoryDataValue; });
|
|
22351
|
+
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "p", function() { return view_store["ViewStore"]; });
|
|
22352
|
+
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "o", function() { return view_model["a" /* ViewModel */]; });
|
|
22353
|
+
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "m", function() { return image_store["ImageStore"]; });
|
|
22354
|
+
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "k", function() { return history_data_store["HistoryDataStore"]; });
|
|
22355
|
+
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "j", function() { return HistoryDataModel; });
|
|
22356
|
+
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "l", function() { return HistoryDataValue; });
|
|
22368
22357
|
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "d", function() { return GetHistoryDataArgs; });
|
|
22369
|
-
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "
|
|
22358
|
+
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "n", function() { return variable_store["VariableStore"]; });
|
|
22370
22359
|
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "e", function() { return GetVariableNameArgs; });
|
|
22371
22360
|
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "a", function() { return alarm_store["AlarmsStore"]; });
|
|
22372
22361
|
/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "c", function() { return GetAlarmsArgs; });
|
|
@@ -36261,12 +36250,19 @@ class graph_state_element_GraphStateElement {
|
|
|
36261
36250
|
}
|
|
36262
36251
|
}
|
|
36263
36252
|
changeGraph(stateId, graphResult) {
|
|
36253
|
+
// 检查元素是否已被销毁
|
|
36254
|
+
if (!this._element) {
|
|
36255
|
+
return;
|
|
36256
|
+
}
|
|
36264
36257
|
if (!graphResult.failed) {
|
|
36265
36258
|
const graph = graphResult.graph;
|
|
36266
36259
|
switch (graph.graphType) {
|
|
36267
36260
|
case _tmp_config["i" /* GraphType */].Image:
|
|
36268
36261
|
case _tmp_config["i" /* GraphType */].SVG:
|
|
36269
36262
|
const imageElement = this.getImageElement();
|
|
36263
|
+
if (!imageElement) {
|
|
36264
|
+
return;
|
|
36265
|
+
}
|
|
36270
36266
|
imageElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', graph.source);
|
|
36271
36267
|
this.doFaultFlicker(imageElement, stateId);
|
|
36272
36268
|
break;
|
|
@@ -36282,6 +36278,10 @@ class graph_state_element_GraphStateElement {
|
|
|
36282
36278
|
}
|
|
36283
36279
|
getImageElement() {
|
|
36284
36280
|
if (!this.imageElement) {
|
|
36281
|
+
// 检查 _element 是否已被销毁
|
|
36282
|
+
if (!this._element) {
|
|
36283
|
+
return null;
|
|
36284
|
+
}
|
|
36285
36285
|
this.imageElement = document.createElementNS('http://www.w3.org/2000/svg', 'image');
|
|
36286
36286
|
this.imageElement.setAttribute('width', this.width + '');
|
|
36287
36287
|
this.imageElement.setAttribute('height', this.height + '');
|
|
@@ -36293,7 +36293,7 @@ class graph_state_element_GraphStateElement {
|
|
|
36293
36293
|
return this.imageElement;
|
|
36294
36294
|
}
|
|
36295
36295
|
removeImageElement() {
|
|
36296
|
-
if (this.imageElement) {
|
|
36296
|
+
if (this.imageElement && this._element) {
|
|
36297
36297
|
this._element.removeChild(this.imageElement);
|
|
36298
36298
|
delete this.imageElement;
|
|
36299
36299
|
}
|
|
@@ -36326,6 +36326,24 @@ class graph_state_element_GraphStateElement {
|
|
|
36326
36326
|
}
|
|
36327
36327
|
}
|
|
36328
36328
|
}
|
|
36329
|
+
dispose() {
|
|
36330
|
+
// 清理定时器
|
|
36331
|
+
if (this.faultFlickerInterval) {
|
|
36332
|
+
clearInterval(this.faultFlickerInterval);
|
|
36333
|
+
this.faultFlickerInterval = undefined;
|
|
36334
|
+
}
|
|
36335
|
+
// 移除图片元素
|
|
36336
|
+
this.removeImageElement();
|
|
36337
|
+
// 清理图形缓存
|
|
36338
|
+
if (this.graphs) {
|
|
36339
|
+
this.graphs.clear();
|
|
36340
|
+
}
|
|
36341
|
+
// 清理 SVG 元素
|
|
36342
|
+
if (this._element && this._element.parentNode) {
|
|
36343
|
+
this._element.parentNode.removeChild(this._element);
|
|
36344
|
+
}
|
|
36345
|
+
this._element = null;
|
|
36346
|
+
}
|
|
36329
36347
|
}
|
|
36330
36348
|
|
|
36331
36349
|
// CONCATENATED MODULE: ./.tmp/elements/datetime-display/time-zone-select-json.ts
|
|
@@ -37305,95 +37323,30 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
37305
37323
|
if (!this.model.dataSetting) {
|
|
37306
37324
|
return;
|
|
37307
37325
|
}
|
|
37326
|
+
const dataItemName = this.model.dataSetting.dataName;
|
|
37308
37327
|
const dataSourceCode = this.model.dataSetting.dataSourceCode;
|
|
37328
|
+
const channelNames = this.model.dataSetting.channels.map(c => c.name);
|
|
37309
37329
|
this.updateElementStatus(HistoricalCurveElementStatus.Loading);
|
|
37310
|
-
|
|
37311
|
-
|
|
37312
|
-
const historyDataItems = this.model.dataSetting.dataItems.map(item => ({
|
|
37313
|
-
dataItemName: item.dataName,
|
|
37314
|
-
channelNames: item.channels.map(c => c.name)
|
|
37315
|
-
}));
|
|
37316
|
-
// 使用第一个条目的信息作为兼容参数
|
|
37317
|
-
const firstItem = this.model.dataSetting.dataItems[0];
|
|
37318
|
-
const input = new _tmp_config["d" /* GetHistoryDataArgs */](dataSourceCode, firstItem.dataName, firstItem.channels.map(c => c.name), startTime, endTime, limit, rangeType, historyDataItems // 传递多条目参数
|
|
37319
|
-
);
|
|
37320
|
-
this.historyDataStore.getHistoryData(input).subscribe(result => {
|
|
37321
|
-
this.handleQueryResult(result);
|
|
37322
|
-
});
|
|
37323
|
-
}
|
|
37324
|
-
// 【旧格式】单条目模式
|
|
37325
|
-
else {
|
|
37326
|
-
const dataItemName = this.model.dataSetting.dataName;
|
|
37327
|
-
const channelNames = this.model.dataSetting.channels.map(c => c.name);
|
|
37328
|
-
const input = new _tmp_config["d" /* GetHistoryDataArgs */](dataSourceCode, dataItemName, channelNames, startTime, endTime, limit, rangeType);
|
|
37329
|
-
this.historyDataStore.getHistoryData(input).subscribe(result => {
|
|
37330
|
-
this.handleQueryResult(result);
|
|
37331
|
-
});
|
|
37332
|
-
}
|
|
37333
|
-
}
|
|
37334
|
-
handleQueryResult(result) {
|
|
37335
|
-
this.timePeriods = this.getValidTimePeriods();
|
|
37336
|
-
// 【新格式】多条目模式下的错误处理
|
|
37337
|
-
if (result.historyDataItems && result.historyDataItems.length > 0) {
|
|
37338
|
-
// 只要有条目正常返回(即使没有数据),就走正常逻辑
|
|
37339
|
-
// 这样可以确保即使部分条目失败,只要有条目成功返回,就显示正常状态
|
|
37340
|
-
this.clearStatus();
|
|
37341
|
-
if (result.isUnbind) {
|
|
37342
|
-
this.updateElementStatus(HistoricalCurveElementStatus.Unbound);
|
|
37343
|
-
}
|
|
37344
|
-
else {
|
|
37345
|
-
this.updateElementStatus(HistoricalCurveElementStatus.Normal);
|
|
37346
|
-
}
|
|
37347
|
-
// 如果有错误信息,在控制台输出警告
|
|
37330
|
+
const input = new _tmp_config["d" /* GetHistoryDataArgs */](dataSourceCode, dataItemName, channelNames, startTime, endTime, limit, rangeType);
|
|
37331
|
+
this.historyDataStore.getHistoryData(input).subscribe(result => {
|
|
37348
37332
|
if (result.error) {
|
|
37349
|
-
this.
|
|
37350
|
-
}
|
|
37351
|
-
// 检查是否有任何条目有数据
|
|
37352
|
-
const hasAnyData = result.historyDataItems.some(item => item.rows && item.rows.length > 0);
|
|
37353
|
-
if (hasAnyData) {
|
|
37354
|
-
// 有数据,计算所有条目的最小和最大时间,确保时间轴覆盖所有数据
|
|
37355
|
-
let globalMinTime = null;
|
|
37356
|
-
let globalMaxTime = null;
|
|
37357
|
-
result.historyDataItems.forEach(item => {
|
|
37358
|
-
if (item.rows && item.rows.length > 0) {
|
|
37359
|
-
const itemMinTime = moment(Object(lodash["first"])(item.rows).time);
|
|
37360
|
-
const itemMaxTime = moment(Object(lodash["last"])(item.rows).time);
|
|
37361
|
-
if (!globalMinTime || itemMinTime.isBefore(globalMinTime)) {
|
|
37362
|
-
globalMinTime = itemMinTime;
|
|
37363
|
-
}
|
|
37364
|
-
if (!globalMaxTime || itemMaxTime.isAfter(globalMaxTime)) {
|
|
37365
|
-
globalMaxTime = itemMaxTime;
|
|
37366
|
-
}
|
|
37367
|
-
}
|
|
37368
|
-
});
|
|
37369
|
-
// 设置全局时间范围
|
|
37370
|
-
if (globalMinTime && globalMaxTime) {
|
|
37371
|
-
this.currentStartTime = globalMinTime;
|
|
37372
|
-
this.currentEndTime = globalMaxTime;
|
|
37373
|
-
}
|
|
37374
|
-
}
|
|
37375
|
-
// 无论是否有数据,都渲染曲线(没有数据会显示空曲线)
|
|
37376
|
-
this.chartElement = this.renderChartWithMultiItems(result.historyDataItems);
|
|
37377
|
-
}
|
|
37378
|
-
// 【旧格式】单条目模式的错误处理
|
|
37379
|
-
else if (result.error) {
|
|
37380
|
-
this.updateElementStatus(HistoricalCurveElementStatus.LoadFailed, result.error);
|
|
37381
|
-
}
|
|
37382
|
-
else {
|
|
37383
|
-
this.clearStatus();
|
|
37384
|
-
if (result.isUnbind) {
|
|
37385
|
-
this.updateElementStatus(HistoricalCurveElementStatus.Unbound);
|
|
37333
|
+
this.updateElementStatus(HistoricalCurveElementStatus.LoadFailed, result.error);
|
|
37386
37334
|
}
|
|
37387
37335
|
else {
|
|
37388
|
-
this.
|
|
37389
|
-
|
|
37390
|
-
|
|
37391
|
-
|
|
37392
|
-
|
|
37393
|
-
|
|
37336
|
+
this.clearStatus();
|
|
37337
|
+
if (result.isUnbind) {
|
|
37338
|
+
this.updateElementStatus(HistoricalCurveElementStatus.Unbound);
|
|
37339
|
+
}
|
|
37340
|
+
else {
|
|
37341
|
+
this.updateElementStatus(HistoricalCurveElementStatus.Normal);
|
|
37342
|
+
}
|
|
37343
|
+
if (result.values.length) {
|
|
37344
|
+
this.currentStartTime = moment(Object(lodash["first"])(result.values).time);
|
|
37345
|
+
this.currentEndTime = moment(Object(lodash["last"])(result.values).time);
|
|
37346
|
+
}
|
|
37347
|
+
this.chartElement = this.renderChart(result.values);
|
|
37394
37348
|
}
|
|
37395
|
-
|
|
37396
|
-
}
|
|
37349
|
+
});
|
|
37397
37350
|
}
|
|
37398
37351
|
setupTooltipAutoHide(chart) {
|
|
37399
37352
|
const chartContainer = this.rootElement.select('.nv-focus').node();
|
|
@@ -37421,58 +37374,10 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
37421
37374
|
const chartWidth = this.model.displaySetting.size.width;
|
|
37422
37375
|
const chartHeight = this.model.displaySetting.size.height - this.displayOption.operationAreaHeight - this.displayOption.operationAreaMarginTop;
|
|
37423
37376
|
const data = new Array();
|
|
37424
|
-
// 【旧格式】单条目模式:只显示通道名
|
|
37425
37377
|
Object(lodash["each"])(this.model.dataSetting.channels, (channel, key) => {
|
|
37426
37378
|
const values = new Array();
|
|
37427
37379
|
Object(lodash["each"])(result, v => values.push({ x: moment(v.time).local().toDate().valueOf(), y: v.values[key] }));
|
|
37428
|
-
|
|
37429
|
-
data.push({ key: displayName, area: channel.projectEnabled, values: values });
|
|
37430
|
-
});
|
|
37431
|
-
this.data = data;
|
|
37432
|
-
let chart;
|
|
37433
|
-
if (this.model.displaySetting.curveType === CurveType.BarGroup || this.model.displaySetting.curveType === CurveType.BarStack) {
|
|
37434
|
-
chart = this.getMultiBarWithFocusChart(chartWidth, chartHeight, data);
|
|
37435
|
-
}
|
|
37436
|
-
else {
|
|
37437
|
-
chart = this.getLineChart(chartWidth, chartHeight, data);
|
|
37438
|
-
}
|
|
37439
|
-
// 设置 tooltip 自动隐藏逻辑
|
|
37440
|
-
this.setupTooltipAutoHide(chart);
|
|
37441
|
-
return chart;
|
|
37442
|
-
}
|
|
37443
|
-
/**
|
|
37444
|
-
* 【新格式】多条目独立数据的曲线渲染
|
|
37445
|
-
* 每个条目独立保持自己的时间戳,不会出现时间戳混乱的问题
|
|
37446
|
-
*/
|
|
37447
|
-
renderChartWithMultiItems(historyDataItems) {
|
|
37448
|
-
const chartWidth = this.model.displaySetting.size.width;
|
|
37449
|
-
const chartHeight = this.model.displaySetting.size.height - this.displayOption.operationAreaHeight - this.displayOption.operationAreaMarginTop;
|
|
37450
|
-
const data = new Array();
|
|
37451
|
-
// 创建一个 Map 用于快速查找条目数据
|
|
37452
|
-
const itemDataMap = new Map();
|
|
37453
|
-
Object(lodash["each"])(historyDataItems, item => {
|
|
37454
|
-
if (item && item.itemName) {
|
|
37455
|
-
itemDataMap.set(item.itemName, item.rows || []);
|
|
37456
|
-
}
|
|
37457
|
-
});
|
|
37458
|
-
// 判断是否只有一个条目
|
|
37459
|
-
const isSingleItem = this.model.dataSetting.dataItems && this.model.dataSetting.dataItems.length === 1;
|
|
37460
|
-
// 为每个条目的每个通道创建独立的曲线
|
|
37461
|
-
Object(lodash["each"])(this.model.dataSetting.dataItems, (dataItem) => {
|
|
37462
|
-
const itemName = dataItem.dataName;
|
|
37463
|
-
// 通过 itemName 匹配数据,而不是通过索引
|
|
37464
|
-
const itemRows = itemDataMap.get(itemName) || [];
|
|
37465
|
-
Object(lodash["each"])(dataItem.channels, (channel, channelIdx) => {
|
|
37466
|
-
const values = new Array();
|
|
37467
|
-
// 每个条目使用自己的时间戳和数据
|
|
37468
|
-
Object(lodash["each"])(itemRows, row => {
|
|
37469
|
-
const value = row.values && row.values[channelIdx] !== undefined ? row.values[channelIdx] : null;
|
|
37470
|
-
values.push({ x: moment(row.time).local().toDate().valueOf(), y: value });
|
|
37471
|
-
});
|
|
37472
|
-
// 只有多个条目时才使用"条目名-通道名"格式,单条目时只显示通道名
|
|
37473
|
-
const displayName = isSingleItem ? channel.name : `${itemName}-${channel.name}`;
|
|
37474
|
-
data.push({ key: displayName, area: channel.projectEnabled, values: values });
|
|
37475
|
-
});
|
|
37380
|
+
data.push({ key: channel.name, area: channel.projectEnabled, values: values });
|
|
37476
37381
|
});
|
|
37477
37382
|
this.data = data;
|
|
37478
37383
|
let chart;
|
|
@@ -37492,22 +37397,8 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
37492
37397
|
.find('.nv-legend')
|
|
37493
37398
|
.find('.nv-series');
|
|
37494
37399
|
let hiddenCount = 0;
|
|
37495
|
-
// 获取所有通道(支持多条目和单条目模式)
|
|
37496
|
-
const allChannels = [];
|
|
37497
|
-
if (this.model.dataSetting.dataItems && this.model.dataSetting.dataItems.length > 0) {
|
|
37498
|
-
// 【新格式】多条目模式:收集所有条目的所有通道
|
|
37499
|
-
Object(lodash["each"])(this.model.dataSetting.dataItems, dataItem => {
|
|
37500
|
-
Object(lodash["each"])(dataItem.channels, channel => {
|
|
37501
|
-
allChannels.push(channel);
|
|
37502
|
-
});
|
|
37503
|
-
});
|
|
37504
|
-
}
|
|
37505
|
-
else {
|
|
37506
|
-
// 【旧格式】单条目模式
|
|
37507
|
-
allChannels.push(...this.model.dataSetting.channels);
|
|
37508
|
-
}
|
|
37509
37400
|
for (let i = 0; i < this.data.length; i++) {
|
|
37510
|
-
const channel =
|
|
37401
|
+
const channel = this.model.dataSetting.channels[i];
|
|
37511
37402
|
if (legendList.eq(i).children().eq(0).css('fill-opacity') === '1') {
|
|
37512
37403
|
const pointList = this.$element
|
|
37513
37404
|
.find('.nv-scatterWrap')
|
|
@@ -37649,21 +37540,7 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
37649
37540
|
}
|
|
37650
37541
|
chart.width(chartWidth);
|
|
37651
37542
|
chart.height(chartHeight);
|
|
37652
|
-
|
|
37653
|
-
let channelColors = [];
|
|
37654
|
-
if (this.model.dataSetting.dataItems && this.model.dataSetting.dataItems.length > 0) {
|
|
37655
|
-
// 【新格式】多条目模式:收集所有条目的所有通道颜色
|
|
37656
|
-
Object(lodash["each"])(this.model.dataSetting.dataItems, dataItem => {
|
|
37657
|
-
Object(lodash["each"])(dataItem.channels, channel => {
|
|
37658
|
-
channelColors.push(channel.connectorColor);
|
|
37659
|
-
});
|
|
37660
|
-
});
|
|
37661
|
-
}
|
|
37662
|
-
else {
|
|
37663
|
-
// 【旧格式】单条目模式
|
|
37664
|
-
channelColors = this.model.dataSetting.channels.map(c => c.connectorColor);
|
|
37665
|
-
}
|
|
37666
|
-
chart.color(channelColors);
|
|
37543
|
+
chart.color(this.model.dataSetting.channels.map(c => c.connectorColor));
|
|
37667
37544
|
this.rootElement.append('g').datum(data).call(chart);
|
|
37668
37545
|
this.rootElement.selectAll('.nv-noData').attr('x', chartWidth / 2).attr('y', chartHeight / 2 + this.displayOption.operationAreaHeight);
|
|
37669
37546
|
this.resizeEventListener = nv_d3["utils"].windowResize(() => {
|
|
@@ -39253,10 +39130,6 @@ class text_element_TextElement extends conditional_dynamic_display_element_Condi
|
|
|
39253
39130
|
* 当设备的语种ID改变时,重新渲染文本
|
|
39254
39131
|
*/
|
|
39255
39132
|
subscribeLanguageChange() {
|
|
39256
|
-
// 只有使用文本库时才需要订阅语种变化
|
|
39257
|
-
if (!this.model.textLibrary || this.model.textLibrary.labelType !== 'textLibrary') {
|
|
39258
|
-
return;
|
|
39259
|
-
}
|
|
39260
39133
|
if (this.guiContext && this.guiContext.languageChanged$) {
|
|
39261
39134
|
this.languageChangeSubscription = this.guiContext.languageChanged$.subscribe(() => {
|
|
39262
39135
|
// 重新渲染文本
|
|
@@ -39279,10 +39152,11 @@ class text_element_TextElement extends conditional_dynamic_display_element_Condi
|
|
|
39279
39152
|
/**
|
|
39280
39153
|
* 获取显示文本
|
|
39281
39154
|
* 如果配置了文本库,则从文本库中获取对应语种的文本
|
|
39155
|
+
* 如果是多语种自定义文本,则根据当前语种ID获取对应语种的文本
|
|
39282
39156
|
* 否则返回默认文本
|
|
39283
39157
|
*/
|
|
39284
39158
|
getDisplayText() {
|
|
39285
|
-
var _a, _b, _c, _d, _e, _f;
|
|
39159
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
39286
39160
|
// 检查是否使用文本库
|
|
39287
39161
|
if (this.model.textLibrary && this.model.textLibrary.labelType === 'textLibrary') {
|
|
39288
39162
|
const textLibraryId = this.model.textLibrary.selectedTextLibraryItem;
|
|
@@ -39326,8 +39200,42 @@ class text_element_TextElement extends conditional_dynamic_display_element_Condi
|
|
|
39326
39200
|
// 文本库配置但未找到数据,返回空字符串
|
|
39327
39201
|
return '';
|
|
39328
39202
|
}
|
|
39329
|
-
//
|
|
39330
|
-
|
|
39203
|
+
// 处理自定义文本(支持多语种)
|
|
39204
|
+
if (this.model.text) {
|
|
39205
|
+
// 检查是否为多语种格式
|
|
39206
|
+
if (typeof this.model.text === 'object' && this.model.text.cultures) {
|
|
39207
|
+
// 新格式:多语种对象
|
|
39208
|
+
// 获取当前语种ID
|
|
39209
|
+
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;
|
|
39210
|
+
// 确定要使用的语种代码(culture)
|
|
39211
|
+
let targetLanguage;
|
|
39212
|
+
const defaultLanguage = ((_k = this.languageService) === null || _k === void 0 ? void 0 : _k.getDefaultLanguage()) || 'zh-CN';
|
|
39213
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
39214
|
+
// 设备未设置当前语种,使用默认语种
|
|
39215
|
+
targetLanguage = defaultLanguage;
|
|
39216
|
+
}
|
|
39217
|
+
else {
|
|
39218
|
+
// 设备已设置当前语种,获取对应的语种代码
|
|
39219
|
+
const currentLanguage = (_m = (_l = this.guiContext) === null || _l === void 0 ? void 0 : _l.getLanguageCultureById) === null || _m === void 0 ? void 0 : _m.call(_l, currentLanguageId);
|
|
39220
|
+
if (currentLanguage) {
|
|
39221
|
+
targetLanguage = currentLanguage;
|
|
39222
|
+
}
|
|
39223
|
+
else {
|
|
39224
|
+
targetLanguage = defaultLanguage;
|
|
39225
|
+
}
|
|
39226
|
+
}
|
|
39227
|
+
// 返回对应语种的文本,如果没有则根据当前语言环境显示默认文本
|
|
39228
|
+
// 获取当前语言环境
|
|
39229
|
+
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';
|
|
39230
|
+
const isChinese = language === 'zh-Hans' || language === 'zh';
|
|
39231
|
+
return this.model.text.cultures[targetLanguage] || (isChinese ? '文本' : 'Text');
|
|
39232
|
+
}
|
|
39233
|
+
else if (typeof this.model.text === 'string') {
|
|
39234
|
+
// 旧格式:字符串
|
|
39235
|
+
return this.model.text;
|
|
39236
|
+
}
|
|
39237
|
+
}
|
|
39238
|
+
return '';
|
|
39331
39239
|
}
|
|
39332
39240
|
handleTextValue() {
|
|
39333
39241
|
const allText = this.$element.find('text');
|
|
@@ -39345,7 +39253,7 @@ class text_element_TextElement extends conditional_dynamic_display_element_Condi
|
|
|
39345
39253
|
// CONCATENATED MODULE: ./.tmp/elements/shared/text/text-state-element.ts
|
|
39346
39254
|
|
|
39347
39255
|
class text_state_element_TextStateElement {
|
|
39348
|
-
constructor(textStates, width, height, logger, version, faultFlickers, textLibrarySetting, textLibraryService, languageService, guiContext) {
|
|
39256
|
+
constructor(textStates, width, height, logger, version, faultFlickers, textLibrarySetting, textLibraryService, languageService, guiContext, allowEmpty = false) {
|
|
39349
39257
|
this.textStates = textStates;
|
|
39350
39258
|
this.width = width;
|
|
39351
39259
|
this.height = height;
|
|
@@ -39356,6 +39264,7 @@ class text_state_element_TextStateElement {
|
|
|
39356
39264
|
this.textLibraryService = textLibraryService;
|
|
39357
39265
|
this.languageService = languageService;
|
|
39358
39266
|
this.guiContext = guiContext;
|
|
39267
|
+
this.allowEmpty = allowEmpty;
|
|
39359
39268
|
this.faultFlickerStatus = false;
|
|
39360
39269
|
this.faultFlickerInterval = undefined;
|
|
39361
39270
|
this._element = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
@@ -39424,10 +39333,6 @@ class text_state_element_TextStateElement {
|
|
|
39424
39333
|
* 当设备的语种ID改变时,重新渲染当前状态的文本
|
|
39425
39334
|
*/
|
|
39426
39335
|
subscribeLanguageChange() {
|
|
39427
|
-
// 只有使用文本库时才需要订阅语种变化
|
|
39428
|
-
if (!this.textLibrarySetting || this.textLibrarySetting.labelType !== 'textLibrary') {
|
|
39429
|
-
return;
|
|
39430
|
-
}
|
|
39431
39336
|
if (this.guiContext && this.guiContext.languageChanged$) {
|
|
39432
39337
|
this.languageChangeSubscription = this.guiContext.languageChanged$.subscribe(() => {
|
|
39433
39338
|
// 如果当前有状态,重新渲染
|
|
@@ -39501,10 +39406,11 @@ class text_state_element_TextStateElement {
|
|
|
39501
39406
|
/**
|
|
39502
39407
|
* 获取显示文本
|
|
39503
39408
|
* 如果配置了文本库,则根据状态ID和当前语种ID从文本库中获取对应语种的文本
|
|
39409
|
+
* 如果是多语种自定义文本,则根据当前语种ID获取对应语种的文本
|
|
39504
39410
|
* 否则返回默认文本
|
|
39505
39411
|
*/
|
|
39506
39412
|
getDisplayText(stateId, defaultContent) {
|
|
39507
|
-
var _a, _b, _c, _d, _e, _f;
|
|
39413
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
39508
39414
|
// 检查是否使用文本库
|
|
39509
39415
|
if (this.textLibrarySetting && this.textLibrarySetting.labelType === 'textLibrary') {
|
|
39510
39416
|
const textLibraryId = this.textLibrarySetting.selectedTextLibraryItem;
|
|
@@ -39545,13 +39451,60 @@ class text_state_element_TextStateElement {
|
|
|
39545
39451
|
return '';
|
|
39546
39452
|
}
|
|
39547
39453
|
}
|
|
39454
|
+
// 文本库中未找到对应的状态ID(可能是"其他"状态)
|
|
39455
|
+
// 继续检查 defaultContent 中是否有多语种数据
|
|
39548
39456
|
}
|
|
39549
39457
|
}
|
|
39550
|
-
//
|
|
39551
|
-
|
|
39458
|
+
// 文本库模式下,如果文本库中没有找到数据,继续尝试从 defaultContent 获取
|
|
39459
|
+
// 这样可以支持"其他"状态的多语种显示
|
|
39460
|
+
}
|
|
39461
|
+
// 处理自定义文本(支持多语种)
|
|
39462
|
+
if (defaultContent) {
|
|
39463
|
+
// 检查是否为多语种格式
|
|
39464
|
+
if (typeof defaultContent === 'object' && defaultContent.cultures) {
|
|
39465
|
+
// 新格式:多语种对象
|
|
39466
|
+
// 获取当前语种ID
|
|
39467
|
+
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;
|
|
39468
|
+
// 确定要使用的语种代码(culture)
|
|
39469
|
+
let targetLanguage;
|
|
39470
|
+
const defaultLanguage = ((_k = this.languageService) === null || _k === void 0 ? void 0 : _k.getDefaultLanguage()) || 'zh-CN';
|
|
39471
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
39472
|
+
// 设备未设置当前语种,使用默认语种
|
|
39473
|
+
targetLanguage = defaultLanguage;
|
|
39474
|
+
}
|
|
39475
|
+
else {
|
|
39476
|
+
// 设备已设置当前语种,获取对应的语种代码
|
|
39477
|
+
const currentLanguage = (_m = (_l = this.guiContext) === null || _l === void 0 ? void 0 : _l.getLanguageCultureById) === null || _m === void 0 ? void 0 : _m.call(_l, currentLanguageId);
|
|
39478
|
+
if (currentLanguage) {
|
|
39479
|
+
targetLanguage = currentLanguage;
|
|
39480
|
+
}
|
|
39481
|
+
else {
|
|
39482
|
+
targetLanguage = defaultLanguage;
|
|
39483
|
+
}
|
|
39484
|
+
}
|
|
39485
|
+
// 返回对应语种的文本
|
|
39486
|
+
// 如果没有对应语种的内容:
|
|
39487
|
+
// - allowEmpty=true(开关指示灯):返回空字符串
|
|
39488
|
+
// - allowEmpty=false(文本元件):返回默认文本
|
|
39489
|
+
if (defaultContent.cultures[targetLanguage]) {
|
|
39490
|
+
return defaultContent.cultures[targetLanguage];
|
|
39491
|
+
}
|
|
39492
|
+
else if (this.allowEmpty) {
|
|
39493
|
+
return '';
|
|
39494
|
+
}
|
|
39495
|
+
else {
|
|
39496
|
+
// 获取当前语言环境,显示默认文本
|
|
39497
|
+
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';
|
|
39498
|
+
const isChinese = language === 'zh-Hans' || language === 'zh';
|
|
39499
|
+
return isChinese ? '文本' : 'Text';
|
|
39500
|
+
}
|
|
39501
|
+
}
|
|
39502
|
+
else if (typeof defaultContent === 'string') {
|
|
39503
|
+
// 旧格式:字符串
|
|
39504
|
+
return defaultContent;
|
|
39505
|
+
}
|
|
39552
39506
|
}
|
|
39553
|
-
|
|
39554
|
-
return defaultContent || '';
|
|
39507
|
+
return '';
|
|
39555
39508
|
}
|
|
39556
39509
|
}
|
|
39557
39510
|
|
|
@@ -40115,7 +40068,7 @@ class switch_indicator_light_element_SwitchIndicatorLightElement extends conditi
|
|
|
40115
40068
|
default:
|
|
40116
40069
|
throw new Error(`Unknown switchType:${settings.type}`);
|
|
40117
40070
|
}
|
|
40118
|
-
this.indicatorLightOperator.currentStateIdChanged.subscribe(statusIdValue => {
|
|
40071
|
+
this.indicatorLightSubscription = this.indicatorLightOperator.currentStateIdChanged.subscribe(statusIdValue => {
|
|
40119
40072
|
this.currentStateIdChange(statusIdValue);
|
|
40120
40073
|
});
|
|
40121
40074
|
this.indicatorLightOperator.requestData(this.signalRAppId);
|
|
@@ -40145,7 +40098,7 @@ class switch_indicator_light_element_SwitchIndicatorLightElement extends conditi
|
|
|
40145
40098
|
this.graphStateElement = new graph_state_element_GraphStateElement(this.model.graphSetting, width, height, this.graphStore, this.logger, this.model.version, this.model.states);
|
|
40146
40099
|
this.$element.append(this.graphStateElement.Element);
|
|
40147
40100
|
}
|
|
40148
|
-
this.textStateElement = new text_state_element_TextStateElement(this.model.states, width, height, this.logger, this.model.version, this.model.states, this.model.textLibrary, this.textLibraryService, this.languageService, this.guiContext);
|
|
40101
|
+
this.textStateElement = new text_state_element_TextStateElement(this.model.states, width, height, this.logger, this.model.version, this.model.states, this.model.textLibrary, this.textLibraryService, this.languageService, this.guiContext, true);
|
|
40149
40102
|
this.$element.append(this.textStateElement.Element);
|
|
40150
40103
|
}
|
|
40151
40104
|
/**
|
|
@@ -40169,6 +40122,19 @@ class switch_indicator_light_element_SwitchIndicatorLightElement extends conditi
|
|
|
40169
40122
|
if (this.onDocMouseUp) {
|
|
40170
40123
|
document.removeEventListener(this.isMobileMode ? 'touchend' : 'mouseup', this.onDocMouseUp);
|
|
40171
40124
|
}
|
|
40125
|
+
// 清理 indicatorLightOperator 订阅
|
|
40126
|
+
if (this.indicatorLightSubscription) {
|
|
40127
|
+
this.indicatorLightSubscription.unsubscribe();
|
|
40128
|
+
}
|
|
40129
|
+
// 清理图形元素(释放 SVG 内存)
|
|
40130
|
+
if (this.graphStateElement) {
|
|
40131
|
+
this.graphStateElement.dispose();
|
|
40132
|
+
}
|
|
40133
|
+
// 清理文本元素
|
|
40134
|
+
if (this.textStateElement) {
|
|
40135
|
+
// TextStateElement 可能也需要 dispose,暂时先清理引用
|
|
40136
|
+
this.textStateElement = null;
|
|
40137
|
+
}
|
|
40172
40138
|
}
|
|
40173
40139
|
checkState() {
|
|
40174
40140
|
if (!this.model.states) {
|
|
@@ -40750,10 +40716,6 @@ class view_operation_element_ViewOperationElement extends conditional_enable_ele
|
|
|
40750
40716
|
* 订阅语种变化事件
|
|
40751
40717
|
*/
|
|
40752
40718
|
subscribeLanguageChange() {
|
|
40753
|
-
// 只有使用文本库时才需要订阅语种变化
|
|
40754
|
-
if (!this.model.textLibrary || this.model.textLibrary.labelType !== 'textLibrary') {
|
|
40755
|
-
return;
|
|
40756
|
-
}
|
|
40757
40719
|
if (this.guiContext && this.guiContext.languageChanged$) {
|
|
40758
40720
|
this.languageChangeSubscription = this.guiContext.languageChanged$.subscribe(() => {
|
|
40759
40721
|
// 更新文本内容
|
|
@@ -40773,7 +40735,7 @@ class view_operation_element_ViewOperationElement extends conditional_enable_ele
|
|
|
40773
40735
|
* 获取显示文本
|
|
40774
40736
|
*/
|
|
40775
40737
|
getDisplayText() {
|
|
40776
|
-
var _a, _b, _c, _d, _e, _f;
|
|
40738
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
40777
40739
|
// 检查是否使用文本库
|
|
40778
40740
|
if (this.model.textLibrary && this.model.textLibrary.labelType === 'textLibrary') {
|
|
40779
40741
|
const textLibraryId = this.model.textLibrary.selectedTextLibraryItem;
|
|
@@ -40817,8 +40779,39 @@ class view_operation_element_ViewOperationElement extends conditional_enable_ele
|
|
|
40817
40779
|
// 文本库配置但未找到数据,返回空字符串
|
|
40818
40780
|
return '';
|
|
40819
40781
|
}
|
|
40820
|
-
//
|
|
40821
|
-
|
|
40782
|
+
// 处理自定义文本(支持多语种)
|
|
40783
|
+
if (this.model.label && this.model.label.content) {
|
|
40784
|
+
// 检查是否为多语种格式
|
|
40785
|
+
if (typeof this.model.label.content === 'object' && this.model.label.content.cultures) {
|
|
40786
|
+
// 新格式:多语种对象
|
|
40787
|
+
// 获取当前语种ID
|
|
40788
|
+
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;
|
|
40789
|
+
// 确定要使用的语种代码(culture)
|
|
40790
|
+
let targetLanguage;
|
|
40791
|
+
const defaultLanguage = ((_k = this.languageService) === null || _k === void 0 ? void 0 : _k.getDefaultLanguage()) || 'zh-CN';
|
|
40792
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
40793
|
+
// 设备未设置当前语种,使用默认语种
|
|
40794
|
+
targetLanguage = defaultLanguage;
|
|
40795
|
+
}
|
|
40796
|
+
else {
|
|
40797
|
+
// 设备已设置当前语种,获取对应的语种代码
|
|
40798
|
+
const currentLanguage = (_m = (_l = this.guiContext) === null || _l === void 0 ? void 0 : _l.getLanguageCultureById) === null || _m === void 0 ? void 0 : _m.call(_l, currentLanguageId);
|
|
40799
|
+
if (currentLanguage) {
|
|
40800
|
+
targetLanguage = currentLanguage;
|
|
40801
|
+
}
|
|
40802
|
+
else {
|
|
40803
|
+
targetLanguage = defaultLanguage;
|
|
40804
|
+
}
|
|
40805
|
+
}
|
|
40806
|
+
// toggle-view 找不到语种内容时默认为空字符串
|
|
40807
|
+
return this.model.label.content.cultures[targetLanguage] || '';
|
|
40808
|
+
}
|
|
40809
|
+
else if (typeof this.model.label.content === 'string') {
|
|
40810
|
+
// 旧格式:字符串
|
|
40811
|
+
return this.model.label.content;
|
|
40812
|
+
}
|
|
40813
|
+
}
|
|
40814
|
+
return '';
|
|
40822
40815
|
}
|
|
40823
40816
|
/**
|
|
40824
40817
|
* 释放资源
|
|
@@ -40943,10 +40936,6 @@ class hyperlink_element_HyperlinkElement extends conditional_dynamic_display_ele
|
|
|
40943
40936
|
* 当设备的语种ID改变时,重新渲染文本
|
|
40944
40937
|
*/
|
|
40945
40938
|
subscribeLanguageChange() {
|
|
40946
|
-
// 只有使用文本库时才需要订阅语种变化
|
|
40947
|
-
if (!this.model.textLibrary || this.model.textLibrary.labelType !== 'textLibrary') {
|
|
40948
|
-
return;
|
|
40949
|
-
}
|
|
40950
40939
|
if (this.guiContext && this.guiContext.languageChanged$) {
|
|
40951
40940
|
this.languageChangeSubscription = this.guiContext.languageChanged$.subscribe(() => {
|
|
40952
40941
|
// 重新渲染文本
|
|
@@ -40997,7 +40986,7 @@ class hyperlink_element_HyperlinkElement extends conditional_dynamic_display_ele
|
|
|
40997
40986
|
* 否则返回默认文本
|
|
40998
40987
|
*/
|
|
40999
40988
|
getDisplayText() {
|
|
41000
|
-
var _a, _b, _c, _d, _e, _f;
|
|
40989
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
41001
40990
|
// 检查是否使用文本库
|
|
41002
40991
|
if (this.model.textLibrary && this.model.textLibrary.labelType === 'textLibrary') {
|
|
41003
40992
|
const textLibraryId = this.model.textLibrary.selectedTextLibraryItem;
|
|
@@ -41041,8 +41030,42 @@ class hyperlink_element_HyperlinkElement extends conditional_dynamic_display_ele
|
|
|
41041
41030
|
// 文本库配置但未找到数据,返回空字符串
|
|
41042
41031
|
return '';
|
|
41043
41032
|
}
|
|
41044
|
-
//
|
|
41045
|
-
|
|
41033
|
+
// 处理自定义文本(支持多语种)
|
|
41034
|
+
if (this.model.text) {
|
|
41035
|
+
// 检查是否为多语种格式
|
|
41036
|
+
if (typeof this.model.text === 'object' && this.model.text.cultures) {
|
|
41037
|
+
// 新格式:多语种对象
|
|
41038
|
+
// 获取当前语种ID
|
|
41039
|
+
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;
|
|
41040
|
+
// 确定要使用的语种代码(culture)
|
|
41041
|
+
let targetLanguage;
|
|
41042
|
+
const defaultLanguage = ((_k = this.languageService) === null || _k === void 0 ? void 0 : _k.getDefaultLanguage()) || 'zh-CN';
|
|
41043
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
41044
|
+
// 设备未设置当前语种,使用默认语种
|
|
41045
|
+
targetLanguage = defaultLanguage;
|
|
41046
|
+
}
|
|
41047
|
+
else {
|
|
41048
|
+
// 设备已设置当前语种,获取对应的语种代码
|
|
41049
|
+
const currentLanguage = (_m = (_l = this.guiContext) === null || _l === void 0 ? void 0 : _l.getLanguageCultureById) === null || _m === void 0 ? void 0 : _m.call(_l, currentLanguageId);
|
|
41050
|
+
if (currentLanguage) {
|
|
41051
|
+
targetLanguage = currentLanguage;
|
|
41052
|
+
}
|
|
41053
|
+
else {
|
|
41054
|
+
targetLanguage = defaultLanguage;
|
|
41055
|
+
}
|
|
41056
|
+
}
|
|
41057
|
+
// 返回对应语种的文本,如果没有则根据当前语言环境显示默认文本
|
|
41058
|
+
// 获取当前语言环境
|
|
41059
|
+
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';
|
|
41060
|
+
const isChinese = language === 'zh-Hans' || language === 'zh';
|
|
41061
|
+
return this.model.text.cultures[targetLanguage] || (isChinese ? '超链接' : 'Hyperlink');
|
|
41062
|
+
}
|
|
41063
|
+
else if (typeof this.model.text === 'string') {
|
|
41064
|
+
// 旧格式:字符串
|
|
41065
|
+
return this.model.text;
|
|
41066
|
+
}
|
|
41067
|
+
}
|
|
41068
|
+
return '';
|
|
41046
41069
|
}
|
|
41047
41070
|
}
|
|
41048
41071
|
|
|
@@ -43311,7 +43334,7 @@ class main_element_MainElement {
|
|
|
43311
43334
|
Object(lodash["each"])(this.elements, e => {
|
|
43312
43335
|
if (e instanceof historical_curve_element_HistoricalCurveElement || e instanceof video_element_VideoElement
|
|
43313
43336
|
|| e instanceof weater_element_WeatherElement || e instanceof numerical_display_element_NumericalDisplayElement || e instanceof text_element_TextElement
|
|
43314
|
-
|| e instanceof air_quality_element_AirQualityElement || e instanceof scroll_alarm_element_ScrollAlarmElement) {
|
|
43337
|
+
|| e instanceof air_quality_element_AirQualityElement || e instanceof switch_indicator_light_element_SwitchIndicatorLightElement || e instanceof scroll_alarm_element_ScrollAlarmElement) {
|
|
43315
43338
|
e.dispose();
|
|
43316
43339
|
}
|
|
43317
43340
|
});
|
|
@@ -86613,23 +86636,21 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
86613
86636
|
|
|
86614
86637
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GraphStore", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["h"]; });
|
|
86615
86638
|
|
|
86616
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewStore", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["
|
|
86617
|
-
|
|
86618
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewModel", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["p"]; });
|
|
86639
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewStore", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["p"]; });
|
|
86619
86640
|
|
|
86620
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
86641
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewModel", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["o"]; });
|
|
86621
86642
|
|
|
86622
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
86643
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ImageStore", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["m"]; });
|
|
86623
86644
|
|
|
86624
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
86645
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HistoryDataStore", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["k"]; });
|
|
86625
86646
|
|
|
86626
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
86647
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HistoryDataModel", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["j"]; });
|
|
86627
86648
|
|
|
86628
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HistoryDataValue", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["
|
|
86649
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HistoryDataValue", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["l"]; });
|
|
86629
86650
|
|
|
86630
86651
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GetHistoryDataArgs", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["d"]; });
|
|
86631
86652
|
|
|
86632
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VariableStore", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["
|
|
86653
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VariableStore", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["n"]; });
|
|
86633
86654
|
|
|
86634
86655
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GetVariableNameArgs", function() { return _config__WEBPACK_IMPORTED_MODULE_4__["e"]; });
|
|
86635
86656
|
|
|
@@ -86649,7 +86670,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
86649
86670
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VariableStateEnum", function() { return _communication__WEBPACK_IMPORTED_MODULE_5__["d"]; });
|
|
86650
86671
|
|
|
86651
86672
|
/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
|
|
86652
|
-
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _model__WEBPACK_IMPORTED_MODULE_6__) if(["GuiComponent","GuiView","GuiContext","GuiModule","LOGGER_SERVICE_TOKEN","LoggerService","ConsoleLoggerService","StringifyingMap","ConfigStore","Graph","GraphResult","GraphType","GraphStore","ViewStore","ViewModel","ImageStore","HistoryDataStore","HistoryDataModel","
|
|
86673
|
+
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _model__WEBPACK_IMPORTED_MODULE_6__) if(["GuiComponent","GuiView","GuiContext","GuiModule","LOGGER_SERVICE_TOKEN","LoggerService","ConsoleLoggerService","StringifyingMap","ConfigStore","Graph","GraphResult","GraphType","GraphStore","ViewStore","ViewModel","ImageStore","HistoryDataStore","HistoryDataModel","HistoryDataValue","GetHistoryDataArgs","VariableStore","GetVariableNameArgs","AlarmsStore","GetAlarmsArgs","VariableCommunicator","VariableValue","VariableState","VariableDefinition","VariableStateEnum","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _model__WEBPACK_IMPORTED_MODULE_6__[key]; }) }(__WEBPACK_IMPORT_KEY__));
|
|
86653
86674
|
/* harmony import */ var _localization__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9);
|
|
86654
86675
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Localization", function() { return _localization__WEBPACK_IMPORTED_MODULE_7__["c"]; });
|
|
86655
86676
|
|
|
@@ -86706,7 +86727,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
86706
86727
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RemoteVariableProtocol", function() { return _remote__WEBPACK_IMPORTED_MODULE_11__["k"]; });
|
|
86707
86728
|
|
|
86708
86729
|
/* harmony import */ var _service__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(14);
|
|
86709
|
-
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _service__WEBPACK_IMPORTED_MODULE_12__) if(["GuiComponent","GuiView","GuiContext","GuiModule","LOGGER_SERVICE_TOKEN","LoggerService","ConsoleLoggerService","StringifyingMap","ConfigStore","Graph","GraphResult","GraphType","GraphStore","ViewStore","ViewModel","ImageStore","HistoryDataStore","HistoryDataModel","
|
|
86730
|
+
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _service__WEBPACK_IMPORTED_MODULE_12__) if(["GuiComponent","GuiView","GuiContext","GuiModule","LOGGER_SERVICE_TOKEN","LoggerService","ConsoleLoggerService","StringifyingMap","ConfigStore","Graph","GraphResult","GraphType","GraphStore","ViewStore","ViewModel","ImageStore","HistoryDataStore","HistoryDataModel","HistoryDataValue","GetHistoryDataArgs","VariableStore","GetVariableNameArgs","AlarmsStore","GetAlarmsArgs","VariableCommunicator","VariableValue","VariableState","VariableDefinition","VariableStateEnum","Localization","LOCALIZATION","DefaultLocalization","Localization_zh_CN","SecurityChecker","Disposable","ConfigIsEmptyError","OperationHelper","GuiConsts","GraphExtendedStyle","GetReleasedGraphStateResult","GraphStateResult","GetReleasedGraphStates","GraphStateKey","GraphState","RemoteGraphProtocol","RemoteGraphStore","RemoteViewProtocol","RemoteViewStore","ViewResult","RemoteImageProtocol","RemoteImageStore","RemoteVariableCommunicator","RemoteVariableProtocol","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _service__WEBPACK_IMPORTED_MODULE_12__[key]; }) }(__WEBPACK_IMPORT_KEY__));
|
|
86710
86731
|
/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(7);
|
|
86711
86732
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LOGGER_SERVICE_TOKEN", function() { return _logger__WEBPACK_IMPORTED_MODULE_13__["b"]; });
|
|
86712
86733
|
|