@flexem/fc-gui 3.0.0-alpha.3 → 3.0.0-alpha.30
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 +131 -0
- package/bundles/@flexem/fc-gui.umd.js +2230 -1278
- 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 +2 -2
- package/elements/air-quality/air-quality-element.d.ts +31 -0
- package/elements/air-quality/air-quality-element.js +195 -0
- package/elements/air-quality/air-quality-element.metadata.json +1 -0
- package/elements/bar-graph-element.d.ts +8 -2
- package/elements/bar-graph-element.js +72 -6
- package/elements/bar-graph-element.metadata.json +1 -1
- package/elements/base/base-element.d.ts +2 -1
- package/elements/base/base-element.js +2 -1
- package/elements/base/base-element.metadata.json +1 -1
- package/elements/base/conditional-control-element.d.ts +1 -1
- package/elements/base/conditional-control-element.js +3 -3
- package/elements/base/conditional-control-element.metadata.json +1 -1
- package/elements/base/conditional-display-element.d.ts +1 -1
- package/elements/base/conditional-display-element.js +4 -4
- package/elements/base/conditional-display-element.metadata.json +1 -1
- package/elements/base/conditional-dynamic-display-element.d.ts +1 -1
- package/elements/base/conditional-dynamic-display-element.js +3 -3
- package/elements/base/conditional-dynamic-display-element.metadata.json +1 -1
- package/elements/base/conditional-enable-element.d.ts +1 -1
- package/elements/base/conditional-enable-element.js +4 -4
- package/elements/base/conditional-enable-element.metadata.json +1 -1
- package/elements/base/readable-element.d.ts +7 -2
- package/elements/base/readable-element.js +33 -4
- package/elements/base/readable-element.metadata.json +1 -1
- package/elements/base/state-control-element.d.ts +1 -1
- package/elements/base/state-control-element.js +2 -2
- package/elements/base/state-control-element.metadata.json +1 -1
- package/elements/character-display/character-display-element.d.ts +1 -1
- package/elements/character-display/character-display-element.js +2 -2
- package/elements/character-display/character-display-element.metadata.json +1 -1
- package/elements/datetime-display/datetime-display-element.d.ts +1 -1
- package/elements/datetime-display/datetime-display-element.js +2 -2
- package/elements/datetime-display/datetime-display-element.metadata.json +1 -1
- package/elements/historical-curve/historical-curve.element.d.ts +1 -1
- package/elements/historical-curve/historical-curve.element.js +10 -10
- package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
- package/elements/main-element.d.ts +2 -1
- package/elements/main-element.js +44 -26
- package/elements/main-element.metadata.json +1 -1
- package/elements/meter-element.d.ts +8 -2
- package/elements/meter-element.js +78 -9
- package/elements/meter-element.metadata.json +1 -1
- package/elements/numerical-display/numerical-display-element.d.ts +2 -1
- package/elements/numerical-display/numerical-display-element.js +14 -5
- package/elements/numerical-display/numerical-display-element.metadata.json +1 -1
- package/elements/per-view-variable-communicator.d.ts +2 -2
- package/elements/per-view-variable-communicator.js +4 -4
- package/elements/pipe/pipe-element.d.ts +1 -1
- package/elements/pipe/pipe-element.js +2 -2
- package/elements/pipe/pipe-element.metadata.json +1 -1
- package/elements/ring-graph/ring-graph-element.d.ts +11 -2
- package/elements/ring-graph/ring-graph-element.js +99 -5
- package/elements/ring-graph/ring-graph-element.metadata.json +1 -1
- package/elements/shared/graph/graph-state-element.js +0 -3
- package/elements/shared/text/text-element.js +13 -2
- package/elements/shared/text/text-state-element.js +1 -1
- package/elements/static-elements/hyperlink-element.d.ts +1 -1
- package/elements/static-elements/hyperlink-element.js +2 -2
- package/elements/static-elements/hyperlink-element.metadata.json +1 -1
- package/elements/static-elements/image-element.d.ts +1 -1
- package/elements/static-elements/image-element.js +2 -2
- package/elements/static-elements/image-element.metadata.json +1 -1
- package/elements/static-elements/text-element.d.ts +1 -1
- package/elements/static-elements/text-element.js +2 -2
- package/elements/static-elements/text-element.metadata.json +1 -1
- package/elements/switch-indicator-light/bit-indicator-light-operator.d.ts +1 -1
- package/elements/switch-indicator-light/bit-indicator-light-operator.js +4 -4
- package/elements/switch-indicator-light/bit-switch-operator.d.ts +3 -1
- package/elements/switch-indicator-light/bit-switch-operator.js +22 -2
- package/elements/switch-indicator-light/bit-switch-operator.metadata.json +1 -1
- package/elements/switch-indicator-light/indicator-light-operator.d.ts +1 -1
- package/elements/switch-indicator-light/switch-indicator-light-element.d.ts +9 -1
- package/elements/switch-indicator-light/switch-indicator-light-element.js +97 -28
- package/elements/switch-indicator-light/switch-indicator-light-element.metadata.json +1 -1
- package/elements/switch-indicator-light/switch-operator.d.ts +1 -0
- package/elements/switch-indicator-light/word-indicator-light-operator.d.ts +1 -1
- package/elements/switch-indicator-light/word-indicator-light-operator.js +5 -5
- package/elements/switch-indicator-light/word-switch-operator.d.ts +3 -1
- package/elements/switch-indicator-light/word-switch-operator.js +9 -2
- package/elements/switch-indicator-light/word-switch-operator.metadata.json +1 -1
- package/elements/table/table-element.d.ts +1 -1
- package/elements/table/table-element.js +2 -2
- package/elements/table/table-element.metadata.json +1 -1
- package/elements/vector-graphics/ellipse-element.d.ts +1 -1
- package/elements/vector-graphics/ellipse-element.js +2 -2
- package/elements/vector-graphics/ellipse-element.metadata.json +1 -1
- package/elements/vector-graphics/poly-line-element.d.ts +1 -1
- package/elements/vector-graphics/poly-line-element.js +2 -2
- package/elements/vector-graphics/poly-line-element.metadata.json +1 -1
- package/elements/vector-graphics/polygon-element.d.ts +1 -1
- package/elements/vector-graphics/polygon-element.js +2 -2
- package/elements/vector-graphics/polygon-element.metadata.json +1 -1
- package/elements/vector-graphics/rectangle-element.d.ts +1 -1
- package/elements/vector-graphics/rectangle-element.js +2 -2
- package/elements/vector-graphics/rectangle-element.metadata.json +1 -1
- package/elements/vector-graphics/sector-element.d.ts +1 -1
- package/elements/vector-graphics/sector-element.js +2 -2
- package/elements/vector-graphics/sector-element.metadata.json +1 -1
- package/elements/vector-graphics/straight-line-element.d.ts +1 -1
- package/elements/vector-graphics/straight-line-element.js +2 -2
- package/elements/vector-graphics/straight-line-element.metadata.json +1 -1
- package/elements/video/video-element.d.ts +1 -1
- package/elements/video/video-element.js +2 -2
- package/elements/video/video-element.metadata.json +1 -1
- package/elements/view-operation/view-operation.element.d.ts +1 -1
- package/elements/view-operation/view-operation.element.js +2 -2
- package/elements/view-operation/view-operation.element.metadata.json +1 -1
- package/elements/weather/weater-element.d.ts +1 -1
- package/elements/weather/weater-element.js +2 -2
- package/elements/weather/weater-element.metadata.json +1 -1
- package/gui/gui-host.js +1 -1
- package/gui/gui-view.d.ts +1 -0
- package/gui/gui-view.js +3 -2
- package/gui/gui-view.metadata.json +1 -1
- package/localization/localization.service.d.ts +5 -0
- package/localization/localization.service.js +6 -1
- package/localization/localization.service.metadata.json +1 -1
- package/localization/localization.service.zh_CN.js +6 -1
- package/localization/localization.service.zh_CN.metadata.json +1 -1
- package/modal/write-value/write-value-modal-args.d.ts +3 -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 +2 -0
- package/modal/write-value/write-value-modal.component.js +24 -12
- package/modal/write-value/write-value-modal.component.metadata.json +1 -1
- package/model/air-quality/air-quality-info.d.ts +23 -0
- package/model/air-quality/air-quality-info.js +4 -0
- package/model/air-quality/air-quality-info.metadata.json +1 -0
- package/model/air-quality/air-quality.model.d.ts +7 -0
- package/model/air-quality/air-quality.model.js +0 -0
- package/model/air-quality/air-quality.model.metadata.json +1 -0
- package/model/bar-graph/bar-graph.d.ts +4 -0
- package/model/base/readable-model.d.ts +4 -0
- package/model/meter/meter.d.ts +4 -0
- package/model/numerical-display/numerical-display.d.ts +2 -0
- package/model/ring-graph/ring-graph.model.d.ts +8 -0
- package/model/shared/condition/bit-condition-item-observer.d.ts +1 -1
- package/model/shared/condition/bit-condition-item-observer.js +4 -4
- package/model/shared/condition/condition-items-result-observer.d.ts +1 -1
- package/model/shared/condition/condition-items-result-observer.js +22 -12
- package/model/shared/condition/condition-items-result-observer.metadata.json +1 -1
- package/model/shared/condition/convert-condition-model.d.ts +5 -0
- package/model/shared/condition/convert-condition-model.js +0 -0
- package/model/shared/condition/convert-condition-model.metadata.json +1 -0
- package/model/shared/condition/relation-condition-result.d.ts +2 -1
- package/model/shared/condition/relation-condition-result.js +2 -1
- package/model/shared/condition/relation-condition-result.metadata.json +1 -1
- package/model/shared/condition/word-condition-item-observer.d.ts +1 -1
- package/model/shared/condition/word-condition-item-observer.js +11 -11
- package/model/shared/dynamic-display/dynamic-display.d.ts +1 -1
- package/model/shared/dynamic-display/dynamic-display.js +4 -4
- package/model/shared/dynamic-display/dynamic-display.metadata.json +1 -1
- package/model/shared/rotation/rotation-behavior.d.ts +1 -1
- package/model/shared/rotation/rotation-behavior.js +2 -2
- package/model/shared/rotation/rotation-behavior.metadata.json +1 -1
- package/model/shared/rotation/rotation-observer.d.ts +2 -1
- package/model/shared/rotation/rotation-observer.js +3 -2
- package/model/shared/rotation/rotation-observer.metadata.json +1 -1
- package/model/shared/translation/translation-behavior.d.ts +1 -1
- package/model/shared/translation/translation-behavior.js +3 -3
- package/model/shared/translation/translation-behavior.metadata.json +1 -1
- package/model/shared/translation/translation-observer.d.ts +1 -1
- package/model/shared/translation/translation-observer.js +2 -2
- package/model/shared/translation/translation-observer.metadata.json +1 -1
- package/model/switch-indicator-light/bit-switch-operation.d.ts +2 -1
- package/model/switch-indicator-light/bit-switch-operation.js +1 -0
- package/model/switch-indicator-light/bit-switch-operation.metadata.json +1 -1
- package/package.json +1 -1
- package/remote/communication/variable/remote-variable-communicator.d.ts +3 -2
- package/remote/communication/variable/remote-variable-communicator.js +16 -9
- package/remote/communication/variable/remote-variable-communicator.metadata.json +1 -1
- package/remote/communication/variable/remote-variable-protocol.d.ts +2 -2
- package/service/weather.service.d.ts +1 -0
- package/shared/gui-consts.d.ts +1 -0
- package/shared/gui-consts.js +1 -0
- package/shared/gui-consts.metadata.json +1 -1
- package/utils/data-type/data-type.service.d.ts +4 -7
- package/utils/data-type/data-type.service.js +29 -17
- package/utils/numerical-operation.service.js +2 -2
- package/gui/scripts/config.js +0 -6
- package/gui/scripts/require.js +0 -2145
- package/libs/nvd3/build/nv.d3.min.js +0 -13
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { sortBy } from 'lodash';
|
|
2
3
|
import { ConditionType } from './condition-type';
|
|
3
4
|
import { BitConditionItemObserver } from './bit-condition-item-observer';
|
|
4
5
|
import { RelationConditionResult } from './relation-condition-result';
|
|
@@ -12,7 +13,7 @@ export class ConditionItemsResultObserver {
|
|
|
12
13
|
this.conditionResultChanged = new EventEmitter();
|
|
13
14
|
this.conditionResults = new Map();
|
|
14
15
|
}
|
|
15
|
-
requestData() {
|
|
16
|
+
requestData(appId) {
|
|
16
17
|
if (null == this.sourceConditionItems || !this.sourceConditionItems.length) {
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
@@ -25,10 +26,10 @@ export class ConditionItemsResultObserver {
|
|
|
25
26
|
if (this.conditionResults.has(conditionItems.indexOf(item))) {
|
|
26
27
|
this.conditionResults.delete(conditionItems.indexOf(item));
|
|
27
28
|
}
|
|
28
|
-
this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(item.relationType, itemResult));
|
|
29
|
+
this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(conditionItems.indexOf(item), item.relationType, itemResult));
|
|
29
30
|
this.emitConditionResult();
|
|
30
31
|
});
|
|
31
|
-
bitItem.requestData();
|
|
32
|
+
bitItem.requestData(appId);
|
|
32
33
|
break;
|
|
33
34
|
case ConditionType.Word:
|
|
34
35
|
const wordItem = new WordConditionItemObserver(item.condition, this.variableCommunicator, this.variableStore);
|
|
@@ -36,10 +37,10 @@ export class ConditionItemsResultObserver {
|
|
|
36
37
|
if (this.conditionResults.has(conditionItems.indexOf(item))) {
|
|
37
38
|
this.conditionResults.delete(conditionItems.indexOf(item));
|
|
38
39
|
}
|
|
39
|
-
this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(item.relationType, itemResult));
|
|
40
|
+
this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(conditionItems.indexOf(item), item.relationType, itemResult));
|
|
40
41
|
this.emitConditionResult();
|
|
41
42
|
});
|
|
42
|
-
wordItem.requestData();
|
|
43
|
+
wordItem.requestData(appId);
|
|
43
44
|
break;
|
|
44
45
|
default:
|
|
45
46
|
throw new Error(`Unknown ConditionType :${item.conditionType}`);
|
|
@@ -49,23 +50,32 @@ export class ConditionItemsResultObserver {
|
|
|
49
50
|
emitConditionResult() {
|
|
50
51
|
let isControl = true;
|
|
51
52
|
const elementStates = [];
|
|
53
|
+
const formatConditionResults = [];
|
|
52
54
|
this.conditionResults.forEach(t => {
|
|
55
|
+
formatConditionResults.push({
|
|
56
|
+
key: t.key,
|
|
57
|
+
result: t
|
|
58
|
+
});
|
|
53
59
|
// eslint-disable-next-line eqeqeq
|
|
54
60
|
if (t.relationType == RelationType.None) {
|
|
55
61
|
isControl = t.result.value;
|
|
56
62
|
elementStates.push(t.result.state);
|
|
57
63
|
}
|
|
58
64
|
});
|
|
59
|
-
|
|
65
|
+
const formatResults = sortBy(formatConditionResults, data => {
|
|
66
|
+
return data.key;
|
|
67
|
+
});
|
|
68
|
+
formatResults.forEach(item => {
|
|
69
|
+
const relationCondition = item.result;
|
|
60
70
|
// eslint-disable-next-line eqeqeq
|
|
61
|
-
if (
|
|
62
|
-
isControl = isControl ||
|
|
63
|
-
elementStates.push(
|
|
71
|
+
if (relationCondition.relationType == RelationType.Or) {
|
|
72
|
+
isControl = isControl || relationCondition.result.value;
|
|
73
|
+
elementStates.push(relationCondition.result.state);
|
|
64
74
|
// eslint-disable-next-line eqeqeq
|
|
65
75
|
}
|
|
66
|
-
else if (
|
|
67
|
-
isControl = isControl &&
|
|
68
|
-
elementStates.push(
|
|
76
|
+
else if (relationCondition.relationType == RelationType.And) {
|
|
77
|
+
isControl = isControl && relationCondition.result.value;
|
|
78
|
+
elementStates.push(relationCondition.result.state);
|
|
69
79
|
}
|
|
70
80
|
});
|
|
71
81
|
const conditionControlResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"ConditionItemsResultObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"./condition-item-model","name":"ConditionItemModel","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"ConditionItemsResultObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"./condition-item-model","name":"ConditionItemModel","line":20,"character":55}]},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":21,"character":47},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":22,"character":40}]}],"requestData":[{"__symbolic":"method"}],"emitConditionResult":[{"__symbolic":"method"}]}}}}]
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"ConvertConditionModel":{"__symbolic":"interface"}}}]
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { RelationType } from './relation-type';
|
|
2
2
|
import { RelationConditionResultState } from './relation-condition-result-state';
|
|
3
3
|
export declare class RelationConditionResult {
|
|
4
|
+
readonly key: number;
|
|
4
5
|
readonly relationType: RelationType;
|
|
5
6
|
readonly result: RelationConditionResultState;
|
|
6
|
-
constructor(relationType: RelationType, result: RelationConditionResultState);
|
|
7
|
+
constructor(key: number, relationType: RelationType, result: RelationConditionResultState);
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"RelationConditionResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./relation-type","name":"RelationType","line":4,"character":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"RelationConditionResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","module":"./relation-type","name":"RelationType","line":4,"character":75},{"__symbolic":"reference","module":"./relation-condition-result-state","name":"RelationConditionResultState","line":4,"character":113}]}]}}}}]
|
|
@@ -12,7 +12,7 @@ export declare class WordConditionItemObserver extends ConditionItemObserver {
|
|
|
12
12
|
get baseVariable(): string;
|
|
13
13
|
get realtionVariable(): string;
|
|
14
14
|
constructor(wordCondition: WordConditionModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
|
|
15
|
-
requestData(): void;
|
|
15
|
+
requestData(appId: string): void;
|
|
16
16
|
private requestconditionEffectiveValue;
|
|
17
17
|
private requestconditionEffectiveBaseValue;
|
|
18
18
|
private requestconditionEffectiveRealtionValue;
|
|
@@ -28,7 +28,7 @@ export class WordConditionItemObserver extends ConditionItemObserver {
|
|
|
28
28
|
const variable = new VariableDefinition(variableValue.variableName, variableValue.variableGroupName, variableValue.dataSourceCode, variableValue.variableVersion);
|
|
29
29
|
return VariableUtil.getConvertedVariableName(this.variableStore, variable);
|
|
30
30
|
}
|
|
31
|
-
requestData() {
|
|
31
|
+
requestData(appId) {
|
|
32
32
|
if (!this.wordCondition) {
|
|
33
33
|
throw new Error('WordConditionModel cannot be null.');
|
|
34
34
|
}
|
|
@@ -43,7 +43,7 @@ export class WordConditionItemObserver extends ConditionItemObserver {
|
|
|
43
43
|
if (this.variableName) {
|
|
44
44
|
this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableValue => {
|
|
45
45
|
if (variableValue.state === VariableStateEnum.Normal) {
|
|
46
|
-
this.requestconditionEffectiveBaseValue(this.variableCommunicator);
|
|
46
|
+
this.requestconditionEffectiveBaseValue(this.variableCommunicator, appId);
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
49
|
this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), false));
|
|
@@ -63,7 +63,7 @@ export class WordConditionItemObserver extends ConditionItemObserver {
|
|
|
63
63
|
if (this.variableName) {
|
|
64
64
|
this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableState => {
|
|
65
65
|
if (variableState.state === VariableStateEnum.Normal) {
|
|
66
|
-
this.requestconditionEffectiveRealtionValue(this.variableCommunicator);
|
|
66
|
+
this.requestconditionEffectiveRealtionValue(this.variableCommunicator, appId);
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
69
|
this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableState.state), false));
|
|
@@ -71,14 +71,14 @@ export class WordConditionItemObserver extends ConditionItemObserver {
|
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
|
-
this.requestconditionEffectiveRealtionValue(this.variableCommunicator);
|
|
74
|
+
this.requestconditionEffectiveRealtionValue(this.variableCommunicator, appId);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
if (this.variableName) {
|
|
79
79
|
this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableValue => {
|
|
80
80
|
if (variableValue.state === VariableStateEnum.Normal) {
|
|
81
|
-
this.requestconditionEffectiveValue(this.variableCommunicator);
|
|
81
|
+
this.requestconditionEffectiveValue(this.variableCommunicator, appId);
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
84
|
this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), false));
|
|
@@ -86,22 +86,22 @@ export class WordConditionItemObserver extends ConditionItemObserver {
|
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
requestconditionEffectiveValue(variableCommunicator) {
|
|
90
|
-
variableCommunicator.openVariable(this.variableName).subscribe(variableValue => {
|
|
89
|
+
requestconditionEffectiveValue(variableCommunicator, appId = '') {
|
|
90
|
+
variableCommunicator.openVariable(this.variableName, appId).subscribe(variableValue => {
|
|
91
91
|
this.currentValue = variableValue;
|
|
92
92
|
this.isConditionEffective = this.getIsConditionEffective();
|
|
93
93
|
this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), this.isConditionEffective));
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
|
-
requestconditionEffectiveBaseValue(variableCommunicator) {
|
|
97
|
-
variableCommunicator.openVariable(this.baseVariable).subscribe(variableValue => {
|
|
96
|
+
requestconditionEffectiveBaseValue(variableCommunicator, appId = '') {
|
|
97
|
+
variableCommunicator.openVariable(this.baseVariable, appId).subscribe(variableValue => {
|
|
98
98
|
this.baseVariableValue = variableValue;
|
|
99
99
|
this.isConditionEffective = this.getIsConditionEffective();
|
|
100
100
|
this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), this.isConditionEffective));
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
-
requestconditionEffectiveRealtionValue(variableCommunicator) {
|
|
104
|
-
variableCommunicator.openVariable(this.realtionVariable).subscribe(variableValue => {
|
|
103
|
+
requestconditionEffectiveRealtionValue(variableCommunicator, appId = '') {
|
|
104
|
+
variableCommunicator.openVariable(this.realtionVariable, appId).subscribe(variableValue => {
|
|
105
105
|
this.realtionVariableValue = variableValue;
|
|
106
106
|
this.isConditionEffective = this.getIsConditionEffective();
|
|
107
107
|
this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), this.isConditionEffective));
|
|
@@ -7,5 +7,5 @@ import { Point } from '../point.model';
|
|
|
7
7
|
import { VariableStore } from '../../../config';
|
|
8
8
|
export declare class DynamicDisplay implements DynamicDisplayBehaviorModel {
|
|
9
9
|
readonly doBehavior: EventEmitter<DynamicDisplayResultModel>;
|
|
10
|
-
constructor(dynamicDisplay: DynamicDisplayModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, location: Point);
|
|
10
|
+
constructor(dynamicDisplay: DynamicDisplayModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, location: Point, signalRAppId: string);
|
|
11
11
|
}
|
|
@@ -5,11 +5,11 @@ import { TranslationBehavior } from '../translation/translation-behavior';
|
|
|
5
5
|
import { DynamicDisplayResultModel } from './dynamic-display-result-model';
|
|
6
6
|
import { DynamicBehaviorType } from './dynamic-behavior-type';
|
|
7
7
|
export class DynamicDisplay {
|
|
8
|
-
constructor(dynamicDisplay, variableCommunicator, variableStore, location) {
|
|
8
|
+
constructor(dynamicDisplay, variableCommunicator, variableStore, location, signalRAppId) {
|
|
9
9
|
this.doBehavior = new EventEmitter();
|
|
10
10
|
if (dynamicDisplay.isHorizontalTranslation && dynamicDisplay.horizontalTranslation != null) {
|
|
11
11
|
// tslint:disable-next-line:max-line-length
|
|
12
|
-
const horizontalBehavior = new TranslationBehavior(dynamicDisplay.horizontalTranslation, variableCommunicator, variableStore, TranslationDirectionType.Horizontal, location);
|
|
12
|
+
const horizontalBehavior = new TranslationBehavior(dynamicDisplay.horizontalTranslation, variableCommunicator, variableStore, TranslationDirectionType.Horizontal, location, signalRAppId);
|
|
13
13
|
horizontalBehavior.doTranslation.subscribe(tanslation => {
|
|
14
14
|
// tslint:disable-next-line:max-line-length
|
|
15
15
|
const dynamicDisplayResult = new DynamicDisplayResultModel(tanslation, undefined, DynamicBehaviorType.HorizontalTranslation);
|
|
@@ -18,14 +18,14 @@ export class DynamicDisplay {
|
|
|
18
18
|
}
|
|
19
19
|
if (dynamicDisplay.isVerticalTranslation && dynamicDisplay.verticalTranslation != null) {
|
|
20
20
|
// tslint:disable-next-line:max-line-length
|
|
21
|
-
const verticalBehavior = new TranslationBehavior(dynamicDisplay.verticalTranslation, variableCommunicator, variableStore, TranslationDirectionType.Vertical, location);
|
|
21
|
+
const verticalBehavior = new TranslationBehavior(dynamicDisplay.verticalTranslation, variableCommunicator, variableStore, TranslationDirectionType.Vertical, location, signalRAppId);
|
|
22
22
|
verticalBehavior.doTranslation.subscribe(tanslation => {
|
|
23
23
|
const dynamicDisplayResult = new DynamicDisplayResultModel(tanslation, undefined, DynamicBehaviorType.VerticalTranslation);
|
|
24
24
|
this.doBehavior.emit(dynamicDisplayResult);
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
if (dynamicDisplay.isRotation && dynamicDisplay.rotation != null) {
|
|
28
|
-
const rotationBehavior = new RotationBehavior(dynamicDisplay.rotation, variableCommunicator, variableStore);
|
|
28
|
+
const rotationBehavior = new RotationBehavior(dynamicDisplay.rotation, variableCommunicator, variableStore, signalRAppId);
|
|
29
29
|
rotationBehavior.doRotation.subscribe(angel => {
|
|
30
30
|
const dynamicDisplayResult = new DynamicDisplayResultModel(undefined, angel, DynamicBehaviorType.Rotation);
|
|
31
31
|
this.doBehavior.emit(dynamicDisplayResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"DynamicDisplay":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./dynamic-display-model","name":"DynamicDisplayModel","line":18,"character":32},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":18,"character":75},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":18,"character":112},{"__symbolic":"reference","module":"../point.model","name":"Point","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"DynamicDisplay":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./dynamic-display-model","name":"DynamicDisplayModel","line":18,"character":32},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":18,"character":75},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":18,"character":112},{"__symbolic":"reference","module":"../point.model","name":"Point","line":19,"character":18},{"__symbolic":"reference","name":"string"}]}]}}}}]
|
|
@@ -5,5 +5,5 @@ import { RotationModel } from './rotation-model';
|
|
|
5
5
|
import { VariableStore } from '../../../config';
|
|
6
6
|
export declare class RotationBehavior implements RotationBehaviorModel {
|
|
7
7
|
readonly doRotation: EventEmitter<number>;
|
|
8
|
-
constructor(rotationModel: RotationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
|
|
8
|
+
constructor(rotationModel: RotationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
|
|
9
9
|
}
|
|
@@ -2,9 +2,9 @@ import { EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { RotationDirectionType } from './rotation-direction-type';
|
|
3
3
|
import { RotationObserver } from './rotation-observer';
|
|
4
4
|
export class RotationBehavior {
|
|
5
|
-
constructor(rotationModel, variableCommunicator, variableStore) {
|
|
5
|
+
constructor(rotationModel, variableCommunicator, variableStore, signalRAppId) {
|
|
6
6
|
this.doRotation = new EventEmitter();
|
|
7
|
-
const rotationObserver = new RotationObserver(rotationModel, variableCommunicator, variableStore);
|
|
7
|
+
const rotationObserver = new RotationObserver(rotationModel, variableCommunicator, variableStore, signalRAppId);
|
|
8
8
|
rotationObserver.rotationValueChanged.subscribe(rotationValue => {
|
|
9
9
|
if (+rotationModel.rotationDirection === RotationDirectionType.ClockWise) {
|
|
10
10
|
let newRotation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"RotationBehavior":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./rotation-model","name":"RotationModel","line":13,"character":31},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":13,"character":68},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":13,"character":105}]}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"RotationBehavior":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./rotation-model","name":"RotationModel","line":13,"character":31},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":13,"character":68},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":13,"character":105},{"__symbolic":"reference","name":"string"}]}]}}}}]
|
|
@@ -4,7 +4,8 @@ import { VariableCommunicator } from '../../../communication';
|
|
|
4
4
|
import { EventEmitter } from '@angular/core';
|
|
5
5
|
import { VariableStore } from '../../../config';
|
|
6
6
|
export declare class RotationObserver implements RotationObserverModel {
|
|
7
|
+
private readonly signalRAppId;
|
|
7
8
|
readonly rotationValueChanged: EventEmitter<number>;
|
|
8
9
|
private currentValue;
|
|
9
|
-
constructor(rotationModel: RotationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
|
|
10
|
+
constructor(rotationModel: RotationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
|
|
10
11
|
}
|
|
@@ -3,7 +3,8 @@ import { EventEmitter } from '@angular/core';
|
|
|
3
3
|
import { VariableUtil } from '../../../utils/variable-util';
|
|
4
4
|
import { VariableDefinition } from '../../../communication/variable/variable-definition';
|
|
5
5
|
export class RotationObserver {
|
|
6
|
-
constructor(rotationModel, variableCommunicator, variableStore) {
|
|
6
|
+
constructor(rotationModel, variableCommunicator, variableStore, signalRAppId) {
|
|
7
|
+
this.signalRAppId = signalRAppId;
|
|
7
8
|
this.rotationValueChanged = new EventEmitter();
|
|
8
9
|
if (!rotationModel.variableName) {
|
|
9
10
|
return;
|
|
@@ -15,7 +16,7 @@ export class RotationObserver {
|
|
|
15
16
|
}
|
|
16
17
|
variableCommunicator.subscribeVariableState(variableName).subscribe(variableValue => {
|
|
17
18
|
if (variableValue.state === VariableStateEnum.Normal) {
|
|
18
|
-
variableCommunicator.openVariable(variableName).subscribe(value => {
|
|
19
|
+
variableCommunicator.openVariable(variableName, this.signalRAppId).subscribe(value => {
|
|
19
20
|
if (value.state === VariableStateEnum.DataNormal) {
|
|
20
21
|
this.currentValue = value;
|
|
21
22
|
this.rotationValueChanged.emit(this.currentValue.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"RotationObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./rotation-model","name":"RotationModel","line":14,"character":31},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":14,"character":68},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":14,"character":105}]}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"RotationObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./rotation-model","name":"RotationModel","line":14,"character":31},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":14,"character":68},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":14,"character":105},{"__symbolic":"reference","name":"string"}]}]}}}}]
|
|
@@ -7,6 +7,6 @@ import { Point } from '../point.model';
|
|
|
7
7
|
import { VariableStore } from '../../../config';
|
|
8
8
|
export declare class TranslationBehavior implements TranslationBehaviorModel {
|
|
9
9
|
readonly doTranslation: EventEmitter<number>;
|
|
10
|
-
constructor(translationModel: TranslationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, translationDirection: TranslationDirectionType, location: Point);
|
|
10
|
+
constructor(translationModel: TranslationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, translationDirection: TranslationDirectionType, location: Point, signalRAppId: string);
|
|
11
11
|
private getTranslationValue;
|
|
12
12
|
}
|
|
@@ -2,17 +2,17 @@ import { EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { TranslationObserver } from './translation-observer';
|
|
3
3
|
import { TranslationDirectionType } from './translation-direction-type';
|
|
4
4
|
export class TranslationBehavior {
|
|
5
|
-
constructor(translationModel, variableCommunicator, variableStore, translationDirection, location) {
|
|
5
|
+
constructor(translationModel, variableCommunicator, variableStore, translationDirection, location, signalRAppId) {
|
|
6
6
|
this.doTranslation = new EventEmitter();
|
|
7
7
|
if (translationDirection === TranslationDirectionType.Horizontal) {
|
|
8
|
-
const horizontalTranslation = new TranslationObserver(translationModel, variableCommunicator, variableStore);
|
|
8
|
+
const horizontalTranslation = new TranslationObserver(translationModel, variableCommunicator, variableStore, signalRAppId);
|
|
9
9
|
horizontalTranslation.translationValueChanged.subscribe(inputValue => {
|
|
10
10
|
const currentLocation = this.getTranslationValue(translationModel, (+inputValue), location.x);
|
|
11
11
|
this.doTranslation.emit(currentLocation);
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
if (translationDirection === TranslationDirectionType.Vertical) {
|
|
15
|
-
const verticalTranslation = new TranslationObserver(translationModel, variableCommunicator, variableStore);
|
|
15
|
+
const verticalTranslation = new TranslationObserver(translationModel, variableCommunicator, variableStore, signalRAppId);
|
|
16
16
|
verticalTranslation.translationValueChanged.subscribe(inputValue => {
|
|
17
17
|
const currentLocation = this.getTranslationValue(translationModel, (+inputValue), location.y);
|
|
18
18
|
this.doTranslation.emit(currentLocation);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"TranslationBehavior":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./translation-model","name":"TranslationModel","line":13,"character":34},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":14,"character":30},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":15,"character":23},{"__symbolic":"reference","module":"./translation-direction-type","name":"TranslationDirectionType","line":16,"character":30},{"__symbolic":"reference","module":"../point.model","name":"Point","line":17,"character":18}]}],"getTranslationValue":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"TranslationBehavior":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./translation-model","name":"TranslationModel","line":13,"character":34},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":14,"character":30},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":15,"character":23},{"__symbolic":"reference","module":"./translation-direction-type","name":"TranslationDirectionType","line":16,"character":30},{"__symbolic":"reference","module":"../point.model","name":"Point","line":17,"character":18},{"__symbolic":"reference","name":"string"}]}],"getTranslationValue":[{"__symbolic":"method"}]}}}}]
|
|
@@ -6,5 +6,5 @@ import { VariableStore } from '../../../config';
|
|
|
6
6
|
export declare class TranslationObserver implements TranslationObserverModel {
|
|
7
7
|
readonly translationValueChanged: EventEmitter<number>;
|
|
8
8
|
private currentValue;
|
|
9
|
-
constructor(model: TranslationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
|
|
9
|
+
constructor(model: TranslationModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
|
|
10
10
|
}
|
|
@@ -3,7 +3,7 @@ import { VariableStateEnum } from '../../../communication';
|
|
|
3
3
|
import { VariableUtil } from '../../../utils/variable-util';
|
|
4
4
|
import { VariableDefinition } from '../../../communication/variable/variable-definition';
|
|
5
5
|
export class TranslationObserver {
|
|
6
|
-
constructor(model, variableCommunicator, variableStore) {
|
|
6
|
+
constructor(model, variableCommunicator, variableStore, signalRAppId) {
|
|
7
7
|
this.translationValueChanged = new EventEmitter();
|
|
8
8
|
if (!model.variableName) {
|
|
9
9
|
return;
|
|
@@ -15,7 +15,7 @@ export class TranslationObserver {
|
|
|
15
15
|
}
|
|
16
16
|
variableCommunicator.subscribeVariableState(variableName).subscribe(variableValue => {
|
|
17
17
|
if (variableValue.state === VariableStateEnum.Normal) {
|
|
18
|
-
variableCommunicator.openVariable(variableName).subscribe(value => {
|
|
18
|
+
variableCommunicator.openVariable(variableName, signalRAppId).subscribe(value => {
|
|
19
19
|
if (value.state === VariableStateEnum.DataNormal) {
|
|
20
20
|
this.currentValue = value;
|
|
21
21
|
this.translationValueChanged.emit(this.currentValue.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"TranslationObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./translation-model","name":"TranslationModel","line":15,"character":23},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":15,"character":63},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":15,"character":100}]}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"TranslationObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./translation-model","name":"TranslationModel","line":15,"character":23},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":15,"character":63},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":15,"character":100},{"__symbolic":"reference","name":"string"}]}]}}}}]
|
|
@@ -3,4 +3,5 @@ export var BitSwitchOperation;
|
|
|
3
3
|
BitSwitchOperation[BitSwitchOperation["On"] = 0] = "On";
|
|
4
4
|
BitSwitchOperation[BitSwitchOperation["Off"] = 1] = "Off";
|
|
5
5
|
BitSwitchOperation[BitSwitchOperation["Inverse"] = 2] = "Inverse";
|
|
6
|
+
BitSwitchOperation[BitSwitchOperation["Restoration"] = 3] = "Restoration";
|
|
6
7
|
})(BitSwitchOperation || (BitSwitchOperation = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"BitSwitchOperation":{"On":0,"Off":1,"Inverse":2}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"BitSwitchOperation":{"On":0,"Off":1,"Inverse":2,"Restoration":3}}}]
|
package/package.json
CHANGED
|
@@ -6,6 +6,7 @@ export declare class RemoteVariableCommunicator implements VariableCommunicator
|
|
|
6
6
|
private readonly remoteVariableProtocol;
|
|
7
7
|
private readonly logger;
|
|
8
8
|
private observers;
|
|
9
|
+
private appIdVariablesMap;
|
|
9
10
|
private connectedSubscription;
|
|
10
11
|
private variableValuesChangedSubscription;
|
|
11
12
|
private variablesToBeOpened;
|
|
@@ -21,8 +22,8 @@ export declare class RemoteVariableCommunicator implements VariableCommunicator
|
|
|
21
22
|
private doVariableStatesChanged;
|
|
22
23
|
subscribeVariableStates(variableNames: string[]): Observable<VariableState[]>;
|
|
23
24
|
subscribeVariableState(variableName: string): Observable<VariableState>;
|
|
24
|
-
openVariables(variableNames: string[]): Observable<VariableValue[]>;
|
|
25
|
-
openVariable(variableName: string): Observable<VariableValue>;
|
|
25
|
+
openVariables(variableNames: string[], appId?: string): Observable<VariableValue[]>;
|
|
26
|
+
openVariable(variableName: string, appId?: string): Observable<VariableValue>;
|
|
26
27
|
write(variableName: string, value: any): Observable<VariableValue>;
|
|
27
28
|
writeWordByBit(variableName: string, index: number, value: number): Observable<VariableValue>;
|
|
28
29
|
dispose(): void;
|
|
@@ -7,6 +7,7 @@ export class RemoteVariableCommunicator {
|
|
|
7
7
|
this.remoteVariableProtocol = remoteVariableProtocol;
|
|
8
8
|
this.logger = logger;
|
|
9
9
|
this.observers = new Map();
|
|
10
|
+
this.appIdVariablesMap = new Map();
|
|
10
11
|
this.variableStateObservers = new Map();
|
|
11
12
|
this.variableStateCache = new Map();
|
|
12
13
|
this.variableValueCache = new StringifyingMap(k => JSON.stringify(k));
|
|
@@ -16,11 +17,9 @@ export class RemoteVariableCommunicator {
|
|
|
16
17
|
variableNamesToStart.push(variableName);
|
|
17
18
|
});
|
|
18
19
|
this.remoteVariableProtocol.subscribeVariableStates(variableNamesToStart);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
variablesToStart.push(variableName);
|
|
20
|
+
this.appIdVariablesMap.forEach((variableNames, appId) => {
|
|
21
|
+
this.remoteVariableProtocol.tryOpenVariables(variableNames, appId);
|
|
22
22
|
});
|
|
23
|
-
this.remoteVariableProtocol.tryOpenVariables(variablesToStart);
|
|
24
23
|
});
|
|
25
24
|
this.doVariableStatesChanged();
|
|
26
25
|
this.doVariableValuesChanged();
|
|
@@ -116,7 +115,7 @@ export class RemoteVariableCommunicator {
|
|
|
116
115
|
subscribeVariableState(variableName) {
|
|
117
116
|
return this.subscribeVariableStates([variableName]).pipe(map(values => values[0]));
|
|
118
117
|
}
|
|
119
|
-
openVariables(variableNames) {
|
|
118
|
+
openVariables(variableNames, appId = '') {
|
|
120
119
|
return new Observable(observer => {
|
|
121
120
|
let variablesToStart = [];
|
|
122
121
|
each(variableNames, variableName => {
|
|
@@ -131,6 +130,14 @@ export class RemoteVariableCommunicator {
|
|
|
131
130
|
}
|
|
132
131
|
}
|
|
133
132
|
this.observers.get(variableName).push(observer);
|
|
133
|
+
if (!this.appIdVariablesMap.get(appId)) {
|
|
134
|
+
this.appIdVariablesMap.set(appId, []);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
if (this.appIdVariablesMap.get(appId).indexOf(variableName) === -1) {
|
|
138
|
+
this.appIdVariablesMap.get(appId).push(variableName);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
134
141
|
}
|
|
135
142
|
});
|
|
136
143
|
variablesToStart = uniq(variablesToStart);
|
|
@@ -138,7 +145,7 @@ export class RemoteVariableCommunicator {
|
|
|
138
145
|
if (!this.variablesToBeOpened) {
|
|
139
146
|
this.variablesToBeOpened = [];
|
|
140
147
|
setTimeout(() => {
|
|
141
|
-
this.remoteVariableProtocol.tryOpenVariables(this.variablesToBeOpened);
|
|
148
|
+
this.remoteVariableProtocol.tryOpenVariables(this.variablesToBeOpened, appId);
|
|
142
149
|
delete this.variablesToBeOpened;
|
|
143
150
|
});
|
|
144
151
|
}
|
|
@@ -162,7 +169,7 @@ export class RemoteVariableCommunicator {
|
|
|
162
169
|
if (!this.variablesToBeClosed) {
|
|
163
170
|
this.variablesToBeClosed = [];
|
|
164
171
|
setTimeout(() => {
|
|
165
|
-
this.remoteVariableProtocol.tryStopVariables(this.variablesToBeClosed);
|
|
172
|
+
this.remoteVariableProtocol.tryStopVariables(this.variablesToBeClosed, appId);
|
|
166
173
|
delete this.variablesToBeClosed;
|
|
167
174
|
});
|
|
168
175
|
}
|
|
@@ -170,11 +177,11 @@ export class RemoteVariableCommunicator {
|
|
|
170
177
|
};
|
|
171
178
|
});
|
|
172
179
|
}
|
|
173
|
-
openVariable(variableName) {
|
|
180
|
+
openVariable(variableName, appId = '') {
|
|
174
181
|
if (!variableName) {
|
|
175
182
|
return;
|
|
176
183
|
}
|
|
177
|
-
return this.openVariables([variableName]).pipe(map(values => values[0]));
|
|
184
|
+
return this.openVariables([variableName], appId).pipe(map(values => values[0]));
|
|
178
185
|
}
|
|
179
186
|
write(variableName, value) {
|
|
180
187
|
if (!variableName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"RemoteVariableCommunicator":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./remote-variable-protocol","name":"RemoteVariableProtocol","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"RemoteVariableCommunicator":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./remote-variable-protocol","name":"RemoteVariableProtocol","line":24,"character":57},{"__symbolic":"reference","module":"../../../logger","name":"LoggerService","line":24,"character":106}]}],"doVariableValuesChanged":[{"__symbolic":"method"}],"doVariableStatesChanged":[{"__symbolic":"method"}],"subscribeVariableStates":[{"__symbolic":"method"}],"subscribeVariableState":[{"__symbolic":"method"}],"openVariables":[{"__symbolic":"method"}],"openVariable":[{"__symbolic":"method"}],"write":[{"__symbolic":"method"}],"writeWordByBit":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}]}}}}]
|
|
@@ -4,8 +4,8 @@ export interface RemoteVariableProtocol {
|
|
|
4
4
|
connected: Observable<void>;
|
|
5
5
|
variableStatesChanged: Observable<VariableValue[]>;
|
|
6
6
|
variableValuesChanged: Observable<VariableValue[]>;
|
|
7
|
-
tryOpenVariables(variableNames: string[]): Observable<void>;
|
|
8
|
-
tryStopVariables(variableNames: string[]): Observable<void>;
|
|
7
|
+
tryOpenVariables(variableNames: string[], appId: string): Observable<void>;
|
|
8
|
+
tryStopVariables(variableNames: string[], appId: string): Observable<void>;
|
|
9
9
|
writeVariable(variableName: string, value: any): Observable<void>;
|
|
10
10
|
writeVariableWordByBit(variableName: string, index: number, value: number): Observable<void>;
|
|
11
11
|
subscribeVariableStates(variableNames: string[]): Observable<void>;
|
package/shared/gui-consts.d.ts
CHANGED
package/shared/gui-consts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GuiConsts":{"__symbolic":"class","statics":{"components":{"imageKey":"Image","numericalDisplayKey":"NumericalDisplay","textKey":"Text","hyperlinkKey":"Hyperlink","meterKey":"Meter","pipeKey":"Pipe","switchIndicatorLightKey":"SwitchIndicatorLight","barGraphKey":"BarGraph","toggleViewKey":"ToggleView","characterKey":"Character","straightLineKey":"StraightLine","polyLineKey":"PolyLine","rectangleKey":"Rectangle","sectorkey":"Sector","ellipseKey":"Ellipse","datetimeDisplayKey":"DatetimeDisplay","historicalCurveKey":"HistoricalCurve","ringGraphKey":"RingGraph","viewOperationElement":"ViewOperation","polygonKey":"Polygon","videokey":"Video","tableKey":"Table","weatherKey":"Weather"}}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"GuiConsts":{"__symbolic":"class","statics":{"components":{"imageKey":"Image","numericalDisplayKey":"NumericalDisplay","textKey":"Text","hyperlinkKey":"Hyperlink","meterKey":"Meter","pipeKey":"Pipe","switchIndicatorLightKey":"SwitchIndicatorLight","barGraphKey":"BarGraph","toggleViewKey":"ToggleView","characterKey":"Character","straightLineKey":"StraightLine","polyLineKey":"PolyLine","rectangleKey":"Rectangle","sectorkey":"Sector","ellipseKey":"Ellipse","datetimeDisplayKey":"DatetimeDisplay","historicalCurveKey":"HistoricalCurve","ringGraphKey":"RingGraph","viewOperationElement":"ViewOperation","polygonKey":"Polygon","videokey":"Video","tableKey":"Table","weatherKey":"Weather","airQualityKey":"AirQualityIndex"}}}}}]
|