@flexem/fc-gui 3.0.0-alpha.97 → 3.0.0-alpha.99
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/CHANGELOG.md +32 -1
- package/bundles/@flexem/fc-gui.umd.js +102 -13
- package/bundles/@flexem/fc-gui.umd.js.map +1 -1
- package/bundles/@flexem/fc-gui.umd.min.js +4 -4
- package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
- package/elements/alarm/alarm-element.js +4 -6
- package/elements/historical-curve/historical-curve.element.d.ts +3 -0
- package/elements/historical-curve/historical-curve.element.js +80 -5
- package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
- package/elements/video/video-element.js +6 -1
- package/modal/write-value/write-value-modal.component.js +12 -1
- package/model/historical-curve/historical-curve-chanel.model.d.ts +8 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -410,7 +410,38 @@
|
|
|
410
410
|
2. 修复在鸿蒙系统的手机上,视频元件的控制按钮显示异常的问题
|
|
411
411
|
3. 修复ios系统中视频放大缩小后,画面会变形的问题
|
|
412
412
|
|
|
413
|
+
## 3.0.0-alpha.92(2023-07-18)
|
|
414
|
+
### Web端
|
|
415
|
+
#### Features
|
|
416
|
+
1. FLEXCLOUD-2710 【氚云20230621000600】组态历史曲线表:历史曲线增加点位标记,便于直观看到曲线采样点的变化
|
|
417
|
+
|
|
418
|
+
## 3.0.0-alpha.93(2023-07-21)
|
|
419
|
+
### Web端
|
|
420
|
+
#### Features
|
|
421
|
+
1. FLEXCLOUD-2741 【氚云20230714001409】模板的模拟功能,无法进行写值,一直提示提交中
|
|
422
|
+
|
|
423
|
+
## 3.0.0-alpha.94(2023-07-21)
|
|
424
|
+
### Web端
|
|
425
|
+
#### Features
|
|
426
|
+
1. FLEXCLOUD-2710 【氚云20230621000600】组态历史曲线表:历史曲线增加点位标记,便于直观看到曲线采样点的变化
|
|
427
|
+
- 修改标记点大小
|
|
428
|
+
|
|
429
|
+
## 3.0.0-alpha.96(2023-09-26)
|
|
430
|
+
### Web端
|
|
431
|
+
#### Bug Fix
|
|
432
|
+
1. FLEXCLOUD-2864 2018年创建的模板组态写值失败(在补丁包v2.22.0-Hotfix5中使用,其它分支不要用)
|
|
433
|
+
|
|
413
434
|
## 3.0.0-alpha.97(2023-09-26)
|
|
414
435
|
### Web端
|
|
415
436
|
#### Bug Fix
|
|
416
|
-
1. FLEXCLOUD-2864 2018年创建的模板组态写值失败(给APP补丁包v2.8.0中使用)
|
|
437
|
+
1. FLEXCLOUD-2864 2018年创建的模板组态写值失败(给APP补丁包v2.8.0中使用)
|
|
438
|
+
|
|
439
|
+
## 3.0.0-alpha.98(2023-09-26)
|
|
440
|
+
### Web端
|
|
441
|
+
#### Bug Fix
|
|
442
|
+
1. FLEXCLOUD-2864 2018年创建的模板组态写值失败(在开发分支上使用)
|
|
443
|
+
|
|
444
|
+
## 3.0.0-alpha.99(2023-11-27)
|
|
445
|
+
### Web端
|
|
446
|
+
#### Features
|
|
447
|
+
1. FLEXCLOUD-2885 设备模板—组态设计—告警表/历史曲线表,分页、时间选择背景为透明
|
|
@@ -36357,6 +36357,7 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
36357
36357
|
operationButtonMargin: 4
|
|
36358
36358
|
};
|
|
36359
36359
|
this.elementStatus = HistoricalCurveElementStatus.Loading;
|
|
36360
|
+
this.data = [];
|
|
36360
36361
|
this.logger = injector.get(logger["b" /* LOGGER_SERVICE_TOKEN */]);
|
|
36361
36362
|
this.localization = injector.get(_tmp_localization["b" /* LOCALIZATION */]);
|
|
36362
36363
|
this.timePeriods = this.getValidTimePeriods();
|
|
@@ -36468,6 +36469,7 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
36468
36469
|
Object(lodash["each"])(result, v => values.push({ x: moment(v.time).local().toDate().valueOf(), y: v.values[key] }));
|
|
36469
36470
|
data.push({ key: channel.name, area: channel.projectEnabled, values: values });
|
|
36470
36471
|
});
|
|
36472
|
+
this.data = data;
|
|
36471
36473
|
nv_d3["addGraph"](() => {
|
|
36472
36474
|
if (this.model.displaySetting.curveType === CurveType.BarGroup || this.model.displaySetting.curveType === CurveType.BarStack) {
|
|
36473
36475
|
return this.getMultiBarWithFocusChart(chartWidth, chartHeight, data);
|
|
@@ -36477,6 +36479,50 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
36477
36479
|
}
|
|
36478
36480
|
});
|
|
36479
36481
|
}
|
|
36482
|
+
initPoint() {
|
|
36483
|
+
try {
|
|
36484
|
+
const legendList = this.$element
|
|
36485
|
+
.find('.nv-legend')
|
|
36486
|
+
.find('.nv-series');
|
|
36487
|
+
let hiddenCount = 0;
|
|
36488
|
+
for (let i = 0; i < this.data.length; i++) {
|
|
36489
|
+
const channel = this.model.dataSetting.channels[i];
|
|
36490
|
+
if (legendList.eq(i).children().eq(0).css('fill-opacity') === '1') {
|
|
36491
|
+
const pointList = this.$element
|
|
36492
|
+
.find('.nv-scatterWrap')
|
|
36493
|
+
.find('.nv-series-' + (i - hiddenCount))
|
|
36494
|
+
.find('.nv-point');
|
|
36495
|
+
if (pointList && pointList.length) {
|
|
36496
|
+
for (let j = 0; j < pointList.length; j++) {
|
|
36497
|
+
const point = pointList.eq(j);
|
|
36498
|
+
const previousPoint = pointList.eq(j - 1);
|
|
36499
|
+
if (j && point.attr('transform').split(',')[1] !== previousPoint.attr('transform').split(',')[1]) {
|
|
36500
|
+
if (channel.enablePoint && channel.pointColor) {
|
|
36501
|
+
const pointStyle = {
|
|
36502
|
+
'stroke-opacity': 1,
|
|
36503
|
+
'stroke-width': '2px',
|
|
36504
|
+
'stroke': channel.pointColor,
|
|
36505
|
+
'fill-opacity': 1,
|
|
36506
|
+
'fill': channel.pointColor
|
|
36507
|
+
};
|
|
36508
|
+
point.addClass('nv-mark-point');
|
|
36509
|
+
point.css(pointStyle);
|
|
36510
|
+
previousPoint.addClass('nv-mark-point');
|
|
36511
|
+
previousPoint.css(pointStyle);
|
|
36512
|
+
}
|
|
36513
|
+
}
|
|
36514
|
+
}
|
|
36515
|
+
}
|
|
36516
|
+
}
|
|
36517
|
+
else {
|
|
36518
|
+
hiddenCount++;
|
|
36519
|
+
}
|
|
36520
|
+
}
|
|
36521
|
+
}
|
|
36522
|
+
catch (e) {
|
|
36523
|
+
console.log(e);
|
|
36524
|
+
}
|
|
36525
|
+
}
|
|
36480
36526
|
getLineChart(chartWidth, chartHeight, data) {
|
|
36481
36527
|
const chart = nv_d3["models"].lineChart().showLegend(true)
|
|
36482
36528
|
.margin({ top: 0, bottom: 0, left: this.displayOption.marginLeft, right: this.displayOption.marginRight })
|
|
@@ -36492,6 +36538,19 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
36492
36538
|
}
|
|
36493
36539
|
this.renderCommonProperty(chart, chartWidth, chartHeight, data);
|
|
36494
36540
|
this.renderOperationArea(chartWidth, chartHeight);
|
|
36541
|
+
this.initPoint();
|
|
36542
|
+
chart.legend.dispatch.on('legendClick', () => {
|
|
36543
|
+
setTimeout(() => {
|
|
36544
|
+
this.$element.find('.nv-mark-point').css({
|
|
36545
|
+
'stroke-opacity': 0,
|
|
36546
|
+
'stroke-width': 0,
|
|
36547
|
+
'stroke': 'unset',
|
|
36548
|
+
'fill-opacity': 0,
|
|
36549
|
+
'fill': 'unset'
|
|
36550
|
+
}).removeClass('nv-mark-point');
|
|
36551
|
+
this.initPoint();
|
|
36552
|
+
}, 1);
|
|
36553
|
+
});
|
|
36495
36554
|
return chart;
|
|
36496
36555
|
}
|
|
36497
36556
|
getMultiBarWithFocusChart(chartWidth, chartHeight, data) {
|
|
@@ -36535,6 +36594,18 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
36535
36594
|
chart.tooltip.headerFormatter(d => this.timeFormat(d, '%x %X'));
|
|
36536
36595
|
if (this.model.displaySetting.showAxis) {
|
|
36537
36596
|
chart.xAxis.showMaxMin(true).tickFormat(d => {
|
|
36597
|
+
this.$element.find('.nv-mark-point').css({
|
|
36598
|
+
'stroke-opacity': 0,
|
|
36599
|
+
'stroke-width': 0,
|
|
36600
|
+
'stroke': 'unset',
|
|
36601
|
+
'fill-opacity': 0,
|
|
36602
|
+
'fill': 'unset'
|
|
36603
|
+
}).removeClass('nv-mark-point');
|
|
36604
|
+
clearTimeout(this.timer);
|
|
36605
|
+
this.timer = undefined;
|
|
36606
|
+
this.timer = setTimeout(() => {
|
|
36607
|
+
this.initPoint();
|
|
36608
|
+
}, 100);
|
|
36538
36609
|
if (this.currentTimePeriod === 3 || this.currentTimePeriod === 4 || this.currentTimePeriod === 5) {
|
|
36539
36610
|
return this.timeFormat(d, '%y-%m-%d');
|
|
36540
36611
|
}
|
|
@@ -36669,27 +36740,31 @@ class historical_curve_element_HistoricalCurveElement extends conditional_displa
|
|
|
36669
36740
|
.append('foreignObject').attr('width', chartWidth).attr('height', this.displayOption.operationAreaHeight).attr('fill', 'none')
|
|
36670
36741
|
.append('xhtml:div').style('height', (this.displayOption.operationAreaHeight - 4) + 'px').style('overflow', 'hidden').style('margin-top', '4px');
|
|
36671
36742
|
const selectElement = operationArea.append('select').style('margin-left', this.displayOption.marginLeft + 'px')
|
|
36743
|
+
.style('background-color', 'inherit')
|
|
36672
36744
|
.style('font-size', this.displayOption.operationSelectFontSize).on('change', () => {
|
|
36673
36745
|
const displayTimePeriod = this.rootElement.select('select').property('value');
|
|
36674
36746
|
this.updateTimeRange(displayTimePeriod);
|
|
36675
36747
|
this.reRenderElement(this.startTime, this.endTime, this.displayOption.dataLimit, HistoricalCurveTimeRange.BeginOpenEndOpen);
|
|
36676
36748
|
});
|
|
36749
|
+
const rect = this.$element.parent().parent().find('rect');
|
|
36750
|
+
const fillColor = rect.attr('fill');
|
|
36677
36751
|
const options = selectElement.selectAll('option').data(this.timePeriods).enter().append('option');
|
|
36678
|
-
options.text(d => d.name).attr('value', d => d.key).property('selected', d => d.key === Number(this.currentTimePeriod))
|
|
36752
|
+
options.text(d => d.name).attr('value', d => d.key).property('selected', d => d.key === Number(this.currentTimePeriod))
|
|
36753
|
+
.style('background-color', fillColor);
|
|
36679
36754
|
const buttonWidth = this.displayOption.operationButtonWidth + 'px', buttonHeight = this.displayOption.operationButtonHeight + 'px';
|
|
36680
36755
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
36681
|
-
.style('float', 'right').style('background
|
|
36756
|
+
.style('float', 'right').style('background-image', 'url(assets/img/last_page.svg)')
|
|
36682
36757
|
.on('click', () => { this.loadLastPage(); });
|
|
36683
36758
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
36684
|
-
.style('float', 'right').style('background
|
|
36759
|
+
.style('float', 'right').style('background-image', 'url(assets/img/next_page.svg)')
|
|
36685
36760
|
.style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
|
|
36686
36761
|
.on('click', () => { this.loadNextPage(); });
|
|
36687
36762
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
36688
|
-
.style('float', 'right').style('background
|
|
36763
|
+
.style('float', 'right').style('background-image', 'url(assets/img/previous_page.svg)')
|
|
36689
36764
|
.style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
|
|
36690
36765
|
.on('click', () => { this.loadPreviousPage(); });
|
|
36691
36766
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
36692
|
-
.style('float', 'right').style('background
|
|
36767
|
+
.style('float', 'right').style('background-image', 'url(assets/img/first_page.svg)')
|
|
36693
36768
|
.style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
|
|
36694
36769
|
.on('click', () => { this.loadFirstPage(); });
|
|
36695
36770
|
}
|
|
@@ -39576,7 +39651,12 @@ class video_element_VideoElement extends conditional_display_element_Conditional
|
|
|
39576
39651
|
else if (isIos) {
|
|
39577
39652
|
this.setIosVideo(this.videoUrl, videoId);
|
|
39578
39653
|
}
|
|
39579
|
-
|
|
39654
|
+
try {
|
|
39655
|
+
this.videoPlayer = new EZUIPlayer(videoId);
|
|
39656
|
+
}
|
|
39657
|
+
catch (err) {
|
|
39658
|
+
console.log(err);
|
|
39659
|
+
}
|
|
39580
39660
|
}, 1000);
|
|
39581
39661
|
const style = document.createElement('style');
|
|
39582
39662
|
style.innerHTML = `#${videoId}::-webkit-media-controls-enclosure {
|
|
@@ -40260,7 +40340,6 @@ class alarm_element_AlarmElement extends conditional_display_element_Conditional
|
|
|
40260
40340
|
}
|
|
40261
40341
|
fontString += this.model.generalSetting.headerFont.fontSize + ' ' + this.model.generalSetting.headerFont.fontFamily;
|
|
40262
40342
|
tr.style.cssText = `height: ${this.model.heights[0]}px;
|
|
40263
|
-
background: ${this.model.generalSetting.headerFillColor};
|
|
40264
40343
|
color: ${this.model.generalSetting.headerFont.color};
|
|
40265
40344
|
font: ${fontString};
|
|
40266
40345
|
text-align: ${this.model.generalSetting.headerFont.textAlign};
|
|
@@ -40280,7 +40359,6 @@ class alarm_element_AlarmElement extends conditional_display_element_Conditional
|
|
|
40280
40359
|
for (let row = 0; row < this.pageSize; row++) {
|
|
40281
40360
|
tr = document.createElement('tr');
|
|
40282
40361
|
tr.style.cssText = `height: ${this.model.heights[row + 1]}px;
|
|
40283
|
-
background: ${this.model.generalSetting.tableFillColor};
|
|
40284
40362
|
font: ${this.model.generalSetting.fontStyle};
|
|
40285
40363
|
color: ${this.model.generalSetting.fontColor};
|
|
40286
40364
|
text-align: ${this.model.generalSetting.textAlign};
|
|
@@ -40360,18 +40438,18 @@ class alarm_element_AlarmElement extends conditional_display_element_Conditional
|
|
|
40360
40438
|
}
|
|
40361
40439
|
const buttonWidth = this.displayOption.operationButtonWidth + 'px', buttonHeight = this.displayOption.operationButtonHeight + 'px';
|
|
40362
40440
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
40363
|
-
.style('float', 'right').style('background
|
|
40441
|
+
.style('float', 'right').style('background-image', 'url(assets/img/last_page.svg)')
|
|
40364
40442
|
.on('click', () => { this.loadLastPage(); });
|
|
40365
40443
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
40366
|
-
.style('float', 'right').style('background
|
|
40444
|
+
.style('float', 'right').style('background-image', 'url(assets/img/next_page.svg)')
|
|
40367
40445
|
.style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
|
|
40368
40446
|
.on('click', () => { this.loadNextPage(); });
|
|
40369
40447
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
40370
|
-
.style('float', 'right').style('background
|
|
40448
|
+
.style('float', 'right').style('background-image', 'url(assets/img/previous_page.svg)')
|
|
40371
40449
|
.style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
|
|
40372
40450
|
.on('click', () => { this.loadPreviousPage(); });
|
|
40373
40451
|
operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
|
|
40374
|
-
.style('float', 'right').style('background
|
|
40452
|
+
.style('float', 'right').style('background-image', 'url(assets/img/first_page.svg)')
|
|
40375
40453
|
.style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
|
|
40376
40454
|
.on('click', () => { this.loadFirstPage(); });
|
|
40377
40455
|
this.setStatusAsNormal();
|
|
@@ -41715,13 +41793,24 @@ let WriteValueModalComponent = class WriteValueModalComponent {
|
|
|
41715
41793
|
value = this.formatWriteValue();
|
|
41716
41794
|
}
|
|
41717
41795
|
}
|
|
41796
|
+
if (!this.args.releasedVariableService) {
|
|
41797
|
+
this.onClosed({
|
|
41798
|
+
value: value,
|
|
41799
|
+
showValue: showValue,
|
|
41800
|
+
enableNumericalOperation: false,
|
|
41801
|
+
isNumericalOperation: this.isNumericalOperation,
|
|
41802
|
+
variableRwType: 6
|
|
41803
|
+
});
|
|
41804
|
+
return;
|
|
41805
|
+
}
|
|
41718
41806
|
this.args.releasedVariableService.getVariableWithValueTransform(this.variableName).subscribe(result => {
|
|
41719
41807
|
const valueTransform = JSON.parse(result.valueTransform);
|
|
41720
41808
|
if ((valueTransform === null || valueTransform === void 0 ? void 0 : valueTransform.Type) !== 0) {
|
|
41721
41809
|
this.isNumericalOperation = true;
|
|
41722
41810
|
}
|
|
41723
41811
|
this.onClosed({
|
|
41724
|
-
value
|
|
41812
|
+
value: value,
|
|
41813
|
+
showValue: showValue,
|
|
41725
41814
|
enableNumericalOperation: this.enableNumericalOperation,
|
|
41726
41815
|
isNumericalOperation: this.isNumericalOperation,
|
|
41727
41816
|
variableRwType: result.variableRwType
|