@flexem/fc-gui 3.0.0-alpha.19 → 3.0.0-alpha.190
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 +413 -0
- package/assets/img/black_first_page.png +0 -0
- package/assets/img/black_last_page.png +0 -0
- package/assets/img/black_next_page.png +0 -0
- package/assets/img/black_previous_page.png +0 -0
- package/assets/img/exclamation-outline-circle.png +0 -0
- package/bundles/@flexem/fc-gui.umd.js +37817 -32408
- package/bundles/@flexem/fc-gui.umd.js.map +1 -1
- package/bundles/@flexem/fc-gui.umd.min.js +5 -5
- package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
- package/communication/variable/variable-communicator.d.ts +5 -0
- package/communication/variable/variable-state-enum.d.ts +1 -0
- package/communication/variable/variable-state-enum.js +1 -0
- package/communication/variable/variable-state-enum.metadata.json +1 -1
- package/communication/variable/variable-value.d.ts +4 -1
- package/communication/variable/variable-value.js +4 -1
- package/communication/variable/variable-value.metadata.json +1 -1
- package/config/alarm/alarm.store.d.ts +6 -0
- package/config/alarm/alarm.store.js +0 -0
- package/config/alarm/alarm.store.metadata.json +1 -0
- package/config/alarm/get-alarms-args.d.ts +12 -0
- package/config/alarm/get-alarms-args.js +13 -0
- package/config/alarm/get-alarms-args.metadata.json +1 -0
- package/config/alarm/index.d.ts +2 -0
- package/config/alarm/index.js +1 -0
- package/config/alarm/index.metadata.json +1 -0
- package/config/config-store.d.ts +2 -0
- package/config/gui-feature-config.d.ts +3 -0
- package/config/gui-feature-config.js +3 -0
- package/config/gui-feature-config.metadata.json +1 -0
- package/config/index.d.ts +2 -0
- package/config/index.js +2 -0
- package/config/index.metadata.json +1 -1
- package/config/variable/variable-store.d.ts +5 -0
- package/elements/air-quality/air-quality-element.js +3 -4
- package/elements/alarm/alarm-element.d.ts +106 -0
- package/elements/alarm/alarm-element.js +836 -0
- package/elements/alarm/alarm-element.metadata.json +1 -0
- package/elements/alarm/alarm-table-scrollbar.d.ts +35 -0
- package/elements/alarm/alarm-table-scrollbar.js +170 -0
- package/elements/alarm/alarm-table-scrollbar.metadata.json +1 -0
- package/elements/bar-graph-element.d.ts +10 -2
- package/elements/bar-graph-element.js +135 -5
- package/elements/bar-graph-element.metadata.json +1 -1
- package/elements/base/readable-element.d.ts +6 -1
- package/elements/base/readable-element.js +69 -2
- package/elements/base/readable-element.metadata.json +1 -1
- package/elements/base/state-control-element.d.ts +13 -1
- package/elements/base/state-control-element.js +42 -8
- package/elements/base/state-control-element.metadata.json +1 -1
- package/elements/character-display/character-display-element.d.ts +12 -2
- package/elements/character-display/character-display-element.js +35 -7
- package/elements/character-display/character-display-element.metadata.json +1 -1
- package/elements/datetime-display/datetime-display-element.d.ts +1 -0
- package/elements/datetime-display/datetime-display-element.js +10 -2
- package/elements/datetime-display/datetime-display-element.metadata.json +1 -1
- package/elements/datetime-display/time-zone-select-json.d.ts +8 -0
- package/elements/datetime-display/time-zone-select-json.js +558 -0
- package/elements/historical-curve/historical-curve.element.d.ts +45 -3
- package/elements/historical-curve/historical-curve.element.js +707 -45
- package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
- package/elements/main-element.d.ts +1 -0
- package/elements/main-element.js +72 -10
- package/elements/main-element.metadata.json +1 -1
- package/elements/meter-element.d.ts +7 -1
- package/elements/meter-element.js +76 -7
- package/elements/meter-element.metadata.json +1 -1
- package/elements/numerical-display/numerical-display-element.d.ts +31 -3
- package/elements/numerical-display/numerical-display-element.js +166 -15
- package/elements/numerical-display/numerical-display-element.metadata.json +1 -1
- package/elements/per-view-variable-communicator.d.ts +4 -0
- package/elements/per-view-variable-communicator.js +21 -1
- package/elements/per-view-variable-communicator.metadata.json +1 -1
- package/elements/ring-graph/ring-graph-element.d.ts +13 -1
- package/elements/ring-graph/ring-graph-element.js +164 -3
- package/elements/ring-graph/ring-graph-element.metadata.json +1 -1
- package/elements/scroll-alarm/scroll-alarm-element.d.ts +79 -0
- package/elements/scroll-alarm/scroll-alarm-element.js +845 -0
- package/elements/scroll-alarm/scroll-alarm-element.metadata.json +1 -0
- 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-element.d.ts +14 -0
- package/elements/shared/text/text-element.js +38 -6
- package/elements/shared/text/text-element.metadata.json +1 -1
- package/elements/shared/text/text-state-element.d.ts +39 -2
- package/elements/shared/text/text-state-element.js +242 -67
- package/elements/shared/text/text-state-element.metadata.json +1 -1
- package/elements/static-elements/hyperlink-element.d.ts +28 -2
- package/elements/static-elements/hyperlink-element.js +153 -4
- package/elements/static-elements/hyperlink-element.metadata.json +1 -1
- package/elements/static-elements/text-element.d.ts +28 -2
- package/elements/static-elements/text-element.js +162 -12
- package/elements/static-elements/text-element.metadata.json +1 -1
- package/elements/switch-indicator-light/bit-indicator-light-operator.d.ts +1 -0
- package/elements/switch-indicator-light/bit-indicator-light-operator.js +10 -3
- package/elements/switch-indicator-light/bit-indicator-light-operator.metadata.json +1 -1
- package/elements/switch-indicator-light/switch-indicator-light-element.d.ts +20 -2
- package/elements/switch-indicator-light/switch-indicator-light-element.js +92 -15
- package/elements/switch-indicator-light/switch-indicator-light-element.metadata.json +1 -1
- package/elements/switch-indicator-light/word-indicator-light-operator.d.ts +1 -0
- package/elements/switch-indicator-light/word-indicator-light-operator.js +10 -3
- package/elements/switch-indicator-light/word-indicator-light-operator.metadata.json +1 -1
- package/elements/video/video-element.d.ts +10 -0
- package/elements/video/video-element.js +139 -21
- package/elements/video/video-element.metadata.json +1 -1
- package/elements/view-operation/view-operation.element.d.ts +28 -2
- package/elements/view-operation/view-operation.element.js +172 -8
- package/elements/view-operation/view-operation.element.metadata.json +1 -1
- package/elements/weather/weater-element.js +0 -1
- package/gui/gui-context.d.ts +25 -2
- package/gui/gui-host.d.ts +1 -1
- package/gui/gui-view.d.ts +19 -2
- package/gui/gui-view.js +147 -12
- package/gui/gui-view.metadata.json +1 -1
- package/gui/gui.component.d.ts +3 -0
- package/gui/gui.component.js +15 -2
- package/gui/gui.component.metadata.json +1 -1
- package/localization/localization.service.d.ts +11 -0
- package/localization/localization.service.js +16 -5
- package/localization/localization.service.metadata.json +1 -1
- package/localization/localization.service.zh_CN.js +12 -1
- package/localization/localization.service.zh_CN.metadata.json +1 -1
- package/modal/alert/alert-modal.component.js +1 -1
- package/modal/alert/alert-modal.component.less +13 -5
- package/modal/alert/alert-modal.component.metadata.json +1 -1
- package/modal/confirm-operation/confirm-operation-modal.component.html +2 -2
- package/modal/confirm-operation/confirm-operation-modal.component.js +2 -2
- package/modal/confirm-operation/confirm-operation-modal.component.less +10 -7
- package/modal/confirm-operation/confirm-operation-modal.component.metadata.json +1 -1
- package/modal/verify-password/verify-password-modal.component.d.ts +6 -2
- package/modal/verify-password/verify-password-modal.component.html +2 -2
- package/modal/verify-password/verify-password-modal.component.js +11 -5
- package/modal/verify-password/verify-password-modal.component.less +9 -0
- package/modal/verify-password/verify-password-modal.component.metadata.json +1 -1
- package/modal/write-character/write-character-modal-args.d.ts +3 -1
- package/modal/write-character/write-character-modal-args.js +2 -1
- package/modal/write-character/write-character-modal-args.metadata.json +1 -1
- package/modal/write-character/write-character-modal.component.d.ts +4 -2
- package/modal/write-character/write-character-modal.component.html +4 -4
- package/modal/write-character/write-character-modal.component.js +11 -5
- package/modal/write-character/write-character-modal.component.less +15 -0
- package/modal/write-character/write-character-modal.component.metadata.json +1 -1
- package/modal/write-value/write-value-modal-args.d.ts +5 -1
- package/modal/write-value/write-value-modal-args.js +3 -1
- package/modal/write-value/write-value-modal-args.metadata.json +1 -1
- package/modal/write-value/write-value-modal.component.d.ts +16 -8
- package/modal/write-value/write-value-modal.component.html +10 -5
- package/modal/write-value/write-value-modal.component.js +103 -21
- package/modal/write-value/write-value-modal.component.less +16 -1
- package/modal/write-value/write-value-modal.component.metadata.json +1 -1
- package/model/alarm/alarm.model.d.ts +14 -0
- package/model/alarm/alarm.model.js +0 -0
- package/model/alarm/alarm.model.metadata.json +1 -0
- package/model/bar-graph/bar-graph.d.ts +4 -0
- package/model/base/font-setting-model.d.ts +22 -1
- package/model/base/font-setting-model.metadata.json +1 -1
- package/model/base/readable-model.d.ts +4 -0
- package/model/character-display/character-display.d.ts +1 -0
- package/model/datetime-display/datetime-display.d.ts +1 -0
- package/model/historical-curve/historical-curve-axis-settings.d.ts +11 -0
- package/model/historical-curve/historical-curve-axis-settings.js +5 -0
- package/model/historical-curve/historical-curve-axis-settings.metadata.json +1 -1
- package/model/historical-curve/historical-curve-chanel.model.d.ts +8 -0
- package/model/historical-curve/historical-curve.display-settings.d.ts +1 -0
- package/model/meter/meter.d.ts +4 -0
- package/model/numerical-display/numerical-display.d.ts +1 -0
- package/model/numerical-display/numerical-operation.d.ts +10 -2
- package/model/ring-graph/ring-graph.model.d.ts +8 -0
- package/model/scroll-alarm/scroll-alarm.model.d.ts +21 -0
- package/model/scroll-alarm/scroll-alarm.model.js +0 -0
- package/model/scroll-alarm/scroll-alarm.model.metadata.json +1 -0
- package/model/settings/popup/view-popup-location-type.d.ts +2 -1
- package/model/settings/popup/view-popup-location-type.js +1 -0
- package/model/settings/popup/view-popup-location-type.metadata.json +1 -1
- package/model/shared/state/state.d.ts +1 -0
- package/model/shared/state/state.js +1 -0
- package/model/shared/state/state.metadata.json +1 -1
- package/model/shared/text/font.d.ts +1 -1
- package/model/shared/text/text.d.ts +3 -0
- package/model/switch-indicator-light/switch-indicator-light.d.ts +3 -0
- package/model/view-operation/view-operation-element.model.d.ts +7 -1
- package/package.json +1 -1
- package/public_api.js +1 -0
- package/remote/communication/variable/remote-variable-communicator.d.ts +30 -0
- package/remote/communication/variable/remote-variable-communicator.js +193 -3
- package/remote/communication/variable/remote-variable-communicator.metadata.json +1 -1
- package/remote/communication/variable/remote-variable-protocol.d.ts +8 -0
- package/service/index.d.ts +4 -0
- package/service/index.js +1 -0
- package/service/index.metadata.json +1 -1
- package/service/language.service.d.ts +37 -0
- package/service/language.service.js +0 -0
- package/service/language.service.metadata.json +1 -0
- package/service/released-variable/index.d.ts +1 -0
- package/service/released-variable/index.js +0 -0
- package/service/released-variable/index.metadata.json +1 -0
- package/service/released-variable/released-variable.service.d.ts +4 -0
- package/service/released-variable/released-variable.service.js +0 -0
- package/service/released-variable/released-variable.service.metadata.json +1 -0
- package/service/system-text-library.service.d.ts +77 -0
- package/service/system-text-library.service.js +29 -0
- package/service/system-text-library.service.metadata.json +1 -0
- package/service/text-library.service.d.ts +49 -0
- package/service/text-library.service.js +0 -0
- package/service/text-library.service.metadata.json +1 -0
- package/shared/gui-consts.d.ts +2 -0
- package/shared/gui-consts.js +3 -1
- package/shared/gui-consts.metadata.json +1 -1
- package/utils/data-type/fbox-data-type.service.js +40 -0
- package/utils/numerical-operation.service.js +28 -4
- package/view/popup-view.service.d.ts +1 -1
|
@@ -9,6 +9,13 @@ export class StateControlElement extends ConditionalDynamicDisplayElement {
|
|
|
9
9
|
this.isEnable = true;
|
|
10
10
|
this.elementStates = [];
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* 子类可覆盖此方法提供元件当前大小和初始大小,用于状态图标缩放计算
|
|
14
|
+
* @returns {{ width: number, height: number, initWidth?: number, initHeight?: number }}
|
|
15
|
+
*/
|
|
16
|
+
getElementSizeForIconScale() {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
12
19
|
initState() {
|
|
13
20
|
if (!this.elementStates.length) {
|
|
14
21
|
return;
|
|
@@ -65,26 +72,34 @@ export class StateControlElement extends ConditionalDynamicDisplayElement {
|
|
|
65
72
|
case VariableStateEnum.Abnormal:
|
|
66
73
|
currentState = State.Abnormal;
|
|
67
74
|
break;
|
|
75
|
+
case VariableStateEnum.InvalidMonitor:
|
|
76
|
+
currentState = State.InvalidMonitor;
|
|
77
|
+
break;
|
|
68
78
|
}
|
|
69
79
|
return currentState;
|
|
70
80
|
}
|
|
71
81
|
changeState(state) {
|
|
72
82
|
switch (state) {
|
|
83
|
+
case State.InvalidMonitor:
|
|
84
|
+
this.state = State.InvalidMonitor;
|
|
85
|
+
break;
|
|
73
86
|
case State.Unbind:
|
|
74
|
-
this.state
|
|
87
|
+
if (this.state !== State.InvalidMonitor) {
|
|
88
|
+
this.state = State.Unbind;
|
|
89
|
+
}
|
|
75
90
|
break;
|
|
76
91
|
case State.Offline:
|
|
77
|
-
if (this.state !== State.Unbind) {
|
|
92
|
+
if (this.state !== State.Unbind && this.state !== State.InvalidMonitor) {
|
|
78
93
|
this.state = State.Offline;
|
|
79
94
|
}
|
|
80
95
|
break;
|
|
81
96
|
case State.Loading:
|
|
82
|
-
if (this.state !== State.Unbind && this.state !== State.Offline) {
|
|
97
|
+
if (this.state !== State.Unbind && this.state !== State.Offline && this.state !== State.InvalidMonitor) {
|
|
83
98
|
this.state = State.Loading;
|
|
84
99
|
}
|
|
85
100
|
break;
|
|
86
101
|
case State.Abnormal:
|
|
87
|
-
if (this.state !== State.Unbind && this.state !== State.Offline && this.state !== State.Loading) {
|
|
102
|
+
if (this.state !== State.Unbind && this.state !== State.Offline && this.state !== State.Loading && this.state !== State.InvalidMonitor) {
|
|
88
103
|
this.state = State.Abnormal;
|
|
89
104
|
}
|
|
90
105
|
break;
|
|
@@ -123,9 +138,14 @@ export class StateControlElement extends ConditionalDynamicDisplayElement {
|
|
|
123
138
|
title = this.localization.disable;
|
|
124
139
|
stroke = '#ff4444';
|
|
125
140
|
break;
|
|
141
|
+
case State.InvalidMonitor:
|
|
142
|
+
url = 'assets/img/abnormal.svg';
|
|
143
|
+
title = this.localization.invalidMonitor;
|
|
144
|
+
stroke = '#f6a520';
|
|
145
|
+
break;
|
|
126
146
|
default:
|
|
127
147
|
url = 'assets/img/loading.svg';
|
|
128
|
-
title = this.localization.
|
|
148
|
+
title = this.localization.variableChanged;
|
|
129
149
|
stroke = '#226abc';
|
|
130
150
|
break;
|
|
131
151
|
}
|
|
@@ -139,11 +159,25 @@ export class StateControlElement extends ConditionalDynamicDisplayElement {
|
|
|
139
159
|
if (!this.currentRect.length) {
|
|
140
160
|
return;
|
|
141
161
|
}
|
|
162
|
+
// 元件绑定设备状态或当前语种ID时不需要在右上角显示状态
|
|
163
|
+
if (this.$element[0].dataset.model.includes('设备状态') || this.$element[0].dataset.model.includes('当前语种ID'))
|
|
164
|
+
return;
|
|
142
165
|
const document = this.$element[0].ownerDocument;
|
|
143
166
|
const imgObj = document.createElementNS('http://www.w3.org/2000/svg', 'image');
|
|
144
167
|
if (imgObj) {
|
|
145
168
|
const currentRectElement = this.currentRect[0];
|
|
146
|
-
|
|
169
|
+
// 计算图标缩放比例
|
|
170
|
+
const baseIconSize = 20;
|
|
171
|
+
let iconSize = baseIconSize;
|
|
172
|
+
const sizeInfo = this.getElementSizeForIconScale();
|
|
173
|
+
if (sizeInfo && sizeInfo.initWidth && sizeInfo.initHeight) {
|
|
174
|
+
const scaleX = sizeInfo.width / sizeInfo.initWidth;
|
|
175
|
+
const scaleY = sizeInfo.height / sizeInfo.initHeight;
|
|
176
|
+
// 取较小值,避免图标超出元件边界
|
|
177
|
+
const scale = Math.min(scaleX, scaleY);
|
|
178
|
+
iconSize = baseIconSize * scale;
|
|
179
|
+
}
|
|
180
|
+
let x = Number(currentRectElement.getAttribute('width')) - iconSize;
|
|
147
181
|
const currentRectX = currentRectElement.getAttribute('x');
|
|
148
182
|
if (currentRectX !== null) {
|
|
149
183
|
x += Number(currentRectX);
|
|
@@ -154,8 +188,8 @@ export class StateControlElement extends ConditionalDynamicDisplayElement {
|
|
|
154
188
|
imgObj.setAttributeNS(null, 'id', 'StateImage');
|
|
155
189
|
imgObj.setAttributeNS(null, 'x', x.toString());
|
|
156
190
|
imgObj.setAttributeNS(null, 'y', '0');
|
|
157
|
-
imgObj.setAttributeNS(null, 'height', '
|
|
158
|
-
imgObj.setAttributeNS(null, 'width', '
|
|
191
|
+
imgObj.setAttributeNS(null, 'height', iconSize + 'px');
|
|
192
|
+
imgObj.setAttributeNS(null, 'width', iconSize + 'px');
|
|
159
193
|
const titleElement = document.createElementNS('http://www.w3.org/2000/svg', 'title');
|
|
160
194
|
const text = document.createTextNode(title);
|
|
161
195
|
titleElement.appendChild(text);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"StateControlElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":8,"character":50},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":16,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":16,"character":98},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":17,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":17,"character":71},{"__symbolic":"reference","name":"string"}]}],"initState":[{"__symbolic":"method"}],"updateElementStates":[{"__symbolic":"method"}],"addElementState":[{"__symbolic":"method"}],"changeStates":[{"__symbolic":"method"}],"getState":[{"__symbolic":"method"}],"changeState":[{"__symbolic":"method"}],"loadStateData":[{"__symbolic":"method"}],"setState":[{"__symbolic":"method"}],"clearTip":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"StateControlElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":8,"character":50},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":16,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":16,"character":98},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":17,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":17,"character":71},{"__symbolic":"reference","name":"string"}]}],"getElementSizeForIconScale":[{"__symbolic":"method"}],"initState":[{"__symbolic":"method"}],"updateElementStates":[{"__symbolic":"method"}],"addElementState":[{"__symbolic":"method"}],"changeStates":[{"__symbolic":"method"}],"getState":[{"__symbolic":"method"}],"changeState":[{"__symbolic":"method"}],"loadStateData":[{"__symbolic":"method"}],"setState":[{"__symbolic":"method"}],"clearTip":[{"__symbolic":"method"}]}}}}]
|
|
@@ -4,7 +4,7 @@ import { VariableCommunicator } from '../../communication';
|
|
|
4
4
|
import { GraphStore, VariableStore } from '../../config';
|
|
5
5
|
import { Localization } from '../../localization';
|
|
6
6
|
import { CharacterDisplay } from '../../model';
|
|
7
|
-
import { OperationRecordService, PermissionChecker } from '../../service';
|
|
7
|
+
import { OperationRecordService, PermissionChecker, ReleasedVariableService } from '../../service';
|
|
8
8
|
import { ReadableElement } from '../base/readable-element';
|
|
9
9
|
import { SecurityChecker } from '../../security';
|
|
10
10
|
export declare class CharacterDisplayElement extends ReadableElement {
|
|
@@ -12,12 +12,13 @@ export declare class CharacterDisplayElement extends ReadableElement {
|
|
|
12
12
|
private readonly graphStore;
|
|
13
13
|
private readonly operationRecordService;
|
|
14
14
|
private readonly securityChecker;
|
|
15
|
+
private readonly releasedVariableService?;
|
|
15
16
|
protected readonly model: CharacterDisplay;
|
|
16
17
|
private readonly accessPermissionService;
|
|
17
18
|
private displayValue;
|
|
18
19
|
private graphs;
|
|
19
20
|
private readonly logger;
|
|
20
|
-
constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, variableStore: VariableStore, localization: Localization, signalRAppId: string);
|
|
21
|
+
constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, variableStore: VariableStore, localization: Localization, signalRAppId: string, releasedVariableService?: ReleasedVariableService);
|
|
21
22
|
get readVariableName(): string;
|
|
22
23
|
get writeVariableName(): string;
|
|
23
24
|
protected updateVariableValue(value: string): void;
|
|
@@ -32,4 +33,13 @@ export declare class CharacterDisplayElement extends ReadableElement {
|
|
|
32
33
|
private doWriteCharacterValue;
|
|
33
34
|
private recordOperation;
|
|
34
35
|
private changeGraph;
|
|
36
|
+
/**
|
|
37
|
+
* 提供元件尺寸信息用于状态图标缩放
|
|
38
|
+
*/
|
|
39
|
+
protected getElementSizeForIconScale(): {
|
|
40
|
+
width: number;
|
|
41
|
+
height: number;
|
|
42
|
+
initWidth?: number;
|
|
43
|
+
initHeight?: number;
|
|
44
|
+
} | null;
|
|
35
45
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GraphType } from '../../config';
|
|
2
|
+
import { GuiFeatureConfig } from '../../config';
|
|
2
3
|
import { LOGGER_SERVICE_TOKEN } from '../../logger';
|
|
3
4
|
import { AlertModalComponent } from '../../modal/alert/alert-modal.component';
|
|
4
5
|
import { ConfirmOperationModalComponent } from '../../modal/confirm-operation/confirm-operation-modal.component';
|
|
@@ -11,12 +12,13 @@ import { VerifyPasswordModalComponent } from '../../modal/verify-password/verify
|
|
|
11
12
|
import { VariableUtil } from '../../utils/variable-util';
|
|
12
13
|
import { TextElementModal } from '../shared/text/text-element';
|
|
13
14
|
export class CharacterDisplayElement extends ReadableElement {
|
|
14
|
-
constructor(element, injector, modalService, variableCommunicator, graphStore, permissionChecker, operationRecordService, securityChecker, variableStore, localization, signalRAppId) {
|
|
15
|
+
constructor(element, injector, modalService, variableCommunicator, graphStore, permissionChecker, operationRecordService, securityChecker, variableStore, localization, signalRAppId, releasedVariableService) {
|
|
15
16
|
super(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId);
|
|
16
17
|
this.modalService = modalService;
|
|
17
18
|
this.graphStore = graphStore;
|
|
18
19
|
this.operationRecordService = operationRecordService;
|
|
19
20
|
this.securityChecker = securityChecker;
|
|
21
|
+
this.releasedVariableService = releasedVariableService;
|
|
20
22
|
this.displayValue = '';
|
|
21
23
|
this.graphs = new Map();
|
|
22
24
|
this.logger = injector.get(LOGGER_SERVICE_TOKEN);
|
|
@@ -67,7 +69,7 @@ export class CharacterDisplayElement extends ReadableElement {
|
|
|
67
69
|
}
|
|
68
70
|
changeStates() {
|
|
69
71
|
super.changeStates();
|
|
70
|
-
if (this.state === State.Normal || this.state === State.Disable) {
|
|
72
|
+
if (this.state === State.Normal || this.state === State.Disable || (GuiFeatureConfig.isOfflineDisplayEnabled && this.state === State.Offline)) {
|
|
71
73
|
this.updateDisplayValue(this.displayValue);
|
|
72
74
|
}
|
|
73
75
|
else {
|
|
@@ -220,7 +222,7 @@ export class CharacterDisplayElement extends ReadableElement {
|
|
|
220
222
|
}
|
|
221
223
|
if (!this.isEnable) {
|
|
222
224
|
const message = !this.isGrantedPermission ? this.localization.permissiontip : this.localization.conditionIsNotMetTip;
|
|
223
|
-
const modalRef = this.modalService.show(AlertModalComponent, { initialState: { alermMessage: message }, backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
|
|
225
|
+
const modalRef = this.modalService.show(AlertModalComponent, { initialState: { alermMessage: message }, backdrop: 'static', class: 'gui-modal-dialog-position gui-modal-dialog-tip', animated: false });
|
|
224
226
|
const onClosedSub = modalRef.content.onClosed.subscribe(() => {
|
|
225
227
|
modalRef.hide();
|
|
226
228
|
onClosedSub.unsubscribe();
|
|
@@ -229,7 +231,7 @@ export class CharacterDisplayElement extends ReadableElement {
|
|
|
229
231
|
}
|
|
230
232
|
if (this.model.useSecurity) {
|
|
231
233
|
const modalRef = this.modalService.show(ConfirmOperationModalComponent, {
|
|
232
|
-
backdrop: 'static', class: 'gui-modal-dialog-position', animated: false
|
|
234
|
+
backdrop: 'static', class: 'gui-modal-dialog-position gui-modal-dialog-tip', animated: false
|
|
233
235
|
});
|
|
234
236
|
const onClosedSub = modalRef.content.onClosed.subscribe(result => {
|
|
235
237
|
modalRef.hide();
|
|
@@ -246,7 +248,10 @@ export class CharacterDisplayElement extends ReadableElement {
|
|
|
246
248
|
}
|
|
247
249
|
checkElementPassword() {
|
|
248
250
|
if (this.model.enablePassword) {
|
|
249
|
-
const modalRef = this.modalService.show(VerifyPasswordModalComponent, {
|
|
251
|
+
const modalRef = this.modalService.show(VerifyPasswordModalComponent, {
|
|
252
|
+
initialState: { securityChecker: this.securityChecker, releasedVariableService: this.releasedVariableService },
|
|
253
|
+
backdrop: 'static', class: 'gui-modal-dialog-position', animated: false
|
|
254
|
+
});
|
|
250
255
|
const onClosedSub = modalRef.content.onClosed.subscribe(result => {
|
|
251
256
|
modalRef.hide();
|
|
252
257
|
onClosedSub.unsubscribe();
|
|
@@ -263,9 +268,17 @@ export class CharacterDisplayElement extends ReadableElement {
|
|
|
263
268
|
if (null == this.writeVariableName) {
|
|
264
269
|
return;
|
|
265
270
|
}
|
|
266
|
-
|
|
271
|
+
// 优先使用接口返回的实时字符长度,如果获取不到则使用页面配置中的长度
|
|
272
|
+
let charCount = this.model.charCount;
|
|
273
|
+
if (this.variableStore.getCharCountByVariableName) {
|
|
274
|
+
const runtimeCharCount = this.variableStore.getCharCountByVariableName(this.writeVariableName);
|
|
275
|
+
if (runtimeCharCount !== undefined) {
|
|
276
|
+
charCount = runtimeCharCount;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
const args = new WriteCharacterModalArgs(this.writeVariableName, this.model.isPassword, charCount, this.displayValue, this.releasedVariableService);
|
|
267
280
|
const modalRef = this.modalService.show(WriteCharacterModalComponent, {
|
|
268
|
-
initialState: { args: args }, backdrop: 'static', class: 'gui-modal-dialog-position', animated: false
|
|
281
|
+
initialState: { args: args }, backdrop: 'static', class: 'gui-modal-dialog-position gui-modal-write', animated: false
|
|
269
282
|
});
|
|
270
283
|
const onClosedSub = modalRef.content.onClosed.subscribe(result => {
|
|
271
284
|
modalRef.hide();
|
|
@@ -308,4 +321,19 @@ export class CharacterDisplayElement extends ReadableElement {
|
|
|
308
321
|
this.rootElement.select('image').attr('xlink:href', null);
|
|
309
322
|
}
|
|
310
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* 提供元件尺寸信息用于状态图标缩放
|
|
326
|
+
*/
|
|
327
|
+
getElementSizeForIconScale() {
|
|
328
|
+
var _a, _b;
|
|
329
|
+
if (this.model.size) {
|
|
330
|
+
return {
|
|
331
|
+
width: this.model.size.width,
|
|
332
|
+
height: this.model.size.height,
|
|
333
|
+
initWidth: (_a = this.model.initSize) === null || _a === void 0 ? void 0 : _a.width,
|
|
334
|
+
initHeight: (_b = this.model.initSize) === null || _b === void 0 ? void 0 : _b.height
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
311
339
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"CharacterDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/readable-element","name":"ReadableElement","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"CharacterDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/readable-element","name":"ReadableElement","line":20,"character":45},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":29,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":29,"character":48},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":30,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":31,"character":30},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":32,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":33,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":34,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":35,"character":42},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":36,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":37,"character":22},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"ReleasedVariableService","line":39,"character":51}]}],"updateVariableValue":[{"__symbolic":"method"}],"changeStates":[{"__symbolic":"method"}],"updateDisplayValue":[{"__symbolic":"method"}],"getVariableValueText":[{"__symbolic":"method"}],"characterDisplayText":[{"__symbolic":"method"}],"initElement":[{"__symbolic":"method"}],"initVariableText":[{"__symbolic":"method"}],"initClickEvent":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"doWriteCharacterValue":[{"__symbolic":"method"}],"recordOperation":[{"__symbolic":"method"}],"changeGraph":[{"__symbolic":"method"}],"getElementSizeForIconScale":[{"__symbolic":"method"}]}}}}]
|
|
@@ -13,6 +13,7 @@ export declare class DatetimeDisplayElement extends ConditionalDisplayElement {
|
|
|
13
13
|
protected readonly model: DatetimeDisplay;
|
|
14
14
|
protected readonly logger: LoggerService;
|
|
15
15
|
private readonly $dateTimeText;
|
|
16
|
+
private timeZoneMap;
|
|
16
17
|
constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, graphStore: GraphStore, signalRAppId: string);
|
|
17
18
|
private getAndSetCurrentTime;
|
|
18
19
|
private getDatetimeFormat;
|
|
@@ -5,6 +5,7 @@ import { TimeFormatType } from '../../model/datetime-display/time-format-type';
|
|
|
5
5
|
import { ConditionalDisplayElement } from '../base/conditional-display-element';
|
|
6
6
|
import { GraphStateElement } from '../shared/graph/graph-state-element';
|
|
7
7
|
import { LOGGER_SERVICE_TOKEN } from '../../logger';
|
|
8
|
+
import timeZoneOptions from './time-zone-select-json';
|
|
8
9
|
export class DatetimeDisplayElement extends ConditionalDisplayElement {
|
|
9
10
|
constructor(element, injector, permissionChecker, variableCommunicator, variableStore, graphStore, signalRAppId) {
|
|
10
11
|
super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
|
|
@@ -12,7 +13,12 @@ export class DatetimeDisplayElement extends ConditionalDisplayElement {
|
|
|
12
13
|
this.variableCommunicator = variableCommunicator;
|
|
13
14
|
this.variableStore = variableStore;
|
|
14
15
|
this.graphStore = graphStore;
|
|
16
|
+
this.timeZoneMap = new Map();
|
|
15
17
|
this.logger = injector.get(LOGGER_SERVICE_TOKEN);
|
|
18
|
+
// 初始化时区
|
|
19
|
+
timeZoneOptions.forEach((item) => {
|
|
20
|
+
this.timeZoneMap.set(item.key, item.utcoffset);
|
|
21
|
+
});
|
|
16
22
|
if (this.model.size && this.model.useGraph) {
|
|
17
23
|
this.initGraph(this.model.size.width, this.model.size.height);
|
|
18
24
|
}
|
|
@@ -22,11 +28,13 @@ export class DatetimeDisplayElement extends ConditionalDisplayElement {
|
|
|
22
28
|
this.getAndSetCurrentTime(format);
|
|
23
29
|
setInterval(() => {
|
|
24
30
|
this.getAndSetCurrentTime(format);
|
|
25
|
-
},
|
|
31
|
+
}, 100);
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
getAndSetCurrentTime(format) {
|
|
29
|
-
|
|
35
|
+
var _a;
|
|
36
|
+
const currentTimeZone = this.timeZoneMap.get((_a = this.model.timeZone) !== null && _a !== void 0 ? _a : '');
|
|
37
|
+
const content = moment().utcOffset(currentTimeZone !== null && currentTimeZone !== void 0 ? currentTimeZone : this.timeZoneMap.get('')).format(format);
|
|
30
38
|
this.$dateTimeText.text(content);
|
|
31
39
|
let fontF = this.$dateTimeText.css('font-family');
|
|
32
40
|
if (fontF && fontF.lastIndexOf('msyh') === -1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"DatetimeDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-display-element","name":"ConditionalDisplayElement","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"DatetimeDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-display-element","name":"ConditionalDisplayElement","line":15,"character":44},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":24,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":24,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":25,"character":46},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":26,"character":49},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":27,"character":42},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":28,"character":37},{"__symbolic":"reference","name":"string"}]}],"getAndSetCurrentTime":[{"__symbolic":"method"}],"getDatetimeFormat":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}],"getFormat":[{"__symbolic":"method"}]}}}}]
|